@jjlmoya/utils-finance 1.30.0 → 1.32.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/en.ts +1 -1
- package/src/category/i18n/es.ts +4 -4
- package/src/category/i18n/fr.ts +159 -159
- package/src/category/i18n/pl.ts +1 -1
- package/src/category/i18n/ru.ts +158 -158
- package/src/category/index.ts +39 -38
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/entries.ts +4 -1
- package/src/env.d.ts +1 -1
- package/src/index.ts +1 -0
- package/src/layouts/PreviewLayout.astro +113 -113
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +76 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/script_density.test.ts +94 -94
- package/src/tests/seo_length.test.ts +23 -23
- package/src/tests/seo_translation_completeness.test.ts +69 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +17 -17
- package/src/tool/compoundInterest/compound-interest-calculator.css +236 -236
- package/src/tool/compoundInterest/entry.ts +32 -32
- package/src/tool/compoundInterest/i18n/de.ts +195 -195
- package/src/tool/compoundInterest/i18n/fr.ts +195 -195
- package/src/tool/compoundInterest/i18n/it.ts +195 -195
- package/src/tool/compoundInterest/i18n/pl.ts +194 -194
- package/src/tool/compoundInterest/i18n/ru.ts +195 -195
- package/src/tool/compoundInterest/i18n/tr.ts +195 -195
- package/src/tool/compoundInterest/i18n/zh.ts +189 -189
- package/src/tool/compoundInterest/seo.astro +15 -15
- package/src/tool/courtFeeCalculator/i18n/it.ts +158 -158
- package/src/tool/courtFeeCalculator/i18n/ru.ts +158 -158
- package/src/tool/courtFeeCalculator/i18n/tr.ts +158 -158
- package/src/tool/courtFeeCalculator/seo.astro +15 -15
- package/src/tool/courtFeeCalculator/spanish-court-fees-calculator.css +197 -197
- package/src/tool/debtSnowball/bibliography.ts +12 -12
- package/src/tool/debtSnowball/i18n/de.ts +16 -16
- package/src/tool/debtSnowball/i18n/id.ts +16 -16
- package/src/tool/debtSnowball/i18n/it.ts +168 -168
- package/src/tool/debtSnowball/i18n/nl.ts +16 -16
- package/src/tool/debtSnowball/i18n/pl.ts +168 -168
- package/src/tool/debtSnowball/i18n/pt.ts +1 -1
- package/src/tool/debtSnowball/i18n/ru.ts +1 -1
- package/src/tool/debtSnowball/i18n/sv.ts +22 -29
- package/src/tool/debtSnowball/i18n/tr.ts +168 -168
- package/src/tool/debtSnowball/i18n/zh.ts +168 -168
- package/src/tool/debtSnowball/seo.astro +15 -15
- package/src/tool/dividendYield/bibliography.astro +14 -0
- package/src/tool/dividendYield/bibliography.ts +12 -0
- package/src/tool/dividendYield/component.astro +83 -0
- package/src/tool/dividendYield/controller.ts +85 -0
- package/src/tool/dividendYield/dividend-yield-calculator.css +352 -0
- package/src/tool/dividendYield/dom-views.ts +58 -0
- package/src/tool/dividendYield/entry.ts +29 -0
- package/src/tool/dividendYield/evaluator.ts +16 -0
- package/src/tool/dividendYield/i18n/de.ts +53 -0
- package/src/tool/dividendYield/i18n/en.ts +138 -0
- package/src/tool/dividendYield/i18n/es.ts +49 -0
- package/src/tool/dividendYield/i18n/fr.ts +49 -0
- package/src/tool/dividendYield/i18n/id.ts +49 -0
- package/src/tool/dividendYield/i18n/it.ts +49 -0
- package/src/tool/dividendYield/i18n/ja.ts +49 -0
- package/src/tool/dividendYield/i18n/ko.ts +25 -0
- package/src/tool/dividendYield/i18n/nl.ts +25 -0
- package/src/tool/dividendYield/i18n/pl.ts +25 -0
- package/src/tool/dividendYield/i18n/pt.ts +25 -0
- package/src/tool/dividendYield/i18n/ru.ts +25 -0
- package/src/tool/dividendYield/i18n/sv.ts +25 -0
- package/src/tool/dividendYield/i18n/tr.ts +25 -0
- package/src/tool/dividendYield/i18n/zh.ts +25 -0
- package/src/tool/dividendYield/index.ts +11 -0
- package/src/tool/dividendYield/logic.test.ts +73 -0
- package/src/tool/dividendYield/logic.ts +55 -0
- package/src/tool/dividendYield/seo.astro +14 -0
- package/src/tool/dividendYield/storage.ts +24 -0
- package/src/tool/dividendYield/ui.ts +33 -0
- package/src/tool/financialFreedom/financial-freedom-calculator.css +311 -311
- package/src/tool/financialFreedom/i18n/en.ts +182 -182
- package/src/tool/financialFreedom/i18n/fr.ts +128 -128
- package/src/tool/financialFreedom/i18n/id.ts +24 -7
- package/src/tool/financialFreedom/i18n/it.ts +24 -7
- package/src/tool/financialFreedom/i18n/ja.ts +1 -1
- package/src/tool/financialFreedom/i18n/nl.ts +24 -7
- package/src/tool/financialFreedom/i18n/pl.ts +24 -7
- package/src/tool/financialFreedom/i18n/pt.ts +24 -7
- package/src/tool/financialFreedom/i18n/ru.ts +128 -128
- package/src/tool/financialFreedom/i18n/sv.ts +1 -1
- package/src/tool/financialFreedom/i18n/tr.ts +2 -2
- package/src/tool/financialFreedom/i18n/zh.ts +128 -128
- package/src/tool/fireCalculator/i18n/it.ts +241 -241
- package/src/tool/fireCalculator/i18n/ru.ts +241 -241
- package/src/tool/fireCalculator/i18n/tr.ts +241 -241
- package/src/tool/fireCalculator/i18n/zh.ts +241 -241
- package/src/tool/fireCalculator/seo.astro +15 -15
- package/src/tool/ibanBicSwiftConverter/i18n/fr.ts +151 -151
- package/src/tool/ibanBicSwiftConverter/i18n/it.ts +118 -118
- package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +118 -118
- package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +118 -118
- package/src/tool/ibanBicSwiftConverter/iban-to-bic-swift-converter.css +366 -366
- package/src/tool/ibanBicSwiftConverter/seo.astro +15 -15
- package/src/tool/inflation/bibliography.ts +20 -20
- package/src/tool/inflation/entry.ts +32 -32
- package/src/tool/inflation/i18n/de.ts +284 -284
- package/src/tool/inflation/i18n/fr.ts +284 -284
- package/src/tool/inflation/i18n/it.ts +284 -284
- package/src/tool/inflation/i18n/nl.ts +284 -284
- package/src/tool/inflation/i18n/pl.ts +284 -284
- package/src/tool/inflation/i18n/pt.ts +284 -284
- package/src/tool/inflation/i18n/ru.ts +284 -284
- package/src/tool/inflation/i18n/sv.ts +284 -284
- package/src/tool/inflation/i18n/tr.ts +284 -284
- package/src/tool/inflation/i18n/zh.ts +284 -284
- package/src/tool/inflation/seo.astro +15 -15
- package/src/tool/lateInterest/bibliography.ts +16 -16
- package/src/tool/lateInterest/entry.ts +32 -32
- package/src/tool/lateInterest/i18n/de.ts +213 -213
- package/src/tool/lateInterest/i18n/es.ts +213 -213
- package/src/tool/lateInterest/i18n/it.ts +213 -213
- package/src/tool/lateInterest/i18n/nl.ts +213 -213
- package/src/tool/lateInterest/i18n/pl.ts +213 -213
- package/src/tool/lateInterest/i18n/pt.ts +213 -213
- package/src/tool/lateInterest/i18n/ru.ts +213 -213
- package/src/tool/lateInterest/i18n/sv.ts +213 -213
- package/src/tool/lateInterest/i18n/tr.ts +213 -213
- package/src/tool/lateInterest/i18n/zh.ts +213 -213
- package/src/tool/lateInterest/seo.astro +15 -15
- package/src/tool/legalInterestRate/i18n/it.ts +129 -129
- package/src/tool/legalInterestRate/i18n/ru.ts +129 -129
- package/src/tool/legalInterestRate/i18n/tr.ts +128 -121
- package/src/tool/legalInterestRate/i18n/zh.ts +11 -4
- package/src/tool/legalInterestRate/seo.astro +15 -15
- package/src/tool/lotteryOptimizer/i18n/it.ts +163 -163
- package/src/tool/lotteryOptimizer/i18n/pl.ts +163 -163
- package/src/tool/lotteryOptimizer/i18n/ru.ts +163 -163
- package/src/tool/lotteryOptimizer/i18n/tr.ts +163 -163
- package/src/tool/lotteryOptimizer/i18n/zh.ts +162 -155
- package/src/tool/lotteryOptimizer/seo.astro +15 -15
- package/src/tool/mortgage/bibliography.ts +20 -20
- package/src/tool/mortgage/entry.ts +32 -32
- package/src/tool/mortgage/i18n/de.ts +210 -210
- package/src/tool/mortgage/i18n/es.ts +210 -210
- package/src/tool/mortgage/i18n/fr.ts +210 -210
- package/src/tool/mortgage/i18n/id.ts +210 -210
- package/src/tool/mortgage/i18n/it.ts +210 -210
- package/src/tool/mortgage/i18n/nl.ts +210 -210
- package/src/tool/mortgage/i18n/pl.ts +210 -210
- package/src/tool/mortgage/i18n/ru.ts +210 -210
- package/src/tool/mortgage/i18n/tr.ts +210 -210
- package/src/tool/mortgage/i18n/zh.ts +210 -210
- package/src/tool/mortgage/mortgage-calculator.css +595 -595
- package/src/tool/mortgage/seo.astro +15 -15
- package/src/tool/percentageCalculator/bibliography.ts +16 -16
- package/src/tool/percentageCalculator/entry.ts +32 -32
- package/src/tool/percentageCalculator/i18n/de.ts +220 -220
- package/src/tool/percentageCalculator/i18n/en.ts +220 -220
- package/src/tool/percentageCalculator/i18n/es.ts +220 -220
- package/src/tool/percentageCalculator/i18n/fr.ts +220 -220
- package/src/tool/percentageCalculator/i18n/it.ts +220 -220
- package/src/tool/percentageCalculator/i18n/pl.ts +220 -220
- package/src/tool/percentageCalculator/i18n/ru.ts +220 -220
- package/src/tool/percentageCalculator/i18n/tr.ts +220 -220
- package/src/tool/percentageCalculator/i18n/zh.ts +220 -220
- package/src/tool/percentageCalculator/seo.astro +15 -15
- package/src/tool/profitability/i18n/de.ts +24 -7
- package/src/tool/profitability/i18n/fr.ts +121 -104
- package/src/tool/profitability/i18n/id.ts +2 -2
- package/src/tool/profitability/i18n/it.ts +24 -7
- package/src/tool/profitability/i18n/ja.ts +1 -1
- package/src/tool/profitability/i18n/nl.ts +24 -7
- package/src/tool/profitability/i18n/pl.ts +1 -1
- package/src/tool/profitability/i18n/pt.ts +24 -7
- package/src/tool/profitability/i18n/ru.ts +118 -118
- package/src/tool/profitability/i18n/sv.ts +1 -1
- package/src/tool/profitability/i18n/tr.ts +1 -1
- package/src/tool/profitability/i18n/zh.ts +118 -118
- package/src/tool/profitability/profitability-calculator.css +229 -229
- package/src/tool/rentIncreaseCalculator/i18n/it.ts +125 -125
- package/src/tool/rentIncreaseCalculator/i18n/tr.ts +125 -125
- package/src/tool/rentIncreaseCalculator/rent-increase-calculator.css +326 -326
- package/src/tool/rentIncreaseCalculator/seo.astro +15 -15
- package/src/tool/revolvingCardCalculator/i18n/de.ts +38 -20
- package/src/tool/revolvingCardCalculator/i18n/es.ts +19 -18
- package/src/tool/revolvingCardCalculator/i18n/fr.ts +32 -28
- package/src/tool/revolvingCardCalculator/i18n/id.ts +18 -18
- package/src/tool/revolvingCardCalculator/i18n/it.ts +18 -18
- package/src/tool/revolvingCardCalculator/i18n/ja.ts +2 -2
- package/src/tool/revolvingCardCalculator/i18n/ko.ts +2 -2
- package/src/tool/revolvingCardCalculator/i18n/nl.ts +22 -19
- package/src/tool/revolvingCardCalculator/i18n/pl.ts +2 -2
- package/src/tool/revolvingCardCalculator/i18n/pt.ts +2 -2
- package/src/tool/revolvingCardCalculator/i18n/ru.ts +2 -2
- package/src/tool/revolvingCardCalculator/i18n/sv.ts +2 -2
- package/src/tool/revolvingCardCalculator/i18n/tr.ts +2 -2
- package/src/tool/revolvingCardCalculator/i18n/zh.ts +6 -6
- package/src/tool/salaryEmployerCost/i18n/de.ts +10 -10
- package/src/tool/salaryEmployerCost/i18n/fr.ts +9 -9
- package/src/tool/salaryEmployerCost/i18n/id.ts +9 -9
- package/src/tool/salaryEmployerCost/i18n/it.ts +9 -9
- package/src/tool/salaryEmployerCost/i18n/ja.ts +1 -1
- package/src/tool/salaryEmployerCost/i18n/ko.ts +1 -1
- package/src/tool/salaryEmployerCost/i18n/nl.ts +2 -2
- package/src/tool/salaryEmployerCost/i18n/pl.ts +2 -2
- package/src/tool/salaryEmployerCost/i18n/pt.ts +2 -2
- package/src/tool/salaryEmployerCost/i18n/ru.ts +2 -2
- package/src/tool/salaryEmployerCost/i18n/sv.ts +2 -2
- package/src/tool/salaryEmployerCost/i18n/tr.ts +2 -2
- package/src/tool/salaryEmployerCost/i18n/zh.ts +2 -2
- package/src/tools.ts +2 -1
|
@@ -1,210 +1,210 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography'
|
|
2
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
4
|
-
import type { MortgageUI } from '../ui';
|
|
5
|
-
|
|
6
|
-
const slug = 'kalkulator-hipoteczny';
|
|
7
|
-
const title = 'Symulator Kredytu Hipotecznego i Francuski Harmonogram Spłat';
|
|
8
|
-
const description =
|
|
9
|
-
'Oblicz swoją miesięczną ratę kredytu, sprawdź ile zapłacisz odsetek i natychmiast wygeneruj pełny harmonogram spłat.';
|
|
10
|
-
|
|
11
|
-
const faqData = [
|
|
12
|
-
{
|
|
13
|
-
question: 'Co to jest francuski system amortyzacji?',
|
|
14
|
-
answer:
|
|
15
|
-
'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.',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
question: 'Stałe czy zmienne oprocentowanie w 2026 roku?',
|
|
19
|
-
answer:
|
|
20
|
-
'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.',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
question: 'Ile zaoszczędzę, nadpłacając 10 000 zł?',
|
|
24
|
-
answer:
|
|
25
|
-
'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.',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
question: 'Jaki procent pensji powinna wynosić rata kredytu?',
|
|
29
|
-
answer:
|
|
30
|
-
'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ń.',
|
|
31
|
-
},
|
|
32
|
-
];
|
|
33
|
-
|
|
34
|
-
const howToData = [
|
|
35
|
-
{
|
|
36
|
-
name: 'Wprowadź kwotę kredytu',
|
|
37
|
-
text: 'Wpisz całkowitą kwotę, o którą wnioskujesz do banku (pomniejszoną o wkład własny).',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'Ustaw stopę oprocentowania',
|
|
41
|
-
text: 'Wpisz RRSO lub stopę procentową oferowaną przez bank. Możesz porównać opcję ze stałym i zmiennym oprocentowaniem.',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'Wybierz okres spłaty',
|
|
45
|
-
text: 'Określ na ile lat bierzesz kredyt. Dłuższy okres to niższa rata, ale wyższy całkowity koszt odsetek.',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: 'Przeanalizuj harmonogram spłat',
|
|
49
|
-
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ł.',
|
|
50
|
-
},
|
|
51
|
-
];
|
|
52
|
-
|
|
53
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
-
'@context': 'https://schema.org',
|
|
55
|
-
'@type': 'FAQPage',
|
|
56
|
-
mainEntity: faqData.map((item) => ({
|
|
57
|
-
'@type': 'Question',
|
|
58
|
-
name: item.question,
|
|
59
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
-
})),
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const howToSchema: WithContext<HowTo> = {
|
|
64
|
-
'@context': 'https://schema.org',
|
|
65
|
-
'@type': 'HowTo',
|
|
66
|
-
name: title,
|
|
67
|
-
description,
|
|
68
|
-
step: howToData.map((step, i) => ({
|
|
69
|
-
'@type': 'HowToStep',
|
|
70
|
-
position: i + 1,
|
|
71
|
-
name: step.name,
|
|
72
|
-
text: step.text,
|
|
73
|
-
})),
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
-
'@context': 'https://schema.org',
|
|
78
|
-
'@type': 'SoftwareApplication',
|
|
79
|
-
name: title,
|
|
80
|
-
description,
|
|
81
|
-
applicationCategory: 'FinanceApplication',
|
|
82
|
-
operatingSystem: 'All',
|
|
83
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'PLN' },
|
|
84
|
-
inLanguage: 'pl',
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export const content: ToolLocaleContent<MortgageUI> = {
|
|
88
|
-
slug,
|
|
89
|
-
title,
|
|
90
|
-
description,
|
|
91
|
-
faq: faqData,
|
|
92
|
-
bibliography,
|
|
93
|
-
|
|
94
|
-
howTo: howToData,
|
|
95
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
-
seo: [
|
|
97
|
-
{
|
|
98
|
-
type: 'title',
|
|
99
|
-
text: 'Kompletny Przewodnik po Kredytach: System Francuski i Nadpłata',
|
|
100
|
-
level: 2,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
type: 'paragraph',
|
|
104
|
-
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.',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
type: 'title',
|
|
108
|
-
text: '"Pułapka" Systemu Francuskiego: Z czego składa się Twoja rata?',
|
|
109
|
-
level: 3,
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
type: 'paragraph',
|
|
113
|
-
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.',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
type: 'tip',
|
|
117
|
-
title: 'Jak zmienia się Twoja rata',
|
|
118
|
-
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>',
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
type: 'paragraph',
|
|
122
|
-
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ł.',
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
type: 'title',
|
|
126
|
-
text: 'Ile pieniędzy powinienem przeznaczać na kredyt?',
|
|
127
|
-
level: 3,
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
type: 'paragraph',
|
|
131
|
-
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.',
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
type: 'title',
|
|
135
|
-
text: 'Kontekst 2026: Oprocentowanie Stałe vs Zmienne',
|
|
136
|
-
level: 3,
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
type: 'paragraph',
|
|
140
|
-
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.',
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
type: 'comparative',
|
|
144
|
-
columns: 2,
|
|
145
|
-
items: [
|
|
146
|
-
{
|
|
147
|
-
title: 'Stałe Oprocentowanie',
|
|
148
|
-
description: 'Płacisz dziś nieco więcej, ale masz gwarancję, że Twoja rata nie wzrośnie przez lata.',
|
|
149
|
-
points: [
|
|
150
|
-
'Przewidywalna rata przez długi okres',
|
|
151
|
-
'Ochrona przed wzrostem stóp procentowych',
|
|
152
|
-
'Spokój ducha w niepewnych czasach',
|
|
153
|
-
'Idealne przy sztywnym budżecie',
|
|
154
|
-
],
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
title: 'Zmienne Oprocentowanie',
|
|
158
|
-
description: 'Dziś może być tańsze, ale naraża Twój budżet na dużą zmienność.',
|
|
159
|
-
highlight: true,
|
|
160
|
-
points: [
|
|
161
|
-
'Niższa rata początkowa',
|
|
162
|
-
'Ryzyko wzrostu stawek WIBOR/WIRON',
|
|
163
|
-
'Możliwy poważny wpływ na budżet domowy',
|
|
164
|
-
'Tylko dla osób o dużej odporności na ryzyko',
|
|
165
|
-
],
|
|
166
|
-
},
|
|
167
|
-
],
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
type: 'tip',
|
|
171
|
-
title: 'Wybór zależy od Twojego profilu',
|
|
172
|
-
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>',
|
|
173
|
-
},
|
|
174
|
-
],
|
|
175
|
-
ui: {
|
|
176
|
-
labelTitle: 'Kalkulator Kredytowy',
|
|
177
|
-
labelLoanAmount: 'Kwota Kredytu',
|
|
178
|
-
labelInterestRate: 'Oprocentowanie (%)',
|
|
179
|
-
labelYears: 'Okres (Lata)',
|
|
180
|
-
labelMonthlyExtra: 'Nadpłata Miesięczna',
|
|
181
|
-
labelMonthlyPayment: 'Rata Miesięczna',
|
|
182
|
-
labelMonthCount: 'miesięcy',
|
|
183
|
-
labelSavingsCard: 'Twoja Potencjalna Oszczędność',
|
|
184
|
-
labelSavingsInterest: 'Odsetki',
|
|
185
|
-
labelSavingsTime: 'Czas',
|
|
186
|
-
labelTimelineComparison: 'Porównanie Czasu Spłaty',
|
|
187
|
-
labelTimelineOriginal: 'Pierwotny Okres',
|
|
188
|
-
labelTimelineOptimized: 'Okres przy Nadpłatach',
|
|
189
|
-
labelCostBreakdown: 'Podsumowanie Kosztów',
|
|
190
|
-
labelBorrowed: 'Pożyczone',
|
|
191
|
-
labelTotalBorrowed: 'Suma Kapitału',
|
|
192
|
-
labelTotalInterest: 'Suma Odsetek',
|
|
193
|
-
labelAmortizationTable: 'Harmonogram Spłat',
|
|
194
|
-
labelTableHeader: 'Zobacz pełną tabelę',
|
|
195
|
-
labelViewAll: 'Zobacz wszystko',
|
|
196
|
-
labelPaid: 'Kredyt Spłacony',
|
|
197
|
-
labelTableMonth: 'Miesiąc',
|
|
198
|
-
labelTableInterest: 'Odsetki',
|
|
199
|
-
labelTablePrincipal: 'Kapitał',
|
|
200
|
-
labelTableExtra: 'Nadpłata',
|
|
201
|
-
labelTableBalance: 'Pozostało',
|
|
202
|
-
labelMoreMonths: 'kolejnych miesięcy',
|
|
203
|
-
labelMonth: 'Miesiąc',
|
|
204
|
-
currencySymbol: 'zł',
|
|
205
|
-
currencyCode: 'PLN',
|
|
206
|
-
currencyLocale: 'pl-PL',
|
|
207
|
-
monthPlural: 'miesięcy',
|
|
208
|
-
yearPlural: 'lat',
|
|
209
|
-
},
|
|
210
|
-
};
|
|
1
|
+
import { bibliography } from '../bibliography'
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
4
|
+
import type { MortgageUI } from '../ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'kalkulator-hipoteczny';
|
|
7
|
+
const title = 'Symulator Kredytu Hipotecznego i Francuski Harmonogram Spłat';
|
|
8
|
+
const description =
|
|
9
|
+
'Oblicz swoją miesięczną ratę kredytu, sprawdź ile zapłacisz odsetek i natychmiast wygeneruj pełny harmonogram spłat.';
|
|
10
|
+
|
|
11
|
+
const faqData = [
|
|
12
|
+
{
|
|
13
|
+
question: 'Co to jest francuski system amortyzacji?',
|
|
14
|
+
answer:
|
|
15
|
+
'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.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Stałe czy zmienne oprocentowanie w 2026 roku?',
|
|
19
|
+
answer:
|
|
20
|
+
'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.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Ile zaoszczędzę, nadpłacając 10 000 zł?',
|
|
24
|
+
answer:
|
|
25
|
+
'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.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Jaki procent pensji powinna wynosić rata kredytu?',
|
|
29
|
+
answer:
|
|
30
|
+
'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ń.',
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const howToData = [
|
|
35
|
+
{
|
|
36
|
+
name: 'Wprowadź kwotę kredytu',
|
|
37
|
+
text: 'Wpisz całkowitą kwotę, o którą wnioskujesz do banku (pomniejszoną o wkład własny).',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Ustaw stopę oprocentowania',
|
|
41
|
+
text: 'Wpisz RRSO lub stopę procentową oferowaną przez bank. Możesz porównać opcję ze stałym i zmiennym oprocentowaniem.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Wybierz okres spłaty',
|
|
45
|
+
text: 'Określ na ile lat bierzesz kredyt. Dłuższy okres to niższa rata, ale wyższy całkowity koszt odsetek.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Przeanalizuj harmonogram spłat',
|
|
49
|
+
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ł.',
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'FAQPage',
|
|
56
|
+
mainEntity: faqData.map((item) => ({
|
|
57
|
+
'@type': 'Question',
|
|
58
|
+
name: item.question,
|
|
59
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
+
})),
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const howToSchema: WithContext<HowTo> = {
|
|
64
|
+
'@context': 'https://schema.org',
|
|
65
|
+
'@type': 'HowTo',
|
|
66
|
+
name: title,
|
|
67
|
+
description,
|
|
68
|
+
step: howToData.map((step, i) => ({
|
|
69
|
+
'@type': 'HowToStep',
|
|
70
|
+
position: i + 1,
|
|
71
|
+
name: step.name,
|
|
72
|
+
text: step.text,
|
|
73
|
+
})),
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
+
'@context': 'https://schema.org',
|
|
78
|
+
'@type': 'SoftwareApplication',
|
|
79
|
+
name: title,
|
|
80
|
+
description,
|
|
81
|
+
applicationCategory: 'FinanceApplication',
|
|
82
|
+
operatingSystem: 'All',
|
|
83
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'PLN' },
|
|
84
|
+
inLanguage: 'pl',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: ToolLocaleContent<MortgageUI> = {
|
|
88
|
+
slug,
|
|
89
|
+
title,
|
|
90
|
+
description,
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
93
|
+
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Kompletny Przewodnik po Kredytach: System Francuski i Nadpłata',
|
|
100
|
+
level: 2,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'paragraph',
|
|
104
|
+
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.',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'title',
|
|
108
|
+
text: '"Pułapka" Systemu Francuskiego: Z czego składa się Twoja rata?',
|
|
109
|
+
level: 3,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'paragraph',
|
|
113
|
+
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.',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'tip',
|
|
117
|
+
title: 'Jak zmienia się Twoja rata',
|
|
118
|
+
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>',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
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ł.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Ile pieniędzy powinienem przeznaczać na kredyt?',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
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.',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Kontekst 2026: Oprocentowanie Stałe vs Zmienne',
|
|
136
|
+
level: 3,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
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.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'comparative',
|
|
144
|
+
columns: 2,
|
|
145
|
+
items: [
|
|
146
|
+
{
|
|
147
|
+
title: 'Stałe Oprocentowanie',
|
|
148
|
+
description: 'Płacisz dziś nieco więcej, ale masz gwarancję, że Twoja rata nie wzrośnie przez lata.',
|
|
149
|
+
points: [
|
|
150
|
+
'Przewidywalna rata przez długi okres',
|
|
151
|
+
'Ochrona przed wzrostem stóp procentowych',
|
|
152
|
+
'Spokój ducha w niepewnych czasach',
|
|
153
|
+
'Idealne przy sztywnym budżecie',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
title: 'Zmienne Oprocentowanie',
|
|
158
|
+
description: 'Dziś może być tańsze, ale naraża Twój budżet na dużą zmienność.',
|
|
159
|
+
highlight: true,
|
|
160
|
+
points: [
|
|
161
|
+
'Niższa rata początkowa',
|
|
162
|
+
'Ryzyko wzrostu stawek WIBOR/WIRON',
|
|
163
|
+
'Możliwy poważny wpływ na budżet domowy',
|
|
164
|
+
'Tylko dla osób o dużej odporności na ryzyko',
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'tip',
|
|
171
|
+
title: 'Wybór zależy od Twojego profilu',
|
|
172
|
+
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>',
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
ui: {
|
|
176
|
+
labelTitle: 'Kalkulator Kredytowy',
|
|
177
|
+
labelLoanAmount: 'Kwota Kredytu',
|
|
178
|
+
labelInterestRate: 'Oprocentowanie (%)',
|
|
179
|
+
labelYears: 'Okres (Lata)',
|
|
180
|
+
labelMonthlyExtra: 'Nadpłata Miesięczna',
|
|
181
|
+
labelMonthlyPayment: 'Rata Miesięczna',
|
|
182
|
+
labelMonthCount: 'miesięcy',
|
|
183
|
+
labelSavingsCard: 'Twoja Potencjalna Oszczędność',
|
|
184
|
+
labelSavingsInterest: 'Odsetki',
|
|
185
|
+
labelSavingsTime: 'Czas',
|
|
186
|
+
labelTimelineComparison: 'Porównanie Czasu Spłaty',
|
|
187
|
+
labelTimelineOriginal: 'Pierwotny Okres',
|
|
188
|
+
labelTimelineOptimized: 'Okres przy Nadpłatach',
|
|
189
|
+
labelCostBreakdown: 'Podsumowanie Kosztów',
|
|
190
|
+
labelBorrowed: 'Pożyczone',
|
|
191
|
+
labelTotalBorrowed: 'Suma Kapitału',
|
|
192
|
+
labelTotalInterest: 'Suma Odsetek',
|
|
193
|
+
labelAmortizationTable: 'Harmonogram Spłat',
|
|
194
|
+
labelTableHeader: 'Zobacz pełną tabelę',
|
|
195
|
+
labelViewAll: 'Zobacz wszystko',
|
|
196
|
+
labelPaid: 'Kredyt Spłacony',
|
|
197
|
+
labelTableMonth: 'Miesiąc',
|
|
198
|
+
labelTableInterest: 'Odsetki',
|
|
199
|
+
labelTablePrincipal: 'Kapitał',
|
|
200
|
+
labelTableExtra: 'Nadpłata',
|
|
201
|
+
labelTableBalance: 'Pozostało',
|
|
202
|
+
labelMoreMonths: 'kolejnych miesięcy',
|
|
203
|
+
labelMonth: 'Miesiąc',
|
|
204
|
+
currencySymbol: 'zł',
|
|
205
|
+
currencyCode: 'PLN',
|
|
206
|
+
currencyLocale: 'pl-PL',
|
|
207
|
+
monthPlural: 'miesięcy',
|
|
208
|
+
yearPlural: 'lat',
|
|
209
|
+
},
|
|
210
|
+
};
|