@jjlmoya/utils-home 1.16.0 → 1.23.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 (174) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/de.ts +10 -10
  3. package/src/category/i18n/en.ts +8 -8
  4. package/src/category/i18n/es.ts +2 -2
  5. package/src/category/i18n/fr.ts +15 -15
  6. package/src/category/i18n/id.ts +8 -8
  7. package/src/category/i18n/it.ts +7 -7
  8. package/src/category/i18n/nl.ts +8 -8
  9. package/src/category/i18n/pl.ts +10 -10
  10. package/src/category/i18n/pt.ts +8 -8
  11. package/src/category/i18n/ru.ts +10 -10
  12. package/src/category/i18n/sv.ts +8 -8
  13. package/src/category/i18n/tr.ts +4 -4
  14. package/src/category/i18n/zh.ts +8 -8
  15. package/src/entries.ts +4 -1
  16. package/src/pages/[locale]/[slug].astro +28 -12
  17. package/src/tests/locale_completeness.test.ts +4 -22
  18. package/src/tests/no_en_dash.test.ts +70 -0
  19. package/src/tests/shared-test-helpers.ts +56 -0
  20. package/src/tests/tool_exports.test.ts +34 -0
  21. package/src/tests/tool_validation.test.ts +2 -2
  22. package/src/tool/dewPointCalculator/bibliography.ts +10 -0
  23. package/src/tool/dewPointCalculator/i18n/de.ts +7 -17
  24. package/src/tool/dewPointCalculator/i18n/en.ts +8 -18
  25. package/src/tool/dewPointCalculator/i18n/es.ts +7 -17
  26. package/src/tool/dewPointCalculator/i18n/fr.ts +8 -18
  27. package/src/tool/dewPointCalculator/i18n/id.ts +7 -17
  28. package/src/tool/dewPointCalculator/i18n/it.ts +7 -17
  29. package/src/tool/dewPointCalculator/i18n/ja.ts +6 -16
  30. package/src/tool/dewPointCalculator/i18n/ko.ts +6 -16
  31. package/src/tool/dewPointCalculator/i18n/nl.ts +7 -17
  32. package/src/tool/dewPointCalculator/i18n/pl.ts +7 -17
  33. package/src/tool/dewPointCalculator/i18n/pt.ts +7 -17
  34. package/src/tool/dewPointCalculator/i18n/ru.ts +13 -23
  35. package/src/tool/dewPointCalculator/i18n/sv.ts +7 -17
  36. package/src/tool/dewPointCalculator/i18n/tr.ts +6 -16
  37. package/src/tool/dewPointCalculator/i18n/zh.ts +7 -17
  38. package/src/tool/dewPointCalculator/seo.astro +2 -1
  39. package/src/tool/heatingComparator/bibliography.ts +14 -0
  40. package/src/tool/heatingComparator/i18n/de.ts +10 -24
  41. package/src/tool/heatingComparator/i18n/en.ts +3 -13
  42. package/src/tool/heatingComparator/i18n/es.ts +3 -17
  43. package/src/tool/heatingComparator/i18n/fr.ts +9 -19
  44. package/src/tool/heatingComparator/i18n/id.ts +3 -17
  45. package/src/tool/heatingComparator/i18n/it.ts +3 -17
  46. package/src/tool/heatingComparator/i18n/ja.ts +296 -310
  47. package/src/tool/heatingComparator/i18n/ko.ts +296 -306
  48. package/src/tool/heatingComparator/i18n/nl.ts +3 -17
  49. package/src/tool/heatingComparator/i18n/pl.ts +3 -17
  50. package/src/tool/heatingComparator/i18n/pt.ts +3 -17
  51. package/src/tool/heatingComparator/i18n/ru.ts +14 -24
  52. package/src/tool/heatingComparator/i18n/sv.ts +6 -20
  53. package/src/tool/heatingComparator/i18n/tr.ts +2 -16
  54. package/src/tool/heatingComparator/i18n/zh.ts +296 -306
  55. package/src/tool/heatingComparator/seo.astro +3 -3
  56. package/src/tool/ledSavingCalculator/bibliography.ts +14 -0
  57. package/src/tool/ledSavingCalculator/i18n/de.ts +6 -16
  58. package/src/tool/ledSavingCalculator/i18n/en.ts +6 -20
  59. package/src/tool/ledSavingCalculator/i18n/es.ts +6 -20
  60. package/src/tool/ledSavingCalculator/i18n/fr.ts +10 -24
  61. package/src/tool/ledSavingCalculator/i18n/id.ts +5 -15
  62. package/src/tool/ledSavingCalculator/i18n/it.ts +6 -16
  63. package/src/tool/ledSavingCalculator/i18n/ja.ts +5 -15
  64. package/src/tool/ledSavingCalculator/i18n/ko.ts +4 -14
  65. package/src/tool/ledSavingCalculator/i18n/nl.ts +5 -15
  66. package/src/tool/ledSavingCalculator/i18n/pl.ts +5 -15
  67. package/src/tool/ledSavingCalculator/i18n/pt.ts +5 -15
  68. package/src/tool/ledSavingCalculator/i18n/ru.ts +8 -18
  69. package/src/tool/ledSavingCalculator/i18n/sv.ts +5 -15
  70. package/src/tool/ledSavingCalculator/i18n/tr.ts +5 -15
  71. package/src/tool/ledSavingCalculator/i18n/zh.ts +6 -16
  72. package/src/tool/ledSavingCalculator/seo.astro +2 -1
  73. package/src/tool/projectorCalculator/bibliography.ts +5 -0
  74. package/src/tool/projectorCalculator/i18n/de.ts +4 -8
  75. package/src/tool/projectorCalculator/i18n/en.ts +3 -8
  76. package/src/tool/projectorCalculator/i18n/es.ts +4 -9
  77. package/src/tool/projectorCalculator/i18n/fr.ts +6 -11
  78. package/src/tool/projectorCalculator/i18n/id.ts +4 -9
  79. package/src/tool/projectorCalculator/i18n/it.ts +4 -8
  80. package/src/tool/projectorCalculator/i18n/ja.ts +175 -179
  81. package/src/tool/projectorCalculator/i18n/ko.ts +175 -179
  82. package/src/tool/projectorCalculator/i18n/nl.ts +4 -8
  83. package/src/tool/projectorCalculator/i18n/pl.ts +5 -9
  84. package/src/tool/projectorCalculator/i18n/pt.ts +4 -8
  85. package/src/tool/projectorCalculator/i18n/ru.ts +7 -11
  86. package/src/tool/projectorCalculator/i18n/sv.ts +4 -8
  87. package/src/tool/projectorCalculator/i18n/tr.ts +4 -8
  88. package/src/tool/projectorCalculator/i18n/zh.ts +175 -179
  89. package/src/tool/projectorCalculator/seo.astro +2 -1
  90. package/src/tool/qrGenerator/bibliography.ts +14 -0
  91. package/src/tool/qrGenerator/i18n/de.ts +192 -202
  92. package/src/tool/qrGenerator/i18n/en.ts +3 -17
  93. package/src/tool/qrGenerator/i18n/es.ts +2 -16
  94. package/src/tool/qrGenerator/i18n/fr.ts +3 -17
  95. package/src/tool/qrGenerator/i18n/id.ts +146 -150
  96. package/src/tool/qrGenerator/i18n/it.ts +169 -173
  97. package/src/tool/qrGenerator/i18n/ja.ts +146 -150
  98. package/src/tool/qrGenerator/i18n/ko.ts +146 -150
  99. package/src/tool/qrGenerator/i18n/nl.ts +146 -150
  100. package/src/tool/qrGenerator/i18n/pl.ts +146 -150
  101. package/src/tool/qrGenerator/i18n/pt.ts +146 -150
  102. package/src/tool/qrGenerator/i18n/ru.ts +146 -150
  103. package/src/tool/qrGenerator/i18n/sv.ts +146 -150
  104. package/src/tool/qrGenerator/i18n/tr.ts +146 -150
  105. package/src/tool/qrGenerator/i18n/zh.ts +146 -150
  106. package/src/tool/qrGenerator/seo.astro +2 -1
  107. package/src/tool/solarCalculator/bibliography.ts +5 -0
  108. package/src/tool/solarCalculator/i18n/de.ts +141 -145
  109. package/src/tool/solarCalculator/i18n/en.ts +7 -12
  110. package/src/tool/solarCalculator/i18n/es.ts +5 -10
  111. package/src/tool/solarCalculator/i18n/fr.ts +8 -13
  112. package/src/tool/solarCalculator/i18n/id.ts +4 -8
  113. package/src/tool/solarCalculator/i18n/it.ts +4 -8
  114. package/src/tool/solarCalculator/i18n/ja.ts +121 -125
  115. package/src/tool/solarCalculator/i18n/ko.ts +116 -120
  116. package/src/tool/solarCalculator/i18n/nl.ts +4 -7
  117. package/src/tool/solarCalculator/i18n/pl.ts +5 -9
  118. package/src/tool/solarCalculator/i18n/pt.ts +4 -8
  119. package/src/tool/solarCalculator/i18n/ru.ts +7 -10
  120. package/src/tool/solarCalculator/i18n/sv.ts +4 -7
  121. package/src/tool/solarCalculator/i18n/tr.ts +4 -7
  122. package/src/tool/solarCalculator/i18n/zh.ts +116 -120
  123. package/src/tool/solarCalculator/seo.astro +2 -1
  124. package/src/tool/tariffComparator/bibliography.ts +7 -0
  125. package/src/tool/tariffComparator/i18n/de.ts +129 -132
  126. package/src/tool/tariffComparator/i18n/en.ts +5 -12
  127. package/src/tool/tariffComparator/i18n/es.ts +5 -12
  128. package/src/tool/tariffComparator/i18n/fr.ts +8 -15
  129. package/src/tool/tariffComparator/i18n/id.ts +2 -5
  130. package/src/tool/tariffComparator/i18n/it.ts +2 -5
  131. package/src/tool/tariffComparator/i18n/ja.ts +129 -132
  132. package/src/tool/tariffComparator/i18n/ko.ts +129 -132
  133. package/src/tool/tariffComparator/i18n/nl.ts +2 -5
  134. package/src/tool/tariffComparator/i18n/pl.ts +3 -6
  135. package/src/tool/tariffComparator/i18n/pt.ts +2 -5
  136. package/src/tool/tariffComparator/i18n/ru.ts +2 -5
  137. package/src/tool/tariffComparator/i18n/sv.ts +2 -5
  138. package/src/tool/tariffComparator/i18n/tr.ts +2 -5
  139. package/src/tool/tariffComparator/i18n/zh.ts +129 -132
  140. package/src/tool/tariffComparator/seo.astro +2 -1
  141. package/src/tool/wifiRangeSimulator/bibliography.astro +14 -0
  142. package/src/tool/wifiRangeSimulator/bibliography.ts +14 -0
  143. package/src/tool/wifiRangeSimulator/component.astro +170 -0
  144. package/src/tool/wifiRangeSimulator/entry.ts +29 -0
  145. package/src/tool/wifiRangeSimulator/i18n/de.ts +477 -0
  146. package/src/tool/wifiRangeSimulator/i18n/en.ts +477 -0
  147. package/src/tool/wifiRangeSimulator/i18n/es.ts +477 -0
  148. package/src/tool/wifiRangeSimulator/i18n/fr.ts +477 -0
  149. package/src/tool/wifiRangeSimulator/i18n/id.ts +477 -0
  150. package/src/tool/wifiRangeSimulator/i18n/it.ts +477 -0
  151. package/src/tool/wifiRangeSimulator/i18n/ja.ts +477 -0
  152. package/src/tool/wifiRangeSimulator/i18n/ko.ts +477 -0
  153. package/src/tool/wifiRangeSimulator/i18n/nl.ts +477 -0
  154. package/src/tool/wifiRangeSimulator/i18n/pl.ts +477 -0
  155. package/src/tool/wifiRangeSimulator/i18n/pt.ts +477 -0
  156. package/src/tool/wifiRangeSimulator/i18n/ru.ts +477 -0
  157. package/src/tool/wifiRangeSimulator/i18n/sv.ts +477 -0
  158. package/src/tool/wifiRangeSimulator/i18n/tr.ts +477 -0
  159. package/src/tool/wifiRangeSimulator/i18n/zh.ts +477 -0
  160. package/src/tool/wifiRangeSimulator/i18n-utils.ts +14 -0
  161. package/src/tool/wifiRangeSimulator/index.ts +8 -0
  162. package/src/tool/wifiRangeSimulator/logic.ts +220 -0
  163. package/src/tool/wifiRangeSimulator/seo.astro +15 -0
  164. package/src/tool/wifiRangeSimulator/sketch-actions.ts +168 -0
  165. package/src/tool/wifiRangeSimulator/sketch-events.ts +138 -0
  166. package/src/tool/wifiRangeSimulator/sketch-render-dash.ts +170 -0
  167. package/src/tool/wifiRangeSimulator/sketch-render-device.ts +42 -0
  168. package/src/tool/wifiRangeSimulator/sketch-render.ts +155 -0
  169. package/src/tool/wifiRangeSimulator/sketch-state.ts +186 -0
  170. package/src/tool/wifiRangeSimulator/sketch.ts +100 -0
  171. package/src/tool/wifiRangeSimulator/ui.ts +69 -0
  172. package/src/tool/wifiRangeSimulator/wifi-range-simulator.css +583 -0
  173. package/src/tools.ts +2 -0
  174. 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 = '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: [
@@ -120,7 +110,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
120
110
  {
121
111
  type: 'stats',
122
112
  items: [
123
- { value: '8590%', label: 'Poupança Energética', icon: 'mdi:lightning-bolt' },
113
+ { value: '85-90%', label: 'Poupança Energética', icon: 'mdi:lightning-bolt' },
124
114
  { value: '25.000h', label: 'Vida Útil LED', icon: 'mdi:clock-outline' },
125
115
  { value: '< 4 meses', label: 'Amortização', icon: 'mdi:calendar-check' },
126
116
  ],
@@ -139,7 +129,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
139
129
  title: 'Tecnologia LED Moderna',
140
130
  description: 'O padrão atual de eficiência. Acesso instantâneo e mínima emissão de calor.',
141
131
  icon: 'mdi:led-outline',
142
- points: ['8590% poupança direta', 'Vida útil: 25.00050.000 horas', 'Mínima emissão de calor'],
132
+ points: ['85-90% poupança direta', 'Vida útil: 25.000-50.000 horas', 'Mínima emissão de calor'],
143
133
  },
144
134
  ],
145
135
  columns: 2,
@@ -159,7 +149,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
159
149
  title: 'Tabela de Equivalências Rápidas',
160
150
  icon: 'mdi:table',
161
151
  badge: 'Referência',
162
- html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W incandescente</strong> → LED 56W (450 lm)</li><li><strong>60W incandescente</strong> → LED 810W (800 lm)</li><li><strong>100W incandescente</strong> → LED 1315W (1500 lm)</li><li><strong>50W halogénea</strong> → LED 67W (450500 lm)</li></ul>',
152
+ html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W incandescente</strong> → LED 5-6W (450 lm)</li><li><strong>60W incandescente</strong> → LED 8-10W (800 lm)</li><li><strong>100W incandescente</strong> → LED 13-15W (1500 lm)</li><li><strong>50W halogénea</strong> → LED 6-7W (450-500 lm)</li></ul>',
163
153
  },
164
154
  {
165
155
  type: 'summary',
@@ -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';
@@ -36,7 +37,7 @@ const faqData = [
36
37
  {
37
38
  question: 'Нужно ли менять весь светильник целиком?',
38
39
  answer:
39
- 'В 99% случаев нет. Достаточно заменить саму лампочку на светодиодную с тем же цоколем (E27, E14, GU10 и т.д.).',
40
+ 'В 99% случаев: нет. Достаточно заменить саму лампочку на светодиодную с тем же цоколем (E27, E14, GU10 и т.д.).',
40
41
  },
41
42
  ];
42
43
 
@@ -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: [
@@ -115,12 +105,12 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
115
105
  },
116
106
  {
117
107
  type: 'paragraph',
118
- html: 'Замена традиционного освещения на технологию <strong>LED (светоизлучающий диод)</strong> это одна из бытовых инвестиций с самым быстрым возвратом. Каждый сэкономленный ватт напрямую уменьшает сумму в квитанции в конце месяца. LED-лампа на 9 Вт дает тот же свет, что и лампа накаливания на 60 Вт, при этом <strong>потребляя на 85% меньше</strong>.',
108
+ html: 'Замена традиционного освещения на технологию <strong>LED (светоизлучающий диод)</strong>: это одна из бытовых инвестиций с самым быстрым возвратом. Каждый сэкономленный ватт напрямую уменьшает сумму в квитанции в конце месяца. LED-лампа на 9 Вт дает тот же свет, что и лампа накаливания на 60 Вт, при этом <strong>потребляя на 85% меньше</strong>.',
119
109
  },
120
110
  {
121
111
  type: 'stats',
122
112
  items: [
123
- { value: '8590%', label: 'Экономия энергии', icon: 'mdi:lightning-bolt' },
113
+ { value: '85-90%', label: 'Экономия энергии', icon: 'mdi:lightning-bolt' },
124
114
  { value: '25 000ч', label: 'Срок службы LED', icon: 'mdi:clock-outline' },
125
115
  { value: '< 4 мес.', label: 'Окупаемость', icon: 'mdi:calendar-check' },
126
116
  ],
@@ -139,7 +129,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
139
129
  title: 'Современные LED технологии',
140
130
  description: 'Текущий стандарт энергоэффективности. Мгновенное включение и минимум тепла.',
141
131
  icon: 'mdi:led-outline',
142
- points: ['8590% прямой экономии', 'Срок службы: 25-50 тысяч часов', 'Минимальный нагрев'],
132
+ points: ['85-90% прямой экономии', 'Срок службы: 25-50 тысяч часов', 'Минимальный нагрев'],
143
133
  },
144
134
  ],
145
135
  columns: 2,
@@ -151,7 +141,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
151
141
  },
152
142
  {
153
143
  type: 'paragraph',
154
- html: 'Лампа накаливания переводит в свет лишь 5% энергии. Светодиоды используют полупроводники, что делает их радикально эффективнее. <strong>Смотрите не на ватты, а на люмены:</strong> старая лампа 60 Вт дает около 800 лм; сегодня их можно получить от LED всего на 89 Вт.',
144
+ html: 'Лампа накаливания переводит в свет лишь 5% энергии. Светодиоды используют полупроводники, что делает их радикально эффективнее. <strong>Смотрите не на ватты, а на люмены:</strong> старая лампа 60 Вт дает около 800 лм; сегодня их можно получить от LED всего на 8-9 Вт.',
155
145
  },
156
146
  {
157
147
  type: 'diagnostic',
@@ -159,7 +149,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
159
149
  title: 'Таблица эквивалентов',
160
150
  icon: 'mdi:table',
161
151
  badge: 'Справка',
162
- html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40 Вт (накал)</strong> → LED 56 Вт (450 лм)</li><li><strong>60 Вт (накал)</strong> → LED 810 Вт (800 лм)</li><li><strong>100 Вт (накал)</strong> → LED 1315 Вт (1500 лм)</li><li><strong>50 Вт (галоген)</strong> → LED 67 Вт (450500 лм)</li></ul>',
152
+ html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40 Вт (накал)</strong> → LED 5-6 Вт (450 лм)</li><li><strong>60 Вт (накал)</strong> → LED 8-10 Вт (800 лм)</li><li><strong>100 Вт (накал)</strong> → LED 13-15 Вт (1500 лм)</li><li><strong>50 Вт (галоген)</strong> → LED 6-7 Вт (450-500 лм)</li></ul>',
163
153
  },
164
154
  {
165
155
  type: 'summary',
@@ -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: [
@@ -120,7 +110,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
120
110
  {
121
111
  type: 'stats',
122
112
  items: [
123
- { value: '8590%', label: 'Energibesparing', icon: 'mdi:lightning-bolt' },
113
+ { value: '85-90%', label: 'Energibesparing', icon: 'mdi:lightning-bolt' },
124
114
  { value: '25.000h', label: 'Livslängd LED', icon: 'mdi:clock-outline' },
125
115
  { value: '< 4 mån', label: 'Återbetalning', icon: 'mdi:calendar-check' },
126
116
  ],
@@ -139,7 +129,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
139
129
  title: 'Modern LED teknik',
140
130
  description: 'Nuvarande standard för effektivitet. Tänds direkt och minimal värmeavgivning.',
141
131
  icon: 'mdi:led-outline',
142
- points: ['8590 % direkt besparing', 'Livslängd: upp till 50 000 timmar', 'Minimal värme'],
132
+ points: ['85-90 % direkt besparing', 'Livslängd: upp till 50 000 timmar', 'Minimal värme'],
143
133
  },
144
134
  ],
145
135
  columns: 2,
@@ -159,7 +149,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
159
149
  title: 'Snabbguide för utbyte',
160
150
  icon: 'mdi:table',
161
151
  badge: 'Referens',
162
- html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W glödlampa</strong> → LED 56W (450 lm)</li><li><strong>60W glödlampa</strong> → LED 810W (800 lm)</li><li><strong>100W glödlampa</strong> → LED 1315W (1500 lm)</li><li><strong>50W halogen</strong> → LED 67W (450500 lm)</li></ul>',
152
+ html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W glödlampa</strong> → LED 5-6W (450 lm)</li><li><strong>60W glödlampa</strong> → LED 8-10W (800 lm)</li><li><strong>100W glödlampa</strong> → LED 13-15W (1500 lm)</li><li><strong>50W halogen</strong> → LED 6-7W (450-500 lm)</li></ul>',
163
153
  },
164
154
  {
165
155
  type: 'summary',
@@ -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: [
@@ -120,7 +110,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
120
110
  {
121
111
  type: 'stats',
122
112
  items: [
123
- { value: '%8590', label: 'Enerji Tasarrufu', icon: 'mdi:lightning-bolt' },
113
+ { value: '%85-90', label: 'Enerji Tasarrufu', icon: 'mdi:lightning-bolt' },
124
114
  { value: '25.000s', label: 'LED Ömrü', icon: 'mdi:clock-outline' },
125
115
  { value: '< 4 ay', label: 'Amortisman', icon: 'mdi:calendar-check' },
126
116
  ],
@@ -139,7 +129,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
139
129
  title: 'Modern LED Teknolojisi',
140
130
  description: 'Güncel enerji verimliliği standardı. Anında tam parlaklık ve düşük ısı yayılımı.',
141
131
  icon: 'mdi:led-outline',
142
- points: ['%8590 doğrudan tasarruf', 'Ömür: 25.00050.000 saat', 'Minimum ısı yayılımı'],
132
+ points: ['%85-90 doğrudan tasarruf', 'Ömür: 25.000-50.000 saat', 'Minimum ısı yayılımı'],
143
133
  },
144
134
  ],
145
135
  columns: 2,
@@ -159,7 +149,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
159
149
  title: 'Hızlı Değişim Tablosu',
160
150
  icon: 'mdi:table',
161
151
  badge: 'Referans',
162
- html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W Akkor</strong> → LED 56W (450 lm)</li><li><strong>60W Akkor</strong> → LED 810W (800 lm)</li><li><strong>100W Akkor</strong> → LED 1315W (1500 lm)</li><li><strong>50W Halojen</strong> → LED 67W (450500 lm)</li></ul>',
152
+ html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W Akkor</strong> → LED 5-6W (450 lm)</li><li><strong>60W Akkor</strong> → LED 8-10W (800 lm)</li><li><strong>100W Akkor</strong> → LED 13-15W (1500 lm)</li><li><strong>50W Halojen</strong> → LED 6-7W (450-500 lm)</li></ul>',
163
153
  },
164
154
  {
165
155
  type: 'summary',
@@ -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节电与省钱计算器';
@@ -31,7 +32,7 @@ const faqData = [
31
32
  {
32
33
  question: '我可以在带调光器的灯具上使用LED吗?',
33
34
  answer:
34
- '仅当灯泡明确标注为“可调光”(Dimmable)时。标准LED在旧式调光器上表现不佳,可能会出现闪烁或嗡嗡声。',
35
+ '仅当灯泡明确标注为"可调光"(Dimmable)时。标准LED在旧式调光器上表现不佳,可能会出现闪烁或嗡嗡声。',
35
36
  },
36
37
  {
37
38
  question: '需要更换整个灯具吗?',
@@ -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: [
@@ -120,7 +110,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
120
110
  {
121
111
  type: 'stats',
122
112
  items: [
123
- { value: '8590%', label: '能源节省率', icon: 'mdi:lightning-bolt' },
113
+ { value: '85-90%', label: '能源节省率', icon: 'mdi:lightning-bolt' },
124
114
  { value: '25,000h', label: 'LED 寿命', icon: 'mdi:clock-outline' },
125
115
  { value: '< 4 个月', label: '投资回本周期', icon: 'mdi:calendar-check' },
126
116
  ],
@@ -139,7 +129,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
139
129
  title: '现代 LED 技术',
140
130
  description: '当前的家庭节能标准。即开即亮,热量排放极低。',
141
131
  icon: 'mdi:led-outline',
142
- points: ['8590% 直接节能', '寿命:25,00050,000 小时', '发热量极低'],
132
+ points: ['85-90% 直接节能', '寿命:25,000-50,000 小时', '发热量极低'],
143
133
  },
144
134
  ],
145
135
  columns: 2,
@@ -159,7 +149,7 @@ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
159
149
  title: '快速等效表',
160
150
  icon: 'mdi:table',
161
151
  badge: '参考',
162
- html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W 白热灯</strong> → LED 56W (450 lm)</li><li><strong>60W 白热灯</strong> → LED 810W (800 lm)</li><li><strong>100W 白热灯</strong> → LED 1315W (1500 lm)</li><li><strong>50W 卤素灯</strong> → LED 67W (450500 lm)</li></ul>',
152
+ html: '<ul style="margin:0;padding-left:1.2em"><li><strong>40W 白热灯</strong> → LED 5-6W (450 lm)</li><li><strong>60W 白热灯</strong> → LED 8-10W (800 lm)</li><li><strong>100W 白热灯</strong> → LED 13-15W (1500 lm)</li><li><strong>50W 卤素灯</strong> → LED 6-7W (450-500 lm)</li></ul>',
163
153
  },
164
154
  {
165
155
  type: 'summary',
@@ -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,9 +1,10 @@
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
- const title = 'Projektor Abstandsrechner Verhältnis & Leinwand';
7
+ const title = 'Projektor Abstandsrechner: Verhältnis & Leinwand';
7
8
  const description =
8
9
  'Berechnen Sie den exakten Abstand für die Installation Ihres Projektors basierend auf der Leinwandgröße und dem Projektionsverhältnis (Throw Ratio).';
9
10
 
@@ -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: [
@@ -121,7 +117,7 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
121
117
  title: 'Was ist das Throw Ratio?',
122
118
  description: 'Es ist das Verhältnis zwischen Projektionsabstand und Bildbreite. Ein TR von 1,5 bedeutet 1,5 m Abstand pro Meter Bildbreite.',
123
119
  icon: 'mdi:ruler',
124
- points: ['TR < 1: Kurzdistanz, ideal für kleine Räume', 'TR 12: Standard für Wohnzimmer', 'TR > 2: Langdistanz für Hörsäle'],
120
+ points: ['TR < 1: Kurzdistanz, ideal für kleine Räume', 'TR 1-2: Standard für Wohnzimmer', 'TR > 2: Langdistanz für Hörsäle'],
125
121
  },
126
122
  {
127
123
  title: 'Seitenverhältnis (Format)',
@@ -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: [
@@ -122,7 +117,7 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
122
117
  title: 'What is the Throw Ratio?',
123
118
  description: 'The ratio between the projection distance and the image width. A TR of 1.5 means you need 1.5m of distance per metre of screen width.',
124
119
  icon: 'mdi:ruler',
125
- points: ['TR < 1: Short Throw, ideal for small rooms', 'TR 12: Standard for living rooms and meeting rooms', 'TR > 2: Long Throw, for large auditoriums'],
120
+ points: ['TR < 1: Short Throw, ideal for small rooms', 'TR 1-2: Standard for living rooms and meeting rooms', 'TR > 2: Long Throw, for large auditoriums'],
126
121
  },
127
122
  {
128
123
  title: 'Format and Aspect Ratio',
@@ -1,9 +1,10 @@
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
- const title = 'Calculadora Distancia Proyector Tiro y Pantalla';
7
+ const title = 'Calculadora Distancia Proyector: Tiro y Pantalla';
7
8
  const description =
8
9
  'Calcula la distancia exacta para instalar tu proyector según el tamaño de pantalla deseado y el Throw Ratio. Herramienta visual con simulación en tiempo real.';
9
10
 
@@ -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: [
@@ -122,7 +117,7 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
122
117
  title: '¿Qué es el Throw Ratio?',
123
118
  description: 'Es la relación entre la distancia de proyección y el ancho de la imagen. Un TR de 1.5 significa que necesitas 1.5m de distancia por cada metro de ancho de pantalla.',
124
119
  icon: 'mdi:ruler',
125
- points: ['TR < 1: Short Throw, ideal para espacios pequeños', 'TR 12: Estándar para salones y salas de reuniones', 'TR > 2: Long Throw, para grandes auditorios'],
120
+ points: ['TR < 1: Short Throw, ideal para espacios pequeños', 'TR 1-2: Estándar para salones y salas de reuniones', 'TR > 2: Long Throw, para grandes auditorios'],
126
121
  },
127
122
  {
128
123
  title: 'Formato y Relación de Aspecto',
@@ -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: [
@@ -122,13 +117,13 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
122
117
  title: "Qu est ce que le Throw Ratio ?",
123
118
  description: "Le rapport entre la distance de projection et la largeur de l'image. Un TR de 1.5 signifie qu'il faut 1.5m de distance par mètre de largeur d'écran.",
124
119
  icon: 'mdi:ruler',
125
- points: ['TR < 1 : Short Throw, idéal pour les petits espaces', 'TR 12 : Standard pour salons et salles de réunion', "TR > 2 : Long Throw, pour les grands auditoriums"],
120
+ points: ['TR < 1: Short Throw, idéal pour les petits espaces', 'TR 1-2: Standard pour salons et salles de réunion', "TR > 2: Long Throw, pour les grands auditoriums"],
126
121
  },
127
122
  {
128
123
  title: "Format et Rapport d'Aspect",
129
124
  description: "Le format détermine les proportions de l'image. Utiliser le mauvais format crée des bandes noires qui gaspillent la surface d'écran et réduisent la luminosité perçue.",
130
125
  icon: 'mdi:aspect-ratio',
131
- points: ["16:9 (1.78:1) : standard HD/4K pour cinéma et séries", '21:9 (2.35:1) : format cinémascope pour home cinema', "4:3 (1.33:1) : pour présentations et projecteurs de bureau"],
126
+ points: ["16:9 (1.78:1): standard HD/4K pour cinéma et séries", '21:9 (2.35:1): format cinémascope pour home cinema', "4:3 (1.33:1): pour présentations et projecteurs de bureau"],
132
127
  },
133
128
  ],
134
129
  columns: 2,
@@ -157,7 +152,7 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
157
152
  "Notez le Throw Ratio de votre projecteur avant de choisir l'emplacement de montage.",
158
153
  "Vérifiez la taille maximale d'image permise par l'espace disponible.",
159
154
  "Montez le projecteur centré verticalement par rapport à l'écran.",
160
- "Évitez le Keystone numérique : utilisez le Lens Shift ou ajustez la position physique.",
155
+ "Évitez le Keystone numérique: utilisez le Lens Shift ou ajustez la position physique.",
161
156
  "Assurez-vous qu'aucune source lumineuse directe ne pointe vers l'écran.",
162
157
  ],
163
158
  },
@@ -169,7 +164,7 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
169
164
  labelDiagonalUnit: 'Pouces (")',
170
165
  labelFormat: "Format (Rapport d'Aspect)",
171
166
  labelThrowRatio: 'Throw Ratio',
172
- throwRatioHint: "Consultez le manuel de votre projecteur. Exemple : 1.50 signifie que pour 1m de largeur d'image, vous avez besoin de 1.5m de distance.",
167
+ throwRatioHint: "Consultez le manuel de votre projecteur. Exemple: 1.50 signifie que pour 1m de largeur d'image, vous avez besoin de 1.5m de distance.",
173
168
  ratio169Sub: 'TV / HD',
174
169
  ratio219Sub: 'Cinéma',
175
170
  ratio43Sub: 'Rétro',
@@ -1,9 +1,10 @@
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
- const title = 'Kalkulator Jarak Proyektor Tembakan dan Layar';
7
+ const title = 'Kalkulator Jarak Proyektor: Tembakan dan Layar';
7
8
  const description =
8
9
  'Hitung jarak tepat untuk memasang proyektor Anda berdasarkan ukuran layar yang diinginkan dan Throw Ratio. Alat visual dengan simulasi real-time.';
9
10
 
@@ -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: [
@@ -122,7 +117,7 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
122
117
  title: 'Apa itu Throw Ratio?',
123
118
  description: 'Ini adalah hubungan antara jarak proyeksi dan lebar gambar. TR 1.5 berarti Anda butuh jarak 1.5m untuk setiap meter lebar layar.',
124
119
  icon: 'mdi:ruler',
125
- points: ['TR < 1: Short Throw, ideal untuk ruang sempit', 'TR 12: Standar untuk ruang tamu', 'TR > 2: Long Throw, untuk auditorium besar'],
120
+ points: ['TR < 1: Short Throw, ideal untuk ruang sempit', 'TR 1-2: Standar untuk ruang tamu', 'TR > 2: Long Throw, untuk auditorium besar'],
126
121
  },
127
122
  {
128
123
  title: 'Format dan Rasio Aspek',
@@ -1,9 +1,10 @@
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
- const title = 'Calcolatore Distanza Proiettore Tiro e Schermo';
7
+ const title = 'Calcolatore Distanza Proiettore: Tiro e Schermo';
7
8
  const description =
8
9
  'Calcola la distanza esatta per installare il tuo proiettore in base alla dimensione dello schermo desiderata e al Throw Ratio.';
9
10
 
@@ -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: [
@@ -121,7 +117,7 @@ export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
121
117
  title: 'Cos\'è il Throw Ratio?',
122
118
  description: 'È il rapporto tra distanza di proiezione e larghezza immagine. Un TR di 1.5 significa che serve 1.5m di distanza per ogni metro di larghezza schermo.',
123
119
  icon: 'mdi:ruler',
124
- points: ['TR < 1: Short Throw, per spazi piccoli', 'TR 12: Standard per soggiorni', 'TR > 2: Long Throw, per auditorium'],
120
+ points: ['TR < 1: Short Throw, per spazi piccoli', 'TR 1-2: Standard per soggiorni', 'TR > 2: Long Throw, per auditorium'],
125
121
  },
126
122
  {
127
123
  title: 'Formato e Aspect Ratio',