@jjlmoya/utils-finance 1.30.0 → 1.31.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 (211) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/fr.ts +159 -159
  3. package/src/category/i18n/ru.ts +158 -158
  4. package/src/category/index.ts +39 -38
  5. package/src/category/seo.astro +1 -1
  6. package/src/components/PreviewNavSidebar.astro +1 -1
  7. package/src/components/PreviewToolbar.astro +1 -1
  8. package/src/data.ts +1 -1
  9. package/src/entries.ts +4 -1
  10. package/src/env.d.ts +1 -1
  11. package/src/index.ts +1 -0
  12. package/src/layouts/PreviewLayout.astro +113 -113
  13. package/src/pages/index.astro +1 -1
  14. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/locale_completeness.test.ts +2 -2
  17. package/src/tests/mocks/astro_mock.js +1 -1
  18. package/src/tests/no_h1_in_components.test.ts +1 -1
  19. package/src/tests/script_density.test.ts +94 -94
  20. package/src/tests/seo_length.test.ts +23 -23
  21. package/src/tests/seo_translation_completeness.test.ts +69 -0
  22. package/src/tests/seo_wellformed_export.test.ts +65 -0
  23. package/src/tests/tool_validation.test.ts +17 -17
  24. package/src/tool/compoundInterest/compound-interest-calculator.css +236 -236
  25. package/src/tool/compoundInterest/entry.ts +32 -32
  26. package/src/tool/compoundInterest/i18n/de.ts +195 -195
  27. package/src/tool/compoundInterest/i18n/fr.ts +195 -195
  28. package/src/tool/compoundInterest/i18n/it.ts +195 -195
  29. package/src/tool/compoundInterest/i18n/pl.ts +194 -194
  30. package/src/tool/compoundInterest/i18n/ru.ts +195 -195
  31. package/src/tool/compoundInterest/i18n/tr.ts +195 -195
  32. package/src/tool/compoundInterest/i18n/zh.ts +189 -189
  33. package/src/tool/compoundInterest/seo.astro +15 -15
  34. package/src/tool/courtFeeCalculator/i18n/it.ts +158 -158
  35. package/src/tool/courtFeeCalculator/i18n/ru.ts +158 -158
  36. package/src/tool/courtFeeCalculator/i18n/tr.ts +158 -158
  37. package/src/tool/courtFeeCalculator/seo.astro +15 -15
  38. package/src/tool/courtFeeCalculator/spanish-court-fees-calculator.css +197 -197
  39. package/src/tool/debtSnowball/bibliography.ts +12 -12
  40. package/src/tool/debtSnowball/i18n/de.ts +16 -16
  41. package/src/tool/debtSnowball/i18n/id.ts +16 -16
  42. package/src/tool/debtSnowball/i18n/it.ts +168 -168
  43. package/src/tool/debtSnowball/i18n/nl.ts +16 -16
  44. package/src/tool/debtSnowball/i18n/pl.ts +168 -168
  45. package/src/tool/debtSnowball/i18n/pt.ts +1 -1
  46. package/src/tool/debtSnowball/i18n/ru.ts +1 -1
  47. package/src/tool/debtSnowball/i18n/sv.ts +22 -29
  48. package/src/tool/debtSnowball/i18n/tr.ts +168 -168
  49. package/src/tool/debtSnowball/i18n/zh.ts +168 -168
  50. package/src/tool/debtSnowball/seo.astro +15 -15
  51. package/src/tool/dividendYield/bibliography.astro +14 -0
  52. package/src/tool/dividendYield/bibliography.ts +12 -0
  53. package/src/tool/dividendYield/component.astro +83 -0
  54. package/src/tool/dividendYield/controller.ts +85 -0
  55. package/src/tool/dividendYield/dividend-yield-calculator.css +352 -0
  56. package/src/tool/dividendYield/dom-views.ts +58 -0
  57. package/src/tool/dividendYield/entry.ts +29 -0
  58. package/src/tool/dividendYield/evaluator.ts +16 -0
  59. package/src/tool/dividendYield/i18n/de.ts +53 -0
  60. package/src/tool/dividendYield/i18n/en.ts +138 -0
  61. package/src/tool/dividendYield/i18n/es.ts +49 -0
  62. package/src/tool/dividendYield/i18n/fr.ts +49 -0
  63. package/src/tool/dividendYield/i18n/id.ts +49 -0
  64. package/src/tool/dividendYield/i18n/it.ts +49 -0
  65. package/src/tool/dividendYield/i18n/ja.ts +49 -0
  66. package/src/tool/dividendYield/i18n/ko.ts +25 -0
  67. package/src/tool/dividendYield/i18n/nl.ts +25 -0
  68. package/src/tool/dividendYield/i18n/pl.ts +25 -0
  69. package/src/tool/dividendYield/i18n/pt.ts +25 -0
  70. package/src/tool/dividendYield/i18n/ru.ts +25 -0
  71. package/src/tool/dividendYield/i18n/sv.ts +25 -0
  72. package/src/tool/dividendYield/i18n/tr.ts +25 -0
  73. package/src/tool/dividendYield/i18n/zh.ts +25 -0
  74. package/src/tool/dividendYield/index.ts +11 -0
  75. package/src/tool/dividendYield/logic.test.ts +73 -0
  76. package/src/tool/dividendYield/logic.ts +55 -0
  77. package/src/tool/dividendYield/seo.astro +14 -0
  78. package/src/tool/dividendYield/storage.ts +24 -0
  79. package/src/tool/dividendYield/ui.ts +33 -0
  80. package/src/tool/financialFreedom/financial-freedom-calculator.css +311 -311
  81. package/src/tool/financialFreedom/i18n/en.ts +182 -182
  82. package/src/tool/financialFreedom/i18n/fr.ts +128 -128
  83. package/src/tool/financialFreedom/i18n/id.ts +24 -7
  84. package/src/tool/financialFreedom/i18n/it.ts +24 -7
  85. package/src/tool/financialFreedom/i18n/ja.ts +1 -1
  86. package/src/tool/financialFreedom/i18n/nl.ts +24 -7
  87. package/src/tool/financialFreedom/i18n/pl.ts +24 -7
  88. package/src/tool/financialFreedom/i18n/pt.ts +24 -7
  89. package/src/tool/financialFreedom/i18n/ru.ts +128 -128
  90. package/src/tool/financialFreedom/i18n/sv.ts +1 -1
  91. package/src/tool/financialFreedom/i18n/tr.ts +2 -2
  92. package/src/tool/financialFreedom/i18n/zh.ts +128 -128
  93. package/src/tool/fireCalculator/i18n/it.ts +241 -241
  94. package/src/tool/fireCalculator/i18n/ru.ts +241 -241
  95. package/src/tool/fireCalculator/i18n/tr.ts +241 -241
  96. package/src/tool/fireCalculator/i18n/zh.ts +241 -241
  97. package/src/tool/fireCalculator/seo.astro +15 -15
  98. package/src/tool/ibanBicSwiftConverter/i18n/fr.ts +151 -151
  99. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +118 -118
  100. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +118 -118
  101. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +118 -118
  102. package/src/tool/ibanBicSwiftConverter/iban-to-bic-swift-converter.css +366 -366
  103. package/src/tool/ibanBicSwiftConverter/seo.astro +15 -15
  104. package/src/tool/inflation/bibliography.ts +20 -20
  105. package/src/tool/inflation/entry.ts +32 -32
  106. package/src/tool/inflation/i18n/de.ts +284 -284
  107. package/src/tool/inflation/i18n/fr.ts +284 -284
  108. package/src/tool/inflation/i18n/it.ts +284 -284
  109. package/src/tool/inflation/i18n/nl.ts +284 -284
  110. package/src/tool/inflation/i18n/pl.ts +284 -284
  111. package/src/tool/inflation/i18n/pt.ts +284 -284
  112. package/src/tool/inflation/i18n/ru.ts +284 -284
  113. package/src/tool/inflation/i18n/sv.ts +284 -284
  114. package/src/tool/inflation/i18n/tr.ts +284 -284
  115. package/src/tool/inflation/i18n/zh.ts +284 -284
  116. package/src/tool/inflation/seo.astro +15 -15
  117. package/src/tool/lateInterest/bibliography.ts +16 -16
  118. package/src/tool/lateInterest/entry.ts +32 -32
  119. package/src/tool/lateInterest/i18n/de.ts +213 -213
  120. package/src/tool/lateInterest/i18n/es.ts +213 -213
  121. package/src/tool/lateInterest/i18n/it.ts +213 -213
  122. package/src/tool/lateInterest/i18n/nl.ts +213 -213
  123. package/src/tool/lateInterest/i18n/pl.ts +213 -213
  124. package/src/tool/lateInterest/i18n/pt.ts +213 -213
  125. package/src/tool/lateInterest/i18n/ru.ts +213 -213
  126. package/src/tool/lateInterest/i18n/sv.ts +213 -213
  127. package/src/tool/lateInterest/i18n/tr.ts +213 -213
  128. package/src/tool/lateInterest/i18n/zh.ts +213 -213
  129. package/src/tool/lateInterest/seo.astro +15 -15
  130. package/src/tool/legalInterestRate/i18n/it.ts +129 -129
  131. package/src/tool/legalInterestRate/i18n/ru.ts +129 -129
  132. package/src/tool/legalInterestRate/i18n/tr.ts +128 -121
  133. package/src/tool/legalInterestRate/i18n/zh.ts +11 -4
  134. package/src/tool/legalInterestRate/seo.astro +15 -15
  135. package/src/tool/lotteryOptimizer/i18n/it.ts +163 -163
  136. package/src/tool/lotteryOptimizer/i18n/pl.ts +163 -163
  137. package/src/tool/lotteryOptimizer/i18n/ru.ts +163 -163
  138. package/src/tool/lotteryOptimizer/i18n/tr.ts +163 -163
  139. package/src/tool/lotteryOptimizer/i18n/zh.ts +162 -155
  140. package/src/tool/lotteryOptimizer/seo.astro +15 -15
  141. package/src/tool/mortgage/bibliography.ts +20 -20
  142. package/src/tool/mortgage/entry.ts +32 -32
  143. package/src/tool/mortgage/i18n/de.ts +210 -210
  144. package/src/tool/mortgage/i18n/es.ts +210 -210
  145. package/src/tool/mortgage/i18n/fr.ts +210 -210
  146. package/src/tool/mortgage/i18n/id.ts +210 -210
  147. package/src/tool/mortgage/i18n/it.ts +210 -210
  148. package/src/tool/mortgage/i18n/nl.ts +210 -210
  149. package/src/tool/mortgage/i18n/pl.ts +210 -210
  150. package/src/tool/mortgage/i18n/ru.ts +210 -210
  151. package/src/tool/mortgage/i18n/tr.ts +210 -210
  152. package/src/tool/mortgage/i18n/zh.ts +210 -210
  153. package/src/tool/mortgage/mortgage-calculator.css +595 -595
  154. package/src/tool/mortgage/seo.astro +15 -15
  155. package/src/tool/percentageCalculator/bibliography.ts +16 -16
  156. package/src/tool/percentageCalculator/entry.ts +32 -32
  157. package/src/tool/percentageCalculator/i18n/de.ts +220 -220
  158. package/src/tool/percentageCalculator/i18n/en.ts +220 -220
  159. package/src/tool/percentageCalculator/i18n/es.ts +220 -220
  160. package/src/tool/percentageCalculator/i18n/fr.ts +220 -220
  161. package/src/tool/percentageCalculator/i18n/it.ts +220 -220
  162. package/src/tool/percentageCalculator/i18n/pl.ts +220 -220
  163. package/src/tool/percentageCalculator/i18n/ru.ts +220 -220
  164. package/src/tool/percentageCalculator/i18n/tr.ts +220 -220
  165. package/src/tool/percentageCalculator/i18n/zh.ts +220 -220
  166. package/src/tool/percentageCalculator/seo.astro +15 -15
  167. package/src/tool/profitability/i18n/de.ts +24 -7
  168. package/src/tool/profitability/i18n/fr.ts +121 -104
  169. package/src/tool/profitability/i18n/id.ts +2 -2
  170. package/src/tool/profitability/i18n/it.ts +24 -7
  171. package/src/tool/profitability/i18n/ja.ts +1 -1
  172. package/src/tool/profitability/i18n/nl.ts +24 -7
  173. package/src/tool/profitability/i18n/pl.ts +1 -1
  174. package/src/tool/profitability/i18n/pt.ts +24 -7
  175. package/src/tool/profitability/i18n/ru.ts +118 -118
  176. package/src/tool/profitability/i18n/sv.ts +1 -1
  177. package/src/tool/profitability/i18n/tr.ts +1 -1
  178. package/src/tool/profitability/i18n/zh.ts +118 -118
  179. package/src/tool/profitability/profitability-calculator.css +229 -229
  180. package/src/tool/rentIncreaseCalculator/i18n/it.ts +125 -125
  181. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +125 -125
  182. package/src/tool/rentIncreaseCalculator/rent-increase-calculator.css +326 -326
  183. package/src/tool/rentIncreaseCalculator/seo.astro +15 -15
  184. package/src/tool/revolvingCardCalculator/i18n/de.ts +38 -20
  185. package/src/tool/revolvingCardCalculator/i18n/es.ts +19 -18
  186. package/src/tool/revolvingCardCalculator/i18n/fr.ts +32 -28
  187. package/src/tool/revolvingCardCalculator/i18n/id.ts +18 -18
  188. package/src/tool/revolvingCardCalculator/i18n/it.ts +18 -18
  189. package/src/tool/revolvingCardCalculator/i18n/ja.ts +2 -2
  190. package/src/tool/revolvingCardCalculator/i18n/ko.ts +2 -2
  191. package/src/tool/revolvingCardCalculator/i18n/nl.ts +22 -19
  192. package/src/tool/revolvingCardCalculator/i18n/pl.ts +2 -2
  193. package/src/tool/revolvingCardCalculator/i18n/pt.ts +2 -2
  194. package/src/tool/revolvingCardCalculator/i18n/ru.ts +2 -2
  195. package/src/tool/revolvingCardCalculator/i18n/sv.ts +2 -2
  196. package/src/tool/revolvingCardCalculator/i18n/tr.ts +2 -2
  197. package/src/tool/revolvingCardCalculator/i18n/zh.ts +6 -6
  198. package/src/tool/salaryEmployerCost/i18n/de.ts +10 -10
  199. package/src/tool/salaryEmployerCost/i18n/fr.ts +9 -9
  200. package/src/tool/salaryEmployerCost/i18n/id.ts +9 -9
  201. package/src/tool/salaryEmployerCost/i18n/it.ts +9 -9
  202. package/src/tool/salaryEmployerCost/i18n/ja.ts +1 -1
  203. package/src/tool/salaryEmployerCost/i18n/ko.ts +1 -1
  204. package/src/tool/salaryEmployerCost/i18n/nl.ts +2 -2
  205. package/src/tool/salaryEmployerCost/i18n/pl.ts +2 -2
  206. package/src/tool/salaryEmployerCost/i18n/pt.ts +2 -2
  207. package/src/tool/salaryEmployerCost/i18n/ru.ts +2 -2
  208. package/src/tool/salaryEmployerCost/i18n/sv.ts +2 -2
  209. package/src/tool/salaryEmployerCost/i18n/tr.ts +2 -2
  210. package/src/tool/salaryEmployerCost/i18n/zh.ts +2 -2
  211. 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
+ };