@jjlmoya/utils-home 1.6.0 → 1.7.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 (102) hide show
  1. package/package.json +61 -60
  2. package/src/tests/i18n_coverage.test.ts +36 -0
  3. package/src/tests/schemas_fulfillment.test.ts +23 -0
  4. package/src/tests/slug_uniqueness.test.ts +81 -0
  5. package/src/tests/title_quality.test.ts +55 -0
  6. package/src/tool/dewPointCalculator/i18n/de.ts +178 -0
  7. package/src/tool/dewPointCalculator/i18n/en.ts +1 -1
  8. package/src/tool/dewPointCalculator/i18n/es.ts +1 -1
  9. package/src/tool/dewPointCalculator/i18n/fr.ts +1 -1
  10. package/src/tool/dewPointCalculator/i18n/id.ts +178 -0
  11. package/src/tool/dewPointCalculator/i18n/it.ts +178 -0
  12. package/src/tool/dewPointCalculator/i18n/ja.ts +178 -0
  13. package/src/tool/dewPointCalculator/i18n/ko.ts +178 -0
  14. package/src/tool/dewPointCalculator/i18n/nl.ts +178 -0
  15. package/src/tool/dewPointCalculator/i18n/pl.ts +178 -0
  16. package/src/tool/dewPointCalculator/i18n/pt.ts +178 -0
  17. package/src/tool/dewPointCalculator/i18n/ru.ts +178 -0
  18. package/src/tool/dewPointCalculator/i18n/sv.ts +178 -0
  19. package/src/tool/dewPointCalculator/i18n/tr.ts +178 -0
  20. package/src/tool/dewPointCalculator/i18n/zh.ts +178 -0
  21. package/src/tool/dewPointCalculator/index.ts +16 -6
  22. package/src/tool/heatingComparator/i18n/de.ts +340 -0
  23. package/src/tool/heatingComparator/i18n/id.ts +324 -0
  24. package/src/tool/heatingComparator/i18n/it.ts +336 -0
  25. package/src/tool/heatingComparator/i18n/ja.ts +311 -0
  26. package/src/tool/heatingComparator/i18n/ko.ts +307 -0
  27. package/src/tool/heatingComparator/i18n/nl.ts +336 -0
  28. package/src/tool/heatingComparator/i18n/pl.ts +311 -0
  29. package/src/tool/heatingComparator/i18n/pt.ts +336 -0
  30. package/src/tool/heatingComparator/i18n/ru.ts +307 -0
  31. package/src/tool/heatingComparator/i18n/sv.ts +311 -0
  32. package/src/tool/heatingComparator/i18n/tr.ts +324 -0
  33. package/src/tool/heatingComparator/i18n/zh.ts +307 -0
  34. package/src/tool/heatingComparator/index.ts +13 -1
  35. package/src/tool/ledSavingCalculator/i18n/de.ts +208 -0
  36. package/src/tool/ledSavingCalculator/i18n/fr.ts +1 -1
  37. package/src/tool/ledSavingCalculator/i18n/id.ts +208 -0
  38. package/src/tool/ledSavingCalculator/i18n/it.ts +208 -0
  39. package/src/tool/ledSavingCalculator/i18n/ja.ts +208 -0
  40. package/src/tool/ledSavingCalculator/i18n/ko.ts +208 -0
  41. package/src/tool/ledSavingCalculator/i18n/nl.ts +208 -0
  42. package/src/tool/ledSavingCalculator/i18n/pl.ts +208 -0
  43. package/src/tool/ledSavingCalculator/i18n/pt.ts +208 -0
  44. package/src/tool/ledSavingCalculator/i18n/ru.ts +208 -0
  45. package/src/tool/ledSavingCalculator/i18n/sv.ts +208 -0
  46. package/src/tool/ledSavingCalculator/i18n/tr.ts +208 -0
  47. package/src/tool/ledSavingCalculator/i18n/zh.ts +208 -0
  48. package/src/tool/ledSavingCalculator/index.ts +16 -7
  49. package/src/tool/projectorCalculator/i18n/de.ts +180 -0
  50. package/src/tool/projectorCalculator/i18n/fr.ts +1 -1
  51. package/src/tool/projectorCalculator/i18n/id.ts +181 -0
  52. package/src/tool/projectorCalculator/i18n/it.ts +180 -0
  53. package/src/tool/projectorCalculator/i18n/ja.ts +180 -0
  54. package/src/tool/projectorCalculator/i18n/ko.ts +180 -0
  55. package/src/tool/projectorCalculator/i18n/nl.ts +180 -0
  56. package/src/tool/projectorCalculator/i18n/pl.ts +180 -0
  57. package/src/tool/projectorCalculator/i18n/pt.ts +180 -0
  58. package/src/tool/projectorCalculator/i18n/ru.ts +180 -0
  59. package/src/tool/projectorCalculator/i18n/sv.ts +180 -0
  60. package/src/tool/projectorCalculator/i18n/tr.ts +180 -0
  61. package/src/tool/projectorCalculator/i18n/zh.ts +180 -0
  62. package/src/tool/projectorCalculator/index.ts +15 -6
  63. package/src/tool/qrGenerator/i18n/de.ts +203 -0
  64. package/src/tool/qrGenerator/i18n/id.ts +151 -0
  65. package/src/tool/qrGenerator/i18n/it.ts +174 -0
  66. package/src/tool/qrGenerator/i18n/ja.ts +151 -0
  67. package/src/tool/qrGenerator/i18n/ko.ts +151 -0
  68. package/src/tool/qrGenerator/i18n/nl.ts +151 -0
  69. package/src/tool/qrGenerator/i18n/pl.ts +151 -0
  70. package/src/tool/qrGenerator/i18n/pt.ts +151 -0
  71. package/src/tool/qrGenerator/i18n/ru.ts +151 -0
  72. package/src/tool/qrGenerator/i18n/sv.ts +151 -0
  73. package/src/tool/qrGenerator/i18n/tr.ts +151 -0
  74. package/src/tool/qrGenerator/i18n/zh.ts +151 -0
  75. package/src/tool/qrGenerator/index.ts +17 -9
  76. package/src/tool/solarCalculator/i18n/de.ts +146 -0
  77. package/src/tool/solarCalculator/i18n/id.ts +126 -0
  78. package/src/tool/solarCalculator/i18n/it.ts +126 -0
  79. package/src/tool/solarCalculator/i18n/ja.ts +126 -0
  80. package/src/tool/solarCalculator/i18n/ko.ts +121 -0
  81. package/src/tool/solarCalculator/i18n/nl.ts +120 -0
  82. package/src/tool/solarCalculator/i18n/pl.ts +121 -0
  83. package/src/tool/solarCalculator/i18n/pt.ts +126 -0
  84. package/src/tool/solarCalculator/i18n/ru.ts +110 -0
  85. package/src/tool/solarCalculator/i18n/sv.ts +110 -0
  86. package/src/tool/solarCalculator/i18n/tr.ts +120 -0
  87. package/src/tool/solarCalculator/i18n/zh.ts +121 -0
  88. package/src/tool/solarCalculator/index.ts +17 -9
  89. package/src/tool/tariffComparator/i18n/de.ts +133 -0
  90. package/src/tool/tariffComparator/i18n/id.ts +133 -0
  91. package/src/tool/tariffComparator/i18n/it.ts +133 -0
  92. package/src/tool/tariffComparator/i18n/ja.ts +133 -0
  93. package/src/tool/tariffComparator/i18n/ko.ts +133 -0
  94. package/src/tool/tariffComparator/i18n/nl.ts +133 -0
  95. package/src/tool/tariffComparator/i18n/pl.ts +133 -0
  96. package/src/tool/tariffComparator/i18n/pt.ts +133 -0
  97. package/src/tool/tariffComparator/i18n/ru.ts +106 -0
  98. package/src/tool/tariffComparator/i18n/sv.ts +111 -0
  99. package/src/tool/tariffComparator/i18n/tr.ts +133 -0
  100. package/src/tool/tariffComparator/i18n/zh.ts +133 -0
  101. package/src/tool/tariffComparator/index.ts +16 -7
  102. package/src/types.ts +1 -1
@@ -0,0 +1,208 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { LedSavingCalculatorUI } from '../ui';
4
+
5
+ const slug = 'led-besparingskalkylator';
6
+ const title = 'LED Besparingskalkylator';
7
+ const description =
8
+ 'Beräkna hur mycket pengar och kWh du sparar genom att byta ut dina traditionella glödlampor till LED. Se din exakta årliga besparing och CO2-minskning.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Hur mycket sparar en LED-lampa egentligen?',
13
+ answer:
14
+ 'En LED-lampa sparar mellan 80 % och 90 % energi jämfört med en glödlampa. Att gå från 60W till 9W minskar elkostnaden för den lampan till ett minimum med bibehållen ljusstyrka.',
15
+ },
16
+ {
17
+ question: 'Hur snabbt tjänar man in bytet till LED?',
18
+ answer:
19
+ 'Tack vare det låga priset på LED idag och den stora besparingen tjänas investeringen oftast in på mindre än 4 månader vid normal användning.',
20
+ },
21
+ {
22
+ question: 'Vad händer om jag sätter i en LED-lampa med högre watt?',
23
+ answer:
24
+ 'LED-lampor genererar väldigt lite värme. Du kan därför sätta i lampor med högre lumenvärde i armaturer som tidigare begränsades av värmen från glödlampor, så länge sockelns elektriska gränser hålls.',
25
+ },
26
+ {
27
+ question: 'Håller de verkligen så länge som det står på förpackningen?',
28
+ answer:
29
+ 'En LED-lampa av god kvalitet håller mellan 15 000 och 50 000 timmar. Vid normal hemmanvändning på 4h per dag innebär det över 15 års livslängd.',
30
+ },
31
+ {
32
+ question: 'Kan jag använda LED i lampor med dimmer?',
33
+ answer:
34
+ 'Endast om lampan är märkt som "Dimbar". Standard-LED fungerar inte bra med gamla dimmers och kan flimra eller surra.',
35
+ },
36
+ {
37
+ question: 'Måste jag byta hela lampan?',
38
+ answer:
39
+ 'I 99 % av fallen, nej. Du byter bara ut själva glödlampan mot en LED med samma sockel (E27, E14, GU10 etc.).',
40
+ },
41
+ ];
42
+
43
+ const howToData = [
44
+ {
45
+ name: 'Räkna dina ljuspunkter',
46
+ text: 'Se över hur många glöd- eller halogenlampor du har hemma och notera deras wattstyrka.',
47
+ },
48
+ {
49
+ name: 'Välj motsvarande LED',
50
+ text: 'Välj din nuvarande lamptyp i kalkylatorn. Motsvarande LED-värden tilldelas automatiskt.',
51
+ },
52
+ {
53
+ name: 'Ställ in användningstimmar',
54
+ text: 'Ange hur många timmar per dag lamporna i genomsnitt är tända.',
55
+ },
56
+ ];
57
+
58
+ const faqSchema: WithContext<FAQPage> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'FAQPage',
61
+ mainEntity: faqData.map((item) => ({
62
+ '@type': 'Question',
63
+ name: item.question,
64
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
65
+ })),
66
+ };
67
+
68
+ const howToSchema: WithContext<HowTo> = {
69
+ '@context': 'https://schema.org',
70
+ '@type': 'HowTo',
71
+ name: title,
72
+ description,
73
+ step: howToData.map((step) => ({
74
+ '@type': 'HowToStep',
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'SEK' },
88
+ inLanguage: 'sv',
89
+ };
90
+
91
+ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
+ slug,
93
+ title,
94
+ description,
95
+ faqTitle: 'Vanliga frågor',
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
+ ],
108
+ howTo: howToData,
109
+ schemas: [faqSchema, howToSchema, appSchema],
110
+ seo: [
111
+ {
112
+ type: 'title',
113
+ text: 'LED-guide: Så minskar du din elräkning',
114
+ level: 2,
115
+ },
116
+ {
117
+ type: 'paragraph',
118
+ html: 'Att byta till <strong>LED-teknik (Light Emitting Diode)</strong> är en av de snabbaste sätten att spara pengar i hemmet. Varje watt du sparar syns direkt på din faktura. En 9W LED ger samma ljus som en 60W glödlampa men med <strong>85 % lägre förbrukning</strong>.',
119
+ },
120
+ {
121
+ type: 'stats',
122
+ items: [
123
+ { value: '85–90%', label: 'Energibesparing', icon: 'mdi:lightning-bolt' },
124
+ { value: '25.000h', label: 'Livslängd LED', icon: 'mdi:clock-outline' },
125
+ { value: '< 4 mån', label: 'Återbetalning', icon: 'mdi:calendar-check' },
126
+ ],
127
+ columns: 3,
128
+ },
129
+ {
130
+ type: 'comparative',
131
+ items: [
132
+ {
133
+ title: 'Glödljusbelysning',
134
+ description: 'Ljus baserat på upphettning. 95 % av energin går förlorad som värme.',
135
+ icon: 'mdi:lightbulb-outline',
136
+ points: ['95 % värmeutveckling', 'Livslängd: 1 000 timmar', 'Höga driftskostnader'],
137
+ },
138
+ {
139
+ title: 'Modern LED teknik',
140
+ description: 'Nuvarande standard för effektivitet. Tänds direkt och minimal värmeavgivning.',
141
+ icon: 'mdi:led-outline',
142
+ points: ['85–90 % direkt besparing', 'Livslängd: upp till 50 000 timmar', 'Minimal värme'],
143
+ },
144
+ ],
145
+ columns: 2,
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Fysiken bakom besparingen',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
+ html: 'En glödlampa omvandlar bara 5 % av energin till ljus. LED använder halvledare för en mycket högre effektivitet. <strong>Titta inte på watt, titta på lumen:</strong> en gammal 60W lampa ger ca 800 lm; idag får du det från en 8-9W LED.',
155
+ },
156
+ {
157
+ type: 'diagnostic',
158
+ variant: 'info',
159
+ title: 'Snabbguide för utbyte',
160
+ icon: 'mdi:table',
161
+ badge: 'Referens',
162
+ 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
+ },
164
+ {
165
+ type: 'summary',
166
+ title: 'Fördelar med LED utöver pengar',
167
+ items: [
168
+ 'Extrem livslängd: håller i över 15 år.',
169
+ 'Full ljusstyrka direkt vid start.',
170
+ 'Svalare hem: minskar belastningen på AC under sommaren.',
171
+ 'Miljövänligt: inget kvicksilver eller giftiga gaser.',
172
+ 'Passar i nästan alla befintliga socklar (E27, E14, GU10).',
173
+ ],
174
+ },
175
+ ],
176
+ ui: {
177
+ sectionTitle: 'Hemkonfiguration',
178
+ labelBulbs: 'Lampor att byta ut',
179
+ unitBulbs: 'st',
180
+ labelType: 'Nuvarande lamptyp',
181
+ labelHours: 'Timmar tända per dag',
182
+ labelPrice: 'Elpris',
183
+ unitPrice: 'kr/kWh',
184
+ resultBadge: 'Beräkning av besparing',
185
+ labelAnnual: 'Du sparar per år',
186
+ labelMonthly: 'Månadsvis',
187
+ labelEfficiency: 'Effektivitet',
188
+ labelCo2: 'Minskad CO₂-påverkan',
189
+ unitLess: '% lägre',
190
+ currencySign: 'kr',
191
+ btnInc60Title: 'Glödlampa',
192
+ btnInc60Sub: 'Klassisk (60W)',
193
+ btnInc40Title: 'Glödlampa',
194
+ btnInc40Sub: 'Liten (40W)',
195
+ btnInc100Title: 'Glödlampa',
196
+ btnInc100Sub: 'Stor (100W)',
197
+ btnHalo50Title: 'Halogen',
198
+ btnHalo50Sub: 'Spotlight (50W)',
199
+ usageNever: 'Nästan aldrig',
200
+ usageLow: 'Lite användning',
201
+ usageNormal: 'Normal användning',
202
+ usageModerate: 'Medelanvändning',
203
+ usageHeavy: 'Mycket användning',
204
+ usagePro: 'Professionell användning',
205
+ usageVeryHeavy: 'Väldigt mycket',
206
+ usageAlways: 'Alltid tänd',
207
+ },
208
+ };
@@ -0,0 +1,208 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { LedSavingCalculatorUI } from '../ui';
4
+
5
+ const slug = 'led-tasarruf-hesaplama';
6
+ const title = 'LED Tasarruf Hesaplayıcı';
7
+ const description =
8
+ 'Geleneksel ampullerinizi LED ile değiştirerek ne kadar para ve kWh tasarruf edeceğinizi hesaplayın. Yıllık ve aylık tam kazancınızı ve CO2 azalımını keşfedin.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Bir LED ampul gerçekten ne kadar tasarruf sağlar?',
13
+ answer:
14
+ 'LED ampul, akkor ampule göre %80 ile %90 arasında enerji tasarrufu sağlar. Örneğin, 60W\'tan 9W\'a geçmek, aynı parlaklığı korurken o lambanın elektrik maliyetini minimuma indirir.',
15
+ },
16
+ {
17
+ question: 'LED\'e geçiş kendisini ne kadar sürede amorti eder?',
18
+ answer:
19
+ 'LED\'lerin düşük maliyeti ve yüksek tasarrufu sayesinde, yatırım normal kullanımda genellikle 4 aydan kısa sürede geri döner. Uzun süre yanan lambalarda bu süre daha da kısalır.',
20
+ },
21
+ {
22
+ question: 'Daha yüksek watt değerine sahip bir LED ampul takarsam ne olur?',
23
+ answer:
24
+ 'LED\'ler çok az ısı yayar, bu nedenle elektrik sınırlarına uymak kaydıyla, eski ampullerin ısısı nedeniyle sınırlı olan lambalara daha yüksek lümenli LED\'ler takabilirsiniz.',
25
+ },
26
+ {
27
+ question: 'Kutuların üzerinde yazan kadar uzun dayanıyorlar mı?',
28
+ answer:
29
+ 'Kaliteli bir LED 15.000 ile 50.000 saat arası dayanır. Günde 4 saatlik ev kullanımıyla bir ampul 15 yıldan fazla dayanabilir.',
30
+ },
31
+ {
32
+ question: 'LED\'leri dimmer (ışık ayarlı) anahtar ile kullanabilir miyim?',
33
+ answer:
34
+ 'Sadece ampul "Dimmable" (Kısılabilir) olarak belirtilmişse. Standart LED\'ler eski dimmerlarla iyi çalışmayabilir ve titreyebilir.',
35
+ },
36
+ {
37
+ question: 'Tüm lambayı değiştirmek mi gerekiyor?',
38
+ answer:
39
+ 'Vakaların %99\'unda hayır. Sadece ampulü aynı duy tipine (E27, E14, GU10 vb.) sahip bir LED ile değiştirmeniz yeterlidir.',
40
+ },
41
+ ];
42
+
43
+ const howToData = [
44
+ {
45
+ name: 'Işık noktalarını sayın',
46
+ text: 'Evdeki akkor veya halojen ampullerinizi kontrol edin ve watt değerlerini not edin.',
47
+ },
48
+ {
49
+ name: 'Eşdeğer LED\'i seçin',
50
+ text: 'Hesaplayıcıda mevcut ampul tipini seçin. Eşdeğer LED değerleri otomatik olarak atanacaktır.',
51
+ },
52
+ {
53
+ name: 'Kullanım saatlerini ayarlayın',
54
+ text: 'Ampullerin günde ortalama kaç saat açık kaldığını belirtin.',
55
+ },
56
+ ];
57
+
58
+ const faqSchema: WithContext<FAQPage> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'FAQPage',
61
+ mainEntity: faqData.map((item) => ({
62
+ '@type': 'Question',
63
+ name: item.question,
64
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
65
+ })),
66
+ };
67
+
68
+ const howToSchema: WithContext<HowTo> = {
69
+ '@context': 'https://schema.org',
70
+ '@type': 'HowTo',
71
+ name: title,
72
+ description,
73
+ step: howToData.map((step) => ({
74
+ '@type': 'HowToStep',
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'TRY' },
88
+ inLanguage: 'tr',
89
+ };
90
+
91
+ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
+ slug,
93
+ title,
94
+ description,
95
+ faqTitle: 'Sıkça Sorulan Sorular',
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
+ ],
108
+ howTo: howToData,
109
+ schemas: [faqSchema, howToSchema, appSchema],
110
+ seo: [
111
+ {
112
+ type: 'title',
113
+ text: 'LED ile Tasarruf Rehberi: Elektrik Faturasını Nasıl Düşürürsünüz?',
114
+ level: 2,
115
+ },
116
+ {
117
+ type: 'paragraph',
118
+ html: 'Geleneksel aydınlatmadan <strong>LED (Light Emitting Diode)</strong> teknolojisine geçiş, eviniz için en hızlı geri dönüşü olan yatırımlardan biridir. Tasarruf edilen her watt doğrudan cebinize kazanç olarak döner. 9W bir LED, 60W akkor ampul ile aynı parlaklığı <strong>%85 daha az tüketimle</strong> sunar.',
119
+ },
120
+ {
121
+ type: 'stats',
122
+ items: [
123
+ { value: '%85–90', label: 'Enerji Tasarrufu', icon: 'mdi:lightning-bolt' },
124
+ { value: '25.000s', label: 'LED Ömrü', icon: 'mdi:clock-outline' },
125
+ { value: '< 4 ay', label: 'Amortisman', icon: 'mdi:calendar-check' },
126
+ ],
127
+ columns: 3,
128
+ },
129
+ {
130
+ type: 'comparative',
131
+ items: [
132
+ {
133
+ title: 'Akkor Aydınlatma',
134
+ description: 'Isı yoluyla ışık üreten 20. yüzyıl teknolojisi. Enerjinin %95\'i ısı olarak boşa gider.',
135
+ icon: 'mdi:lightbulb-outline',
136
+ points: ['%95 ısı kaybı', 'Ömür: 1.000 saat', 'Yüksek işletme maliyeti'],
137
+ },
138
+ {
139
+ title: 'Modern LED Teknolojisi',
140
+ description: 'Güncel enerji verimliliği standardı. Anında tam parlaklık ve düşük ısı yayılımı.',
141
+ icon: 'mdi:led-outline',
142
+ points: ['%85–90 doğrudan tasarruf', 'Ömür: 25.000–50.000 saat', 'Minimum ısı yayılımı'],
143
+ },
144
+ ],
145
+ columns: 2,
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Tasarrufun Arkasındaki Fizik',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
+ html: 'Akkor ampul enerjinin sadece %5\'ini ışığa dönüştürür. LED\'ler ise yarı iletkenler yardımıyla çok daha yüksek verimlilik sunar. <strong>Watt değerine değil, lümene bakın:</strong> eski bir 60W ampul 800 lm verir; bugün bu ışığı 8-9W LED ile alabilirsiniz.',
155
+ },
156
+ {
157
+ type: 'diagnostic',
158
+ variant: 'info',
159
+ title: 'Hızlı Değişim Tablosu',
160
+ icon: 'mdi:table',
161
+ badge: 'Referans',
162
+ 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
+ },
164
+ {
165
+ type: 'summary',
166
+ title: 'Paranın Ötesinde LED Avantajları',
167
+ items: [
168
+ 'Aşırı uzun ömür: 15 yılı aşkın kullanım süresi.',
169
+ 'Anında %100 parlaklık, bekleme süresi yok.',
170
+ 'Düşük ısı: Yazın klima yükünü azaltır.',
171
+ 'Cıva içermez, daha kolay geri dönüştürülür.',
172
+ 'E27, E14 gibi mevcut tüm duy tipleriyle uyumlu.',
173
+ ],
174
+ },
175
+ ],
176
+ ui: {
177
+ sectionTitle: 'Ev Yapılandırması',
178
+ labelBulbs: 'Değiştirilecek ampul sayısı',
179
+ unitBulbs: 'adet',
180
+ labelType: 'Şu anki ampul tipi',
181
+ labelHours: 'Günde kaç saat açık?',
182
+ labelPrice: 'Elektrik fiyatı',
183
+ unitPrice: '₺/kWh',
184
+ resultBadge: 'Gerçek tasarruf hesabı',
185
+ labelAnnual: 'Yıllık kazancınız',
186
+ labelMonthly: 'Aylık',
187
+ labelEfficiency: 'Verimlilik',
188
+ labelCo2: 'CO2 ayak izi azalımı',
189
+ unitLess: '% daha az',
190
+ currencySign: '₺',
191
+ btnInc60Title: 'Akkor',
192
+ btnInc60Sub: 'Klasik (60W)',
193
+ btnInc40Title: 'Akkor',
194
+ btnInc40Sub: 'Küçük (40W)',
195
+ btnInc100Title: 'Akkor',
196
+ btnInc100Sub: 'Büyük (100W)',
197
+ btnHalo50Title: 'Halojen',
198
+ btnHalo50Sub: 'Spot (50W)',
199
+ usageNever: 'Neredeyse hiç',
200
+ usageLow: 'Az kullanım',
201
+ usageNormal: 'Normal kullanım',
202
+ usageModerate: 'Orta seviye',
203
+ usageHeavy: 'Yoğun kullanım',
204
+ usagePro: 'Profesyonel kullanım',
205
+ usageVeryHeavy: 'Çok yoğun',
206
+ usageAlways: 'Sürekli açık',
207
+ },
208
+ };
@@ -0,0 +1,208 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { LedSavingCalculatorUI } from '../ui';
4
+
5
+ const slug = 'led-saving-calculator';
6
+ const title = 'LED节电与省钱计算器';
7
+ const description =
8
+ '计算将传统灯泡更换为LED后,您可以节省多少钱和电量。发现您的精确年省钱金额、月省钱金额及CO2减排量。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'LED灯泡到底能省多少钱?',
13
+ answer:
14
+ '与白热灯相比,LED灯泡可节省80%至90%的能源。例如,将60W灯泡更换为9W,可在保持相同亮度的同时,将电费支出降至最低。',
15
+ },
16
+ {
17
+ question: '更换LED灯泡的成本多久能回本?',
18
+ answer:
19
+ '由于LED目前的成本较低且节能效果显著,在正常使用情况下,投资通常在不到4个月内就能收回。如果灯开启时间很长,回本速度会更快。',
20
+ },
21
+ {
22
+ question: '如果我换一个瓦数更大的LED灯泡会怎样?',
23
+ answer:
24
+ 'LED产生的热量非常少,因此您可以在以前受热量限制的灯具中安装更高流明的LED灯泡,只要符合灯座的电气限制即可。',
25
+ },
26
+ {
27
+ question: 'LED寿命真的有包装盒上说的那么长吗?',
28
+ answer:
29
+ '优质LED的寿命在15,000到50,000小时之间。在每天平均使用4小时的家庭中,这意味着一个灯泡可以使用超过15年。',
30
+ },
31
+ {
32
+ question: '我可以在带调光器的灯具上使用LED吗?',
33
+ answer:
34
+ '仅当灯泡明确标注为“可调光”(Dimmable)时。标准LED在旧式调光器上表现不佳,可能会出现闪烁或嗡嗡声。',
35
+ },
36
+ {
37
+ question: '需要更换整个灯具吗?',
38
+ answer:
39
+ '在99%的情况下,不需要。您只需将灯泡更换为具有相同灯头(E27、E14、GU10等)的LED灯泡即可。',
40
+ },
41
+ ];
42
+
43
+ const howToData = [
44
+ {
45
+ name: '清点灯泡数量',
46
+ text: '检查家里有多少个白热灯或卤素灯泡,并记录它们的功率(瓦数)。',
47
+ },
48
+ {
49
+ name: '选择等效 LED',
50
+ text: '在计算器中选择当前灯泡类型。系统会自动分配对应的 LED 等效值。',
51
+ },
52
+ {
53
+ name: '设定使用时间',
54
+ text: '输入每天灯泡平均开启的小时数。',
55
+ },
56
+ ];
57
+
58
+ const faqSchema: WithContext<FAQPage> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'FAQPage',
61
+ mainEntity: faqData.map((item) => ({
62
+ '@type': 'Question',
63
+ name: item.question,
64
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
65
+ })),
66
+ };
67
+
68
+ const howToSchema: WithContext<HowTo> = {
69
+ '@context': 'https://schema.org',
70
+ '@type': 'HowTo',
71
+ name: title,
72
+ description,
73
+ step: howToData.map((step) => ({
74
+ '@type': 'HowToStep',
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'CNY' },
88
+ inLanguage: 'zh',
89
+ };
90
+
91
+ export const content: ToolLocaleContent<LedSavingCalculatorUI> = {
92
+ slug,
93
+ title,
94
+ description,
95
+ faqTitle: '常见问题',
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
+ ],
108
+ howTo: howToData,
109
+ schemas: [faqSchema, howToSchema, appSchema],
110
+ seo: [
111
+ {
112
+ type: 'title',
113
+ text: 'LED节能指南:如何大幅削减您的电费支出',
114
+ level: 2,
115
+ },
116
+ {
117
+ type: 'paragraph',
118
+ html: '将传统照明更换为 <strong>LED (发光二极管)</strong> 技术是家庭投资中回报最快、最明显的举措之一。您节省的每一瓦电都直接转化为账单上的金额。一个 9W 的 LED 灯泡能提供与 60W 白热灯相同的亮度,但 <strong>能耗降低了 85%</strong>。',
119
+ },
120
+ {
121
+ type: 'stats',
122
+ items: [
123
+ { value: '85–90%', label: '能源节省率', icon: 'mdi:lightning-bolt' },
124
+ { value: '25,000h', label: 'LED 寿命', icon: 'mdi:clock-outline' },
125
+ { value: '< 4 个月', label: '投资回本周期', icon: 'mdi:calendar-check' },
126
+ ],
127
+ columns: 3,
128
+ },
129
+ {
130
+ type: 'comparative',
131
+ items: [
132
+ {
133
+ title: '白热灯照明',
134
+ description: '基于灯丝加热的 20 世纪技术。95% 的能量以热量的形式浪费了。',
135
+ icon: 'mdi:lightbulb-outline',
136
+ points: ['95% 能量以热量浪费', '寿命:约 1,000 小时', '运行成本极高'],
137
+ },
138
+ {
139
+ title: '现代 LED 技术',
140
+ description: '当前的家庭节能标准。即开即亮,热量排放极低。',
141
+ icon: 'mdi:led-outline',
142
+ points: ['85–90% 直接节能', '寿命:25,000–50,000 小时', '发热量极低'],
143
+ },
144
+ ],
145
+ columns: 2,
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: '节能背后的科学',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
+ html: '白热灯只将 5% 的电能转化为光。而 LED 通过半导体直接将电能转化为光,效率极高。<strong>不要只看瓦数,要看流明:</strong> 旧的 60W 泡提供约 800 lm;现在用 8-9W 的 LED 就能实现。',
155
+ },
156
+ {
157
+ type: 'diagnostic',
158
+ variant: 'info',
159
+ title: '快速等效表',
160
+ icon: 'mdi:table',
161
+ badge: '参考',
162
+ 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
+ },
164
+ {
165
+ type: 'summary',
166
+ title: 'LED 除省钱外的优势',
167
+ items: [
168
+ '超长寿命:正常使用下可超过 15 年。',
169
+ '即开即亮:瞬间达到 100% 亮度。',
170
+ '低发热:夏天可减轻空调负担。',
171
+ '绿色环保:无汞及有害气体。',
172
+ '兼容性强:适用于大多数现有灯座。',
173
+ ],
174
+ },
175
+ ],
176
+ ui: {
177
+ sectionTitle: '家庭配置',
178
+ labelBulbs: '要更换的灯泡数量',
179
+ unitBulbs: '个',
180
+ labelType: '当前灯泡类型',
181
+ labelHours: '每天使用时长',
182
+ labelPrice: '电费单价',
183
+ unitPrice: '元/kWh',
184
+ resultBadge: '真实节能计算',
185
+ labelAnnual: '每年省钱金额',
186
+ labelMonthly: '每月',
187
+ labelEfficiency: '节能比例',
188
+ labelCo2: '二氧化碳减排量',
189
+ unitLess: '% 减少',
190
+ currencySign: '¥',
191
+ btnInc60Title: '白热灯',
192
+ btnInc60Sub: '经典 (60W)',
193
+ btnInc40Title: '白热灯',
194
+ btnInc40Sub: '小型 (40W)',
195
+ btnInc100Title: '白热灯',
196
+ btnInc100Sub: '大型 (100W)',
197
+ btnHalo50Title: '卤素灯',
198
+ btnHalo50Sub: '射灯 (50W)',
199
+ usageNever: '几乎不用',
200
+ usageLow: '较少使用',
201
+ usageNormal: '正常使用',
202
+ usageModerate: '中度使用',
203
+ usageHeavy: '频繁使用',
204
+ usagePro: '专业级别使用',
205
+ usageVeryHeavy: '极高频使用',
206
+ usageAlways: '常亮',
207
+ },
208
+ };
@@ -7,20 +7,29 @@ import type { LedSavingCalculatorUI } from './ui';
7
7
 
8
8
  export type LedSavingCalculatorLocaleContent = ToolLocaleContent<LedSavingCalculatorUI>;
9
9
 
10
- import { content as es } from './i18n/es';
11
- import { content as en } from './i18n/en';
12
- import { content as fr } from './i18n/fr';
13
10
 
14
11
  export const ledSavingCalculator: HomeToolEntry<LedSavingCalculatorUI> = {
15
12
  id: 'led-saving-calculator',
16
13
  icons: {
17
14
  bg: 'mdi:lightbulb-on',
18
- fg: 'mdi:lightning-bolt',
15
+ fg: 'mdi:piggy-bank',
19
16
  },
20
17
  i18n: {
21
- es: async () => es,
22
- en: async () => en,
23
- fr: async () => fr,
18
+ de: async () => (await import('./i18n/de')).content,
19
+ en: async () => (await import('./i18n/en')).content,
20
+ es: async () => (await import('./i18n/es')).content,
21
+ fr: async () => (await import('./i18n/fr')).content,
22
+ id: async () => (await import('./i18n/id')).content,
23
+ it: async () => (await import('./i18n/it')).content,
24
+ ja: async () => (await import('./i18n/ja')).content,
25
+ ko: async () => (await import('./i18n/ko')).content,
26
+ nl: async () => (await import('./i18n/nl')).content,
27
+ pl: async () => (await import('./i18n/pl')).content,
28
+ pt: async () => (await import('./i18n/pt')).content,
29
+ ru: async () => (await import('./i18n/ru')).content,
30
+ sv: async () => (await import('./i18n/sv')).content,
31
+ tr: async () => (await import('./i18n/tr')).content,
32
+ zh: async () => (await import('./i18n/zh')).content,
24
33
  },
25
34
  };
26
35