@jjlmoya/utils-finance 1.30.0 → 1.31.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.
Files changed (211) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/fr.ts +159 -159
  3. package/src/category/i18n/ru.ts +158 -158
  4. package/src/category/index.ts +39 -38
  5. package/src/category/seo.astro +1 -1
  6. package/src/components/PreviewNavSidebar.astro +1 -1
  7. package/src/components/PreviewToolbar.astro +1 -1
  8. package/src/data.ts +1 -1
  9. package/src/entries.ts +4 -1
  10. package/src/env.d.ts +1 -1
  11. package/src/index.ts +1 -0
  12. package/src/layouts/PreviewLayout.astro +113 -113
  13. package/src/pages/index.astro +1 -1
  14. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/locale_completeness.test.ts +2 -2
  17. package/src/tests/mocks/astro_mock.js +1 -1
  18. package/src/tests/no_h1_in_components.test.ts +1 -1
  19. package/src/tests/script_density.test.ts +94 -94
  20. package/src/tests/seo_length.test.ts +23 -23
  21. package/src/tests/seo_translation_completeness.test.ts +69 -0
  22. package/src/tests/seo_wellformed_export.test.ts +65 -0
  23. package/src/tests/tool_validation.test.ts +17 -17
  24. package/src/tool/compoundInterest/compound-interest-calculator.css +236 -236
  25. package/src/tool/compoundInterest/entry.ts +32 -32
  26. package/src/tool/compoundInterest/i18n/de.ts +195 -195
  27. package/src/tool/compoundInterest/i18n/fr.ts +195 -195
  28. package/src/tool/compoundInterest/i18n/it.ts +195 -195
  29. package/src/tool/compoundInterest/i18n/pl.ts +194 -194
  30. package/src/tool/compoundInterest/i18n/ru.ts +195 -195
  31. package/src/tool/compoundInterest/i18n/tr.ts +195 -195
  32. package/src/tool/compoundInterest/i18n/zh.ts +189 -189
  33. package/src/tool/compoundInterest/seo.astro +15 -15
  34. package/src/tool/courtFeeCalculator/i18n/it.ts +158 -158
  35. package/src/tool/courtFeeCalculator/i18n/ru.ts +158 -158
  36. package/src/tool/courtFeeCalculator/i18n/tr.ts +158 -158
  37. package/src/tool/courtFeeCalculator/seo.astro +15 -15
  38. package/src/tool/courtFeeCalculator/spanish-court-fees-calculator.css +197 -197
  39. package/src/tool/debtSnowball/bibliography.ts +12 -12
  40. package/src/tool/debtSnowball/i18n/de.ts +16 -16
  41. package/src/tool/debtSnowball/i18n/id.ts +16 -16
  42. package/src/tool/debtSnowball/i18n/it.ts +168 -168
  43. package/src/tool/debtSnowball/i18n/nl.ts +16 -16
  44. package/src/tool/debtSnowball/i18n/pl.ts +168 -168
  45. package/src/tool/debtSnowball/i18n/pt.ts +1 -1
  46. package/src/tool/debtSnowball/i18n/ru.ts +1 -1
  47. package/src/tool/debtSnowball/i18n/sv.ts +22 -29
  48. package/src/tool/debtSnowball/i18n/tr.ts +168 -168
  49. package/src/tool/debtSnowball/i18n/zh.ts +168 -168
  50. package/src/tool/debtSnowball/seo.astro +15 -15
  51. package/src/tool/dividendYield/bibliography.astro +14 -0
  52. package/src/tool/dividendYield/bibliography.ts +12 -0
  53. package/src/tool/dividendYield/component.astro +83 -0
  54. package/src/tool/dividendYield/controller.ts +85 -0
  55. package/src/tool/dividendYield/dividend-yield-calculator.css +352 -0
  56. package/src/tool/dividendYield/dom-views.ts +58 -0
  57. package/src/tool/dividendYield/entry.ts +29 -0
  58. package/src/tool/dividendYield/evaluator.ts +16 -0
  59. package/src/tool/dividendYield/i18n/de.ts +53 -0
  60. package/src/tool/dividendYield/i18n/en.ts +138 -0
  61. package/src/tool/dividendYield/i18n/es.ts +49 -0
  62. package/src/tool/dividendYield/i18n/fr.ts +49 -0
  63. package/src/tool/dividendYield/i18n/id.ts +49 -0
  64. package/src/tool/dividendYield/i18n/it.ts +49 -0
  65. package/src/tool/dividendYield/i18n/ja.ts +49 -0
  66. package/src/tool/dividendYield/i18n/ko.ts +25 -0
  67. package/src/tool/dividendYield/i18n/nl.ts +25 -0
  68. package/src/tool/dividendYield/i18n/pl.ts +25 -0
  69. package/src/tool/dividendYield/i18n/pt.ts +25 -0
  70. package/src/tool/dividendYield/i18n/ru.ts +25 -0
  71. package/src/tool/dividendYield/i18n/sv.ts +25 -0
  72. package/src/tool/dividendYield/i18n/tr.ts +25 -0
  73. package/src/tool/dividendYield/i18n/zh.ts +25 -0
  74. package/src/tool/dividendYield/index.ts +11 -0
  75. package/src/tool/dividendYield/logic.test.ts +73 -0
  76. package/src/tool/dividendYield/logic.ts +55 -0
  77. package/src/tool/dividendYield/seo.astro +14 -0
  78. package/src/tool/dividendYield/storage.ts +24 -0
  79. package/src/tool/dividendYield/ui.ts +33 -0
  80. package/src/tool/financialFreedom/financial-freedom-calculator.css +311 -311
  81. package/src/tool/financialFreedom/i18n/en.ts +182 -182
  82. package/src/tool/financialFreedom/i18n/fr.ts +128 -128
  83. package/src/tool/financialFreedom/i18n/id.ts +24 -7
  84. package/src/tool/financialFreedom/i18n/it.ts +24 -7
  85. package/src/tool/financialFreedom/i18n/ja.ts +1 -1
  86. package/src/tool/financialFreedom/i18n/nl.ts +24 -7
  87. package/src/tool/financialFreedom/i18n/pl.ts +24 -7
  88. package/src/tool/financialFreedom/i18n/pt.ts +24 -7
  89. package/src/tool/financialFreedom/i18n/ru.ts +128 -128
  90. package/src/tool/financialFreedom/i18n/sv.ts +1 -1
  91. package/src/tool/financialFreedom/i18n/tr.ts +2 -2
  92. package/src/tool/financialFreedom/i18n/zh.ts +128 -128
  93. package/src/tool/fireCalculator/i18n/it.ts +241 -241
  94. package/src/tool/fireCalculator/i18n/ru.ts +241 -241
  95. package/src/tool/fireCalculator/i18n/tr.ts +241 -241
  96. package/src/tool/fireCalculator/i18n/zh.ts +241 -241
  97. package/src/tool/fireCalculator/seo.astro +15 -15
  98. package/src/tool/ibanBicSwiftConverter/i18n/fr.ts +151 -151
  99. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +118 -118
  100. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +118 -118
  101. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +118 -118
  102. package/src/tool/ibanBicSwiftConverter/iban-to-bic-swift-converter.css +366 -366
  103. package/src/tool/ibanBicSwiftConverter/seo.astro +15 -15
  104. package/src/tool/inflation/bibliography.ts +20 -20
  105. package/src/tool/inflation/entry.ts +32 -32
  106. package/src/tool/inflation/i18n/de.ts +284 -284
  107. package/src/tool/inflation/i18n/fr.ts +284 -284
  108. package/src/tool/inflation/i18n/it.ts +284 -284
  109. package/src/tool/inflation/i18n/nl.ts +284 -284
  110. package/src/tool/inflation/i18n/pl.ts +284 -284
  111. package/src/tool/inflation/i18n/pt.ts +284 -284
  112. package/src/tool/inflation/i18n/ru.ts +284 -284
  113. package/src/tool/inflation/i18n/sv.ts +284 -284
  114. package/src/tool/inflation/i18n/tr.ts +284 -284
  115. package/src/tool/inflation/i18n/zh.ts +284 -284
  116. package/src/tool/inflation/seo.astro +15 -15
  117. package/src/tool/lateInterest/bibliography.ts +16 -16
  118. package/src/tool/lateInterest/entry.ts +32 -32
  119. package/src/tool/lateInterest/i18n/de.ts +213 -213
  120. package/src/tool/lateInterest/i18n/es.ts +213 -213
  121. package/src/tool/lateInterest/i18n/it.ts +213 -213
  122. package/src/tool/lateInterest/i18n/nl.ts +213 -213
  123. package/src/tool/lateInterest/i18n/pl.ts +213 -213
  124. package/src/tool/lateInterest/i18n/pt.ts +213 -213
  125. package/src/tool/lateInterest/i18n/ru.ts +213 -213
  126. package/src/tool/lateInterest/i18n/sv.ts +213 -213
  127. package/src/tool/lateInterest/i18n/tr.ts +213 -213
  128. package/src/tool/lateInterest/i18n/zh.ts +213 -213
  129. package/src/tool/lateInterest/seo.astro +15 -15
  130. package/src/tool/legalInterestRate/i18n/it.ts +129 -129
  131. package/src/tool/legalInterestRate/i18n/ru.ts +129 -129
  132. package/src/tool/legalInterestRate/i18n/tr.ts +128 -121
  133. package/src/tool/legalInterestRate/i18n/zh.ts +11 -4
  134. package/src/tool/legalInterestRate/seo.astro +15 -15
  135. package/src/tool/lotteryOptimizer/i18n/it.ts +163 -163
  136. package/src/tool/lotteryOptimizer/i18n/pl.ts +163 -163
  137. package/src/tool/lotteryOptimizer/i18n/ru.ts +163 -163
  138. package/src/tool/lotteryOptimizer/i18n/tr.ts +163 -163
  139. package/src/tool/lotteryOptimizer/i18n/zh.ts +162 -155
  140. package/src/tool/lotteryOptimizer/seo.astro +15 -15
  141. package/src/tool/mortgage/bibliography.ts +20 -20
  142. package/src/tool/mortgage/entry.ts +32 -32
  143. package/src/tool/mortgage/i18n/de.ts +210 -210
  144. package/src/tool/mortgage/i18n/es.ts +210 -210
  145. package/src/tool/mortgage/i18n/fr.ts +210 -210
  146. package/src/tool/mortgage/i18n/id.ts +210 -210
  147. package/src/tool/mortgage/i18n/it.ts +210 -210
  148. package/src/tool/mortgage/i18n/nl.ts +210 -210
  149. package/src/tool/mortgage/i18n/pl.ts +210 -210
  150. package/src/tool/mortgage/i18n/ru.ts +210 -210
  151. package/src/tool/mortgage/i18n/tr.ts +210 -210
  152. package/src/tool/mortgage/i18n/zh.ts +210 -210
  153. package/src/tool/mortgage/mortgage-calculator.css +595 -595
  154. package/src/tool/mortgage/seo.astro +15 -15
  155. package/src/tool/percentageCalculator/bibliography.ts +16 -16
  156. package/src/tool/percentageCalculator/entry.ts +32 -32
  157. package/src/tool/percentageCalculator/i18n/de.ts +220 -220
  158. package/src/tool/percentageCalculator/i18n/en.ts +220 -220
  159. package/src/tool/percentageCalculator/i18n/es.ts +220 -220
  160. package/src/tool/percentageCalculator/i18n/fr.ts +220 -220
  161. package/src/tool/percentageCalculator/i18n/it.ts +220 -220
  162. package/src/tool/percentageCalculator/i18n/pl.ts +220 -220
  163. package/src/tool/percentageCalculator/i18n/ru.ts +220 -220
  164. package/src/tool/percentageCalculator/i18n/tr.ts +220 -220
  165. package/src/tool/percentageCalculator/i18n/zh.ts +220 -220
  166. package/src/tool/percentageCalculator/seo.astro +15 -15
  167. package/src/tool/profitability/i18n/de.ts +24 -7
  168. package/src/tool/profitability/i18n/fr.ts +121 -104
  169. package/src/tool/profitability/i18n/id.ts +2 -2
  170. package/src/tool/profitability/i18n/it.ts +24 -7
  171. package/src/tool/profitability/i18n/ja.ts +1 -1
  172. package/src/tool/profitability/i18n/nl.ts +24 -7
  173. package/src/tool/profitability/i18n/pl.ts +1 -1
  174. package/src/tool/profitability/i18n/pt.ts +24 -7
  175. package/src/tool/profitability/i18n/ru.ts +118 -118
  176. package/src/tool/profitability/i18n/sv.ts +1 -1
  177. package/src/tool/profitability/i18n/tr.ts +1 -1
  178. package/src/tool/profitability/i18n/zh.ts +118 -118
  179. package/src/tool/profitability/profitability-calculator.css +229 -229
  180. package/src/tool/rentIncreaseCalculator/i18n/it.ts +125 -125
  181. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +125 -125
  182. package/src/tool/rentIncreaseCalculator/rent-increase-calculator.css +326 -326
  183. package/src/tool/rentIncreaseCalculator/seo.astro +15 -15
  184. package/src/tool/revolvingCardCalculator/i18n/de.ts +38 -20
  185. package/src/tool/revolvingCardCalculator/i18n/es.ts +19 -18
  186. package/src/tool/revolvingCardCalculator/i18n/fr.ts +32 -28
  187. package/src/tool/revolvingCardCalculator/i18n/id.ts +18 -18
  188. package/src/tool/revolvingCardCalculator/i18n/it.ts +18 -18
  189. package/src/tool/revolvingCardCalculator/i18n/ja.ts +2 -2
  190. package/src/tool/revolvingCardCalculator/i18n/ko.ts +2 -2
  191. package/src/tool/revolvingCardCalculator/i18n/nl.ts +22 -19
  192. package/src/tool/revolvingCardCalculator/i18n/pl.ts +2 -2
  193. package/src/tool/revolvingCardCalculator/i18n/pt.ts +2 -2
  194. package/src/tool/revolvingCardCalculator/i18n/ru.ts +2 -2
  195. package/src/tool/revolvingCardCalculator/i18n/sv.ts +2 -2
  196. package/src/tool/revolvingCardCalculator/i18n/tr.ts +2 -2
  197. package/src/tool/revolvingCardCalculator/i18n/zh.ts +6 -6
  198. package/src/tool/salaryEmployerCost/i18n/de.ts +10 -10
  199. package/src/tool/salaryEmployerCost/i18n/fr.ts +9 -9
  200. package/src/tool/salaryEmployerCost/i18n/id.ts +9 -9
  201. package/src/tool/salaryEmployerCost/i18n/it.ts +9 -9
  202. package/src/tool/salaryEmployerCost/i18n/ja.ts +1 -1
  203. package/src/tool/salaryEmployerCost/i18n/ko.ts +1 -1
  204. package/src/tool/salaryEmployerCost/i18n/nl.ts +2 -2
  205. package/src/tool/salaryEmployerCost/i18n/pl.ts +2 -2
  206. package/src/tool/salaryEmployerCost/i18n/pt.ts +2 -2
  207. package/src/tool/salaryEmployerCost/i18n/ru.ts +2 -2
  208. package/src/tool/salaryEmployerCost/i18n/sv.ts +2 -2
  209. package/src/tool/salaryEmployerCost/i18n/tr.ts +2 -2
  210. package/src/tool/salaryEmployerCost/i18n/zh.ts +2 -2
  211. package/src/tools.ts +2 -1
@@ -1,194 +1,194 @@
1
- import { bibliography } from '../bibliography'
2
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { CompoundInterestUI } from '../ui';
5
-
6
- const slug = 'procent-skladany';
7
- const title = 'Kalkulator Procentu Składanego: Wizualizuj swoje przyszłe bogactwo';
8
- const description =
9
- 'Odkryj, jak małe inwestycje zamieniają się w wielkie fortuny. Najlepsze narzędzie do planowania wolności finansowej i emerytury.';
10
-
11
- const faqData = [
12
- {
13
- question: 'Co to jest procent składany?',
14
- answer:
15
- 'To odsetki naliczane od kapitału początkowego oraz od zgromadzonych odsetek z poprzednich okresów. Powoduje to wykładniczy wzrost inwestycji w czasie.',
16
- },
17
- {
18
- question: 'Jaka jest różnica między procentem prostym a składanym?',
19
- answer:
20
- 'W procencie prostym odsetki naliczane są tylko od kapitału początkowego. W składanym odsetki są reinwestowane, co oznacza, że "Twoje odsetki zarabiają kolejne odsetki".',
21
- },
22
- {
23
- question: 'Co to jest "Reguła 72"?',
24
- answer:
25
- 'To szybki wzór pozwalający oszacować, po jakim czasie inwestycja podwoi swoją wartość: podziel 72 przez roczną stopę zwrotu. Na przykład przy 8% rocznie podwoisz swoje pieniądze w 9 lat.',
26
- },
27
- {
28
- question: 'Dlaczego ważne jest, aby zacząć inwestować wcześnie?',
29
- answer:
30
- 'Ze względu na efekt wykładniczy, najważniejszym czynnikiem nie jest kwota oszczędności, ale czas. Rozpoczęcie inwestowania kilka lat wcześniej może przynieść znacznie większy majątek końcowy dzięki mechanizmowi kapitalizacji.',
31
- },
32
- ];
33
-
34
- const howToData = [
35
- {
36
- name: 'Wprowadź kapitał początkowy',
37
- text: 'Wpisz kwotę, od której zaczniesz swój plan inwestycyjny.',
38
- },
39
- {
40
- name: 'Określ regularne wpłaty',
41
- text: 'Wskaż, ile pieniędzy będziesz dodatkowo oszczędzać i inwestować co miesiąc lub co rok.',
42
- },
43
- {
44
- name: 'Oszacuj roczną stopę zwrotu',
45
- text: 'Wprowadź procentowy roczny zysk, jakiego się spodziewasz (np. 7% dla historycznego indeksu S&P 500).',
46
- },
47
- {
48
- name: 'Dostosuj horyzont czasowy',
49
- text: 'Wybierz, przez ile lat będziesz utrzymywać inwestycję, aby zobaczyć wykładniczy wzrost Twojego kapitału.',
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<CompoundInterestUI> = {
88
- slug,
89
- title,
90
- description,
91
- faq: faqData,
92
- bibliography,
93
- howTo: howToData,
94
- schemas: [faqSchema, howToSchema, appSchema],
95
- seo: [
96
- {
97
- type: 'title',
98
- text: 'Magia procentu składanego: Buduj swój majątek wykładniczo',
99
- level: 2,
100
- },
101
- {
102
- type: 'paragraph',
103
- html: 'Albert Einstein nazwał go "ósmym cudem świata". <strong>Procent składany</strong> to najpotężniejszy mechanizm generowania bogactwa w dłuższym terminie. Nie musisz być ekspertem finansowym, aby z niego korzystać: potrzebujesz tylko czasu, cierpliwości i zainwestowanych pieniędzy.',
104
- },
105
- {
106
- type: 'title',
107
- text: 'Procent prosty vs Składany: Metafora kuli śnieżnej',
108
- level: 3,
109
- },
110
- {
111
- type: 'paragraph',
112
- html: 'Wyobraź sobie, że masz kulę śnieżną na szczycie góry. <strong>Procent prosty</strong> jest jak spuszczanie tej kuli i ręczne dokładanie do niej śniegu co metr, aby rosła. <strong>Procent składany</strong> jest jak pozwolenie kuli, by toczyła się sama: sama zbiera śnieg, a im większa się staje, tym większą ma powierzchnię, by zbierać <em>jeszcze więcej</em> śniegu przy każdym obrocie.',
113
- },
114
- {
115
- type: 'comparative',
116
- columns: 2,
117
- items: [
118
- {
119
- title: 'Procent prosty',
120
- description: 'Odsetki naliczane są zawsze tylko od kapitału początkowego.',
121
- points: [
122
- 'Wzór: Kapitał × Stopa × Czas',
123
- 'Wzrost liniowy i przewidywalny',
124
- 'Stosowany w pożyczkach krótkoterminowych',
125
- 'Brak reinwestycji zysków',
126
- ],
127
- },
128
- {
129
- title: 'Procent składany',
130
- description: 'Odsetki są dodawane do kapitału i generują nowe odsetki.',
131
- highlight: true,
132
- points: [
133
- 'Wzór: Kapitał × (1 + Stopa)^Czas',
134
- 'Przyspieszony wzrost wykładniczy',
135
- 'Podstawa każdej inwestycji długoterminowej',
136
- 'Twoje zyski generują kolejne zyski',
137
- ],
138
- },
139
- ],
140
- },
141
- {
142
- type: 'paragraph',
143
- html: 'Matematycznie Twoje zyski generują nowe zyski. W pierwszych latach proces wydaje się powolny, ale po przekroczeniu "punktu zwrotnego" krzywa gwałtownie rośnie w górę. To właśnie wtedy powstają prawdziwe fortuny.',
144
- },
145
- {
146
- type: 'title',
147
- text: 'Dlaczego czas jest Twoim największym sprzymierzeńcem?',
148
- level: 3,
149
- },
150
- {
151
- type: 'paragraph',
152
- html: 'Decydującym czynnikiem nie jest kwota, którą inwestujesz, ale <strong>liczba lat, przez które pozwalasz jej rosnąć</strong>. Rozpoczęcie inwestowania 10 lat wcześniej może przynieść majątek końcowy 2 lub 3 razy większy, nawet jeśli łączna kwota wpłat będzie mniejsza. Ten efekt wykładniczy jest powodem, dla którego młodzi inwestorzy mają bezkonkurencyjną przewagę.',
153
- },
154
- {
155
- type: 'tip',
156
- title: 'Reguła 72',
157
- html: '<p>Podziel 72 przez swoją roczną stopę zwrotu, aby dowiedzieć się, po ilu latach <strong>podwoisz swoje pieniądze</strong>.</p><p><em>Przykład: Przy 8% podwajasz co 9 lat (72/8 = 9).</em></p><p>Ten magiczny wzór działa dla każdej stopy zwrotu i pomaga szybko oszacować wzrost Twoich inwestycji.',
158
- },
159
- {
160
- type: 'tip',
161
- title: 'Rada na rok 2026',
162
- html: '<p>Inflacja pozostaje istotnym czynnikiem. Upewnij się, że Twoja stopa zwrotu netto wynosi co najmniej 2-3% rocznie, aby nie tracić siły nabywczej. Inwestuj w aktywa, które rosną szybciej niż inflacja.',
163
- },
164
- {
165
- type: 'title',
166
- text: 'Częstotliwość kapitalizacji: Czy ma znaczenie?',
167
- level: 3,
168
- },
169
- {
170
- type: 'paragraph',
171
- html: 'Odsetki mogą być kapitalizowane rocznie, półrocznie, kwartalnie, miesięcznie lub nawet codziennie. Im <strong>częstsza kapitalizacja</strong>, tym większy efekt procentu składanego. Ten sam kapitał przy tej samej stopie wzrośnie bardziej, jeśli odsetki będą dopisywane co miesiąc niż raz w roku.',
172
- },
173
- ],
174
- ui: {
175
- labelTitle: 'Symulator Inwestycji',
176
- labelRealtime: 'Czas rzeczywisty',
177
- labelInitial: 'Wpłata początkowa',
178
- labelMonthly: 'Wpłata miesięczna',
179
- labelRate: 'Stopa roczna',
180
- labelYears: 'Lata',
181
- labelMyMoney: 'Twoje pieniądze',
182
- labelProfit: 'Zysk (Odsetki)',
183
- labelTotal: 'Suma zgromadzona',
184
- labelYear: 'Rok',
185
- labelPrincipal: 'Twoje pieniądze (Kapitał)',
186
- labelInterest: 'Wygenerowane odsetki',
187
- insightPrefix: '[TIP] W roku ',
188
- insightSuffix:
189
- ', Twoje roczne wygenerowane odsetki przewyższą Twoje wpłaty. Pieniądze pracują już ciężej niż Ty!',
190
- currencySymbol: 'zł',
191
- currencyCode: 'PLN',
192
- currencyLocale: 'pl-PL',
193
- },
194
- };
1
+ import { bibliography } from '../bibliography'
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { CompoundInterestUI } from '../ui';
5
+
6
+ const slug = 'procent-skladany';
7
+ const title = 'Kalkulator Procentu Składanego: Wizualizuj swoje przyszłe bogactwo';
8
+ const description =
9
+ 'Odkryj, jak małe inwestycje zamieniają się w wielkie fortuny. Najlepsze narzędzie do planowania wolności finansowej i emerytury.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Co to jest procent składany?',
14
+ answer:
15
+ 'To odsetki naliczane od kapitału początkowego oraz od zgromadzonych odsetek z poprzednich okresów. Powoduje to wykładniczy wzrost inwestycji w czasie.',
16
+ },
17
+ {
18
+ question: 'Jaka jest różnica między procentem prostym a składanym?',
19
+ answer:
20
+ 'W procencie prostym odsetki naliczane są tylko od kapitału początkowego. W składanym odsetki są reinwestowane, co oznacza, że "Twoje odsetki zarabiają kolejne odsetki".',
21
+ },
22
+ {
23
+ question: 'Co to jest "Reguła 72"?',
24
+ answer:
25
+ 'To szybki wzór pozwalający oszacować, po jakim czasie inwestycja podwoi swoją wartość: podziel 72 przez roczną stopę zwrotu. Na przykład przy 8% rocznie podwoisz swoje pieniądze w 9 lat.',
26
+ },
27
+ {
28
+ question: 'Dlaczego ważne jest, aby zacząć inwestować wcześnie?',
29
+ answer:
30
+ 'Ze względu na efekt wykładniczy, najważniejszym czynnikiem nie jest kwota oszczędności, ale czas. Rozpoczęcie inwestowania kilka lat wcześniej może przynieść znacznie większy majątek końcowy dzięki mechanizmowi kapitalizacji.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Wprowadź kapitał początkowy',
37
+ text: 'Wpisz kwotę, od której zaczniesz swój plan inwestycyjny.',
38
+ },
39
+ {
40
+ name: 'Określ regularne wpłaty',
41
+ text: 'Wskaż, ile pieniędzy będziesz dodatkowo oszczędzać i inwestować co miesiąc lub co rok.',
42
+ },
43
+ {
44
+ name: 'Oszacuj roczną stopę zwrotu',
45
+ text: 'Wprowadź procentowy roczny zysk, jakiego się spodziewasz (np. 7% dla historycznego indeksu S&P 500).',
46
+ },
47
+ {
48
+ name: 'Dostosuj horyzont czasowy',
49
+ text: 'Wybierz, przez ile lat będziesz utrzymywać inwestycję, aby zobaczyć wykładniczy wzrost Twojego kapitału.',
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<CompoundInterestUI> = {
88
+ slug,
89
+ title,
90
+ description,
91
+ faq: faqData,
92
+ bibliography,
93
+ howTo: howToData,
94
+ schemas: [faqSchema, howToSchema, appSchema],
95
+ seo: [
96
+ {
97
+ type: 'title',
98
+ text: 'Magia procentu składanego: Buduj swój majątek wykładniczo',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Albert Einstein nazwał go "ósmym cudem świata". <strong>Procent składany</strong> to najpotężniejszy mechanizm generowania bogactwa w dłuższym terminie. Nie musisz być ekspertem finansowym, aby z niego korzystać: potrzebujesz tylko czasu, cierpliwości i zainwestowanych pieniędzy.',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: 'Procent prosty vs Składany: Metafora kuli śnieżnej',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: 'Wyobraź sobie, że masz kulę śnieżną na szczycie góry. <strong>Procent prosty</strong> jest jak spuszczanie tej kuli i ręczne dokładanie do niej śniegu co metr, aby rosła. <strong>Procent składany</strong> jest jak pozwolenie kuli, by toczyła się sama: sama zbiera śnieg, a im większa się staje, tym większą ma powierzchnię, by zbierać <em>jeszcze więcej</em> śniegu przy każdym obrocie.',
113
+ },
114
+ {
115
+ type: 'comparative',
116
+ columns: 2,
117
+ items: [
118
+ {
119
+ title: 'Procent prosty',
120
+ description: 'Odsetki naliczane są zawsze tylko od kapitału początkowego.',
121
+ points: [
122
+ 'Wzór: Kapitał × Stopa × Czas',
123
+ 'Wzrost liniowy i przewidywalny',
124
+ 'Stosowany w pożyczkach krótkoterminowych',
125
+ 'Brak reinwestycji zysków',
126
+ ],
127
+ },
128
+ {
129
+ title: 'Procent składany',
130
+ description: 'Odsetki są dodawane do kapitału i generują nowe odsetki.',
131
+ highlight: true,
132
+ points: [
133
+ 'Wzór: Kapitał × (1 + Stopa)^Czas',
134
+ 'Przyspieszony wzrost wykładniczy',
135
+ 'Podstawa każdej inwestycji długoterminowej',
136
+ 'Twoje zyski generują kolejne zyski',
137
+ ],
138
+ },
139
+ ],
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: 'Matematycznie Twoje zyski generują nowe zyski. W pierwszych latach proces wydaje się powolny, ale po przekroczeniu "punktu zwrotnego" krzywa gwałtownie rośnie w górę. To właśnie wtedy powstają prawdziwe fortuny.',
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Dlaczego czas jest Twoim największym sprzymierzeńcem?',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Decydującym czynnikiem nie jest kwota, którą inwestujesz, ale <strong>liczba lat, przez które pozwalasz jej rosnąć</strong>. Rozpoczęcie inwestowania 10 lat wcześniej może przynieść majątek końcowy 2 lub 3 razy większy, nawet jeśli łączna kwota wpłat będzie mniejsza. Ten efekt wykładniczy jest powodem, dla którego młodzi inwestorzy mają bezkonkurencyjną przewagę.',
153
+ },
154
+ {
155
+ type: 'tip',
156
+ title: 'Reguła 72',
157
+ html: '<p>Podziel 72 przez swoją roczną stopę zwrotu, aby dowiedzieć się, po ilu latach <strong>podwoisz swoje pieniądze</strong>.</p><p><em>Przykład: Przy 8% podwajasz co 9 lat (72/8 = 9).</em></p><p>Ten magiczny wzór działa dla każdej stopy zwrotu i pomaga szybko oszacować wzrost Twoich inwestycji.',
158
+ },
159
+ {
160
+ type: 'tip',
161
+ title: 'Rada na rok 2026',
162
+ html: '<p>Inflacja pozostaje istotnym czynnikiem. Upewnij się, że Twoja stopa zwrotu netto wynosi co najmniej 2-3% rocznie, aby nie tracić siły nabywczej. Inwestuj w aktywa, które rosną szybciej niż inflacja.',
163
+ },
164
+ {
165
+ type: 'title',
166
+ text: 'Częstotliwość kapitalizacji: Czy ma znaczenie?',
167
+ level: 3,
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Odsetki mogą być kapitalizowane rocznie, półrocznie, kwartalnie, miesięcznie lub nawet codziennie. Im <strong>częstsza kapitalizacja</strong>, tym większy efekt procentu składanego. Ten sam kapitał przy tej samej stopie wzrośnie bardziej, jeśli odsetki będą dopisywane co miesiąc niż raz w roku.',
172
+ },
173
+ ],
174
+ ui: {
175
+ labelTitle: 'Symulator Inwestycji',
176
+ labelRealtime: 'Czas rzeczywisty',
177
+ labelInitial: 'Wpłata początkowa',
178
+ labelMonthly: 'Wpłata miesięczna',
179
+ labelRate: 'Stopa roczna',
180
+ labelYears: 'Lata',
181
+ labelMyMoney: 'Twoje pieniądze',
182
+ labelProfit: 'Zysk (Odsetki)',
183
+ labelTotal: 'Suma zgromadzona',
184
+ labelYear: 'Rok',
185
+ labelPrincipal: 'Twoje pieniądze (Kapitał)',
186
+ labelInterest: 'Wygenerowane odsetki',
187
+ insightPrefix: '[TIP] W roku ',
188
+ insightSuffix:
189
+ ', Twoje roczne wygenerowane odsetki przewyższą Twoje wpłaty. Pieniądze pracują już ciężej niż Ty!',
190
+ currencySymbol: 'zł',
191
+ currencyCode: 'PLN',
192
+ currencyLocale: 'pl-PL',
193
+ },
194
+ };