@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
@@ -2,9 +2,9 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { FIRECalculatorUI } from '../ui';
4
4
 
5
- const slug = 'four-percent-rule-fire-calculator-spain';
6
- const title = 'FIRE Calculator Spain: 4% Rule';
7
- const description = 'Calculate your financial independence number in Spain using the 4% rule. Plan your early retirement and visualize your path to financial freedom.';
5
+ const slug = 'four-percent-rule-fire-calculator';
6
+ const title = 'FIRE Calculator: 4% Rule';
7
+ const description = 'Calculate your financial independence number using the 4% rule. Plan your early retirement and visualize your path to financial freedom.';
8
8
 
9
9
  const faqData = [
10
10
  {
@@ -62,8 +62,8 @@ const bibliographyData = [
62
62
  url: 'https://www.multpl.com/shiller-pe',
63
63
  },
64
64
  {
65
- name: 'Bank of Spain - Financial Guidance',
66
- url: 'https://www.bde.es/bde/en/',
65
+ name: 'Investopedia - FIRE Guide',
66
+ url: 'https://www.investopedia.com/terms/f/financial-independence-retire-early-fire.asp',
67
67
  },
68
68
  ];
69
69
 
@@ -62,8 +62,8 @@ const bibliographyData = [
62
62
  url: 'https://www.multpl.com/shiller-pe',
63
63
  },
64
64
  {
65
- name: 'Spanish Financial Regulator - CNMV',
66
- url: 'https://www.cnmv.es/',
65
+ name: 'Bogleheads - Guía de Inversión',
66
+ url: 'https://bogleheads.es/',
67
67
  },
68
68
  ];
69
69
 
@@ -3,8 +3,8 @@ import type { ToolLocaleContent } from '../../../types';
3
3
  import type { FIRECalculatorUI } from '../ui';
4
4
 
5
5
  const slug = 'calculatrice-regle-4-pour-cent-fire';
6
- const title = 'Calculatrice FIRE Espagne: Règle des 4%';
7
- const description = 'Calculez votre chiffre magique pour l\'indépendance financière en Espagne. Planifiez votre retraite anticipée et visualisez votre chemin vers la liberté économique.';
6
+ const title = 'Calculatrice FIRE: Règle des 4%';
7
+ const description = 'Calculez votre chiffre magique pour l\'indépendance financière. Planifiez votre retraite anticipée et visualisez votre chemin vers la liberté économique.';
8
8
 
9
9
  const faqData = [
10
10
  {
@@ -36,7 +36,7 @@ const howToData = [
36
36
  },
37
37
  {
38
38
  name: 'Choisissez votre taux de retrait sûr',
39
- text: 'La Règle des 4% est standard, mais ajustez entre 2,5% (conservateur) et 6% (agressif) selon votre tolérance au risque.',
39
+ text: 'La Règle des 4% est standard, mas ajustez entre 2,5% (conservateur) et 6% (agressif) selon votre tolérance au risque.',
40
40
  },
41
41
  {
42
42
  name: 'Entrez votre patrimoine actuel',
@@ -62,8 +62,8 @@ const bibliographyData = [
62
62
  url: 'https://www.multpl.com/shiller-pe',
63
63
  },
64
64
  {
65
- name: 'Banque de France - Orientations Financières',
66
- url: 'https://www.banque-france.fr/',
65
+ name: 'Investopedia - FIRE Guide',
66
+ url: 'https://www.investopedia.com/terms/f/financial-independence-retire-early-fire.asp',
67
67
  },
68
68
  ];
69
69
 
@@ -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 = 'kalkulator-aturan-4-persen-fire';
6
+ const title = 'Kalkulator FIRE: Aturan 4% untuk Kebebasan Finansial Anda';
7
+ const description = 'Hitung angka ajaib Anda untuk kemandirian finansial menggunakan aturan 4%. Rencanakan pensiun dini Anda dan visualisasikan jalan Anda menuju kebebasan ekonomi.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Apa itu Aturan 4%?',
12
+ answer: 'Aturan 4% adalah strategi penarikan berdasarkan Studi Trinity yang menunjukkan bahwa Anda dapat menarik 4% dari kekayaan Anda pada tahun pertama pensiun, disesuaikan dengan inflasi pada tahun-tahun berikutnya, tanpa menghabiskan dana Anda dalam 30 tahun.',
13
+ },
14
+ {
15
+ question: 'Apa itu FIRE?',
16
+ answer: 'FIRE singkatan dari Financial Independence, Retire Early (Kemandirian Finansial, Pensiun Dini). Ini adalah gerakan yang mencari kebebasan ekonomi melalui kombinasi agresif dari tabungan dan investasi cerdas.',
17
+ },
18
+ {
19
+ question: 'Berapa angka ajaib saya?',
20
+ answer: 'Angka ajaib Anda adalah total kekayaan yang perlu Anda kumpulkan untuk bisa hidup dari imbal hasil tanpa bekerja. Ini dihitung dengan membagi pengeluaran tahunan Anda dengan tingkat penarikan aman (biasanya 4%).',
21
+ },
22
+ {
23
+ question: 'Apa perbedaan antara Lean, Barista, dan Fat FIRE?',
24
+ answer: 'Lean FIRE adalah hidup dengan pengeluaran minimal (70% dari pengeluaran saat ini), Barista FIRE adalah bekerja paruh waktu sementara imbal hasil menutup sisanya (50% dari pengeluaran), dan Fat FIRE adalah memiliki gaya hidup mewah (150% dari pengeluaran).',
25
+ },
26
+ {
27
+ question: 'Apakah Aturan 4% realistis?',
28
+ answer: 'Aturan 4% memiliki probabilitas keberhasilan historis sebesar 95% dalam portofolio 50/50 saham-obligasi selama 30 tahun. Namun, ini tidak mempertimbangkan risiko urutan imbal hasil dan terutama didasarkan pada data pasar AS.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Hitung pengeluaran bulanan Anda',
35
+ text: 'Analisis berapa banyak yang benar-benar Anda habiskan setiap bulan termasuk tempat tinggal, makanan, layanan, dan hiburan.',
36
+ },
37
+ {
38
+ name: 'Pilih tingkat penarikan aman Anda',
39
+ text: 'Aturan 4% adalah standar, tetapi Anda dapat menyesuaikan antara 2,5% (lebih konservatif) dan 6% (lebih agresif) sesuai toleransi risiko Anda.',
40
+ },
41
+ {
42
+ name: 'Masukkan kekayaan Anda saat ini',
43
+ text: 'Jumlahkan total investasi, tabungan, dan aset Anda yang menghasilkan pendapatan pasif.',
44
+ },
45
+ {
46
+ name: 'Visualisasikan kemajuan Anda',
47
+ text: 'Amati grafik pertumbuhan dan pencapaian kebebasan (Lean, Barista, Fat FIRE) untuk memahami kapan Anda akan mencapai tujuan Anda.',
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 - Panduan Investasi',
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: 'id',
102
+ };
103
+
104
+ export const content: ToolLocaleContent<FIRECalculatorUI> = {
105
+ slug,
106
+ title,
107
+ description,
108
+ faqTitle: 'Pertanyaan Umum tentang FIRE',
109
+ faq: faqData,
110
+ bibliographyTitle: 'Sumber dan Referensi',
111
+ bibliography: bibliographyData,
112
+ howTo: howToData,
113
+ schemas: [faqSchema, howToSchema, appSchema],
114
+ seo: [
115
+ {
116
+ type: 'title',
117
+ text: 'Aturan 4%: Cahawan Suci Pensiun Dini',
118
+ level: 2,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Temukan cara menghitung kekayaan yang Anda butuhkan untuk hidup dari imbal hasil selamanya. <strong>Aturan 4%</strong> muncul dari Studi Trinity, yang dilakukan pada tahun 1998 oleh tiga profesor keuangan. Mereka menganalisis data historis sejak 1926 untuk menentukan persentase berapa yang bisa ditarik setiap tahun tanpa menghabiskan portofolio dalam 30 tahun.',
123
+ },
124
+ {
125
+ type: 'stats',
126
+ columns: 4,
127
+ items: [
128
+ { value: '95%', label: 'Keberhasilan Historis' },
129
+ { value: '50/50', label: 'Campuran Saham/Obligasi' },
130
+ { value: '30', label: 'Tahun Horizon' },
131
+ { value: '4%', label: 'Penarikan Aman' },
132
+ ],
133
+ },
134
+ {
135
+ type: 'title',
136
+ text: 'Apa itu Gerakan FIRE?',
137
+ level: 3,
138
+ },
139
+ {
140
+ type: 'list',
141
+ items: [
142
+ 'FIRE adalah akronim dari Financial Independence, Retire Early (Kemandirian Finansial, Pensiun Dini).',
143
+ 'Mencari kebebasan untuk memilih apa yang harus dilakukan dengan waktu Anda tanpa uang menjadi kendala.',
144
+ 'Didasarkan pada optimalisasi tabungan dan investasi cerdas.',
145
+ 'Tujuannya adalah agar aset Anda menghasilkan arus kas yang cukup untuk menutup pengeluaran Anda.',
146
+ ],
147
+ },
148
+ {
149
+ type: 'title',
150
+ text: 'Jenis-jenis Kebebasan Finansial',
151
+ level: 3,
152
+ },
153
+ {
154
+ type: 'comparative',
155
+ columns: 3,
156
+ items: [
157
+ {
158
+ title: 'Lean FIRE',
159
+ description: 'Gaya hidup minimalis. Hanya mencakup pengeluaran dasar untuk bertahan hidup.',
160
+ points: ['Tabungan ekstrim', 'Pengeluaran sangat rendah', 'Kebebasan hemat'],
161
+ },
162
+ {
163
+ title: 'Barista FIRE',
164
+ description: 'Situasi hibrida di mana investasi Anda menutup setengah dari pengeluaran Anda.',
165
+ points: ['Bekerja demi kesenangan', 'Asuransi sosial tertutup', 'Stres lebih rendah'],
166
+ },
167
+ {
168
+ title: 'Fat FIRE',
169
+ description: 'Pensiun dengan anggaran besar yang memungkinkan kemewahan dan perjalanan.',
170
+ points: ['Kekayaan tinggi', 'Tanpa batasan', 'Warisan keluarga'],
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ type: 'title',
176
+ text: 'Bagaimana cara menggunakan Kalkulator FIRE kami?',
177
+ level: 3,
178
+ },
179
+ {
180
+ type: 'list',
181
+ items: [
182
+ '<strong>Pelacakan Pengeluaran:</strong> Analisis pengeluaran riil Anda selama 12 bulan terakhir.',
183
+ '<strong>Definisi SWR:</strong> Pilih tingkat penarikan aman Anda sesuai risiko Anda.',
184
+ '<strong>Kekayaan Saat Ini:</strong> Masukkan nilai investasi Anda saat ini.',
185
+ '<strong>Kapasitas Tabungan:</strong> Proyeksikan berapa lama waktu yang tersisa untuk mencapai target.',
186
+ '<strong>Visualisasi Visual:</strong> Analisis grafik pertumbuhan kekayaan Anda.',
187
+ ],
188
+ },
189
+ {
190
+ type: 'title',
191
+ text: 'Analisis Aturan 4%',
192
+ level: 3,
193
+ },
194
+ {
195
+ type: 'comparative',
196
+ columns: 2,
197
+ items: [
198
+ {
199
+ title: 'Keuntungan',
200
+ description: 'Mengapa aturan 4% berhasil',
201
+ points: [
202
+ 'Kesederhanaan matematis untuk perencanaan cepat.',
203
+ 'Berdasarkan data historis selama hampir satu abad.',
204
+ 'Dapat disesuaikan dengan tingkat pengeluaran apa pun.',
205
+ ],
206
+ },
207
+ {
208
+ title: 'Batasan',
209
+ description: 'Apa yang tidak dicakup oleh aturan 4%',
210
+ points: [
211
+ 'Tidak mempertimbangkan risiko urutan imbal hasil.',
212
+ 'Terutama didasarkan pada pasar AS.',
213
+ 'Mengabaikan perubahan drastis dalam perpajakan lokal.',
214
+ ],
215
+ },
216
+ ],
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Faktor Kritis: Inflasi',
221
+ level: 3,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'Ingatlah bahwa Rp1.000.000 hari ini tidak akan membeli hal yang sama di masa depan. Sangat penting menggunakan imbal hasil riil (setelah inflasi) agar proyeksi Anda mempertahankan daya beli saat ini. Aturan 4% mengasumsikan bahwa Anda menyesuaikan penarikan Anda setiap tahun berdasarkan inflasi.',
226
+ },
227
+ ],
228
+ ui: {
229
+ labelTitle: 'Kalkulator FIRE: Aturan 4%',
230
+ labelDescription: 'Hitung angka ajaib Anda untuk kemandirian finansial menggunakan aturan 4% dan visualisasikan pencapaian Anda menuju kebebasan.',
231
+ labelMonthlyExpenses: 'Pengeluaran Bulanan',
232
+ labelSWR: 'Tingkat Penarikan (SWR)',
233
+ labelCurrentWorth: 'Kekayaan Saat Ini',
234
+ labelMonthlySavings: 'Kapasitas Tabungan Bulanan',
235
+ labelAnnualReturn: 'Estimasi Imbal Hasil (Neto)',
236
+ labelFreedomMilestones: 'Pencapaian Kebebasan',
237
+ labelLeanFIRE: 'Lean FIRE (70% kelangsungan hidup)',
238
+ labelBaristaFIRE: 'Barista FIRE (50% pendapatan)',
239
+ labelFatFIRE: 'Fat FIRE (150% kemewahan)',
240
+ labelMagicNumber: 'Angka Ajaib Anda untuk Menjadi Bebas',
241
+ labelMagicNumberDesc: 'Modal yang dibutuhkan untuk hidup dari imbal hasil',
242
+ labelTimeRemaining: 'Waktu hingga kebebasan finansial',
243
+ labelTimeRemainingFormat: 'Kurang {years} tahun dan {months} bulan lagi',
244
+ labelAlreadyFI: 'Anda telah mencapai kebebasan finansial!',
245
+ labelUnachievable: 'Target tidak terjangkau dengan tabungan ini',
246
+ labelHiddenCostsChecklist: 'Checklist Pengeluaran Tersembunyi',
247
+ labelHealth: 'Asuransi Kesehatan (+200rb)',
248
+ labelTaxes: 'Pajak (+150rb)',
249
+ labelHome: 'Pemeliharaan Rumah (+100rb)',
250
+ labelTravel: 'Perjalanan dan Hiburan (+300rb)',
251
+ labelEmergency: 'Dana Darurat (+100rb)',
252
+ labelSubscriptions: 'Langganan (+50rb)',
253
+ labelAdded: 'Ditambahkan:',
254
+ labelSavePlan: 'Simpan Rencana',
255
+ labelSWRTooltip: 'Safe Withdrawal Rate: Persentase tabungan Anda yang dapat Anda tarik setiap tahun tanpa kehabisan uang.',
256
+ labelReturnTooltip: 'Imbal hasil pasar tahunan (sudah dikurangi inflasi). Standar historis adalah 7%.',
257
+ currencySymbol: 'Rp',
258
+ currencyCode: 'IDR',
259
+ currencyLocale: 'id-ID',
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 = 'calcolatore-regola-4-per-cento-fire';
6
+ const title = 'Calcolatore FIRE: Regola del 4% per la tua Libertà Finanziaria';
7
+ const description = 'Calcola il tuo numero magico per l’indipendenza finanziaria usando la regola del 4%. Pianifica il tuo pensionamento anticipato e visualizza il tuo percorso verso la libertà economica.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Cos’è la Regola del 4%?',
12
+ answer: 'La Regola del 4% è una strategia di prelievo basata sullo Studio Trinity che indica che puoi prelevare il 4% del tuo patrimonio il primo anno di pensionamento, adeguandolo all’inflazione negli anni successivi, senza esaurire i fondi in 30 anni.',
13
+ },
14
+ {
15
+ question: 'Cos’è FIRE?',
16
+ answer: 'FIRE sta per Financial Independence, Retire Early (Indipendenza Finanziaria, Pensionamento Anticipato). È un movimento che mira a raggiungere la libertà economica attraverso una combinazione aggressiva di risparmio e investimento intelligente.',
17
+ },
18
+ {
19
+ question: 'Qual è il mio numero magico?',
20
+ answer: 'Il tuo numero magico è il patrimonio totale che devi accumulare per poter vivere di rendita senza lavorare. Si calcola dividendo le tue spese annuali per il tasso di prelievo sicuro (solitamente il 4%).',
21
+ },
22
+ {
23
+ question: 'Che differenza c’è tra Lean, Barista e Fat FIRE?',
24
+ answer: 'Lean FIRE significa vivere con spese minime (70% delle spese attuali), Barista FIRE significa lavorare part-time mentre le rendite coprono il resto (50% delle spese), e Fat FIRE significa avere uno stile di vita agiato (150% delle spese).',
25
+ },
26
+ {
27
+ question: 'La Regola del 4% è realistica?',
28
+ answer: 'La Regola del 4% ha una probabilità storica di successo del 95% in un portafoglio 50/50 azioni-obbligazioni per 30 anni. Tuttavia, non contempla il rischio di sequenza dei rendimenti e si basa principalmente sui dati del mercato statunitense.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Calcola le tue spese mensili',
35
+ text: 'Analizza quanto spendi realmente ogni mese, inclusi alloggio, cibo, servizi e intrattenimento.',
36
+ },
37
+ {
38
+ name: 'Scegli il tuo tasso di prelievo sicuro',
39
+ text: 'La Regola del 4% è lo standard, ma puoi regolare tra il 2,5% (più conservativo) e il 6% (più aggressivo) a seconda della tua tolleranza al rischio.',
40
+ },
41
+ {
42
+ name: 'Inserisci il tuo patrimonio attuale',
43
+ text: 'Somma il totale dei tuoi investimenti, risparmi e attività che generano reddito passivo.',
44
+ },
45
+ {
46
+ name: 'Visualizza i tuoi progressi',
47
+ text: 'Osserva il grafico di crescita e le tappe della libertà (Lean, Barista, Fat FIRE) per capire quando raggiungerai il tuo obiettivo.',
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 - Guida all’Investimento',
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: 'it',
102
+ };
103
+
104
+ export const content: ToolLocaleContent<FIRECalculatorUI> = {
105
+ slug,
106
+ title,
107
+ description,
108
+ faqTitle: 'Domande Frequenti su FIRE',
109
+ faq: faqData,
110
+ bibliographyTitle: 'Fonti e Riferimenti',
111
+ bibliography: bibliographyData,
112
+ howTo: howToData,
113
+ schemas: [faqSchema, howToSchema, appSchema],
114
+ seo: [
115
+ {
116
+ type: 'title',
117
+ text: 'Regola del 4%: Il Santo Graal del Pensionamento Anticipato',
118
+ level: 2,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Scopri come calcolare il patrimonio necessario per vivere di rendita per sempre. La <strong>Regola del 4%</strong> è nata dallo Studio Trinity, condotto nel 1998 da tre professori di finanza. Hanno analizzato i dati storici dal 1926 per determinare quale percentuale potesse essere prelevata annualmente senza esaurire il portafoglio in 30 anni.',
123
+ },
124
+ {
125
+ type: 'stats',
126
+ columns: 4,
127
+ items: [
128
+ { value: '95%', label: 'Successo Storico' },
129
+ { value: '50/50', label: 'Mix Azioni/Obbligazioni' },
130
+ { value: '30', label: 'Anni di Orizzonte' },
131
+ { value: '4%', label: 'Prelievo Sicuro' },
132
+ ],
133
+ },
134
+ {
135
+ type: 'title',
136
+ text: 'Cos’è il Movimento FIRE?',
137
+ level: 3,
138
+ },
139
+ {
140
+ type: 'list',
141
+ items: [
142
+ 'FIRE è l’acronimo di Financial Independence, Retire Early (Indipendenza Finanziaria, Pensionamento Anticipato).',
143
+ 'Cerca la libertà di scegliere cosa fare del proprio tempo senza che il denaro sia un vincolo.',
144
+ 'Si basa sull’ottimizzazione del risparmio e sull’investimento intelligente.',
145
+ 'L’obiettivo è che i tuoi asset generino un flusso di cassa sufficiente a coprire le tue spese.',
146
+ ],
147
+ },
148
+ {
149
+ type: 'title',
150
+ text: 'Tipi di Libertà Finanziaria',
151
+ level: 3,
152
+ },
153
+ {
154
+ type: 'comparative',
155
+ columns: 3,
156
+ items: [
157
+ {
158
+ title: 'Lean FIRE',
159
+ description: 'Stile di vita minimalista. Copre solo le spese di base per la sopravvivenza.',
160
+ points: ['Risparmio estremo', 'Spese molto basse', 'Libertà frugale'],
161
+ },
162
+ {
163
+ title: 'Barista FIRE',
164
+ description: 'Situazione ibrida in cui i tuoi investimenti coprono la metà delle tue spese.',
165
+ points: ['Lavoro per piacere', 'Copertura previdenziale', 'Minore stress'],
166
+ },
167
+ {
168
+ title: 'Fat FIRE',
169
+ description: 'Pensionamento con un budget generoso che permette lussi e viaggi.',
170
+ points: ['Alto patrimonio', 'Nessuna restrizione', 'Eredità familiare'],
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ type: 'title',
176
+ text: 'Come usare il nostro Calcolatore FIRE?',
177
+ level: 3,
178
+ },
179
+ {
180
+ type: 'list',
181
+ items: [
182
+ '<strong>Tracciamento Spese:</strong> Analizza le tue spese reali degli ultimi 12 mesi.',
183
+ '<strong>Definizione SWR:</strong> Scegli il tuo tasso di prelievo sicuro in base al rischio.',
184
+ '<strong>Patrimonio Attuale:</strong> Inserisci il valore dei tuoi investimenti attuali.',
185
+ '<strong>Capacità di Risparmio:</strong> Proietta quanto tempo ti manca all’obiettivo.',
186
+ '<strong>Visualizzazione Grafica:</strong> Analizza il grafico di crescita della tua ricchezza.',
187
+ ],
188
+ },
189
+ {
190
+ type: 'title',
191
+ text: 'Analisi della Regola del 4%',
192
+ level: 3,
193
+ },
194
+ {
195
+ type: 'comparative',
196
+ columns: 2,
197
+ items: [
198
+ {
199
+ title: 'Vantaggi',
200
+ description: 'Perché la regola del 4% funziona',
201
+ points: [
202
+ 'Semplicità matematica per una pianificazione rapida.',
203
+ 'Basata su dati storici di quasi un secolo.',
204
+ 'Adattabile a qualsiasi livello di spesa.',
205
+ ],
206
+ },
207
+ {
208
+ title: 'Limitazioni',
209
+ description: 'Cosa non copre la regola del 4%',
210
+ points: [
211
+ 'Non contempla il rischio di sequenza dei rendimenti.',
212
+ 'Basata principalmente sul mercato statunitense.',
213
+ 'Ignora cambiamenti drastici nella fiscalità locale.',
214
+ ],
215
+ },
216
+ ],
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Fattore Critico: L’Inflazione',
221
+ level: 3,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'Ricorda che 1.000€ oggi non compreranno la stessa cosa in futuro. È vitale usare rendimenti reali (al netto dell’inflazione) affinché le tue proiezioni mantengano il potere d’acquisto attuale. La Regola del 4% assume che tu adegui i tuoi prelievi annualmente all’inflazione.',
226
+ },
227
+ ],
228
+ ui: {
229
+ labelTitle: 'Calcolatore FIRE: Regola del 4%',
230
+ labelDescription: 'Calcola il tuo numero magico per l’indipendenza finanziaria usando la regola del 4% e visualizza le tue tappe verso la libertà.',
231
+ labelMonthlyExpenses: 'Spese Mensili',
232
+ labelSWR: 'Tasso di Prelievo (SWR)',
233
+ labelCurrentWorth: 'Patrimonio Attuale',
234
+ labelMonthlySavings: 'Capacità di Risparmio Mensile',
235
+ labelAnnualReturn: 'Rendimento Stimato (Netto)',
236
+ labelFreedomMilestones: 'Tappe della Libertà',
237
+ labelLeanFIRE: 'Lean FIRE (70% sopravvivenza)',
238
+ labelBaristaFIRE: 'Barista FIRE (50% reddito)',
239
+ labelFatFIRE: 'Fat FIRE (150% lusso)',
240
+ labelMagicNumber: 'Il tuo Numero Magico per essere Libero',
241
+ labelMagicNumberDesc: 'Capitale necessario per vivere di rendita',
242
+ labelTimeRemaining: 'Tempo alla libertà finanziaria',
243
+ labelTimeRemainingFormat: 'Ti mancano {years} anni e {months} mesi',
244
+ labelAlreadyFI: 'Hai già raggiunto la libertà finanziaria!',
245
+ labelUnachievable: 'Obiettivo irraggiungibile con questo risparmio',
246
+ labelHiddenCostsChecklist: 'Checklist Spese Nascoste',
247
+ labelHealth: 'Assicurazione Sanitaria (+200€)',
248
+ labelTaxes: 'Tasse (+150€)',
249
+ labelHome: 'Manutenzione Casa (+100€)',
250
+ labelTravel: 'Viaggi e Svago (+300€)',
251
+ labelEmergency: 'Fondo Emergenze (+100€)',
252
+ labelSubscriptions: 'Abbonamenti (+50€)',
253
+ labelAdded: 'Aggiunto:',
254
+ labelSavePlan: 'Salva Piano',
255
+ labelSWRTooltip: 'Safe Withdrawal Rate: Percentuale dei tuoi risparmi che puoi prelevare ogni anno senza esaurire i soldi.',
256
+ labelReturnTooltip: 'Rendimento annuale del mercato (già al netto dell’inflazione). Lo standard storico è il 7%.',
257
+ currencySymbol: '€',
258
+ currencyCode: 'EUR',
259
+ currencyLocale: 'it-IT',
260
+ },
261
+ };