@jjlmoya/utils-finance 1.4.0 → 1.7.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 (179) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +158 -0
  3. package/src/category/i18n/id.ts +158 -0
  4. package/src/category/i18n/it.ts +158 -0
  5. package/src/category/i18n/ja.ts +158 -0
  6. package/src/category/i18n/ko.ts +158 -0
  7. package/src/category/i18n/nl.ts +158 -0
  8. package/src/category/i18n/pl.ts +158 -0
  9. package/src/category/i18n/pt.ts +158 -0
  10. package/src/category/i18n/ru.ts +158 -0
  11. package/src/category/i18n/sv.ts +158 -0
  12. package/src/category/i18n/tr.ts +158 -0
  13. package/src/category/i18n/zh.ts +158 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/category_validation.test.ts +73 -0
  16. package/src/tests/faq_count.test.ts +1 -1
  17. package/src/tests/i18n_coverage.test.ts +36 -0
  18. package/src/tests/locale_completeness.test.ts +3 -0
  19. package/src/tests/slug_language_code_format.test.ts +23 -0
  20. package/src/tests/slug_uniqueness.test.ts +81 -0
  21. package/src/tests/title_quality.test.ts +1 -1
  22. package/src/tool/compoundInterest/i18n/de.ts +208 -0
  23. package/src/tool/compoundInterest/i18n/id.ts +208 -0
  24. package/src/tool/compoundInterest/i18n/it.ts +208 -0
  25. package/src/tool/compoundInterest/i18n/ja.ts +207 -0
  26. package/src/tool/compoundInterest/i18n/ko.ts +207 -0
  27. package/src/tool/compoundInterest/i18n/nl.ts +208 -0
  28. package/src/tool/compoundInterest/i18n/pl.ts +208 -0
  29. package/src/tool/compoundInterest/i18n/pt.ts +208 -0
  30. package/src/tool/compoundInterest/i18n/ru.ts +208 -0
  31. package/src/tool/compoundInterest/i18n/sv.ts +208 -0
  32. package/src/tool/compoundInterest/i18n/tr.ts +208 -0
  33. package/src/tool/compoundInterest/i18n/zh.ts +202 -0
  34. package/src/tool/compoundInterest/index.ts +15 -7
  35. package/src/tool/courtFeeCalculator/i18n/de.ts +152 -0
  36. package/src/tool/courtFeeCalculator/i18n/fr.ts +1 -1
  37. package/src/tool/courtFeeCalculator/i18n/id.ts +152 -0
  38. package/src/tool/courtFeeCalculator/i18n/it.ts +152 -0
  39. package/src/tool/courtFeeCalculator/i18n/ja.ts +152 -0
  40. package/src/tool/courtFeeCalculator/i18n/ko.ts +152 -0
  41. package/src/tool/courtFeeCalculator/i18n/nl.ts +152 -0
  42. package/src/tool/courtFeeCalculator/i18n/pl.ts +152 -0
  43. package/src/tool/courtFeeCalculator/i18n/pt.ts +152 -0
  44. package/src/tool/courtFeeCalculator/i18n/ru.ts +152 -0
  45. package/src/tool/courtFeeCalculator/i18n/sv.ts +152 -0
  46. package/src/tool/courtFeeCalculator/i18n/tr.ts +152 -0
  47. package/src/tool/courtFeeCalculator/i18n/zh.ts +152 -0
  48. package/src/tool/courtFeeCalculator/index.ts +16 -8
  49. package/src/tool/debtSnowball/i18n/de.ts +160 -0
  50. package/src/tool/debtSnowball/i18n/id.ts +160 -0
  51. package/src/tool/debtSnowball/i18n/it.ts +160 -0
  52. package/src/tool/debtSnowball/i18n/ja.ts +157 -0
  53. package/src/tool/debtSnowball/i18n/ko.ts +160 -0
  54. package/src/tool/debtSnowball/i18n/nl.ts +160 -0
  55. package/src/tool/debtSnowball/i18n/pl.ts +160 -0
  56. package/src/tool/debtSnowball/i18n/pt.ts +160 -0
  57. package/src/tool/debtSnowball/i18n/ru.ts +160 -0
  58. package/src/tool/debtSnowball/i18n/sv.ts +160 -0
  59. package/src/tool/debtSnowball/i18n/tr.ts +160 -0
  60. package/src/tool/debtSnowball/i18n/zh.ts +160 -0
  61. package/src/tool/debtSnowball/index.ts +17 -9
  62. package/src/tool/fireCalculator/i18n/de.ts +261 -0
  63. package/src/tool/fireCalculator/i18n/id.ts +261 -0
  64. package/src/tool/fireCalculator/i18n/it.ts +261 -0
  65. package/src/tool/fireCalculator/i18n/ja.ts +261 -0
  66. package/src/tool/fireCalculator/i18n/ko.ts +261 -0
  67. package/src/tool/fireCalculator/i18n/nl.ts +261 -0
  68. package/src/tool/fireCalculator/i18n/pl.ts +261 -0
  69. package/src/tool/fireCalculator/i18n/pt.ts +261 -0
  70. package/src/tool/fireCalculator/i18n/ru.ts +261 -0
  71. package/src/tool/fireCalculator/i18n/sv.ts +261 -0
  72. package/src/tool/fireCalculator/i18n/tr.ts +261 -0
  73. package/src/tool/fireCalculator/i18n/zh.ts +261 -0
  74. package/src/tool/fireCalculator/index.ts +15 -7
  75. package/src/tool/ibanBicSwiftConverter/i18n/de.ts +128 -0
  76. package/src/tool/ibanBicSwiftConverter/i18n/id.ts +128 -0
  77. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +128 -0
  78. package/src/tool/ibanBicSwiftConverter/i18n/ja.ts +128 -0
  79. package/src/tool/ibanBicSwiftConverter/i18n/ko.ts +128 -0
  80. package/src/tool/ibanBicSwiftConverter/i18n/nl.ts +128 -0
  81. package/src/tool/ibanBicSwiftConverter/i18n/pl.ts +128 -0
  82. package/src/tool/ibanBicSwiftConverter/i18n/pt.ts +128 -0
  83. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +128 -0
  84. package/src/tool/ibanBicSwiftConverter/i18n/sv.ts +128 -0
  85. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +128 -0
  86. package/src/tool/ibanBicSwiftConverter/i18n/zh.ts +128 -0
  87. package/src/tool/ibanBicSwiftConverter/index.ts +15 -7
  88. package/src/tool/inflation/i18n/de.ts +297 -0
  89. package/src/tool/inflation/i18n/id.ts +297 -0
  90. package/src/tool/inflation/i18n/it.ts +297 -0
  91. package/src/tool/inflation/i18n/ja.ts +297 -0
  92. package/src/tool/inflation/i18n/ko.ts +297 -0
  93. package/src/tool/inflation/i18n/nl.ts +297 -0
  94. package/src/tool/inflation/i18n/pl.ts +297 -0
  95. package/src/tool/inflation/i18n/pt.ts +297 -0
  96. package/src/tool/inflation/i18n/ru.ts +297 -0
  97. package/src/tool/inflation/i18n/sv.ts +297 -0
  98. package/src/tool/inflation/i18n/tr.ts +297 -0
  99. package/src/tool/inflation/i18n/zh.ts +297 -0
  100. package/src/tool/inflation/index.ts +17 -9
  101. package/src/tool/lateInterest/i18n/de.ts +224 -0
  102. package/src/tool/lateInterest/i18n/id.ts +224 -0
  103. package/src/tool/lateInterest/i18n/it.ts +224 -0
  104. package/src/tool/lateInterest/i18n/ja.ts +224 -0
  105. package/src/tool/lateInterest/i18n/ko.ts +224 -0
  106. package/src/tool/lateInterest/i18n/nl.ts +224 -0
  107. package/src/tool/lateInterest/i18n/pl.ts +224 -0
  108. package/src/tool/lateInterest/i18n/pt.ts +224 -0
  109. package/src/tool/lateInterest/i18n/ru.ts +224 -0
  110. package/src/tool/lateInterest/i18n/sv.ts +224 -0
  111. package/src/tool/lateInterest/i18n/tr.ts +224 -0
  112. package/src/tool/lateInterest/i18n/zh.ts +224 -0
  113. package/src/tool/lateInterest/index.ts +17 -9
  114. package/src/tool/legalInterestRate/i18n/de.ts +143 -0
  115. package/src/tool/legalInterestRate/i18n/id.ts +143 -0
  116. package/src/tool/legalInterestRate/i18n/it.ts +143 -0
  117. package/src/tool/legalInterestRate/i18n/ja.ts +143 -0
  118. package/src/tool/legalInterestRate/i18n/ko.ts +143 -0
  119. package/src/tool/legalInterestRate/i18n/nl.ts +143 -0
  120. package/src/tool/legalInterestRate/i18n/pl.ts +143 -0
  121. package/src/tool/legalInterestRate/i18n/pt.ts +143 -0
  122. package/src/tool/legalInterestRate/i18n/ru.ts +143 -0
  123. package/src/tool/legalInterestRate/i18n/sv.ts +143 -0
  124. package/src/tool/legalInterestRate/i18n/tr.ts +143 -0
  125. package/src/tool/legalInterestRate/i18n/zh.ts +143 -0
  126. package/src/tool/legalInterestRate/index.ts +17 -9
  127. package/src/tool/lotteryOptimizer/i18n/de.ts +177 -0
  128. package/src/tool/lotteryOptimizer/i18n/id.ts +177 -0
  129. package/src/tool/lotteryOptimizer/i18n/it.ts +177 -0
  130. package/src/tool/lotteryOptimizer/i18n/ja.ts +177 -0
  131. package/src/tool/lotteryOptimizer/i18n/ko.ts +177 -0
  132. package/src/tool/lotteryOptimizer/i18n/nl.ts +177 -0
  133. package/src/tool/lotteryOptimizer/i18n/pl.ts +177 -0
  134. package/src/tool/lotteryOptimizer/i18n/pt.ts +177 -0
  135. package/src/tool/lotteryOptimizer/i18n/ru.ts +177 -0
  136. package/src/tool/lotteryOptimizer/i18n/sv.ts +177 -0
  137. package/src/tool/lotteryOptimizer/i18n/tr.ts +177 -0
  138. package/src/tool/lotteryOptimizer/i18n/zh.ts +177 -0
  139. package/src/tool/lotteryOptimizer/index.ts +17 -9
  140. package/src/tool/mortgage/i18n/de.ts +223 -0
  141. package/src/tool/mortgage/i18n/id.ts +219 -0
  142. package/src/tool/mortgage/i18n/it.ts +223 -0
  143. package/src/tool/mortgage/i18n/ja.ts +219 -0
  144. package/src/tool/mortgage/i18n/ko.ts +219 -0
  145. package/src/tool/mortgage/i18n/nl.ts +219 -0
  146. package/src/tool/mortgage/i18n/pl.ts +219 -0
  147. package/src/tool/mortgage/i18n/pt.ts +219 -0
  148. package/src/tool/mortgage/i18n/ru.ts +219 -0
  149. package/src/tool/mortgage/i18n/sv.ts +219 -0
  150. package/src/tool/mortgage/i18n/tr.ts +219 -0
  151. package/src/tool/mortgage/i18n/zh.ts +219 -0
  152. package/src/tool/mortgage/index.ts +15 -7
  153. package/src/tool/percentageCalculator/i18n/de.ts +229 -0
  154. package/src/tool/percentageCalculator/i18n/id.ts +229 -0
  155. package/src/tool/percentageCalculator/i18n/it.ts +229 -0
  156. package/src/tool/percentageCalculator/i18n/ja.ts +229 -0
  157. package/src/tool/percentageCalculator/i18n/ko.ts +229 -0
  158. package/src/tool/percentageCalculator/i18n/nl.ts +229 -0
  159. package/src/tool/percentageCalculator/i18n/pl.ts +229 -0
  160. package/src/tool/percentageCalculator/i18n/pt.ts +229 -0
  161. package/src/tool/percentageCalculator/i18n/ru.ts +229 -0
  162. package/src/tool/percentageCalculator/i18n/sv.ts +229 -0
  163. package/src/tool/percentageCalculator/i18n/tr.ts +229 -0
  164. package/src/tool/percentageCalculator/i18n/zh.ts +229 -0
  165. package/src/tool/percentageCalculator/index.ts +15 -7
  166. package/src/tool/rentIncreaseCalculator/i18n/de.ts +136 -0
  167. package/src/tool/rentIncreaseCalculator/i18n/id.ts +136 -0
  168. package/src/tool/rentIncreaseCalculator/i18n/it.ts +136 -0
  169. package/src/tool/rentIncreaseCalculator/i18n/ja.ts +136 -0
  170. package/src/tool/rentIncreaseCalculator/i18n/ko.ts +136 -0
  171. package/src/tool/rentIncreaseCalculator/i18n/nl.ts +136 -0
  172. package/src/tool/rentIncreaseCalculator/i18n/pl.ts +136 -0
  173. package/src/tool/rentIncreaseCalculator/i18n/pt.ts +136 -0
  174. package/src/tool/rentIncreaseCalculator/i18n/ru.ts +136 -0
  175. package/src/tool/rentIncreaseCalculator/i18n/sv.ts +136 -0
  176. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +136 -0
  177. package/src/tool/rentIncreaseCalculator/i18n/zh.ts +136 -0
  178. package/src/tool/rentIncreaseCalculator/index.ts +17 -9
  179. package/src/types.ts +1 -1
@@ -0,0 +1,208 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CompoundInterestUI } from '../ui';
4
+
5
+ const slug = 'juros-compostos';
6
+ const title = 'Calculadora de Juros Compostos: Visualize a sua Riqueza Futura';
7
+ const description =
8
+ 'Descubra como pequenos investimentos se transformam em grandes fortunas. A ferramenta definitiva para planear a sua liberdade financeira e reforma.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'O que são juros compostos?',
13
+ answer:
14
+ 'É o juro calculado sobre o capital inicial e também sobre os juros acumulados de períodos anteriores. Isto gera um crescimento exponencial do investimento ao longo do tempo.',
15
+ },
16
+ {
17
+ question: 'Qual é a diferença para o juro simples?',
18
+ answer:
19
+ 'No juro simples, os juros são calculados apenas sobre o capital inicial. No composto, os juros são reinvestidos, o que significa que "os seus juros geram mais juros".',
20
+ },
21
+ {
22
+ question: 'O que é a "Regra dos 72"?',
23
+ answer:
24
+ 'É uma fórmula rápida para estimar quanto tempo levará para duplicar um investimento: divida 72 pela taxa de rentabilidade anual. Por exemplo, a 8% ao ano, duplicará o seu dinheiro em 9 anos.',
25
+ },
26
+ {
27
+ question: 'Porque é importante começar a investir jovem?',
28
+ answer:
29
+ 'Devido ao efeito exponencial, o fator mais determinante não é a quantidade de dinheiro poupada, mas o tempo. Começar uns anos antes pode resultar numa riqueza final muito maior devido à capitalização.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Introduzir capital inicial',
36
+ text: 'Escreva a quantidade de dinheiro com que vai começar o seu plano de investimento.',
37
+ },
38
+ {
39
+ name: 'Definir contribuições periódicas',
40
+ text: 'Indique quanto dinheiro poupará e investirá mensalmente ou anualmente de forma adicional.',
41
+ },
42
+ {
43
+ name: 'Estimar rentabilidade anual',
44
+ text: 'Introduza a percentagem de lucro anual que espera obter (ex: 7% para o S&P 500 histórico).',
45
+ },
46
+ {
47
+ name: 'Ajustar o horizonte temporal',
48
+ text: 'Escolha quantos anos manterá o investimento para visualizar o crescimento exponencial do seu 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<CompoundInterestUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Perguntas Frequentes',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Fontes e Referências',
93
+ bibliography: [
94
+ {
95
+ name: 'Investopedia: Compound Interest Definition',
96
+ url: 'https://www.investopedia.com/terms/c/compoundinterest.asp',
97
+ },
98
+ {
99
+ name: 'Investopedia: Rule of 72',
100
+ url: 'https://www.investopedia.com/terms/r/ruleof72.asp',
101
+ },
102
+ {
103
+ name: 'Juros compostos - Wikipédia',
104
+ url: 'https://pt.wikipedia.org/wiki/Juros_compostos',
105
+ },
106
+ ],
107
+ howTo: howToData,
108
+ schemas: [faqSchema, howToSchema, appSchema],
109
+ seo: [
110
+ {
111
+ type: 'title',
112
+ text: 'A Magia dos Juros Compostos: Construa a sua Riqueza Exponencialmente',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Albert Einstein chamou-lhes a "oitava maravilha do mundo". Os <strong>juros compostos</strong> são o mecanismo mais poderoso para gerar riqueza a longo prazo. Não precisa de ser um especialista em finanças para os aproveitar: apenas precisa de tempo, paciência e dinheiro investido.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'Juro Simples vs Composto: A Metáfora da Bola de Neve',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: 'Imagine que tem uma bola de neve no topo de uma colina. O <strong>juro simples</strong> é como descer essa bola e ter de lhe adicionar neve manualmente a cada metro para que cresça. O <strong>juro composto</strong> é como deixar a bola rolar sozinha: ela recolhe neve por si mesma e, quanto maior se torna, mais superfície tem para recolher <em>ainda mais</em> neve em cada volta.',
127
+ },
128
+ {
129
+ type: 'comparative',
130
+ columns: 2,
131
+ items: [
132
+ {
133
+ title: 'Juro Simples',
134
+ description: 'Os juros são calculados sempre apenas sobre o capital inicial.',
135
+ points: [
136
+ 'Fórmula: Capital × Taxa × Tempo',
137
+ 'Crescimento linear e previsível',
138
+ 'Utilizado em empréstimos de curto prazo',
139
+ 'Sem reinvestimento de lucros',
140
+ ],
141
+ },
142
+ {
143
+ title: 'Juro Composto',
144
+ description: 'Os juros somam-se ao capital e geram novos juros.',
145
+ highlight: true,
146
+ points: [
147
+ 'Fórmula: Capital × (1 + Taxa)^Tempo',
148
+ 'Crescimento exponencial acelerado',
149
+ 'Base de qualquer investimento a longo prazo',
150
+ 'Os seus lucros geram mais lucros',
151
+ ],
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ type: 'paragraph',
157
+ html: 'Matematicamente, os seus lucros geram novos lucros. Nos primeiros anos parece lento, mas passado o "ponto de viragem", a curva dispara verticalmente. Aqui é onde se criam as verdadeiras fortunas.',
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: 'Porque é que o tempo é o seu maior aliado?',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: 'O fator mais determinante não é a quantidade de dinheiro que investe, mas <strong>quantos anos deixa que cresça</strong>. Começar 10 anos antes pode resultar numa riqueza final 2 ou 3 vezes maior, mesmo que invista menos dinheiro total. Este efeito exponencial é a razão pela qual os jovens investidores têm uma vantagem incomparável.',
167
+ },
168
+ {
169
+ type: 'tip',
170
+ title: 'A Regra dos 72',
171
+ html: '<p>Divida 72 pela sua rentabilidade anual para saber quantos anos levará para <strong>duplicar o seu dinheiro</strong>.</p><p><em>Exemplo: A 8%, duplica a cada 9 anos (72/8 = 9).</em></p><p>Esta fórmula mágica funciona para qualquer taxa de rendimento e ajuda-o a estimar rapidamente o crescimento dos seus investimentos.',
172
+ },
173
+ {
174
+ type: 'tip',
175
+ title: 'Conselho 2026',
176
+ html: '<p>A inflação continua a ser um fator. Certifique-se de que a sua rentabilidade líquida supera pelo menos os 2-3% anuais para não perder poder de compra. Invista em ativos que cresçam mais depressa do que a inflação.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'Frequência de Capitalização: É importante?',
181
+ level: 3,
182
+ },
183
+ {
184
+ type: 'paragraph',
185
+ html: 'O juro pode capitalizar-se anualmente, semestralmente, trimestralmente, mensalmente ou até diariamente. Quanto <strong>mais frequente for a capitalização</strong>, maior será o efeito composto. Um mesmo capital com a mesma taxa crescerá mais se o juro se compuser mensalmente do que se se compuser anualmente.',
186
+ },
187
+ ],
188
+ ui: {
189
+ labelTitle: 'Simulador de Investimento',
190
+ labelRealtime: 'Tempo real',
191
+ labelInitial: 'Contribuição Inicial',
192
+ labelMonthly: 'Contribuição Mensal',
193
+ labelRate: 'Taxa Anual',
194
+ labelYears: 'Anos',
195
+ labelMyMoney: 'O seu Dinheiro',
196
+ labelProfit: 'Lucro (Juros)',
197
+ labelTotal: 'Total Acumulado',
198
+ labelYear: 'Ano',
199
+ labelPrincipal: 'O seu Dinheiro (Principal)',
200
+ labelInterest: 'Juros Gerados',
201
+ insightPrefix: '[TIP] No ano ',
202
+ insightSuffix:
203
+ ', os seus juros gerados anuais superarão as suas contribuições. O dinheiro já trabalha mais do que você!',
204
+ currencySymbol: '€',
205
+ currencyCode: 'EUR',
206
+ currencyLocale: 'pt-PT',
207
+ },
208
+ };
@@ -0,0 +1,208 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CompoundInterestUI } from '../ui';
4
+
5
+ const slug = 'slozhniy-protsent';
6
+ const title = 'Калькулятор сложного процента: визуализируйте свое будущее богатство';
7
+ const description =
8
+ 'Узнайте, как небольшие инвестиции превращаются в огромные состояния. Лучший инструмент для планирования вашей финансовой свободы и пенсии.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Что такое сложный процент?',
13
+ answer:
14
+ 'Это проценты, начисляемые на начальный капитал, а также на накопленные проценты за предыдущие периоды. Это создает экспоненциальный рост инвестиций с течением времени.',
15
+ },
16
+ {
17
+ question: 'В чем разница с простым процентом?',
18
+ answer:
19
+ 'В простом проценте доход рассчитывается только на начальный капитал. В сложном проценте доход реинвестируется, что означает: «ваши проценты приносят новые проценты».',
20
+ },
21
+ {
22
+ question: 'Что такое «Правило 72»?',
23
+ answer:
24
+ 'Это быстрая формула для оценки того, сколько времени потребуется для удвоения инвестиций: разделите 72 на годовую доходность. Например, при 8% годовых вы удвоите свои деньги через 9 лет.',
25
+ },
26
+ {
27
+ question: 'Почему важно начинать инвестировать рано?',
28
+ answer:
29
+ 'Из-за экспоненциального эффекта самым важным фактором является не сумма сбережений, а время. Начало инвестирования на несколько лет раньше может привести к гораздо большему итоговому состоянию благодаря капитализации.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Введите начальный капитал',
36
+ text: 'Укажите сумму денег, с которой вы начнете свой инвестиционный план.',
37
+ },
38
+ {
39
+ name: 'Определите регулярные взносы',
40
+ text: 'Укажите, сколько денег вы будете дополнительно откладывать и инвестировать каждый месяц или каждый год.',
41
+ },
42
+ {
43
+ name: 'Оцените годовую доходность',
44
+ text: 'Введите ожидаемый процент годовой прибыли (например, 7% для исторического индекса S&P 500).',
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<CompoundInterestUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Часто задаваемые вопросы',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Источники и ссылки',
93
+ bibliography: [
94
+ {
95
+ name: 'Investopedia: Compound Interest Definition',
96
+ url: 'https://www.investopedia.com/terms/c/compoundinterest.asp',
97
+ },
98
+ {
99
+ name: 'Investopedia: Rule of 72',
100
+ url: 'https://www.investopedia.com/terms/r/ruleof72.asp',
101
+ },
102
+ {
103
+ name: 'Сложный процент — Википедия',
104
+ url: 'https://ru.wikipedia.org/wiki/Сложный_процент',
105
+ },
106
+ ],
107
+ howTo: howToData,
108
+ schemas: [faqSchema, howToSchema, appSchema],
109
+ seo: [
110
+ {
111
+ type: 'title',
112
+ text: 'Магия сложного процента: стройте свое богатство экспоненциально',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Альберт Эйнштейн назвал это «восьмым чудом света». <strong>Сложный процент</strong> — это самый мощный механизм для создания долгосрочного богатства. Вам не нужно быть экспертом в финансах, чтобы воспользоваться им: вам просто нужны время, терпение и инвестированные деньги.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'Простой процент против Сложного: метафора снежного кома',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: 'Представьте, что у вас есть снежный ком на вершине холма. <strong>Простой процент</strong> — это как спускать этот ком и вручную добавлять снег на каждом метре, чтобы он рос. <strong>Сложный процент</strong> — это как позволить кому катиться самому: он сам собирает снег, и чем больше он становится, тем больше у него поверхность, чтобы собирать <em>еще больше</em> снега на каждом обороте.',
127
+ },
128
+ {
129
+ type: 'comparative',
130
+ columns: 2,
131
+ items: [
132
+ {
133
+ title: 'Простой процент',
134
+ description: 'Доход всегда рассчитывается только на начальный капитал.',
135
+ points: [
136
+ 'Формула: Капитал × Ставка × Время',
137
+ 'Линейный и предсказуемый рост',
138
+ 'Используется в краткосрочных займах',
139
+ 'Без реинвестирования прибыли',
140
+ ],
141
+ },
142
+ {
143
+ title: 'Сложный процент',
144
+ description: 'Доход прибавляется к капиталу и приносит новые проценты.',
145
+ highlight: true,
146
+ points: [
147
+ 'Формула: Капитал × (1 + Ставка)^Время',
148
+ 'Ускоренный экспоненциальный рост',
149
+ 'Основа любых долгосрочных инвестиций',
150
+ 'Ваша прибыль приносит новую прибыль',
151
+ ],
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ type: 'paragraph',
157
+ html: 'Математически ваша прибыль порождает новую прибыль. В первые годы это кажется медленным, но после прохождения «точки перегиба» кривая резко взлетает вверх. Именно здесь создаются настоящие состояния.',
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: 'Почему время — ваш главный союзник?',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: 'Самым решающим фактором является не сумма денег, которую вы инвестируете, а <strong>то, на сколько лет вы оставляете их расти</strong>. Начало на 10 лет раньше может привести к итоговому богатству в 2 или 3 раза большему, даже если вы вложите меньше денег в общей сложности. Этот экспоненциальный эффект — причина, по которой молодые инвесторы имеют непревзойденное преимущество.',
167
+ },
168
+ {
169
+ type: 'tip',
170
+ title: 'Правило 72',
171
+ html: '<p>Разделите 72 на вашу годовую доходность, чтобы узнать, через сколько лет <strong>ваши деньги удвоятся</strong>.</p><p><em>Пример: При 8% вы удваиваете капитал каждые 9 лет (72/8 = 9).</em></p><p>Эта магическая формула работает для любой ставки доходности и помогает быстро оценить рост ваших инвестиций.',
172
+ },
173
+ {
174
+ type: 'tip',
175
+ title: 'Совет 2026',
176
+ html: '<p>Инфляция остается важным фактором. Убедитесь, что ваша чистая доходность превышает хотя бы 2-3% в год, чтобы не терять покупательную способность. Инвестируйте в активы, которые растут быстрее инфляции.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'Частота капитализации: это важно?',
181
+ level: 3,
182
+ },
183
+ {
184
+ type: 'paragraph',
185
+ html: 'Процент может капитализироваться ежегодно, раз в полгода, ежеквартально, ежемесячно или даже ежедневно. Чем <strong>чаще происходит капитализация</strong>, тем больше эффект сложного процента. Один и тот же капитал с той же ставкой вырастет больше, если начисление процентов происходит ежемесячно, а не ежегодно.',
186
+ },
187
+ ],
188
+ ui: {
189
+ labelTitle: 'Симулятор инвестиций',
190
+ labelRealtime: 'Реальное время',
191
+ labelInitial: 'Начальный взнос',
192
+ labelMonthly: 'Ежемесячный взнос',
193
+ labelRate: 'Годовая ставка',
194
+ labelYears: 'Лет',
195
+ labelMyMoney: 'Ваши деньги',
196
+ labelProfit: 'Прибыль (Проценты)',
197
+ labelTotal: 'Итого накоплено',
198
+ labelYear: 'Год',
199
+ labelPrincipal: 'Ваши деньги (Тело)',
200
+ labelInterest: 'Начисленные проценты',
201
+ insightPrefix: '[СОВЕТ] В ',
202
+ insightSuffix:
203
+ ' году ваши ежегодные начисленные проценты превысят ваши взносы. Деньги уже работают усерднее, чем вы!',
204
+ currencySymbol: '₽',
205
+ currencyCode: 'RUB',
206
+ currencyLocale: 'ru-RU',
207
+ },
208
+ };
@@ -0,0 +1,208 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CompoundInterestUI } from '../ui';
4
+
5
+ const slug = 'ranta-pa-ranta-kalkylator';
6
+ const title = 'Ränta på ränta Kalkylator: Visualisera din framtida rikedom';
7
+ const description =
8
+ 'Upptäck hur små investeringar förvandlas till stora förmögenheter. Det ultimata verktyget för att planera din finansiella frihet och pension.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Vad är ränta på ränta?',
13
+ answer:
14
+ 'Det är ränta som beräknas på det ursprungliga kapitalet och även på den ackumulerade räntan från tidigare perioder. Detta genererar en exponentiell tillväxt av investeringen över tid.',
15
+ },
16
+ {
17
+ question: 'Vad är skillnaden mot enkel ränta?',
18
+ answer:
19
+ 'Vid enkel ränta beräknas räntan endast på det ursprungliga kapitalet. Vid ränta på ränta återinvesteras räntan, vilket innebär att "din ränta genererar mer ränta".',
20
+ },
21
+ {
22
+ question: 'Vad är "72-regeln"?',
23
+ answer:
24
+ 'Det är en snabb formel för att uppskatta hur lång tid det tar för en investering att fördubblas: dela 72 med den årliga avkastningen. Till exempel, vid 8 % per år fördubblar du dina pengar på 9 år.',
25
+ },
26
+ {
27
+ question: 'Varför är det viktigt att börja investera tidigt?',
28
+ answer:
29
+ 'På grund av den exponentiella effekten är den mest avgörande faktorn inte mängden sparade pengar, utan tiden. Att börja några år tidigare kan resultera i en mycket större slutlig rikedom på grund av kapitaliseringen.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Ange startkapital',
36
+ text: 'Skriv in den summa pengar som du ska börja din investeringsplan med.',
37
+ },
38
+ {
39
+ name: 'Definiera regelbundna insättningar',
40
+ text: 'Ange hur mycket pengar du dessutom kommer att spara och investera varje månad eller varje år.',
41
+ },
42
+ {
43
+ name: 'Uppskatta årlig avkastning',
44
+ text: 'Ange den procentuella årliga vinst som du förväntar dig att få (t.ex. 7 % för historiska S&P 500).',
45
+ },
46
+ {
47
+ name: 'Justera tidshorisonten',
48
+ text: 'Välj hur många år du ska behålla investeringen för att visualisera den exponentiella tillväxten av ditt kapital.',
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: 'SEK' },
83
+ inLanguage: 'sv',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<CompoundInterestUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Vanliga frågor',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Källor och referenser',
93
+ bibliography: [
94
+ {
95
+ name: 'Investopedia: Compound Interest Definition',
96
+ url: 'https://www.investopedia.com/terms/c/compoundinterest.asp',
97
+ },
98
+ {
99
+ name: 'Investopedia: Rule of 72',
100
+ url: 'https://www.investopedia.com/terms/r/ruleof72.asp',
101
+ },
102
+ {
103
+ name: 'Ränta på ränta - Wikipedia',
104
+ url: 'https://sv.wikipedia.org/wiki/Ränta_på_ränta',
105
+ },
106
+ ],
107
+ howTo: howToData,
108
+ schemas: [faqSchema, howToSchema, appSchema],
109
+ seo: [
110
+ {
111
+ type: 'title',
112
+ text: 'Magin med ränta på ränta: Bygg din rikedom exponentiellt',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Albert Einstein kallade det för "världens åttonde underverk". <strong>Ränta på ränta</strong> är den mest kraftfulla mekanismen för att generera rikedom på lång sikt. Du behöver inte vara finansexpert för att dra nytta av det: du behöver bara tid, tålamod och investerade pengar.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'Enkel ränta vs Ränta på ränta: Snöbollsmetaforen',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: 'Föreställ dig att du har en snöboll högst upp på en kulle. <strong>Enkel ränta</strong> är som att rulla ner den bollen och behöva lägga till snö manuellt varje meter för att den ska växa. <strong>Ränta på ränta</strong> är som att låta bollen rulla själv: den samlar snö på egen hand, och ju större den blir, desto mer yta har den för att samla upp <em>ännu mer</em> snö vid varje varv.',
127
+ },
128
+ {
129
+ type: 'comparative',
130
+ columns: 2,
131
+ items: [
132
+ {
133
+ title: 'Enkel ränta',
134
+ description: 'Räntan beräknas alltid endast på det ursprungliga kapitalet.',
135
+ points: [
136
+ 'Formel: Kapital × Räntesats × Tid',
137
+ 'Linjär och förutsägbar tillväxt',
138
+ 'Används i kortfristiga lån',
139
+ 'Ingen återinvestering av vinster',
140
+ ],
141
+ },
142
+ {
143
+ title: 'Ränta på ränta',
144
+ description: 'Räntan läggs till kapitalet och genererar ny ränta.',
145
+ highlight: true,
146
+ points: [
147
+ 'Formel: Kapital × (1 + Räntesats)^Tid',
148
+ 'Accelererad exponentiell tillväxt',
149
+ 'Basen för all långsiktig investering',
150
+ 'Dina vinster genererar mer vinst',
151
+ ],
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ type: 'paragraph',
157
+ html: 'Matematiskt genererar dina vinster nya vinster. Under de första åren verkar det långsamt, men efter "brytpunkten" skjuter kurvan i höjden vertikalt. Det är här de verkliga förmögenheterna skapas.',
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: 'Varför är tiden din bästa vän?',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: 'Den mest avgörande faktorn är inte mängden pengar du investerar, utan <strong>hur många år du låter dem växa</strong>. Att börja 10 år tidigare kan resultera i en slutlig rikedom som är 2 eller 3 gånger större, även om du investerar mindre pengar totalt sett. Denna exponentiella effekt är anledningen till att unga investerare har en ojämförlig fördel.',
167
+ },
168
+ {
169
+ type: 'tip',
170
+ title: '72 regeln',
171
+ html: '<p>Dela 72 med din årliga avkastning för att veta hur många år det tar att <strong>fördubbla dina pengar</strong>.</p><p><em>Exempel: Vid 8 % fördubblar du vart nionde år (72/8 = 9).</em></p><p>Denna magiska formel fungerar för alla avkastningsnivåer och hjälper dig att snabbt uppskatta tillväxten i dina investeringar.',
172
+ },
173
+ {
174
+ type: 'tip',
175
+ title: 'Råd föt 2026',
176
+ html: '<p>Inflationen är fortfarande en faktor. Se till att din nettoavkastning överstiger minst 2-3 % per år för att inte förlora köpkraft. Investera i tillgångar som växer snabbare än inflationen.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'Kapitaliseringsfrekvens: Spelar det roll?',
181
+ level: 3,
182
+ },
183
+ {
184
+ type: 'paragraph',
185
+ html: 'Räntan kan kapitaliseras årligen, halvårsvis, kvartalsvis, månadsvis eller till och med dagligen. Ju <strong>oftare kapitaliseringen sker</strong>, desto större blir ränta på ränta-effekten. Samma kapital med samma räntesats växer mer om räntan beräknas månadsvis än om den beräknas årligen.',
186
+ },
187
+ ],
188
+ ui: {
189
+ labelTitle: 'Investeringssimulator',
190
+ labelRealtime: 'Realtid',
191
+ labelInitial: 'Första insättning',
192
+ labelMonthly: 'Månadssparande',
193
+ labelRate: 'Årlig avk.',
194
+ labelYears: 'Antal år',
195
+ labelMyMoney: 'Dina pengar',
196
+ labelProfit: 'Vinst (Ränta)',
197
+ labelTotal: 'Totalt ackumulerat',
198
+ labelYear: 'År',
199
+ labelPrincipal: 'Dina pengar (Kapital)',
200
+ labelInterest: 'Genererad ränta',
201
+ insightPrefix: '[TIP] Under år ',
202
+ insightSuffix:
203
+ ', kommer din årliga genererade ränta att överstiga dina insättningar. Pengarna jobbar nu hårdare än du!',
204
+ currencySymbol: 'kr',
205
+ currencyCode: 'SEK',
206
+ currencyLocale: 'sv-SE',
207
+ },
208
+ };