@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,125 +1,125 @@
1
- import { bibliography } from '../bibliography';
2
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { RentIncreaseUI } from '../ui';
5
-
6
- const slug = 'calcolatore-aumento-affitto-spagna-ipc';
7
- const title = 'Calcolatore Aumento Affitto Spagna IPC: Limite 3%';
8
- const description = 'Calcola l\'aggiornamento del tuo affitto con l\'IPC o il limite legale del 3% secondo la Legge spagnola sulla Casa.';
9
-
10
- const faqData = [
11
- {
12
- question: 'Qual è l\'aumento massimo dell\'affitto consentito nel 2024 e 2025?',
13
- answer: 'Secondo la Legge 12/2023 per il Diritto alla Casa, per gli anni 2024 e 2025, l\'incremento massimo annuale del canone negli affitti abitativi è limitato per legge al 3%.',
14
- },
15
- {
16
- question: 'È obbligatorio aumentare l\'affitto ogni anno con l\'IPC?',
17
- answer: 'Non è obbligatorio per legge. Perché l\'affitto aumenti, il contratto deve includere una clausola esplicita che menzioni l\'aggiornamento annuale.',
18
- },
19
- {
20
- question: 'Con quanto anticipo deve notificare il proprietario l\'aumento?',
21
- answer: 'Il proprietario deve comunicare l\'aumento per iscritto all\'inquilino con almeno un mese di anticipo (30 giorni).',
22
- },
23
- {
24
- question: 'Cosa succede se l\'IPC è superiore al limite legale del 3%?',
25
- answer: 'Anche se l\'IPC reale è superiore, il proprietario di un\'abitazione principale non può richiedere legalmente un aumento superiore al 3% durante il 2024 e il 2025.',
26
- },
27
-
28
- { question: "Cosa devo verificare prima di usare il risultato?", answer: "Controlla dati, unità, ipotesi e limiti; è un'indicazione, non una decisione ufficiale." },];
29
-
30
- const howToData = [
31
- {
32
- name: 'Inserisci l\'affitto attuale',
33
- text: 'Scrivi il canone mensile che paghi attualmente.',
34
- },
35
- {
36
- name: 'Scegli la modalità di calcolo',
37
- text: 'Seleziona il Limite Legale del 3% (raccomandato) o inserisci una percentuale manuale.',
38
- },
39
- {
40
- name: 'Consulta i risultati',
41
- text: 'Otterrai il nuovo affitto stimato, l\'incremento mensile e il costo extra annuale.',
42
- },
43
- {
44
- name: 'Copia il riepilogo',
45
- text: 'Genera un report rapido da inviare al proprietario o da conservare tra i tuoi appunti.',
46
- },
47
- ];
48
-
49
- const seoData = [
50
- {
51
- type: 'title',
52
- text: 'Calcolatore Aumento Affitto 2026 Spagna: Limite 3%',
53
- level: 2,
54
- },
55
- {
56
- type: 'paragraph',
57
- html: 'In Spagna, l\'<strong>Indice dei Prezzi al Consumo (IPC)</strong> è tradizionalmente lo strumento utilizzato per adeguare il prezzo dell\'affitto. Tuttavia, la nuova Legge sulla Casa ha introdotto limiti importanti.',
58
- },
59
-
60
- { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },
61
- { type: 'paragraph', html: "Interpreta il risultato insieme alle ipotesi mostrate dal calcolatore prima di utilizzarlo." },
62
- { type: 'paragraph', html: "Controlla dati, unità, arrotondamento, data e giurisdizione, perché ciascun elemento può cambiare la stima." },
63
- { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },];
64
-
65
- const faqSchema: WithContext<FAQPage> = {
66
- '@context': 'https://schema.org',
67
- '@type': 'FAQPage',
68
- mainEntity: faqData.map((item) => ({
69
- '@type': 'Question',
70
- name: item.question,
71
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
72
- })),
73
- };
74
-
75
- const howToSchema: WithContext<HowTo> = {
76
- '@context': 'https://schema.org',
77
- '@type': 'HowTo',
78
- name: title,
79
- description,
80
- step: howToData.map((step, i) => ({
81
- '@type': 'HowToStep',
82
- position: i + 1,
83
- name: step.name,
84
- text: step.text,
85
- })),
86
- };
87
-
88
- const appSchema: WithContext<SoftwareApplication> = {
89
- '@context': 'https://schema.org',
90
- '@type': 'SoftwareApplication',
91
- name: title,
92
- description,
93
- applicationCategory: 'FinanceApplication',
94
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
95
- };
96
-
97
- export const content: ToolLocaleContent<RentIncreaseUI> = {
98
- slug,
99
- title,
100
- description,
101
- ui: {
102
- labelTitle: 'Calcolatore Aumento Affitto',
103
- labelDescription: 'Aggiorna il tuo canone in base all\'IPC o applica il limite legale del 3% in modo sicuro.',
104
- labelCurrentRent: 'Affitto Attuale',
105
- labelCurrentRentPlaceholder: 'Es. 800',
106
- labelIncrementType: 'Modalità Aggiornamento',
107
- labelLegalLimit: 'Limite Legge Casa (3%)',
108
- labelManualIncrement: 'Incremento Manuale (%)',
109
- labelManualPercentagePlaceholder: 'Es. 2.5',
110
- labelNewRentEstimate: 'Nuovo Affitto Stimato',
111
- labelMonthlyIncrease: 'Incremento Mensual',
112
- labelYearlyExtra: 'Costo Extra Annuale',
113
- labelLegalBadge: 'Limitato al 3% secondo la Legge 12/2023',
114
- labelCopyButton: 'Copia per il proprietario',
115
- labelCopySuccess: 'Copiato!',
116
- currencySymbol: '€',
117
- currencyCode: 'EUR',
118
- currencyLocale: 'it-IT',
119
- },
120
- faq: faqData,
121
- howTo: howToData,
122
- bibliography,
123
- seo: seoData,
124
- schemas: [faqSchema, howToSchema, appSchema],
125
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { RentIncreaseUI } from '../ui';
5
+
6
+ const slug = 'calcolatore-aumento-affitto-spagna-ipc';
7
+ const title = 'Calcolatore Aumento Affitto Spagna IPC: Limite 3%';
8
+ const description = 'Calcola l\'aggiornamento del tuo affitto con l\'IPC o il limite legale del 3% secondo la Legge spagnola sulla Casa.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Qual è l\'aumento massimo dell\'affitto consentito nel 2024 e 2025?',
13
+ answer: 'Secondo la Legge 12/2023 per il Diritto alla Casa, per gli anni 2024 e 2025, l\'incremento massimo annuale del canone negli affitti abitativi è limitato per legge al 3%.',
14
+ },
15
+ {
16
+ question: 'È obbligatorio aumentare l\'affitto ogni anno con l\'IPC?',
17
+ answer: 'Non è obbligatorio per legge. Perché l\'affitto aumenti, il contratto deve includere una clausola esplicita che menzioni l\'aggiornamento annuale.',
18
+ },
19
+ {
20
+ question: 'Con quanto anticipo deve notificare il proprietario l\'aumento?',
21
+ answer: 'Il proprietario deve comunicare l\'aumento per iscritto all\'inquilino con almeno un mese di anticipo (30 giorni).',
22
+ },
23
+ {
24
+ question: 'Cosa succede se l\'IPC è superiore al limite legale del 3%?',
25
+ answer: 'Anche se l\'IPC reale è superiore, il proprietario di un\'abitazione principale non può richiedere legalmente un aumento superiore al 3% durante il 2024 e il 2025.',
26
+ },
27
+
28
+ { question: "Cosa devo verificare prima di usare il risultato?", answer: "Controlla dati, unità, ipotesi e limiti; è un'indicazione, non una decisione ufficiale." },];
29
+
30
+ const howToData = [
31
+ {
32
+ name: 'Inserisci l\'affitto attuale',
33
+ text: 'Scrivi il canone mensile che paghi attualmente.',
34
+ },
35
+ {
36
+ name: 'Scegli la modalità di calcolo',
37
+ text: 'Seleziona il Limite Legale del 3% (raccomandato) o inserisci una percentuale manuale.',
38
+ },
39
+ {
40
+ name: 'Consulta i risultati',
41
+ text: 'Otterrai il nuovo affitto stimato, l\'incremento mensile e il costo extra annuale.',
42
+ },
43
+ {
44
+ name: 'Copia il riepilogo',
45
+ text: 'Genera un report rapido da inviare al proprietario o da conservare tra i tuoi appunti.',
46
+ },
47
+ ];
48
+
49
+ const seoData = [
50
+ {
51
+ type: 'title',
52
+ text: 'Calcolatore Aumento Affitto 2026 Spagna: Limite 3%',
53
+ level: 2,
54
+ },
55
+ {
56
+ type: 'paragraph',
57
+ html: 'In Spagna, l\'<strong>Indice dei Prezzi al Consumo (IPC)</strong> è tradizionalmente lo strumento utilizzato per adeguare il prezzo dell\'affitto. Tuttavia, la nuova Legge sulla Casa ha introdotto limiti importanti.',
58
+ },
59
+
60
+ { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },
61
+ { type: 'paragraph', html: "Interpreta il risultato insieme alle ipotesi mostrate dal calcolatore prima di utilizzarlo." },
62
+ { type: 'paragraph', html: "Controlla dati, unità, arrotondamento, data e giurisdizione, perché ciascun elemento può cambiare la stima." },
63
+ { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },];
64
+
65
+ const faqSchema: WithContext<FAQPage> = {
66
+ '@context': 'https://schema.org',
67
+ '@type': 'FAQPage',
68
+ mainEntity: faqData.map((item) => ({
69
+ '@type': 'Question',
70
+ name: item.question,
71
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
72
+ })),
73
+ };
74
+
75
+ const howToSchema: WithContext<HowTo> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'HowTo',
78
+ name: title,
79
+ description,
80
+ step: howToData.map((step, i) => ({
81
+ '@type': 'HowToStep',
82
+ position: i + 1,
83
+ name: step.name,
84
+ text: step.text,
85
+ })),
86
+ };
87
+
88
+ const appSchema: WithContext<SoftwareApplication> = {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'SoftwareApplication',
91
+ name: title,
92
+ description,
93
+ applicationCategory: 'FinanceApplication',
94
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
95
+ };
96
+
97
+ export const content: ToolLocaleContent<RentIncreaseUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui: {
102
+ labelTitle: 'Calcolatore Aumento Affitto',
103
+ labelDescription: 'Aggiorna il tuo canone in base all\'IPC o applica il limite legale del 3% in modo sicuro.',
104
+ labelCurrentRent: 'Affitto Attuale',
105
+ labelCurrentRentPlaceholder: 'Es. 800',
106
+ labelIncrementType: 'Modalità Aggiornamento',
107
+ labelLegalLimit: 'Limite Legge Casa (3%)',
108
+ labelManualIncrement: 'Incremento Manuale (%)',
109
+ labelManualPercentagePlaceholder: 'Es. 2.5',
110
+ labelNewRentEstimate: 'Nuovo Affitto Stimato',
111
+ labelMonthlyIncrease: 'Incremento Mensual',
112
+ labelYearlyExtra: 'Costo Extra Annuale',
113
+ labelLegalBadge: 'Limitato al 3% secondo la Legge 12/2023',
114
+ labelCopyButton: 'Copia per il proprietario',
115
+ labelCopySuccess: 'Copiato!',
116
+ currencySymbol: '€',
117
+ currencyCode: 'EUR',
118
+ currencyLocale: 'it-IT',
119
+ },
120
+ faq: faqData,
121
+ howTo: howToData,
122
+ bibliography,
123
+ seo: seoData,
124
+ schemas: [faqSchema, howToSchema, appSchema],
125
+ };
@@ -1,125 +1,125 @@
1
- import { bibliography } from '../bibliography';
2
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { RentIncreaseUI } from '../ui';
5
-
6
- const slug = 'kira-artisi-hesaplama-ispanya-ipc';
7
- const title = 'İspanya Kira Artış Hesaplama IPC 3% Sınır';
8
- const description = 'Kiranızı IPC\'ye veya İspanya Konut Yasası\'na göre %3\'lük yasal sınıra göre güncellemeyi ücretsiz hesaplayın.';
9
-
10
- const faqData = [
11
- {
12
- question: '2024 ve 2025 yıllarında izin verilen maksimum kira artışı nedir?',
13
- answer: 'Konut Hakkı Yasası 12/2023 uyarınca, 2024 ve 2025 yılları için daimi konut kiralarındaki yıllık maksimum kira artışı yasal olarak %3 ile sınırlandırılmıştır.',
14
- },
15
- {
16
- question: 'Kiranın her yıl IPC ile artırılması zorunlu mudur?',
17
- answer: 'Yasaya göre zorunlu değildir. Kiranın artabilmesi için kira sözleşmesinde yıllık güncellemeden bahseden açık bir madde bulunmalıdır.',
18
- },
19
- {
20
- question: 'Ev sahibi artışı ne kadar önceden bildirmelidir?',
21
- answer: 'Ev sahibi, yeni kiranın uygulanacağı tarihten en az bir ay (30 gün) önce kiracıya artışı yazılı olarak bildirmelidir.',
22
- },
23
- {
24
- question: 'IPC yasal sınır olan %3\'ten yüksekse ne olur?',
25
- answer: 'Gerçek IPC daha yüksek olsa bile, bir daimi konutun sahibi 2024 ve 2025 yılları boyunca yasal olarak %3\'ten fazla bir artış talep edemez.',
26
- },
27
-
28
- { question: "Sonucu kullanmadan önce neyi kontrol etmeliyim?", answer: "Girdileri, birimleri, varsayımları ve sınırlamaları kontrol edin; bu bir rehber tahmindir, resmî karar değildir." },];
29
-
30
- const howToData = [
31
- {
32
- name: 'Mevcut kiranızı girin',
33
- text: 'Şu anda ödediğiniz aylık kira miktarını yazın.',
34
- },
35
- {
36
- name: 'Hesaplama modunu seçin',
37
- text: '%3 Yasal Sınırı (önerilen) seçin veya manuel bir yüzde girin.',
38
- },
39
- {
40
- name: 'Sonuçları görüntüleyin',
41
- text: 'Yeni tahmini kiranızı, aylık artışı ve yıllık ek maliyeti anında göreceksiniz.',
42
- },
43
- {
44
- name: 'Özeti kopyalayın',
45
- text: 'Ev sahibine göndermek veya notlarınıza kaydetmek için hızlı bir rapor oluşturun.',
46
- },
47
- ];
48
-
49
- const seoData = [
50
- {
51
- type: 'title',
52
- text: '2026 İspanya Kira Artış Hesaplama 3% Sınır',
53
- level: 2,
54
- },
55
- {
56
- type: 'paragraph',
57
- html: 'İspanya\'da <strong>Tüketici Fiyat Endeksi (IPC)</strong> geleneksel olarak kira fiyatlarını ayarlamak için kullanılan bir ölçüttür. Ancak yeni Konut Yasası ile önemli sınırlamalar getirilmiştir.',
58
- },
59
-
60
- { type: 'paragraph', html: "Sonucu planlama ve senaryo karşılaştırması için kullanın; resmî hesabın veya uzman görüşünün yerine geçmez." },
61
- { type: 'paragraph', html: "Kullanmadan önce sonucu hesaplayıcının gösterdiği varsayımlarla birlikte yorumlayın." },
62
- { type: 'paragraph', html: "Girdileri, birimleri, yuvarlamayı, tarihi ve yargı alanını kontrol edin; her biri tahmini değiştirebilir." },
63
- { type: 'paragraph', html: "Sonucu planlama ve senaryo karşılaştırması için kullanın; resmî hesabın veya uzman görüşünün yerine geçmez." },];
64
-
65
- const faqSchema: WithContext<FAQPage> = {
66
- '@context': 'https://schema.org',
67
- '@type': 'FAQPage',
68
- mainEntity: faqData.map((item) => ({
69
- '@type': 'Question',
70
- name: item.question,
71
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
72
- })),
73
- };
74
-
75
- const howToSchema: WithContext<HowTo> = {
76
- '@context': 'https://schema.org',
77
- '@type': 'HowTo',
78
- name: title,
79
- description,
80
- step: howToData.map((step, i) => ({
81
- '@type': 'HowToStep',
82
- position: i + 1,
83
- name: step.name,
84
- text: step.text,
85
- })),
86
- };
87
-
88
- const appSchema: WithContext<SoftwareApplication> = {
89
- '@context': 'https://schema.org',
90
- '@type': 'SoftwareApplication',
91
- name: title,
92
- description,
93
- applicationCategory: 'FinanceApplication',
94
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
95
- };
96
-
97
- export const content: ToolLocaleContent<RentIncreaseUI> = {
98
- slug,
99
- title,
100
- description,
101
- ui: {
102
- labelTitle: 'Kira Artışı Hesaplayıcı',
103
- labelDescription: 'Kiranızı IPC\'ye göre ayarlayın veya %3\'lük yasal sınırı güvenle uygulayın.',
104
- labelCurrentRent: 'Mevcut Kira',
105
- labelCurrentRentPlaceholder: 'Örn. 800',
106
- labelIncrementType: 'Güncelleme Modu',
107
- labelLegalLimit: 'Konut Yasası Sınırı (%3)',
108
- labelManualIncrement: 'Manuel Artış (%)',
109
- labelManualPercentagePlaceholder: 'Örn. 2.5',
110
- labelNewRentEstimate: 'Yeni Tahmini Kira',
111
- labelMonthlyIncrease: 'Aylık Artış',
112
- labelYearlyExtra: 'Yıllık Ek Maliyet',
113
- labelLegalBadge: '12/2023 sayılı yasaya göre %3 ile sınırlıdır',
114
- labelCopyButton: 'Ev sahibi için kopyala',
115
- labelCopySuccess: 'Kopyalandı!',
116
- currencySymbol: '€',
117
- currencyCode: 'EUR',
118
- currencyLocale: 'tr-TR',
119
- },
120
- faq: faqData,
121
- howTo: howToData,
122
- bibliography,
123
- seo: seoData,
124
- schemas: [faqSchema, howToSchema, appSchema],
125
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { RentIncreaseUI } from '../ui';
5
+
6
+ const slug = 'kira-artisi-hesaplama-ispanya-ipc';
7
+ const title = 'İspanya Kira Artış Hesaplama IPC 3% Sınır';
8
+ const description = 'Kiranızı IPC\'ye veya İspanya Konut Yasası\'na göre %3\'lük yasal sınıra göre güncellemeyi ücretsiz hesaplayın.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '2024 ve 2025 yıllarında izin verilen maksimum kira artışı nedir?',
13
+ answer: 'Konut Hakkı Yasası 12/2023 uyarınca, 2024 ve 2025 yılları için daimi konut kiralarındaki yıllık maksimum kira artışı yasal olarak %3 ile sınırlandırılmıştır.',
14
+ },
15
+ {
16
+ question: 'Kiranın her yıl IPC ile artırılması zorunlu mudur?',
17
+ answer: 'Yasaya göre zorunlu değildir. Kiranın artabilmesi için kira sözleşmesinde yıllık güncellemeden bahseden açık bir madde bulunmalıdır.',
18
+ },
19
+ {
20
+ question: 'Ev sahibi artışı ne kadar önceden bildirmelidir?',
21
+ answer: 'Ev sahibi, yeni kiranın uygulanacağı tarihten en az bir ay (30 gün) önce kiracıya artışı yazılı olarak bildirmelidir.',
22
+ },
23
+ {
24
+ question: 'IPC yasal sınır olan %3\'ten yüksekse ne olur?',
25
+ answer: 'Gerçek IPC daha yüksek olsa bile, bir daimi konutun sahibi 2024 ve 2025 yılları boyunca yasal olarak %3\'ten fazla bir artış talep edemez.',
26
+ },
27
+
28
+ { question: "Sonucu kullanmadan önce neyi kontrol etmeliyim?", answer: "Girdileri, birimleri, varsayımları ve sınırlamaları kontrol edin; bu bir rehber tahmindir, resmî karar değildir." },];
29
+
30
+ const howToData = [
31
+ {
32
+ name: 'Mevcut kiranızı girin',
33
+ text: 'Şu anda ödediğiniz aylık kira miktarını yazın.',
34
+ },
35
+ {
36
+ name: 'Hesaplama modunu seçin',
37
+ text: '%3 Yasal Sınırı (önerilen) seçin veya manuel bir yüzde girin.',
38
+ },
39
+ {
40
+ name: 'Sonuçları görüntüleyin',
41
+ text: 'Yeni tahmini kiranızı, aylık artışı ve yıllık ek maliyeti anında göreceksiniz.',
42
+ },
43
+ {
44
+ name: 'Özeti kopyalayın',
45
+ text: 'Ev sahibine göndermek veya notlarınıza kaydetmek için hızlı bir rapor oluşturun.',
46
+ },
47
+ ];
48
+
49
+ const seoData = [
50
+ {
51
+ type: 'title',
52
+ text: '2026 İspanya Kira Artış Hesaplama 3% Sınır',
53
+ level: 2,
54
+ },
55
+ {
56
+ type: 'paragraph',
57
+ html: 'İspanya\'da <strong>Tüketici Fiyat Endeksi (IPC)</strong> geleneksel olarak kira fiyatlarını ayarlamak için kullanılan bir ölçüttür. Ancak yeni Konut Yasası ile önemli sınırlamalar getirilmiştir.',
58
+ },
59
+
60
+ { type: 'paragraph', html: "Sonucu planlama ve senaryo karşılaştırması için kullanın; resmî hesabın veya uzman görüşünün yerine geçmez." },
61
+ { type: 'paragraph', html: "Kullanmadan önce sonucu hesaplayıcının gösterdiği varsayımlarla birlikte yorumlayın." },
62
+ { type: 'paragraph', html: "Girdileri, birimleri, yuvarlamayı, tarihi ve yargı alanını kontrol edin; her biri tahmini değiştirebilir." },
63
+ { type: 'paragraph', html: "Sonucu planlama ve senaryo karşılaştırması için kullanın; resmî hesabın veya uzman görüşünün yerine geçmez." },];
64
+
65
+ const faqSchema: WithContext<FAQPage> = {
66
+ '@context': 'https://schema.org',
67
+ '@type': 'FAQPage',
68
+ mainEntity: faqData.map((item) => ({
69
+ '@type': 'Question',
70
+ name: item.question,
71
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
72
+ })),
73
+ };
74
+
75
+ const howToSchema: WithContext<HowTo> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'HowTo',
78
+ name: title,
79
+ description,
80
+ step: howToData.map((step, i) => ({
81
+ '@type': 'HowToStep',
82
+ position: i + 1,
83
+ name: step.name,
84
+ text: step.text,
85
+ })),
86
+ };
87
+
88
+ const appSchema: WithContext<SoftwareApplication> = {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'SoftwareApplication',
91
+ name: title,
92
+ description,
93
+ applicationCategory: 'FinanceApplication',
94
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
95
+ };
96
+
97
+ export const content: ToolLocaleContent<RentIncreaseUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui: {
102
+ labelTitle: 'Kira Artışı Hesaplayıcı',
103
+ labelDescription: 'Kiranızı IPC\'ye göre ayarlayın veya %3\'lük yasal sınırı güvenle uygulayın.',
104
+ labelCurrentRent: 'Mevcut Kira',
105
+ labelCurrentRentPlaceholder: 'Örn. 800',
106
+ labelIncrementType: 'Güncelleme Modu',
107
+ labelLegalLimit: 'Konut Yasası Sınırı (%3)',
108
+ labelManualIncrement: 'Manuel Artış (%)',
109
+ labelManualPercentagePlaceholder: 'Örn. 2.5',
110
+ labelNewRentEstimate: 'Yeni Tahmini Kira',
111
+ labelMonthlyIncrease: 'Aylık Artış',
112
+ labelYearlyExtra: 'Yıllık Ek Maliyet',
113
+ labelLegalBadge: '12/2023 sayılı yasaya göre %3 ile sınırlıdır',
114
+ labelCopyButton: 'Ev sahibi için kopyala',
115
+ labelCopySuccess: 'Kopyalandı!',
116
+ currencySymbol: '€',
117
+ currencyCode: 'EUR',
118
+ currencyLocale: 'tr-TR',
119
+ },
120
+ faq: faqData,
121
+ howTo: howToData,
122
+ bibliography,
123
+ seo: seoData,
124
+ schemas: [faqSchema, howToSchema, appSchema],
125
+ };