@jjlmoya/utils-nature 1.3.0 → 1.5.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 (70) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +110 -0
  3. package/src/category/i18n/id.ts +110 -0
  4. package/src/category/i18n/it.ts +110 -0
  5. package/src/category/i18n/ja.ts +110 -0
  6. package/src/category/i18n/ko.ts +110 -0
  7. package/src/category/i18n/nl.ts +110 -0
  8. package/src/category/i18n/pl.ts +110 -0
  9. package/src/category/i18n/pt.ts +110 -0
  10. package/src/category/i18n/ru.ts +110 -0
  11. package/src/category/i18n/sv.ts +110 -0
  12. package/src/category/i18n/tr.ts +110 -0
  13. package/src/category/i18n/zh.ts +110 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/i18n_coverage.test.ts +36 -0
  16. package/src/tests/slug_language_code_format.test.ts +23 -0
  17. package/src/tests/slug_uniqueness.test.ts +81 -0
  18. package/src/tests/tool_validation.test.ts +1 -2
  19. package/src/tool/cricketThermometer/i18n/de.ts +181 -0
  20. package/src/tool/cricketThermometer/i18n/id.ts +181 -0
  21. package/src/tool/cricketThermometer/i18n/it.ts +181 -0
  22. package/src/tool/cricketThermometer/i18n/ja.ts +181 -0
  23. package/src/tool/cricketThermometer/i18n/ko.ts +181 -0
  24. package/src/tool/cricketThermometer/i18n/nl.ts +181 -0
  25. package/src/tool/cricketThermometer/i18n/pl.ts +181 -0
  26. package/src/tool/cricketThermometer/i18n/pt.ts +181 -0
  27. package/src/tool/cricketThermometer/i18n/ru.ts +181 -0
  28. package/src/tool/cricketThermometer/i18n/sv.ts +181 -0
  29. package/src/tool/cricketThermometer/i18n/tr.ts +181 -0
  30. package/src/tool/cricketThermometer/i18n/zh.ts +181 -0
  31. package/src/tool/cricketThermometer/index.ts +15 -7
  32. package/src/tool/digitalCarbon/i18n/de.ts +235 -0
  33. package/src/tool/digitalCarbon/i18n/id.ts +235 -0
  34. package/src/tool/digitalCarbon/i18n/it.ts +235 -0
  35. package/src/tool/digitalCarbon/i18n/ja.ts +235 -0
  36. package/src/tool/digitalCarbon/i18n/ko.ts +235 -0
  37. package/src/tool/digitalCarbon/i18n/nl.ts +235 -0
  38. package/src/tool/digitalCarbon/i18n/pl.ts +235 -0
  39. package/src/tool/digitalCarbon/i18n/pt.ts +235 -0
  40. package/src/tool/digitalCarbon/i18n/ru.ts +235 -0
  41. package/src/tool/digitalCarbon/i18n/sv.ts +235 -0
  42. package/src/tool/digitalCarbon/i18n/tr.ts +235 -0
  43. package/src/tool/digitalCarbon/i18n/zh.ts +235 -0
  44. package/src/tool/digitalCarbon/index.ts +15 -7
  45. package/src/tool/rainHarvester/i18n/de.ts +185 -0
  46. package/src/tool/rainHarvester/i18n/id.ts +185 -0
  47. package/src/tool/rainHarvester/i18n/it.ts +185 -0
  48. package/src/tool/rainHarvester/i18n/ja.ts +185 -0
  49. package/src/tool/rainHarvester/i18n/ko.ts +185 -0
  50. package/src/tool/rainHarvester/i18n/nl.ts +185 -0
  51. package/src/tool/rainHarvester/i18n/pl.ts +185 -0
  52. package/src/tool/rainHarvester/i18n/pt.ts +185 -0
  53. package/src/tool/rainHarvester/i18n/ru.ts +185 -0
  54. package/src/tool/rainHarvester/i18n/sv.ts +185 -0
  55. package/src/tool/rainHarvester/i18n/tr.ts +185 -0
  56. package/src/tool/rainHarvester/i18n/zh.ts +185 -0
  57. package/src/tool/rainHarvester/index.ts +15 -7
  58. package/src/tool/seedCalculator/i18n/de.ts +213 -0
  59. package/src/tool/seedCalculator/i18n/id.ts +213 -0
  60. package/src/tool/seedCalculator/i18n/it.ts +213 -0
  61. package/src/tool/seedCalculator/i18n/ja.ts +213 -0
  62. package/src/tool/seedCalculator/i18n/ko.ts +213 -0
  63. package/src/tool/seedCalculator/i18n/nl.ts +213 -0
  64. package/src/tool/seedCalculator/i18n/pl.ts +213 -0
  65. package/src/tool/seedCalculator/i18n/pt.ts +213 -0
  66. package/src/tool/seedCalculator/i18n/ru.ts +213 -0
  67. package/src/tool/seedCalculator/i18n/sv.ts +213 -0
  68. package/src/tool/seedCalculator/i18n/tr.ts +213 -0
  69. package/src/tool/seedCalculator/i18n/zh.ts +213 -0
  70. package/src/tool/seedCalculator/index.ts +15 -7
@@ -0,0 +1,235 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { DigitalCarbonLocaleContent } from '../index';
3
+
4
+ const slug = 'kalkulator-jejak-karbon-digital';
5
+ const title = 'Kalkulator Jejak Karbon Digital';
6
+ const description = 'Analisis dampak lingkungan dari halaman web mana pun. Perkirakan konsumsi energi dan emisi CO₂ per kunjungan.';
7
+
8
+ const faqData = [
9
+ {
10
+ question: 'Apa itu jejak karbon situs web?',
11
+ answer: 'Ini adalah jumlah gas rumah kaca, terutama CO₂, yang dilepaskan ke atmosfer sebagai hasil dari energi yang dikonsumsi oleh server, jaringan transmisi, dan perangkat pengguna untuk memuat dan merender halaman web.',
12
+ },
13
+ {
14
+ question: 'Bagaimana dampak situs web diukur?',
15
+ answer: 'Biasanya diukur dalam gram setara CO₂ (gCO₂e) per kunjungan. Situs web yang efisien memancarkan kurang dari 0,2g CO₂, sementara halaman yang tidak dioptimalkan dapat melebihi 2 atau 3g per pemuatan.',
16
+ },
17
+ {
18
+ question: 'Mengapa internet mencemari lingkungan?',
19
+ answer: 'Karena semua infrastruktur yang diperlukan (pusat data, kabel bawah laut, router WiFi, ponsel cerdas) dijalankan dengan listrik yang, di sebagian besar dunia, masih berasal dari pembakaran batu bara atau gas.',
20
+ },
21
+ {
22
+ question: 'Bagaimana saya bisa mengurangi CO₂ situs web saya?',
23
+ answer: 'Cara paling efektif adalah dengan mengurangi berat halaman: optimalkan gambar (WebP), minifikasi file CSS dan JS, gunakan lazy loading, dan pilih penyedia hosting yang menggunakan energi terbarukan.',
24
+ },
25
+ ];
26
+
27
+ const howToData = [
28
+ {
29
+ name: 'Masukkan URL',
30
+ text: 'Ketik alamat web halaman yang ingin Anda analisis ke dalam kolom input.',
31
+ },
32
+ {
33
+ name: 'Mulai analisis',
34
+ text: 'Klik tombol analisis untuk membiarkan alat kami memperkirakan berat sumber daya halaman.',
35
+ },
36
+ {
37
+ name: 'Tinjau peringkat Anda',
38
+ text: 'Dapatkan nilai A+ hingga F berdasarkan efisiensi energi dari situs web yang dianalisis.',
39
+ },
40
+ {
41
+ name: 'Terapkan perbaikan',
42
+ text: 'Gunakan daftar tips yang dipersonalisasi untuk mengurangi berat situs dan dampak lingkungan Anda.',
43
+ },
44
+ ];
45
+
46
+ const faqSchema: WithContext<FAQPage> = {
47
+ '@context': 'https://schema.org',
48
+ '@type': 'FAQPage',
49
+ mainEntity: faqData.map((item) => ({
50
+ '@type': 'Question',
51
+ name: item.question,
52
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
53
+ })),
54
+ };
55
+
56
+ const howToSchema: WithContext<HowToThing> = {
57
+ '@context': 'https://schema.org',
58
+ '@type': 'HowTo',
59
+ name: title,
60
+ description,
61
+ step: howToData.map((step, i) => ({
62
+ '@type': 'HowToStep',
63
+ position: i + 1,
64
+ name: step.name,
65
+ text: step.text,
66
+ })),
67
+ };
68
+
69
+ const appSchema: WithContext<SoftwareApplication> = {
70
+ '@context': 'https://schema.org',
71
+ '@type': 'SoftwareApplication',
72
+ name: title,
73
+ description,
74
+ applicationCategory: 'UtilityApplication',
75
+ operatingSystem: 'All',
76
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
77
+ inLanguage: 'id',
78
+ };
79
+
80
+ export const content: DigitalCarbonLocaleContent = {
81
+ slug,
82
+ title,
83
+ description,
84
+ ui: {
85
+ headInputs: 'Penganalisis URL',
86
+ headResults: 'Hasil Dampak',
87
+ headTips: 'Tips Optimalisasi',
88
+ labelUrl: 'URL Halaman',
89
+ btnAnalyze: 'Analisis Situs Web',
90
+ btnAnalyzing: 'Menganalisis...',
91
+ placeholderUrl: 'https://contoh.com',
92
+ errorInvalidUrl: 'Silakan masukkan URL yang valid.',
93
+ errorFetchFailed: 'Tidak dapat menganalisis situs web. Coba URL lain.',
94
+
95
+ resultTitle: 'Jejak Karbon Digital',
96
+ resultSubtitle: 'Perkiraan efisiensi halaman',
97
+ co2PerVisit: 'CO₂ per kunjungan',
98
+ energyPerVisit: 'Energi yang dikonsumsi',
99
+ co2Annual: 'CO₂ Tahunan (100rb kunjungan)',
100
+ impactTitle: 'Dampak Tahunan Nyata',
101
+ impactTrees: 'Pohon yang dibutuhkan',
102
+ impactKm: 'Jarak mengemudi km (perkiraan)',
103
+ treesLabel: 'Pohon',
104
+ kmLabel: 'Kilometer',
105
+
106
+ ratingExcellent: 'Sangat Baik. Halaman ini mengonsumsi sangat sedikit energi dibandingkan dengan rata-rata global.',
107
+ ratingVeryGood: 'Efisiensi sangat baik. Halaman dioptimalkan dengan baik dan memiliki dampak minimal.',
108
+ ratingGood: 'Efisiensi yang dapat diterima. Ada ruang untuk perbaikan tetapi di bawah rata-rata.',
109
+ ratingAverage: 'Rata-rata. Halaman mengonsumsi apa yang diharapkan pada web saat ini.',
110
+ ratingPoor: 'Di atas rata-rata. Pertimbangkan untuk mengoptimalkan gambar, skrip, dan font.',
111
+ ratingVeryPoor: 'Dampak tinggi. Berat halaman signifikan dan harus dikurangi.',
112
+ ratingCritical: 'Dampak sangat tinggi. Ada peluang besar untuk mengurangi ukuran halaman.',
113
+
114
+ tipImages: 'Ubah gambar menjadi WebP atau AVIF untuk mengurangi beratnya hingga 70%.',
115
+ tipCompression: 'Aktifkan Brotli atau GZIP di server untuk mengompresi sumber daya.',
116
+ tipLazyLoading: 'Gunakan lazy loading pada gambar dan video di luar viewport.',
117
+ tipHosting: 'Pilih hosting dengan energi terbarukan (Cloudflare, Netlify, Vercel).',
118
+ tipThirdParty: 'Hapus skrip analitik yang tidak perlu dan widget pihak ketiga.',
119
+ tipFonts: 'Muat hanya tebal tipografi yang benar-benar Anda gunakan.',
120
+ tipCache: 'Konfigurasikan header cache HTTP untuk menghindari pengunduhan ulang.',
121
+ },
122
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
123
+ faq: faqData,
124
+ howTo: howToData,
125
+ bibliographyTitle: 'Referensi Keberlanjutan Web',
126
+ seo: [
127
+ {
128
+ type: 'title',
129
+ text: 'Kalkulator Jejak Karbon Digital: Berapa Banyak CO₂ yang Dihasilkan Situs Web Anda',
130
+ level: 2,
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'Temukan dampak lingkungan nyata dari halaman web mana pun. Analisis beratnya, perkirakan gram CO₂ per kunjungan, dan pelajari cara mengurangi polusi digital dari proyek-proyek Anda.',
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: 'Apa itu jejak karbon digital sebuah situs web?',
139
+ level: 2,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: 'Setiap kali Anda membuka halaman web, perangkat Anda, router rumah, kabel bawah laut, dan server di sisi lain dunia mengonsumsi listrik. Listrik tersebut sebagian besar masih dihasilkan dengan membakar bahan bakar fosil. Hasilnya: jumlah nyata <strong>CO₂ yang dilepaskan ke atmosfer untuk setiap kunjungan</strong>.',
144
+ },
145
+ {
146
+ type: 'paragraph',
147
+ html: '<strong>Jejak karbon digital</strong> sebuah situs web diukur dalam gram setara CO₂ (gCO₂e) per kunjungan. Situs web rata-rata menghasilkan sekitar 0,5g CO₂ per pemuatan. Meskipun tampak tidak signifikan, situs dengan 100.000 kunjungan bulanan dapat memancarkan lebih dari 600kg CO₂ per tahun, setara dengan mengendarai mobil bensin lebih dari 3.000 km.',
148
+ },
149
+ {
150
+ type: 'title',
151
+ text: 'Bagaimana CO₂ situs web dihitung?',
152
+ level: 2,
153
+ },
154
+ {
155
+ type: 'paragraph',
156
+ html: 'Model perhitungan yang digunakan didasarkan pada standar <strong>Sustainable Web Design Model</strong>, yang membagi konsumsi energi menjadi empat segmen utama:',
157
+ },
158
+ {
159
+ type: 'card',
160
+ title: 'Transfer Data',
161
+ html: 'Berat total halaman menentukan berapa gigabyte yang ditransfer. Standarnya mempertimbangkan <code>0,81 kWh/GB</code> untuk infrastruktur jaringan.',
162
+ },
163
+ {
164
+ type: 'card',
165
+ title: 'Perangkat Pengguna',
166
+ html: 'Komputer atau ponsel yang menerima halaman mengonsumsi energi. Diperkirakan <code>0,52 kWh/GB</code> data yang diproses.',
167
+ },
168
+ {
169
+ type: 'card',
170
+ title: 'Intensitas Karbon',
171
+ html: 'Nilai referensi global sebesar <code>442 gCO₂/kWh</code> digunakan untuk mengubah konsumsi energi menjadi emisi karbon nyata.',
172
+ },
173
+ {
174
+ type: 'card',
175
+ title: 'Faktor Caching',
176
+ html: 'Model ini menerapkan faktor <code>0,75</code> dengan asumsi bahwa 25% pengguna sudah memiliki sumber daya yang di-cache.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'Apa arti peringkat efisiensi?',
181
+ level: 2,
182
+ },
183
+ {
184
+ type: 'list',
185
+ items: [
186
+ '<strong>A+ dan A:</strong> Kurang dari 0,2g CO₂. Situs yang sangat ringan dan dioptimalkan.',
187
+ '<strong>B:</strong> Antara 0,2 dan 0,5g. Di bawah rata-rata global.',
188
+ '<strong>C:</strong> Antara 0,5 dan 1g. Rata-rata untuk web saat ini.',
189
+ '<strong>D dan E:</strong> Antara 1 dan 4g. Halaman berat dengan dampak yang relevan.',
190
+ '<strong>F:</strong> Lebih dari 4g per kunjungan. Dampak sangat tinggi.',
191
+ ],
192
+ },
193
+ {
194
+ type: 'title',
195
+ text: 'Cara mengurangi jejak karbon situs web Anda',
196
+ level: 2,
197
+ },
198
+ {
199
+ type: 'card',
200
+ title: 'Optimalisasi Gambar',
201
+ html: 'Gunakan format seperti <strong>WebP atau AVIF</strong> untuk mengurangi ukuran hingga 80% tanpa kehilangan kualitas yang terlihat.',
202
+ },
203
+ {
204
+ type: 'card',
205
+ title: 'Kompresi Server',
206
+ html: 'Mengaktifkan <strong>Brotli atau GZIP</strong> mengurangi ukuran file teks hingga 70%.',
207
+ },
208
+ {
209
+ type: 'card',
210
+ title: 'Hosting Berkelanjutan',
211
+ html: 'Memilih penyedia dengan <strong>energi terbarukan bersertifikat</strong> dapat mengurangi dampak hingga hampir 100%.',
212
+ },
213
+ {
214
+ type: 'card',
215
+ title: 'Cache dan CDN',
216
+ html: 'Konfigurasikan <strong>header cache yang panjang</strong> untuk menghindari pengunduhan ulang yang tidak perlu.',
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Dampak nyata internet terhadap iklim',
221
+ level: 2,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'Internet mewakili antara <strong>2% dan 4% emisi CO₂ global</strong>, angka yang sebanding dengan industri penerbangan. Setiap kilobyte yang Anda hilangkan tidak hanya membuat situs web Anda lebih cepat: ia mengurangi polusi digital secara terukur.',
226
+ },
227
+ ],
228
+ bibliography: [
229
+ { name: 'Sustainable Web Design Model', url: 'https://sustainablewebdesign.org/' },
230
+ { name: 'Website Carbon Calculator', url: 'https://www.websitecarbon.com/' },
231
+ { name: 'The Green Web Foundation', url: 'https://www.thegreenwebfoundation.org/' },
232
+ { name: 'W3C - Web Sustainability Guidelines', url: 'https://w3c.github.io/sustyweb/' },
233
+ ],
234
+ schemas: [faqSchema, howToSchema, appSchema],
235
+ };
@@ -0,0 +1,235 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { DigitalCarbonLocaleContent } from '../index';
3
+
4
+ const slug = 'calcolatore-impronta-carbonio-digitale';
5
+ const title = 'Calcolatore dell\'Impronta di Carbonio Digitale';
6
+ const description = 'Analizza l\'impatto ambientale di qualsiasi pagina web. Stima il consumo energetico e le emissioni di CO₂ per visita.';
7
+
8
+ const faqData = [
9
+ {
10
+ question: 'Cos\'è l\'impronta di carbonio di un sito web?',
11
+ answer: 'È la quantità di gas serra, principalmente CO₂, emessa nell\'atmosfera come risultato dell\'energia consumata dai server, dalle reti di trasmissione e dal dispositivo dell\'utente per caricare e visualizzare una pagina web.',
12
+ },
13
+ {
14
+ question: 'Come si misura l\'impatto di un sito web?',
15
+ answer: 'Viene solitamente misurato in grammi di CO₂ equivalente (gCO₂e) per visita. Un sito web efficiente emette meno di 0,2g di CO₂, mentre una pagina non ottimizzata può superare i 2 o 3g per caricamento.',
16
+ },
17
+ {
18
+ question: 'Perché internet inquina?',
19
+ answer: 'Perché tutta l\'infrastruttura necessaria (data center, cavi sottomarini, router WiFi, smartphone) funziona con elettricità che, in gran parte del mondo, proviene ancora dalla combustione di carbone o gas.',
20
+ },
21
+ {
22
+ question: 'Come posso ridurre la CO₂ del mio sito web?',
23
+ answer: 'Il modo più efficace è ridurre il peso della pagina: ottimizzare le immagini (WebP), minificare i file CSS e JS, utilizzare il lazy loading e scegliere un fornitore di hosting che utilizzi energia rinnovabile.',
24
+ },
25
+ ];
26
+
27
+ const howToData = [
28
+ {
29
+ name: 'Inserisci l\'URL',
30
+ text: 'Digita l\'indirizzo web della pagina che vuoi analizzare nel campo di input.',
31
+ },
32
+ {
33
+ name: 'Avvia l\'analisi',
34
+ text: 'Clicca sul pulsante analizza per permettere al nostro strumento di stimare il peso delle risorse della pagina.',
35
+ },
36
+ {
37
+ name: 'Controlla il tuo punteggio',
38
+ text: 'Ottieni un voto da A+ a F basato sull\'efficienza energetica del sito web analizzato.',
39
+ },
40
+ {
41
+ name: 'Applica i miglioramenti',
42
+ text: 'Usa l\'elenco di consigli personalizzati per ridurre il peso del tuo sito e il suo impatto ambientale.',
43
+ },
44
+ ];
45
+
46
+ const faqSchema: WithContext<FAQPage> = {
47
+ '@context': 'https://schema.org',
48
+ '@type': 'FAQPage',
49
+ mainEntity: faqData.map((item) => ({
50
+ '@type': 'Question',
51
+ name: item.question,
52
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
53
+ })),
54
+ };
55
+
56
+ const howToSchema: WithContext<HowToThing> = {
57
+ '@context': 'https://schema.org',
58
+ '@type': 'HowTo',
59
+ name: title,
60
+ description,
61
+ step: howToData.map((step, i) => ({
62
+ '@type': 'HowToStep',
63
+ position: i + 1,
64
+ name: step.name,
65
+ text: step.text,
66
+ })),
67
+ };
68
+
69
+ const appSchema: WithContext<SoftwareApplication> = {
70
+ '@context': 'https://schema.org',
71
+ '@type': 'SoftwareApplication',
72
+ name: title,
73
+ description,
74
+ applicationCategory: 'UtilityApplication',
75
+ operatingSystem: 'All',
76
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
77
+ inLanguage: 'it',
78
+ };
79
+
80
+ export const content: DigitalCarbonLocaleContent = {
81
+ slug,
82
+ title,
83
+ description,
84
+ ui: {
85
+ headInputs: 'Analizzatore URL',
86
+ headResults: 'Risultato impatto',
87
+ headTips: 'Consigli di ottimizzazione',
88
+ labelUrl: 'URL della pagina',
89
+ btnAnalyze: 'Analizza sito web',
90
+ btnAnalyzing: 'Analizzando...',
91
+ placeholderUrl: 'https://esempio.it',
92
+ errorInvalidUrl: 'Inserisci un URL valido.',
93
+ errorFetchFailed: 'Impossibile analizzare il sito web. Prova un altro URL.',
94
+
95
+ resultTitle: 'Impronta di carbonio digitale',
96
+ resultSubtitle: 'Efficienza stimata della pagina',
97
+ co2PerVisit: 'CO₂ per visita',
98
+ energyPerVisit: 'Energia consumata',
99
+ co2Annual: 'CO₂ annuale (100k visite)',
100
+ impactTitle: 'Impatto annuale reale',
101
+ impactTrees: 'Alberi necessari',
102
+ impactKm: 'km percorsi in auto (circa)',
103
+ treesLabel: 'Alberi',
104
+ kmLabel: 'Chilometri',
105
+
106
+ ratingExcellent: 'Eccellente. Questa pagina consuma pochissima energia rispetto alla media globale.',
107
+ ratingVeryGood: 'Ottima efficienza. La pagina è ben ottimizzata e ha un impatto minimo.',
108
+ ratingGood: 'Efficienza accettabile. C\'è margine di miglioramento ma è sotto la media.',
109
+ ratingAverage: 'Media. La pagina consuma quanto previsto sul web attuale.',
110
+ ratingPoor: 'Sopra la media. Considera di ottimizzare immagini, script e font.',
111
+ ratingVeryPoor: 'Alto impatto. Il peso della pagina è significativo e dovrebbe essere ridotto.',
112
+ ratingCritical: 'Impatto molto alto. C\'è una grande opportunità per ridurre le dimensioni della pagina.',
113
+
114
+ tipImages: 'Converti le immagini in WebP o AVIF per ridurne il peso fino al 70%.',
115
+ tipCompression: 'Abilita Brotli o GZIP sul server per comprimere le risorse.',
116
+ tipLazyLoading: 'Usa il lazy loading per immagini e video fuori dal viewport.',
117
+ tipHosting: 'Scegli un hosting con energia rinnovabile (Cloudflare, Netlify, Vercel).',
118
+ tipThirdParty: 'Rimuovi script di analisi non necessari e widget di terze parti.',
119
+ tipFonts: 'Carica solo i pesi tipografici che usi effettivamente.',
120
+ tipCache: 'Configura gli header della cache HTTP per evitare nuovi download.',
121
+ },
122
+ faqTitle: 'Domande Frequenti',
123
+ faq: faqData,
124
+ howTo: howToData,
125
+ bibliographyTitle: 'Riferimenti alla sostenibilità web',
126
+ seo: [
127
+ {
128
+ type: 'title',
129
+ text: 'Calcolatore Impronta di Carbonio Digitale: quanta CO₂ genera il tuo sito web',
130
+ level: 2,
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'Scopri il reale impatto ambientale di qualsiasi pagina web. Analizza il suo peso, stima i grammi di CO₂ per visita e impara come ridurre l\'inquinamento digitale dei tuoi progetti.',
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: 'Cos\'è l\'impronta di carbonio digitale di un sito web?',
139
+ level: 2,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: 'Ogni volta che apri una pagina web, il tuo dispositivo, il router di casa, i cavi sottomarini e i server dall\'altra parte del mondo consumano elettricità. Tale elettricità è ancora in gran parte generata bruciando combustibili fossili. Il risultato: una quantità reale di <strong>CO₂ emessa nell\'atmosfera per ogni visita</strong>.',
144
+ },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'L\'<strong>impronta di carbonio digitale</strong> di un sito web si misura in grammi di CO₂ equivalente (gCO₂e) per visita. Un sito web medio genera circa 0,5g di CO₂ per caricamento. Anche se sembra insignificante, un sito con 100.000 visite mensili può emettere più di 600kg di CO₂ all\'anno, l\'equivalente di guidare un\'auto a benzina per più di 3.000 km.',
148
+ },
149
+ {
150
+ type: 'title',
151
+ text: 'Come si calcola la CO₂ di un sito web?',
152
+ level: 2,
153
+ },
154
+ {
155
+ type: 'paragraph',
156
+ html: 'Il modello di calcolo utilizzato si basa sugli standard del <strong>Sustainable Web Design Model</strong>, che divide il consumo energetico in quattro segmenti principali:',
157
+ },
158
+ {
159
+ type: 'card',
160
+ title: 'Trasferimento dati',
161
+ html: 'Il peso totale della pagina determina quanti gigabyte vengono trasferiti. Lo standard considera <code>0,81 kWh/GB</code> per l\'infrastruttura di rete.',
162
+ },
163
+ {
164
+ type: 'card',
165
+ title: 'Dispositivo utente',
166
+ html: 'Il computer o il cellulare che riceve la pagina consuma energia. Si stima un consumo di <code>0,52 kWh/GB</code> di dati elaborati.',
167
+ },
168
+ {
169
+ type: 'card',
170
+ title: 'Intensità di carbonio',
171
+ html: 'Viene utilizzato il valore di riferimento globale di <code>442 gCO₂/kWh</code> per convertire il consumo energetico in emissioni reali di carbonio.',
172
+ },
173
+ {
174
+ type: 'card',
175
+ title: 'Fattore di caching',
176
+ html: 'Il modello applica un fattore di <code>0,75</code> supponendo che il 25% degli utenti abbia già le risorse in cache.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'Cosa significa la valutazione di efficienza?',
181
+ level: 2,
182
+ },
183
+ {
184
+ type: 'list',
185
+ items: [
186
+ '<strong>A+ e A:</strong> Meno di 0,2g di CO₂. Siti molto leggeri e ottimizzati.',
187
+ '<strong>B:</strong> Tra 0,2 e 0,5g. Sotto la media globale.',
188
+ '<strong>C:</strong> Tra 0,5 e 1g. La media per il web attuale.',
189
+ '<strong>D e E:</strong> Tra 1 e 4g. Pagine pesanti con impatto rilevante.',
190
+ '<strong>F:</strong> Più di 4g per visita. Impatto molto alto.',
191
+ ],
192
+ },
193
+ {
194
+ type: 'title',
195
+ text: 'Come ridurre l\'impronta di carbonio del tuo sito web',
196
+ level: 2,
197
+ },
198
+ {
199
+ type: 'card',
200
+ title: 'Ottimizzazione immagini',
201
+ html: 'Usa formati come <strong>WebP o AVIF</strong> per ridurre le dimensioni fino all\'80% senza perdite di qualità evidenti.',
202
+ },
203
+ {
204
+ type: 'card',
205
+ title: 'Compressione server',
206
+ html: 'Abilitare <strong>Brotli o GZIP</strong> riduce la dimensione dei file di testo fino al 70%.',
207
+ },
208
+ {
209
+ type: 'card',
210
+ title: 'Hosting sostenibile',
211
+ html: 'Scegliere un provider con <strong>energia rinnovabile certificata</strong> può ridurre l\'impatto quasi del 100%.',
212
+ },
213
+ {
214
+ type: 'card',
215
+ title: 'Cache e CDN',
216
+ html: 'Configura <strong>header di cache lunghi</strong> per evitare download non necessari.',
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Il reale impatto di internet sul clima',
221
+ level: 2,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'Internet rappresenta tra il <strong>2% e il 4% delle emissioni globali di CO₂</strong>, una cifra paragonabile all\'industria dell\'aviazione. Ogni kilobyte rimosso non solo rende il tuo sito più veloce: riduce in modo misurabile l\'inquinamento digitale.',
226
+ },
227
+ ],
228
+ bibliography: [
229
+ { name: 'Sustainable Web Design Model', url: 'https://sustainablewebdesign.org/' },
230
+ { name: 'Website Carbon Calculator', url: 'https://www.websitecarbon.com/' },
231
+ { name: 'The Green Web Foundation', url: 'https://www.thegreenwebfoundation.org/' },
232
+ { name: 'W3C - Web Sustainability Guidelines', url: 'https://w3c.github.io/sustyweb/' },
233
+ ],
234
+ schemas: [faqSchema, howToSchema, appSchema],
235
+ };