@jjlmoya/utils-tools 1.11.0 → 1.13.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 (234) hide show
  1. package/package.json +1 -1
  2. package/src/pages/[locale]/[slug].astro +30 -13
  3. package/src/tests/locale_completeness.test.ts +3 -20
  4. package/src/tests/shared-test-helpers.ts +56 -0
  5. package/src/tests/tool_exports.test.ts +34 -0
  6. package/src/tool/date-diff-calculator/bibliography.astro +2 -10
  7. package/src/tool/date-diff-calculator/bibliography.ts +7 -0
  8. package/src/tool/date-diff-calculator/date-difference-calculator.css +1 -1
  9. package/src/tool/date-diff-calculator/i18n/de.ts +4 -7
  10. package/src/tool/date-diff-calculator/i18n/en.ts +4 -7
  11. package/src/tool/date-diff-calculator/i18n/es.ts +4 -7
  12. package/src/tool/date-diff-calculator/i18n/fr.ts +4 -7
  13. package/src/tool/date-diff-calculator/i18n/id.ts +4 -7
  14. package/src/tool/date-diff-calculator/i18n/it.ts +4 -7
  15. package/src/tool/date-diff-calculator/i18n/ja.ts +4 -7
  16. package/src/tool/date-diff-calculator/i18n/ko.ts +4 -7
  17. package/src/tool/date-diff-calculator/i18n/nl.ts +4 -7
  18. package/src/tool/date-diff-calculator/i18n/pl.ts +4 -7
  19. package/src/tool/date-diff-calculator/i18n/pt.ts +4 -7
  20. package/src/tool/date-diff-calculator/i18n/ru.ts +4 -7
  21. package/src/tool/date-diff-calculator/i18n/sv.ts +4 -7
  22. package/src/tool/date-diff-calculator/i18n/tr.ts +4 -7
  23. package/src/tool/date-diff-calculator/i18n/zh.ts +4 -7
  24. package/src/tool/date-diff-calculator/seo.astro +2 -1
  25. package/src/tool/drive-direct-link/bibliography.astro +2 -10
  26. package/src/tool/drive-direct-link/bibliography.ts +6 -0
  27. package/src/tool/drive-direct-link/google-drive-direct-download-link.css +1 -1
  28. package/src/tool/drive-direct-link/i18n/de.ts +4 -6
  29. package/src/tool/drive-direct-link/i18n/en.ts +4 -6
  30. package/src/tool/drive-direct-link/i18n/es.ts +4 -6
  31. package/src/tool/drive-direct-link/i18n/fr.ts +4 -6
  32. package/src/tool/drive-direct-link/i18n/id.ts +4 -6
  33. package/src/tool/drive-direct-link/i18n/it.ts +4 -6
  34. package/src/tool/drive-direct-link/i18n/ja.ts +4 -6
  35. package/src/tool/drive-direct-link/i18n/ko.ts +4 -6
  36. package/src/tool/drive-direct-link/i18n/nl.ts +4 -6
  37. package/src/tool/drive-direct-link/i18n/pl.ts +4 -6
  38. package/src/tool/drive-direct-link/i18n/pt.ts +4 -6
  39. package/src/tool/drive-direct-link/i18n/ru.ts +4 -6
  40. package/src/tool/drive-direct-link/i18n/sv.ts +4 -6
  41. package/src/tool/drive-direct-link/i18n/tr.ts +4 -6
  42. package/src/tool/drive-direct-link/i18n/zh.ts +4 -6
  43. package/src/tool/drive-direct-link/seo.astro +2 -1
  44. package/src/tool/email-list-cleaner/bibliography.astro +2 -10
  45. package/src/tool/email-list-cleaner/bibliography.ts +7 -0
  46. package/src/tool/email-list-cleaner/email-list-cleaner.css +1 -1
  47. package/src/tool/email-list-cleaner/i18n/de.ts +4 -7
  48. package/src/tool/email-list-cleaner/i18n/en.ts +4 -7
  49. package/src/tool/email-list-cleaner/i18n/es.ts +4 -7
  50. package/src/tool/email-list-cleaner/i18n/fr.ts +4 -7
  51. package/src/tool/email-list-cleaner/i18n/id.ts +4 -7
  52. package/src/tool/email-list-cleaner/i18n/it.ts +4 -7
  53. package/src/tool/email-list-cleaner/i18n/ja.ts +4 -7
  54. package/src/tool/email-list-cleaner/i18n/ko.ts +4 -7
  55. package/src/tool/email-list-cleaner/i18n/nl.ts +4 -7
  56. package/src/tool/email-list-cleaner/i18n/pl.ts +4 -7
  57. package/src/tool/email-list-cleaner/i18n/pt.ts +4 -7
  58. package/src/tool/email-list-cleaner/i18n/ru.ts +4 -7
  59. package/src/tool/email-list-cleaner/i18n/sv.ts +4 -7
  60. package/src/tool/email-list-cleaner/i18n/tr.ts +4 -7
  61. package/src/tool/email-list-cleaner/i18n/zh.ts +4 -7
  62. package/src/tool/email-list-cleaner/seo.astro +2 -1
  63. package/src/tool/env-badge-spain/bibliography.astro +2 -10
  64. package/src/tool/env-badge-spain/bibliography.ts +6 -0
  65. package/src/tool/env-badge-spain/environmental-badge-simulator-spain.css +17 -17
  66. package/src/tool/env-badge-spain/i18n/de.ts +4 -6
  67. package/src/tool/env-badge-spain/i18n/en.ts +4 -6
  68. package/src/tool/env-badge-spain/i18n/es.ts +4 -6
  69. package/src/tool/env-badge-spain/i18n/fr.ts +4 -6
  70. package/src/tool/env-badge-spain/i18n/id.ts +4 -6
  71. package/src/tool/env-badge-spain/i18n/it.ts +4 -6
  72. package/src/tool/env-badge-spain/i18n/ja.ts +4 -6
  73. package/src/tool/env-badge-spain/i18n/ko.ts +4 -6
  74. package/src/tool/env-badge-spain/i18n/nl.ts +4 -6
  75. package/src/tool/env-badge-spain/i18n/pl.ts +4 -6
  76. package/src/tool/env-badge-spain/i18n/pt.ts +4 -6
  77. package/src/tool/env-badge-spain/i18n/ru.ts +4 -6
  78. package/src/tool/env-badge-spain/i18n/sv.ts +4 -6
  79. package/src/tool/env-badge-spain/i18n/tr.ts +4 -6
  80. package/src/tool/env-badge-spain/i18n/zh.ts +4 -6
  81. package/src/tool/env-badge-spain/seo.astro +2 -1
  82. package/src/tool/morse-beacon/bibliography.astro +2 -10
  83. package/src/tool/morse-beacon/bibliography.ts +7 -0
  84. package/src/tool/morse-beacon/i18n/de.ts +4 -7
  85. package/src/tool/morse-beacon/i18n/en.ts +4 -7
  86. package/src/tool/morse-beacon/i18n/es.ts +4 -7
  87. package/src/tool/morse-beacon/i18n/fr.ts +4 -7
  88. package/src/tool/morse-beacon/i18n/id.ts +4 -7
  89. package/src/tool/morse-beacon/i18n/it.ts +4 -7
  90. package/src/tool/morse-beacon/i18n/ja.ts +4 -7
  91. package/src/tool/morse-beacon/i18n/ko.ts +4 -7
  92. package/src/tool/morse-beacon/i18n/nl.ts +4 -7
  93. package/src/tool/morse-beacon/i18n/pl.ts +4 -7
  94. package/src/tool/morse-beacon/i18n/pt.ts +4 -7
  95. package/src/tool/morse-beacon/i18n/ru.ts +4 -7
  96. package/src/tool/morse-beacon/i18n/sv.ts +4 -7
  97. package/src/tool/morse-beacon/i18n/tr.ts +4 -7
  98. package/src/tool/morse-beacon/i18n/zh.ts +4 -7
  99. package/src/tool/morse-beacon/morse-beacon.css +1 -1
  100. package/src/tool/morse-beacon/seo.astro +2 -1
  101. package/src/tool/password-generator/bibliography.astro +2 -10
  102. package/src/tool/password-generator/bibliography.ts +8 -0
  103. package/src/tool/password-generator/i18n/de.ts +4 -8
  104. package/src/tool/password-generator/i18n/en.ts +4 -8
  105. package/src/tool/password-generator/i18n/es.ts +4 -8
  106. package/src/tool/password-generator/i18n/fr.ts +4 -8
  107. package/src/tool/password-generator/i18n/id.ts +4 -8
  108. package/src/tool/password-generator/i18n/it.ts +4 -8
  109. package/src/tool/password-generator/i18n/ja.ts +4 -8
  110. package/src/tool/password-generator/i18n/ko.ts +4 -8
  111. package/src/tool/password-generator/i18n/nl.ts +4 -8
  112. package/src/tool/password-generator/i18n/pl.ts +4 -8
  113. package/src/tool/password-generator/i18n/pt.ts +4 -8
  114. package/src/tool/password-generator/i18n/ru.ts +4 -8
  115. package/src/tool/password-generator/i18n/sv.ts +4 -8
  116. package/src/tool/password-generator/i18n/tr.ts +4 -8
  117. package/src/tool/password-generator/i18n/zh.ts +4 -8
  118. package/src/tool/password-generator/password-generator.css +4 -4
  119. package/src/tool/password-generator/seo.astro +2 -1
  120. package/src/tool/routes/bibliography.astro +2 -10
  121. package/src/tool/routes/bibliography.ts +9 -0
  122. package/src/tool/routes/i18n/de.ts +4 -9
  123. package/src/tool/routes/i18n/en.ts +4 -9
  124. package/src/tool/routes/i18n/es.ts +4 -9
  125. package/src/tool/routes/i18n/fr.ts +4 -9
  126. package/src/tool/routes/i18n/id.ts +4 -9
  127. package/src/tool/routes/i18n/it.ts +4 -9
  128. package/src/tool/routes/i18n/ja.ts +4 -9
  129. package/src/tool/routes/i18n/ko.ts +4 -9
  130. package/src/tool/routes/i18n/nl.ts +4 -9
  131. package/src/tool/routes/i18n/pl.ts +4 -9
  132. package/src/tool/routes/i18n/pt.ts +4 -9
  133. package/src/tool/routes/i18n/ru.ts +4 -9
  134. package/src/tool/routes/i18n/sv.ts +4 -9
  135. package/src/tool/routes/i18n/tr.ts +4 -9
  136. package/src/tool/routes/i18n/zh.ts +4 -9
  137. package/src/tool/routes/optimal-routes.css +2 -2
  138. package/src/tool/routes/seo.astro +2 -1
  139. package/src/tool/rule-of-three/bibliography.astro +2 -10
  140. package/src/tool/rule-of-three/bibliography.ts +6 -0
  141. package/src/tool/rule-of-three/i18n/de.ts +4 -6
  142. package/src/tool/rule-of-three/i18n/en.ts +4 -6
  143. package/src/tool/rule-of-three/i18n/es.ts +4 -6
  144. package/src/tool/rule-of-three/i18n/fr.ts +4 -6
  145. package/src/tool/rule-of-three/i18n/id.ts +4 -6
  146. package/src/tool/rule-of-three/i18n/it.ts +4 -6
  147. package/src/tool/rule-of-three/i18n/ja.ts +4 -6
  148. package/src/tool/rule-of-three/i18n/ko.ts +4 -6
  149. package/src/tool/rule-of-three/i18n/nl.ts +4 -6
  150. package/src/tool/rule-of-three/i18n/pl.ts +4 -6
  151. package/src/tool/rule-of-three/i18n/pt.ts +4 -6
  152. package/src/tool/rule-of-three/i18n/ru.ts +4 -6
  153. package/src/tool/rule-of-three/i18n/sv.ts +4 -6
  154. package/src/tool/rule-of-three/i18n/tr.ts +4 -6
  155. package/src/tool/rule-of-three/i18n/zh.ts +4 -6
  156. package/src/tool/rule-of-three/rule-of-three.css +2 -2
  157. package/src/tool/rule-of-three/seo.astro +2 -1
  158. package/src/tool/seo-content-optimizer/bibliography.astro +2 -10
  159. package/src/tool/seo-content-optimizer/bibliography.ts +6 -0
  160. package/src/tool/seo-content-optimizer/i18n/de.ts +4 -6
  161. package/src/tool/seo-content-optimizer/i18n/en.ts +4 -6
  162. package/src/tool/seo-content-optimizer/i18n/es.ts +4 -6
  163. package/src/tool/seo-content-optimizer/i18n/fr.ts +4 -6
  164. package/src/tool/seo-content-optimizer/i18n/id.ts +4 -6
  165. package/src/tool/seo-content-optimizer/i18n/it.ts +4 -6
  166. package/src/tool/seo-content-optimizer/i18n/ja.ts +4 -6
  167. package/src/tool/seo-content-optimizer/i18n/ko.ts +4 -6
  168. package/src/tool/seo-content-optimizer/i18n/nl.ts +4 -6
  169. package/src/tool/seo-content-optimizer/i18n/pl.ts +4 -6
  170. package/src/tool/seo-content-optimizer/i18n/pt.ts +4 -6
  171. package/src/tool/seo-content-optimizer/i18n/ru.ts +4 -6
  172. package/src/tool/seo-content-optimizer/i18n/sv.ts +4 -6
  173. package/src/tool/seo-content-optimizer/i18n/tr.ts +4 -6
  174. package/src/tool/seo-content-optimizer/i18n/zh.ts +4 -6
  175. package/src/tool/seo-content-optimizer/seo-content-optimizer.css +10 -10
  176. package/src/tool/seo-content-optimizer/seo.astro +2 -1
  177. package/src/tool/speed-reader/bibliography.astro +2 -10
  178. package/src/tool/speed-reader/bibliography.ts +10 -0
  179. package/src/tool/speed-reader/i18n/de.ts +4 -10
  180. package/src/tool/speed-reader/i18n/en.ts +4 -10
  181. package/src/tool/speed-reader/i18n/es.ts +4 -10
  182. package/src/tool/speed-reader/i18n/fr.ts +4 -10
  183. package/src/tool/speed-reader/i18n/id.ts +4 -10
  184. package/src/tool/speed-reader/i18n/it.ts +4 -10
  185. package/src/tool/speed-reader/i18n/ja.ts +4 -10
  186. package/src/tool/speed-reader/i18n/ko.ts +4 -10
  187. package/src/tool/speed-reader/i18n/nl.ts +4 -10
  188. package/src/tool/speed-reader/i18n/pl.ts +4 -10
  189. package/src/tool/speed-reader/i18n/pt.ts +4 -10
  190. package/src/tool/speed-reader/i18n/ru.ts +4 -10
  191. package/src/tool/speed-reader/i18n/sv.ts +4 -10
  192. package/src/tool/speed-reader/i18n/tr.ts +4 -10
  193. package/src/tool/speed-reader/i18n/zh.ts +4 -10
  194. package/src/tool/speed-reader/seo.astro +2 -1
  195. package/src/tool/speed-reader/speed-reader.css +5 -5
  196. package/src/tool/text-pixel-calculator/bibliography.astro +2 -10
  197. package/src/tool/text-pixel-calculator/bibliography.ts +6 -0
  198. package/src/tool/text-pixel-calculator/i18n/de.ts +4 -6
  199. package/src/tool/text-pixel-calculator/i18n/en.ts +4 -6
  200. package/src/tool/text-pixel-calculator/i18n/es.ts +4 -6
  201. package/src/tool/text-pixel-calculator/i18n/fr.ts +4 -6
  202. package/src/tool/text-pixel-calculator/i18n/id.ts +4 -6
  203. package/src/tool/text-pixel-calculator/i18n/it.ts +4 -6
  204. package/src/tool/text-pixel-calculator/i18n/ja.ts +4 -6
  205. package/src/tool/text-pixel-calculator/i18n/ko.ts +4 -6
  206. package/src/tool/text-pixel-calculator/i18n/nl.ts +4 -6
  207. package/src/tool/text-pixel-calculator/i18n/pl.ts +4 -6
  208. package/src/tool/text-pixel-calculator/i18n/pt.ts +4 -6
  209. package/src/tool/text-pixel-calculator/i18n/ru.ts +4 -6
  210. package/src/tool/text-pixel-calculator/i18n/sv.ts +4 -6
  211. package/src/tool/text-pixel-calculator/i18n/tr.ts +4 -6
  212. package/src/tool/text-pixel-calculator/i18n/zh.ts +4 -6
  213. package/src/tool/text-pixel-calculator/seo.astro +2 -1
  214. package/src/tool/text-pixel-calculator/text-pixel-width-calculator.css +1 -1
  215. package/src/tool/whatsapp-link/bibliography.astro +2 -10
  216. package/src/tool/whatsapp-link/bibliography.ts +6 -0
  217. package/src/tool/whatsapp-link/i18n/de.ts +4 -6
  218. package/src/tool/whatsapp-link/i18n/en.ts +4 -6
  219. package/src/tool/whatsapp-link/i18n/es.ts +4 -6
  220. package/src/tool/whatsapp-link/i18n/fr.ts +4 -6
  221. package/src/tool/whatsapp-link/i18n/id.ts +4 -6
  222. package/src/tool/whatsapp-link/i18n/it.ts +4 -6
  223. package/src/tool/whatsapp-link/i18n/ja.ts +4 -6
  224. package/src/tool/whatsapp-link/i18n/ko.ts +4 -6
  225. package/src/tool/whatsapp-link/i18n/nl.ts +4 -6
  226. package/src/tool/whatsapp-link/i18n/pl.ts +4 -6
  227. package/src/tool/whatsapp-link/i18n/pt.ts +4 -6
  228. package/src/tool/whatsapp-link/i18n/ru.ts +4 -6
  229. package/src/tool/whatsapp-link/i18n/sv.ts +4 -6
  230. package/src/tool/whatsapp-link/i18n/tr.ts +4 -6
  231. package/src/tool/whatsapp-link/i18n/zh.ts +4 -6
  232. package/src/tool/whatsapp-link/seo.astro +2 -1
  233. package/src/tool/whatsapp-link/whatsapp-link-generator.css +2 -2
  234. package/src/types.ts +0 -2
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: '이메일 리스트 클리너',
77
78
  description: '이메일 리스트를 무료로 정리하세요. 중복 제거, 공백 수정, 형식 확인을 몇 초 만에 완료합니다. 비용을 절감하고 도달률을 높이세요.',
78
79
  ui,
79
- faqTitle: '자주 묻는 질문',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: '참고 문헌',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google: 이메일 발신자 가이드라인', url: 'https://support.google.com/a/answer/81126' },
86
- { name: 'Wikipedia: 이메일 스팸', url: 'https://ko.wikipedia.org/wiki/이메일_스팸' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: '이메일 리스트 클리너 사용이 필수적인 이유는 무엇인가요?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: 'E maillijst Cleaner',
77
78
  description: 'Schoon e-maillijsten gratis op. Verwijder duplicaten, corrigeer witruimte en valideer formaten in seconden. Bespaar kosten en verbeter uw afleverbaarheid.',
78
79
  ui,
79
- faqTitle: 'Veelgestelde Vragen',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: 'Referenties',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google: Richtlijnen voor e-mailverzenders', url: 'https://support.google.com/a/answer/81126' },
86
- { name: 'Wikipedia: E-mailspam', url: 'https://nl.wikipedia.org/wiki/Spam_(post)' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: 'Waarom is het gebruik van een e-maillijst-cleaner essentieel?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: 'Czyścik do List E mailowych',
77
78
  description: 'Czyść listy e-mailowe za darmo. Usuwaj duplikaty, naprawiaj spacje i waliduj formaty w kilka sekund. Oszczędzaj koszty i popraw dostarczalność.',
78
79
  ui,
79
- faqTitle: 'Często zadawane pytania',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: 'Źródła',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google: Wytyczne dla nadawców e-maili', url: 'https://support.google.com/a/answer/81126' },
86
- { name: 'Wikipedia: Spam (poczta elektroniczna)', url: 'https://pl.wikipedia.org/wiki/Spam' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: 'Dlaczego korzystanie z czyścika do list e-mailowych jest niezbędne?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: 'Limpador de Listas de E mail',
77
78
  description: 'Limpe listas de e-mail gratuitamente. Remova duplicados, corrija espaços em branco e valide formatos em segundos. Poupe custos e melhore a sua entregabilidade.',
78
79
  ui,
79
- faqTitle: 'Perguntas Frequentes',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: 'Referências',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google: Diretrizes para remetentes de e-mail', url: 'https://support.google.com/a/answer/81126' },
86
- { name: 'Wikipedia: Spam de e-mail', url: 'https://pt.wikipedia.org/wiki/Spam' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: 'Por que é essencial usar um limpador de listas de e-mail?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: 'Очиститель списков адресов электронной почты',
77
78
  description: 'Очищайте списки адресов электронной почты бесплатно. Удаляйте дубликаты, исправляйте пробелы и проверяйте форматы за считанные секунды. Экономьте и улучшайте доставляемость.',
78
79
  ui,
79
- faqTitle: 'Часто задаваемые вопросы',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: 'Источники',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google: Рекомендации для отправителей писем', url: 'https://support.google.com/a/answer/81126' },
86
- { name: 'Википедия: Электронный спам', url: 'https://ru.wikipedia.org/wiki/Спам' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: 'Почему использование очистителя списков адресов электронной почты крайне важно?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: 'E postlisterensare',
77
78
  description: 'Rensa e-postlistor gratis. Ta bort dubbletter, fixa mellanslag och validera format på några sekunder. Spara kostnader och förbättra din leveransbarhet.',
78
79
  ui,
79
- faqTitle: 'Vanliga frågor',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: 'Referenser',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google: Riktlinjer för e-postavsändare', url: 'https://support.google.com/a/answer/81126' },
86
- { name: 'Wikipedia: E-postspam', url: 'https://sv.wikipedia.org/wiki/Skräppost' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: 'Varför är det nödvändigt att använda en e-postlisterensare?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: 'E posta Listesi Temizleyici',
77
78
  description: 'E-posta listelerini ücretsiz temizleyin. Kopyaları kaldırın, boşlukları düzeltin ve saniyeler içinde formatları doğrulayın. Maliyetlerden tasarruf edin ve teslim edilebilirliğinizi artırır.',
78
79
  ui,
79
- faqTitle: 'Sıkça Sorulan Sorular',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: 'Kaynaklar',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google: E-posta gönderen yönergeleri', url: 'https://support.google.com/a/answer/81126' },
86
- { name: 'Vikipedi: E-posta spam', url: 'https://tr.wikipedia.org/wiki/E-posta_spam' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: 'Neden bir e-posta listesi temizleyici kullanmak esastır?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EmailListCleanerUI } from '../ui';
@@ -76,15 +77,11 @@ export const content: ToolLocaleContent<EmailListCleanerUI> = {
76
77
  title: '邮件列表清洗工具',
77
78
  description: '免费清洗电子邮件列表。在几秒钟内删除重复项、修正空格并验证格式。节省成本并提高邮件送达率。',
78
79
  ui,
79
- faqTitle: '常见问题',
80
+
80
81
  faq: faqData,
81
82
  howTo: howToData,
82
- bibliographyTitle: '参考文献',
83
- bibliography: [
84
- { name: 'RFC 5322: Internet Message Format', url: 'https://datatracker.ietf.org/doc/html/rfc5322' },
85
- { name: 'Google:电子邮件发件人指南', url: 'https://support.google.com/a/answer/81126' },
86
- { name: '维基百科:垃圾邮件', url: 'https://zh.wikipedia.org/wiki/垃圾郵件' },
87
- ],
83
+
84
+ bibliography,
88
85
  schemas: [faqSchema, howToSchema, appSchema],
89
86
  seo: [
90
87
  { type: 'title', level: 2, text: '为什么使用邮件列表清洗工具至关重要?' },
@@ -9,6 +9,7 @@ interface Props {
9
9
 
10
10
  const { locale = 'es' } = Astro.props;
11
11
  const content = await emailListCleaner.i18n[locale]?.();
12
+ if (!content) return null;
12
13
  ---
13
14
 
14
- {content && <SEORenderer content={{ locale, sections: content.seo }} />}
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
- import { envBadgeSpain } from './index';
4
- import type { KnownLocale } from '../../types';
5
-
6
- interface Props {
7
- locale?: KnownLocale;
8
- }
9
-
10
- const { locale = 'es' } = Astro.props;
11
- const content = await envBadgeSpain.i18n[locale]?.();
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <SharedBibliography links={content.bibliography} />}
6
+ <SharedBibliography links={bibliography} />
@@ -0,0 +1,6 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ { name: 'DGT Climate Change and Traffic Regulations (Spanish)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
5
+ { name: 'Spanish Climate Change Act and Low Emission Zones (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
6
+ ];
@@ -16,7 +16,7 @@
16
16
  margin: 0 auto;
17
17
  }
18
18
 
19
- :global(.theme-dark) .deb-root {
19
+ .theme-dark .deb-root {
20
20
  --deb-bg: #0f172a;
21
21
  --deb-card-bg: #1e293b;
22
22
  --deb-card-border: rgba(255, 255, 255, 0.08);
@@ -45,14 +45,14 @@
45
45
  }
46
46
  }
47
47
 
48
- :global(.deb-badge-display h3) {
48
+ .deb-badge-display h3 {
49
49
  font-size: 1.5rem;
50
50
  margin: 0;
51
51
  color: var(--deb-text-main);
52
52
  font-weight: 800;
53
53
  }
54
54
 
55
- :global(.deb-replica) {
55
+ .deb-replica {
56
56
  width: 200px;
57
57
  height: 200px;
58
58
  border-radius: 50%;
@@ -67,7 +67,7 @@
67
67
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
68
68
  }
69
69
 
70
- :global(.deb-replica)::after {
70
+ .deb-replica::after {
71
71
  content: "DGT";
72
72
  position: absolute;
73
73
  top: 25px;
@@ -80,7 +80,7 @@
80
80
  z-index: 10;
81
81
  }
82
82
 
83
- :global(.deb-big-letter) {
83
+ .deb-big-letter {
84
84
  font-size: 7rem;
85
85
  font-weight: 900;
86
86
  line-height: 1;
@@ -88,7 +88,7 @@
88
88
  margin-top: 15px;
89
89
  }
90
90
 
91
- :global(.deb-sub-text) {
91
+ .deb-sub-text {
92
92
  font-size: 1rem;
93
93
  font-weight: 800;
94
94
  text-transform: uppercase;
@@ -96,46 +96,46 @@
96
96
  margin-top: -5px;
97
97
  }
98
98
 
99
- :global(.deb-replica-0) {
99
+ .deb-replica-0 {
100
100
  background: #005aa3;
101
101
  color: #fff;
102
102
  }
103
103
 
104
- :global(.deb-replica-0)::after {
104
+ .deb-replica-0::after {
105
105
  color: #fff;
106
106
  opacity: 0.9;
107
107
  }
108
108
 
109
- :global(.deb-replica-eco) {
109
+ .deb-replica-eco {
110
110
  background: linear-gradient(90deg, #00a455 50%, #005aa3 50%);
111
111
  color: #fff;
112
112
  }
113
113
 
114
- :global(.deb-replica-eco)::after {
114
+ .deb-replica-eco::after {
115
115
  color: #fff;
116
116
  opacity: 0.9;
117
117
  }
118
118
 
119
- :global(.deb-replica-eco) :global(.deb-big-letter) {
119
+ .deb-replica-eco .deb-big-letter {
120
120
  font-size: 5rem;
121
121
  margin-top: 25px;
122
122
  }
123
123
 
124
- :global(.deb-replica-c) {
124
+ .deb-replica-c {
125
125
  background: #00a455;
126
126
  color: #000;
127
127
  }
128
128
 
129
- :global(.deb-replica-c) :global(.deb-sub-text) { display: none; }
129
+ .deb-replica-c .deb-sub-text { display: none; }
130
130
 
131
- :global(.deb-replica-b) {
131
+ .deb-replica-b {
132
132
  background: #ffdf00;
133
133
  color: #000;
134
134
  }
135
135
 
136
- :global(.deb-replica-b) :global(.deb-sub-text) { display: none; }
136
+ .deb-replica-b .deb-sub-text { display: none; }
137
137
 
138
- :global(.deb-replica-a) {
138
+ .deb-replica-a {
139
139
  width: 200px;
140
140
  height: 120px;
141
141
  border-radius: 1rem;
@@ -148,7 +148,7 @@
148
148
  align-items: center;
149
149
  }
150
150
 
151
- :global(.deb-replica-a) :global(.deb-big-letter) {
151
+ .deb-replica-a .deb-big-letter {
152
152
  font-size: 4rem;
153
153
  margin-top: 0;
154
154
  }
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Simulator für spanische Umweltplaketten',
114
115
  description: 'Finden Sie kostenlos heraus, welche spanische DGT-Umweltplakette für Ihr Auto, Motorrad oder Ihren Transporter für Umweltzonen (ZBE) in Spanien gilt.',
115
116
  ui,
116
- faqTitle: 'Häufig gestellte Fragen',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Referenzen',
120
- bibliography: [
121
- { name: 'DGT-Vorschriften zu Klimawandel und Verkehr (Spanisch)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Spanisches Klimaschutzgesetz und Umweltzonen (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'Was ist die spanische DGT-Umweltplakette?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Environmental Badge Simulator Spain',
114
115
  description: 'Find out for free which Spanish DGT environmental badge applies to your car, motorbike or van for Low Emission Zones (ZBE) in Spain.',
115
116
  ui,
116
- faqTitle: 'Frequently Asked Questions',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'References',
120
- bibliography: [
121
- { name: 'DGT Climate Change and Traffic Regulations (Spanish)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Spanish Climate Change Act and Low Emission Zones (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'What is the Spanish DGT environmental badge?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Simulador de Etiqueta Ambiental DGT',
114
115
  description: 'Descubre gratis qué etiqueta medioambiental de la DGT le corresponde a tu coche, moto o furgoneta para las Zonas de Bajas Emisiones (ZBE) en España.',
115
116
  ui,
116
- faqTitle: 'Preguntas Frecuentes',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Referencias',
120
- bibliography: [
121
- { name: 'Normativa sobre Cambio Climático y Tráfico (DGT)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Ley de Cambio Climático y Zonas de Bajas Emisiones (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: '¿Qué es el distintivo ambiental de la DGT?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Simulateur de Vignette Environnementale Espagne',
114
115
  description: 'Découvrez gratuitement quelle vignette environnementale DGT espagnole correspond à votre voiture, moto ou camionnette pour les zones à faibles émissions (ZBE) en Espagne.',
115
116
  ui,
116
- faqTitle: 'Questions Fréquentes',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Références',
120
- bibliography: [
121
- { name: 'Réglementation DGT sur le changement climatique et la circulation (espagnol)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Loi espagnole sur le changement climatique et les zones à faibles émissions (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'Qu\'est-ce que la vignette environnementale espagnole DGT ?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Simulator Lencana Lingkungan Spanyol',
114
115
  description: 'Cari tahu secara gratis lencana lingkungan DGT Spanyol mana yang berlaku untuk mobil, sepeda motor, atau van Anda untuk Zona Emisi Rendah (ZBE) di Spanyol.',
115
116
  ui,
116
- faqTitle: 'Pertanyaan yang Sering Diajukan',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Referensi',
120
- bibliography: [
121
- { name: 'Peraturan DGT tentang Perubahan Iklim dan Lalu Lintas (Spanyol)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'UU Perubahan Iklim Spanyol dan Zona Emisi Rendah (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'Apa itu lencana lingkungan DGT Spanyol?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Simulatore Bollino Ambientale Spagna',
114
115
  description: 'Scopri gratuitamente quale bollino ambientale spagnolo DGT si applica alla tua auto, motocicletta o furgone per le Zone a Basse Emissioni (ZBE) in Spagna.',
115
116
  ui,
116
- faqTitle: 'Domande Frequenti',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Riferimenti',
120
- bibliography: [
121
- { name: 'Regolamenti DGT su Cambiamento Climatico e Traffico (Spagnolo)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Legge spagnola sul cambiamento climatico e zone a basse emissioni (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'Cos\'è il bollino ambientale spagnolo DGT?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'スペイン環境ラベル・シミュレーター',
114
115
  description: 'スペインの低排出ガスゾーン(ZBE)対策として、乗用車、バイク、バンに適用されるスペインDGT環境ラベルを無料で確認できます。',
115
116
  ui,
116
- faqTitle: 'よくある質問',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: '参考文献',
120
- bibliography: [
121
- { name: '気候変動と交通規制に関するDGTの規定(スペイン語)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'スペイン気候変動法と低排出ガスゾーン (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'スペインDGT環境ラベルとは何ですか?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: '스페인 환경 라벨 시뮬레이터',
114
115
  description: '스페인 저배출 구역(ZBE) 진입을 위해 승용차, 오토바이 또는 승합차에 적용되는 스페인 DGT 환경 라벨을 무료로 확인하세요.',
115
116
  ui,
116
- faqTitle: '자주 묻는 질문',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: '참고 문헌',
120
- bibliography: [
121
- { name: '기후 변화 및 교통 규제에 관한 DGT 규정 (스페인어)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: '스페인 기후 변화법 및 저배출 구역 (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: '스페인 DGT 환경 라벨이란 무엇인가요?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Milieusticker Simulator Spanje',
114
115
  description: 'Ontdek gratis welke Spaanse DGT-milieusticker van toepassing is op uw auto, motor of bestelwagen voor Lage-Emissiezones (ZBE) in Spanje.',
115
116
  ui,
116
- faqTitle: 'Veelgestelde Vragen',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Referenties',
120
- bibliography: [
121
- { name: 'DGT-regelgeving over klimaatverandering en verkeer (Spaans)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Spaanse Klimaatwet en Lage-Emissiezones (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'Wat is de Spaanse DGT-milieusticker?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Symulator Hiszpańskiej Plakietki Środowiskowej',
114
115
  description: 'Dowiedz się za darmo, która hiszpańska plakietka środowiskowa DGT dotyczy Twojego samochodu, motocykla lub furgonetki w kontekście Stref Czystego Transportu (ZBE) w Hiszpanii.',
115
116
  ui,
116
- faqTitle: 'Często zadawane pytania',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Źródła',
120
- bibliography: [
121
- { name: 'Przepisy DGT dotyczące zmian klimatycznych i ruchu drogowego (hiszp.)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Hiszpańska ustawa o zmianie klimatu i Strefy Czystego Transportu (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'Czym jest hiszpańska plakietka środowiskowa DGT?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Simulador de Distintivo Ambiental Espanha',
114
115
  description: 'Descubra gratuitamente qual o distintivo ambiental espanhol da DGT que se aplica ao seu carro, mota ou carrinha para as Zonas de Baixas Emissões (ZBE) em Espanha.',
115
116
  ui,
116
- faqTitle: 'Perguntas Frequentes',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Referências',
120
- bibliography: [
121
- { name: 'Regulamentos da DGT sobre Alterações Climáticas e Trânsito (Espanhol)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Lei Espanhola das Alterações Climáticas e Zonas de Baixas Emissões (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'O que é o distintivo ambiental espanhol da DGT?' },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ToolLocaleContent } from '../../../types';
2
3
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
4
  import type { EnvBadgeSpainUI } from '../ui';
@@ -113,14 +114,11 @@ export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
113
114
  title: 'Симулятор экологических наклеек Испании',
114
115
  description: 'Узнайте бесплатно, какая экологическая наклейка DGT Испании подходит для вашего автомобиля, мотоцикла или фургона для въезда в зоны с низким уровнем выбросов (ZBE) в Испании.',
115
116
  ui,
116
- faqTitle: 'Часто задаваемые вопросы',
117
+
117
118
  faq: faqData,
118
119
  howTo: howToData,
119
- bibliographyTitle: 'Источники',
120
- bibliography: [
121
- { name: 'Постановления DGT по изменению климата и дорожному движению (на испанском)', url: 'https://www.dgt.es/export/sites/web-DGT/.galleries/downloads/muevete-con-seguridad/normas-de-trafico/MOV-gestion-trafico/2023/INSTRUCCION-recomendaciones-ZBE_fe.pdf' },
122
- { name: 'Закон Испании об изменении климата и зонах с низким уровнем выбросов (BOE)', url: 'https://www.boe.es/buscar/act.php?id=BOE-A-2021-8447' },
123
- ],
120
+
121
+ bibliography,
124
122
  schemas: [faqSchema, howToSchema, appSchema],
125
123
  seo: [
126
124
  { type: 'title', level: 2, text: 'Что такое экологическая наклейка DGT Испании?' },