@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,210 +1,210 @@
1
- import { bibliography } from '../bibliography'
2
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { MortgageUI } from '../ui';
5
-
6
- const slug = 'mutuo';
7
- const title = 'Simulatore di Mutuo e Piano di Ammortamento alla Francese';
8
- const description =
9
- 'Calcola la tua rata mensile del mutuo, scopri quanto pagherai d\'interessi e visualizza istantaneamente il tuo piano di ammortamento completo.';
10
-
11
- const faqData = [
12
- {
13
- question: 'Cos\'è il sistema di ammortamento francese?',
14
- answer:
15
- 'È il sistema più utilizzato. La rata mensile rimane costante, ma all\'inizio paghi quasi solo interessi e pochissimo capitale. Alla fine, avviene il contrario. Per questo estinguere anticipatamente il mutuo è più vantaggioso nei primi anni.',
16
- },
17
- {
18
- question: 'Tasso fisso o variabile nel 2026?',
19
- answer:
20
- 'Tasso fisso: paghi di più ora ma dormi tranquillo per 30 anni. Tasso variabile: può essere più economico oggi, ma se i tassi salgono, la tua rata può schizzare e soffocare la tua economia. Dipende dalla tua avversione al rischio.',
21
- },
22
- {
23
- question: 'Quanto risparmio se estinguo 10.000€ anticipatamente?',
24
- answer:
25
- 'Dipende dal momento. Se ammortizzi nel primo anno di un mutuo di 200.000€ al 3%, puoi risparmiare oltre 15.000€ di interessi. Se lo fai al 20° anno, risparmi a malapena 2.000€. Il tempismo è cruciale.',
26
- },
27
- {
28
- question: 'Quale percentuale del mio stipendio dovrei destinare al mutuo?',
29
- answer:
30
- 'La raccomandazione generale è di non superare il 30-35% dei tuoi ingressi netti mensili (includendo altri debiti). Superare questa soglia aumenta significativamente il rischio di insolvenza in caso di imprevisti.',
31
- },
32
- ];
33
-
34
- const howToData = [
35
- {
36
- name: 'Inserire l\'importo del prestito',
37
- text: 'Scrivi la cifra totale che devi richiedere alla banca (sottraendo i tuoi risparmi versati come anticipo).',
38
- },
39
- {
40
- name: 'Regolare il tasso di interesse',
41
- text: 'Inserisci il TAN (Tasso Annuo Nominale) offerto dall\'istituto. Puoi confrontare tra tasso fisso o variabile.',
42
- },
43
- {
44
- name: 'Scegliere la durata del rimborso',
45
- text: 'Definisci in quanti anni vuoi restituire il prestito. Aumentando gli anni, la rata diminuisce ma pagherai più interessi totali.',
46
- },
47
- {
48
- name: 'Analizzare il piano di ammortamento',
49
- text: 'Controlla mese per mese l\'evoluzione del tuo debito e quanta parte della tua rata è destinata agli interessi rispetto al capitale.',
50
- },
51
- ];
52
-
53
- const faqSchema: WithContext<FAQPage> = {
54
- '@context': 'https://schema.org',
55
- '@type': 'FAQPage',
56
- mainEntity: faqData.map((item) => ({
57
- '@type': 'Question',
58
- name: item.question,
59
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
- })),
61
- };
62
-
63
- const howToSchema: WithContext<HowTo> = {
64
- '@context': 'https://schema.org',
65
- '@type': 'HowTo',
66
- name: title,
67
- description,
68
- step: howToData.map((step, i) => ({
69
- '@type': 'HowToStep',
70
- position: i + 1,
71
- name: step.name,
72
- text: step.text,
73
- })),
74
- };
75
-
76
- const appSchema: WithContext<SoftwareApplication> = {
77
- '@context': 'https://schema.org',
78
- '@type': 'SoftwareApplication',
79
- name: title,
80
- description,
81
- applicationCategory: 'FinanceApplication',
82
- operatingSystem: 'All',
83
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
84
- inLanguage: 'it',
85
- };
86
-
87
- export const content: ToolLocaleContent<MortgageUI> = {
88
- slug,
89
- title,
90
- description,
91
- faq: faqData,
92
- bibliography,
93
-
94
- howTo: howToData,
95
- schemas: [faqSchema, howToSchema, appSchema],
96
- seo: [
97
- {
98
- type: 'title',
99
- text: 'Guida Completa ai Mutui: Sistema Francese e Ammortamento',
100
- level: 2,
101
- },
102
- {
103
- type: 'paragraph',
104
- html: 'Il mutuo è probabilmente il debito più grande che contrarrai nella tua vita. Capire come funziona il sistema di ammortamento alla francese è fondamentale per prendere decisioni intelligenti che possono farti risparmiare decine di migliaia di euro.',
105
- },
106
- {
107
- type: 'title',
108
- text: 'La "Trappola" del Sistema Francese: Capire la Composizione della tua Rata',
109
- level: 3,
110
- },
111
- {
112
- type: 'paragraph',
113
- html: 'In Italia, la maggior parte dei mutui utilizza il <strong>Sistema di Ammortamento Francese</strong>. La sua caratteristica principale è che la rata mensile rimane costante (se il tasso è fisso), ma la sua composizione cambia radicalmente nel tempo.',
114
- },
115
- {
116
- type: 'tip',
117
- title: 'Come si Evolverà la tua Rata',
118
- html: '<p><strong>All\'inizio (Anni 1-10):</strong> Paghi quasi solo INTERESSI e restituisci pochissimo capitale. Su un mutuo di 250.000€ al 3%, il tuo primo pagamento potrebbe essere per l\'80% composto da interessi.</p><p><strong>A metà (Anni 11-25):</strong> La proporzione si equilibra gradualmente.</p><p><strong>Alla fine (Anni 26-30):</strong> Paghi quasi tutto CAPITALE e pochissimi interessi.</p>',
119
- },
120
- {
121
- type: 'paragraph',
122
- html: 'Per questo motivo, se hai intenzione di <strong>estinguere il mutuo</strong> (anticipare somme), è molto più vantaggioso farlo nei primi anni del prestito. Estinguere 10.000€ nel primo anno può farti risparmiare oltre 15.000€ di interessi. Lo stesso anticipo al ventesimo anno ti fa risparmiare a malapena 2.000€.',
123
- },
124
- {
125
- type: 'title',
126
- text: 'Quanti Soldi Dovrei Destinare al Mutuo?',
127
- level: 3,
128
- },
129
- {
130
- type: 'paragraph',
131
- html: 'La Banca d\'Italia raccomanda che il mutuo <strong>non superi il 30-35% del tuo reddito netto mensile</strong>. Se superi questa soglia, aumenti significativamente il rischio di default in caso di imprevisti (perdita del lavoro, malattie, ecc.).',
132
- },
133
- {
134
- type: 'title',
135
- text: 'Contesto 2026: Tasso Fisso vs Variabile',
136
- level: 3,
137
- },
138
- {
139
- type: 'paragraph',
140
- html: 'Con l\'Euribor fluttuante, scegliere tra <strong>Tasso Fisso</strong> o <strong>Tasso Variabile</strong> è una decisione strategica che può costare migliaia di euro all\'anno.',
141
- },
142
- {
143
- type: 'comparative',
144
- columns: 2,
145
- items: [
146
- {
147
- title: 'Tasso Fisso',
148
- description: 'Paghi un po\' di più ora, ma dormi sereno sapendo che la tua rata non aumenterà mai.',
149
- points: [
150
- 'Rata prevedibile per 30 anni',
151
- 'Protezione contro il rialzo dei tassi',
152
- 'Pace mentale in un\'economia incerta',
153
- 'Ideale per budget limitati',
154
- ],
155
- },
156
- {
157
- title: 'Tasso Variabile',
158
- description: 'Può essere più economico oggi, ma espone la tua economia alla volatilità.',
159
- highlight: true,
160
- points: [
161
- 'Rata iniziale più bassa',
162
- 'Rischio di rialzo dei tassi',
163
- 'Possibile impatto grave sul budget',
164
- 'Solo per chi tollera rischi elevati',
165
- ],
166
- },
167
- ],
168
- },
169
- {
170
- type: 'tip',
171
- title: 'La Decisione Fisso vs Variabile Dipende dal tuo Profilo',
172
- html: '<p><strong>Scegli il Tasso Fisso se:</strong> Il tuo budget è limitato, cerchi certezza e non tolleri sgradevoli sorprese mensili.</p><p><strong>Scegli il Tasso Variabile se:</strong> Hai un cuscinetto finanziario, credi che i tassi scenderanno o il tuo mutuo è di piccolo importo o a breve termine.</p>',
173
- },
174
- ],
175
- ui: {
176
- labelTitle: 'Calcolatore Mutuo',
177
- labelLoanAmount: 'Importo Prestito',
178
- labelInterestRate: 'Interesse (TAN)',
179
- labelYears: 'Durata (Anni)',
180
- labelMonthlyExtra: 'Aggiungi Risparmio Mensile',
181
- labelMonthlyPayment: 'Rata Mensile',
182
- labelMonthCount: 'mesi',
183
- labelSavingsCard: 'Il tuo Risparmio Potenziale',
184
- labelSavingsInterest: 'Interessi',
185
- labelSavingsTime: 'Tempo',
186
- labelTimelineComparison: 'Confronto Temporale',
187
- labelTimelineOriginal: 'Durata Originale',
188
- labelTimelineOptimized: 'Durata con Ammortamento',
189
- labelCostBreakdown: 'Dettaglio Costi Totali',
190
- labelBorrowed: 'Prestato',
191
- labelTotalBorrowed: 'Totale Prestato',
192
- labelTotalInterest: 'Totale Interessi',
193
- labelAmortizationTable: 'Piano di Ammortamento',
194
- labelTableHeader: 'Vedi tabella completa',
195
- labelViewAll: 'Vedi tutto',
196
- labelPaid: 'Mutuo Pagato',
197
- labelTableMonth: 'Mese',
198
- labelTableInterest: 'Interesse',
199
- labelTablePrincipal: 'Capitale',
200
- labelTableExtra: 'Extra',
201
- labelTableBalance: 'Residuo',
202
- labelMoreMonths: 'altri mesi',
203
- labelMonth: 'Mese',
204
- currencySymbol: '€',
205
- currencyCode: 'EUR',
206
- currencyLocale: 'it-IT',
207
- monthPlural: 'mesi',
208
- yearPlural: 'anni',
209
- },
210
- };
1
+ import { bibliography } from '../bibliography'
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { MortgageUI } from '../ui';
5
+
6
+ const slug = 'mutuo';
7
+ const title = 'Simulatore di Mutuo e Piano di Ammortamento alla Francese';
8
+ const description =
9
+ 'Calcola la tua rata mensile del mutuo, scopri quanto pagherai d\'interessi e visualizza istantaneamente il tuo piano di ammortamento completo.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Cos\'è il sistema di ammortamento francese?',
14
+ answer:
15
+ 'È il sistema più utilizzato. La rata mensile rimane costante, ma all\'inizio paghi quasi solo interessi e pochissimo capitale. Alla fine, avviene il contrario. Per questo estinguere anticipatamente il mutuo è più vantaggioso nei primi anni.',
16
+ },
17
+ {
18
+ question: 'Tasso fisso o variabile nel 2026?',
19
+ answer:
20
+ 'Tasso fisso: paghi di più ora ma dormi tranquillo per 30 anni. Tasso variabile: può essere più economico oggi, ma se i tassi salgono, la tua rata può schizzare e soffocare la tua economia. Dipende dalla tua avversione al rischio.',
21
+ },
22
+ {
23
+ question: 'Quanto risparmio se estinguo 10.000€ anticipatamente?',
24
+ answer:
25
+ 'Dipende dal momento. Se ammortizzi nel primo anno di un mutuo di 200.000€ al 3%, puoi risparmiare oltre 15.000€ di interessi. Se lo fai al 20° anno, risparmi a malapena 2.000€. Il tempismo è cruciale.',
26
+ },
27
+ {
28
+ question: 'Quale percentuale del mio stipendio dovrei destinare al mutuo?',
29
+ answer:
30
+ 'La raccomandazione generale è di non superare il 30-35% dei tuoi ingressi netti mensili (includendo altri debiti). Superare questa soglia aumenta significativamente il rischio di insolvenza in caso di imprevisti.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Inserire l\'importo del prestito',
37
+ text: 'Scrivi la cifra totale che devi richiedere alla banca (sottraendo i tuoi risparmi versati come anticipo).',
38
+ },
39
+ {
40
+ name: 'Regolare il tasso di interesse',
41
+ text: 'Inserisci il TAN (Tasso Annuo Nominale) offerto dall\'istituto. Puoi confrontare tra tasso fisso o variabile.',
42
+ },
43
+ {
44
+ name: 'Scegliere la durata del rimborso',
45
+ text: 'Definisci in quanti anni vuoi restituire il prestito. Aumentando gli anni, la rata diminuisce ma pagherai più interessi totali.',
46
+ },
47
+ {
48
+ name: 'Analizzare il piano di ammortamento',
49
+ text: 'Controlla mese per mese l\'evoluzione del tuo debito e quanta parte della tua rata è destinata agli interessi rispetto al capitale.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema: WithContext<FAQPage> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'FAQPage',
56
+ mainEntity: faqData.map((item) => ({
57
+ '@type': 'Question',
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema: WithContext<HowTo> = {
64
+ '@context': 'https://schema.org',
65
+ '@type': 'HowTo',
66
+ name: title,
67
+ description,
68
+ step: howToData.map((step, i) => ({
69
+ '@type': 'HowToStep',
70
+ position: i + 1,
71
+ name: step.name,
72
+ text: step.text,
73
+ })),
74
+ };
75
+
76
+ const appSchema: WithContext<SoftwareApplication> = {
77
+ '@context': 'https://schema.org',
78
+ '@type': 'SoftwareApplication',
79
+ name: title,
80
+ description,
81
+ applicationCategory: 'FinanceApplication',
82
+ operatingSystem: 'All',
83
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
84
+ inLanguage: 'it',
85
+ };
86
+
87
+ export const content: ToolLocaleContent<MortgageUI> = {
88
+ slug,
89
+ title,
90
+ description,
91
+ faq: faqData,
92
+ bibliography,
93
+
94
+ howTo: howToData,
95
+ schemas: [faqSchema, howToSchema, appSchema],
96
+ seo: [
97
+ {
98
+ type: 'title',
99
+ text: 'Guida Completa ai Mutui: Sistema Francese e Ammortamento',
100
+ level: 2,
101
+ },
102
+ {
103
+ type: 'paragraph',
104
+ html: 'Il mutuo è probabilmente il debito più grande che contrarrai nella tua vita. Capire come funziona il sistema di ammortamento alla francese è fondamentale per prendere decisioni intelligenti che possono farti risparmiare decine di migliaia di euro.',
105
+ },
106
+ {
107
+ type: 'title',
108
+ text: 'La "Trappola" del Sistema Francese: Capire la Composizione della tua Rata',
109
+ level: 3,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'In Italia, la maggior parte dei mutui utilizza il <strong>Sistema di Ammortamento Francese</strong>. La sua caratteristica principale è che la rata mensile rimane costante (se il tasso è fisso), ma la sua composizione cambia radicalmente nel tempo.',
114
+ },
115
+ {
116
+ type: 'tip',
117
+ title: 'Come si Evolverà la tua Rata',
118
+ html: '<p><strong>All\'inizio (Anni 1-10):</strong> Paghi quasi solo INTERESSI e restituisci pochissimo capitale. Su un mutuo di 250.000€ al 3%, il tuo primo pagamento potrebbe essere per l\'80% composto da interessi.</p><p><strong>A metà (Anni 11-25):</strong> La proporzione si equilibra gradualmente.</p><p><strong>Alla fine (Anni 26-30):</strong> Paghi quasi tutto CAPITALE e pochissimi interessi.</p>',
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Per questo motivo, se hai intenzione di <strong>estinguere il mutuo</strong> (anticipare somme), è molto più vantaggioso farlo nei primi anni del prestito. Estinguere 10.000€ nel primo anno può farti risparmiare oltre 15.000€ di interessi. Lo stesso anticipo al ventesimo anno ti fa risparmiare a malapena 2.000€.',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Quanti Soldi Dovrei Destinare al Mutuo?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'La Banca d\'Italia raccomanda che il mutuo <strong>non superi il 30-35% del tuo reddito netto mensile</strong>. Se superi questa soglia, aumenti significativamente il rischio di default in caso di imprevisti (perdita del lavoro, malattie, ecc.).',
132
+ },
133
+ {
134
+ type: 'title',
135
+ text: 'Contesto 2026: Tasso Fisso vs Variabile',
136
+ level: 3,
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'Con l\'Euribor fluttuante, scegliere tra <strong>Tasso Fisso</strong> o <strong>Tasso Variabile</strong> è una decisione strategica che può costare migliaia di euro all\'anno.',
141
+ },
142
+ {
143
+ type: 'comparative',
144
+ columns: 2,
145
+ items: [
146
+ {
147
+ title: 'Tasso Fisso',
148
+ description: 'Paghi un po\' di più ora, ma dormi sereno sapendo che la tua rata non aumenterà mai.',
149
+ points: [
150
+ 'Rata prevedibile per 30 anni',
151
+ 'Protezione contro il rialzo dei tassi',
152
+ 'Pace mentale in un\'economia incerta',
153
+ 'Ideale per budget limitati',
154
+ ],
155
+ },
156
+ {
157
+ title: 'Tasso Variabile',
158
+ description: 'Può essere più economico oggi, ma espone la tua economia alla volatilità.',
159
+ highlight: true,
160
+ points: [
161
+ 'Rata iniziale più bassa',
162
+ 'Rischio di rialzo dei tassi',
163
+ 'Possibile impatto grave sul budget',
164
+ 'Solo per chi tollera rischi elevati',
165
+ ],
166
+ },
167
+ ],
168
+ },
169
+ {
170
+ type: 'tip',
171
+ title: 'La Decisione Fisso vs Variabile Dipende dal tuo Profilo',
172
+ html: '<p><strong>Scegli il Tasso Fisso se:</strong> Il tuo budget è limitato, cerchi certezza e non tolleri sgradevoli sorprese mensili.</p><p><strong>Scegli il Tasso Variabile se:</strong> Hai un cuscinetto finanziario, credi che i tassi scenderanno o il tuo mutuo è di piccolo importo o a breve termine.</p>',
173
+ },
174
+ ],
175
+ ui: {
176
+ labelTitle: 'Calcolatore Mutuo',
177
+ labelLoanAmount: 'Importo Prestito',
178
+ labelInterestRate: 'Interesse (TAN)',
179
+ labelYears: 'Durata (Anni)',
180
+ labelMonthlyExtra: 'Aggiungi Risparmio Mensile',
181
+ labelMonthlyPayment: 'Rata Mensile',
182
+ labelMonthCount: 'mesi',
183
+ labelSavingsCard: 'Il tuo Risparmio Potenziale',
184
+ labelSavingsInterest: 'Interessi',
185
+ labelSavingsTime: 'Tempo',
186
+ labelTimelineComparison: 'Confronto Temporale',
187
+ labelTimelineOriginal: 'Durata Originale',
188
+ labelTimelineOptimized: 'Durata con Ammortamento',
189
+ labelCostBreakdown: 'Dettaglio Costi Totali',
190
+ labelBorrowed: 'Prestato',
191
+ labelTotalBorrowed: 'Totale Prestato',
192
+ labelTotalInterest: 'Totale Interessi',
193
+ labelAmortizationTable: 'Piano di Ammortamento',
194
+ labelTableHeader: 'Vedi tabella completa',
195
+ labelViewAll: 'Vedi tutto',
196
+ labelPaid: 'Mutuo Pagato',
197
+ labelTableMonth: 'Mese',
198
+ labelTableInterest: 'Interesse',
199
+ labelTablePrincipal: 'Capitale',
200
+ labelTableExtra: 'Extra',
201
+ labelTableBalance: 'Residuo',
202
+ labelMoreMonths: 'altri mesi',
203
+ labelMonth: 'Mese',
204
+ currencySymbol: '€',
205
+ currencyCode: 'EUR',
206
+ currencyLocale: 'it-IT',
207
+ monthPlural: 'mesi',
208
+ yearPlural: 'anni',
209
+ },
210
+ };