@jjlmoya/utils-audiovisual 1.18.0 → 1.20.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 (95) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/fr.ts +1 -1
  4. package/src/category/i18n/ru.ts +1 -1
  5. package/src/category/index.ts +2 -0
  6. package/src/entries.ts +4 -1
  7. package/src/index.ts +1 -0
  8. package/src/tests/diacritics_density.test.ts +118 -0
  9. package/src/tests/inverted_punctuation.test.ts +84 -0
  10. package/src/tests/locale_completeness.test.ts +2 -2
  11. package/src/tests/no_en_dash.test.ts +70 -0
  12. package/src/tests/script_density.test.ts +94 -0
  13. package/src/tests/tool_validation.test.ts +2 -2
  14. package/src/tool/chromaticLens/i18n/de.ts +6 -6
  15. package/src/tool/chromaticLens/i18n/fr.ts +3 -3
  16. package/src/tool/chromaticLens/i18n/pl.ts +1 -1
  17. package/src/tool/chromaticLens/i18n/ru.ts +10 -10
  18. package/src/tool/chromaticLens/i18n/zh.ts +2 -2
  19. package/src/tool/collageMaker/i18n/de.ts +6 -6
  20. package/src/tool/collageMaker/i18n/fr.ts +4 -4
  21. package/src/tool/collageMaker/i18n/pl.ts +5 -5
  22. package/src/tool/collageMaker/i18n/ru.ts +12 -12
  23. package/src/tool/collageMaker/i18n/sv.ts +3 -3
  24. package/src/tool/collageMaker/i18n/zh.ts +1 -1
  25. package/src/tool/depthOfFieldCalculator/i18n/de.ts +3 -3
  26. package/src/tool/depthOfFieldCalculator/i18n/en.ts +7 -7
  27. package/src/tool/depthOfFieldCalculator/i18n/es.ts +2 -2
  28. package/src/tool/depthOfFieldCalculator/i18n/fr.ts +6 -6
  29. package/src/tool/depthOfFieldCalculator/i18n/id.ts +2 -2
  30. package/src/tool/depthOfFieldCalculator/i18n/it.ts +2 -2
  31. package/src/tool/depthOfFieldCalculator/i18n/ja.ts +1 -1
  32. package/src/tool/depthOfFieldCalculator/i18n/ko.ts +1 -1
  33. package/src/tool/depthOfFieldCalculator/i18n/nl.ts +2 -2
  34. package/src/tool/depthOfFieldCalculator/i18n/pl.ts +2 -2
  35. package/src/tool/depthOfFieldCalculator/i18n/pt.ts +2 -2
  36. package/src/tool/depthOfFieldCalculator/i18n/ru.ts +6 -6
  37. package/src/tool/depthOfFieldCalculator/i18n/sv.ts +2 -2
  38. package/src/tool/depthOfFieldCalculator/i18n/tr.ts +1 -1
  39. package/src/tool/depthOfFieldCalculator/i18n/zh.ts +3 -3
  40. package/src/tool/exifCleaner/i18n/de.ts +8 -8
  41. package/src/tool/exifCleaner/i18n/fr.ts +11 -11
  42. package/src/tool/exifCleaner/i18n/pl.ts +6 -6
  43. package/src/tool/exifCleaner/i18n/ru.ts +14 -14
  44. package/src/tool/exifCleaner/i18n/zh.ts +3 -3
  45. package/src/tool/imageCompressor/i18n/de.ts +16 -16
  46. package/src/tool/imageCompressor/i18n/fr.ts +8 -8
  47. package/src/tool/imageCompressor/i18n/pl.ts +1 -1
  48. package/src/tool/imageCompressor/i18n/ru.ts +9 -9
  49. package/src/tool/imageCompressor/i18n/zh.ts +1 -1
  50. package/src/tool/printQualityCalculator/component.astro +118 -110
  51. package/src/tool/printQualityCalculator/i18n/de.ts +5 -5
  52. package/src/tool/printQualityCalculator/i18n/fr.ts +11 -11
  53. package/src/tool/printQualityCalculator/i18n/pl.ts +4 -4
  54. package/src/tool/printQualityCalculator/i18n/ru.ts +11 -11
  55. package/src/tool/printQualityCalculator/i18n/zh.ts +4 -4
  56. package/src/tool/printQualityCalculator/print-quality-calculator-pixels-to-cm-dpi.css +193 -40
  57. package/src/tool/privacyBlur/i18n/de.ts +5 -5
  58. package/src/tool/privacyBlur/i18n/fr.ts +9 -9
  59. package/src/tool/privacyBlur/i18n/ru.ts +6 -6
  60. package/src/tool/subtitleSync/i18n/de.ts +1 -1
  61. package/src/tool/subtitleSync/i18n/fr.ts +9 -9
  62. package/src/tool/subtitleSync/i18n/ru.ts +6 -6
  63. package/src/tool/subtitleSync/i18n/sv.ts +4 -4
  64. package/src/tool/timelapseCalculator/i18n/fr.ts +6 -6
  65. package/src/tool/timelapseCalculator/i18n/ru.ts +3 -3
  66. package/src/tool/timelapseCalculator/i18n/zh.ts +4 -4
  67. package/src/tool/tvDistance/i18n/fr.ts +2 -2
  68. package/src/tool/tvDistance/i18n/ru.ts +9 -9
  69. package/src/tool/tvDistance/i18n/zh.ts +4 -4
  70. package/src/tool/videoFrameExtractor/i18n/fr.ts +8 -8
  71. package/src/tool/videoFrameExtractor/i18n/ru.ts +2 -2
  72. package/src/tool/videoMerger/bibliography.astro +17 -0
  73. package/src/tool/videoMerger/bibliography.ts +16 -0
  74. package/src/tool/videoMerger/component.astro +400 -0
  75. package/src/tool/videoMerger/entry.ts +51 -0
  76. package/src/tool/videoMerger/i18n/de.ts +205 -0
  77. package/src/tool/videoMerger/i18n/en.ts +205 -0
  78. package/src/tool/videoMerger/i18n/es.ts +205 -0
  79. package/src/tool/videoMerger/i18n/fr.ts +205 -0
  80. package/src/tool/videoMerger/i18n/id.ts +205 -0
  81. package/src/tool/videoMerger/i18n/it.ts +205 -0
  82. package/src/tool/videoMerger/i18n/ja.ts +205 -0
  83. package/src/tool/videoMerger/i18n/ko.ts +205 -0
  84. package/src/tool/videoMerger/i18n/nl.ts +205 -0
  85. package/src/tool/videoMerger/i18n/pl.ts +205 -0
  86. package/src/tool/videoMerger/i18n/pt.ts +205 -0
  87. package/src/tool/videoMerger/i18n/ru.ts +205 -0
  88. package/src/tool/videoMerger/i18n/sv.ts +205 -0
  89. package/src/tool/videoMerger/i18n/tr.ts +205 -0
  90. package/src/tool/videoMerger/i18n/zh.ts +205 -0
  91. package/src/tool/videoMerger/index.ts +11 -0
  92. package/src/tool/videoMerger/logic.ts +263 -0
  93. package/src/tool/videoMerger/online-video-merger.css +440 -0
  94. package/src/tool/videoMerger/seo.astro +15 -0
  95. package/src/tools.ts +2 -0
@@ -10,7 +10,7 @@ const ui: DepthOfFieldUI = {
10
10
  title: 'Alan Derinliği Hesaplama',
11
11
  paramsTitle: 'Parametreler',
12
12
  sensorLabel: 'Kamera Sensörü',
13
- moreLabel: 'Daha fazla sensör',
13
+ moreLabel: 'Daha fazla sensör...',
14
14
  apertureLabel: 'Diyafram',
15
15
  focalLabel: 'Odak Uzaklığı',
16
16
  distanceLabel: 'Obje Mesafesi',
@@ -10,7 +10,7 @@ const ui: DepthOfFieldUI = {
10
10
  title: '景深计算器',
11
11
  paramsTitle: '设定参数',
12
12
  sensorLabel: '相机传感器',
13
- moreLabel: '更多传感器…',
13
+ moreLabel: '更多传感器...',
14
14
  apertureLabel: '光圈值',
15
15
  focalLabel: '焦距',
16
16
  distanceLabel: '拍摄距离',
@@ -83,7 +83,7 @@ const seo: DepthOfFieldLocaleContent['seo'] = [
83
83
  { type: 'tip', title: '实践建议', html: '对于街头摄影,将焦点设为超焦距。在 APS-C 上使用 35mm 镜头并设置 f/8 时,超焦距约为 <strong>4 米</strong>:从 2 米到无穷远的一切都将保持清晰。' },
84
84
 
85
85
  { type: 'title', text: '传感器尺寸与弥散圆', level: 3 },
86
- { type: 'paragraph', html: '<strong>弥散圆 (CoC)</strong> 是定义“清晰度”的阈值。全画幅传感器的 CoC 为 0.030mm,而智能手机约为 0.006mm。CoC 值越小意味着清晰度要求越严格。' },
86
+ { type: 'paragraph', html: '<strong>弥散圆 (CoC)</strong> 是定义\"清晰度\"的阈值。全画幅传感器的 CoC 为 0.030mm,而智能手机约为 0.006mm。CoC 值越小意味着清晰度要求越严格。' },
87
87
  { type: 'stats', columns: 3, items: [
88
88
  { label: '全画幅', value: '0.030 mm', icon: 'mdi:camera' },
89
89
  { label: 'APS-C', value: '0.019 mm', icon: 'mdi:camera-outline' },
@@ -91,7 +91,7 @@ const seo: DepthOfFieldLocaleContent['seo'] = [
91
91
  ]},
92
92
 
93
93
  { type: 'title', text: '电影中的景深:焦距 vs. 传感器', level: 3 },
94
- { type: 'paragraph', html: '在 Super 35(接近 APS-C)上拍摄的电影人经常使用较长焦距来压缩透视,这也会收窄景深,营造出“电影感”。大光圈 85mm 是经典人像选择。' },
94
+ { type: 'paragraph', html: '在 Super 35(接近 APS-C)上拍摄的电影人经常使用较长焦距来压缩透视,这也会收窄景深,营造出\"电影感\"。大光圈 85mm 是经典人像选择。' },
95
95
  { type: 'diagnostic', variant: 'success', title: '焦点分布规律', icon: 'mdi:lightbulb-outline', badge: '专家技法', html: '对于 3 米处的主体,使用 50mm f/2.8 全画幅拍摄:主体后的清晰区域总是比主体前大,比例约为 <strong>2:1</strong>。' },
96
96
  ];
97
97
 
@@ -73,15 +73,15 @@ const seo: ExifCleanerLocaleContent['seo'] = [
73
73
  items: [
74
74
  'GPS-Koordinaten und Standort sofort aus Ihren Fotos entfernen',
75
75
  'Kameramodell, Seriennummer und technische Informationen löschen',
76
- '%100 % browserbasierte Verarbeitung Ihre Bilder verlassen niemals Ihr Gerät',
77
- 'Behält die visuelle Qualität bei nur versteckte Daten werden entfernt'
76
+ '%100 % browserbasierte Verarbeitung - Ihre Bilder verlassen niemals Ihr Gerät',
77
+ 'Behält die visuelle Qualität bei - nur versteckte Daten werden entfernt'
78
78
  ]
79
79
  },
80
80
  { type: 'title', text: 'Vollständiger Leitfaden zum Datenschutz und zu EXIF Metadaten in der digitalen Fotografie', level: 2 },
81
81
  { type: 'paragraph', html: 'Haben Sie sich jemals gefragt, wie viele persönliche Informationen Sie teilen, wenn Sie ein Foto in soziale Medien hochladen? EXIF-Metadaten sind wie ein <strong>unsichtbarer Fingerabdruck</strong>, der alles verraten kann, von Ihrem genauen Wohnort bis hin zum Preis Ihrer Fotoausrüstung. Dieser Leitfaden erklärt, wie Sie Ihre Privatsphäre effektiv schützen.' },
82
82
 
83
83
  { type: 'stats', items: [
84
- { value: '100 %', label: 'Privatsphäre Lokale Verarbeitung', icon: 'mdi:shield-check' },
84
+ { value: '100 %', label: 'Privatsphäre - Lokale Verarbeitung', icon: 'mdi:shield-check' },
85
85
  { value: '0 %', label: 'Auf Servern gespeicherte Daten', icon: 'mdi:database' },
86
86
  { value: 'Sofort', label: 'Metadaten-Entfernung', icon: 'mdi:lightning-bolt' }
87
87
  ], columns: 3 },
@@ -163,26 +163,26 @@ const seo: ExifCleanerLocaleContent['seo'] = [
163
163
 
164
164
  { type: 'proscons', items: [
165
165
  {
166
- pro: 'Absoluter Datenschutz 100 % browserbasierte Verarbeitung',
166
+ pro: 'Absoluter Datenschutz - 100 % browserbasierte Verarbeitung',
167
167
  con: 'Erfordert einen modernen Browser mit JavaScript-Unterstützung'
168
168
  },
169
169
  {
170
- pro: 'Sofort Reinigung eines Fotos dauert weniger als 1 Sekunde',
170
+ pro: 'Sofort - Reinigung eines Fotos dauert weniger als 1 Sekunde',
171
171
  con: 'Verarbeitung großer Fotos kann auf älteren Geräten langsam sein'
172
172
  },
173
173
  {
174
- pro: 'Null Qualitätsverlust entfernt nur technische Daten, keine Pixel',
174
+ pro: 'Null Qualitätsverlust - entfernt nur technische Daten, keine Pixel',
175
175
  con: 'Bearbeitet das Bild nicht (Zuschnitte, Rotationen usw.)'
176
176
  },
177
177
  {
178
- pro: 'Völlig kostenlos ohne Limits unbegrenzt Fotos verarbeiten',
178
+ pro: 'Völlig kostenlos ohne Limits - unbegrenzt Fotos verarbeiten',
179
179
  con: 'Kein Premium-Support oder Cloud-Speicher'
180
180
  }
181
181
  ], proTitle: 'Hauptvorteile', conTitle: 'Einschränkungen' },
182
182
 
183
183
  { type: 'tip', title: 'Tipp zur digitalen Sicherheit', html: '<strong>Reinigen Sie Ihre Fotos BEVOR sie</strong> in sozialen Netzwerken gepostet werden. Selbst wenn Sie einen Post löschen, könnten Metadaten bereits von Suchmaschinen oder Archiven indexiert worden sein. Vorsorge ist besser als Nachsorge. Machen Sie es sich zur Gewohnheit: <br><br><em>Foto → EXIF reinigen → Posten</em>' },
184
184
 
185
- { type: 'diagnostic', variant: 'warning', title: 'Reale Risiken bei fehlender Reinigung', icon: 'mdi:alert-circle', badge: 'Kritische Sicherheit', html: '<strong>Dokumentierte Fälle:</strong><br>- Eltern posten Fotos von Kindern Täter verfolgten GPS<br>- Reisende Fotografen Häuser wurden während ihrer Abwesenheit ausgeraubt<br>- Influencer Wohnorte wurden von obsessiven Fans identifiziert<br><br>Das ist keine Paranoia: Es ist grundlegende digitale Hygiene im Jahr 2026.' },
185
+ { type: 'diagnostic', variant: 'warning', title: 'Reale Risiken bei fehlender Reinigung', icon: 'mdi:alert-circle', badge: 'Kritische Sicherheit', html: '<strong>Dokumentierte Fälle:</strong><br>- Eltern posten Fotos von Kindern - Täter verfolgten GPS<br>- Reisende Fotografen - Häuser wurden während ihrer Abwesenheit ausgeraubt<br>- Influencer - Wohnorte wurden von obsessiven Fans identifiziert<br><br>Das ist keine Paranoia: Es ist grundlegende digitale Hygiene im Jahr 2026.' },
186
186
 
187
187
  { type: 'glossary', items: [
188
188
  {
@@ -4,7 +4,7 @@ import type { ExifCleanerUI, ExifCleanerLocaleContent } from '../index';
4
4
 
5
5
  const slug = 'nettoyeur-metadonnees-exif-supprimer-gps-confidentialite-photo';
6
6
  const title = 'Nettoyeur de Métadonnées EXIF: Supprimez le GPS et les Données Cachées';
7
- const description = 'Outil en ligne gratuit pour effacer les métadonnées EXIF, les coordonnées GPS et les caractéristiques de l\'appareil de vos images avant de les partager. 100 % confidentiel : fonctionne sans téléversement.';
7
+ const description = 'Outil en ligne gratuit pour effacer les métadonnées EXIF, les coordonnées GPS et les caractéristiques de l\'appareil de vos images avant de les partager. 100 % confidentiel: fonctionne sans téléversement.';
8
8
 
9
9
  const ui: ExifCleanerUI = {
10
10
  dropTitle: "Faites glisser votre image ici",
@@ -97,7 +97,7 @@ const seo: ExifCleanerLocaleContent['seo'] = [
97
97
  '<strong>Données de Copyright :</strong> Photographe, droits d\'auteur et notes personnelles.'
98
98
  ] },
99
99
 
100
- { type: 'title', text: 'Risques de Sécurité Réels : Cas d\'Utilisation', level: 3 },
100
+ { type: 'title', text: 'Risques de Sécurité Réels: Cas d\'Utilisation', level: 3 },
101
101
  { type: 'comparative', items: [
102
102
  {
103
103
  title: 'Photographes Professionnels',
@@ -111,7 +111,7 @@ const seo: ExifCleanerLocaleContent['seo'] = [
111
111
  },
112
112
  {
113
113
  title: 'Parents et Influenceurs',
114
- description: 'Danger extrême : localisation des enfants en temps réel',
114
+ description: 'Danger extrême: localisation des enfants en temps réel',
115
115
  icon: 'mdi:alert',
116
116
  points: [
117
117
  'Les prédateurs suivent les emplacements via l\'OSINT',
@@ -180,14 +180,14 @@ const seo: ExifCleanerLocaleContent['seo'] = [
180
180
  }
181
181
  ], proTitle: 'Avantages Clés', conTitle: 'Limitations' },
182
182
 
183
- { type: 'tip', title: 'Conseil de Sécurité Numérique', html: '<strong>Nettoyez vos photos AVANT de les publier</strong> sur n\'importe quel réseau social. Même si vous supprimez une publication, les métadonnées ont pu être indexées par des moteurs de recherche ou des archives. Mieux vaut prévenir que guérir. Prenez l\'habitude : <br><br><em>Photo → Nettoyer EXIF → Publier</em>' },
183
+ { type: 'tip', title: 'Conseil de Sécurité Numérique', html: '<strong>Nettoyez vos photos AVANT de les publier</strong> sur n\'importe quel réseau social. Même si vous supprimez une publication, les métadonnées ont pu être indexées par des moteurs de recherche ou des archives. Mieux vaut prévenir que guérir. Prenez l\'habitude: <br><br><em>Photo → Nettoyer EXIF → Publier</em>' },
184
184
 
185
- { type: 'diagnostic', variant: 'warning', title: 'Risques Réels sans Nettoyage', icon: 'mdi:alert-circle', badge: 'Sécurité Critique', html: '<strong>Cas documentés :</strong><br>- Parents publiant des photos d\'enfants - les prédateurs ont suivi le GPS<br>- Photographes voyageurs - maisons cambriolées pendant leur absence<br>- Influenceurs - lieux de résidence identifiés par des fans obsessifs<br><br>Ce n\'est pas de la paranoïa : c\'est une hygiène numérique de base en 2026.' },
185
+ { type: 'diagnostic', variant: 'warning', title: 'Risques Réels sans Nettoyage', icon: 'mdi:alert-circle', badge: 'Sécurité Critique', html: '<strong>Cas documentés :</strong><br>- Parents publiant des photos d\'enfants - les prédateurs ont suivi le GPS<br>- Photographes voyageurs - maisons cambriolées pendant leur absence<br>- Influenceurs - lieux de résidence identifiés par des fans obsessifs<br><br>Ce n\'est pas de la paranoïa: c\'est une hygiène numérique de base en 2026.' },
186
186
 
187
187
  { type: 'glossary', items: [
188
188
  {
189
189
  term: 'EXIF',
190
- definition: 'Exchangeable Image File Format. Norme qui stocke des métadonnées techniques dans les fichiers image : GPS, données d\'appareil, réglages d\'exposition. Présent dans environ 90 % des photos numériques sans intention de l\'utilisateur.'
190
+ definition: 'Exchangeable Image File Format. Norme qui stocke des métadonnées techniques dans les fichiers image: GPS, données d\'appareil, réglages d\'exposition. Présent dans environ 90 % des photos numériques sans intention de l\'utilisateur.'
191
191
  },
192
192
  {
193
193
  term: 'Coordonnées GPS',
@@ -195,7 +195,7 @@ const seo: ExifCleanerLocaleContent['seo'] = [
195
195
  },
196
196
  {
197
197
  term: 'IPTC',
198
- definition: 'International Press Telecommunications Council. Métadonnées de publication lisibles : copyright, auteur, mots-clés, description. Norme en photographie professionnelle.'
198
+ definition: 'International Press Telecommunications Council. Métadonnées de publication lisibles: copyright, auteur, mots-clés, description. Norme en photographie professionnelle.'
199
199
  },
200
200
  {
201
201
  term: 'XMP',
@@ -207,14 +207,14 @@ const seo: ExifCleanerLocaleContent['seo'] = [
207
207
  },
208
208
  {
209
209
  term: 'Anonymisation Numérique',
210
- definition: 'Processus de suppression ou d\'offuscation des informations identifiables : localisation, appareil, modèles de comportement. Essentiel pour la vie privée en ligne.'
210
+ definition: 'Processus de suppression ou d\'offuscation des informations identifiables: localisation, appareil, modèles de comportement. Essentiel pour la vie privée en ligne.'
211
211
  }
212
212
  ] },
213
213
 
214
- { type: 'message', title: 'Votre Vie Privée est votre Responsabilité', ariaLabel: 'Informations sur la confidentialité et les droits des données', html: 'Nous ne stockons, ne traitons ni ne partageons vos images. <strong>Vous avez le contrôle total.</strong> Toutes les opérations se déroulent exclusivement dans votre navigateur. Lorsque vous fermez cet onglet, aucune trace de votre activité ne subsiste. Voici comment protéger votre vie privée sur internet : des outils qui respectent vos données.' },
214
+ { type: 'message', title: 'Votre Vie Privée est votre Responsabilité', ariaLabel: 'Informations sur la confidentialité et les droits des données', html: 'Nous ne stockons, ne traitons ni ne partageons vos images. <strong>Vous avez le contrôle total.</strong> Toutes les opérations se déroulent exclusivement dans votre navigateur. Lorsque vous fermez cet onglet, aucune trace de votre activité ne subsiste. Voici comment protéger votre vie privée sur internet: des outils qui respectent vos données.' },
215
215
 
216
- { type: 'title', text: 'Conclusion : Partagez sans Traces', level: 3 },
217
- { type: 'paragraph', html: 'Protéger votre identité numérique commence par de petits détails. Nettoyer vos photos avant de les publier est une <strong>habitude d\'hygiène numérique essentielle</strong> en 2026. Cela ne protège pas seulement votre position : cela protège votre famille, vos biens et votre vie privée professionnelle. Une photo apparemment innocente peut en dire plus sur vous que vous ne l\'auriez jamais imaginé.' }
216
+ { type: 'title', text: 'Conclusion: Partagez sans Traces', level: 3 },
217
+ { type: 'paragraph', html: 'Protéger votre identité numérique commence par de petits détails. Nettoyer vos photos avant de les publier est une <strong>habitude d\'hygiène numérique essentielle</strong> en 2026. Cela ne protège pas seulement votre position: cela protège votre famille, vos biens et votre vie privée professionnelle. Une photo apparemment innocente peut en dire plus sur vous que vous ne l\'auriez jamais imaginé.' }
218
218
  ];
219
219
 
220
220
  const faqSchema: WithContext<FAQPage> = {
@@ -39,11 +39,11 @@ const faq: ExifCleanerLocaleContent['faq'] = [
39
39
  },
40
40
  {
41
41
  question: "Jakie konkretnie dane usuwa to narzędzie?",
42
- answer: "Usuwa wszystkie tagi EXIF (GPS, marka aparatu, numer seryjny), IPTC (prawa autorskie, autor) oraz XMP (historia edycji). Twoje zdjęcie staje się czyste”, zachowując jedynie wizualne piksele.",
42
+ answer: "Usuwa wszystkie tagi EXIF (GPS, marka aparatu, numer seryjny), IPTC (prawa autorskie, autor) oraz XMP (historia edycji). Twoje zdjęcie staje się \"czyste\", zachowując jedynie wizualne piksele.",
43
43
  },
44
44
  {
45
45
  question: "Czy zdjęcie traci na jakości podczas usuwania metadanych?",
46
- answer: "Nie. Usuwamy jedynie techniczny nagłówek danych pliku. Dane obrazu (piksele) pozostają identyczne, więc jakość wizualna nie zmienia się w ogóle.",
46
+ answer: "Nie. Usuwamy jedynie techniczny \"nagłówek\" danych pliku. Dane obrazu (piksele) pozostają identyczne, więc jakość wizualna nie zmienia się w ogóle.",
47
47
  },
48
48
  ];
49
49
 
@@ -54,7 +54,7 @@ const howTo: ExifCleanerLocaleContent['howTo'] = [
54
54
  },
55
55
  {
56
56
  name: "Przeanalizuj bieżące dane",
57
- text: "Narzędzie pokaże Ci, jakie wrażliwe informacje wykryło (np. Wykryto współrzędne GPS).",
57
+ text: "Narzędzie pokaże Ci, jakie wrażliwe informacje wykryło (np. \"Wykryto współrzędne GPS\").",
58
58
  },
59
59
  {
60
60
  name: "Przetwórz i oczyść",
@@ -73,12 +73,12 @@ const seo: ExifCleanerLocaleContent['seo'] = [
73
73
  items: [
74
74
  'Natychmiast usuwaj współrzędne GPS i lokalizację ze swoich zdjęć',
75
75
  'Usuwaj model aparatu, numer seryjny i informacje techniczne',
76
- 'Przetwarzanie w 100% oparte na przeglądarce Twoje zdjęcia nigdy nie opuszczają urządzenia',
77
- 'Zachowuje jakość wizualną usuwane są tylko ukryte dane'
76
+ 'Przetwarzanie w 100% oparte na przeglądarce - Twoje zdjęcia nigdy nie opuszczają urządzenia',
77
+ 'Zachowuje jakość wizualną - usuwane są tylko ukryte dane'
78
78
  ]
79
79
  },
80
80
  { type: 'title', text: 'Kompletny przewodnik po prywatności i metadanych EXIF w fotografii cyfrowej', level: 2 },
81
- { type: 'paragraph', html: 'Czy kiedykolwiek zastanawiałeś się, jak wiele danych osobowych udostępniasz, przesyłając zdjęcie do mediów społecznościowych? Metadane EXIF są jak <strong>niewidzialny odcisk palca</strong>, który może ujawnić wszystko od dokładnej lokalizacji Twojego domu po cenę Twojego sprzętu fotograficznego. Ten przewodnik wyjaśnia, jak skutecznie chronić swoją prywatność.' },
81
+ { type: 'paragraph', html: 'Czy kiedykolwiek zastanawiałeś się, jak wiele danych osobowych udostępniasz, przesyłając zdjęcie do mediów społecznościowych? Metadane EXIF są jak <strong>niewidzialny odcisk palca</strong>, który może ujawnić wszystko - od dokładnej lokalizacji Twojego domu po cenę Twojego sprzętu fotograficznego. Ten przewodnik wyjaśnia, jak skutecznie chronić swoją prywatność.' },
82
82
 
83
83
  { type: 'stats', items: [
84
84
  { value: '100%', label: 'Prywatność - Przetwarzanie Lokalne', icon: 'mdi:shield-check' },
@@ -31,7 +31,7 @@ const ui: ExifCleanerUI = {
31
31
  const faq: ExifCleanerLocaleContent['faq'] = [
32
32
  {
33
33
  question: "Что такое метаданные EXIF?",
34
- answer: "EXIF (Exchangeable Image File Format) это скрытая информация, которую ваша камера или телефон сохраняют внутри каждой фотографии. Она включает точную дату, модель устройства, настройки съёмки (ISO, диафрагма) и, что критически важно, GPS-координаты места, где было сделано фото.",
34
+ answer: "EXIF (Exchangeable Image File Format) - это скрытая информация, которую ваша камера или телефон сохраняют внутри каждой фотографии. Она включает точную дату, модель устройства, настройки съёмки (ISO, диафрагма) и, что критически важно, GPS-координаты места, где было сделано фото.",
35
35
  },
36
36
  {
37
37
  question: "Безопасно ли использовать этот онлайн-инструмент?",
@@ -39,11 +39,11 @@ const faq: ExifCleanerLocaleContent['faq'] = [
39
39
  },
40
40
  {
41
41
  question: "Какие именно данные удаляет очиститель?",
42
- answer: "Он стирает все теги EXIF (GPS, марка камеры, серийный номер), IPTC (авторские права, автор) и XMP (история редактирования). Ваше изображение становится «чистым», сохраняя только визуальные пиксели.",
42
+ answer: "Он стирает все теги EXIF (GPS, марка камеры, серийный номер), IPTC (авторские права, автор) и XMP (история редактирования). Ваше изображение становится \"чистым\", сохраняя только визуальные пиксели.",
43
43
  },
44
44
  {
45
45
  question: "Теряет ли изображение в качестве при очистке метаданных?",
46
- answer: "Нет. Мы удаляем только технический «заголовок» файла. Данные изображения (пиксели) остаются идентичными, поэтому визуальное качество никак не страдает.",
46
+ answer: "Нет. Мы удаляем только технический \"заголовок\" файла. Данные изображения (пиксели) остаются идентичными, поэтому визуальное качество никак не страдает.",
47
47
  },
48
48
  ];
49
49
 
@@ -54,7 +54,7 @@ const howTo: ExifCleanerLocaleContent['howTo'] = [
54
54
  },
55
55
  {
56
56
  name: "Проанализируйте текущие данные",
57
- text: "Инструмент покажет вам, какая конфиденциальная информация была обнаружена (например, «Обнаружены GPS координаты»).",
57
+ text: "Инструмент покажет вам, какая конфиденциальная информация была обнаружена (например, \"Обнаружены GPS координаты\").",
58
58
  },
59
59
  {
60
60
  name: "Обработка и очистка",
@@ -73,15 +73,15 @@ const seo: ExifCleanerLocaleContent['seo'] = [
73
73
  items: [
74
74
  'Мгновенно удаляйте GPS-координаты и местоположение из ваших фото',
75
75
  'Стирайте модель камеры, серийный номер и техническую информацию',
76
- '100% браузерная обработка ваши изображения не покидают устройство',
77
- 'Сохранение визуального качества удаляются только скрытые данные'
76
+ '100% браузерная обработка - ваши изображения не покидают устройство',
77
+ 'Сохранение визуального качества - удаляются только скрытые данные'
78
78
  ]
79
79
  },
80
80
  { type: 'title', text: 'Полное руководство по конфиденциальности и метаданным EXIF в цифровой фотографии', level: 2 },
81
81
  { type: 'paragraph', html: 'Задумывались ли вы когда-нибудь, каким объемом личной информации вы делитесь, загружая фото в соцсети? Метаданные EXIF похожи на <strong>невидимый отпечаток пальца</strong>, который может раскрыть всё: от вашего точного домашнего адреса до стоимости вашей фототехники. Это руководство объясняет, как эффективно защитить свою приватность.' },
82
82
 
83
83
  { type: 'stats', items: [
84
- { value: '100%', label: 'Приватность локальная обработка', icon: 'mdi:shield-check' },
84
+ { value: '100%', label: 'Приватность - локальная обработка', icon: 'mdi:shield-check' },
85
85
  { value: '0%', label: 'Данных на серверах', icon: 'mdi:database' },
86
86
  { value: 'Мгновенно', label: 'Удаление метаданных', icon: 'mdi:lightning-bolt' }
87
87
  ], columns: 3 },
@@ -163,26 +163,26 @@ const seo: ExifCleanerLocaleContent['seo'] = [
163
163
 
164
164
  { type: 'proscons', items: [
165
165
  {
166
- pro: 'Полная конфиденциальность обработка 100% в браузере',
166
+ pro: 'Полная конфиденциальность - обработка 100% в браузере',
167
167
  con: 'Требуется современный браузер с поддержкой JavaScript'
168
168
  },
169
169
  {
170
- pro: 'Мгновенно очистка одного фото занимает менее 1 секунды',
170
+ pro: 'Мгновенно - очистка одного фото занимает менее 1 секунды',
171
171
  con: 'Обработка больших фото может быть медленной на старых устройствах'
172
172
  },
173
173
  {
174
- pro: 'Без потери качества удаляются только данные, а не пиксели',
174
+ pro: 'Без потери качества - удаляются только данные, а не пиксели',
175
175
  con: 'Не редактирует само изображение (обрезка, поворот и т.д.)'
176
176
  },
177
177
  {
178
- pro: 'Полностью бесплатно и без лимитов любое количество фото',
178
+ pro: 'Полностью бесплатно и без лимитов - любое количество фото',
179
179
  con: 'Нет премиум-поддержки или облачного хранилища'
180
180
  }
181
181
  ], proTitle: 'Основные преимущества', conTitle: 'Ограничения' },
182
182
 
183
183
  { type: 'tip', title: 'Совет по цифровой безопасности', html: '<strong>Очищайте фото ДО публикации</strong> в любой соцсети. Даже если вы удалите пост, метаданные могут быть проиндексированы поисковиками. Профилактика лучше лечения. Сделайте это привычкой:<br><br><em>Фото → Очистка EXIF → Пост</em>' },
184
184
 
185
- { type: 'diagnostic', variant: 'warning', title: 'Реальные риски игнорирования очистки', icon: 'mdi:alert-circle', badge: 'Критическая безопасность', html: '<strong>Документированные случаи:</strong><br>- Родители постили фото детей преступники вычисляли GPS<br>- Фотографы-путешественники дома грабили в их отсутствие<br>- Блогеры места жительства определялись навязчивыми фанатами<br><br>Это не паранойя: это базовая цифровая гигиена в 2026 году.' },
185
+ { type: 'diagnostic', variant: 'warning', title: 'Реальные риски игнорирования очистки', icon: 'mdi:alert-circle', badge: 'Критическая безопасность', html: '<strong>Документированные случаи:</strong><br>- Родители постили фото детей - преступники вычисляли GPS<br>- Фотографы-путешественники - дома грабили в их отсутствие<br>- Блогеры - места жительства определялись навязчивыми фанатами<br><br>Это не паранойя: это базовая цифровая гигиена в 2026 году.' },
186
186
 
187
187
  { type: 'glossary', items: [
188
188
  {
@@ -211,10 +211,10 @@ const seo: ExifCleanerLocaleContent['seo'] = [
211
211
  }
212
212
  ] },
213
213
 
214
- { type: 'message', title: 'Ваша приватность ваша ответственность', ariaLabel: 'Информация о конфиденциальности и правах на данные', html: 'Мы не храним, не обрабатываем и не передаем ваши изображения. <strong>У вас полный контроль.</strong> Все операции происходят исключительно в вашем браузере. Когда вы закрываете вкладку, никаких следов вашей активности не остается. Именно так защищается приватность в интернете: инструментами, которые уважают ваши данные.' },
214
+ { type: 'message', title: 'Ваша приватность: ваша ответственность', ariaLabel: 'Информация о конфиденциальности и правах на данные', html: 'Мы не храним, не обрабатываем и не передаем ваши изображения. <strong>У вас полный контроль.</strong> Все операции происходят исключительно в вашем браузере. Когда вы закрываете вкладку, никаких следов вашей активности не остается. Именно так защищается приватность в интернете: инструментами, которые уважают ваши данные.' },
215
215
 
216
216
  { type: 'title', text: 'Заключение: делитесь, не оставляя следов', level: 3 },
217
- { type: 'paragraph', html: 'Защита вашей цифровой личности начинается с мелочей. Очистка фото перед публикацией это <strong>необходимая привычка цифровой гигиены</strong> в 2026 году. Она защищает не только ваше местоположение: она защищает вашу семью, ваше имущество и вашу профессиональную тайну. Невинное на вид фото может рассказать о вас больше, чем вы можете себе представить.' }
217
+ { type: 'paragraph', html: 'Защита вашей цифровой личности начинается с мелочей. Очистка фото перед публикацией - это <strong>необходимая привычка цифровой гигиены</strong> в 2026 году. Она защищает не только ваше местоположение: она защищает вашу семью, ваше имущество и вашу профессиональную тайну. Невинное на вид фото может рассказать о вас больше, чем вы можете себе представить.' }
218
218
  ];
219
219
 
220
220
  const faqSchema: WithContext<FAQPage> = {
@@ -39,11 +39,11 @@ const faq: ExifCleanerLocaleContent['faq'] = [
39
39
  },
40
40
  {
41
41
  question: "清除工具具体删除了哪些数据?",
42
- answer: "它擦除所有 EXIF 标签(GPS、相机品牌、序列号)、IPTC(版权、作者)和 XMP(编辑历史)。您的图像变得“干净”,仅保留视觉像素。",
42
+ answer: "它擦除所有 EXIF 标签(GPS、相机品牌、序列号)、IPTC(版权、作者)和 XMP(编辑历史)。您的图像变得\"干净\",仅保留视觉像素。",
43
43
  },
44
44
  {
45
45
  question: "清除元数据会损失画质吗?",
46
- answer: "不会。我们只删除文件的技术数据“页眉”。图像数据(像素)保持一致,因此视觉质量完全不受影响。",
46
+ answer: "不会。我们只删除文件的技术数据\"页眉\"。图像数据(像素)保持一致,因此视觉质量完全不受影响。",
47
47
  },
48
48
  ];
49
49
 
@@ -54,7 +54,7 @@ const howTo: ExifCleanerLocaleContent['howTo'] = [
54
54
  },
55
55
  {
56
56
  name: "分析当前数据",
57
- text: "工具将向您显示它检测到的敏感信息(例如,“已检测到 GPS 坐标”)。",
57
+ text: "工具将向您显示它检测到的敏感信息(例如,\"已检测到 GPS 坐标\")。",
58
58
  },
59
59
  {
60
60
  name: "处理并清除",
@@ -55,7 +55,7 @@ const howTo: ImageCompressorLocaleContent['howTo'] = [
55
55
  },
56
56
  {
57
57
  name: "Qualität anpassen",
58
- text: "Verwenden Sie den Schieberegler, um das perfekte Gleichgewicht zwischen Dateigröße und visueller Qualität zu finden (empfohlen: 7585 %).",
58
+ text: "Verwenden Sie den Schieberegler, um das perfekte Gleichgewicht zwischen Dateigröße und visueller Qualität zu finden (empfohlen: 75-85 %).",
59
59
  },
60
60
  {
61
61
  name: "Größe ändern (optional)",
@@ -73,13 +73,13 @@ const seo: ImageCompressorLocaleContent['seo'] = [
73
73
  title: 'Professionelle Web Bildoptimierung',
74
74
  items: [
75
75
  'Intelligente JPG-, PNG- und WebP-Komprimierung',
76
- 'Gewicht um 5080 % reduzieren bei Beibehaltung der visuellen Qualität',
77
- '100 % lokale Verarbeitung Privatsphäre garantiert',
76
+ 'Gewicht um 50-80 % reduzieren bei Beibehaltung der visuellen Qualität',
77
+ '100 % lokale Verarbeitung - Privatsphäre garantiert',
78
78
  'Core Web Vitals und SEO-Positionierung verbessern'
79
79
  ]
80
80
  },
81
81
  { type: 'title', text: 'Bildoptimierung: Web Geschwindigkeit und Core Web Vitals', level: 2 },
82
- { type: 'paragraph', html: 'In der Ära der digitalen Unmittelbarkeit verliert eine langsame Website Nutzer. Nicht optimierte Bilder machen 6070 % des Gesamtgewichts einer Webseite aus. Sie zu optimieren ist der erste Schritt, um Ihre Google-Metriken (LCP, CLS) und Ihre Positionierung in den Suchergebnissen zu verbessern.' },
82
+ { type: 'paragraph', html: 'In der Ära der digitalen Unmittelbarkeit verliert eine langsame Website Nutzer. Nicht optimierte Bilder machen 60-70 % des Gesamtgewichts einer Webseite aus. Sie zu optimieren ist der erste Schritt, um Ihre Google-Metriken (LCP, CLS) und Ihre Positionierung in den Suchergebnissen zu verbessern.' },
83
83
 
84
84
  { type: 'stats', items: [
85
85
  { value: '50-80%', label: 'Typische Gewichtsreduktion', icon: 'mdi:trending-down' },
@@ -89,22 +89,22 @@ const seo: ImageCompressorLocaleContent['seo'] = [
89
89
 
90
90
  { type: 'title', text: 'Erklärung der Komprimierungsformate', level: 3 },
91
91
  { type: 'table', headers: ['Format', 'Komprimierung', 'Anwendungsfälle', 'Kompatibilität'], rows: [
92
- ['JPEG', 'Verlustbehaftet 5090 %', 'Kamerafotos, redaktionelle Inhalte', 'Universal (100 %)'],
93
- ['PNG', 'Verlustfrei 3050 %', 'Grafiken, Logos, Transparenzen', 'Universal (100 %)'],
94
- ['WebP', 'Verlustbehaftet/Verlustfrei 2535 % mehr', 'Modernes Web, soziale Netzwerke', '95 % moderne Browser'],
92
+ ['JPEG', 'Verlustbehaftet 50-90 %', 'Kamerafotos, redaktionelle Inhalte', 'Universal (100 %)'],
93
+ ['PNG', 'Verlustfrei 30-50 %', 'Grafiken, Logos, Transparenzen', 'Universal (100 %)'],
94
+ ['WebP', 'Verlustbehaftet/Verlustfrei 25-35 % mehr', 'Modernes Web, soziale Netzwerke', '95 % moderne Browser'],
95
95
  ['AVIF', 'Verlustbehaftet/Verlustfrei 20 % Verbesserung', 'Next-Generation-Web', 'Nur neue Browser']
96
96
  ] },
97
97
 
98
- { type: 'card', title: 'Warum WebP die Zukunft ist', html: 'Google hat WebP speziell für das Web entwickelt. Es bietet eine überlegene Komprimierung gegenüber JPEG und PNG bei gleichbleibender oder verbesserter visueller Qualität. Es ist 2535 % kleiner als äquivalente JPEGs. Moderne Browser unterstützen es zu 95 %.' },
98
+ { type: 'card', title: 'Warum WebP die Zukunft ist', html: 'Google hat WebP speziell für das Web entwickelt. Es bietet eine überlegene Komprimierung gegenüber JPEG und PNG bei gleichbleibender oder verbesserter visueller Qualität. Es ist 25-35 % kleiner als äquivalente JPEGs. Moderne Browser unterstützen es zu 95 %.' },
99
99
 
100
100
  { type: 'title', text: 'Verlustbehaftete vs. verlustfreie Komprimierung', level: 3 },
101
101
  { type: 'comparative', items: [
102
102
  {
103
103
  title: 'Verlustbehaftete Komprimierung',
104
- description: 'JPG, WebP Entfernt unmerkliche visuelle Informationen',
104
+ description: 'JPG, WebP - Entfernt unmerkliche visuelle Informationen',
105
105
  icon: 'mdi:compress',
106
106
  points: [
107
- 'Reduziert 7090 % des ursprünglichen Gewichts',
107
+ 'Reduziert 70-90 % des ursprünglichen Gewichts',
108
108
  'Für das menschliche Auge unmerklich, wenn die Qualität >75 % bleibt',
109
109
  'Ideal für realistische Fotografie',
110
110
  'Nicht empfohlen für Logos oder scharfen Text'
@@ -113,10 +113,10 @@ const seo: ImageCompressorLocaleContent['seo'] = [
113
113
  },
114
114
  {
115
115
  title: 'Verlustfreie Komprimierung',
116
- description: 'PNG, WebP verlustfrei Behält 100 % der visuellen Daten bei',
116
+ description: 'PNG, WebP verlustfrei - Behält 100 % der visuellen Daten bei',
117
117
  icon: 'mdi:shield',
118
118
  points: [
119
- 'Reduziert 2050 % des Gewichts',
119
+ 'Reduziert 20-50 % des Gewichts',
120
120
  'Perfekte Qualität, keine Verschlechterung',
121
121
  'Ideal für Grafiken, Logos, Transparenzen',
122
122
  'Schwerere Dateien als bei verlustbehafteter Komprimierung'
@@ -138,7 +138,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
138
138
  con: 'Erfordert Browser mit Canvas-API-Unterstützung (universell verfügbar)'
139
139
  },
140
140
  {
141
- pro: 'WebP ist 2535 % kleiner als JPEG bei gleicher Qualität',
141
+ pro: 'WebP ist 25-35 % kleiner als JPEG bei gleicher Qualität',
142
142
  con: 'Alte Versionen von Safari und IE unterstützen WebP nicht (Fallback verfügbar)'
143
143
  },
144
144
  {
@@ -147,7 +147,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
147
147
  },
148
148
  {
149
149
  pro: 'Optionales Resizing: Reduziert Auflösung zusätzlich zur Komprimierung',
150
- con: 'Resizing führt zu Informationsverlust besser die Auflösung an der Quelle optimieren'
150
+ con: 'Resizing führt zu Informationsverlust - besser die Auflösung an der Quelle optimieren'
151
151
  }
152
152
  ], proTitle: 'Vorteile', conTitle: 'Einschränkungen' },
153
153
 
@@ -156,7 +156,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
156
156
  { type: 'glossary', items: [
157
157
  {
158
158
  term: 'Verlustbehaftete Komprimierung',
159
- definition: 'Entfernt visuelle Daten, die das menschliche Auge als Rauschen wahrnimmt. Ideal für Fotografie. JPEG, verlustbehaftetes WebP, HEIC sind verlustbehaftet.'
159
+ definition: 'Entfernt visuelle Daten, die das menschliche Auge als \"Rauschen\" wahrnimmt. Ideal für Fotografie. JPEG, verlustbehaftetes WebP, HEIC sind verlustbehaftet.'
160
160
  },
161
161
  {
162
162
  term: 'Verlustfreie Komprimierung',
@@ -168,7 +168,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
168
168
  },
169
169
  {
170
170
  term: 'WebP',
171
- definition: 'Von Google entwickeltes Format. 2535 % kleiner als JPEG. Wird von 95 % der modernen Browser unterstützt (alle außer IE).'
171
+ definition: 'Von Google entwickeltes Format. 25-35 % kleiner als JPEG. Wird von 95 % der modernen Browser unterstützt (alle außer IE).'
172
172
  },
173
173
  {
174
174
  term: 'Komprimierungsartefakte',
@@ -55,7 +55,7 @@ const howTo: ImageCompressorLocaleContent['howTo'] = [
55
55
  },
56
56
  {
57
57
  name: "Ajuster la qualité",
58
- text: "Utilisez le curseur pour trouver l'équilibre parfait entre la taille du fichier et la qualité visuelle (recommandé : 75-85 %).",
58
+ text: "Utilisez le curseur pour trouver l'équilibre parfait entre la taille du fichier et la qualité visuelle (recommandé: 75-85 %).",
59
59
  },
60
60
  {
61
61
  name: "Redimensionner (optionnel)",
@@ -78,7 +78,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
78
78
  'Améliorez les Core Web Vitals et le positionnement SEO'
79
79
  ]
80
80
  },
81
- { type: 'title', text: 'Optimisation des Images : Vitesse Web et Core Web Vitals', level: 2 },
81
+ { type: 'title', text: 'Optimisation des Images: Vitesse Web et Core Web Vitals', level: 2 },
82
82
  { type: 'paragraph', html: 'À l\'ère de l\'immédiateté numérique, un site lent perd des utilisateurs. Les images non optimisées représentent 60 à 70 % du poids total d\'une page web. Les optimiser est la première étape pour améliorer vos métriques Google (LCP, CLS) et votre positionnement dans les résultats de recherche.' },
83
83
 
84
84
  { type: 'stats', items: [
@@ -134,7 +134,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
134
134
 
135
135
  { type: 'proscons', items: [
136
136
  {
137
- pro: 'Confidentialité totale : traitement 100 % local, sans serveurs cloud',
137
+ pro: 'Confidentialité totale: traitement 100 % local, sans serveurs cloud',
138
138
  con: 'Nécessite un navigateur supportant l\'API Canvas (c\'est universel)'
139
139
  },
140
140
  {
@@ -146,12 +146,12 @@ const seo: ImageCompressorLocaleContent['seo'] = [
146
146
  con: 'Les images très volumineuses (>50 Mo) peuvent nécessiter un délai'
147
147
  },
148
148
  {
149
- pro: 'Redimensionnement optionnel : réduit la résolution en plus de la compression',
149
+ pro: 'Redimensionnement optionnel: réduit la résolution en plus de la compression',
150
150
  con: 'Le redimensionnement entraîne une perte d\'information - mieux vaut optimiser à la source'
151
151
  }
152
152
  ], proTitle: 'Avantages', conTitle: 'Limitations' },
153
153
 
154
- { type: 'diagnostic', variant: 'warning', title: 'Attention : Une Compression Excessive Dégrade', icon: 'mdi:alert', badge: 'Qualité', html: 'Maintenez une qualité > 75 % pour la photographie et > 85 % pour le contenu éditorial. En dessous, les artefacts de compression (taches, bandes) deviennent visibles. Une image de belle apparence en vignette peut être hideuse en grand.' },
154
+ { type: 'diagnostic', variant: 'warning', title: 'Attention: Une Compression Excessive Dégrade', icon: 'mdi:alert', badge: 'Qualité', html: 'Maintenez une qualité > 75 % pour la photographie et > 85 % pour le contenu éditorial. En dessous, les artefacts de compression (taches, bandes) deviennent visibles. Une image de belle apparence en vignette peut être hideuse en grand.' },
155
155
 
156
156
  { type: 'glossary', items: [
157
157
  {
@@ -164,7 +164,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
164
164
  },
165
165
  {
166
166
  term: 'Core Web Vitals (Google)',
167
- definition: 'Indicateurs d\'expérience utilisateur : LCP (vitesse de chargement), FID (latence d\'interaction), CLS (stabilité visuelle). Affectent le SEO.'
167
+ definition: 'Indicateurs d\'expérience utilisateur: LCP (vitesse de chargement), FID (latence d\'interaction), CLS (stabilité visuelle). Affectent le SEO.'
168
168
  },
169
169
  {
170
170
  term: 'WebP',
@@ -172,11 +172,11 @@ const seo: ImageCompressorLocaleContent['seo'] = [
172
172
  },
173
173
  {
174
174
  term: 'Artefacts de Compression',
175
- definition: 'Défauts visuels causés par une compression excessive : taches, bandes de couleur, bords flous.'
175
+ definition: 'Défauts visuels causés par une compression excessive: taches, bandes de couleur, bords flous.'
176
176
  }
177
177
  ] },
178
178
 
179
- { type: 'message', title: 'Optimisation Web Professionnelle', ariaLabel: 'Informations sur l\'optimisation d\'images pour le SEO', html: 'Ce n\'est pas de la vanité technique : compresser les images est un investissement direct dans l\'expérience utilisateur et le classement Google. Chaque kilo-octet compte sur mobile. Notre outil transforme ce qui nécessitait auparavant un logiciel professionnel ($$$) en un processus gratuit en 3 clics.' },
179
+ { type: 'message', title: 'Optimisation Web Professionnelle', ariaLabel: 'Informations sur l\'optimisation d\'images pour le SEO', html: 'Ce n\'est pas de la vanité technique: compresser les images est un investissement direct dans l\'expérience utilisateur et le classement Google. Chaque kilo-octet compte sur mobile. Notre outil transforme ce qui nécessitait auparavant un logiciel professionnel ($$$) en un processus gratuit en 3 clics.' },
180
180
 
181
181
  { type: 'title', text: 'Prêt pour le Web Moderne', level: 3 },
182
182
  { type: 'paragraph', html: 'Utilisez la compression intelligente et le format WebP pour que votre présence en ligne soit rapide, responsive et compétitive dans les recherches.' }
@@ -156,7 +156,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
156
156
  { type: 'glossary', items: [
157
157
  {
158
158
  term: 'Kompresja Stratna (Lossy)',
159
- definition: 'Usuwa dane wizualne, które ludzkie oko postrzega jako szum”. Idealna dla fotografii. JPEG, stratny WebP, HEIC są kompresjami stratnymi.'
159
+ definition: 'Usuwa dane wizualne, które ludzkie oko postrzega jako \"szum\". Idealna dla fotografii. JPEG, stratny WebP, HEIC są kompresjami stratnymi.'
160
160
  },
161
161
  {
162
162
  term: 'Kompresja Bezstratna (Lossless)',
@@ -44,7 +44,7 @@ const faq: ImageCompressorLocaleContent['faq'] = [
44
44
  },
45
45
  {
46
46
  question: "Почему мне стоит конвертировать в WebP?",
47
- answer: "WebP это современный стандартный формат для интернета. Он предлагает более высокое качество, чем JPG и PNG, при весе на 30% меньше, что ускоряет загрузку страниц.",
47
+ answer: "WebP - это современный стандартный формат для интернета. Он предлагает более высокое качество, чем JPG и PNG, при весе на 30% меньше, что ускоряет загрузку страниц.",
48
48
  },
49
49
  ];
50
50
 
@@ -74,12 +74,12 @@ const seo: ImageCompressorLocaleContent['seo'] = [
74
74
  items: [
75
75
  'Интеллектуальное сжатие JPG, PNG и WebP',
76
76
  'Уменьшение веса на 50-80% при сохранении визуального качества',
77
- '100% локальная обработка конфиденциальность гарантирована',
77
+ '100% локальная обработка - конфиденциальность гарантирована',
78
78
  'Улучшение Core Web Vitals и позиций в SEO'
79
79
  ]
80
80
  },
81
81
  { type: 'title', text: 'Оптимизация изображений: скорость веба и Core Web Vitals', level: 2 },
82
- { type: 'paragraph', html: 'В эпоху цифровой мгновенности медленный веб-сайт теряет пользователей. Неоптимизированные изображения составляют 60-70% от общего веса веб-страницы. Их оптимизация это первый шаг к улучшению ваших метрик Google (LCP, CLS) и вашего позиционирования в результатах поиска.' },
82
+ { type: 'paragraph', html: 'В эпоху цифровой мгновенности медленный веб-сайт теряет пользователей. Неоптимизированные изображения составляют 60-70% от общего веса веб-страницы. Их оптимизация - это первый шаг к улучшению ваших метрик Google (LCP, CLS) и вашего позиционирования в результатах поиска.' },
83
83
 
84
84
  { type: 'stats', items: [
85
85
  { value: '50-80%', label: 'Типичное сокращение веса', icon: 'mdi:trending-down' },
@@ -95,13 +95,13 @@ const seo: ImageCompressorLocaleContent['seo'] = [
95
95
  ['AVIF', 'С потерями/без потерь на 20% лучше', 'Веб следующего поколения', 'Только новые браузеры']
96
96
  ] },
97
97
 
98
- { type: 'card', title: 'Почему WebP это будущее', html: 'Google разработал WebP специально для веба. Он предлагает лучшее сжатие, чем JPEG и PNG, сохраняя или улучшая визуальное качество. Он на 25-35% меньше эквивалентов JPEG. Современные браузеры поддерживают его на 95%.' },
98
+ { type: 'card', title: 'Почему WebP: это будущее', html: 'Google разработал WebP специально для веба. Он предлагает лучшее сжатие, чем JPEG и PNG, сохраняя или улучшая визуальное качество. Он на 25-35% меньше эквивалентов JPEG. Современные браузеры поддерживают его на 95%.' },
99
99
 
100
100
  { type: 'title', text: 'Сжатие с потерями и без потерь', level: 3 },
101
101
  { type: 'comparative', items: [
102
102
  {
103
103
  title: 'Сжатие с потерями (Lossy)',
104
- description: 'JPG, WebP удаляет незаметную визуальную информацию',
104
+ description: 'JPG, WebP - удаляет незаметную визуальную информацию',
105
105
  icon: 'mdi:compress',
106
106
  points: [
107
107
  'Уменьшает вес на 70-90% от исходного',
@@ -113,7 +113,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
113
113
  },
114
114
  {
115
115
  title: 'Сжатие без потерь (Lossless)',
116
- description: 'PNG, WebP без потерь сохраняет 100% визуальных данных',
116
+ description: 'PNG, WebP без потерь - сохраняет 100% визуальных данных',
117
117
  icon: 'mdi:shield',
118
118
  points: [
119
119
  'Уменьшает вес на 20-50%',
@@ -147,7 +147,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
147
147
  },
148
148
  {
149
149
  pro: 'Опциональное изменение размера: уменьшает как разрешение, так и сжатие',
150
- con: 'Изменение размера приводит к потере информации лучше оптимизировать разрешение в источнике'
150
+ con: 'Изменение размера приводит к потере информации - лучше оптимизировать разрешение в источнике'
151
151
  }
152
152
  ], proTitle: 'Преимущества', conTitle: 'Ограничения' },
153
153
 
@@ -156,7 +156,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
156
156
  { type: 'glossary', items: [
157
157
  {
158
158
  term: 'Сжатие с потерями (Lossy)',
159
- definition: 'Удаляет визуальные данные, которые человеческий глаз воспринимает как «шум». Идеально для фотографий. JPEG, WebP с потерями, HEIC являются форматами с потерями.'
159
+ definition: 'Удаляет визуальные данные, которые человеческий глаз воспринимает как \"шум\". Идеально для фотографий. JPEG, WebP с потерями, HEIC являются форматами с потерями.'
160
160
  },
161
161
  {
162
162
  term: 'Сжатие без потерь (Lossless)',
@@ -176,7 +176,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
176
176
  }
177
177
  ] },
178
178
 
179
- { type: 'message', title: 'Профессиональная веб оптимизация', ariaLabel: 'Информация об оптимизации изображений для SEO', html: 'Это не техническая прихоть: сжатие изображений это прямая инвестиция в пользовательский опыт и рейтинг в Google. На мобильных устройствах важен каждый килобайт. Наш инструмент превращает то, что раньше требовало профессионального ПО ($$$), в бесплатный процесс в 3 клика.' },
179
+ { type: 'message', title: 'Профессиональная веб оптимизация', ariaLabel: 'Информация об оптимизации изображений для SEO', html: 'Это не техническая прихоть: сжатие изображений - это прямая инвестиция в пользовательский опыт и рейтинг в Google. На мобильных устройствах важен каждый килобайт. Наш инструмент превращает то, что раньше требовало профессионального ПО ($$$), в бесплатный процесс в 3 клика.' },
180
180
 
181
181
  { type: 'title', text: 'Готовы к современному вебу', level: 3 },
182
182
  { type: 'paragraph', html: 'Используйте интеллектуальное сжатие и формат WebP, чтобы ваше онлайн-присутствие было быстрым, адаптивным и конкурентоспособным в поиске. Профессиональное качество, минимальный вес, мгновенная загрузка.' }