@jjlmoya/utils-finance 1.30.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/en.ts +1 -1
  3. package/src/category/i18n/es.ts +4 -4
  4. package/src/category/i18n/fr.ts +159 -159
  5. package/src/category/i18n/pl.ts +1 -1
  6. package/src/category/i18n/ru.ts +158 -158
  7. package/src/category/index.ts +39 -38
  8. package/src/category/seo.astro +1 -1
  9. package/src/components/PreviewNavSidebar.astro +1 -1
  10. package/src/components/PreviewToolbar.astro +1 -1
  11. package/src/data.ts +1 -1
  12. package/src/entries.ts +4 -1
  13. package/src/env.d.ts +1 -1
  14. package/src/index.ts +1 -0
  15. package/src/layouts/PreviewLayout.astro +113 -113
  16. package/src/pages/index.astro +1 -1
  17. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  18. package/src/tests/category_seo_quality.test.ts +76 -0
  19. package/src/tests/faq_count.test.ts +1 -1
  20. package/src/tests/locale_completeness.test.ts +2 -2
  21. package/src/tests/mocks/astro_mock.js +1 -1
  22. package/src/tests/no_h1_in_components.test.ts +1 -1
  23. package/src/tests/script_density.test.ts +94 -94
  24. package/src/tests/seo_length.test.ts +23 -23
  25. package/src/tests/seo_translation_completeness.test.ts +69 -0
  26. package/src/tests/seo_wellformed_export.test.ts +65 -0
  27. package/src/tests/tool_validation.test.ts +17 -17
  28. package/src/tool/compoundInterest/compound-interest-calculator.css +236 -236
  29. package/src/tool/compoundInterest/entry.ts +32 -32
  30. package/src/tool/compoundInterest/i18n/de.ts +195 -195
  31. package/src/tool/compoundInterest/i18n/fr.ts +195 -195
  32. package/src/tool/compoundInterest/i18n/it.ts +195 -195
  33. package/src/tool/compoundInterest/i18n/pl.ts +194 -194
  34. package/src/tool/compoundInterest/i18n/ru.ts +195 -195
  35. package/src/tool/compoundInterest/i18n/tr.ts +195 -195
  36. package/src/tool/compoundInterest/i18n/zh.ts +189 -189
  37. package/src/tool/compoundInterest/seo.astro +15 -15
  38. package/src/tool/courtFeeCalculator/i18n/it.ts +158 -158
  39. package/src/tool/courtFeeCalculator/i18n/ru.ts +158 -158
  40. package/src/tool/courtFeeCalculator/i18n/tr.ts +158 -158
  41. package/src/tool/courtFeeCalculator/seo.astro +15 -15
  42. package/src/tool/courtFeeCalculator/spanish-court-fees-calculator.css +197 -197
  43. package/src/tool/debtSnowball/bibliography.ts +12 -12
  44. package/src/tool/debtSnowball/i18n/de.ts +16 -16
  45. package/src/tool/debtSnowball/i18n/id.ts +16 -16
  46. package/src/tool/debtSnowball/i18n/it.ts +168 -168
  47. package/src/tool/debtSnowball/i18n/nl.ts +16 -16
  48. package/src/tool/debtSnowball/i18n/pl.ts +168 -168
  49. package/src/tool/debtSnowball/i18n/pt.ts +1 -1
  50. package/src/tool/debtSnowball/i18n/ru.ts +1 -1
  51. package/src/tool/debtSnowball/i18n/sv.ts +22 -29
  52. package/src/tool/debtSnowball/i18n/tr.ts +168 -168
  53. package/src/tool/debtSnowball/i18n/zh.ts +168 -168
  54. package/src/tool/debtSnowball/seo.astro +15 -15
  55. package/src/tool/dividendYield/bibliography.astro +14 -0
  56. package/src/tool/dividendYield/bibliography.ts +12 -0
  57. package/src/tool/dividendYield/component.astro +83 -0
  58. package/src/tool/dividendYield/controller.ts +85 -0
  59. package/src/tool/dividendYield/dividend-yield-calculator.css +352 -0
  60. package/src/tool/dividendYield/dom-views.ts +58 -0
  61. package/src/tool/dividendYield/entry.ts +29 -0
  62. package/src/tool/dividendYield/evaluator.ts +16 -0
  63. package/src/tool/dividendYield/i18n/de.ts +53 -0
  64. package/src/tool/dividendYield/i18n/en.ts +138 -0
  65. package/src/tool/dividendYield/i18n/es.ts +49 -0
  66. package/src/tool/dividendYield/i18n/fr.ts +49 -0
  67. package/src/tool/dividendYield/i18n/id.ts +49 -0
  68. package/src/tool/dividendYield/i18n/it.ts +49 -0
  69. package/src/tool/dividendYield/i18n/ja.ts +49 -0
  70. package/src/tool/dividendYield/i18n/ko.ts +25 -0
  71. package/src/tool/dividendYield/i18n/nl.ts +25 -0
  72. package/src/tool/dividendYield/i18n/pl.ts +25 -0
  73. package/src/tool/dividendYield/i18n/pt.ts +25 -0
  74. package/src/tool/dividendYield/i18n/ru.ts +25 -0
  75. package/src/tool/dividendYield/i18n/sv.ts +25 -0
  76. package/src/tool/dividendYield/i18n/tr.ts +25 -0
  77. package/src/tool/dividendYield/i18n/zh.ts +25 -0
  78. package/src/tool/dividendYield/index.ts +11 -0
  79. package/src/tool/dividendYield/logic.test.ts +73 -0
  80. package/src/tool/dividendYield/logic.ts +55 -0
  81. package/src/tool/dividendYield/seo.astro +14 -0
  82. package/src/tool/dividendYield/storage.ts +24 -0
  83. package/src/tool/dividendYield/ui.ts +33 -0
  84. package/src/tool/financialFreedom/financial-freedom-calculator.css +311 -311
  85. package/src/tool/financialFreedom/i18n/en.ts +182 -182
  86. package/src/tool/financialFreedom/i18n/fr.ts +128 -128
  87. package/src/tool/financialFreedom/i18n/id.ts +24 -7
  88. package/src/tool/financialFreedom/i18n/it.ts +24 -7
  89. package/src/tool/financialFreedom/i18n/ja.ts +1 -1
  90. package/src/tool/financialFreedom/i18n/nl.ts +24 -7
  91. package/src/tool/financialFreedom/i18n/pl.ts +24 -7
  92. package/src/tool/financialFreedom/i18n/pt.ts +24 -7
  93. package/src/tool/financialFreedom/i18n/ru.ts +128 -128
  94. package/src/tool/financialFreedom/i18n/sv.ts +1 -1
  95. package/src/tool/financialFreedom/i18n/tr.ts +2 -2
  96. package/src/tool/financialFreedom/i18n/zh.ts +128 -128
  97. package/src/tool/fireCalculator/i18n/it.ts +241 -241
  98. package/src/tool/fireCalculator/i18n/ru.ts +241 -241
  99. package/src/tool/fireCalculator/i18n/tr.ts +241 -241
  100. package/src/tool/fireCalculator/i18n/zh.ts +241 -241
  101. package/src/tool/fireCalculator/seo.astro +15 -15
  102. package/src/tool/ibanBicSwiftConverter/i18n/fr.ts +151 -151
  103. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +118 -118
  104. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +118 -118
  105. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +118 -118
  106. package/src/tool/ibanBicSwiftConverter/iban-to-bic-swift-converter.css +366 -366
  107. package/src/tool/ibanBicSwiftConverter/seo.astro +15 -15
  108. package/src/tool/inflation/bibliography.ts +20 -20
  109. package/src/tool/inflation/entry.ts +32 -32
  110. package/src/tool/inflation/i18n/de.ts +284 -284
  111. package/src/tool/inflation/i18n/fr.ts +284 -284
  112. package/src/tool/inflation/i18n/it.ts +284 -284
  113. package/src/tool/inflation/i18n/nl.ts +284 -284
  114. package/src/tool/inflation/i18n/pl.ts +284 -284
  115. package/src/tool/inflation/i18n/pt.ts +284 -284
  116. package/src/tool/inflation/i18n/ru.ts +284 -284
  117. package/src/tool/inflation/i18n/sv.ts +284 -284
  118. package/src/tool/inflation/i18n/tr.ts +284 -284
  119. package/src/tool/inflation/i18n/zh.ts +284 -284
  120. package/src/tool/inflation/seo.astro +15 -15
  121. package/src/tool/lateInterest/bibliography.ts +16 -16
  122. package/src/tool/lateInterest/entry.ts +32 -32
  123. package/src/tool/lateInterest/i18n/de.ts +213 -213
  124. package/src/tool/lateInterest/i18n/es.ts +213 -213
  125. package/src/tool/lateInterest/i18n/it.ts +213 -213
  126. package/src/tool/lateInterest/i18n/nl.ts +213 -213
  127. package/src/tool/lateInterest/i18n/pl.ts +213 -213
  128. package/src/tool/lateInterest/i18n/pt.ts +213 -213
  129. package/src/tool/lateInterest/i18n/ru.ts +213 -213
  130. package/src/tool/lateInterest/i18n/sv.ts +213 -213
  131. package/src/tool/lateInterest/i18n/tr.ts +213 -213
  132. package/src/tool/lateInterest/i18n/zh.ts +213 -213
  133. package/src/tool/lateInterest/seo.astro +15 -15
  134. package/src/tool/legalInterestRate/i18n/it.ts +129 -129
  135. package/src/tool/legalInterestRate/i18n/ru.ts +129 -129
  136. package/src/tool/legalInterestRate/i18n/tr.ts +128 -121
  137. package/src/tool/legalInterestRate/i18n/zh.ts +11 -4
  138. package/src/tool/legalInterestRate/seo.astro +15 -15
  139. package/src/tool/lotteryOptimizer/i18n/it.ts +163 -163
  140. package/src/tool/lotteryOptimizer/i18n/pl.ts +163 -163
  141. package/src/tool/lotteryOptimizer/i18n/ru.ts +163 -163
  142. package/src/tool/lotteryOptimizer/i18n/tr.ts +163 -163
  143. package/src/tool/lotteryOptimizer/i18n/zh.ts +162 -155
  144. package/src/tool/lotteryOptimizer/seo.astro +15 -15
  145. package/src/tool/mortgage/bibliography.ts +20 -20
  146. package/src/tool/mortgage/entry.ts +32 -32
  147. package/src/tool/mortgage/i18n/de.ts +210 -210
  148. package/src/tool/mortgage/i18n/es.ts +210 -210
  149. package/src/tool/mortgage/i18n/fr.ts +210 -210
  150. package/src/tool/mortgage/i18n/id.ts +210 -210
  151. package/src/tool/mortgage/i18n/it.ts +210 -210
  152. package/src/tool/mortgage/i18n/nl.ts +210 -210
  153. package/src/tool/mortgage/i18n/pl.ts +210 -210
  154. package/src/tool/mortgage/i18n/ru.ts +210 -210
  155. package/src/tool/mortgage/i18n/tr.ts +210 -210
  156. package/src/tool/mortgage/i18n/zh.ts +210 -210
  157. package/src/tool/mortgage/mortgage-calculator.css +595 -595
  158. package/src/tool/mortgage/seo.astro +15 -15
  159. package/src/tool/percentageCalculator/bibliography.ts +16 -16
  160. package/src/tool/percentageCalculator/entry.ts +32 -32
  161. package/src/tool/percentageCalculator/i18n/de.ts +220 -220
  162. package/src/tool/percentageCalculator/i18n/en.ts +220 -220
  163. package/src/tool/percentageCalculator/i18n/es.ts +220 -220
  164. package/src/tool/percentageCalculator/i18n/fr.ts +220 -220
  165. package/src/tool/percentageCalculator/i18n/it.ts +220 -220
  166. package/src/tool/percentageCalculator/i18n/pl.ts +220 -220
  167. package/src/tool/percentageCalculator/i18n/ru.ts +220 -220
  168. package/src/tool/percentageCalculator/i18n/tr.ts +220 -220
  169. package/src/tool/percentageCalculator/i18n/zh.ts +220 -220
  170. package/src/tool/percentageCalculator/seo.astro +15 -15
  171. package/src/tool/profitability/i18n/de.ts +24 -7
  172. package/src/tool/profitability/i18n/fr.ts +121 -104
  173. package/src/tool/profitability/i18n/id.ts +2 -2
  174. package/src/tool/profitability/i18n/it.ts +24 -7
  175. package/src/tool/profitability/i18n/ja.ts +1 -1
  176. package/src/tool/profitability/i18n/nl.ts +24 -7
  177. package/src/tool/profitability/i18n/pl.ts +1 -1
  178. package/src/tool/profitability/i18n/pt.ts +24 -7
  179. package/src/tool/profitability/i18n/ru.ts +118 -118
  180. package/src/tool/profitability/i18n/sv.ts +1 -1
  181. package/src/tool/profitability/i18n/tr.ts +1 -1
  182. package/src/tool/profitability/i18n/zh.ts +118 -118
  183. package/src/tool/profitability/profitability-calculator.css +229 -229
  184. package/src/tool/rentIncreaseCalculator/i18n/it.ts +125 -125
  185. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +125 -125
  186. package/src/tool/rentIncreaseCalculator/rent-increase-calculator.css +326 -326
  187. package/src/tool/rentIncreaseCalculator/seo.astro +15 -15
  188. package/src/tool/revolvingCardCalculator/i18n/de.ts +38 -20
  189. package/src/tool/revolvingCardCalculator/i18n/es.ts +19 -18
  190. package/src/tool/revolvingCardCalculator/i18n/fr.ts +32 -28
  191. package/src/tool/revolvingCardCalculator/i18n/id.ts +18 -18
  192. package/src/tool/revolvingCardCalculator/i18n/it.ts +18 -18
  193. package/src/tool/revolvingCardCalculator/i18n/ja.ts +2 -2
  194. package/src/tool/revolvingCardCalculator/i18n/ko.ts +2 -2
  195. package/src/tool/revolvingCardCalculator/i18n/nl.ts +22 -19
  196. package/src/tool/revolvingCardCalculator/i18n/pl.ts +2 -2
  197. package/src/tool/revolvingCardCalculator/i18n/pt.ts +2 -2
  198. package/src/tool/revolvingCardCalculator/i18n/ru.ts +2 -2
  199. package/src/tool/revolvingCardCalculator/i18n/sv.ts +2 -2
  200. package/src/tool/revolvingCardCalculator/i18n/tr.ts +2 -2
  201. package/src/tool/revolvingCardCalculator/i18n/zh.ts +6 -6
  202. package/src/tool/salaryEmployerCost/i18n/de.ts +10 -10
  203. package/src/tool/salaryEmployerCost/i18n/fr.ts +9 -9
  204. package/src/tool/salaryEmployerCost/i18n/id.ts +9 -9
  205. package/src/tool/salaryEmployerCost/i18n/it.ts +9 -9
  206. package/src/tool/salaryEmployerCost/i18n/ja.ts +1 -1
  207. package/src/tool/salaryEmployerCost/i18n/ko.ts +1 -1
  208. package/src/tool/salaryEmployerCost/i18n/nl.ts +2 -2
  209. package/src/tool/salaryEmployerCost/i18n/pl.ts +2 -2
  210. package/src/tool/salaryEmployerCost/i18n/pt.ts +2 -2
  211. package/src/tool/salaryEmployerCost/i18n/ru.ts +2 -2
  212. package/src/tool/salaryEmployerCost/i18n/sv.ts +2 -2
  213. package/src/tool/salaryEmployerCost/i18n/tr.ts +2 -2
  214. package/src/tool/salaryEmployerCost/i18n/zh.ts +2 -2
  215. package/src/tools.ts +2 -1
@@ -1,241 +1,241 @@
1
- import { bibliography } from '../bibliography';
2
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { FIRECalculatorUI } from '../ui';
5
-
6
- const slug = 'fire-hesaplayici-yuzde-4-kurali';
7
- const title = 'FIRE Hesaplayıcı: Finansal Özgürlüğünüz için %4 Kuralı';
8
- 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.';
9
-
10
- const faqData = [
11
- {
12
- question: '%4 Kuralı Nedir?',
13
- 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.',
14
- },
15
- {
16
- question: 'FIRE Nedir?',
17
- 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.',
18
- },
19
- {
20
- question: 'Sihirli Numaram Kaç?',
21
- 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.',
22
- },
23
- {
24
- question: 'Lean, Barista ve Fat FIRE Arasındaki Fark Nedir?',
25
- 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).',
26
- },
27
- {
28
- question: '%4 Kuralı Gerçekçi mi?',
29
- 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.',
30
- },
31
- ];
32
-
33
- const howToData = [
34
- {
35
- name: 'Aylık Giderlerinizi Hesaplayın',
36
- text: 'Konut, gıda, hizmetler ve eğlence dahil olmak üzere her ay gerçekte ne kadar harcadığınızı analiz edin.',
37
- },
38
- {
39
- name: 'Güvenli Çekim Oranınızı Seçin',
40
- text: '%4 Kuralı standarttır, ancak risk toleransınıza göre %2,5 (daha muhafazakar) ile %6 (daha agresif) arasında ayarlama yapabilirsiniz.',
41
- },
42
- {
43
- name: 'Mevcut Mal Varlığınızı Girin',
44
- text: 'Yatırımlarınızın, tasarruflarınızın ve pasif gelir getiren varlıklarınızın toplamını toplayın.',
45
- },
46
- {
47
- name: 'İlerlemenizi Görselleştirin',
48
- 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.',
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: 'tr',
84
- };
85
-
86
- export const content: ToolLocaleContent<FIRECalculatorUI> = {
87
- slug,
88
- title,
89
- description,
90
- faq: faqData,
91
- bibliography,
92
- howTo: howToData,
93
- schemas: [faqSchema, howToSchema, appSchema],
94
- seo: [
95
- {
96
- type: 'title',
97
- text: '%4 Kuralı: Erken Emekliliğin Kutsal Kasesi',
98
- level: 2,
99
- },
100
- {
101
- type: 'paragraph',
102
- 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.',
103
- },
104
- {
105
- type: 'stats',
106
- columns: 4,
107
- items: [
108
- { value: '%95', label: 'Tarihsel Başarı' },
109
- { value: '50/50', label: 'Hisse/Tahvil Payı' },
110
- { value: '30', label: 'Yıllık Ufuk' },
111
- { value: '%4', label: 'Güvenli Çekim' },
112
- ],
113
- },
114
- {
115
- type: 'title',
116
- text: 'FIRE Hareketi Nedir?',
117
- level: 3,
118
- },
119
- {
120
- type: 'list',
121
- items: [
122
- 'FIRE, Financial Independence, Retire Early (Finansal Bağımsızlık, Erken Emeklilik) ifadesinin kısaltmasıdır.',
123
- 'Paranın kısıtlayıcı bir faktör olmadığı, zamanınızla ne yapacağınızı seçme özgürlüğünü arar.',
124
- 'Tasarrufun optimizasyonu ve akıllı yatırıma dayanır.',
125
- 'Hedef, varlıklarınızın giderlerinizi karşılayacak kadar nakit akışı yaratmasıdır.',
126
- ],
127
- },
128
- {
129
- type: 'title',
130
- text: 'Finansal Özgürlük Türleri',
131
- level: 3,
132
- },
133
- {
134
- type: 'comparative',
135
- columns: 3,
136
- items: [
137
- {
138
- title: 'Lean FIRE',
139
- description: 'Minimalist yaşam tarzı. Sadece temel hayatta kalma giderlerini karşılar.',
140
- points: ['Ekstrem tasarruf', 'Çok düşük harcama', 'Sade özgürlük'],
141
- },
142
- {
143
- title: 'Barista FIRE',
144
- description: 'Yatırımlarınızın giderlerinizin yarısını karşıladığı hibrit durum.',
145
- points: ['Keyif için çalışma', 'Sosyal güvence kapsamında', 'Daha az stres'],
146
- },
147
- {
148
- title: 'Fat FIRE',
149
- description: 'Lüks ve seyahate izin veren geniş bir bütçeyle emeklilik.',
150
- points: ['Yüksek mal varlığı', 'Sıfır kısıtlama', 'Aile mirası'],
151
- },
152
- ],
153
- },
154
- {
155
- type: 'title',
156
- text: 'FIRE Hesaplayıcımız Nasıl Kullanılır?',
157
- level: 3,
158
- },
159
- {
160
- type: 'list',
161
- items: [
162
- '<strong>Gider Takibi:</strong> Son 12 aydaki gerçek giderlerinizi analiz edin.',
163
- '<strong>SWR Tanımı:</strong> Riskinize göre güvenli çekim oranınızı seçin.',
164
- '<strong>Mevcut Mal Varlığı:</strong> Mevcut yatırımlarınızın değerini girin.',
165
- '<strong>Tasarruf Kapasitesi:</strong> Hedefe ne kadar zamanınız kaldığını tahmin edin.',
166
- '<strong>Görsel Analiz:</strong> Servetinizin büyüme grafiğini analiz edin.',
167
- ],
168
- },
169
- {
170
- type: 'title',
171
- text: '%4 Kuralının Analizi',
172
- level: 3,
173
- },
174
- {
175
- type: 'comparative',
176
- columns: 2,
177
- items: [
178
- {
179
- title: 'Avantajlar',
180
- description: '%4 kuralı neden işe yarıyor?',
181
- points: [
182
- 'Hızlı planlama için matematiksel basitlik.',
183
- 'Neredeyse bir asırlık tarihsel verilere dayanır.',
184
- 'Her türlü harcama seviyesine uyarlanabilir.',
185
- ],
186
- },
187
- {
188
- title: 'Sınırlamalar',
189
- description: '%4 kuralı neleri kapsamaz?',
190
- points: [
191
- 'Getiri dizisi riskini hesaba katmaz.',
192
- 'Esas olarak ABD piyasasına dayanır.',
193
- 'Yerel vergilendirmedeki köklü değişiklikleri görmezden gelir.',
194
- ],
195
- },
196
- ],
197
- },
198
- {
199
- type: 'title',
200
- text: 'Kritik Faktör: Enflasyon',
201
- level: 3,
202
- },
203
- {
204
- type: 'paragraph',
205
- 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.',
206
- },
207
- ],
208
- ui: {
209
- labelTitle: 'FIRE Hesaplayıcı: %4 Kuralı',
210
- 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.',
211
- labelMonthlyExpenses: 'Aylık Giderler',
212
- labelSWR: 'Çekim Oranı (SWR)',
213
- labelCurrentWorth: 'Mevcut Mal Varlığı',
214
- labelMonthlySavings: 'Aylık Tasarruf Kapasitesi',
215
- labelAnnualReturn: 'Tahmini Getiri (Net)',
216
- labelFreedomMilestones: 'Özgürlük Kilometre Taşları',
217
- labelLeanFIRE: 'Lean FIRE (%70 hayatta kalma)',
218
- labelBaristaFIRE: 'Barista FIRE (%50 gelir)',
219
- labelFatFIRE: 'Fat FIRE (%150 lüks)',
220
- labelMagicNumber: 'Özgür Olmak İçin Sihirli Numaranız',
221
- labelMagicNumberDesc: 'Getirilerle yaşamak için gereken sermaye',
222
- labelTimeRemaining: 'Finansal özgürlüğe kalan süre',
223
- labelTimeRemainingFormat: '{years} yıl ve {months} ayınız kaldı',
224
- labelAlreadyFI: 'Zaten finansal özgürlüğe ulaştınız!',
225
- labelUnachievable: 'Bu tasarrufla hedefe ulaşılamaz',
226
- labelHiddenCostsChecklist: 'Gizli Gider Kontrol Listesi',
227
- labelHealth: 'Sağlık Sigortası (+200₺)',
228
- labelTaxes: 'Vergiler (+150₺)',
229
- labelHome: 'Ev Bakımı (+100₺)',
230
- labelTravel: 'Seyahat ve Eğlence (+300₺)',
231
- labelEmergency: 'Acil Durum Fonu (+100₺)',
232
- labelSubscriptions: 'Abonelikler (+50₺)',
233
- labelAdded: 'Eklendi:',
234
- labelSavePlan: 'Planı Kaydet',
235
- labelSWRTooltip: 'Safe Withdrawal Rate: Tasarruflarınızın bitme riski olmadan her yıl çekebileceğiniz yüzdesi.',
236
- labelReturnTooltip: 'Yıllık piyasa getirisi (enflasyon düşülmüş hali). Tarihsel standart %7\'dir.',
237
- currencySymbol: '₺',
238
- currencyCode: 'TRY',
239
- currencyLocale: 'tr-TR',
240
- },
241
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { FIRECalculatorUI } from '../ui';
5
+
6
+ const slug = 'fire-hesaplayici-yuzde-4-kurali';
7
+ const title = 'FIRE Hesaplayıcı: Finansal Özgürlüğünüz için %4 Kuralı';
8
+ 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.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '%4 Kuralı Nedir?',
13
+ 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.',
14
+ },
15
+ {
16
+ question: 'FIRE Nedir?',
17
+ 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.',
18
+ },
19
+ {
20
+ question: 'Sihirli Numaram Kaç?',
21
+ 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.',
22
+ },
23
+ {
24
+ question: 'Lean, Barista ve Fat FIRE Arasındaki Fark Nedir?',
25
+ 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).',
26
+ },
27
+ {
28
+ question: '%4 Kuralı Gerçekçi mi?',
29
+ 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.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Aylık Giderlerinizi Hesaplayın',
36
+ text: 'Konut, gıda, hizmetler ve eğlence dahil olmak üzere her ay gerçekte ne kadar harcadığınızı analiz edin.',
37
+ },
38
+ {
39
+ name: 'Güvenli Çekim Oranınızı Seçin',
40
+ text: '%4 Kuralı standarttır, ancak risk toleransınıza göre %2,5 (daha muhafazakar) ile %6 (daha agresif) arasında ayarlama yapabilirsiniz.',
41
+ },
42
+ {
43
+ name: 'Mevcut Mal Varlığınızı Girin',
44
+ text: 'Yatırımlarınızın, tasarruflarınızın ve pasif gelir getiren varlıklarınızın toplamını toplayın.',
45
+ },
46
+ {
47
+ name: 'İlerlemenizi Görselleştirin',
48
+ 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.',
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: 'tr',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<FIRECalculatorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faq: faqData,
91
+ bibliography,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: '%4 Kuralı: Erken Emekliliğin Kutsal Kasesi',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ 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.',
103
+ },
104
+ {
105
+ type: 'stats',
106
+ columns: 4,
107
+ items: [
108
+ { value: '%95', label: 'Tarihsel Başarı' },
109
+ { value: '50/50', label: 'Hisse/Tahvil Payı' },
110
+ { value: '30', label: 'Yıllık Ufuk' },
111
+ { value: '%4', label: 'Güvenli Çekim' },
112
+ ],
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'FIRE Hareketi Nedir?',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'list',
121
+ items: [
122
+ 'FIRE, Financial Independence, Retire Early (Finansal Bağımsızlık, Erken Emeklilik) ifadesinin kısaltmasıdır.',
123
+ 'Paranın kısıtlayıcı bir faktör olmadığı, zamanınızla ne yapacağınızı seçme özgürlüğünü arar.',
124
+ 'Tasarrufun optimizasyonu ve akıllı yatırıma dayanır.',
125
+ 'Hedef, varlıklarınızın giderlerinizi karşılayacak kadar nakit akışı yaratmasıdır.',
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Finansal Özgürlük Türleri',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'comparative',
135
+ columns: 3,
136
+ items: [
137
+ {
138
+ title: 'Lean FIRE',
139
+ description: 'Minimalist yaşam tarzı. Sadece temel hayatta kalma giderlerini karşılar.',
140
+ points: ['Ekstrem tasarruf', 'Çok düşük harcama', 'Sade özgürlük'],
141
+ },
142
+ {
143
+ title: 'Barista FIRE',
144
+ description: 'Yatırımlarınızın giderlerinizin yarısını karşıladığı hibrit durum.',
145
+ points: ['Keyif için çalışma', 'Sosyal güvence kapsamında', 'Daha az stres'],
146
+ },
147
+ {
148
+ title: 'Fat FIRE',
149
+ description: 'Lüks ve seyahate izin veren geniş bir bütçeyle emeklilik.',
150
+ points: ['Yüksek mal varlığı', 'Sıfır kısıtlama', 'Aile mirası'],
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ type: 'title',
156
+ text: 'FIRE Hesaplayıcımız Nasıl Kullanılır?',
157
+ level: 3,
158
+ },
159
+ {
160
+ type: 'list',
161
+ items: [
162
+ '<strong>Gider Takibi:</strong> Son 12 aydaki gerçek giderlerinizi analiz edin.',
163
+ '<strong>SWR Tanımı:</strong> Riskinize göre güvenli çekim oranınızı seçin.',
164
+ '<strong>Mevcut Mal Varlığı:</strong> Mevcut yatırımlarınızın değerini girin.',
165
+ '<strong>Tasarruf Kapasitesi:</strong> Hedefe ne kadar zamanınız kaldığını tahmin edin.',
166
+ '<strong>Görsel Analiz:</strong> Servetinizin büyüme grafiğini analiz edin.',
167
+ ],
168
+ },
169
+ {
170
+ type: 'title',
171
+ text: '%4 Kuralının Analizi',
172
+ level: 3,
173
+ },
174
+ {
175
+ type: 'comparative',
176
+ columns: 2,
177
+ items: [
178
+ {
179
+ title: 'Avantajlar',
180
+ description: '%4 kuralı neden işe yarıyor?',
181
+ points: [
182
+ 'Hızlı planlama için matematiksel basitlik.',
183
+ 'Neredeyse bir asırlık tarihsel verilere dayanır.',
184
+ 'Her türlü harcama seviyesine uyarlanabilir.',
185
+ ],
186
+ },
187
+ {
188
+ title: 'Sınırlamalar',
189
+ description: '%4 kuralı neleri kapsamaz?',
190
+ points: [
191
+ 'Getiri dizisi riskini hesaba katmaz.',
192
+ 'Esas olarak ABD piyasasına dayanır.',
193
+ 'Yerel vergilendirmedeki köklü değişiklikleri görmezden gelir.',
194
+ ],
195
+ },
196
+ ],
197
+ },
198
+ {
199
+ type: 'title',
200
+ text: 'Kritik Faktör: Enflasyon',
201
+ level: 3,
202
+ },
203
+ {
204
+ type: 'paragraph',
205
+ 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.',
206
+ },
207
+ ],
208
+ ui: {
209
+ labelTitle: 'FIRE Hesaplayıcı: %4 Kuralı',
210
+ 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.',
211
+ labelMonthlyExpenses: 'Aylık Giderler',
212
+ labelSWR: 'Çekim Oranı (SWR)',
213
+ labelCurrentWorth: 'Mevcut Mal Varlığı',
214
+ labelMonthlySavings: 'Aylık Tasarruf Kapasitesi',
215
+ labelAnnualReturn: 'Tahmini Getiri (Net)',
216
+ labelFreedomMilestones: 'Özgürlük Kilometre Taşları',
217
+ labelLeanFIRE: 'Lean FIRE (%70 hayatta kalma)',
218
+ labelBaristaFIRE: 'Barista FIRE (%50 gelir)',
219
+ labelFatFIRE: 'Fat FIRE (%150 lüks)',
220
+ labelMagicNumber: 'Özgür Olmak İçin Sihirli Numaranız',
221
+ labelMagicNumberDesc: 'Getirilerle yaşamak için gereken sermaye',
222
+ labelTimeRemaining: 'Finansal özgürlüğe kalan süre',
223
+ labelTimeRemainingFormat: '{years} yıl ve {months} ayınız kaldı',
224
+ labelAlreadyFI: 'Zaten finansal özgürlüğe ulaştınız!',
225
+ labelUnachievable: 'Bu tasarrufla hedefe ulaşılamaz',
226
+ labelHiddenCostsChecklist: 'Gizli Gider Kontrol Listesi',
227
+ labelHealth: 'Sağlık Sigortası (+200₺)',
228
+ labelTaxes: 'Vergiler (+150₺)',
229
+ labelHome: 'Ev Bakımı (+100₺)',
230
+ labelTravel: 'Seyahat ve Eğlence (+300₺)',
231
+ labelEmergency: 'Acil Durum Fonu (+100₺)',
232
+ labelSubscriptions: 'Abonelikler (+50₺)',
233
+ labelAdded: 'Eklendi:',
234
+ labelSavePlan: 'Planı Kaydet',
235
+ labelSWRTooltip: 'Safe Withdrawal Rate: Tasarruflarınızın bitme riski olmadan her yıl çekebileceğiniz yüzdesi.',
236
+ labelReturnTooltip: 'Yıllık piyasa getirisi (enflasyon düşülmüş hali). Tarihsel standart %7\'dir.',
237
+ currencySymbol: '₺',
238
+ currencyCode: 'TRY',
239
+ currencyLocale: 'tr-TR',
240
+ },
241
+ };