@jjlmoya/utils-finance 1.4.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 (164) 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/i18n/de.ts +261 -0
  48. package/src/tool/fireCalculator/i18n/id.ts +261 -0
  49. package/src/tool/fireCalculator/i18n/it.ts +261 -0
  50. package/src/tool/fireCalculator/i18n/ja.ts +261 -0
  51. package/src/tool/fireCalculator/i18n/ko.ts +261 -0
  52. package/src/tool/fireCalculator/i18n/nl.ts +261 -0
  53. package/src/tool/fireCalculator/i18n/pl.ts +261 -0
  54. package/src/tool/fireCalculator/i18n/pt.ts +261 -0
  55. package/src/tool/fireCalculator/i18n/ru.ts +261 -0
  56. package/src/tool/fireCalculator/i18n/sv.ts +261 -0
  57. package/src/tool/fireCalculator/i18n/tr.ts +261 -0
  58. package/src/tool/fireCalculator/i18n/zh.ts +261 -0
  59. package/src/tool/fireCalculator/index.ts +15 -7
  60. package/src/tool/ibanBicSwiftConverter/i18n/de.ts +128 -0
  61. package/src/tool/ibanBicSwiftConverter/i18n/id.ts +128 -0
  62. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +128 -0
  63. package/src/tool/ibanBicSwiftConverter/i18n/ja.ts +128 -0
  64. package/src/tool/ibanBicSwiftConverter/i18n/ko.ts +128 -0
  65. package/src/tool/ibanBicSwiftConverter/i18n/nl.ts +128 -0
  66. package/src/tool/ibanBicSwiftConverter/i18n/pl.ts +128 -0
  67. package/src/tool/ibanBicSwiftConverter/i18n/pt.ts +128 -0
  68. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +128 -0
  69. package/src/tool/ibanBicSwiftConverter/i18n/sv.ts +128 -0
  70. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +128 -0
  71. package/src/tool/ibanBicSwiftConverter/i18n/zh.ts +128 -0
  72. package/src/tool/ibanBicSwiftConverter/index.ts +15 -7
  73. package/src/tool/inflation/i18n/de.ts +297 -0
  74. package/src/tool/inflation/i18n/id.ts +297 -0
  75. package/src/tool/inflation/i18n/it.ts +297 -0
  76. package/src/tool/inflation/i18n/ja.ts +297 -0
  77. package/src/tool/inflation/i18n/ko.ts +297 -0
  78. package/src/tool/inflation/i18n/nl.ts +297 -0
  79. package/src/tool/inflation/i18n/pl.ts +297 -0
  80. package/src/tool/inflation/i18n/pt.ts +297 -0
  81. package/src/tool/inflation/i18n/ru.ts +297 -0
  82. package/src/tool/inflation/i18n/sv.ts +297 -0
  83. package/src/tool/inflation/i18n/tr.ts +297 -0
  84. package/src/tool/inflation/i18n/zh.ts +297 -0
  85. package/src/tool/inflation/index.ts +17 -9
  86. package/src/tool/lateInterest/i18n/de.ts +224 -0
  87. package/src/tool/lateInterest/i18n/id.ts +224 -0
  88. package/src/tool/lateInterest/i18n/it.ts +224 -0
  89. package/src/tool/lateInterest/i18n/ja.ts +224 -0
  90. package/src/tool/lateInterest/i18n/ko.ts +224 -0
  91. package/src/tool/lateInterest/i18n/nl.ts +224 -0
  92. package/src/tool/lateInterest/i18n/pl.ts +224 -0
  93. package/src/tool/lateInterest/i18n/pt.ts +224 -0
  94. package/src/tool/lateInterest/i18n/ru.ts +224 -0
  95. package/src/tool/lateInterest/i18n/sv.ts +224 -0
  96. package/src/tool/lateInterest/i18n/tr.ts +224 -0
  97. package/src/tool/lateInterest/i18n/zh.ts +224 -0
  98. package/src/tool/lateInterest/index.ts +17 -9
  99. package/src/tool/legalInterestRate/i18n/de.ts +143 -0
  100. package/src/tool/legalInterestRate/i18n/id.ts +143 -0
  101. package/src/tool/legalInterestRate/i18n/it.ts +143 -0
  102. package/src/tool/legalInterestRate/i18n/ja.ts +143 -0
  103. package/src/tool/legalInterestRate/i18n/ko.ts +143 -0
  104. package/src/tool/legalInterestRate/i18n/nl.ts +143 -0
  105. package/src/tool/legalInterestRate/i18n/pl.ts +143 -0
  106. package/src/tool/legalInterestRate/i18n/pt.ts +143 -0
  107. package/src/tool/legalInterestRate/i18n/ru.ts +143 -0
  108. package/src/tool/legalInterestRate/i18n/sv.ts +143 -0
  109. package/src/tool/legalInterestRate/i18n/tr.ts +143 -0
  110. package/src/tool/legalInterestRate/i18n/zh.ts +143 -0
  111. package/src/tool/legalInterestRate/index.ts +17 -9
  112. package/src/tool/lotteryOptimizer/i18n/de.ts +177 -0
  113. package/src/tool/lotteryOptimizer/i18n/id.ts +177 -0
  114. package/src/tool/lotteryOptimizer/i18n/it.ts +177 -0
  115. package/src/tool/lotteryOptimizer/i18n/ja.ts +177 -0
  116. package/src/tool/lotteryOptimizer/i18n/ko.ts +177 -0
  117. package/src/tool/lotteryOptimizer/i18n/nl.ts +177 -0
  118. package/src/tool/lotteryOptimizer/i18n/pl.ts +177 -0
  119. package/src/tool/lotteryOptimizer/i18n/pt.ts +177 -0
  120. package/src/tool/lotteryOptimizer/i18n/ru.ts +177 -0
  121. package/src/tool/lotteryOptimizer/i18n/sv.ts +177 -0
  122. package/src/tool/lotteryOptimizer/i18n/tr.ts +177 -0
  123. package/src/tool/lotteryOptimizer/i18n/zh.ts +177 -0
  124. package/src/tool/lotteryOptimizer/index.ts +17 -9
  125. package/src/tool/mortgage/i18n/de.ts +223 -0
  126. package/src/tool/mortgage/i18n/id.ts +219 -0
  127. package/src/tool/mortgage/i18n/it.ts +223 -0
  128. package/src/tool/mortgage/i18n/ja.ts +219 -0
  129. package/src/tool/mortgage/i18n/ko.ts +219 -0
  130. package/src/tool/mortgage/i18n/nl.ts +219 -0
  131. package/src/tool/mortgage/i18n/pl.ts +219 -0
  132. package/src/tool/mortgage/i18n/pt.ts +219 -0
  133. package/src/tool/mortgage/i18n/ru.ts +219 -0
  134. package/src/tool/mortgage/i18n/sv.ts +219 -0
  135. package/src/tool/mortgage/i18n/tr.ts +219 -0
  136. package/src/tool/mortgage/i18n/zh.ts +219 -0
  137. package/src/tool/mortgage/index.ts +15 -7
  138. package/src/tool/percentageCalculator/i18n/de.ts +229 -0
  139. package/src/tool/percentageCalculator/i18n/id.ts +229 -0
  140. package/src/tool/percentageCalculator/i18n/it.ts +229 -0
  141. package/src/tool/percentageCalculator/i18n/ja.ts +229 -0
  142. package/src/tool/percentageCalculator/i18n/ko.ts +229 -0
  143. package/src/tool/percentageCalculator/i18n/nl.ts +229 -0
  144. package/src/tool/percentageCalculator/i18n/pl.ts +229 -0
  145. package/src/tool/percentageCalculator/i18n/pt.ts +229 -0
  146. package/src/tool/percentageCalculator/i18n/ru.ts +229 -0
  147. package/src/tool/percentageCalculator/i18n/sv.ts +229 -0
  148. package/src/tool/percentageCalculator/i18n/tr.ts +229 -0
  149. package/src/tool/percentageCalculator/i18n/zh.ts +229 -0
  150. package/src/tool/percentageCalculator/index.ts +15 -7
  151. package/src/tool/rentIncreaseCalculator/i18n/de.ts +136 -0
  152. package/src/tool/rentIncreaseCalculator/i18n/id.ts +136 -0
  153. package/src/tool/rentIncreaseCalculator/i18n/it.ts +136 -0
  154. package/src/tool/rentIncreaseCalculator/i18n/ja.ts +136 -0
  155. package/src/tool/rentIncreaseCalculator/i18n/ko.ts +136 -0
  156. package/src/tool/rentIncreaseCalculator/i18n/nl.ts +136 -0
  157. package/src/tool/rentIncreaseCalculator/i18n/pl.ts +136 -0
  158. package/src/tool/rentIncreaseCalculator/i18n/pt.ts +136 -0
  159. package/src/tool/rentIncreaseCalculator/i18n/ru.ts +136 -0
  160. package/src/tool/rentIncreaseCalculator/i18n/sv.ts +136 -0
  161. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +136 -0
  162. package/src/tool/rentIncreaseCalculator/i18n/zh.ts +136 -0
  163. package/src/tool/rentIncreaseCalculator/index.ts +17 -9
  164. package/src/types.ts +1 -1
@@ -0,0 +1,261 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { FIRECalculatorUI } from '../ui';
4
+
5
+ const slug = 'fire-kalkylator-4-procents-regeln';
6
+ const title = 'FIRE kalkylator: 4% regeln för din finansiella frihet';
7
+ const description = 'Beräkna ditt magiska tal för finansiellt oberoende med hjälp av 4%-regeln. Planera din tidiga pension och visualisera din väg mot ekonomisk frihet.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Vad är 4%-regeln?',
12
+ answer: '4%-regeln är en uttagsstrategi baserad på Trinity-studien som visar att du kan ta ut 4 % av ditt kapital under det första året av pensionen, justerat för inflation i efterföljande år, utan att pengarna tar slut under 30 år.',
13
+ },
14
+ {
15
+ question: 'Vad är FIRE?',
16
+ answer: 'FIRE står för Financial Independence, Retire Early (Finansiell självständighet, tidig pension). Det är en rörelse som strävar efter att uppnå ekonomisk frihet genom en aggressiv kombination av sparande och smarta investeringar.',
17
+ },
18
+ {
19
+ question: 'Vad är mitt magiska tal?',
20
+ answer: 'Ditt magiska tal är det totala kapital du behöver samla på dig för att kunna leva på avkastningen utan att arbeta. Det beräknas genom att dela dina årliga utgifter med den säkra uttagsräntan (vanligtvis 4 %).',
21
+ },
22
+ {
23
+ question: 'Vad är skillnaden mellan Lean, Barista och Fat FIRE?',
24
+ answer: 'Lean FIRE är att leva med minimala utgifter (70 % av nuvarande utgifter), Barista FIRE är att jobba deltid medan avkastningen täcker resten (50 % av utgifterna), och Fat FIRE är att ha en påkostad livsstil (150 % av utgifterna).',
25
+ },
26
+ {
27
+ question: 'Är 4%-regeln realistisk?',
28
+ answer: '4%-regeln har en historisk sannolikhet för framgång på 95 % i en portfölj med 50/50 aktier/obligationer under 30 år. Den tar dock inte hänsyn till sekvensrisk för avkastning och baseras främst på data från den amerikanska marknaden.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Beräkna dina månadsutgifter',
35
+ text: 'Analysera hur mycket du faktiskt spenderar varje månad inklusive boende, mat, tjänster och underhållning.',
36
+ },
37
+ {
38
+ name: 'Välj din säkra uttagsränta',
39
+ text: '4%-regeln är standard, men du kan justera mellan 2,5 % (mer konservativt) och 6 % (mer aggressivt) beroende på din risktolerans.',
40
+ },
41
+ {
42
+ name: 'Ange ditt nuvarande kapital',
43
+ text: 'Addera det totala värdet av dina investeringar, sparande och tillgångar som genererar passiv inkomst.',
44
+ },
45
+ {
46
+ name: 'Visualisera dina framsteg',
47
+ text: 'Se tillväxtdiagrammet och milstolparna för frihet (Lean, Barista, Fat FIRE) för att förstå när du når ditt mål.',
48
+ },
49
+ ];
50
+
51
+ const bibliographyData = [
52
+ {
53
+ name: 'The Trinity Study: Portfolio Survivability',
54
+ url: 'https://en.wikipedia.org/wiki/Trinity_study',
55
+ },
56
+ {
57
+ name: 'Early Retirement Forum - 4% Rule Discussion',
58
+ url: 'https://www.bogleheads.org/forum/',
59
+ },
60
+ {
61
+ name: 'Shiller CAPE Index - Market Valuations',
62
+ url: 'https://www.multpl.com/shiller-pe',
63
+ },
64
+ {
65
+ name: 'Bogleheads - Investeringsguide',
66
+ url: 'https://bogleheads.es/',
67
+ },
68
+ ];
69
+
70
+ const faqSchema: WithContext<FAQPage> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'FAQPage',
73
+ mainEntity: faqData.map((item) => ({
74
+ '@type': 'Question',
75
+ name: item.question,
76
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
77
+ })),
78
+ };
79
+
80
+ const howToSchema: WithContext<HowTo> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'HowTo',
83
+ name: title,
84
+ description,
85
+ step: howToData.map((step, i) => ({
86
+ '@type': 'HowToStep',
87
+ position: i + 1,
88
+ name: step.name,
89
+ text: step.text,
90
+ })),
91
+ };
92
+
93
+ const appSchema: WithContext<SoftwareApplication> = {
94
+ '@context': 'https://schema.org',
95
+ '@type': 'SoftwareApplication',
96
+ name: title,
97
+ description,
98
+ applicationCategory: 'FinanceApplication',
99
+ operatingSystem: 'All',
100
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
101
+ inLanguage: 'sv',
102
+ };
103
+
104
+ export const content: ToolLocaleContent<FIRECalculatorUI> = {
105
+ slug,
106
+ title,
107
+ description,
108
+ faqTitle: 'Vanliga frågor om FIRE',
109
+ faq: faqData,
110
+ bibliographyTitle: 'Källor och referenser',
111
+ bibliography: bibliographyData,
112
+ howTo: howToData,
113
+ schemas: [faqSchema, howToSchema, appSchema],
114
+ seo: [
115
+ {
116
+ type: 'title',
117
+ text: '4%-regeln: Den heliga graalen för tidig pension',
118
+ level: 2,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Upptäck hur du beräknar det kapital som krävs för att leva på avkastningen för alltid. <strong>4%-regeln</strong> kom från Trinity-studien, som genomfördes 1998 av tre professorer i finans. De analyserade historiska data från 1926 för att avgöra vilken procentsats som kunde tas ut årligen utan att tömma portföljen på 30 år.',
123
+ },
124
+ {
125
+ type: 'stats',
126
+ columns: 4,
127
+ items: [
128
+ { value: '95%', label: 'Historisk framgång' },
129
+ { value: '50/50', label: 'Mix Aktier/Obligationer' },
130
+ { value: '30', label: 'Års horisont' },
131
+ { value: '4%', label: 'Säkert uttag' },
132
+ ],
133
+ },
134
+ {
135
+ type: 'title',
136
+ text: 'Vad är FIRE-rörelsen?',
137
+ level: 3,
138
+ },
139
+ {
140
+ type: 'list',
141
+ items: [
142
+ 'FIRE är akronymen för Financial Independence, Retire Early (Finansiell självständighet, tidig pension).',
143
+ 'Strävar efter friheten att välja vad man vill göra med sin tid utan att pengar är en begränsande faktor.',
144
+ 'Baseras på optimering av sparande och smarta investeringar.',
145
+ 'Målet är att dina tillgångar ska generera tillräckligt kassaflöde för att täcka dina utgifter.',
146
+ ],
147
+ },
148
+ {
149
+ type: 'title',
150
+ text: 'Typer av finansiell frihet',
151
+ level: 3,
152
+ },
153
+ {
154
+ type: 'comparative',
155
+ columns: 3,
156
+ items: [
157
+ {
158
+ title: 'Lean FIRE',
159
+ description: 'Minimalistisk livsstil. Täcker endast grundläggande överlevnadskostnader.',
160
+ points: ['Extremt sparande', 'Mycket låga utgifter', 'Enkel frihet'],
161
+ },
162
+ {
163
+ title: 'Barista FIRE',
164
+ description: 'Hybridsituation där dina investeringar täcker hälften av dina utgifter.',
165
+ points: ['Jobb för nöjes skull', 'Socialförsäkring täckt', 'Mindre stress'],
166
+ },
167
+ {
168
+ title: 'Fat FIRE',
169
+ description: 'Pension med en rymlig budget som tillåter lyx och resor.',
170
+ points: ['Stort kapital', 'Noll restriktioner', 'Familjearv'],
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ type: 'title',
176
+ text: 'Hur använder man vår FIRE-kalkylator?',
177
+ level: 3,
178
+ },
179
+ {
180
+ type: 'list',
181
+ items: [
182
+ '<strong>Utgiftsspårning:</strong> Analysera dina faktiska utgifter de senaste 12 månaderna.',
183
+ '<strong>SWR-definition:</strong> Välj din säkra uttagsränta efter din risk.',
184
+ '<strong>Nuvarande kapital:</strong> Ange värdet på dina nuvarande investeringar.',
185
+ '<strong>Sparkapacitet:</strong> Se hur lång tid du har kvar till målet.',
186
+ '<strong>Visuell analys:</strong> Analysera tillväxtdiagrammet för din förmögenhet.',
187
+ ],
188
+ },
189
+ {
190
+ type: 'title',
191
+ text: 'Analys av 4%-regeln',
192
+ level: 3,
193
+ },
194
+ {
195
+ type: 'comparative',
196
+ columns: 2,
197
+ items: [
198
+ {
199
+ title: 'Fördelar',
200
+ description: 'Varför 4%-regeln fungerar',
201
+ points: [
202
+ 'Matematisk enkelhet för snabb planering.',
203
+ 'Baserad på historiska data från nästan ett sekel.',
204
+ 'Anpassningsbar till alla utgiftsnivåer.',
205
+ ],
206
+ },
207
+ {
208
+ title: 'Begränsningar',
209
+ description: 'Vad 4%-regeln inte täcker',
210
+ points: [
211
+ 'Tar inte hänsyn till sekvensrisk för avkastning.',
212
+ 'Baseras främst på den amerikanska marknaden.',
213
+ 'Ignorerar drastiska förändringar i lokal beskattning.',
214
+ ],
215
+ },
216
+ ],
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Kritisk faktor: Inflationen',
221
+ level: 3,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'Kom ihåg att 1 000 kr idag inte kommer att köpa samma sak i framtiden. Det är avgörande att använda real avkastning (inflation borträknad) så att dina prognoser behåller dagens köpkraft. 4%-regeln förutsätter att du justerar dina uttag årligen för inflation.',
226
+ },
227
+ ],
228
+ ui: {
229
+ labelTitle: 'FIRE kalkylator: 4% regeln',
230
+ labelDescription: 'Beräkna ditt magiska tal för finansiell självständighet med 4%-regeln och visualisera dina milstolpar mot frihet.',
231
+ labelMonthlyExpenses: 'Månadsutgifter',
232
+ labelSWR: 'Uttagsränta (SWR)',
233
+ labelCurrentWorth: 'Nuvarande kapital',
234
+ labelMonthlySavings: 'Månadssparande',
235
+ labelAnnualReturn: 'Beräknad avkastning (netto)',
236
+ labelFreedomMilestones: 'Milstolpar för frihet',
237
+ labelLeanFIRE: 'Lean FIRE (70 % överlevnad)',
238
+ labelBaristaFIRE: 'Barista FIRE (50 % inkomst)',
239
+ labelFatFIRE: 'Fat FIRE (150 % lyx)',
240
+ labelMagicNumber: 'Ditt magiska tal för att bli fri',
241
+ labelMagicNumberDesc: 'Kapital som krävs för att leva på avkastningen',
242
+ labelTimeRemaining: 'Tid till finansiell frihet',
243
+ labelTimeRemainingFormat: 'Det fattas {years} år och {months} månader',
244
+ labelAlreadyFI: 'Du har redan nått finansiell frihet!',
245
+ labelUnachievable: 'Målet kan inte nås med detta sparande',
246
+ labelHiddenCostsChecklist: 'Checklista för dolda kostnader',
247
+ labelHealth: 'Sjukvårdsförsäkring (+200 kr)',
248
+ labelTaxes: 'Skatt (+150 kr)',
249
+ labelHome: 'Hemunderhåll (+100 kr)',
250
+ labelTravel: 'Resor och nöje (+300 kr)',
251
+ labelEmergency: 'Buffertsparande (+100 kr)',
252
+ labelSubscriptions: 'Prenumerationer (+50 kr)',
253
+ labelAdded: 'Tillagt:',
254
+ labelSavePlan: 'Spara plan',
255
+ labelSWRTooltip: 'Safe Withdrawal Rate: Procent av ditt sparande som du kan ta ut varje år utan att pengarna tar slut.',
256
+ labelReturnTooltip: 'Årlig marknadsavkastning (redan inflation borträknad). Historisk standard är 7 %.',
257
+ currencySymbol: 'kr',
258
+ currencyCode: 'SEK',
259
+ currencyLocale: 'sv-SE',
260
+ },
261
+ };
@@ -0,0 +1,261 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { FIRECalculatorUI } from '../ui';
4
+
5
+ const slug = 'fire-hesaplayici-yuzde-4-kurali';
6
+ const title = 'FIRE Hesaplayıcı: Finansal Özgürlüğünüz için %4 Kuralı';
7
+ const description = '%4 kuralını kullanarak finansal bağımsızlık için sihirli numaranızı hesaplayın Erken emekliliğinizi planlayın ve ekonomik özgürlüğe giden yolunuzu görselleştirin.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: '%4 Kuralı Nedir?',
12
+ answer: '%4 Kuralı, Trinity Çalışması’na dayanan bir çekim stratejisidir; emekliliğin ilk yılında mal varlığınızın %4’ünü çekebileceğinizi ve sonraki yıllarda enflasyona göre ayarlama yaparak fonlarınızı 30 yıl boyunca tüketmeden yaşayabileceğinizi belirtir.',
13
+ },
14
+ {
15
+ question: 'FIRE Nedir?',
16
+ answer: 'FIRE, Financial Independence, Retire Early (Finansal Bağımsızlık, Erken Emeklilik) anlamına gelir. Tasarruf ve akıllı yatırımın agresif bir kombinasyonu yoluyla ekonomik özgürlüğe ulaşmayı amaçlayan bir harekettir.',
17
+ },
18
+ {
19
+ question: 'Sihirli Numaram Kaç?',
20
+ answer: 'Sihirli numaranız, çalışmadan getirilerle yaşayabilmek için biriktirmeniz gereken toplam mal varlığıdır. Yıllık giderlerinizin güvenli çekim oranına (genellikle %4) bölünmesiyle hesaplanır.',
21
+ },
22
+ {
23
+ question: 'Lean, Barista ve Fat FIRE Arasındaki Fark Nedir?',
24
+ answer: 'Lean FIRE, minimum giderlerle yaşamak (mevcut giderlerin %70’i), Barista FIRE, getiriler geri kalanını karşılarken yarı zamanlı çalışmak (%50 gider) ve Fat FIRE, lüks bir yaşam tarzına sahip olmaktır (%150 gider).',
25
+ },
26
+ {
27
+ question: '%4 Kuralı Gerçekçi mi?',
28
+ answer: '%4 kuralı, 30 yıl boyunca %50 hisse senedi-%50 tahvil portföyünde %95’lik bir tarihsel başarı olasılığına sahiptir. Ancak, getiri dizisi riskini hesaba katmaz ve esas olarak ABD piyasa verilerine dayanır.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Aylık Giderlerinizi Hesaplayın',
35
+ text: 'Konut, gıda, hizmetler ve eğlence dahil olmak üzere her ay gerçekte ne kadar harcadığınızı analiz edin.',
36
+ },
37
+ {
38
+ name: 'Güvenli Çekim Oranınızı Seçin',
39
+ text: '%4 Kuralı standarttır, ancak risk toleransınıza göre %2,5 (daha muhafazakar) ile %6 (daha agresif) arasında ayarlama yapabilirsiniz.',
40
+ },
41
+ {
42
+ name: 'Mevcut Mal Varlığınızı Girin',
43
+ text: 'Yatırımlarınızın, tasarruflarınızın ve pasif gelir getiren varlıklarınızın toplamını toplayın.',
44
+ },
45
+ {
46
+ name: 'İlerlemenizi Görselleştirin',
47
+ text: 'Hedefinize ne zaman ulaşacağınızı anlamak için büyüme grafiğini ve özgürlük kilometre taşlarını (Lean, Barista, Fat FIRE) gözlemleyin.',
48
+ },
49
+ ];
50
+
51
+ const bibliographyData = [
52
+ {
53
+ name: 'The Trinity Study: Portfolio Survivability',
54
+ url: 'https://en.wikipedia.org/wiki/Trinity_study',
55
+ },
56
+ {
57
+ name: 'Early Retirement Forum - 4% Rule Discussion',
58
+ url: 'https://www.bogleheads.org/forum/',
59
+ },
60
+ {
61
+ name: 'Shiller CAPE Index - Market Valuations',
62
+ url: 'https://www.multpl.com/shiller-pe',
63
+ },
64
+ {
65
+ name: 'Bogleheads - Yatırım Rehberi',
66
+ url: 'https://bogleheads.es/',
67
+ },
68
+ ];
69
+
70
+ const faqSchema: WithContext<FAQPage> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'FAQPage',
73
+ mainEntity: faqData.map((item) => ({
74
+ '@type': 'Question',
75
+ name: item.question,
76
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
77
+ })),
78
+ };
79
+
80
+ const howToSchema: WithContext<HowTo> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'HowTo',
83
+ name: title,
84
+ description,
85
+ step: howToData.map((step, i) => ({
86
+ '@type': 'HowToStep',
87
+ position: i + 1,
88
+ name: step.name,
89
+ text: step.text,
90
+ })),
91
+ };
92
+
93
+ const appSchema: WithContext<SoftwareApplication> = {
94
+ '@context': 'https://schema.org',
95
+ '@type': 'SoftwareApplication',
96
+ name: title,
97
+ description,
98
+ applicationCategory: 'FinanceApplication',
99
+ operatingSystem: 'All',
100
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
101
+ inLanguage: 'tr',
102
+ };
103
+
104
+ export const content: ToolLocaleContent<FIRECalculatorUI> = {
105
+ slug,
106
+ title,
107
+ description,
108
+ faqTitle: 'FIRE Hakkında Sıkça Sorulan Sorular',
109
+ faq: faqData,
110
+ bibliographyTitle: 'Kaynaklar ve Referanslar',
111
+ bibliography: bibliographyData,
112
+ howTo: howToData,
113
+ schemas: [faqSchema, howToSchema, appSchema],
114
+ seo: [
115
+ {
116
+ type: 'title',
117
+ text: '%4 Kuralı: Erken Emekliliğin Kutsal Kasesi',
118
+ level: 2,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Sonsuza dek getirilerle yaşamak için gereken mal varlığını nasıl hesaplayacağınızı keşfedin. <strong>%4 Kuralı</strong>, 1998 yılında üç finans profesörü tarafından yürütülen Trinity Çalışması’ndan doğmuştur. Portföyü 30 yılda tüketmeden yıllık olarak hangi yüzdenin çekilebileceğini belirlemek için 1926’dan bu yana olan tarihsel verileri analiz ettiler.',
123
+ },
124
+ {
125
+ type: 'stats',
126
+ columns: 4,
127
+ items: [
128
+ { value: '%95', label: 'Tarihsel Başarı' },
129
+ { value: '50/50', label: 'Hisse/Tahvil Payı' },
130
+ { value: '30', label: 'Yıllık Ufuk' },
131
+ { value: '%4', label: 'Güvenli Çekim' },
132
+ ],
133
+ },
134
+ {
135
+ type: 'title',
136
+ text: 'FIRE Hareketi Nedir?',
137
+ level: 3,
138
+ },
139
+ {
140
+ type: 'list',
141
+ items: [
142
+ 'FIRE, Financial Independence, Retire Early (Finansal Bağımsızlık, Erken Emeklilik) ifadesinin kısaltmasıdır.',
143
+ 'Paranın kısıtlayıcı bir faktör olmadığı, zamanınızla ne yapacağınızı seçme özgürlüğünü arar.',
144
+ 'Tasarrufun optimizasyonu ve akıllı yatırıma dayanır.',
145
+ 'Hedef, varlıklarınızın giderlerinizi karşılayacak kadar nakit akışı yaratmasıdır.',
146
+ ],
147
+ },
148
+ {
149
+ type: 'title',
150
+ text: 'Finansal Özgürlük Türleri',
151
+ level: 3,
152
+ },
153
+ {
154
+ type: 'comparative',
155
+ columns: 3,
156
+ items: [
157
+ {
158
+ title: 'Lean FIRE',
159
+ description: 'Minimalist yaşam tarzı. Sadece temel hayatta kalma giderlerini karşılar.',
160
+ points: ['Ekstrem tasarruf', 'Çok düşük harcama', 'Sade özgürlük'],
161
+ },
162
+ {
163
+ title: 'Barista FIRE',
164
+ description: 'Yatırımlarınızın giderlerinizin yarısını karşıladığı hibrit durum.',
165
+ points: ['Keyif için çalışma', 'Sosyal güvence kapsamında', 'Daha az stres'],
166
+ },
167
+ {
168
+ title: 'Fat FIRE',
169
+ description: 'Lüks ve seyahate izin veren geniş bir bütçeyle emeklilik.',
170
+ points: ['Yüksek mal varlığı', 'Sıfır kısıtlama', 'Aile mirası'],
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ type: 'title',
176
+ text: 'FIRE Hesaplayıcımız Nasıl Kullanılır?',
177
+ level: 3,
178
+ },
179
+ {
180
+ type: 'list',
181
+ items: [
182
+ '<strong>Gider Takibi:</strong> Son 12 aydaki gerçek giderlerinizi analiz edin.',
183
+ '<strong>SWR Tanımı:</strong> Riskinize göre güvenli çekim oranınızı seçin.',
184
+ '<strong>Mevcut Mal Varlığı:</strong> Mevcut yatırımlarınızın değerini girin.',
185
+ '<strong>Tasarruf Kapasitesi:</strong> Hedefe ne kadar zamanınız kaldığını tahmin edin.',
186
+ '<strong>Görsel Analiz:</strong> Servetinizin büyüme grafiğini analiz edin.',
187
+ ],
188
+ },
189
+ {
190
+ type: 'title',
191
+ text: '%4 Kuralının Analizi',
192
+ level: 3,
193
+ },
194
+ {
195
+ type: 'comparative',
196
+ columns: 2,
197
+ items: [
198
+ {
199
+ title: 'Avantajlar',
200
+ description: '%4 kuralı neden işe yarıyor?',
201
+ points: [
202
+ 'Hızlı planlama için matematiksel basitlik.',
203
+ 'Neredeyse bir asırlık tarihsel verilere dayanır.',
204
+ 'Her türlü harcama seviyesine uyarlanabilir.',
205
+ ],
206
+ },
207
+ {
208
+ title: 'Sınırlamalar',
209
+ description: '%4 kuralı neleri kapsamaz?',
210
+ points: [
211
+ 'Getiri dizisi riskini hesaba katmaz.',
212
+ 'Esas olarak ABD piyasasına dayanır.',
213
+ 'Yerel vergilendirmedeki köklü değişiklikleri görmezden gelir.',
214
+ ],
215
+ },
216
+ ],
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Kritik Faktör: Enflasyon',
221
+ level: 3,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'Bugünkü 1.000 TL’nin gelecekte aynı şeyi satın almayacağını unutmayın. Projeksiyonlarınızın mevcut satın alma gücünü koruması için reel getirileri (enflasyon düşülmüş) kullanmak hayati önem taşır. %4 Kuralı, çekimlerinizi her yıl enflasyona göre ayarladığınızı varsayar.',
226
+ },
227
+ ],
228
+ ui: {
229
+ labelTitle: 'FIRE Hesaplayıcı: %4 Kuralı',
230
+ labelDescription: '%4 kuralını kullanarak finansal bağımsızlık için sihirli numaranızı hesaplayın ve özgürlüğe giden kilometre taşlarınızı görselleştirin.',
231
+ labelMonthlyExpenses: 'Aylık Giderler',
232
+ labelSWR: 'Çekim Oranı (SWR)',
233
+ labelCurrentWorth: 'Mevcut Mal Varlığı',
234
+ labelMonthlySavings: 'Aylık Tasarruf Kapasitesi',
235
+ labelAnnualReturn: 'Tahmini Getiri (Net)',
236
+ labelFreedomMilestones: 'Özgürlük Kilometre Taşları',
237
+ labelLeanFIRE: 'Lean FIRE (%70 hayatta kalma)',
238
+ labelBaristaFIRE: 'Barista FIRE (%50 gelir)',
239
+ labelFatFIRE: 'Fat FIRE (%150 lüks)',
240
+ labelMagicNumber: 'Özgür Olmak İçin Sihirli Numaranız',
241
+ labelMagicNumberDesc: 'Getirilerle yaşamak için gereken sermaye',
242
+ labelTimeRemaining: 'Finansal özgürlüğe kalan süre',
243
+ labelTimeRemainingFormat: '{years} yıl ve {months} ayınız kaldı',
244
+ labelAlreadyFI: 'Zaten finansal özgürlüğe ulaştınız!',
245
+ labelUnachievable: 'Bu tasarrufla hedefe ulaşılamaz',
246
+ labelHiddenCostsChecklist: 'Gizli Gider Kontrol Listesi',
247
+ labelHealth: 'Sağlık Sigortası (+200₺)',
248
+ labelTaxes: 'Vergiler (+150₺)',
249
+ labelHome: 'Ev Bakımı (+100₺)',
250
+ labelTravel: 'Seyahat ve Eğlence (+300₺)',
251
+ labelEmergency: 'Acil Durum Fonu (+100₺)',
252
+ labelSubscriptions: 'Abonelikler (+50₺)',
253
+ labelAdded: 'Eklendi:',
254
+ labelSavePlan: 'Planı Kaydet',
255
+ labelSWRTooltip: 'Safe Withdrawal Rate: Tasarruflarınızın bitme riski olmadan her yıl çekebileceğiniz yüzdesi.',
256
+ labelReturnTooltip: 'Yıllık piyasa getirisi (enflasyon düşülmüş hali). Tarihsel standart %7’dir.',
257
+ currencySymbol: '₺',
258
+ currencyCode: 'TRY',
259
+ currencyLocale: 'tr-TR',
260
+ },
261
+ };