@jjlmoya/utils-finance 1.3.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/package.json +2 -1
  2. package/src/tests/faq_count.test.ts +1 -1
  3. package/src/tests/i18n_coverage.test.ts +36 -0
  4. package/src/tests/locale_completeness.test.ts +3 -0
  5. package/src/tests/slug_uniqueness.test.ts +81 -0
  6. package/src/tests/title_quality.test.ts +1 -1
  7. package/src/tool/compoundInterest/i18n/de.ts +208 -0
  8. package/src/tool/compoundInterest/i18n/id.ts +208 -0
  9. package/src/tool/compoundInterest/i18n/it.ts +208 -0
  10. package/src/tool/compoundInterest/i18n/ja.ts +207 -0
  11. package/src/tool/compoundInterest/i18n/ko.ts +207 -0
  12. package/src/tool/compoundInterest/i18n/nl.ts +208 -0
  13. package/src/tool/compoundInterest/i18n/pl.ts +208 -0
  14. package/src/tool/compoundInterest/i18n/pt.ts +208 -0
  15. package/src/tool/compoundInterest/i18n/ru.ts +208 -0
  16. package/src/tool/compoundInterest/i18n/sv.ts +208 -0
  17. package/src/tool/compoundInterest/i18n/tr.ts +208 -0
  18. package/src/tool/compoundInterest/i18n/zh.ts +202 -0
  19. package/src/tool/compoundInterest/index.ts +15 -7
  20. package/src/tool/courtFeeCalculator/i18n/de.ts +152 -0
  21. package/src/tool/courtFeeCalculator/i18n/fr.ts +1 -1
  22. package/src/tool/courtFeeCalculator/i18n/id.ts +152 -0
  23. package/src/tool/courtFeeCalculator/i18n/it.ts +152 -0
  24. package/src/tool/courtFeeCalculator/i18n/ja.ts +152 -0
  25. package/src/tool/courtFeeCalculator/i18n/ko.ts +152 -0
  26. package/src/tool/courtFeeCalculator/i18n/nl.ts +152 -0
  27. package/src/tool/courtFeeCalculator/i18n/pl.ts +152 -0
  28. package/src/tool/courtFeeCalculator/i18n/pt.ts +152 -0
  29. package/src/tool/courtFeeCalculator/i18n/ru.ts +152 -0
  30. package/src/tool/courtFeeCalculator/i18n/sv.ts +152 -0
  31. package/src/tool/courtFeeCalculator/i18n/tr.ts +152 -0
  32. package/src/tool/courtFeeCalculator/i18n/zh.ts +152 -0
  33. package/src/tool/courtFeeCalculator/index.ts +16 -8
  34. package/src/tool/debtSnowball/i18n/de.ts +160 -0
  35. package/src/tool/debtSnowball/i18n/id.ts +160 -0
  36. package/src/tool/debtSnowball/i18n/it.ts +160 -0
  37. package/src/tool/debtSnowball/i18n/ja.ts +157 -0
  38. package/src/tool/debtSnowball/i18n/ko.ts +160 -0
  39. package/src/tool/debtSnowball/i18n/nl.ts +160 -0
  40. package/src/tool/debtSnowball/i18n/pl.ts +160 -0
  41. package/src/tool/debtSnowball/i18n/pt.ts +160 -0
  42. package/src/tool/debtSnowball/i18n/ru.ts +160 -0
  43. package/src/tool/debtSnowball/i18n/sv.ts +160 -0
  44. package/src/tool/debtSnowball/i18n/tr.ts +160 -0
  45. package/src/tool/debtSnowball/i18n/zh.ts +160 -0
  46. package/src/tool/debtSnowball/index.ts +17 -9
  47. package/src/tool/fireCalculator/component.astro +12 -3
  48. package/src/tool/fireCalculator/i18n/de.ts +261 -0
  49. package/src/tool/fireCalculator/i18n/en.ts +5 -5
  50. package/src/tool/fireCalculator/i18n/es.ts +2 -2
  51. package/src/tool/fireCalculator/i18n/fr.ts +5 -5
  52. package/src/tool/fireCalculator/i18n/id.ts +261 -0
  53. package/src/tool/fireCalculator/i18n/it.ts +261 -0
  54. package/src/tool/fireCalculator/i18n/ja.ts +261 -0
  55. package/src/tool/fireCalculator/i18n/ko.ts +261 -0
  56. package/src/tool/fireCalculator/i18n/nl.ts +261 -0
  57. package/src/tool/fireCalculator/i18n/pl.ts +261 -0
  58. package/src/tool/fireCalculator/i18n/pt.ts +261 -0
  59. package/src/tool/fireCalculator/i18n/ru.ts +261 -0
  60. package/src/tool/fireCalculator/i18n/sv.ts +261 -0
  61. package/src/tool/fireCalculator/i18n/tr.ts +261 -0
  62. package/src/tool/fireCalculator/i18n/zh.ts +261 -0
  63. package/src/tool/fireCalculator/index.ts +15 -7
  64. package/src/tool/ibanBicSwiftConverter/i18n/de.ts +128 -0
  65. package/src/tool/ibanBicSwiftConverter/i18n/id.ts +128 -0
  66. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +128 -0
  67. package/src/tool/ibanBicSwiftConverter/i18n/ja.ts +128 -0
  68. package/src/tool/ibanBicSwiftConverter/i18n/ko.ts +128 -0
  69. package/src/tool/ibanBicSwiftConverter/i18n/nl.ts +128 -0
  70. package/src/tool/ibanBicSwiftConverter/i18n/pl.ts +128 -0
  71. package/src/tool/ibanBicSwiftConverter/i18n/pt.ts +128 -0
  72. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +128 -0
  73. package/src/tool/ibanBicSwiftConverter/i18n/sv.ts +128 -0
  74. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +128 -0
  75. package/src/tool/ibanBicSwiftConverter/i18n/zh.ts +128 -0
  76. package/src/tool/ibanBicSwiftConverter/index.ts +15 -7
  77. package/src/tool/inflation/i18n/de.ts +297 -0
  78. package/src/tool/inflation/i18n/id.ts +297 -0
  79. package/src/tool/inflation/i18n/it.ts +297 -0
  80. package/src/tool/inflation/i18n/ja.ts +297 -0
  81. package/src/tool/inflation/i18n/ko.ts +297 -0
  82. package/src/tool/inflation/i18n/nl.ts +297 -0
  83. package/src/tool/inflation/i18n/pl.ts +297 -0
  84. package/src/tool/inflation/i18n/pt.ts +297 -0
  85. package/src/tool/inflation/i18n/ru.ts +297 -0
  86. package/src/tool/inflation/i18n/sv.ts +297 -0
  87. package/src/tool/inflation/i18n/tr.ts +297 -0
  88. package/src/tool/inflation/i18n/zh.ts +297 -0
  89. package/src/tool/inflation/index.ts +17 -9
  90. package/src/tool/lateInterest/i18n/de.ts +224 -0
  91. package/src/tool/lateInterest/i18n/id.ts +224 -0
  92. package/src/tool/lateInterest/i18n/it.ts +224 -0
  93. package/src/tool/lateInterest/i18n/ja.ts +224 -0
  94. package/src/tool/lateInterest/i18n/ko.ts +224 -0
  95. package/src/tool/lateInterest/i18n/nl.ts +224 -0
  96. package/src/tool/lateInterest/i18n/pl.ts +224 -0
  97. package/src/tool/lateInterest/i18n/pt.ts +224 -0
  98. package/src/tool/lateInterest/i18n/ru.ts +224 -0
  99. package/src/tool/lateInterest/i18n/sv.ts +224 -0
  100. package/src/tool/lateInterest/i18n/tr.ts +224 -0
  101. package/src/tool/lateInterest/i18n/zh.ts +224 -0
  102. package/src/tool/lateInterest/index.ts +17 -9
  103. package/src/tool/legalInterestRate/i18n/de.ts +143 -0
  104. package/src/tool/legalInterestRate/i18n/id.ts +143 -0
  105. package/src/tool/legalInterestRate/i18n/it.ts +143 -0
  106. package/src/tool/legalInterestRate/i18n/ja.ts +143 -0
  107. package/src/tool/legalInterestRate/i18n/ko.ts +143 -0
  108. package/src/tool/legalInterestRate/i18n/nl.ts +143 -0
  109. package/src/tool/legalInterestRate/i18n/pl.ts +143 -0
  110. package/src/tool/legalInterestRate/i18n/pt.ts +143 -0
  111. package/src/tool/legalInterestRate/i18n/ru.ts +143 -0
  112. package/src/tool/legalInterestRate/i18n/sv.ts +143 -0
  113. package/src/tool/legalInterestRate/i18n/tr.ts +143 -0
  114. package/src/tool/legalInterestRate/i18n/zh.ts +143 -0
  115. package/src/tool/legalInterestRate/index.ts +17 -9
  116. package/src/tool/lotteryOptimizer/i18n/de.ts +177 -0
  117. package/src/tool/lotteryOptimizer/i18n/id.ts +177 -0
  118. package/src/tool/lotteryOptimizer/i18n/it.ts +177 -0
  119. package/src/tool/lotteryOptimizer/i18n/ja.ts +177 -0
  120. package/src/tool/lotteryOptimizer/i18n/ko.ts +177 -0
  121. package/src/tool/lotteryOptimizer/i18n/nl.ts +177 -0
  122. package/src/tool/lotteryOptimizer/i18n/pl.ts +177 -0
  123. package/src/tool/lotteryOptimizer/i18n/pt.ts +177 -0
  124. package/src/tool/lotteryOptimizer/i18n/ru.ts +177 -0
  125. package/src/tool/lotteryOptimizer/i18n/sv.ts +177 -0
  126. package/src/tool/lotteryOptimizer/i18n/tr.ts +177 -0
  127. package/src/tool/lotteryOptimizer/i18n/zh.ts +177 -0
  128. package/src/tool/lotteryOptimizer/index.ts +17 -9
  129. package/src/tool/mortgage/i18n/de.ts +223 -0
  130. package/src/tool/mortgage/i18n/id.ts +219 -0
  131. package/src/tool/mortgage/i18n/it.ts +223 -0
  132. package/src/tool/mortgage/i18n/ja.ts +219 -0
  133. package/src/tool/mortgage/i18n/ko.ts +219 -0
  134. package/src/tool/mortgage/i18n/nl.ts +219 -0
  135. package/src/tool/mortgage/i18n/pl.ts +219 -0
  136. package/src/tool/mortgage/i18n/pt.ts +219 -0
  137. package/src/tool/mortgage/i18n/ru.ts +219 -0
  138. package/src/tool/mortgage/i18n/sv.ts +219 -0
  139. package/src/tool/mortgage/i18n/tr.ts +219 -0
  140. package/src/tool/mortgage/i18n/zh.ts +219 -0
  141. package/src/tool/mortgage/index.ts +15 -7
  142. package/src/tool/percentageCalculator/i18n/de.ts +229 -0
  143. package/src/tool/percentageCalculator/i18n/id.ts +229 -0
  144. package/src/tool/percentageCalculator/i18n/it.ts +229 -0
  145. package/src/tool/percentageCalculator/i18n/ja.ts +229 -0
  146. package/src/tool/percentageCalculator/i18n/ko.ts +229 -0
  147. package/src/tool/percentageCalculator/i18n/nl.ts +229 -0
  148. package/src/tool/percentageCalculator/i18n/pl.ts +229 -0
  149. package/src/tool/percentageCalculator/i18n/pt.ts +229 -0
  150. package/src/tool/percentageCalculator/i18n/ru.ts +229 -0
  151. package/src/tool/percentageCalculator/i18n/sv.ts +229 -0
  152. package/src/tool/percentageCalculator/i18n/tr.ts +229 -0
  153. package/src/tool/percentageCalculator/i18n/zh.ts +229 -0
  154. package/src/tool/percentageCalculator/index.ts +15 -7
  155. package/src/tool/rentIncreaseCalculator/i18n/de.ts +136 -0
  156. package/src/tool/rentIncreaseCalculator/i18n/id.ts +136 -0
  157. package/src/tool/rentIncreaseCalculator/i18n/it.ts +136 -0
  158. package/src/tool/rentIncreaseCalculator/i18n/ja.ts +136 -0
  159. package/src/tool/rentIncreaseCalculator/i18n/ko.ts +136 -0
  160. package/src/tool/rentIncreaseCalculator/i18n/nl.ts +136 -0
  161. package/src/tool/rentIncreaseCalculator/i18n/pl.ts +136 -0
  162. package/src/tool/rentIncreaseCalculator/i18n/pt.ts +136 -0
  163. package/src/tool/rentIncreaseCalculator/i18n/ru.ts +136 -0
  164. package/src/tool/rentIncreaseCalculator/i18n/sv.ts +136 -0
  165. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +136 -0
  166. package/src/tool/rentIncreaseCalculator/i18n/zh.ts +136 -0
  167. package/src/tool/rentIncreaseCalculator/index.ts +17 -9
  168. package/src/types.ts +1 -1
@@ -0,0 +1,152 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CourtFeeCalculatorUI } from '../ui';
4
+
5
+ const slug = 'kalkulator-oplat-sadowych-hiszpania';
6
+ const title = 'Kalkulator Opłat Sądowych Hiszpania';
7
+ const description = 'Oblicz dokładną kwotę hiszpańskich opłat sądowych dla firm zgodnie z ustawą 10/2012. Symulator dla Modelu 696 z uwzględnieniem zwolnień.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Czy osoby prywatne są zwolnione z opłat sądowych?',
12
+ answer: 'Tak, od 2016 roku osoby fizyczne w Hiszpanii są całkowicie zwolnione z uiszczania opłat sądowych we wszystkich rodzajach jurysdykcji.',
13
+ },
14
+ {
15
+ question: 'Jaka jest maksymalna kwota opłaty sądowej?',
16
+ answer: 'Kwota zmienna jest ograniczona do maksymalnie 10 000 euro. Po dodaniu kwoty stałej, łączna kwota maksymalna może być wyższa w zależności od rodzaju postępowania.',
17
+ },
18
+ {
19
+ question: 'Co to jest Model 696?',
20
+ answer: 'Jest to oficjalny formularz urzędu skarbowego (AEAT), używany do samoopodatkowania opłaty za wykonywanie władzy sądowniczej.',
21
+ },
22
+ {
23
+ question: 'Czy wnosi się opłatę w sprawach karnych?',
24
+ answer: 'Nie, w Hiszpanii nie istnieją opłaty sądowe dla postępowań w sprawach karnych.',
25
+ },
26
+ {
27
+ question: 'Jak oblicza się kwotę zmienną?',
28
+ answer: 'Kwota zmienna wynosi 0,5% wartości przedmiotu sporu do kwoty 1 miliona euro. Powyżej tej kwoty wynosi 0,25%. Maksimum to 10 000 euro.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Wybierz podmiot podlegający opłacie',
35
+ text: 'Wskaż, czy jesteś osobą fizyczą (zwolnioną) czy prawną (firmą).',
36
+ },
37
+ {
38
+ name: 'Wybierz jurysdykcję i postępowanie',
39
+ text: 'Wybierz rodzaj sądownictwa (Cywilne, Administracyjne lub Społeczne) oraz rodzaj postępowania.',
40
+ },
41
+ {
42
+ name: 'Wprowadź kwotę sporu',
43
+ text: 'Wpisz całkowitą kwotę dochodzoną w pozwie. W sądownictwie społecznym to pole nie ma zastosowania.',
44
+ },
45
+ {
46
+ name: 'Zobacz rozliczenie',
47
+ text: 'Uzyskaj automatyczne wyliczenie opłaty stałej, zmiennej i całkowitej dla Modelu 696.',
48
+ },
49
+ ];
50
+
51
+ const bibliographyData = [
52
+ {
53
+ name: 'Ustawa 10/2012 o Opłatach Sądowych (Hiszpania)',
54
+ url: 'https://www.boe.es/',
55
+ },
56
+ {
57
+ name: 'Wyrok TC 140/2016 w sprawie Opłat Sądowych',
58
+ url: 'https://www.boe.es/',
59
+ },
60
+ {
61
+ name: 'Urząd Skarbowy - Model 696',
62
+ url: 'https://sede.agenciatributaria.gob.es/',
63
+ },
64
+ ];
65
+
66
+ const seoData = [
67
+ {
68
+ type: 'title',
69
+ text: 'Kalkulator Opłat Sądowych Hiszpania 2026: Pełny Przewodnik',
70
+ level: 2,
71
+ },
72
+ {
73
+ type: 'paragraph',
74
+ html: '<strong>Kalkulator Opłat Sądowych</strong> to narzędzie techniczne zaprojektowane w celu precyzyjnego określenia kosztów fiskalnych sprawowania władzy sądowniczej w Hiszpanii zgodnie z ustawą 10/2012.',
75
+ },
76
+ ];
77
+
78
+ const faqSchema: WithContext<FAQPage> = {
79
+ '@context': 'https://schema.org',
80
+ '@type': 'FAQPage',
81
+ mainEntity: faqData.map((item) => ({
82
+ '@type': 'Question',
83
+ name: item.question,
84
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
85
+ })),
86
+ };
87
+
88
+ const howToSchema: WithContext<HowTo> = {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'HowTo',
91
+ name: title,
92
+ description,
93
+ step: howToData.map((step, i) => ({
94
+ '@type': 'HowToStep',
95
+ position: i + 1,
96
+ name: step.name,
97
+ text: step.text,
98
+ })),
99
+ };
100
+
101
+ const appSchema: WithContext<SoftwareApplication> = {
102
+ '@context': 'https://schema.org',
103
+ '@type': 'SoftwareApplication',
104
+ name: title,
105
+ description,
106
+ applicationCategory: 'FinanceApplication',
107
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
108
+ };
109
+
110
+ export const content: ToolLocaleContent<CourtFeeCalculatorUI> = {
111
+ slug,
112
+ title,
113
+ description,
114
+ faqTitle: 'Często zadawane pytania',
115
+ bibliographyTitle: 'Źródła i odniesienia',
116
+ ui: {
117
+ labelTitle: 'Kalkulator Opłat Sądowych',
118
+ labelDescription: 'Oblicz dokładną kwotę Modelu 696 według jurysdykcji i postępowania. Dla firm i profesjonalistów.',
119
+ labelLegalParameters: 'Parametry Prawne',
120
+ labelEntityType: 'Podmiot Podlegający Opłacie',
121
+ labelJurisdiction: 'Jurysdykcja',
122
+ labelProcedure: 'Rodzaj Postępowania',
123
+ labelClaimAmount: 'Wartość Przedmiotu Sporu',
124
+ labelEstimatedSettlement: 'Szacowane Rozliczenie',
125
+ labelExemptSubject: 'Podmiot Zwolniony',
126
+ labelFixedQuote: 'Kwota Stała (Procesowa)',
127
+ labelVariableQuote: 'Kwota Zmienna (0,5% / 0,25%)',
128
+ labelTaxableBase: 'Podstawa Opodatkowania',
129
+ labelCopySettlement: 'Kopiuj Rozliczenie',
130
+ labelEntityJuridica: 'Osoba Prawna (Sp. z o.o., S.A.)',
131
+ labelEntityFisica: 'Osoba Fizyczna (Zwolniona)',
132
+ labelCivilOrder: 'Postępowanie Cywilne',
133
+ labelAdministrativeOrder: 'Sądownictwo Administracyjne',
134
+ labelSocialOrder: 'Sądownictwo Społeczne',
135
+ labelModel696: 'Model 696 AEAT',
136
+ labelOrdinary: 'Postępowanie Zwyczajne',
137
+ labelVerbal: 'Postępowanie Uproszczone',
138
+ labelExecutive: 'Postępowanie Egzekucyjne',
139
+ labelAppeal: 'Apelacja',
140
+ labelCassation: 'Kasacja',
141
+ labelAbbreviated: 'Postępowanie Skrócone',
142
+ labelSupplication: 'Zalżalenie',
143
+ currencySymbol: '€',
144
+ currencyCode: 'EUR',
145
+ currencyLocale: 'pl-PL',
146
+ },
147
+ faq: faqData,
148
+ howTo: howToData,
149
+ bibliography: bibliographyData,
150
+ seo: seoData,
151
+ schemas: [faqSchema, howToSchema, appSchema],
152
+ };
@@ -0,0 +1,152 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CourtFeeCalculatorUI } from '../ui';
4
+
5
+ const slug = 'calculadora-taxas-judiciais-espanha';
6
+ const title = 'Calculadora de Taxas Judiciais Espanha';
7
+ const description = 'Calcule o valor exato das taxas judiciais espanholas para empresas segundo a Lei 10/2012. Simulador para o Modelo 696.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Os particulares estão isentos de pagar taxas judiciais?',
12
+ answer: 'Sim, desde 2016 as pessoas físicas estão totalmente isentas do pagamento de taxas judiciais em Espanha em todas as instâncias jurisdicionais.',
13
+ },
14
+ {
15
+ question: 'Qual é o valor máximo da taxa judicial?',
16
+ answer: 'A quota variável está limitada a um máximo de 10.000 euros. Somando a quota fixa, o total máximo pode ser superior dependendo do tipo de procedimento.',
17
+ },
18
+ {
19
+ question: 'O que é o Modelo 696?',
20
+ answer: 'É o formulário oficial da Agência Tributária espanhola (AEAT) utilizado para a autoliquidação da taxa pela atividade jurisdicional.',
21
+ },
22
+ {
23
+ question: 'Paga-se taxa na esfera penal?',
24
+ answer: 'Não, em Espanha não existem taxas judiciais para os processos na esfera penal.',
25
+ },
26
+ {
27
+ question: 'Como se calcula a quota variável?',
28
+ answer: 'A quota variável é 0,5% do valor do litígio até 1 milhão de euros. A partir daí, é 0,25%. O máximo é 10.000 euros.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Selecione o sujeito passivo',
35
+ text: 'Indique se é pessoa física (isento) o jurídica (empresa).',
36
+ },
37
+ {
38
+ name: 'Escolha a jurisdição e o processo',
39
+ text: 'Selecione a ordem jurisdicional (Civil, Contencioso-Administrativa ou Social) e o tipo de procedimento.',
40
+ },
41
+ {
42
+ name: 'Introduza o valor do litígio',
43
+ text: 'Escreva o valor total reclamado na petição. Para a esfera social, este campo não se aplica.',
44
+ },
45
+ {
46
+ name: 'Visualize o detalhamento',
47
+ text: 'Obtenha o cálculo automático com quota fixa, variável e total para o Modelo 696.',
48
+ },
49
+ ];
50
+
51
+ const bibliographyData = [
52
+ {
53
+ name: 'Lei 10/2012 de Taxas Judiciais (Espanha)',
54
+ url: 'https://www.boe.es/',
55
+ },
56
+ {
57
+ name: 'Acórdão TC 140/2016 sobre Taxas Judiciais',
58
+ url: 'https://www.boe.es/',
59
+ },
60
+ {
61
+ name: 'Agência Tributária - Modelo 696',
62
+ url: 'https://sede.agenciatributaria.gob.es/',
63
+ },
64
+ ];
65
+
66
+ const seoData = [
67
+ {
68
+ type: 'title',
69
+ text: 'Calculadora de Taxas Judiciais Espanha 2026: Guia Completo',
70
+ level: 2,
71
+ },
72
+ {
73
+ type: 'paragraph',
74
+ html: 'A <strong>Calculadora de Taxas Judiciais</strong> é uma ferramenta técnica concebida para determinar com precisão o custo fiscal da atividade jurisdicional em Espanha segundo a Lei 10/2012.',
75
+ },
76
+ ];
77
+
78
+ const faqSchema: WithContext<FAQPage> = {
79
+ '@context': 'https://schema.org',
80
+ '@type': 'FAQPage',
81
+ mainEntity: faqData.map((item) => ({
82
+ '@type': 'Question',
83
+ name: item.question,
84
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
85
+ })),
86
+ };
87
+
88
+ const howToSchema: WithContext<HowTo> = {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'HowTo',
91
+ name: title,
92
+ description,
93
+ step: howToData.map((step, i) => ({
94
+ '@type': 'HowToStep',
95
+ position: i + 1,
96
+ name: step.name,
97
+ text: step.text,
98
+ })),
99
+ };
100
+
101
+ const appSchema: WithContext<SoftwareApplication> = {
102
+ '@context': 'https://schema.org',
103
+ '@type': 'SoftwareApplication',
104
+ name: title,
105
+ description,
106
+ applicationCategory: 'FinanceApplication',
107
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
108
+ };
109
+
110
+ export const content: ToolLocaleContent<CourtFeeCalculatorUI> = {
111
+ slug,
112
+ title,
113
+ description,
114
+ faqTitle: 'Perguntas Frequentes',
115
+ bibliographyTitle: 'Fontes e Referências',
116
+ ui: {
117
+ labelTitle: 'Calculadora de Taxas Judiciais',
118
+ labelDescription: 'Calcule o valor exato do Modelo 696 por jurisdição e procedimento. Para empresas e profissionais.',
119
+ labelLegalParameters: 'Parâmetros Legais',
120
+ labelEntityType: 'Sujeito Passivo',
121
+ labelJurisdiction: 'Jurisdição',
122
+ labelProcedure: 'Tipo de Processo',
123
+ labelClaimAmount: 'Valor do Litígio',
124
+ labelEstimatedSettlement: 'Liquidação Estimada',
125
+ labelExemptSubject: 'Sujeito Isento',
126
+ labelFixedQuote: 'Quota Fixa (Processual)',
127
+ labelVariableQuote: 'Quota Variável (0,5% / 0,25%)',
128
+ labelTaxableBase: 'Base Tributável',
129
+ labelCopySettlement: 'Copiar Liquidação',
130
+ labelEntityJuridica: 'Pessoa Jurídica (Lda, S.A.)',
131
+ labelEntityFisica: 'Pessoa Física (Isento)',
132
+ labelCivilOrder: 'Ordem Civil',
133
+ labelAdministrativeOrder: 'Contencioso-Administrativa',
134
+ labelSocialOrder: 'Ordem Social',
135
+ labelModel696: 'Modelo 696 AEAT',
136
+ labelOrdinary: 'Processo Ordinário',
137
+ labelVerbal: 'Processo Verbal',
138
+ labelExecutive: 'Executivo',
139
+ labelAppeal: 'Apelação',
140
+ labelCassation: 'Cassação',
141
+ labelAbbreviated: 'Abreviado',
142
+ labelSupplication: 'Súplica',
143
+ currencySymbol: '€',
144
+ currencyCode: 'EUR',
145
+ currencyLocale: 'pt-PT',
146
+ },
147
+ faq: faqData,
148
+ howTo: howToData,
149
+ bibliography: bibliographyData,
150
+ seo: seoData,
151
+ schemas: [faqSchema, howToSchema, appSchema],
152
+ };
@@ -0,0 +1,152 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CourtFeeCalculatorUI } from '../ui';
4
+
5
+ const slug = 'kalkulyator-sudebnykh-poshlin-ispaniya';
6
+ const title = 'Калькулятор судебных пошлин Испания';
7
+ const description = 'Рассчитайте точную сумму испанских судебных пошлин для компаний согласно Закону 10/2012. Симулятор для формы 696.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Освобождены ли физические лица от уплаты судебных пошлин?',
12
+ answer: 'Да, с 2016 года физические лица в Испании полностью освобождены от уплаты судебных пошлин во всех юрисдикциях.',
13
+ },
14
+ {
15
+ question: 'Каков максимальный размер судебной пошлины?',
16
+ answer: 'Переменная часть ограничена максимум 10 000 евро. С учетом фиксированной части общая сумма может быть выше в зависимости от типа процедуры.',
17
+ },
18
+ {
19
+ question: 'Что такое форма 696?',
20
+ answer: 'Это официальная форма Налогового агентства Испании (AEAT), используемая для самостоятельного расчета и уплаты пошлины за осуществление юрисдикционных полномочий.',
21
+ },
22
+ {
23
+ question: 'Нужно ли платить пошлину в уголовном процессе?',
24
+ answer: 'Нет, в Испании не существует судебных пошлин для процессов в уголовной юрисдикции.',
25
+ },
26
+ {
27
+ question: 'Как рассчитывается переменная часть пошлины?',
28
+ answer: 'Переменная часть составляет 0,5% от суммы иска до 1 миллиона евро. Сверх этой суммы — 0,25%. Максимум — 10 000 евро.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Выберите плательщика',
35
+ text: 'Укажите, являетесь ли вы физическим лицом (освобождены) или юридическим лицом (компания).',
36
+ },
37
+ {
38
+ name: 'Выберите юрисдикцию и процесс',
39
+ text: 'Выберите тип юрисдикции (гражданская, административная или социальная) и тип процедуры.',
40
+ },
41
+ {
42
+ name: 'Введите сумму иска',
43
+ text: 'Укажите общую сумму требований в иске. Для социальной юрисдикции это поле не применяется.',
44
+ },
45
+ {
46
+ name: 'Посмотрите расчет',
47
+ text: 'Получите автоматический расчет фиксированной, переменной и общей суммы для формы 696.',
48
+ },
49
+ ];
50
+
51
+ const bibliographyData = [
52
+ {
53
+ name: 'Закон 10/2012 о судебных пошлинах (Испания)',
54
+ url: 'https://www.boe.es/',
55
+ },
56
+ {
57
+ name: 'Решение Конституционного суда 140/2016 о судебных пошлинах',
58
+ url: 'https://www.boe.es/',
59
+ },
60
+ {
61
+ name: 'Налоговое агентство - форма 696',
62
+ url: 'https://sede.agenciatributaria.gob.es/',
63
+ },
64
+ ];
65
+
66
+ const seoData = [
67
+ {
68
+ type: 'title',
69
+ text: 'Калькулятор судебных пошлин Испании 2026: Полное руководство',
70
+ level: 2,
71
+ },
72
+ {
73
+ type: 'paragraph',
74
+ html: '<strong>Калькулятор судебных пошлин</strong> — это технический инструмент, предназначенный для точного определения налоговых расходов на правосудие в Испании согласно Закону 10/2012.',
75
+ },
76
+ ];
77
+
78
+ const faqSchema: WithContext<FAQPage> = {
79
+ '@context': 'https://schema.org',
80
+ '@type': 'FAQPage',
81
+ mainEntity: faqData.map((item) => ({
82
+ '@type': 'Question',
83
+ name: item.question,
84
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
85
+ })),
86
+ };
87
+
88
+ const howToSchema: WithContext<HowTo> = {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'HowTo',
91
+ name: title,
92
+ description,
93
+ step: howToData.map((step, i) => ({
94
+ '@type': 'HowToStep',
95
+ position: i + 1,
96
+ name: step.name,
97
+ text: step.text,
98
+ })),
99
+ };
100
+
101
+ const appSchema: WithContext<SoftwareApplication> = {
102
+ '@context': 'https://schema.org',
103
+ '@type': 'SoftwareApplication',
104
+ name: title,
105
+ description,
106
+ applicationCategory: 'FinanceApplication',
107
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
108
+ };
109
+
110
+ export const content: ToolLocaleContent<CourtFeeCalculatorUI> = {
111
+ slug,
112
+ title,
113
+ description,
114
+ faqTitle: 'Часто задаваемые вопросы',
115
+ bibliographyTitle: 'Источники и ссылки',
116
+ ui: {
117
+ labelTitle: 'Калькулятор судебных пошлин',
118
+ labelDescription: 'Рассчитайте точную сумму формы 696 по юрисдикции и процедуре. Для компаний и профессионалов.',
119
+ labelLegalParameters: 'Юридические параметры',
120
+ labelEntityType: 'Плательщик',
121
+ labelJurisdiction: 'Юрисдикция',
122
+ labelProcedure: 'Тип процесса',
123
+ labelClaimAmount: 'Сумма иска',
124
+ labelEstimatedSettlement: 'Расчетная сумма',
125
+ labelExemptSubject: 'Освобожденное лицо',
126
+ labelFixedQuote: 'Фиксированная часть (процессуальная)',
127
+ labelVariableQuote: 'Переменная часть (0,5% / 0,25%)',
128
+ labelTaxableBase: 'Налогооблагаемая база',
129
+ labelCopySettlement: 'Копировать расчет',
130
+ labelEntityJuridica: 'Юридическое лицо (ООО, АО)',
131
+ labelEntityFisica: 'Физическое лицо (освобождено)',
132
+ labelCivilOrder: 'Гражданская юрисдикция',
133
+ labelAdministrativeOrder: 'Административная юрисдикция',
134
+ labelSocialOrder: 'Социальная юрисдикция',
135
+ labelModel696: 'Форма 696 AEAT',
136
+ labelOrdinary: 'Обычный процесс',
137
+ labelVerbal: 'Устный процесс',
138
+ labelExecutive: 'Исполнительное производство',
139
+ labelAppeal: 'Апелляция',
140
+ labelCassation: 'Кассация',
141
+ labelAbbreviated: 'Упрощенный процесс',
142
+ labelSupplication: 'Жалоба',
143
+ currencySymbol: '€',
144
+ currencyCode: 'EUR',
145
+ currencyLocale: 'ru-RU',
146
+ },
147
+ faq: faqData,
148
+ howTo: howToData,
149
+ bibliography: bibliographyData,
150
+ seo: seoData,
151
+ schemas: [faqSchema, howToSchema, appSchema],
152
+ };
@@ -0,0 +1,152 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CourtFeeCalculatorUI } from '../ui';
4
+
5
+ const slug = 'kalkylator-domstolsavgifter-spanien';
6
+ const title = 'Kalkylator Domstolsavgifter Spanien';
7
+ const description = 'Beräkna det exakta beloppet för spanska domstolsavgifter för företag enligt lag 10/2012. Simulator för modell 696 med undantag.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Är privatpersoner befriade från domstolsavgifter?',
12
+ answer: 'Ja, sedan 2016 är fysiska personer i Spanien helt befriade från att betala domstolsavgifter i alla domstolsinstanser.',
13
+ },
14
+ {
15
+ question: 'Vilket är det högsta beloppet för domstolsavgiften?',
16
+ answer: 'Den variabla delen är begränsad till maximalt 10 000 euro. Tillsammans med den fasta delen kan det totala beloppet bli högre beroende på typ av förfarande.',
17
+ },
18
+ {
19
+ question: 'Vad är modell 696?',
20
+ answer: 'Det är den officiella blanketten från den spanska skattemyndigheten (AEAT) som används för självdeklaration av domstolsavgiften.',
21
+ },
22
+ {
23
+ question: 'Betalas avgift i brottmål?',
24
+ answer: 'Nej, i Spanien finns inga domstolsavgifter för förfaranden i brottmål.',
25
+ },
26
+ {
27
+ question: 'Hur beräknas den variabla delen?',
28
+ answer: 'Den variabla delen är 0,5 % av tvistebeloppet upp till 1 miljon euro. Därutöver är den 0,25 %. Maxbeloppet är 10 000 euro.',
29
+ },
30
+ ];
31
+
32
+ const howToData = [
33
+ {
34
+ name: 'Välj skattesubjekt',
35
+ text: 'Ange om du är en fysisk person (befriad) eller en juridisk person (företag).',
36
+ },
37
+ {
38
+ name: 'Välj jurisdiktion och förfarande',
39
+ text: 'Välj domstolsinstans (Civil, Förvaltningsrättslig eller Social) och typ av förfarande.',
40
+ },
41
+ {
42
+ name: 'Ange tvistebelopp',
43
+ text: 'Skriv in det totala beloppet som yrkas i stämningsansökan. För socialmål gäller inte detta fält.',
44
+ },
45
+ {
46
+ name: 'Visa sammanställning',
47
+ text: 'Få den automatiska beräkningen med fast, variabel och total avgift för modell 696.',
48
+ },
49
+ ];
50
+
51
+ const bibliographyData = [
52
+ {
53
+ name: 'Lag 10/2012 om domstolsavgifter (Spanien)',
54
+ url: 'https://www.boe.es/',
55
+ },
56
+ {
57
+ name: 'Dom TC 140/2016 om domstolsavgifter',
58
+ url: 'https://www.boe.es/',
59
+ },
60
+ {
61
+ name: 'Skattemyndigheten - Modell 696',
62
+ url: 'https://sede.agenciatributaria.gob.es/',
63
+ },
64
+ ];
65
+
66
+ const seoData = [
67
+ {
68
+ type: 'title',
69
+ text: 'Kalkylator Domstolsavgifter Spanien 2026: Fullständig guide',
70
+ level: 2,
71
+ },
72
+ {
73
+ type: 'paragraph',
74
+ html: '<strong>Kalkylatorn för domstolsavgifter</strong> är ett tekniskt verktyg utformat för att exakt fastställa de skattemässiga kostnaderna för domstolsförfaranden i Spanien enligt lag 10/2012.',
75
+ },
76
+ ];
77
+
78
+ const faqSchema: WithContext<FAQPage> = {
79
+ '@context': 'https://schema.org',
80
+ '@type': 'FAQPage',
81
+ mainEntity: faqData.map((item) => ({
82
+ '@type': 'Question',
83
+ name: item.question,
84
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
85
+ })),
86
+ };
87
+
88
+ const howToSchema: WithContext<HowTo> = {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'HowTo',
91
+ name: title,
92
+ description,
93
+ step: howToData.map((step, i) => ({
94
+ '@type': 'HowToStep',
95
+ position: i + 1,
96
+ name: step.name,
97
+ text: step.text,
98
+ })),
99
+ };
100
+
101
+ const appSchema: WithContext<SoftwareApplication> = {
102
+ '@context': 'https://schema.org',
103
+ '@type': 'SoftwareApplication',
104
+ name: title,
105
+ description,
106
+ applicationCategory: 'FinanceApplication',
107
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
108
+ };
109
+
110
+ export const content: ToolLocaleContent<CourtFeeCalculatorUI> = {
111
+ slug,
112
+ title,
113
+ description,
114
+ faqTitle: 'Vanliga frågor',
115
+ bibliographyTitle: 'Källor och referenser',
116
+ ui: {
117
+ labelTitle: 'Kalkylator för domstolsavgifter',
118
+ labelDescription: 'Beräkna det exakta beloppet för modell 696 baserat på jurisdiktion och förfarande. För företag och yrkesverksamma.',
119
+ labelLegalParameters: 'Juridiska parametrar',
120
+ labelEntityType: 'Skattesubjekt',
121
+ labelJurisdiction: 'Jurisdiktion',
122
+ labelProcedure: 'Typ av förfarande',
123
+ labelClaimAmount: 'Tvistebelopp',
124
+ labelEstimatedSettlement: 'Beräknad avräkning',
125
+ labelExemptSubject: 'Befriat subjekt',
126
+ labelFixedQuote: 'Fast avgift (Processuell)',
127
+ labelVariableQuote: 'Variabel avgift (0,5% / 0,25%)',
128
+ labelTaxableBase: 'Beskattningsunderlag',
129
+ labelCopySettlement: 'Kopiera avräkning',
130
+ labelEntityJuridica: 'Juridisk person (AB)',
131
+ labelEntityFisica: 'Fysisk person (Befriad)',
132
+ labelCivilOrder: 'Civilmål',
133
+ labelAdministrativeOrder: 'Förvaltningsrättsligt mål',
134
+ labelSocialOrder: 'Socialmål (Arbetsrätt)',
135
+ labelModel696: 'Modell 696 AEAT',
136
+ labelOrdinary: 'Ordinarie rättegång',
137
+ labelVerbal: 'Förenklat förfarande',
138
+ labelExecutive: 'Verkställighet',
139
+ labelAppeal: 'Överklagande',
140
+ labelCassation: 'Kassation',
141
+ labelAbbreviated: 'Snabbförfarande',
142
+ labelSupplication: 'Besvär',
143
+ currencySymbol: '€',
144
+ currencyCode: 'EUR',
145
+ currencyLocale: 'sv-SE',
146
+ },
147
+ faq: faqData,
148
+ howTo: howToData,
149
+ bibliography: bibliographyData,
150
+ seo: seoData,
151
+ schemas: [faqSchema, howToSchema, appSchema],
152
+ };