@jjlmoya/utils-finance 1.3.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/package.json +2 -1
  2. package/src/tests/faq_count.test.ts +1 -1
  3. package/src/tests/i18n_coverage.test.ts +36 -0
  4. package/src/tests/locale_completeness.test.ts +3 -0
  5. package/src/tests/slug_uniqueness.test.ts +81 -0
  6. package/src/tests/title_quality.test.ts +1 -1
  7. package/src/tool/compoundInterest/i18n/de.ts +208 -0
  8. package/src/tool/compoundInterest/i18n/id.ts +208 -0
  9. package/src/tool/compoundInterest/i18n/it.ts +208 -0
  10. package/src/tool/compoundInterest/i18n/ja.ts +207 -0
  11. package/src/tool/compoundInterest/i18n/ko.ts +207 -0
  12. package/src/tool/compoundInterest/i18n/nl.ts +208 -0
  13. package/src/tool/compoundInterest/i18n/pl.ts +208 -0
  14. package/src/tool/compoundInterest/i18n/pt.ts +208 -0
  15. package/src/tool/compoundInterest/i18n/ru.ts +208 -0
  16. package/src/tool/compoundInterest/i18n/sv.ts +208 -0
  17. package/src/tool/compoundInterest/i18n/tr.ts +208 -0
  18. package/src/tool/compoundInterest/i18n/zh.ts +202 -0
  19. package/src/tool/compoundInterest/index.ts +15 -7
  20. package/src/tool/courtFeeCalculator/i18n/de.ts +152 -0
  21. package/src/tool/courtFeeCalculator/i18n/fr.ts +1 -1
  22. package/src/tool/courtFeeCalculator/i18n/id.ts +152 -0
  23. package/src/tool/courtFeeCalculator/i18n/it.ts +152 -0
  24. package/src/tool/courtFeeCalculator/i18n/ja.ts +152 -0
  25. package/src/tool/courtFeeCalculator/i18n/ko.ts +152 -0
  26. package/src/tool/courtFeeCalculator/i18n/nl.ts +152 -0
  27. package/src/tool/courtFeeCalculator/i18n/pl.ts +152 -0
  28. package/src/tool/courtFeeCalculator/i18n/pt.ts +152 -0
  29. package/src/tool/courtFeeCalculator/i18n/ru.ts +152 -0
  30. package/src/tool/courtFeeCalculator/i18n/sv.ts +152 -0
  31. package/src/tool/courtFeeCalculator/i18n/tr.ts +152 -0
  32. package/src/tool/courtFeeCalculator/i18n/zh.ts +152 -0
  33. package/src/tool/courtFeeCalculator/index.ts +16 -8
  34. package/src/tool/debtSnowball/i18n/de.ts +160 -0
  35. package/src/tool/debtSnowball/i18n/id.ts +160 -0
  36. package/src/tool/debtSnowball/i18n/it.ts +160 -0
  37. package/src/tool/debtSnowball/i18n/ja.ts +157 -0
  38. package/src/tool/debtSnowball/i18n/ko.ts +160 -0
  39. package/src/tool/debtSnowball/i18n/nl.ts +160 -0
  40. package/src/tool/debtSnowball/i18n/pl.ts +160 -0
  41. package/src/tool/debtSnowball/i18n/pt.ts +160 -0
  42. package/src/tool/debtSnowball/i18n/ru.ts +160 -0
  43. package/src/tool/debtSnowball/i18n/sv.ts +160 -0
  44. package/src/tool/debtSnowball/i18n/tr.ts +160 -0
  45. package/src/tool/debtSnowball/i18n/zh.ts +160 -0
  46. package/src/tool/debtSnowball/index.ts +17 -9
  47. package/src/tool/fireCalculator/component.astro +12 -3
  48. package/src/tool/fireCalculator/i18n/de.ts +261 -0
  49. package/src/tool/fireCalculator/i18n/en.ts +5 -5
  50. package/src/tool/fireCalculator/i18n/es.ts +2 -2
  51. package/src/tool/fireCalculator/i18n/fr.ts +5 -5
  52. package/src/tool/fireCalculator/i18n/id.ts +261 -0
  53. package/src/tool/fireCalculator/i18n/it.ts +261 -0
  54. package/src/tool/fireCalculator/i18n/ja.ts +261 -0
  55. package/src/tool/fireCalculator/i18n/ko.ts +261 -0
  56. package/src/tool/fireCalculator/i18n/nl.ts +261 -0
  57. package/src/tool/fireCalculator/i18n/pl.ts +261 -0
  58. package/src/tool/fireCalculator/i18n/pt.ts +261 -0
  59. package/src/tool/fireCalculator/i18n/ru.ts +261 -0
  60. package/src/tool/fireCalculator/i18n/sv.ts +261 -0
  61. package/src/tool/fireCalculator/i18n/tr.ts +261 -0
  62. package/src/tool/fireCalculator/i18n/zh.ts +261 -0
  63. package/src/tool/fireCalculator/index.ts +15 -7
  64. package/src/tool/ibanBicSwiftConverter/i18n/de.ts +128 -0
  65. package/src/tool/ibanBicSwiftConverter/i18n/id.ts +128 -0
  66. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +128 -0
  67. package/src/tool/ibanBicSwiftConverter/i18n/ja.ts +128 -0
  68. package/src/tool/ibanBicSwiftConverter/i18n/ko.ts +128 -0
  69. package/src/tool/ibanBicSwiftConverter/i18n/nl.ts +128 -0
  70. package/src/tool/ibanBicSwiftConverter/i18n/pl.ts +128 -0
  71. package/src/tool/ibanBicSwiftConverter/i18n/pt.ts +128 -0
  72. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +128 -0
  73. package/src/tool/ibanBicSwiftConverter/i18n/sv.ts +128 -0
  74. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +128 -0
  75. package/src/tool/ibanBicSwiftConverter/i18n/zh.ts +128 -0
  76. package/src/tool/ibanBicSwiftConverter/index.ts +15 -7
  77. package/src/tool/inflation/i18n/de.ts +297 -0
  78. package/src/tool/inflation/i18n/id.ts +297 -0
  79. package/src/tool/inflation/i18n/it.ts +297 -0
  80. package/src/tool/inflation/i18n/ja.ts +297 -0
  81. package/src/tool/inflation/i18n/ko.ts +297 -0
  82. package/src/tool/inflation/i18n/nl.ts +297 -0
  83. package/src/tool/inflation/i18n/pl.ts +297 -0
  84. package/src/tool/inflation/i18n/pt.ts +297 -0
  85. package/src/tool/inflation/i18n/ru.ts +297 -0
  86. package/src/tool/inflation/i18n/sv.ts +297 -0
  87. package/src/tool/inflation/i18n/tr.ts +297 -0
  88. package/src/tool/inflation/i18n/zh.ts +297 -0
  89. package/src/tool/inflation/index.ts +17 -9
  90. package/src/tool/lateInterest/i18n/de.ts +224 -0
  91. package/src/tool/lateInterest/i18n/id.ts +224 -0
  92. package/src/tool/lateInterest/i18n/it.ts +224 -0
  93. package/src/tool/lateInterest/i18n/ja.ts +224 -0
  94. package/src/tool/lateInterest/i18n/ko.ts +224 -0
  95. package/src/tool/lateInterest/i18n/nl.ts +224 -0
  96. package/src/tool/lateInterest/i18n/pl.ts +224 -0
  97. package/src/tool/lateInterest/i18n/pt.ts +224 -0
  98. package/src/tool/lateInterest/i18n/ru.ts +224 -0
  99. package/src/tool/lateInterest/i18n/sv.ts +224 -0
  100. package/src/tool/lateInterest/i18n/tr.ts +224 -0
  101. package/src/tool/lateInterest/i18n/zh.ts +224 -0
  102. package/src/tool/lateInterest/index.ts +17 -9
  103. package/src/tool/legalInterestRate/i18n/de.ts +143 -0
  104. package/src/tool/legalInterestRate/i18n/id.ts +143 -0
  105. package/src/tool/legalInterestRate/i18n/it.ts +143 -0
  106. package/src/tool/legalInterestRate/i18n/ja.ts +143 -0
  107. package/src/tool/legalInterestRate/i18n/ko.ts +143 -0
  108. package/src/tool/legalInterestRate/i18n/nl.ts +143 -0
  109. package/src/tool/legalInterestRate/i18n/pl.ts +143 -0
  110. package/src/tool/legalInterestRate/i18n/pt.ts +143 -0
  111. package/src/tool/legalInterestRate/i18n/ru.ts +143 -0
  112. package/src/tool/legalInterestRate/i18n/sv.ts +143 -0
  113. package/src/tool/legalInterestRate/i18n/tr.ts +143 -0
  114. package/src/tool/legalInterestRate/i18n/zh.ts +143 -0
  115. package/src/tool/legalInterestRate/index.ts +17 -9
  116. package/src/tool/lotteryOptimizer/i18n/de.ts +177 -0
  117. package/src/tool/lotteryOptimizer/i18n/id.ts +177 -0
  118. package/src/tool/lotteryOptimizer/i18n/it.ts +177 -0
  119. package/src/tool/lotteryOptimizer/i18n/ja.ts +177 -0
  120. package/src/tool/lotteryOptimizer/i18n/ko.ts +177 -0
  121. package/src/tool/lotteryOptimizer/i18n/nl.ts +177 -0
  122. package/src/tool/lotteryOptimizer/i18n/pl.ts +177 -0
  123. package/src/tool/lotteryOptimizer/i18n/pt.ts +177 -0
  124. package/src/tool/lotteryOptimizer/i18n/ru.ts +177 -0
  125. package/src/tool/lotteryOptimizer/i18n/sv.ts +177 -0
  126. package/src/tool/lotteryOptimizer/i18n/tr.ts +177 -0
  127. package/src/tool/lotteryOptimizer/i18n/zh.ts +177 -0
  128. package/src/tool/lotteryOptimizer/index.ts +17 -9
  129. package/src/tool/mortgage/i18n/de.ts +223 -0
  130. package/src/tool/mortgage/i18n/id.ts +219 -0
  131. package/src/tool/mortgage/i18n/it.ts +223 -0
  132. package/src/tool/mortgage/i18n/ja.ts +219 -0
  133. package/src/tool/mortgage/i18n/ko.ts +219 -0
  134. package/src/tool/mortgage/i18n/nl.ts +219 -0
  135. package/src/tool/mortgage/i18n/pl.ts +219 -0
  136. package/src/tool/mortgage/i18n/pt.ts +219 -0
  137. package/src/tool/mortgage/i18n/ru.ts +219 -0
  138. package/src/tool/mortgage/i18n/sv.ts +219 -0
  139. package/src/tool/mortgage/i18n/tr.ts +219 -0
  140. package/src/tool/mortgage/i18n/zh.ts +219 -0
  141. package/src/tool/mortgage/index.ts +15 -7
  142. package/src/tool/percentageCalculator/i18n/de.ts +229 -0
  143. package/src/tool/percentageCalculator/i18n/id.ts +229 -0
  144. package/src/tool/percentageCalculator/i18n/it.ts +229 -0
  145. package/src/tool/percentageCalculator/i18n/ja.ts +229 -0
  146. package/src/tool/percentageCalculator/i18n/ko.ts +229 -0
  147. package/src/tool/percentageCalculator/i18n/nl.ts +229 -0
  148. package/src/tool/percentageCalculator/i18n/pl.ts +229 -0
  149. package/src/tool/percentageCalculator/i18n/pt.ts +229 -0
  150. package/src/tool/percentageCalculator/i18n/ru.ts +229 -0
  151. package/src/tool/percentageCalculator/i18n/sv.ts +229 -0
  152. package/src/tool/percentageCalculator/i18n/tr.ts +229 -0
  153. package/src/tool/percentageCalculator/i18n/zh.ts +229 -0
  154. package/src/tool/percentageCalculator/index.ts +15 -7
  155. package/src/tool/rentIncreaseCalculator/i18n/de.ts +136 -0
  156. package/src/tool/rentIncreaseCalculator/i18n/id.ts +136 -0
  157. package/src/tool/rentIncreaseCalculator/i18n/it.ts +136 -0
  158. package/src/tool/rentIncreaseCalculator/i18n/ja.ts +136 -0
  159. package/src/tool/rentIncreaseCalculator/i18n/ko.ts +136 -0
  160. package/src/tool/rentIncreaseCalculator/i18n/nl.ts +136 -0
  161. package/src/tool/rentIncreaseCalculator/i18n/pl.ts +136 -0
  162. package/src/tool/rentIncreaseCalculator/i18n/pt.ts +136 -0
  163. package/src/tool/rentIncreaseCalculator/i18n/ru.ts +136 -0
  164. package/src/tool/rentIncreaseCalculator/i18n/sv.ts +136 -0
  165. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +136 -0
  166. package/src/tool/rentIncreaseCalculator/i18n/zh.ts +136 -0
  167. package/src/tool/rentIncreaseCalculator/index.ts +17 -9
  168. 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 = '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
+ };
@@ -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 = 'bilesik-faiz-hesaplama';
6
+ const title = 'Bileşik Faiz Hesaplayıcı: Gelecekteki Birikiminizi Görselleştirin';
7
+ const description =
8
+ 'Küçük yatırımların nasıl büyük servetlere dönüştüğünü keşfedin. Finansal özgürlüğünüzü ve emekliliğinizi planlamak için nihai araç.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Bileşik faiz nedir?',
13
+ answer:
14
+ 'Hem ana para hem de önceki dönemlerden biriken faiz üzerinden hesaplanan faizdir. Bu, zamanla yatırımın katlanarak büyümesini sağlar.',
15
+ },
16
+ {
17
+ question: 'Basit faizden farkı nedir?',
18
+ answer:
19
+ 'Basit faizde, faiz sadece ana para üzerinden hesaplanır. Bileşikte ise faizler tekrar yatırıma eklenir, bu da „faizinizin faiz getirmesi” anlamına gelir.',
20
+ },
21
+ {
22
+ question: '„72 Kuralı” nedir?',
23
+ answer:
24
+ 'Bir yatırımın ne kadar sürede ikiye katlanacağını tahmin etmek için kullanılan hızlı bir formüldür: 72’yi yıllık getiri oranına bölün. Örneğin, yıllık %8 faizle paranızı 9 yılda ikiye katlarsınız.',
25
+ },
26
+ {
27
+ question: 'Neden erken yaşta yatırım yapmaya başlamak önemlidir?',
28
+ answer:
29
+ 'Üstel etki nedeniyle, en belirleyici faktör biriktirilen para miktarı değil, zamandır. Birkaç yıl erken başlamak, anaparalaşma sayesinde çok daha büyük bir nihai servetle sonuçlanabilir.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Ana parayı girin',
36
+ text: 'Yatırım planınıza başlayacağınız para miktarını yazın.',
37
+ },
38
+ {
39
+ name: 'Düzenli katkıları belirleyin',
40
+ text: 'Ek olarak her ay veya her yıl ne kadar para biriktirip yatıracağınızı belirtin.',
41
+ },
42
+ {
43
+ name: 'Yıllık getiriyi tahmin edin',
44
+ text: 'Beklediğiniz yıllık kâr yüzdesini girin (örneğin: tarihsel S&P 500 için %7).',
45
+ },
46
+ {
47
+ name: 'Zaman dilimini ayarlayın',
48
+ text: 'Ana paranızın üstel büyümesini görmek için yatırımı kaç yıl sürdüreceğinizi seçin.',
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: 'TRY' },
83
+ inLanguage: 'tr',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<CompoundInterestUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Sıkça Sorulan Sorular',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Kaynaklar ve Referanslar',
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: 'Bileşik Faiz - Vikipedi',
104
+ url: 'https://tr.wikipedia.org/wiki/Bileşik_faiz',
105
+ },
106
+ ],
107
+ howTo: howToData,
108
+ schemas: [faqSchema, howToSchema, appSchema],
109
+ seo: [
110
+ {
111
+ type: 'title',
112
+ text: 'Bileşik Faizin Büyüsü: Servetinizi Üstel Olarak İnşa Edin',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Albert Einstein ona „dünyanın sekizinci harikası” demiştir. <strong>Bileşik faiz</strong>, uzun vadede servet yaratmak için en güçlü mekanizmadır. Bundan yararlanmak için finans uzmanı olmanıza gerek yok: sadece zaman, sabır ve yatırılan paraya ihtiyacınız var.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'Basit Faiz vs Bileşik Faiz: Kar Topu Metaforu',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: 'Bir tepenin tepesinde bir kar topunuz olduğunu hayal edin. <strong>Basit faiz</strong>, o topu aşağı yuvarlamak ve büyümesi için her metrede elle kar eklemek gibidir. <strong>Bileşik faiz</strong> ise topun kendi kendine yuvarlanmasına izin vermek gibidir: kendi başına kar toplar ve büyüdükçe her dönüşte <em>daha da fazla</em> kar toplamak için daha fazla yüzeye sahip olur.',
127
+ },
128
+ {
129
+ type: 'comparative',
130
+ columns: 2,
131
+ items: [
132
+ {
133
+ title: 'Basit Faiz',
134
+ description: 'Faiz her zaman sadece başlangıç ana parası üzerinden hesaplanır.',
135
+ points: [
136
+ 'Formül: Ana Para × Oran × Zaman',
137
+ 'Doğrusal ve öngörülebilir büyüme',
138
+ 'Kısa vadeli kredilerde kullanılır',
139
+ 'Kârın yeniden yatırımı yoktur',
140
+ ],
141
+ },
142
+ {
143
+ title: 'Bileşik Faiz',
144
+ description: 'Faiz ana paraya eklenir ve yeni faiz getirir.',
145
+ highlight: true,
146
+ points: [
147
+ 'Formül: Ana Para × (1 + Oran)^Zaman',
148
+ 'Hızlandırılmış üstel büyüme',
149
+ 'Tüm uzun vadeli yatırımların temelidir',
150
+ 'Kârınız daha fazla kâr getirir',
151
+ ],
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ type: 'paragraph',
157
+ html: 'Matematiksel olarak, kârınız yeni kârlar doğurur. İlk yıllarda yavaş görünür ama „kırılma noktasından” sonra eğri dikey olarak yükselir. Gerçek servetler burada yaratılır.',
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: 'Zaman neden en büyük müttefikinizdir?',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: 'En belirleyici faktör ne kadar para yatırdığınız değil, <strong>kaç yıl büyümesine izin verdiğinizdir</strong>. 10 yıl erken başlamak, toplamda daha az para yatırsanız bile, 2 veya 3 kat daha fazla nihai servetle sonuçlanabilir. Bu üstel etki, genç yatırımcıların rakipsiz bir avantaja sahip olmasının nedenidir.',
167
+ },
168
+ {
169
+ type: 'tip',
170
+ title: '72 Kuralı',
171
+ html: '<p>Paranızın <strong>ikiye katlanmasının</strong> kaç yıl süreceğini öğrenmek için 72’yi yıllık getiri oranınıza bölün.</p><p><em>Örnek: %8 ile her 9 yılda bir ikiye katlanır (72/8 = 9).</em></p><p>Bu sihirli formül her getiri oranı için geçerlidir ve yatırımlarınızın büyümesini hızlıca tahmin etmenize yardımcı olur.',
172
+ },
173
+ {
174
+ type: 'tip',
175
+ title: '2026 Tavsiyesi',
176
+ html: '<p>Enflasyon hala bir faktör. Satın alma gücünüzü kaybetmemek için net getirinizin yılda en az %2-3’ü geçtiğinden emin olun. Enflasyondan daha hızlı büyüyen varlıklara yatırım yapın.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'Anaparalaşma Sıklığı: Fark Eder mi?',
181
+ level: 3,
182
+ },
183
+ {
184
+ type: 'paragraph',
185
+ html: 'Faiz yıllık, altı aylık, üç aylık, aylık hatta günlük olarak anaparalaşabilir. <strong>Anaparalaşma ne kadar sık olursa</strong>, bileşik etki o kadar büyük olur. Aynı oranla aynı ana para, faiz yıllık yerine aylık olarak bileşik hale gelirse daha fazla büyüyecektir.',
186
+ },
187
+ ],
188
+ ui: {
189
+ labelTitle: 'Yatırım Similatörü',
190
+ labelRealtime: 'Gerçek zamanlı',
191
+ labelInitial: 'Başlangıç Katkısı',
192
+ labelMonthly: 'Aylık Katkı',
193
+ labelRate: 'Yıllık Getiri',
194
+ labelYears: 'Yıl',
195
+ labelMyMoney: 'Paranız',
196
+ labelProfit: 'Kâr (Faiz)',
197
+ labelTotal: 'Biriken Toplam',
198
+ labelYear: 'Yıl',
199
+ labelPrincipal: 'Paranız (Ana Para)',
200
+ labelInterest: 'Getirilen Faizler',
201
+ insightPrefix: '[İPUCU] ',
202
+ insightSuffix:
203
+ '. yılda, yıllık getirilen faizleriniz katkılarınızı aşacaktır. Para artık sizden daha çok çalışıyor!',
204
+ currencySymbol: '₺',
205
+ currencyCode: 'TRY',
206
+ currencyLocale: 'tr-TR',
207
+ },
208
+ };