@jjlmoya/utils-home 1.16.0 → 1.17.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 (125) hide show
  1. package/package.json +1 -1
  2. package/src/pages/[locale]/[slug].astro +28 -12
  3. package/src/tests/locale_completeness.test.ts +2 -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/dewPointCalculator/bibliography.ts +10 -0
  7. package/src/tool/dewPointCalculator/i18n/de.ts +2 -12
  8. package/src/tool/dewPointCalculator/i18n/en.ts +2 -12
  9. package/src/tool/dewPointCalculator/i18n/es.ts +2 -12
  10. package/src/tool/dewPointCalculator/i18n/fr.ts +2 -12
  11. package/src/tool/dewPointCalculator/i18n/id.ts +2 -12
  12. package/src/tool/dewPointCalculator/i18n/it.ts +2 -12
  13. package/src/tool/dewPointCalculator/i18n/ja.ts +2 -12
  14. package/src/tool/dewPointCalculator/i18n/ko.ts +2 -12
  15. package/src/tool/dewPointCalculator/i18n/nl.ts +2 -12
  16. package/src/tool/dewPointCalculator/i18n/pl.ts +2 -12
  17. package/src/tool/dewPointCalculator/i18n/pt.ts +2 -12
  18. package/src/tool/dewPointCalculator/i18n/ru.ts +2 -12
  19. package/src/tool/dewPointCalculator/i18n/sv.ts +2 -12
  20. package/src/tool/dewPointCalculator/i18n/tr.ts +2 -12
  21. package/src/tool/dewPointCalculator/i18n/zh.ts +2 -12
  22. package/src/tool/dewPointCalculator/seo.astro +2 -1
  23. package/src/tool/heatingComparator/bibliography.ts +14 -0
  24. package/src/tool/heatingComparator/i18n/de.ts +2 -16
  25. package/src/tool/heatingComparator/i18n/en.ts +2 -12
  26. package/src/tool/heatingComparator/i18n/es.ts +2 -16
  27. package/src/tool/heatingComparator/i18n/fr.ts +2 -12
  28. package/src/tool/heatingComparator/i18n/id.ts +2 -16
  29. package/src/tool/heatingComparator/i18n/it.ts +2 -16
  30. package/src/tool/heatingComparator/i18n/ja.ts +296 -310
  31. package/src/tool/heatingComparator/i18n/ko.ts +296 -306
  32. package/src/tool/heatingComparator/i18n/nl.ts +2 -16
  33. package/src/tool/heatingComparator/i18n/pl.ts +2 -16
  34. package/src/tool/heatingComparator/i18n/pt.ts +2 -16
  35. package/src/tool/heatingComparator/i18n/ru.ts +2 -12
  36. package/src/tool/heatingComparator/i18n/sv.ts +2 -16
  37. package/src/tool/heatingComparator/i18n/tr.ts +2 -16
  38. package/src/tool/heatingComparator/i18n/zh.ts +296 -306
  39. package/src/tool/heatingComparator/seo.astro +3 -3
  40. package/src/tool/ledSavingCalculator/bibliography.ts +14 -0
  41. package/src/tool/ledSavingCalculator/i18n/de.ts +2 -12
  42. package/src/tool/ledSavingCalculator/i18n/en.ts +2 -16
  43. package/src/tool/ledSavingCalculator/i18n/es.ts +2 -16
  44. package/src/tool/ledSavingCalculator/i18n/fr.ts +2 -16
  45. package/src/tool/ledSavingCalculator/i18n/id.ts +2 -12
  46. package/src/tool/ledSavingCalculator/i18n/it.ts +2 -12
  47. package/src/tool/ledSavingCalculator/i18n/ja.ts +2 -12
  48. package/src/tool/ledSavingCalculator/i18n/ko.ts +2 -12
  49. package/src/tool/ledSavingCalculator/i18n/nl.ts +2 -12
  50. package/src/tool/ledSavingCalculator/i18n/pl.ts +2 -12
  51. package/src/tool/ledSavingCalculator/i18n/pt.ts +2 -12
  52. package/src/tool/ledSavingCalculator/i18n/ru.ts +2 -12
  53. package/src/tool/ledSavingCalculator/i18n/sv.ts +2 -12
  54. package/src/tool/ledSavingCalculator/i18n/tr.ts +2 -12
  55. package/src/tool/ledSavingCalculator/i18n/zh.ts +2 -12
  56. package/src/tool/ledSavingCalculator/seo.astro +2 -1
  57. package/src/tool/projectorCalculator/bibliography.ts +5 -0
  58. package/src/tool/projectorCalculator/i18n/de.ts +2 -6
  59. package/src/tool/projectorCalculator/i18n/en.ts +2 -7
  60. package/src/tool/projectorCalculator/i18n/es.ts +2 -7
  61. package/src/tool/projectorCalculator/i18n/fr.ts +2 -7
  62. package/src/tool/projectorCalculator/i18n/id.ts +2 -7
  63. package/src/tool/projectorCalculator/i18n/it.ts +2 -6
  64. package/src/tool/projectorCalculator/i18n/ja.ts +175 -179
  65. package/src/tool/projectorCalculator/i18n/ko.ts +175 -179
  66. package/src/tool/projectorCalculator/i18n/nl.ts +2 -6
  67. package/src/tool/projectorCalculator/i18n/pl.ts +2 -6
  68. package/src/tool/projectorCalculator/i18n/pt.ts +2 -6
  69. package/src/tool/projectorCalculator/i18n/ru.ts +2 -6
  70. package/src/tool/projectorCalculator/i18n/sv.ts +2 -6
  71. package/src/tool/projectorCalculator/i18n/tr.ts +2 -6
  72. package/src/tool/projectorCalculator/i18n/zh.ts +175 -179
  73. package/src/tool/projectorCalculator/seo.astro +2 -1
  74. package/src/tool/qrGenerator/bibliography.ts +14 -0
  75. package/src/tool/qrGenerator/i18n/de.ts +192 -202
  76. package/src/tool/qrGenerator/i18n/en.ts +2 -16
  77. package/src/tool/qrGenerator/i18n/es.ts +2 -16
  78. package/src/tool/qrGenerator/i18n/fr.ts +2 -16
  79. package/src/tool/qrGenerator/i18n/id.ts +146 -150
  80. package/src/tool/qrGenerator/i18n/it.ts +169 -173
  81. package/src/tool/qrGenerator/i18n/ja.ts +146 -150
  82. package/src/tool/qrGenerator/i18n/ko.ts +146 -150
  83. package/src/tool/qrGenerator/i18n/nl.ts +146 -150
  84. package/src/tool/qrGenerator/i18n/pl.ts +146 -150
  85. package/src/tool/qrGenerator/i18n/pt.ts +146 -150
  86. package/src/tool/qrGenerator/i18n/ru.ts +146 -150
  87. package/src/tool/qrGenerator/i18n/sv.ts +146 -150
  88. package/src/tool/qrGenerator/i18n/tr.ts +146 -150
  89. package/src/tool/qrGenerator/i18n/zh.ts +146 -150
  90. package/src/tool/qrGenerator/seo.astro +2 -1
  91. package/src/tool/solarCalculator/bibliography.ts +5 -0
  92. package/src/tool/solarCalculator/i18n/de.ts +141 -145
  93. package/src/tool/solarCalculator/i18n/en.ts +2 -7
  94. package/src/tool/solarCalculator/i18n/es.ts +2 -7
  95. package/src/tool/solarCalculator/i18n/fr.ts +2 -7
  96. package/src/tool/solarCalculator/i18n/id.ts +2 -6
  97. package/src/tool/solarCalculator/i18n/it.ts +2 -6
  98. package/src/tool/solarCalculator/i18n/ja.ts +121 -125
  99. package/src/tool/solarCalculator/i18n/ko.ts +116 -120
  100. package/src/tool/solarCalculator/i18n/nl.ts +2 -5
  101. package/src/tool/solarCalculator/i18n/pl.ts +2 -6
  102. package/src/tool/solarCalculator/i18n/pt.ts +2 -6
  103. package/src/tool/solarCalculator/i18n/ru.ts +2 -5
  104. package/src/tool/solarCalculator/i18n/sv.ts +2 -5
  105. package/src/tool/solarCalculator/i18n/tr.ts +2 -5
  106. package/src/tool/solarCalculator/i18n/zh.ts +116 -120
  107. package/src/tool/solarCalculator/seo.astro +2 -1
  108. package/src/tool/tariffComparator/bibliography.ts +7 -0
  109. package/src/tool/tariffComparator/i18n/de.ts +129 -132
  110. package/src/tool/tariffComparator/i18n/en.ts +2 -9
  111. package/src/tool/tariffComparator/i18n/es.ts +2 -9
  112. package/src/tool/tariffComparator/i18n/fr.ts +2 -9
  113. package/src/tool/tariffComparator/i18n/id.ts +2 -5
  114. package/src/tool/tariffComparator/i18n/it.ts +2 -5
  115. package/src/tool/tariffComparator/i18n/ja.ts +129 -132
  116. package/src/tool/tariffComparator/i18n/ko.ts +129 -132
  117. package/src/tool/tariffComparator/i18n/nl.ts +2 -5
  118. package/src/tool/tariffComparator/i18n/pl.ts +2 -5
  119. package/src/tool/tariffComparator/i18n/pt.ts +2 -5
  120. package/src/tool/tariffComparator/i18n/ru.ts +2 -5
  121. package/src/tool/tariffComparator/i18n/sv.ts +2 -5
  122. package/src/tool/tariffComparator/i18n/tr.ts +2 -5
  123. package/src/tool/tariffComparator/i18n/zh.ts +129 -132
  124. package/src/tool/tariffComparator/seo.astro +2 -1
  125. package/src/types.ts +0 -2
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-sparrechner';
6
7
  const title = 'LED Sparrechner';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Häufig gestellte Fragen',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Quellen',
98
- bibliography: [
99
- {
100
- name: 'Energieeffizienz-Etiketten der EU',
101
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_de',
102
- },
103
- {
104
- name: 'Verbraucherzentrale: LED-Leuchtmittel kaufen',
105
- url: 'https://www.verbraucherzentrale.de/wissen/energie/strom-sparen/worauf-sie-beim-kauf-von-ledlampen-achten-sollten-11322',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-saving-calculator';
6
7
  const title = 'LED Saving Calculator';
@@ -97,23 +98,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
97
98
  slug,
98
99
  title,
99
100
  description,
100
- faqTitle: 'Frequently Asked Questions',
101
101
  faq: faqData,
102
- bibliographyTitle: 'Bibliography',
103
- bibliography: [
104
- {
105
- name: 'Energy Efficient Lighting Guide — IDAE (Spain)',
106
- url: 'https://www.idae.es/publicaciones/guia-tecnica-de-eficiencia-energetica-en-iluminacion-oficinas',
107
- },
108
- {
109
- name: 'Energy Labelling of Lamps — European Union',
110
- url: 'https://www.boe.es/buscar/doc.php?id=DOUE-L-2019-81875',
111
- },
112
- {
113
- name: 'Electricity Consumption Calculator — OCU',
114
- url: 'https://www.ocu.org/vivienda-y-energia/gas-luz/calculadora/consumo-stand-by',
115
- },
116
- ],
102
+ bibliography,
117
103
  howTo: howToData,
118
104
  schemas: [faqSchema, howToSchema, appSchema],
119
105
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calculadora-ahorro-led';
6
7
  const title = 'Calculadora de Ahorro LED';
@@ -97,23 +98,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
97
98
  slug,
98
99
  title,
99
100
  description,
100
- faqTitle: 'Preguntas Frecuentes',
101
101
  faq: faqData,
102
- bibliographyTitle: 'Bibliografía',
103
- bibliography: [
104
- {
105
- name: 'Guía de Iluminación Eficiente — IDAE (España)',
106
- url: 'https://www.idae.es/publicaciones/guia-tecnica-de-eficiencia-energetica-en-iluminacion-oficinas',
107
- },
108
- {
109
- name: 'Etiquetado Energético de Lámparas — Unión Europea',
110
- url: 'https://www.boe.es/buscar/doc.php?id=DOUE-L-2019-81875',
111
- },
112
- {
113
- name: 'Calculadora de Consumo Eléctrico — OCU',
114
- url: 'https://www.ocu.org/vivienda-y-energia/gas-luz/calculadora/consumo-stand-by',
115
- },
116
- ],
102
+ bibliography,
117
103
  howTo: howToData,
118
104
  schemas: [faqSchema, howToSchema, appSchema],
119
105
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calculateur-economies-led';
6
7
  const title = "Calculateur d'Économies LED";
@@ -97,23 +98,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
97
98
  slug,
98
99
  title,
99
100
  description,
100
- faqTitle: 'Questions Fréquentes',
101
101
  faq: faqData,
102
- bibliographyTitle: 'Bibliographie',
103
- bibliography: [
104
- {
105
- name: "Guide d'Éclairage Efficace — IDAE (Espagne)",
106
- url: 'https://www.idae.es/publicaciones/guia-tecnica-de-eficiencia-energetica-en-iluminacion-oficinas',
107
- },
108
- {
109
- name: 'Étiquetage Énergétique des Lampes — Union Européenne',
110
- url: 'https://www.boe.es/buscar/doc.php?id=DOUE-L-2019-81875',
111
- },
112
- {
113
- name: "Calculateur de Consommation Électrique — OCU",
114
- url: 'https://www.ocu.org/vivienda-y-energia/gas-luz/calculadora/consumo-stand-by',
115
- },
116
- ],
102
+ bibliography,
117
103
  howTo: howToData,
118
104
  schemas: [faqSchema, howToSchema, appSchema],
119
105
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'kalkulator-hemat-led';
6
7
  const title = 'Kalkulator Hemat LED';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Pertanyaan Umum',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Daftar Pustaka',
98
- bibliography: [
99
- {
100
- name: 'Label Energi Uni Eropa untuk Lampu',
101
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_en',
102
- },
103
- {
104
- name: 'Panduan Efisiensi Energi — IEA',
105
- url: 'https://www.iea.org/topics/energy-efficiency',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calcolatore-risparmio-led';
6
7
  const title = 'Calcolatore Risparmio LED';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Domande Frequenti',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Bibliografia',
98
- bibliography: [
99
- {
100
- name: 'Efficienza Energetica - ENEA',
101
- url: 'https://www.efficienzaenergetica.enea.it/',
102
- },
103
- {
104
- name: 'Etichettatura Energetica UE',
105
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_it',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-saving-calculator';
6
7
  const title = 'LED節電・節約計算機';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'よくある質問',
96
96
  faq: faqData,
97
- bibliographyTitle: '参考文献',
98
- bibliography: [
99
- {
100
- name: '省エネポータルサイト — 資源エネルギー庁',
101
- url: 'https://www.enecho.meti.go.jp/category/saving_and_new/saving/',
102
- },
103
- {
104
- name: 'LED照明ナビ — 日本照明工業会',
105
- url: 'https://www.jlma.or.jp/led-navi/index.html',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-saving-calculator';
6
7
  const title = 'LED 절약 계산기';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: '자주 묻는 질문',
96
96
  faq: faqData,
97
- bibliographyTitle: '참고 자료',
98
- bibliography: [
99
- {
100
- name: '한국에너지공단 - 고효율 에너지기자재 가이드',
101
- url: 'https://www.energy.or.kr/',
102
- },
103
- {
104
- name: '에너지 효율 등급 안내 - 한국소비자원',
105
- url: 'https://www.kca.go.kr/',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-besparingscalculator';
6
7
  const title = 'LED Besparingscalculator';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Veelgestelde Vragen',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Bibliografie',
98
- bibliography: [
99
- {
100
- name: 'Energiebesparing — Milieu Centraal',
101
- url: 'https://www.milieucentraal.nl/',
102
- },
103
- {
104
- name: 'Energielabels voor lampen — Europese Unie',
105
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_nl',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'kalkulator-oszczednosci-led';
6
7
  const title = 'Kalkulator Oszczędności LED';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Często Zadawane Pytania',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Bibliografia',
98
- bibliography: [
99
- {
100
- name: 'Efektywność Energetyczna — Ministerstwo Klimatu',
101
- url: 'https://www.gov.pl/web/klimat/efektywnosc-energetyczna',
102
- },
103
- {
104
- name: 'Etykiety Energetyczne UE',
105
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_pl',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calculadora-poupanca-led';
6
7
  const title = 'Calculadora de Poupança LED';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Perguntas Frequentes',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Bibliografia',
98
- bibliography: [
99
- {
100
- name: 'Eficiência Energética — ADENE (Portugal)',
101
- url: 'https://www.adene.pt/',
102
- },
103
- {
104
- name: 'Etiquetagem Energética UE',
105
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_pt',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'kalkulyator-ekonomii-led';
6
7
  const title = 'Калькулятор экономии LED';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Часто задаваемые вопросы',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Библиография',
98
- bibliography: [
99
- {
100
- name: 'Энергосбережение — портал Россетей',
101
- url: 'https://rosseti.ru/',
102
- },
103
- {
104
- name: 'Энергетическая маркировка ЕС для ламп',
105
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_en',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-besparingskalkylator';
6
7
  const title = 'LED Besparingskalkylator';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Vanliga frågor',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Referenser',
98
- bibliography: [
99
- {
100
- name: 'Energimyndigheten — Belysning',
101
- url: 'https://www.energimyndigheten.se/',
102
- },
103
- {
104
- name: 'EU:s energimärkning för lampor',
105
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_sv',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-tasarruf-hesaplama';
6
7
  const title = 'LED Tasarruf Hesaplayıcı';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: 'Sıkça Sorulan Sorular',
96
96
  faq: faqData,
97
- bibliographyTitle: 'Kaynakça',
98
- bibliography: [
99
- {
100
- name: 'Enerji Tasarrufu ve Verimliliği — Enerji Bakanlığı',
101
- url: 'https://enerji.gov.tr/',
102
- },
103
- {
104
- name: 'AB Enerji Etiketi Yönetmeliği',
105
- url: 'https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products_en',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { LedSavingCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'led-saving-calculator';
6
7
  const title = 'LED节电与省钱计算器';
@@ -92,19 +93,8 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
93
  slug,
93
94
  title,
94
95
  description,
95
- faqTitle: '常见问题',
96
96
  faq: faqData,
97
- bibliographyTitle: '参考资料',
98
- bibliography: [
99
- {
100
- name: '中国能效标识网',
101
- url: 'http://www.energylabel.gov.cn/',
102
- },
103
- {
104
- name: 'IEA (国际能源署) 节能指南',
105
- url: 'https://www.iea.org/topics/energy-efficiency',
106
- },
107
- ],
97
+ bibliography,
108
98
  howTo: howToData,
109
99
  schemas: [faqSchema, howToSchema, appSchema],
110
100
  seo: [
@@ -11,4 +11,5 @@ const { locale = 'es' } = Astro.props;
11
11
  const content = await ledSavingCalculator.i18n[locale]?.();
12
12
  if (!content) return null;
13
13
  ---
14
- <SEORenderer content={{ locale: locale as string, sections: content.seo }} />
14
+
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -0,0 +1,5 @@
1
+ export const bibliography = [
2
+ { name: 'Projector Central — Throw Distance Calculator', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
3
+ { name: 'Epson — Guía de Distancia de Proyección', url: 'https://epson.com/' },
4
+ { name: 'BenQ — Knowledge Center', url: 'https://www.benq.com/en-us/knowledge-center/' },
5
+ ];
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { ProjectorCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'projektor-abstand-rechner';
6
7
  const title = 'Projektor Abstandsrechner — Verhältnis & Leinwand';
@@ -86,13 +87,8 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Häufig gestellte Fragen',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Quellen',
92
- bibliography: [
93
- { name: 'Projector Central — Abstandsrechner', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
94
- { name: 'Epson — Installationsanleitungen', url: 'https://epson.com/' },
95
- ],
91
+ bibliography,
96
92
  howTo: howToData,
97
93
  schemas: [faqSchema, howToSchema, appSchema],
98
94
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { ProjectorCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'projector-throw-calculator';
6
7
  const title = 'Projector Throw Distance Calculator';
@@ -86,14 +87,8 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Frequently Asked Questions',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Bibliography',
92
- bibliography: [
93
- { name: 'Projector Central — Throw Distance Calculator', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
94
- { name: 'Epson — Projection Distance Guide', url: 'https://epson.com/' },
95
- { name: 'BenQ — Knowledge Center', url: 'https://www.benq.com/en-us/knowledge-center/' },
96
- ],
91
+ bibliography,
97
92
  howTo: howToData,
98
93
  schemas: [faqSchema, howToSchema, appSchema],
99
94
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { ProjectorCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calculadora-tiro-proyector';
6
7
  const title = 'Calculadora Distancia Proyector — Tiro y Pantalla';
@@ -86,14 +87,8 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Preguntas Frecuentes',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Bibliografía',
92
- bibliography: [
93
- { name: 'Projector Central — Throw Distance Calculator', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
94
- { name: 'Epson — Guía de Distancia de Proyección', url: 'https://epson.com/' },
95
- { name: 'BenQ — Knowledge Center', url: 'https://www.benq.com/en-us/knowledge-center/' },
96
- ],
91
+ bibliography,
97
92
  howTo: howToData,
98
93
  schemas: [faqSchema, howToSchema, appSchema],
99
94
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { ProjectorCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calculateur-distance-projecteur';
6
7
  const title = 'Calculateur de Distance de Projection';
@@ -86,14 +87,8 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Questions Fréquentes',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Bibliographie',
92
- bibliography: [
93
- { name: 'Projector Central — Calculateur de Distance de Projection', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
94
- { name: 'Epson — Guide de Distance de Projection', url: 'https://epson.com/' },
95
- { name: 'BenQ — Centre de Connaissances', url: 'https://www.benq.com/en-us/knowledge-center/' },
96
- ],
91
+ bibliography,
97
92
  howTo: howToData,
98
93
  schemas: [faqSchema, howToSchema, appSchema],
99
94
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { ProjectorCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'kalkulator-jarak-proyektor';
6
7
  const title = 'Kalkulator Jarak Proyektor — Tembakan dan Layar';
@@ -86,14 +87,8 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Pertanyaan Umum',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Daftar Pustaka',
92
- bibliography: [
93
- { name: 'Projector Central — Throw Distance Calculator', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
94
- { name: 'Epson — Panduan Jarak Proyeksi', url: 'https://epson.com/' },
95
- { name: 'BenQ — Pusat Pengetahuan', url: 'https://www.benq.com/en-us/knowledge-center/' },
96
- ],
91
+ bibliography,
97
92
  howTo: howToData,
98
93
  schemas: [faqSchema, howToSchema, appSchema],
99
94
  seo: [
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { ProjectorCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calcolatore-distanza-proiettore';
6
7
  const title = 'Calcolatore Distanza Proiettore — Tiro e Schermo';
@@ -86,13 +87,8 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Domande Frequenti',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Bibliografia',
92
- bibliography: [
93
- { name: 'Projector Central — Throw Distance Calculator', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
94
- { name: 'Guida alla Proiezione Epson', url: 'https://epson.com/' },
95
- ],
91
+ bibliography,
96
92
  howTo: howToData,
97
93
  schemas: [faqSchema, howToSchema, appSchema],
98
94
  seo: [