@jjlmoya/utils-tools 1.1.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.
- package/package.json +63 -0
- package/src/category/i18n/en.ts +172 -0
- package/src/category/i18n/es.ts +172 -0
- package/src/category/i18n/fr.ts +172 -0
- package/src/category/index.ts +23 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +11 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +90 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +146 -0
- package/src/pages/[locale].astro +251 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/seo_length.test.ts +23 -0
- package/src/tests/title_quality.test.ts +56 -0
- package/src/tests/tool_validation.test.ts +17 -0
- package/src/tool/date-diff-calculator/bibliography.astro +14 -0
- package/src/tool/date-diff-calculator/component.astro +370 -0
- package/src/tool/date-diff-calculator/i18n/en.ts +132 -0
- package/src/tool/date-diff-calculator/i18n/es.ts +132 -0
- package/src/tool/date-diff-calculator/i18n/fr.ts +132 -0
- package/src/tool/date-diff-calculator/index.ts +22 -0
- package/src/tool/date-diff-calculator/seo.astro +14 -0
- package/src/tool/date-diff-calculator/ui.ts +17 -0
- package/src/tool/drive-direct-link/bibliography.astro +14 -0
- package/src/tool/drive-direct-link/component.astro +280 -0
- package/src/tool/drive-direct-link/i18n/en.ts +118 -0
- package/src/tool/drive-direct-link/i18n/es.ts +118 -0
- package/src/tool/drive-direct-link/i18n/fr.ts +118 -0
- package/src/tool/drive-direct-link/index.ts +22 -0
- package/src/tool/drive-direct-link/seo.astro +14 -0
- package/src/tool/drive-direct-link/ui.ts +10 -0
- package/src/tool/email-list-cleaner/bibliography.astro +14 -0
- package/src/tool/email-list-cleaner/component.astro +375 -0
- package/src/tool/email-list-cleaner/i18n/en.ts +140 -0
- package/src/tool/email-list-cleaner/i18n/es.ts +140 -0
- package/src/tool/email-list-cleaner/i18n/fr.ts +140 -0
- package/src/tool/email-list-cleaner/index.ts +22 -0
- package/src/tool/email-list-cleaner/seo.astro +14 -0
- package/src/tool/email-list-cleaner/ui.ts +15 -0
- package/src/tool/env-badge-spain/bibliography.astro +14 -0
- package/src/tool/env-badge-spain/component.astro +303 -0
- package/src/tool/env-badge-spain/components/BadgeForm.astro +243 -0
- package/src/tool/env-badge-spain/components/BadgeResult.astro +151 -0
- package/src/tool/env-badge-spain/i18n/en.ts +153 -0
- package/src/tool/env-badge-spain/i18n/es.ts +153 -0
- package/src/tool/env-badge-spain/i18n/fr.ts +153 -0
- package/src/tool/env-badge-spain/index.ts +22 -0
- package/src/tool/env-badge-spain/seo.astro +14 -0
- package/src/tool/env-badge-spain/ui.ts +53 -0
- package/src/tool/morse-beacon/bibliography.astro +14 -0
- package/src/tool/morse-beacon/component.astro +534 -0
- package/src/tool/morse-beacon/i18n/en.ts +157 -0
- package/src/tool/morse-beacon/i18n/es.ts +157 -0
- package/src/tool/morse-beacon/i18n/fr.ts +157 -0
- package/src/tool/morse-beacon/index.ts +22 -0
- package/src/tool/morse-beacon/logic/MorseEngine.ts +124 -0
- package/src/tool/morse-beacon/seo.astro +14 -0
- package/src/tool/morse-beacon/ui.ts +18 -0
- package/src/tool/password-generator/bibliography.astro +14 -0
- package/src/tool/password-generator/component.astro +259 -0
- package/src/tool/password-generator/components/Config.astro +227 -0
- package/src/tool/password-generator/components/Display.astro +147 -0
- package/src/tool/password-generator/components/Strength.astro +70 -0
- package/src/tool/password-generator/i18n/en.ts +166 -0
- package/src/tool/password-generator/i18n/es.ts +166 -0
- package/src/tool/password-generator/i18n/fr.ts +166 -0
- package/src/tool/password-generator/index.ts +22 -0
- package/src/tool/password-generator/seo.astro +14 -0
- package/src/tool/password-generator/ui.ts +16 -0
- package/src/tool/routes/bibliography.astro +14 -0
- package/src/tool/routes/component.astro +543 -0
- package/src/tool/routes/i18n/en.ts +157 -0
- package/src/tool/routes/i18n/es.ts +157 -0
- package/src/tool/routes/i18n/fr.ts +157 -0
- package/src/tool/routes/index.ts +22 -0
- package/src/tool/routes/logic/GeocodingService.ts +60 -0
- package/src/tool/routes/logic/RouteManager.ts +192 -0
- package/src/tool/routes/logic/RouteService.ts +66 -0
- package/src/tool/routes/seo.astro +14 -0
- package/src/tool/routes/ui.ts +16 -0
- package/src/tool/rule-of-three/bibliography.astro +14 -0
- package/src/tool/rule-of-three/component.astro +369 -0
- package/src/tool/rule-of-three/i18n/en.ts +171 -0
- package/src/tool/rule-of-three/i18n/es.ts +171 -0
- package/src/tool/rule-of-three/i18n/fr.ts +171 -0
- package/src/tool/rule-of-three/index.ts +22 -0
- package/src/tool/rule-of-three/seo.astro +14 -0
- package/src/tool/rule-of-three/ui.ts +13 -0
- package/src/tool/seo-content-optimizer/bibliography.astro +14 -0
- package/src/tool/seo-content-optimizer/component.astro +552 -0
- package/src/tool/seo-content-optimizer/i18n/en.ts +136 -0
- package/src/tool/seo-content-optimizer/i18n/es.ts +136 -0
- package/src/tool/seo-content-optimizer/i18n/fr.ts +136 -0
- package/src/tool/seo-content-optimizer/index.ts +22 -0
- package/src/tool/seo-content-optimizer/seo.astro +14 -0
- package/src/tool/seo-content-optimizer/ui.ts +29 -0
- package/src/tool/speed-reader/bibliography.astro +14 -0
- package/src/tool/speed-reader/component.astro +586 -0
- package/src/tool/speed-reader/i18n/en.ts +152 -0
- package/src/tool/speed-reader/i18n/es.ts +152 -0
- package/src/tool/speed-reader/i18n/fr.ts +152 -0
- package/src/tool/speed-reader/index.ts +22 -0
- package/src/tool/speed-reader/logic/RSVPEngine.ts +106 -0
- package/src/tool/speed-reader/seo.astro +14 -0
- package/src/tool/speed-reader/ui.ts +14 -0
- package/src/tool/text-pixel-calculator/bibliography.astro +14 -0
- package/src/tool/text-pixel-calculator/component.astro +315 -0
- package/src/tool/text-pixel-calculator/components/Editor.astro +240 -0
- package/src/tool/text-pixel-calculator/components/Preview.astro +155 -0
- package/src/tool/text-pixel-calculator/components/Stats.astro +87 -0
- package/src/tool/text-pixel-calculator/i18n/en.ts +133 -0
- package/src/tool/text-pixel-calculator/i18n/es.ts +133 -0
- package/src/tool/text-pixel-calculator/i18n/fr.ts +133 -0
- package/src/tool/text-pixel-calculator/index.ts +22 -0
- package/src/tool/text-pixel-calculator/seo.astro +14 -0
- package/src/tool/text-pixel-calculator/ui.ts +15 -0
- package/src/tool/whatsapp-link/bibliography.astro +14 -0
- package/src/tool/whatsapp-link/component.astro +455 -0
- package/src/tool/whatsapp-link/i18n/en.ts +128 -0
- package/src/tool/whatsapp-link/i18n/es.ts +128 -0
- package/src/tool/whatsapp-link/i18n/fr.ts +128 -0
- package/src/tool/whatsapp-link/index.ts +22 -0
- package/src/tool/whatsapp-link/seo.astro +14 -0
- package/src/tool/whatsapp-link/ui.ts +15 -0
- package/src/tools.ts +15 -0
- package/src/types.ts +72 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { EnvBadgeSpainUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const faqData = [
|
|
6
|
+
{
|
|
7
|
+
question: 'What happens if I drive a vehicle without a badge into a Low Emission Zone (ZBE) in Spain?',
|
|
8
|
+
answer: 'If you enter a ZBE in a major Spanish city with a vehicle that has no environmental badge and no special exemption, you will receive a fine for a serious infraction, usually amounting to 200 euros.',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
question: 'Do I have to display the physical DGT sticker on my windscreen?',
|
|
12
|
+
answer: 'The DGT recommends displaying it, but fines for not doing so are set by each local authority. In Madrid it is mandatory, while in other cities enforcement relies entirely on automatic number plate recognition cameras.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'My diesel was registered before 2006 but the technical sheet says Euro 4. Can I get a badge?',
|
|
16
|
+
answer: 'Yes. If the vehicle data held by Traffic authorities only reflects the registration date, you can request a certificate from the manufacturer through an official dealer and present it to the Traffic office to correct your classification.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'What does the C badge (Green) mean for cars in Spain in 2025?',
|
|
20
|
+
answer: 'In most ZBEs you can still drive freely, but the C badge restricts on-street parking. You will be required to use underground or authorised car parks near ZBE perimeters.',
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
const howToData = [
|
|
25
|
+
{ name: 'Select your vehicle type', text: 'Choose whether your vehicle is a car or van, a motorbike or a heavy vehicle. Each category has a different classification logic under Spanish traffic regulations.' },
|
|
26
|
+
{ name: 'Choose the fuel or energy type', text: 'Electric, plug-in hybrid, conventional hybrid, gas, petrol or diesel all lead to different badge outcomes. The range threshold for plug-in hybrids is 40 km.' },
|
|
27
|
+
{ name: 'Enter the registration year or Euro standard', text: 'For combustion vehicles, the Euro standard is the decisive factor. The registration date on the technical sheet gives a reliable approximation of the standard.' },
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
31
|
+
'@context': 'https://schema.org',
|
|
32
|
+
'@type': 'FAQPage',
|
|
33
|
+
mainEntity: faqData.map((item) => ({
|
|
34
|
+
'@type': 'Question',
|
|
35
|
+
name: item.question,
|
|
36
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
37
|
+
})),
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const howToSchema: WithContext<HowTo> = {
|
|
41
|
+
'@context': 'https://schema.org',
|
|
42
|
+
'@type': 'HowTo',
|
|
43
|
+
name: 'How to simulate the Spanish DGT environmental badge for your vehicle',
|
|
44
|
+
step: howToData.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
48
|
+
'@context': 'https://schema.org',
|
|
49
|
+
'@type': 'SoftwareApplication',
|
|
50
|
+
name: 'Spanish DGT Environmental Badge Simulator',
|
|
51
|
+
applicationCategory: 'UtilitiesApplication',
|
|
52
|
+
operatingSystem: 'Web',
|
|
53
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
54
|
+
description: 'Find out which Spanish DGT environmental badge applies to your vehicle based on its type, fuel and registration year. Free tool to prepare for Low Emission Zones in Spain.',
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const ui: EnvBadgeSpainUI = {
|
|
58
|
+
step1Label: '1. Vehicle Type',
|
|
59
|
+
vehicleCar: 'Car / Van',
|
|
60
|
+
vehicleMoto: 'Motorbike',
|
|
61
|
+
vehicleHeavy: 'Truck / Bus',
|
|
62
|
+
errVehicle: 'Please select a vehicle type',
|
|
63
|
+
|
|
64
|
+
step2Label: '2. Fuel or Energy',
|
|
65
|
+
fuelElectric: '100% Electric / Fuel Cell',
|
|
66
|
+
fuelPhevHigh: 'Plug-in Hybrid (>40 km)',
|
|
67
|
+
fuelPhevLow: 'Plug-in Hybrid (<40 km)',
|
|
68
|
+
fuelHybridGas: 'Hybrid (HEV) or Gas',
|
|
69
|
+
fuelGasoline: 'Petrol',
|
|
70
|
+
fuelDiesel: 'Diesel',
|
|
71
|
+
errFuel: 'Please select a fuel or energy type',
|
|
72
|
+
|
|
73
|
+
step3Label: '3. Euro Standard or Registration Year',
|
|
74
|
+
yearPre2000: 'Before 2000',
|
|
75
|
+
year20002005: '2000 to 2005',
|
|
76
|
+
year20062013: '2006 to 2013',
|
|
77
|
+
yearPost2014: '2014 or later',
|
|
78
|
+
errYear: 'Please select the registration period',
|
|
79
|
+
helpText: 'If in doubt, the Euro standard shown on your technical sheet takes precedence over the registration date.',
|
|
80
|
+
|
|
81
|
+
submitBtn: 'Check My Badge',
|
|
82
|
+
|
|
83
|
+
resultTitle: 'Assigned Badge',
|
|
84
|
+
|
|
85
|
+
badge0Label: 'Zero Emissions Badge',
|
|
86
|
+
badge0Letter: '0',
|
|
87
|
+
badge0Sub: 'EMISSIONS',
|
|
88
|
+
badge0Desc: 'Maximum efficiency vehicles. They enjoy unrestricted access to Low Emission Zones (ZBE) in Spain and broad tax exemptions.',
|
|
89
|
+
|
|
90
|
+
badgeEcoLabel: 'ECO Badge',
|
|
91
|
+
badgeEcoLetter: 'ECO',
|
|
92
|
+
badgeEcoDesc: 'Low-emission vehicles such as hybrids and gas-powered cars. Allows access to most ZBEs and provides discounts in regulated parking zones.',
|
|
93
|
+
|
|
94
|
+
badgeCLabel: 'C Badge',
|
|
95
|
+
badgeCLetter: 'C',
|
|
96
|
+
badgeCDesc: 'Recent combustion vehicles with a high Euro standard. Free circulation but subject to parking restrictions in certain ZBE areas.',
|
|
97
|
+
|
|
98
|
+
badgeBLabel: 'B Badge',
|
|
99
|
+
badgeBLetter: 'B',
|
|
100
|
+
badgeBDesc: 'Older combustion vehicles. Subject to greater access and parking restrictions in Spanish cities.',
|
|
101
|
+
|
|
102
|
+
badgeALabel: 'No Badge',
|
|
103
|
+
badgeALetter: 'NO',
|
|
104
|
+
badgeASub: 'BADGE',
|
|
105
|
+
badgeADesc: 'Highly polluting vehicles with no entitlement to a badge. They are progressively excluded from urban centres and Low Emission Zones across Spain.',
|
|
106
|
+
|
|
107
|
+
warningText: 'Always verify on the official DGT website using your number plate to confirm the result, especially in case of administrative discrepancies.',
|
|
108
|
+
resetBtn: 'New Simulation',
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
|
|
112
|
+
slug: 'environmental-badge-simulator-spain',
|
|
113
|
+
title: 'Environmental Badge Simulator Spain',
|
|
114
|
+
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
|
+
ui,
|
|
116
|
+
faqTitle: 'Frequently Asked Questions',
|
|
117
|
+
faq: faqData,
|
|
118
|
+
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
|
+
],
|
|
124
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
125
|
+
seo: [
|
|
126
|
+
{ type: 'title', level: 2, text: 'What is the Spanish DGT environmental badge?' },
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'The <strong>Spanish DGT environmental badge</strong> (distintivo ambiental) is a vehicle classification system introduced in Spain to give preferential treatment to the least polluting vehicles. It is mainly used to control access to Low Emission Zones (ZBE) in Spanish cities with more than 50,000 inhabitants.',
|
|
130
|
+
},
|
|
131
|
+
{ type: 'title', level: 3, text: 'Badge types and their benefits in Spain' },
|
|
132
|
+
{
|
|
133
|
+
type: 'list',
|
|
134
|
+
items: [
|
|
135
|
+
'<strong>Zero Emissions Badge:</strong> For pure electric vehicles, plug-in hybrids with over 40 km electric range and hydrogen fuel cells. Unlimited access to ZBEs and tax exemptions.',
|
|
136
|
+
'<strong>ECO Badge:</strong> Conventional hybrids, LPG, CNG and plug-in hybrids with under 40 km range. Wide access to restricted zones and parking discounts.',
|
|
137
|
+
'<strong>C Badge:</strong> Euro 4 petrol or later, Euro 6 diesel. Free circulation but on-street parking restrictions apply near ZBEs.',
|
|
138
|
+
'<strong>B Badge:</strong> Euro 3 petrol, Euro 4 or 5 diesel. Increasing restrictions and occasional entry bans.',
|
|
139
|
+
'<strong>No Badge (Category A):</strong> Older or more polluting vehicles progressively excluded from Spanish city centres since 2024.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{ type: 'title', level: 3, text: 'Low Emission Zones in Spanish cities' },
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'The ZBE rollout follows the Spanish Climate Change Act, which requires municipalities above certain population thresholds to create them. Notable examples are <em>Madrid 360</em> and <em>Barcelona\'s Superilles</em>, where entering without at least a B badge can result in automatic fines issued via number plate recognition cameras.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'tip',
|
|
149
|
+
title: 'How to get the physical sticker in Spain',
|
|
150
|
+
html: 'If the simulator confirms you are entitled to a badge, you can buy the physical sticker for around 5 euros at any Correos (post office) branch, authorised workshops or Traffic offices. Bring your vehicle registration documents.',
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { EnvBadgeSpainUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const faqData = [
|
|
6
|
+
{
|
|
7
|
+
question: '¿Qué pasa si meto un coche sin etiqueta a una Zona de Bajas Emisiones (ZBE)?',
|
|
8
|
+
answer: 'Si accedes a una ZBE con un vehículo sin etiqueta ambiental y sin permiso excepcional, recibirás una sanción económica por infracción grave, cuya multa asciende habitualmente a 200 euros.',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
question: '¿Tengo que llevar la pegatina física de la DGT en el parabrisas obligatoriamente?',
|
|
12
|
+
answer: 'La DGT aconseja su colocación, pero la multa por no llevarla es de competencia municipal. En Madrid sí es indispensable, mientras en otras ciudades el control se delega íntegramente a lectura automática de matrículas por cámaras.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: '¿Mi diésel no tiene etiqueta pero la ficha técnica pone Euro 4 y lo compré antes de tiempo?',
|
|
16
|
+
answer: 'Si tienes un vehículo anterior al 2006 con motor Euro 4, la base de datos de Tráfico te puede clasificar solo por fecha. Debes pedir certificado de tu marca al concesionario oficial y presentarlo en Tráfico para corregir la clasificación.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: '¿Para qué sirve el distintivo C (Verde) en 2025?',
|
|
20
|
+
answer: 'En muchas ZBE tu acceso libre se mantiene, pero el distintivo C restringe aparcar en superficie, obligándote a estacionar bajo suelo o en párquines homologados con coste y límite horario.',
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
const howToData = [
|
|
25
|
+
{ name: 'Selecciona el tipo de vehículo', text: 'Escoge en primer lugar el ámbito de motor a consultar: coche, moto o camión tienen lógicas de clasificación distintas en Tráfico.' },
|
|
26
|
+
{ name: 'Indica la motorización o energía exacta', text: 'Gasolina, eléctrico o diésel importan, pero la distinción ECO entre HEV e híbrido enchufable se define por su autonomía superior a los 40 km.' },
|
|
27
|
+
{ name: 'Inserta la fecha de matriculación o normativa Euro', text: 'El factor definitivo para vehículos de combustión es la norma europea a la que responden. La fecha de compra en la ficha técnica te aproxima la fecha estándar.' },
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
31
|
+
'@context': 'https://schema.org',
|
|
32
|
+
'@type': 'FAQPage',
|
|
33
|
+
mainEntity: faqData.map((item) => ({
|
|
34
|
+
'@type': 'Question',
|
|
35
|
+
name: item.question,
|
|
36
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
37
|
+
})),
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const howToSchema: WithContext<HowTo> = {
|
|
41
|
+
'@context': 'https://schema.org',
|
|
42
|
+
'@type': 'HowTo',
|
|
43
|
+
name: 'Cómo simular la etiqueta ambiental DGT de tu vehículo',
|
|
44
|
+
step: howToData.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
48
|
+
'@context': 'https://schema.org',
|
|
49
|
+
'@type': 'SoftwareApplication',
|
|
50
|
+
name: 'Simulador de Etiqueta Ambiental DGT',
|
|
51
|
+
applicationCategory: 'UtilitiesApplication',
|
|
52
|
+
operatingSystem: 'Web',
|
|
53
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
54
|
+
description: 'Descubre qué etiqueta ambiental DGT corresponde a tu vehículo según su tipo, combustible y año de matriculación. Herramienta gratuita para prepararse ante las ZBE.',
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const ui: EnvBadgeSpainUI = {
|
|
58
|
+
step1Label: '1. Tipo de Vehículo',
|
|
59
|
+
vehicleCar: 'Turismo / Furgoneta',
|
|
60
|
+
vehicleMoto: 'Motocicleta',
|
|
61
|
+
vehicleHeavy: 'Camión / Autobús',
|
|
62
|
+
errVehicle: 'Selecciona un tipo de vehículo',
|
|
63
|
+
|
|
64
|
+
step2Label: '2. Energía o Combustible',
|
|
65
|
+
fuelElectric: '100% Eléctrico / Pila',
|
|
66
|
+
fuelPhevHigh: 'Híbrido Enchufable (>40 km)',
|
|
67
|
+
fuelPhevLow: 'Híbrido Enchufable (<40 km)',
|
|
68
|
+
fuelHybridGas: 'Híbrido (HEV) o Gas',
|
|
69
|
+
fuelGasoline: 'Gasolina',
|
|
70
|
+
fuelDiesel: 'Diésel',
|
|
71
|
+
errFuel: 'Selecciona un tipo de energía',
|
|
72
|
+
|
|
73
|
+
step3Label: '3. Normativa Euro o Época de Matriculación',
|
|
74
|
+
yearPre2000: 'Antes de 2000',
|
|
75
|
+
year20002005: '2000 a 2005',
|
|
76
|
+
year20062013: '2006 a 2013',
|
|
77
|
+
yearPost2014: '2014 o posterior',
|
|
78
|
+
errYear: 'Selecciona la época de matriculación',
|
|
79
|
+
helpText: 'Si tienes dudas, la normativa Euro de tu ficha técnica prevalece frente a la fecha de matriculación.',
|
|
80
|
+
|
|
81
|
+
submitBtn: 'Simular Etiqueta',
|
|
82
|
+
|
|
83
|
+
resultTitle: 'Distintivo Asignado',
|
|
84
|
+
|
|
85
|
+
badge0Label: 'Etiqueta 0 Emisiones',
|
|
86
|
+
badge0Letter: '0',
|
|
87
|
+
badge0Sub: 'EMISIONES',
|
|
88
|
+
badge0Desc: 'Vehículos con máxima eficiencia. Disfrutan de acceso ilimitado a Zonas de Bajas Emisiones (ZBE) y amplias exenciones fiscales.',
|
|
89
|
+
|
|
90
|
+
badgeEcoLabel: 'Etiqueta ECO',
|
|
91
|
+
badgeEcoLetter: 'ECO',
|
|
92
|
+
badgeEcoDesc: 'Vehículos de bajas emisiones como híbridos y a gas. Permite acceder a la mayoría de ZBE y tiene bonificaciones en aparcamiento SER.',
|
|
93
|
+
|
|
94
|
+
badgeCLabel: 'Etiqueta C',
|
|
95
|
+
badgeCLetter: 'C',
|
|
96
|
+
badgeCDesc: 'Vehículos de combustión interna recientes con normativa Euro alta. Acceso a ZBE sujeto a aparcar en párking en ciertas ciudades.',
|
|
97
|
+
|
|
98
|
+
badgeBLabel: 'Etiqueta B',
|
|
99
|
+
badgeBLetter: 'B',
|
|
100
|
+
badgeBDesc: 'Vehículos de combustión interna más antiguos. Presentan mayores restricciones de acceso y aparcamiento.',
|
|
101
|
+
|
|
102
|
+
badgeALabel: 'Sin Etiqueta',
|
|
103
|
+
badgeALetter: 'NO',
|
|
104
|
+
badgeASub: 'DISPONE',
|
|
105
|
+
badgeADesc: 'Vehículos altamente contaminantes sin derecho a distintivo. Tienen prohibida la circulación en prácticamente todas las Zonas de Bajas Emisiones.',
|
|
106
|
+
|
|
107
|
+
warningText: 'Verifica siempre en la página web oficial de la DGT para confirmar tu matrícula, en caso de particularidades o error administrativo.',
|
|
108
|
+
resetBtn: 'Nueva Simulación',
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
|
|
112
|
+
slug: 'simulador-etiqueta-ambiental',
|
|
113
|
+
title: 'Simulador de Etiqueta Ambiental DGT',
|
|
114
|
+
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
|
+
ui,
|
|
116
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
117
|
+
faq: faqData,
|
|
118
|
+
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
|
+
],
|
|
124
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
125
|
+
seo: [
|
|
126
|
+
{ type: 'title', level: 2, text: '¿Qué es el distintivo ambiental de la DGT?' },
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'El <strong>distintivo ambiental de la DGT</strong> es un sistema de clasificación de vehículos introducido en España para discriminar positivamente a los más respetuosos con el medio ambiente. Se usa principalmente para delimitar el acceso a las Zonas de Bajas Emisiones (ZBE) en ciudades de más de 50.000 habitantes.',
|
|
130
|
+
},
|
|
131
|
+
{ type: 'title', level: 3, text: 'Tipos de etiquetas y sus ventajas' },
|
|
132
|
+
{
|
|
133
|
+
type: 'list',
|
|
134
|
+
items: [
|
|
135
|
+
'<strong>Etiqueta 0 Emisiones:</strong> Para eléctricos puros, híbridos enchufables con más de 40 km de autonomía y pila de combustible. Acceso ilimitado a ZBE y exenciones fiscales.',
|
|
136
|
+
'<strong>Etiqueta ECO:</strong> Híbridos no enchufables, GLP, GNC e híbridos enchufables con menos de 40 km. Amplias franjas de paso y bonificaciones en aparcamiento regulado.',
|
|
137
|
+
'<strong>Etiqueta C:</strong> Gasolina Euro 4 o posterior, diésel Euro 6. Circulación libre pero restricciones de aparcamiento en superficie en ZBE.',
|
|
138
|
+
'<strong>Etiqueta B:</strong> Gasolina Euro 3 y diésel Euro 4 o 5. Mayor riesgo de penalización y restricciones puntuales.',
|
|
139
|
+
'<strong>Sin Etiqueta (Categoría A):</strong> Vehículos más antiguos o más contaminantes. Progresivamente excluidos de los centros urbanos desde 2024.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{ type: 'title', level: 3, text: 'Zonas de Bajas Emisiones en España' },
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'La implantación de las ZBE obedece a la Ley de Cambio Climático, que obliga a los municipios que superan ciertos niveles de población. Casos emblemáticos son <em>Madrid 360</em> y las <em>Superilles de Barcelona</em>, donde circular sin al menos una etiqueta B puede traducirse en sanciones de gran importe por lectura automática de matrículas.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'tip',
|
|
149
|
+
title: 'Cómo obtener la pegatina física',
|
|
150
|
+
html: 'Si el simulador confirma que te corresponde un distintivo, puedes adquirirla por unos 5 euros en oficinas de Correos, talleres autorizados o delegaciones de Tráfico. Lleva siempre la documentación de tu vehículo.',
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { EnvBadgeSpainUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const faqData = [
|
|
6
|
+
{
|
|
7
|
+
question: 'Que se passe-t-il si je circule sans vignette dans une zone à faibles émissions (ZBE) en Espagne ?',
|
|
8
|
+
answer: 'Si vous pénétrez dans une ZBE d\'une grande ville espagnole avec un véhicule sans vignette environnementale et sans autorisation exceptionnelle, vous recevrez une amende pour infraction grave, généralement de 200 euros.',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
question: 'Dois-je obligatoirement afficher la vignette physique de la DGT sur mon pare-brise ?',
|
|
12
|
+
answer: 'La DGT recommande de l\'afficher, mais l\'amende pour ne pas la porter est de compétence municipale. À Madrid elle est indispensable, tandis que dans d\'autres villes le contrôle repose entièrement sur la lecture automatique des plaques d\'immatriculation.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Mon diesel est d\'avant 2006 mais ma fiche technique indique Euro 4. Puis-je obtenir une vignette ?',
|
|
16
|
+
answer: 'Oui. Si la base de données de la DGT vous classe uniquement par date d\'immatriculation, vous pouvez demander un certificat du fabricant via un concessionnaire officiel et le présenter à la DGT pour corriger votre classification.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'À quoi sert la vignette C (Verte) pour les voitures en Espagne en 2025 ?',
|
|
20
|
+
answer: 'Dans la plupart des ZBE, vous pouvez circuler librement, mais la vignette C limite le stationnement en surface, vous obligeant à utiliser des parkings souterrains ou agréés autour des périmètres ZBE.',
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
const howToData = [
|
|
25
|
+
{ name: 'Sélectionnez le type de véhicule', text: 'Choisissez si votre véhicule est une voiture ou une camionnette, une moto ou un poids lourd. Chaque catégorie a une logique de classification différente selon la réglementation espagnole.' },
|
|
26
|
+
{ name: 'Indiquez le carburant ou le type d\'énergie', text: 'Électrique, hybride rechargeable, hybride classique, gaz, essence ou diesel aboutissent à des vignettes différentes. Le seuil pour les hybrides rechargeables est de 40 km d\'autonomie.' },
|
|
27
|
+
{ name: 'Entrez l\'année d\'immatriculation ou la norme Euro', text: 'Pour les véhicules thermiques, la norme Euro est le facteur décisif. La date d\'immatriculation sur la carte grise donne une bonne approximation de la norme applicable.' },
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
31
|
+
'@context': 'https://schema.org',
|
|
32
|
+
'@type': 'FAQPage',
|
|
33
|
+
mainEntity: faqData.map((item) => ({
|
|
34
|
+
'@type': 'Question',
|
|
35
|
+
name: item.question,
|
|
36
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
37
|
+
})),
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const howToSchema: WithContext<HowTo> = {
|
|
41
|
+
'@context': 'https://schema.org',
|
|
42
|
+
'@type': 'HowTo',
|
|
43
|
+
name: 'Comment simuler la vignette environnementale espagnole DGT de votre véhicule',
|
|
44
|
+
step: howToData.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
48
|
+
'@context': 'https://schema.org',
|
|
49
|
+
'@type': 'SoftwareApplication',
|
|
50
|
+
name: 'Simulateur de Vignette Environnementale Espagnole DGT',
|
|
51
|
+
applicationCategory: 'UtilitiesApplication',
|
|
52
|
+
operatingSystem: 'Web',
|
|
53
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
54
|
+
description: 'Découvrez quelle vignette environnementale espagnole DGT correspond à votre véhicule selon son type, son carburant et son année d\'immatriculation. Outil gratuit pour les zones à faibles émissions en Espagne.',
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const ui: EnvBadgeSpainUI = {
|
|
58
|
+
step1Label: '1. Type de Véhicule',
|
|
59
|
+
vehicleCar: 'Voiture / Camionnette',
|
|
60
|
+
vehicleMoto: 'Moto',
|
|
61
|
+
vehicleHeavy: 'Camion / Bus',
|
|
62
|
+
errVehicle: 'Veuillez sélectionner un type de véhicule',
|
|
63
|
+
|
|
64
|
+
step2Label: '2. Carburant ou Énergie',
|
|
65
|
+
fuelElectric: '100 % Électrique / Pile',
|
|
66
|
+
fuelPhevHigh: 'Hybride Rechargeable (>40 km)',
|
|
67
|
+
fuelPhevLow: 'Hybride Rechargeable (<40 km)',
|
|
68
|
+
fuelHybridGas: 'Hybride (HEV) ou Gaz',
|
|
69
|
+
fuelGasoline: 'Essence',
|
|
70
|
+
fuelDiesel: 'Diesel',
|
|
71
|
+
errFuel: 'Veuillez sélectionner un carburant ou une énergie',
|
|
72
|
+
|
|
73
|
+
step3Label: '3. Norme Euro ou Année d\'immatriculation',
|
|
74
|
+
yearPre2000: 'Avant 2000',
|
|
75
|
+
year20002005: '2000 à 2005',
|
|
76
|
+
year20062013: '2006 à 2013',
|
|
77
|
+
yearPost2014: '2014 ou après',
|
|
78
|
+
errYear: 'Veuillez sélectionner la période d\'immatriculation',
|
|
79
|
+
helpText: 'En cas de doute, la norme Euro indiquée sur votre carte grise prévaut sur la date d\'immatriculation.',
|
|
80
|
+
|
|
81
|
+
submitBtn: 'Vérifier ma vignette',
|
|
82
|
+
|
|
83
|
+
resultTitle: 'Vignette Attribuée',
|
|
84
|
+
|
|
85
|
+
badge0Label: 'Vignette 0 Émission',
|
|
86
|
+
badge0Letter: '0',
|
|
87
|
+
badge0Sub: 'ÉMISSIONS',
|
|
88
|
+
badge0Desc: 'Véhicules à efficacité maximale. Ils bénéficient d\'un accès illimité aux zones à faibles émissions (ZBE) en Espagne et d\'exonérations fiscales étendues.',
|
|
89
|
+
|
|
90
|
+
badgeEcoLabel: 'Vignette ECO',
|
|
91
|
+
badgeEcoLetter: 'ECO',
|
|
92
|
+
badgeEcoDesc: 'Véhicules à faibles émissions comme les hybrides et les voitures au gaz. Accès à la plupart des ZBE espagnoles et réductions sur les parkings réglementés.',
|
|
93
|
+
|
|
94
|
+
badgeCLabel: 'Vignette C',
|
|
95
|
+
badgeCLetter: 'C',
|
|
96
|
+
badgeCDesc: 'Véhicules thermiques récents avec une norme Euro élevée. Circulation libre mais restrictions de stationnement en surface dans certaines zones ZBE.',
|
|
97
|
+
|
|
98
|
+
badgeBLabel: 'Vignette B',
|
|
99
|
+
badgeBLetter: 'B',
|
|
100
|
+
badgeBDesc: 'Véhicules thermiques plus anciens. Restrictions croissantes d\'accès et de stationnement dans les villes espagnoles.',
|
|
101
|
+
|
|
102
|
+
badgeALabel: 'Sans Vignette',
|
|
103
|
+
badgeALetter: 'NO',
|
|
104
|
+
badgeASub: 'BADGE',
|
|
105
|
+
badgeADesc: 'Véhicules très polluants sans droit à une vignette. Progressivement exclus des centres urbains et de toutes les zones à faibles émissions en Espagne.',
|
|
106
|
+
|
|
107
|
+
warningText: 'Vérifiez toujours sur le site officiel de la DGT avec votre plaque d\'immatriculation pour confirmer le résultat, en cas de particularités ou d\'erreur administrative.',
|
|
108
|
+
resetBtn: 'Nouvelle Simulation',
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export const content: ToolLocaleContent<EnvBadgeSpainUI> = {
|
|
112
|
+
slug: 'simulateur-vignette-environnementale-espagne',
|
|
113
|
+
title: 'Simulateur de Vignette Environnementale Espagne',
|
|
114
|
+
description: 'Découvrez gratuitement quelle vignette environnementale DGT espagnole correspond à votre voiture, moto ou camionnette pour les zones à faibles émissions (ZBE) en Espagne.',
|
|
115
|
+
ui,
|
|
116
|
+
faqTitle: 'Questions Fréquentes',
|
|
117
|
+
faq: faqData,
|
|
118
|
+
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
|
+
],
|
|
124
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
125
|
+
seo: [
|
|
126
|
+
{ type: 'title', level: 2, text: 'Qu\'est-ce que la vignette environnementale espagnole DGT ?' },
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'La <strong>vignette environnementale espagnole DGT</strong> (distintivo ambiental) est un système de classification des véhicules introduit en Espagne pour favoriser les moins polluants. Elle est principalement utilisée pour réguler l\'accès aux zones à faibles émissions (ZBE) dans les villes espagnoles de plus de 50 000 habitants.',
|
|
130
|
+
},
|
|
131
|
+
{ type: 'title', level: 3, text: 'Types de vignettes et leurs avantages en Espagne' },
|
|
132
|
+
{
|
|
133
|
+
type: 'list',
|
|
134
|
+
items: [
|
|
135
|
+
'<strong>Vignette 0 Émission :</strong> Pour les véhicules 100 % électriques, les hybrides rechargeables de plus de 40 km et les piles à combustible. Accès illimité aux ZBE et exonérations fiscales.',
|
|
136
|
+
'<strong>Vignette ECO :</strong> Hybrides classiques, GPL, GNC et hybrides rechargeables de moins de 40 km. Large accès aux zones restreintes et réductions de stationnement.',
|
|
137
|
+
'<strong>Vignette C :</strong> Essence Euro 4 ou plus récent, diesel Euro 6. Circulation libre mais restrictions de stationnement en surface autour des ZBE.',
|
|
138
|
+
'<strong>Vignette B :</strong> Essence Euro 3, diesel Euro 4 ou 5. Restrictions croissantes et interdictions ponctuelles dans les villes espagnoles.',
|
|
139
|
+
'<strong>Sans Vignette (Catégorie A) :</strong> Véhicules anciens ou très polluants progressivement exclus des centres urbains espagnols depuis 2024.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{ type: 'title', level: 3, text: 'Zones à faibles émissions dans les villes espagnoles' },
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'La mise en place des ZBE découle de la loi espagnole sur le changement climatique. Des exemples emblématiques sont <em>Madrid 360</em> et les <em>Superilles de Barcelone</em>, où circuler sans au moins une vignette B peut entraîner des amendes automatiques via des caméras de reconnaissance de plaques.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'tip',
|
|
149
|
+
title: 'Comment obtenir la vignette physique en Espagne',
|
|
150
|
+
html: 'Si le simulateur confirme que vous avez droit à une vignette, vous pouvez l\'acheter pour environ 5 euros dans n\'importe quelle agence Correos (la poste espagnole), des ateliers agréés ou des bureaux de la DGT. Munissez-vous des documents de votre véhicule.',
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ToolDefinition, ToolsToolEntry } from '../../types';
|
|
2
|
+
import type { EnvBadgeSpainUI } from './ui';
|
|
3
|
+
import EnvBadgeSpainComponent from './component.astro';
|
|
4
|
+
import EnvBadgeSpainSEO from './seo.astro';
|
|
5
|
+
import EnvBadgeSpainBibliography from './bibliography.astro';
|
|
6
|
+
|
|
7
|
+
export const envBadgeSpain: ToolsToolEntry<EnvBadgeSpainUI> = {
|
|
8
|
+
id: 'env-badge-spain',
|
|
9
|
+
icons: { bg: 'mdi:car-info', fg: 'mdi:leaf' },
|
|
10
|
+
i18n: {
|
|
11
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
12
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
13
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const ENV_BADGE_SPAIN_TOOL: ToolDefinition = {
|
|
18
|
+
entry: envBadgeSpain,
|
|
19
|
+
Component: EnvBadgeSpainComponent,
|
|
20
|
+
SEOComponent: EnvBadgeSpainSEO,
|
|
21
|
+
BibliographyComponent: EnvBadgeSpainBibliography,
|
|
22
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } 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]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export interface EnvBadgeSpainUI extends Record<string, string> {
|
|
2
|
+
step1Label: string;
|
|
3
|
+
vehicleCar: string;
|
|
4
|
+
vehicleMoto: string;
|
|
5
|
+
vehicleHeavy: string;
|
|
6
|
+
errVehicle: string;
|
|
7
|
+
|
|
8
|
+
step2Label: string;
|
|
9
|
+
fuelElectric: string;
|
|
10
|
+
fuelPhevHigh: string;
|
|
11
|
+
fuelPhevLow: string;
|
|
12
|
+
fuelHybridGas: string;
|
|
13
|
+
fuelGasoline: string;
|
|
14
|
+
fuelDiesel: string;
|
|
15
|
+
errFuel: string;
|
|
16
|
+
|
|
17
|
+
step3Label: string;
|
|
18
|
+
yearPre2000: string;
|
|
19
|
+
year20002005: string;
|
|
20
|
+
year20062013: string;
|
|
21
|
+
yearPost2014: string;
|
|
22
|
+
errYear: string;
|
|
23
|
+
helpText: string;
|
|
24
|
+
|
|
25
|
+
submitBtn: string;
|
|
26
|
+
|
|
27
|
+
resultTitle: string;
|
|
28
|
+
|
|
29
|
+
badge0Label: string;
|
|
30
|
+
badge0Letter: string;
|
|
31
|
+
badge0Sub: string;
|
|
32
|
+
badge0Desc: string;
|
|
33
|
+
|
|
34
|
+
badgeEcoLabel: string;
|
|
35
|
+
badgeEcoLetter: string;
|
|
36
|
+
badgeEcoDesc: string;
|
|
37
|
+
|
|
38
|
+
badgeCLabel: string;
|
|
39
|
+
badgeCLetter: string;
|
|
40
|
+
badgeCDesc: string;
|
|
41
|
+
|
|
42
|
+
badgeBLabel: string;
|
|
43
|
+
badgeBLetter: string;
|
|
44
|
+
badgeBDesc: string;
|
|
45
|
+
|
|
46
|
+
badgeALabel: string;
|
|
47
|
+
badgeALetter: string;
|
|
48
|
+
badgeASub: string;
|
|
49
|
+
badgeADesc: string;
|
|
50
|
+
|
|
51
|
+
warningText: string;
|
|
52
|
+
resetBtn: string;
|
|
53
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { morseBeacon } 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 morseBeacon.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SharedBibliography links={content.bibliography} />}
|