@jjlmoya/utils-finance 1.3.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/component.astro +12 -3
- package/src/tool/fireCalculator/i18n/de.ts +261 -0
- package/src/tool/fireCalculator/i18n/en.ts +5 -5
- package/src/tool/fireCalculator/i18n/es.ts +2 -2
- package/src/tool/fireCalculator/i18n/fr.ts +5 -5
- 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,219 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MortgageUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'kalkulator-hipoteczny';
|
|
6
|
+
const title = 'Symulator Kredytu Hipotecznego i Francuski Harmonogram Spłat';
|
|
7
|
+
const description =
|
|
8
|
+
'Oblicz swoją miesięczną ratę kredytu, sprawdź ile zapłacisz odsetek i natychmiast wygeneruj pełny harmonogram spłat.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Co to jest francuski system amortyzacji?',
|
|
13
|
+
answer:
|
|
14
|
+
'To najczęściej stosowany system (raty równe). Miesięczna rata jest stała, ale na początku spłacasz głównie odsetki, а kapitał w niewielkim stopniu. Pod koniec okresu sytuacja się odwraca. Dlatego nadpłacanie kredytu jest najbardziej opłacalne w pierwszych latach.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Stałe czy zmienne oprocentowanie w 2026 roku?',
|
|
18
|
+
answer:
|
|
19
|
+
'Stałe oprocentowanie: płacisz teraz nieco więcej, ale śpisz spokojnie przez 30 lat. Zmienne oprocentowanie: dziś może być tańsze, ale jeśli stopy procentowe wzrosną, rata może gwałtownie skoczyć. Wszystko zależy od Twojej tolerancji ryzyka.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Ile zaoszczędzę, nadpłacając 10 000 zł?',
|
|
23
|
+
answer:
|
|
24
|
+
'To zależy od momentu. Jeśli nadpłacisz w 1. roku kredytu na 200 000 zł przy 3%, możesz zaoszczędzić ponad 15 000 zł na samych odsetkach. Jeśli zrobisz to w 20. roku, zaoszczędzisz ledwie 2 000 zł. Wyczucie czasu jest kluczowe.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Jaki procent pensji powinna wynosić rata kredytu?',
|
|
28
|
+
answer:
|
|
29
|
+
'Zaleca się, aby rata kredytu nie przekraczała 30-35% miesięcznych dochodów netto (wliczając inne zobowiązania). Przekroczenie tego progu znacznie zwiększa ryzyko niewypłacalności w razie nieprzewidzianych zdarzeń.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Wprowadź kwotę kredytu',
|
|
36
|
+
text: 'Wpisz całkowitą kwotę, o którą wnioskujesz do banku (pomniejszoną o wkład własny).',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Ustaw stopę oprocentowania',
|
|
40
|
+
text: 'Wpisz RRSO lub stopę procentową oferowaną przez bank. Możesz porównać opcję ze stałym i zmiennym oprocentowaniem.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Wybierz okres spłaty',
|
|
44
|
+
text: 'Określ na ile lat bierzesz kredyt. Dłuższy okres to niższa rata, ale wyższy całkowity koszt odsetek.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Przeanalizuj harmonogram spłat',
|
|
48
|
+
text: 'Sprawdź miesiąc po miesiącu, jak zmienia się Twoje zadłużenie i jaka część raty idzie na odsetki, a jaka na kapitał.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowTo> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step, i) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
position: i + 1,
|
|
70
|
+
name: step.name,
|
|
71
|
+
text: step.text,
|
|
72
|
+
})),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
76
|
+
'@context': 'https://schema.org',
|
|
77
|
+
'@type': 'SoftwareApplication',
|
|
78
|
+
name: title,
|
|
79
|
+
description,
|
|
80
|
+
applicationCategory: 'FinanceApplication',
|
|
81
|
+
operatingSystem: 'All',
|
|
82
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'PLN' },
|
|
83
|
+
inLanguage: 'pl',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<MortgageUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Często Zadawane Pytania',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Źródła i Odniesienia',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Komisja Nadzoru Finansowego (KNF): Kredyty hipoteczne',
|
|
96
|
+
url: 'https://www.knf.gov.pl/',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'Narodowy Bank Polski: Informacje o stopach procentowych',
|
|
100
|
+
url: 'https://www.nbp.pl/',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
howTo: howToData,
|
|
104
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
|
+
seo: [
|
|
106
|
+
{
|
|
107
|
+
type: 'title',
|
|
108
|
+
text: 'Kompletny Przewodnik po Kredytach: System Francuski i Nadpłata',
|
|
109
|
+
level: 2,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'paragraph',
|
|
113
|
+
html: 'Kredyt hipoteczny to prawdopodobnie największe zobowiązanie w Twoim życiu. Zrozumienie, jak działa francuski system spłat (raty równe), jest kluczowe dla podejmowania mądrych decyzji, które mogą zaoszczędzić Ci dziesiątki tysięcy złotych.',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'title',
|
|
117
|
+
text: '„Pułapka” Systemu Francuskiego: Z czego składa się Twoja rata?',
|
|
118
|
+
level: 3,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
html: 'Większość kredytów w Polsce korzysta z <strong>Francuskiego Systemu Amortyzacji</strong> (rat równej wysokości). Główną cechą jest to, że rata co miesiąc jest taka sama (przy stałym oprocentowaniu), ale jej skład drastycznie zmienia się w czasie.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'tip',
|
|
126
|
+
title: 'Jak zmienia się Twoja rata',
|
|
127
|
+
html: '<p><strong>Na początku (Lata 1-10):</strong> Płacisz prawie same ODSETKI, a kapitał spłacasz bardzo powoli. Przy kredycie na 250 000 zł, pierwsza rata może składać się w 80% z odsetek.</p><p><strong>W połowie (Lata 11-25):</strong> Proporcje zaczynają się wyrównywać.</p><p><strong>Pod koniec (Lata 26-30):</strong> Płacisz prawie sam KAPITAŁ, a odsetki są minimalne.</p>',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
html: 'Dlatego, jeśli planujesz <strong>nadpłacić kredyt</strong>, o wiele bardziej opłacalne jest zrobienie tego w pierwszych latach trwania umowy. Nadpłata 10 000 zł w pierwszym roku może przynieść ponad 15 000 zł oszczędności na odsetkach. Ta sama nadpłata w 20. roku oszczędzi Ci zaledwie 2 000 zł.',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Ile pieniędzy powinienem przeznaczać na kredyt?',
|
|
136
|
+
level: 3,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'KNF i doradcy finansowi zalecają, aby rata kredytu <strong>nie przekraczała 30-35% Twoich dochodów netto</strong>. Przekroczenie tego progu znacząco zwiększa ryzyko problemów ze spłatą w razie np. utraty pracy czy choroby.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Kontekst 2026: Oprocentowanie Stałe vs Zmienne',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Przy wahaniach stóp procentowych, wybór między <strong>Stałą Stopą</strong> a <strong>Zmienną Stopą</strong> to strategiczna decyzja, która może kosztować tysiące złotych rocznie.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'comparative',
|
|
153
|
+
columns: 2,
|
|
154
|
+
items: [
|
|
155
|
+
{
|
|
156
|
+
title: 'Stałe Oprocentowanie',
|
|
157
|
+
description: 'Płacisz dziś nieco więcej, ale masz gwarancję, że Twoja rata nie wzrośnie przez lata.',
|
|
158
|
+
points: [
|
|
159
|
+
'Przewidywalna rata przez długi okres',
|
|
160
|
+
'Ochrona przed wzrostem stóp procentowych',
|
|
161
|
+
'Spokój ducha w niepewnych czasach',
|
|
162
|
+
'Idealne przy sztywnym budżecie',
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
title: 'Zmienne Oprocentowanie',
|
|
167
|
+
description: 'Dziś może być tańsze, ale naraża Twój budżet na dużą zmienność.',
|
|
168
|
+
highlight: true,
|
|
169
|
+
points: [
|
|
170
|
+
'Niższa rata początkowa',
|
|
171
|
+
'Ryzyko wzrostu stawek WIBOR/WIRON',
|
|
172
|
+
'Możliwy poważny wpływ na budżet domowy',
|
|
173
|
+
'Tylko dla osób o dużej odporności na ryzyko',
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'tip',
|
|
180
|
+
title: 'Wybór zależy od Twojego profilu',
|
|
181
|
+
html: '<p><strong>Wybierz Stałe jeśli:</strong> Twój budżet jest napięty, cenisz pewność i nie lubisz niemiłych niespodzianek co miesiąc.</p><p><strong>Wybierz Zmienne jeśli:</strong> Masz poduszkę finansową, wierzysz, że stopy spadną lub kredyt jest na niską kwotę/krótki czas.</p>',
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
ui: {
|
|
185
|
+
labelTitle: 'Kalkulator Kredytowy',
|
|
186
|
+
labelLoanAmount: 'Kwota Kredytu',
|
|
187
|
+
labelInterestRate: 'Oprocentowanie (%)',
|
|
188
|
+
labelYears: 'Okres (Lata)',
|
|
189
|
+
labelMonthlyExtra: 'Nadpłata Miesięczna',
|
|
190
|
+
labelMonthlyPayment: 'Rata Miesięczna',
|
|
191
|
+
labelMonthCount: 'miesięcy',
|
|
192
|
+
labelSavingsCard: 'Twoja Potencjalna Oszczędność',
|
|
193
|
+
labelSavingsInterest: 'Odsetki',
|
|
194
|
+
labelSavingsTime: 'Czas',
|
|
195
|
+
labelTimelineComparison: 'Porównanie Czasu Spłaty',
|
|
196
|
+
labelTimelineOriginal: 'Pierwotny Okres',
|
|
197
|
+
labelTimelineOptimized: 'Okres przy Nadpłatach',
|
|
198
|
+
labelCostBreakdown: 'Podsumowanie Kosztów',
|
|
199
|
+
labelBorrowed: 'Pożyczone',
|
|
200
|
+
labelTotalBorrowed: 'Suma Kapitału',
|
|
201
|
+
labelTotalInterest: 'Suma Odsetek',
|
|
202
|
+
labelAmortizationTable: 'Harmonogram Spłat',
|
|
203
|
+
labelTableHeader: 'Zobacz pełną tabelę',
|
|
204
|
+
labelViewAll: 'Zobacz wszystko',
|
|
205
|
+
labelPaid: 'Kredyt Spłacony',
|
|
206
|
+
labelTableMonth: 'Miesiąc',
|
|
207
|
+
labelTableInterest: 'Odsetki',
|
|
208
|
+
labelTablePrincipal: 'Kapitał',
|
|
209
|
+
labelTableExtra: 'Nadpłata',
|
|
210
|
+
labelTableBalance: 'Pozostało',
|
|
211
|
+
labelMoreMonths: 'kolejnych miesięcy',
|
|
212
|
+
labelMonth: 'Miesiąc',
|
|
213
|
+
currencySymbol: 'zł',
|
|
214
|
+
currencyCode: 'PLN',
|
|
215
|
+
currencyLocale: 'pl-PL',
|
|
216
|
+
monthPlural: 'miesięcy',
|
|
217
|
+
yearPlural: 'lat',
|
|
218
|
+
},
|
|
219
|
+
};
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MortgageUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'simulador-hipoteca';
|
|
6
|
+
const title = 'Simulador de Hipoteca e Tabela de Amortização Francesa';
|
|
7
|
+
const description =
|
|
8
|
+
'Calcule a sua prestação mensal, descubra quanto pagará em juros e visualize o seu plano de amortização completo instantaneamente.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'O que é o sistema de amortização francês?',
|
|
13
|
+
answer:
|
|
14
|
+
'É o sistema mais utilizado. A prestação mensal é constante, mas no início paga quase tudo em juros e muito pouco capital. No final, é o contrário. Por isso, amortizar antecipadamente é mais rentável nos primeiros anos.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Taxa fixa ou variável em 2026?',
|
|
18
|
+
answer:
|
|
19
|
+
'Taxa fixa: paga mais agora mas dorme descansado por 30 anos. Taxa variável: pode ser mais barata hoje, mas se a Euribor subir, a sua prestação pode disparar. Depende da sua aversão ao risco.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Quanto poupo se amortizar 10.000€ antecipadamente?',
|
|
23
|
+
answer:
|
|
24
|
+
'Depende do momento. Se amortizar no ano 1 de uma hipoteca de 200.000€ a 3%, pode poupar mais de 15.000€ em juros. Se o fizer no ano 20, mal poupa 2.000€. O timing é crucial.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Que percentagem do meu salário devo destinar à hipoteca?',
|
|
28
|
+
answer:
|
|
29
|
+
'A recomendação geral é de não superar os 30-35% dos seus rendimentos líquidos mensais (incluindo outras dívidas). Superar este limiar aumenta significativamente o risco de incumprimento perante imprevistos.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Introduzir o montante do empréstimo',
|
|
36
|
+
text: 'Escreva a quantia total que precisa de solicitar ao banco (subtraindo as suas poupanças dadas como entrada).',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Ajustar a taxa de juro',
|
|
40
|
+
text: 'Introduza a taxa (TAN) oferecida pela entidade. Pode comparar entre taxa fixa ou variável.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Escolher o prazo de amortização',
|
|
44
|
+
text: 'Defina em quantos anos quer pagar o empréstimo. Quanto mais anos, menor a prestação, mas pagará mais juros totais.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Analisar o plano de amortização',
|
|
48
|
+
text: 'Reveja mês a mês a evolução da sua dívida e que parte da prestação se destina a juros vs capital.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowTo> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step, i) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
position: i + 1,
|
|
70
|
+
name: step.name,
|
|
71
|
+
text: step.text,
|
|
72
|
+
})),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
76
|
+
'@context': 'https://schema.org',
|
|
77
|
+
'@type': 'SoftwareApplication',
|
|
78
|
+
name: title,
|
|
79
|
+
description,
|
|
80
|
+
applicationCategory: 'FinanceApplication',
|
|
81
|
+
operatingSystem: 'All',
|
|
82
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
83
|
+
inLanguage: 'pt',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<MortgageUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Perguntas Frequentes',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Fontes e Referências',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Banco de Portugal: Portal do Cliente Bancário',
|
|
96
|
+
url: 'https://clientebancario.bportugal.pt/',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'DECO: Simulador de crédito habitação',
|
|
100
|
+
url: 'https://www.deco.proteste.pt/dinheiro/credito-habitacao',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
howTo: howToData,
|
|
104
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
|
+
seo: [
|
|
106
|
+
{
|
|
107
|
+
type: 'title',
|
|
108
|
+
text: 'Guia Completo de Hipotecas: Sistema Francês e Amortização',
|
|
109
|
+
level: 2,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'paragraph',
|
|
113
|
+
html: 'A hipoteca é provavelmente a maior dívida que contrairá na sua vida. Entender como funciona o sistema de amortização francês é crucial para tomar decisões inteligentes que podem poupar-lhe dezenas de milhares de euros.',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'title',
|
|
117
|
+
text: 'A "Ratoeira" do Sistema Francês: Entender a Composição da Prestação',
|
|
118
|
+
level: 3,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
html: 'Em Portugal, a maioria das hipotecas usa o <strong>Sistema de Amortização Francês</strong>. A sua principal característica é que a prestação mensal é constante (se a taxa for fixa), mas a composição muda radicalmente ao longo do tempo.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'tip',
|
|
126
|
+
title: 'Como Evolui a sua Prestação',
|
|
127
|
+
html: '<p><strong>Ao princípio (Anos 1-10):</strong> Paga quase tudo em JUROS e devolve muito pouco capital. Numa hipoteca de 250.000€ a 3%, o seu primeiro pagamento pode ter 80% de juros.</p><p><strong>A meio (Anni 11-25):</strong> A proporção equilibra-se gradualmente.</p><p><strong>Ao final (Anni 26-30):</strong> Paga quase tudo em CAPITAL e muito poucos juros.</p>',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
html: 'Por isso, se vai <strong>amortizar hipoteca</strong> (adiantar dinheiro), é muito mais rentável fazê-lo nos primeiros anos do empréstimo. Amortizar 10.000€ no ano 1 pode poupar-lhe mais de 15.000€ em juros. O mesmo adiantamento no ano 20 mal poupa 2.000€.',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Quanto Dinheiro Devo Destinar à Hipoteca?',
|
|
136
|
+
level: 3,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'O Banco de Portugal recomenda que a sua taxa de esforço <strong>não supere os 30-35% dos seus rendimentos líquidos mensais</strong>. Se superar este limite, aumenta significativamente o risco de incumprimento perante imprevistos (perda de emprego, doença, etc.).',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Contexto 2026: Taxa Fixa vs Variável',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Com a Euribor a oscilar, escolher entre <strong>Taxa Fixa</strong> ou <strong>Taxa Variável</strong> é uma decisão estratégica que pode custar milhares de euros anualmente.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'comparative',
|
|
153
|
+
columns: 2,
|
|
154
|
+
items: [
|
|
155
|
+
{
|
|
156
|
+
title: 'Taxa Fixa',
|
|
157
|
+
description: 'Paga um pouco mais agora, mas dorme descansado sabendo que a prestação nunca subirá.',
|
|
158
|
+
points: [
|
|
159
|
+
'Prestação previsível durante todo o prazo',
|
|
160
|
+
'Proteção contra subidas da Euribor',
|
|
161
|
+
'Paz de espírito em economia incerta',
|
|
162
|
+
'Ideal para orçamentos apertados',
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
title: 'Taxa Variável',
|
|
167
|
+
description: 'Pode ser mais barata hoje, mas expõe a sua economia à volatilidade.',
|
|
168
|
+
highlight: true,
|
|
169
|
+
points: [
|
|
170
|
+
'Prestação inicial mais baixa',
|
|
171
|
+
'Risco de subidas da Euribor',
|
|
172
|
+
'Impacto potencial grave no orçamento',
|
|
173
|
+
'Apenas para quem tolera risco alto',
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'tip',
|
|
180
|
+
title: 'A Decisão Fixa vs Variável Depende do Seu Perfil',
|
|
181
|
+
html: '<p><strong>Escolha Taxa Fixa se:</strong> O seu orçamento é apertado, procura certeza e não tolera surpresas mensais desagradables.</p><p><strong>Escolha Taxa Variável se:</strong> Tem almofada financeira, acredita que a Euribor vai baixar ou a hipoteca é curta.',
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
ui: {
|
|
185
|
+
labelTitle: 'Calculadora de Hipoteca',
|
|
186
|
+
labelLoanAmount: 'Montante Empréstimo',
|
|
187
|
+
labelInterestRate: 'Juro (TAN)',
|
|
188
|
+
labelYears: 'Prazo (Anos)',
|
|
189
|
+
labelMonthlyExtra: 'Acrescentar Poupança Mensal',
|
|
190
|
+
labelMonthlyPayment: 'Prestação Mensal',
|
|
191
|
+
labelMonthCount: 'meses',
|
|
192
|
+
labelSavingsCard: 'A sua Poupança Potencial',
|
|
193
|
+
labelSavingsInterest: 'Juros',
|
|
194
|
+
labelSavingsTime: 'Tempo',
|
|
195
|
+
labelTimelineComparison: 'Comparativa Temporal',
|
|
196
|
+
labelTimelineOriginal: 'Duração Original',
|
|
197
|
+
labelTimelineOptimized: 'Duração com Amortização',
|
|
198
|
+
labelCostBreakdown: 'Resumo de Custos Totais',
|
|
199
|
+
labelBorrowed: 'Emprestado',
|
|
200
|
+
labelTotalBorrowed: 'Total Emprestado',
|
|
201
|
+
labelTotalInterest: 'Total Juros',
|
|
202
|
+
labelAmortizationTable: 'Tabela de Amortização',
|
|
203
|
+
labelTableHeader: 'Ver tabela completa',
|
|
204
|
+
labelViewAll: 'Ver tudo',
|
|
205
|
+
labelPaid: 'Hipoteca Paga',
|
|
206
|
+
labelTableMonth: 'Mês',
|
|
207
|
+
labelTableInterest: 'Juro',
|
|
208
|
+
labelTablePrincipal: 'Capital',
|
|
209
|
+
labelTableExtra: 'Extra',
|
|
210
|
+
labelTableBalance: 'Em dívida',
|
|
211
|
+
labelMoreMonths: 'mais meses',
|
|
212
|
+
labelMonth: 'Mese',
|
|
213
|
+
currencySymbol: '€',
|
|
214
|
+
currencyCode: 'EUR',
|
|
215
|
+
currencyLocale: 'pt-PT',
|
|
216
|
+
monthPlural: 'meses',
|
|
217
|
+
yearPlural: 'anos',
|
|
218
|
+
},
|
|
219
|
+
};
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MortgageUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'ipotechniy-kalkulyator';
|
|
6
|
+
const title = 'Ипотечный калькулятор и французская таблица амортизации';
|
|
7
|
+
const description =
|
|
8
|
+
'Рассчитайте ежемесячный платеж по ипотеке, узнайте сумму переплаты по процентам и мгновенно визуализируйте график погашения.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Что такое французская (аннуитетная) система погашения?',
|
|
13
|
+
answer:
|
|
14
|
+
'Это самая распространенная система. Ежемесячный платеж остается неизменным, но вначале вы платите почти исключительно проценты и очень мало в счет основного долга. К концу срока ситуация меняется на противоположную. Поэтому досрочное погашение наиболее выгодно в первые годы.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Фиксированная или переменная ставка в 2026 году?',
|
|
18
|
+
answer:
|
|
19
|
+
'Фиксированная ставка: вы платите больше сейчас, но спите спокойно 30 лет. Переменная ставка: сегодня может быть дешевле, но если рыночные ставки вырастут, ваш платеж может резко подскочить. Это зависит от вашего отношения к риску.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Сколько я сэкономлю, если погашу 100 000 рублей досрочно?',
|
|
23
|
+
answer:
|
|
24
|
+
'Это зависит от времени. Если вы внесете платеж в 1-й год ипотеки на 5 млн рублей под 10%, вы можете сэкономить значительную сумму на процентах. Если вы сделаете это на 15-й год, экономия будет минимальной. Время имеет решающее значение.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Какой процент дохода должен уходить на ипотеку?',
|
|
28
|
+
answer:
|
|
29
|
+
'Общая рекомендация — не превышать 30-35% от вашего чистого ежемесячного дохода (включая другие долги). Превышение этого порога значительно повышает риск неплатежеспособности при непредвиденных обстоятельствах.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Введите сумму кредита',
|
|
36
|
+
text: 'Укажите общую сумму, которую вы планируете занять в банке (за вычетом вашего первоначального взноса).',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Настройте процентную ставку',
|
|
40
|
+
text: 'Введите годовую процентную ставку, предлагаемую банком. Вы можете сравнить расчеты для фиксированной и переменной ставок.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Выберите срок кредитования',
|
|
44
|
+
text: 'Определите, на сколько лет вы берете кредит. Чем больше срок, тем меньше ежемесячный платеж, но выше общая переплата по процентам.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Проанализируйте график платежей',
|
|
48
|
+
text: 'Просмотрите помесячно, как уменьшается ваш долг и какая часть платежа идет на проценты, а какая — на погашение основного долга.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowTo> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step, i) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
position: i + 1,
|
|
70
|
+
name: step.name,
|
|
71
|
+
text: step.text,
|
|
72
|
+
})),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
76
|
+
'@context': 'https://schema.org',
|
|
77
|
+
'@type': 'SoftwareApplication',
|
|
78
|
+
name: title,
|
|
79
|
+
description,
|
|
80
|
+
applicationCategory: 'FinanceApplication',
|
|
81
|
+
operatingSystem: 'All',
|
|
82
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'RUB' },
|
|
83
|
+
inLanguage: 'ru',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<MortgageUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Источники и ссылки',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Банк России: Ипотечное кредитование',
|
|
96
|
+
url: 'https://cbr.ru/',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'ДОМ.РФ: Ипотечный калькулятор и советы',
|
|
100
|
+
url: 'https://дом.рф/',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
howTo: howToData,
|
|
104
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
|
+
seo: [
|
|
106
|
+
{
|
|
107
|
+
type: 'title',
|
|
108
|
+
text: 'Полное руководство по ипотеке: аннуитетная система и погашение',
|
|
109
|
+
level: 2,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'paragraph',
|
|
113
|
+
html: 'Ипотека — это, вероятно, самый большой долг, который вы возьмете в своей жизни. Понимание того, как работает аннуитетная система погашения, крайне важно для принятия разумных решений, которые могут сэкономить вам сотни тысяч рублей.',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'title',
|
|
117
|
+
text: '«Ловушка» аннуитетной системы: состав вашего платежа',
|
|
118
|
+
level: 3,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
html: 'Большинство ипотечных кредитов используют <strong>Аннуитетную систему погашения</strong>. Ее главная особенность заключается в том, что ежемесячный платеж всегда одинаков (при фиксированной ставке), но его состав радикально меняется со временем.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'tip',
|
|
126
|
+
title: 'Как меняется ваш платеж',
|
|
127
|
+
html: '<p><strong>В начале (1-10 годы):</strong> Вы платите почти одни ПРОЦЕНТЫ и очень мало возвращаете из суммы долга. При кредите на 5 млн под 10% ваш первый платеж может на 85% состоять из процентов.</p><p><strong>В середине (11-20 годы):</strong> Пропорция постепенно выравнивается.</p><p><strong>В конце (21-30 годы):</strong> Вы платите почти весь ОСНОВНОЙ ДОЛГ и очень мало процентов.</p>',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
html: 'Поэтому, если вы собираетесь делать <strong>досрочное погашение</strong>, гораздо выгоднее делать это в первые годы кредита. Внесение 100 000 рублей в 1-й год может сэкономить вам в разы больше на будущих процентах, чем та же сумма, внесенная на 20-й год.',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Какую долю дохода должна занимать ипотека?',
|
|
136
|
+
level: 3,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Финансовые эксперты рекомендуют, чтобы ваш ипотечный платеж <strong>не превышал 30-35% от вашего чистого ежемесячного дохода</strong>. Если вы превышаете этот порог, вы значительно увеличиваете риск дефолта при непредвиденных обстоятельствах (потеря работы, болезнь и т. д.).',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Контекст 2026: Фиксированная против переменной ставки',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'В условиях волатильности выбор между <strong>Фиксированной ставкой</strong> или <strong>Переменной ставкой</strong> — это стратегическое решение, которое может стоить сотни тысяч рублей в год.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'comparative',
|
|
153
|
+
columns: 2,
|
|
154
|
+
items: [
|
|
155
|
+
{
|
|
156
|
+
title: 'Фиксированная ставка',
|
|
157
|
+
description: 'Вы платите чуть больше сейчас, но спите спокойно, зная, что ваш платеж никогда не вырастет.',
|
|
158
|
+
points: [
|
|
159
|
+
'Предсказуемый платеж на все 30 лет',
|
|
160
|
+
'Защита от повышения ставок ЦБ',
|
|
161
|
+
'Спокойствие в нестабильной экономике',
|
|
162
|
+
'Идеально для фиксированного бюджета',
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
title: 'Переменная ставка',
|
|
167
|
+
description: 'Может быть дешевле сегодня, но подвергает ваш бюджет риску волатильности.',
|
|
168
|
+
highlight: true,
|
|
169
|
+
points: [
|
|
170
|
+
'Более низкий начальный платеж',
|
|
171
|
+
'Риск повышения рыночных ставок',
|
|
172
|
+
'Возможное тяжелое влияние на бюджет',
|
|
173
|
+
'Только для тех, кто готов к риску',
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'tip',
|
|
180
|
+
title: 'Выбор зависит от вашего профиля',
|
|
181
|
+
html: '<p><strong>Выбирайте Фиксированную ставку, если:</strong> Ваш бюджет ограничен, вы ищете определенности и не любите неприятных сюрпризов каждый месяц.</p><p><strong>Выбирайте Переменную ставку, если:</strong> У вас есть финансовая подушка безопасности, вы верите в снижение ставок в будущем или ваш кредит небольшой.</p>',
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
ui: {
|
|
185
|
+
labelTitle: 'Ипотечный калькулятор',
|
|
186
|
+
labelLoanAmount: 'Сумма кредита',
|
|
187
|
+
labelInterestRate: 'Процент (год)',
|
|
188
|
+
labelYears: 'Срок (лет)',
|
|
189
|
+
labelMonthlyExtra: 'Доп. ежемесячный взнос',
|
|
190
|
+
labelMonthlyPayment: 'Ежемесячный платеж',
|
|
191
|
+
labelMonthCount: 'мес.',
|
|
192
|
+
labelSavingsCard: 'Ваша возможная экономия',
|
|
193
|
+
labelSavingsInterest: 'Проценты',
|
|
194
|
+
labelSavingsTime: 'Время',
|
|
195
|
+
labelTimelineComparison: 'Сравнение сроков',
|
|
196
|
+
labelTimelineOriginal: 'Исходный срок',
|
|
197
|
+
labelTimelineOptimized: 'Срок с ускорением',
|
|
198
|
+
labelCostBreakdown: 'Распределение общих затрат',
|
|
199
|
+
labelBorrowed: 'Занято',
|
|
200
|
+
labelTotalBorrowed: 'Тело кредита',
|
|
201
|
+
labelTotalInterest: 'Итого проценты',
|
|
202
|
+
labelAmortizationTable: 'График платежей',
|
|
203
|
+
labelTableHeader: 'Посмотреть полную таблицу',
|
|
204
|
+
labelViewAll: 'Смотреть всё',
|
|
205
|
+
labelPaid: 'Ипотека выплачена',
|
|
206
|
+
labelTableMonth: 'Месяц',
|
|
207
|
+
labelTableInterest: 'Проценты',
|
|
208
|
+
labelTablePrincipal: 'Долг',
|
|
209
|
+
labelTableExtra: 'Доп.',
|
|
210
|
+
labelTableBalance: 'Остаток',
|
|
211
|
+
labelMoreMonths: 'еще мес.',
|
|
212
|
+
labelMonth: 'Месяц',
|
|
213
|
+
currencySymbol: '₽',
|
|
214
|
+
currencyCode: 'RUB',
|
|
215
|
+
currencyLocale: 'ru-RU',
|
|
216
|
+
monthPlural: 'мес.',
|
|
217
|
+
yearPlural: 'лет',
|
|
218
|
+
},
|
|
219
|
+
};
|