@jjlmoya/utils-converters 1.25.0 → 1.26.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 (133) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/en.ts +1 -1
  4. package/src/category/i18n/fr.ts +1 -1
  5. package/src/category/i18n/id.ts +1 -1
  6. package/src/category/i18n/it.ts +1 -1
  7. package/src/category/i18n/nl.ts +1 -1
  8. package/src/category/i18n/pl.ts +1 -1
  9. package/src/category/i18n/pt.ts +1 -1
  10. package/src/category/i18n/sv.ts +1 -1
  11. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  12. package/src/tests/category_seo_quality.test.ts +74 -0
  13. package/src/tests/faq_count.test.ts +1 -1
  14. package/src/tests/no_h1_in_components.test.ts +1 -1
  15. package/src/tests/seo_parity.test.ts +2 -2
  16. package/src/tests/seo_wellformed_export.test.ts +65 -0
  17. package/src/tests/tool_validation.test.ts +15 -15
  18. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  19. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  22. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  24. package/src/tool/avifAJpg/seo.astro +15 -15
  25. package/src/tool/avifAPng/i18n/en.ts +164 -164
  26. package/src/tool/avifAPng/i18n/es.ts +164 -164
  27. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  28. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  29. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  30. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  31. package/src/tool/avifAPng/seo.astro +15 -15
  32. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  33. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  36. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  38. package/src/tool/avifAWebp/seo.astro +15 -15
  39. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  40. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  43. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  45. package/src/tool/bmpAJpg/seo.astro +15 -15
  46. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  47. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  50. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  52. package/src/tool/bmpAPng/seo.astro +15 -15
  53. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  54. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  57. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  59. package/src/tool/bmpAWebp/seo.astro +15 -15
  60. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  61. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  64. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  66. package/src/tool/gifAJpg/seo.astro +15 -15
  67. package/src/tool/gifAPng/i18n/en.ts +164 -164
  68. package/src/tool/gifAPng/i18n/es.ts +164 -164
  69. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  70. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  71. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  72. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  73. package/src/tool/gifAPng/seo.astro +15 -15
  74. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  75. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  78. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  80. package/src/tool/gifAWebp/seo.astro +15 -15
  81. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  82. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  84. package/src/tool/imagenBase64/seo.astro +15 -15
  85. package/src/tool/jpgAIco/seo.astro +15 -15
  86. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  87. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  90. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  92. package/src/tool/jpgAPng/seo.astro +15 -15
  93. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  94. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  96. package/src/tool/jpgAWebp/seo.astro +15 -15
  97. package/src/tool/pngAIco/seo.astro +15 -15
  98. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  99. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  100. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  101. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  102. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  104. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  105. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  106. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  108. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  109. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  110. package/src/tool/pngAJpg/seo.astro +15 -15
  111. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  112. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  114. package/src/tool/pngAWebp/seo.astro +15 -15
  115. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  116. package/src/tool/svgAJpg/seo.astro +15 -15
  117. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  118. package/src/tool/svgAPng/seo.astro +15 -15
  119. package/src/tool/webpAIco/seo.astro +15 -15
  120. package/src/tool/webpAJpg/seo.astro +15 -15
  121. package/src/tool/webpAPng/bibliography.ts +13 -13
  122. package/src/tool/webpAPng/i18n/de.ts +166 -166
  123. package/src/tool/webpAPng/i18n/es.ts +171 -171
  124. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  125. package/src/tool/webpAPng/i18n/id.ts +166 -166
  126. package/src/tool/webpAPng/i18n/it.ts +166 -166
  127. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  128. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  130. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  131. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  132. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  133. package/src/tool/webpAPng/seo.astro +15 -15
@@ -1,177 +1,177 @@
1
- import { bibliography } from '../bibliography';
2
- import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
- import { generateSchemas } from '../../../shared/logic/schemas';
4
- import type { PngAJpgLocaleContent } from '../index';
5
-
6
- const slug = 'konverter-png-v-jpg';
7
- const title = 'Конвертировать PNG в JPG Онлайн';
8
- const description =
9
- 'Мгновенно конвертируйте ваши PNG-изображения в быстро сжимаемый формат JPG прямо на вашем компьютере. Без загрузки фотографий в интернет. Пакетная оптимизация.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Перетащите файлы PNG...',
13
- convertText: 'Чтобы мгновенно конвертировать их в JPG',
14
- selectFiles: 'Выбрать файлы',
15
- processedFiles: 'Обработанные файлы',
16
- downloadAll: 'Скачать всё (.zip)',
17
- pending: 'В ожидании',
18
- bibliographyTitle: 'Библиографические ссылки',
19
- faqTitle: 'Часто задаваемые вопросы',
20
- };
21
-
22
- const faq: PngAJpgLocaleContent['faq'] = [
23
- {
24
- "question": "Почему стоит выбрать наш локальный конвертер PNG в JPG?",
25
- "answer": "В отличие от обычных онлайн-сервисов, наша утилита обрабатывает файлы прямо в вашем браузере. Ваши изображения никогда не передаются на сторонние серверы."
26
- },
27
- {
28
- "question": "JPG или PNG: какой формат лучше выбрать?",
29
- "answer": "PNG идеален для логотипов и графики с прозрачностью. JPG - стандарт для фотографий и веб-баннеров, обеспечивающий меньший размер файла."
30
- },
31
- {
32
- "question": "Как работает конвертация без загрузки на сервер?",
33
- "answer": "Мы используем технологии HTML5 Canvas. Браузер воссоздает изображение на виртуальном холсте, заполняет прозрачность белым цветом и генерирует файл JPG."
34
- },
35
- {
36
- "question": "Безопасно ли это для конфиденциальных документов?",
37
- "answer": "Да, это самый безопасный вариант. Обработка происходит в оперативной памяти вашего устройства, и все данные удаляются при закрытии вкладки."
38
- }
39
- ];
40
-
41
- const howTo: PngAJpgLocaleContent['howTo'] = [
42
- {
43
- name: 'Выбор файлов',
44
- text: 'Подготовьте файлы PNG в папке и перетащите их все вместе в область обработки или найдите их с помощью проводника.',
45
- },
46
- {
47
- name: 'Мгновенная обработка',
48
- text: 'Убедитесь, что статус изменится на \"Готово\" для каждого файла, пока браузер оптимизирует размер локально.',
49
- },
50
- {
51
- name: 'Оптимизированное скачивание',
52
- text: 'Сохраняйте новые JPG по одному или используйте кнопку \"Скачать всё\", чтобы получить сжатый ZIP-архив со всеми изображениями.',
53
- },
54
- ];
55
-
56
- const seo: PngAJpgLocaleContent['seo'] = [
57
- {
58
- "type": "title",
59
- "text": "Конвертер PNG в JPG: Руководство по оптимизации изображений",
60
- "level": 2
61
- },
62
- {
63
- "type": "paragraph",
64
- "html": "Преобразование изображений из PNG в JPG прямо в вашем браузере для ускорения загрузки сайтов."
65
- },
66
- {
67
- "type": "title",
68
- "text": "Сравнение JPG и PNG",
69
- "level": 3
70
- },
71
- {
72
- "type": "paragraph",
73
- "html": "PNG сохраняет прозрачность, но имеет большой размер. JPG обеспечивает высокую степень сжатия."
74
- },
75
- {
76
- "type": "paragraph",
77
- "html": "Конвертация в JPG - лучший способ уменьшить вес фото без видимой потери качества."
78
- },
79
- {
80
- "type": "title",
81
- "text": "Сравнение локальной обработки и облака",
82
- "level": 3
83
- },
84
- {
85
- "type": "comparative",
86
- "items": [
87
- {
88
- "title": "Облачные сервисы",
89
- "description": "Загружают файлы на сторонние серверы.",
90
- "icon": "mdi:cloud-upload",
91
- "pointIcon": "mdi:close-circle-outline",
92
- "points": [
93
- "Задержки сети",
94
- "Риск утечки данных",
95
- "Ограничение по размеру",
96
- "Реклама"
97
- ]
98
- },
99
- {
100
- "title": "Наш локальный конвертер",
101
- "description": "Прямая обработка в браузере с помощью HTML5 Canvas.",
102
- "icon": "mdi:laptop-mac",
103
- "highlight": true,
104
- "points": [
105
- "Мгновенная скорость",
106
- "Полная конфиденциальность (0 байт передано)",
107
- "Без ограничений",
108
- "Чистый интерфейс"
109
- ]
110
- }
111
- ]
112
- },
113
- {
114
- "type": "title",
115
- "text": "Как работает локальная конвертация",
116
- "level": 3
117
- },
118
- {
119
- "type": "paragraph",
120
- "html": "Браузер создает объект Blob в оперативной памяти и отрисовывает изображение на холсте Canvas."
121
- },
122
- {
123
- "type": "paragraph",
124
- "html": "Прозрачный фон заменяется белым, после чего генерируется готовый поток байтов JPG."
125
- },
126
- {
127
- "type": "tip",
128
- "title": "SEO совет",
129
- "html": "Уменьшение размера фотографий улучшает показатели PageSpeed и LCP."
130
- },
131
- {
132
- "type": "title",
133
- "text": "Безопасность данных",
134
- "level": 3
135
- },
136
- {
137
- "type": "paragraph",
138
- "html": "Идеальное решение для конфиденциальных документов: данные уничтожаются при закрытии вкладки."
139
- },
140
- {
141
- "type": "title",
142
- "text": "Совместимость",
143
- "level": 3
144
- },
145
- {
146
- "type": "list",
147
- "icon": "mdi:check-circle",
148
- "items": [
149
- "Все операционные системы",
150
- "Социальные сети",
151
- "Офисные программы",
152
- "CMS системы"
153
- ]
154
- },
155
- {
156
- "type": "title",
157
- "text": "Заключение",
158
- "level": 3
159
- },
160
- {
161
- "type": "paragraph",
162
- "html": "Конвертация любых ваших изображений из формата PNG в JPG - это наиболее эффективный и проверенный способ существенно оптимизировать скорость загрузки страниц вашего сайта, уменьшить расход мобильного интернет-трафика и сберечь свободное дисковое пространство вашего устройства. Это особенно актуально для крупных фотогалерей, интернет-магазинов, портфолио и блогов, где высокая скорость загрузки контента играет определяющую роль в поисковом продвижении SEO, увеличении конверсии посетителей и улучшении пользовательского опыта. Благодаря использованию современных локальных технологий веб-браузера, процесс обработки и сжатия ваших графических файлов происходит с максимальной возможной скоростью и полным сохранением абсолютной конфиденциальности. Ваши исходные изображения и итоговые файлы никогда не передаются на сторонние серверы."
163
- }
164
- ];
165
-
166
-
167
- export const content: PngAJpgLocaleContent = {
168
- slug,
169
- title,
170
- description,
171
- ui,
172
- seo,
173
- faq,
174
- bibliography,
175
- howTo,
176
- schemas: generateSchemas({ title, description, inLanguage: 'ru', faq, howTo }),
177
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
+ import { generateSchemas } from '../../../shared/logic/schemas';
4
+ import type { PngAJpgLocaleContent } from '../index';
5
+
6
+ const slug = 'konverter-png-v-jpg';
7
+ const title = 'Конвертировать PNG в JPG Онлайн';
8
+ const description =
9
+ 'Мгновенно конвертируйте ваши PNG-изображения в быстро сжимаемый формат JPG прямо на вашем компьютере. Без загрузки фотографий в интернет. Пакетная оптимизация.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Перетащите файлы PNG...',
13
+ convertText: 'Чтобы мгновенно конвертировать их в JPG',
14
+ selectFiles: 'Выбрать файлы',
15
+ processedFiles: 'Обработанные файлы',
16
+ downloadAll: 'Скачать всё (.zip)',
17
+ pending: 'В ожидании',
18
+ bibliographyTitle: 'Библиографические ссылки',
19
+ faqTitle: 'Часто задаваемые вопросы',
20
+ };
21
+
22
+ const faq: PngAJpgLocaleContent['faq'] = [
23
+ {
24
+ "question": "Почему стоит выбрать наш локальный конвертер PNG в JPG?",
25
+ "answer": "В отличие от обычных онлайн-сервисов, наша утилита обрабатывает файлы прямо в вашем браузере. Ваши изображения никогда не передаются на сторонние серверы."
26
+ },
27
+ {
28
+ "question": "JPG или PNG: какой формат лучше выбрать?",
29
+ "answer": "PNG идеален для логотипов и графики с прозрачностью. JPG - стандарт для фотографий и веб-баннеров, обеспечивающий меньший размер файла."
30
+ },
31
+ {
32
+ "question": "Как работает конвертация без загрузки на сервер?",
33
+ "answer": "Мы используем технологии HTML5 Canvas. Браузер воссоздает изображение на виртуальном холсте, заполняет прозрачность белым цветом и генерирует файл JPG."
34
+ },
35
+ {
36
+ "question": "Безопасно ли это для конфиденциальных документов?",
37
+ "answer": "Да, это самый безопасный вариант. Обработка происходит в оперативной памяти вашего устройства, и все данные удаляются при закрытии вкладки."
38
+ }
39
+ ];
40
+
41
+ const howTo: PngAJpgLocaleContent['howTo'] = [
42
+ {
43
+ name: 'Выбор файлов',
44
+ text: 'Подготовьте файлы PNG в папке и перетащите их все вместе в область обработки или найдите их с помощью проводника.',
45
+ },
46
+ {
47
+ name: 'Мгновенная обработка',
48
+ text: 'Убедитесь, что статус изменится на \"Готово\" для каждого файла, пока браузер оптимизирует размер локально.',
49
+ },
50
+ {
51
+ name: 'Оптимизированное скачивание',
52
+ text: 'Сохраняйте новые JPG по одному или используйте кнопку \"Скачать всё\", чтобы получить сжатый ZIP-архив со всеми изображениями.',
53
+ },
54
+ ];
55
+
56
+ const seo: PngAJpgLocaleContent['seo'] = [
57
+ {
58
+ "type": "title",
59
+ "text": "Конвертер PNG в JPG: Руководство по оптимизации изображений",
60
+ "level": 2
61
+ },
62
+ {
63
+ "type": "paragraph",
64
+ "html": "Преобразование изображений из PNG в JPG прямо в вашем браузере для ускорения загрузки сайтов."
65
+ },
66
+ {
67
+ "type": "title",
68
+ "text": "Сравнение JPG и PNG",
69
+ "level": 3
70
+ },
71
+ {
72
+ "type": "paragraph",
73
+ "html": "PNG сохраняет прозрачность, но имеет большой размер. JPG обеспечивает высокую степень сжатия."
74
+ },
75
+ {
76
+ "type": "paragraph",
77
+ "html": "Конвертация в JPG - лучший способ уменьшить вес фото без видимой потери качества."
78
+ },
79
+ {
80
+ "type": "title",
81
+ "text": "Сравнение локальной обработки и облака",
82
+ "level": 3
83
+ },
84
+ {
85
+ "type": "comparative",
86
+ "items": [
87
+ {
88
+ "title": "Облачные сервисы",
89
+ "description": "Загружают файлы на сторонние серверы.",
90
+ "icon": "mdi:cloud-upload",
91
+ "pointIcon": "mdi:close-circle-outline",
92
+ "points": [
93
+ "Задержки сети",
94
+ "Риск утечки данных",
95
+ "Ограничение по размеру",
96
+ "Реклама"
97
+ ]
98
+ },
99
+ {
100
+ "title": "Наш локальный конвертер",
101
+ "description": "Прямая обработка в браузере с помощью HTML5 Canvas.",
102
+ "icon": "mdi:laptop-mac",
103
+ "highlight": true,
104
+ "points": [
105
+ "Мгновенная скорость",
106
+ "Полная конфиденциальность (0 байт передано)",
107
+ "Без ограничений",
108
+ "Чистый интерфейс"
109
+ ]
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "type": "title",
115
+ "text": "Как работает локальная конвертация",
116
+ "level": 3
117
+ },
118
+ {
119
+ "type": "paragraph",
120
+ "html": "Браузер создает объект Blob в оперативной памяти и отрисовывает изображение на холсте Canvas."
121
+ },
122
+ {
123
+ "type": "paragraph",
124
+ "html": "Прозрачный фон заменяется белым, после чего генерируется готовый поток байтов JPG."
125
+ },
126
+ {
127
+ "type": "tip",
128
+ "title": "SEO совет",
129
+ "html": "Уменьшение размера фотографий улучшает показатели PageSpeed и LCP."
130
+ },
131
+ {
132
+ "type": "title",
133
+ "text": "Безопасность данных",
134
+ "level": 3
135
+ },
136
+ {
137
+ "type": "paragraph",
138
+ "html": "Идеальное решение для конфиденциальных документов: данные уничтожаются при закрытии вкладки."
139
+ },
140
+ {
141
+ "type": "title",
142
+ "text": "Совместимость",
143
+ "level": 3
144
+ },
145
+ {
146
+ "type": "list",
147
+ "icon": "mdi:check-circle",
148
+ "items": [
149
+ "Все операционные системы",
150
+ "Социальные сети",
151
+ "Офисные программы",
152
+ "CMS системы"
153
+ ]
154
+ },
155
+ {
156
+ "type": "title",
157
+ "text": "Заключение",
158
+ "level": 3
159
+ },
160
+ {
161
+ "type": "paragraph",
162
+ "html": "Конвертация любых ваших изображений из формата PNG в JPG - это наиболее эффективный и проверенный способ существенно оптимизировать скорость загрузки страниц вашего сайта, уменьшить расход мобильного интернет-трафика и сберечь свободное дисковое пространство вашего устройства. Это особенно актуально для крупных фотогалерей, интернет-магазинов, портфолио и блогов, где высокая скорость загрузки контента играет определяющую роль в поисковом продвижении SEO, увеличении конверсии посетителей и улучшении пользовательского опыта. Благодаря использованию современных локальных технологий веб-браузера, процесс обработки и сжатия ваших графических файлов происходит с максимальной возможной скоростью и полным сохранением абсолютной конфиденциальности. Ваши исходные изображения и итоговые файлы никогда не передаются на сторонние серверы."
163
+ }
164
+ ];
165
+
166
+
167
+ export const content: PngAJpgLocaleContent = {
168
+ slug,
169
+ title,
170
+ description,
171
+ ui,
172
+ seo,
173
+ faq,
174
+ bibliography,
175
+ howTo,
176
+ schemas: generateSchemas({ title, description, inLanguage: 'ru', faq, howTo }),
177
+ };
@@ -19,27 +19,27 @@ const ui: ImageConverterUI = {
19
19
  faqTitle: 'Vanliga Frågor',
20
20
  };
21
21
 
22
- const faq: PngAJpgLocaleContent['faq'] = [
23
- {
22
+ const faq: PngAJpgLocaleContent['faq'] = [
23
+ {
24
24
  question: 'Varför välja vår lokala PNG till JPG-konverterare?',
25
- answer:
25
+ answer:
26
26
  'Till skillnad från vanliga tjänster behandlar verktyget filerna helt i webbläsaren. Bilderna skickas aldrig till en fjärrdisk, så du behåller kontrollen och dataskyddet.',
27
- },
28
- {
27
+ },
28
+ {
29
29
  question: 'JPG eller PNG: vilket format passar bäst?',
30
- answer:
30
+ answer:
31
31
  'PNG passar för logotyper och genomskinliga element. JPG är bättre för foton och webbbanners eftersom filerna blir mycket mindre och sidorna laddas snabbare.',
32
- },
33
- {
32
+ },
33
+ {
34
34
  question: 'Hur fungerar konverteringen utan uppladdning?',
35
- answer:
35
+ answer:
36
36
  'Vi använder HTML5 Canvas. Webbläsaren återskapar bilden på en osynlig virtuell yta, fyller genomskinliga områden med vitt och skapar JPEG-data direkt för nedladdning.',
37
- },
38
- {
37
+ },
38
+ {
39
39
  question: 'Är verktyget säkert för konfidentiella dokument?',
40
- answer:
40
+ answer:
41
41
  'Ja. För bank-, vård- och juridiska dokument är lokal behandling säkrare: filerna stannar i enhetens RAM och försvinner när fliken stängs.',
42
- },
42
+ },
43
43
  ];
44
44
 
45
45
  const howTo: PngAJpgLocaleContent['howTo'] = [
@@ -57,114 +57,114 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
57
57
  },
58
58
  ];
59
59
 
60
- const seo: PngAJpgLocaleContent['seo'] = [
61
- {
62
- type: 'title',
60
+ const seo: PngAJpgLocaleContent['seo'] = [
61
+ {
62
+ type: 'title',
63
63
  text: 'Konvertera PNG till JPG: praktisk guide för bildoptimering',
64
- level: 2,
65
- },
66
- {
67
- type: 'paragraph',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
68
  html: 'Inom digital design och webbutveckling är snabbhet viktig. PNG bevarar transparens och förlustfri kvalitet, men filerna kan bli stora. JPG passar när webbsidor och bilagor behöver laddas snabbt.',
69
- },
70
- {
71
- type: 'title',
69
+ },
70
+ {
71
+ type: 'title',
72
72
  text: 'JPG eller PNG: vad ska du välja?',
73
- level: 3,
74
- },
75
- {
76
- type: 'paragraph',
73
+ level: 3,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
77
  html: 'Det finns inget format som är bäst i alla situationer. PNG passar gränssnitt, logotyper och transparens, men förlustfri komprimering kan ge betydligt större filer.',
78
- },
79
- {
80
- type: 'paragraph',
78
+ },
79
+ {
80
+ type: 'paragraph',
81
81
  html: 'JPG tar bort detaljer som ögat knappt märker och ger lätta bilder. Det passar foton, banners och sociala medier när snabb överföring är viktigare än perfekt pixeldata.',
82
- },
83
- {
84
- type: 'title',
82
+ },
83
+ {
84
+ type: 'title',
85
85
  text: 'Teknisk jämförelse: lokalt eller i molnet',
86
- level: 3,
87
- },
88
- {
89
- type: 'comparative',
90
- items: [
91
- {
86
+ level: 3,
87
+ },
88
+ {
89
+ type: 'comparative',
90
+ items: [
91
+ {
92
92
  title: 'Molnbaserade konverterare',
93
93
  description: 'Traditionella tjänster som laddar upp dina bilder till en fjärrserver.',
94
- icon: 'mdi:cloud-upload',
95
- pointIcon: 'mdi:close-circle-outline',
96
- points: [
94
+ icon: 'mdi:cloud-upload',
95
+ pointIcon: 'mdi:close-circle-outline',
96
+ points: [
97
97
  'Nätverksfördröjning (uppladdning/nedladdning)',
98
98
  'Risk för läckta privata data',
99
99
  'Storleksgränser per fil',
100
100
  'Reklam och spårare',
101
- ],
102
- },
103
- {
101
+ ],
102
+ },
103
+ {
104
104
  title: 'Vår lokala arkitektur',
105
105
  description: 'Direkt behandling på din enhet med vanlig JavaScript.',
106
- icon: 'mdi:laptop-mac',
107
- highlight: true,
108
- points: [
106
+ icon: 'mdi:laptop-mac',
107
+ highlight: true,
108
+ points: [
109
109
  'Omedelbar hastighet utan nätverk',
110
110
  'Garanterad integritet (noll byte skickas)',
111
111
  'Ingen MB-gräns per fil',
112
112
  'Rent och professionellt gränssnitt',
113
- ],
114
- },
115
- ],
116
- },
117
- {
118
- type: 'title',
113
+ ],
114
+ },
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
119
  text: 'Så fungerar den tekniska konverteringen',
120
- level: 3,
121
- },
122
- {
123
- type: 'paragraph',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
124
  html: 'Konverteringen utan server använder moderna webbläsar-API:er. När du väljer en fil skapas en tillfällig Blob i RAM-minnet och ritas på en osynlig HTML5 Canvas.',
125
- },
126
- {
127
- type: 'paragraph',
125
+ },
126
+ {
127
+ type: 'paragraph',
128
128
  html: 'JPG stöder inte transparens, så genomskinliga områden fylls med vitt före rendering. Canvas skapar sedan JPEG-data som sparas direkt på enheten.',
129
- },
130
- {
131
- type: 'tip',
129
+ },
130
+ {
131
+ type: 'tip',
132
132
  title: 'SEO tips för rätt filstorlek',
133
133
  html: 'En lättare bild kan förbättra LCP och PageSpeed. Att göra en stor PNG till en mindre JPG är särskilt användbart i sidhuvuden och bildrika sidor.',
134
- },
135
- {
136
- type: 'title',
134
+ },
135
+ {
136
+ type: 'title',
137
137
  text: 'Säkerhet för företag och yrkesverksamma',
138
- level: 3,
139
- },
140
- {
141
- type: 'paragraph',
138
+ level: 3,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
142
  html: 'För bank, vård och juridik kan uppladdning till externa tjänster innebära risker. Här sker behandlingen i webbläsarens RAM utan att filerna skickas till molnet.',
143
- },
144
- {
145
- type: 'title',
143
+ },
144
+ {
145
+ type: 'title',
146
146
  text: 'Resultatets kompatibilitet',
147
- level: 3,
148
- },
149
- {
150
- type: 'list',
151
- icon: 'mdi:check-circle',
152
- items: [
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'list',
151
+ icon: 'mdi:check-circle',
152
+ items: [
153
153
  'Bildvisare i Windows, macOS och mobila enheter.',
154
154
  'Sociala nätverk (Instagram, LinkedIn med flera).',
155
155
  'Kontorsverktyg (Word, PowerPoint).',
156
156
  'Innehållshanterare (WordPress, Shopify).',
157
- ],
158
- },
159
- {
160
- type: 'title',
157
+ ],
158
+ },
159
+ {
160
+ type: 'title',
161
161
  text: 'Slutsats: optimera med kontroll',
162
- level: 3,
163
- },
164
- {
165
- type: 'paragraph',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
166
  html: 'Konverteraren kombinerar snabbhet och integritet. Oavsett om du utvecklar webben eller använder verktyget hemma kan du minska bilder utan att lämna över filerna till en tredje part.',
167
- },
167
+ },
168
168
  ];
169
169
 
170
170