@jjlmoya/utils-nature 1.2.0 → 1.4.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 (59) hide show
  1. package/package.json +2 -1
  2. package/src/index.ts +4 -4
  3. package/src/tests/i18n_coverage.test.ts +36 -0
  4. package/src/tests/slug_uniqueness.test.ts +81 -0
  5. package/src/tests/tool_validation.test.ts +1 -2
  6. package/src/tool/cricketThermometer/i18n/de.ts +181 -0
  7. package/src/tool/cricketThermometer/i18n/id.ts +181 -0
  8. package/src/tool/cricketThermometer/i18n/it.ts +181 -0
  9. package/src/tool/cricketThermometer/i18n/ja.ts +181 -0
  10. package/src/tool/cricketThermometer/i18n/ko.ts +181 -0
  11. package/src/tool/cricketThermometer/i18n/nl.ts +181 -0
  12. package/src/tool/cricketThermometer/i18n/pl.ts +181 -0
  13. package/src/tool/cricketThermometer/i18n/pt.ts +181 -0
  14. package/src/tool/cricketThermometer/i18n/ru.ts +181 -0
  15. package/src/tool/cricketThermometer/i18n/sv.ts +181 -0
  16. package/src/tool/cricketThermometer/i18n/tr.ts +181 -0
  17. package/src/tool/cricketThermometer/i18n/zh.ts +181 -0
  18. package/src/tool/cricketThermometer/index.ts +15 -7
  19. package/src/tool/digitalCarbon/i18n/de.ts +235 -0
  20. package/src/tool/digitalCarbon/i18n/id.ts +235 -0
  21. package/src/tool/digitalCarbon/i18n/it.ts +235 -0
  22. package/src/tool/digitalCarbon/i18n/ja.ts +235 -0
  23. package/src/tool/digitalCarbon/i18n/ko.ts +235 -0
  24. package/src/tool/digitalCarbon/i18n/nl.ts +235 -0
  25. package/src/tool/digitalCarbon/i18n/pl.ts +235 -0
  26. package/src/tool/digitalCarbon/i18n/pt.ts +235 -0
  27. package/src/tool/digitalCarbon/i18n/ru.ts +235 -0
  28. package/src/tool/digitalCarbon/i18n/sv.ts +235 -0
  29. package/src/tool/digitalCarbon/i18n/tr.ts +235 -0
  30. package/src/tool/digitalCarbon/i18n/zh.ts +235 -0
  31. package/src/tool/digitalCarbon/index.ts +15 -7
  32. package/src/tool/digitalCarbon/seo.astro +4 -3
  33. package/src/tool/rainHarvester/i18n/de.ts +185 -0
  34. package/src/tool/rainHarvester/i18n/id.ts +185 -0
  35. package/src/tool/rainHarvester/i18n/it.ts +185 -0
  36. package/src/tool/rainHarvester/i18n/ja.ts +185 -0
  37. package/src/tool/rainHarvester/i18n/ko.ts +185 -0
  38. package/src/tool/rainHarvester/i18n/nl.ts +185 -0
  39. package/src/tool/rainHarvester/i18n/pl.ts +185 -0
  40. package/src/tool/rainHarvester/i18n/pt.ts +185 -0
  41. package/src/tool/rainHarvester/i18n/ru.ts +185 -0
  42. package/src/tool/rainHarvester/i18n/sv.ts +185 -0
  43. package/src/tool/rainHarvester/i18n/tr.ts +185 -0
  44. package/src/tool/rainHarvester/i18n/zh.ts +185 -0
  45. package/src/tool/rainHarvester/index.ts +15 -7
  46. package/src/tool/rainHarvester/seo.astro +4 -3
  47. package/src/tool/seedCalculator/i18n/de.ts +213 -0
  48. package/src/tool/seedCalculator/i18n/id.ts +213 -0
  49. package/src/tool/seedCalculator/i18n/it.ts +213 -0
  50. package/src/tool/seedCalculator/i18n/ja.ts +213 -0
  51. package/src/tool/seedCalculator/i18n/ko.ts +213 -0
  52. package/src/tool/seedCalculator/i18n/nl.ts +213 -0
  53. package/src/tool/seedCalculator/i18n/pl.ts +213 -0
  54. package/src/tool/seedCalculator/i18n/pt.ts +213 -0
  55. package/src/tool/seedCalculator/i18n/ru.ts +213 -0
  56. package/src/tool/seedCalculator/i18n/sv.ts +213 -0
  57. package/src/tool/seedCalculator/i18n/tr.ts +213 -0
  58. package/src/tool/seedCalculator/i18n/zh.ts +213 -0
  59. 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 = 'calculadora-pegada-carbono-digital';
5
+ const title = 'Calculadora de Pegada de Carbono Digital';
6
+ const description = 'Analise o impacto ambiental de qualquer página web. Estime o consumo de energia e as emissões de CO₂ por visita.';
7
+
8
+ const faqData = [
9
+ {
10
+ question: 'O quê é a pegada de carbono de um website?',
11
+ answer: 'É a quantidade de gases de efeito estufa, principalmente CO₂, emitidos para a atmosfera como resultado da energia consumida pelos servidores, redes de transmissão e pelo dispositivo do utilizador para carregar e renderizar uma página web.',
12
+ },
13
+ {
14
+ question: 'Como se mede o impacto de um website?',
15
+ answer: 'É normalmente medido em gramas de CO₂ equivalente (gCO₂e) por visita. Um website eficiente emite menos de 0,2g de CO₂, enquanto uma página não otimizada pode exceder 2 ou 3g por carregamento.',
16
+ },
17
+ {
18
+ question: 'Por que é que a internet polui?',
19
+ answer: 'Porque toda a infraestrutura necessária (centros de dados, cabos submarinos, routers WiFi, smartphones) funciona com eletricidade que, em grande parte do mundo, ainda provém da queima de carvão ou gás.',
20
+ },
21
+ {
22
+ question: 'Como posso reduzir o CO₂ do meu website?',
23
+ answer: 'A forma mais eficaz é reduzir o peso da página: otimizar imagens (WebP), minificar ficheiros CSS e JS, usar lazy loading e escolher um fornecedor de alojamento que utilize energia renovável.',
24
+ },
25
+ ];
26
+
27
+ const howToData = [
28
+ {
29
+ name: 'Introduza o URL',
30
+ text: 'Digite o endereço web da página que deseja analisar no campo de entrada.',
31
+ },
32
+ {
33
+ name: 'Inicie a análise',
34
+ text: 'Clique no botão de análise para permitir que a nossa ferramenta estime o peso dos recursos da página.',
35
+ },
36
+ {
37
+ name: 'Reveja a sua classificação',
38
+ text: 'Obtenha uma nota de A+ a F baseada na eficiência energética do website analisado.',
39
+ },
40
+ {
41
+ name: 'Aplique melhorias',
42
+ text: 'Use a lista de dicas personalizadas para reduzir o peso do seu site e o seu impacto ambiental.',
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: 'pt',
78
+ };
79
+
80
+ export const content: DigitalCarbonLocaleContent = {
81
+ slug,
82
+ title,
83
+ description,
84
+ ui: {
85
+ headInputs: 'Analisador de URL',
86
+ headResults: 'Resultado do Impacto',
87
+ headTips: 'Dicas de Otimização',
88
+ labelUrl: 'URL da Página',
89
+ btnAnalyze: 'Analisar Website',
90
+ btnAnalyzing: 'Analisando...',
91
+ placeholderUrl: 'https://exemplo.pt',
92
+ errorInvalidUrl: 'Por favor, introduza um URL válido.',
93
+ errorFetchFailed: 'Não foi possível analisar o website. Tente outro URL.',
94
+
95
+ resultTitle: 'Pegada de Carbono Digital',
96
+ resultSubtitle: 'Eficiência estimada da página',
97
+ co2PerVisit: 'CO₂ por visita',
98
+ energyPerVisit: 'Energia consumida',
99
+ co2Annual: 'CO₂ Anual (100k visitas)',
100
+ impactTitle: 'Impacto Anual Real',
101
+ impactTrees: 'Árvores necessárias',
102
+ impactKm: 'km conduzidos (aprox.)',
103
+ treesLabel: 'Árvores',
104
+ kmLabel: 'Quilómetros',
105
+
106
+ ratingExcellent: 'Excelente. Esta página consome muito pouca energia em comparação com a média global.',
107
+ ratingVeryGood: 'Eficiência muito boa. A página está bem otimizada e tem um impacto mínimo.',
108
+ ratingGood: 'Eficiência aceitável. Há margem para melhoria, mas está abaixo da média.',
109
+ ratingAverage: 'Média. A página consome o que é esperado na web atual.',
110
+ ratingPoor: 'Acima da média. Considere otimizar imagens, scripts e fontes.',
111
+ ratingVeryPoor: 'Alto impacto. O peso da página é significativo e deve ser reduzido.',
112
+ ratingCritical: 'Impacto muito alto. Há uma excelente oportunidade para reduzir o tamanho da página.',
113
+
114
+ tipImages: 'Converta imagens para WebP ou AVIF para reduzir o seu peso até 70%.',
115
+ tipCompression: 'Ative Brotli ou GZIP no servidor para comprimir recursos.',
116
+ tipLazyLoading: 'Use lazy loading em imagens e vídeos fora do viewport.',
117
+ tipHosting: 'Escolha um alojamento com energia renovável (Cloudflare, Netlify, Vercel).',
118
+ tipThirdParty: 'Remova scripts de análise desnecessários e widgets de terceiros.',
119
+ tipFonts: 'Carregue apenas os pesos tipográficos que realmente utiliza.',
120
+ tipCache: 'Configure cabeçalhos de cache HTTP para evitar novos downloads.',
121
+ },
122
+ faqTitle: 'Perguntas Frequentes',
123
+ faq: faqData,
124
+ howTo: howToData,
125
+ bibliographyTitle: 'Referências de Sustentabilidade Web',
126
+ seo: [
127
+ {
128
+ type: 'title',
129
+ text: 'Calculadora de Pegada de Carbono Digital: Quanto CO₂ o seu Website gera',
130
+ level: 2,
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'Descubra o impacto ambiental real de qualquer página web. Analise o seu peso, estime as gramas de CO₂ por visita e aprenda como reduzir a poluição digital dos seus projetos.',
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: 'O que é a pegada de carbono digital de um website?',
139
+ level: 2,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: 'Sempre que abre uma página web, o seu dispositivo, router doméstico, cabos submarinos e servidores do outro lado do mundo consomem eletricidade. Essa eletricidade ainda é, em grande parte, gerada pela queima de combustíveis fósseis. O resultado: uma quantidade real de <strong>CO₂ emitido para a atmosfera por cada visita</strong>.',
144
+ },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'A <strong>pegada de carbono digital</strong> de um website é medida em gramas de CO₂ equivalente (gCO₂e) por visita. Um website médio gera aproximadamente 0,5g de CO₂ por carregamento. Embora pareça insignificante, um site com 100.000 visitas mensais pode emitir mais de 600kg de CO₂ por ano, o equivalente a conduzir um carro a gasolina por mais de 3.000 km.',
148
+ },
149
+ {
150
+ type: 'title',
151
+ text: 'Como é calculado o CO₂ de um website?',
152
+ level: 2,
153
+ },
154
+ {
155
+ type: 'paragraph',
156
+ html: 'O modelo de cálculo utilizado baseia-se nos padrões do <strong>Sustainable Web Design Model</strong>, que divide o consumo de energia em quatro segmentos principais:',
157
+ },
158
+ {
159
+ type: 'card',
160
+ title: 'Transferência de Dados',
161
+ html: 'O peso total da página determina quantos gigabytes são transferidos. O padrão considera <code>0,81 kWh/GB</code> para infraestrutura de rede.',
162
+ },
163
+ {
164
+ type: 'card',
165
+ title: 'Dispositivo do Utilizador',
166
+ html: 'O computador ou telemóvel que recebe a página consome energia. É estimado em <code>0,52 kWh/GB</code> de dados processados.',
167
+ },
168
+ {
169
+ type: 'card',
170
+ title: 'Intensidade de Carbono',
171
+ html: 'O valor de referência global de <code>442 gCO₂/kWh</code> é utilizado para converter o consumo de energia em emissões reais de carbono.',
172
+ },
173
+ {
174
+ type: 'card',
175
+ title: 'Factor de Cache',
176
+ html: 'O modelo aplica um factor de <code>0,75</code> assumindo que 25% dos utilizadores já têm recursos em cache.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'O que significa a classificação de eficiência?',
181
+ level: 2,
182
+ },
183
+ {
184
+ type: 'list',
185
+ items: [
186
+ '<strong>A+ e A:</strong> Menos de 0,2g de CO₂. Sites muito leves e otimizados.',
187
+ '<strong>B:</strong> Entre 0,2 e 0,5g. Abaixo da média global.',
188
+ '<strong>C:</strong> Entre 0,5 e 1g. A média para a web atual.',
189
+ '<strong>D e E:</strong> Entre 1 e 4g. Páginas pesadas com impacto relevante.',
190
+ '<strong>F:</strong> Mais de 4g por visita. Impacto muito alto.',
191
+ ],
192
+ },
193
+ {
194
+ type: 'title',
195
+ text: 'Como reduzir a pegada de carbono do seu website',
196
+ level: 2,
197
+ },
198
+ {
199
+ type: 'card',
200
+ title: 'Otimização de Imagens',
201
+ html: 'Use formatos como <strong>WebP ou AVIF</strong> para reduzir o tamanho até 80% sem perda de qualidade percetível.',
202
+ },
203
+ {
204
+ type: 'card',
205
+ title: 'Compressão do Servidor',
206
+ html: 'Ativar <strong>Brotli ou GZIP</strong> reduz o tamanho de ficheiros de texto em até 70%.',
207
+ },
208
+ {
209
+ type: 'card',
210
+ title: 'Alojamento Sustentável',
211
+ html: 'Escolher um fornecedor com <strong>energia renovável certificada</strong> pode reduzir o impacto em quase 100%.',
212
+ },
213
+ {
214
+ type: 'card',
215
+ title: 'Cache e CDN',
216
+ html: 'Configure <strong>cabeçalhos de cache longos</strong> para evitar downloads desnecessários.',
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'O impacto real da internet no clima',
221
+ level: 2,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'A internet representa entre <strong>2% e 4% das emissões globais de CO₂</strong>, um valor comparável à indústria da aviação. Cada kilobyte que elimina não torna apenas o seu website mais rápido: reduz de forma mensurável a poluição digital.',
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 = 'kalkulyator-tsifrovogo-uglerodnogo-sleda';
5
+ const title = 'Калькулятор цифрового углеродного следа';
6
+ const description = 'Проанализируйте воздействие любой веб-страницы на окружающую среду. Оцените потребление энергии и выбросы CO₂ за посещение.';
7
+
8
+ const faqData = [
9
+ {
10
+ question: 'Что такое углеродный след веб-сайта?',
11
+ answer: 'Это количество парниковых газов, в первую очередь CO₂, выбрасываемых в атмосферу в результате потребления энергии серверами, сетями передачи данных и устройством пользователя для загрузки и отображения веб-страницы.',
12
+ },
13
+ {
14
+ question: 'Как измеряется воздействие веб-сайта?',
15
+ answer: 'Обычно оно измеряется в граммах эквивалента CO₂ (gCO₂e) за посещение. Эффективный сайт выбрасывает менее 0,2 г CO₂, в то время как неоптимизированная страница может превышать 2 или 3 г за загрузку.',
16
+ },
17
+ {
18
+ question: 'Почему интернет загрязняет окружающую среду?',
19
+ answer: 'Потому что вся необходимая инфраструктура (дата-центры, подводные кабели, WiFi-роутеры, смартфоны) работает на электричестве, которое в большинстве стран мира все еще производится путем сжигания угля или газа.',
20
+ },
21
+ {
22
+ question: 'Как я могу уменьшить выбросы CO₂ моего сайта?',
23
+ answer: 'Самый эффективный способ — уменьшить вес страницы: оптимизировать изображения (WebP), минифицировать файлы CSS и JS, использовать ленивую загрузку и выбрать хостинг-провайдера, использующего возобновляемую энергию.',
24
+ },
25
+ ];
26
+
27
+ const howToData = [
28
+ {
29
+ name: 'Введите URL',
30
+ text: 'Введите веб-адрес страницы, которую вы хотите проанализировать, в поле ввода.',
31
+ },
32
+ {
33
+ name: 'Начните анализ',
34
+ text: 'Нажмите кнопку анализа, чтобы наш инструмент оценил вес ресурсов страницы.',
35
+ },
36
+ {
37
+ name: 'Проверьте свой рейтинг',
38
+ text: 'Получите оценку от A+ до F на основе энергоэффективности анализируемого веб-сайта.',
39
+ },
40
+ {
41
+ name: 'Примените улучшения',
42
+ text: 'Используйте список персонализированных советов, чтобы уменьшить вес вашего сайта и его воздействие на окружающую среду.',
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: 'ru',
78
+ };
79
+
80
+ export const content: DigitalCarbonLocaleContent = {
81
+ slug,
82
+ title,
83
+ description,
84
+ ui: {
85
+ headInputs: 'Анализатор URL',
86
+ headResults: 'Результат воздействия',
87
+ headTips: 'Советы по оптимизации',
88
+ labelUrl: 'URL страницы',
89
+ btnAnalyze: 'Анализировать сайт',
90
+ btnAnalyzing: 'Анализ...',
91
+ placeholderUrl: 'https://example.ru',
92
+ errorInvalidUrl: 'Пожалуйста, введите корректный URL.',
93
+ errorFetchFailed: 'Не удалось проанализировать сайт. Попробуйте другой URL.',
94
+
95
+ resultTitle: 'Цифровой углеродный след',
96
+ resultSubtitle: 'Оценочная эффективность страницы',
97
+ co2PerVisit: 'CO₂ за посещение',
98
+ energyPerVisit: 'Потребляемая энергия',
99
+ co2Annual: 'CO₂ в год (100к визитов)',
100
+ impactTitle: 'Реальное годовое воздействие',
101
+ impactTrees: 'Необходимо деревьев',
102
+ impactKm: 'км на авто (прим.)',
103
+ treesLabel: 'Деревьев',
104
+ kmLabel: 'Километров',
105
+
106
+ ratingExcellent: 'Отлично. Эта страница потребляет очень мало энергии по сравнению со средним мировым показателем.',
107
+ ratingVeryGood: 'Очень хорошая эффективность. Страница хорошо оптимизирована и имеет минимальное воздействие.',
108
+ ratingGood: 'Приемлемая эффективность. Есть возможности для улучшения, но показатель ниже среднего.',
109
+ ratingAverage: 'Средне. Страница потребляет столько, сколько ожидается в современном вебе.',
110
+ ratingPoor: 'Выше среднего. Подумайте об оптимизации изображений, скриптов и шрифтов.',
111
+ ratingVeryPoor: 'Высокое воздействие. Вес страницы значителен и должен быть уменьшен.',
112
+ ratingCritical: 'Очень высокое воздействие. Есть отличная возможность уменьшить размер страницы.',
113
+
114
+ tipImages: 'Преобразуйте изображения в WebP или AVIF, чтобы уменьшить их вес до 70%.',
115
+ tipCompression: 'Включите Brotli или GZIP на сервере для сжатия ресурсов.',
116
+ tipLazyLoading: 'Используйте ленивую загрузку для изображений и видео вне области видимости.',
117
+ tipHosting: 'Выберите хостинг с возобновляемой энергией (Cloudflare, Netlify, Vercel).',
118
+ tipThirdParty: 'Удалите ненужные аналитические скрипты и сторонние виджеты.',
119
+ tipFonts: 'Загружайте только те начертания шрифтов, которые вы действительно используете.',
120
+ tipCache: 'Настройте заголовки HTTP-кэша, чтобы избежать повторных загрузок.',
121
+ },
122
+ faqTitle: 'Часто задаваемые вопросы',
123
+ faq: faqData,
124
+ howTo: howToData,
125
+ bibliographyTitle: 'Источники по устойчивому развитию веба',
126
+ seo: [
127
+ {
128
+ type: 'title',
129
+ text: 'Калькулятор цифрового углеродного следа: сколько CO₂ генерирует ваш сайт',
130
+ level: 2,
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'Узнайте реальное экологическое воздействие любой веб-страницы. Проанализируйте ее вес, оцените количество граммов CO₂ за посещение и узнайте, как снизить цифровое загрязнение ваших проектов.',
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: 'Что такое цифровой углеродный след веб-сайта?',
139
+ level: 2,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: 'При каждом открытии веб-страницы ваше устройство, домашний роутер, подводные кабели и серверы на другом конце света потребляют электричество. Это электричество до сих пор в значительной степени вырабатывается путем сжигания ископаемого топлива. Результат: реальное количество <strong>CO₂, выбрасываемого в атмосферу при каждом посещении</strong>.',
144
+ },
145
+ {
146
+ type: 'paragraph',
147
+ html: '<strong>Цифровой углеродный след</strong> сайта измеряется в граммах эквивалента CO₂ (gCO₂e) за посещение. Средний сайт генерирует примерно 0,5 г CO₂ за загрузку. Хотя это кажется незначительным, сайт со 100 000 посещений в месяц может выбрасывать более 600 кг CO₂ в год, что эквивалентно поездке на бензиновом автомобиле более чем на 3 000 км.',
148
+ },
149
+ {
150
+ type: 'title',
151
+ text: 'Как рассчитывается CO₂ веб-сайта?',
152
+ level: 2,
153
+ },
154
+ {
155
+ type: 'paragraph',
156
+ html: 'Используемая модель расчета основана на стандартах <strong>Sustainable Web Design Model</strong>, которая разделяет энергопотребление на четыре основных сегмента:',
157
+ },
158
+ {
159
+ type: 'card',
160
+ title: 'Передача данных',
161
+ html: 'Общий вес страницы определяет количество передаваемых гигабайт. Стандарт учитывает <code>0,81 кВтч/ГБ</code> для сетевой инфраструктуры.',
162
+ },
163
+ {
164
+ type: 'card',
165
+ title: 'Устройство пользователя',
166
+ html: 'Компьютер или телефон, принимающий страницу, потребляет энергию. Она оценивается в <code>0,52 кВтч/ГБ</code> обработанных данных.',
167
+ },
168
+ {
169
+ type: 'card',
170
+ title: 'Углеродная интенсивность',
171
+ html: 'Глобальное эталонное значение <code>442 гCO₂/кВтч</code> используется для перевода энергопотребления в реальные выбросы углерода.',
172
+ },
173
+ {
174
+ type: 'card',
175
+ title: 'Фактор кэширования',
176
+ html: 'Модель применяет коэффициент <code>0,75</code>, предполагая, что у 25% пользователей ресурсы уже находятся в кэше.',
177
+ },
178
+ {
179
+ type: 'title',
180
+ text: 'Что означает рейтинг эффективности?',
181
+ level: 2,
182
+ },
183
+ {
184
+ type: 'list',
185
+ items: [
186
+ '<strong>A+ и A:</strong> Менее 0,2 г CO₂. Очень легкие и оптимизированные сайты.',
187
+ '<strong>B:</strong> От 0,2 до 0,5 г. Ниже среднемирового уровня.',
188
+ '<strong>C:</strong> От 0,5 до 1 г. Средний показатель для современного веба.',
189
+ '<strong>D и E:</strong> От 1 до 4 г. Тяжелые страницы со значительным воздействием.',
190
+ '<strong>F:</strong> Более 4 г за посещение. Очень высокое воздействие.',
191
+ ],
192
+ },
193
+ {
194
+ type: 'title',
195
+ text: 'Как снизить углеродный след вашего веб-сайта',
196
+ level: 2,
197
+ },
198
+ {
199
+ type: 'card',
200
+ title: 'Оптимизация изображений',
201
+ html: 'Используйте форматы <strong>WebP или AVIF</strong>, чтобы уменьшить размер до 80% без заметной потери качества.',
202
+ },
203
+ {
204
+ type: 'card',
205
+ title: 'Сжатие на сервере',
206
+ html: 'Включение <strong>Brotli или GZIP</strong> уменьшает размер текстовых файлов до 70%.',
207
+ },
208
+ {
209
+ type: 'card',
210
+ title: 'Экологичный хостинг',
211
+ html: 'Выбор провайдера с <strong>сертифицированной возобновляемой энергией</strong> может снизить воздействие почти на 100%.',
212
+ },
213
+ {
214
+ type: 'card',
215
+ title: 'Кэш и CDN',
216
+ html: 'Настройте <strong>длинные заголовки кэша</strong>, чтобы избежать ненужных повторных загрузок.',
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Реальное влияние интернета на климат',
221
+ level: 2,
222
+ },
223
+ {
224
+ type: 'paragraph',
225
+ html: 'Интернет отвечает за <strong>2-4% глобальных выбросов CO₂</strong>, что сопоставимо с авиационной промышленностью. Каждый удаленный килобайт не просто делает ваш сайт быстрее: он измеримо снижает цифровое загрязнение.',
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
+ };