@jjlmoya/utils-hardware 1.16.0 → 1.18.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 (111) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/de.ts +4 -4
  3. package/src/category/i18n/id.ts +3 -3
  4. package/src/category/i18n/it.ts +3 -3
  5. package/src/category/i18n/nl.ts +3 -3
  6. package/src/category/i18n/pl.ts +4 -4
  7. package/src/category/i18n/pt.ts +3 -3
  8. package/src/category/i18n/ru.ts +6 -6
  9. package/src/category/i18n/sv.ts +3 -3
  10. package/src/category/i18n/tr.ts +3 -3
  11. package/src/category/i18n/zh.ts +3 -3
  12. package/src/category/index.ts +2 -1
  13. package/src/entries.ts +4 -1
  14. package/src/index.ts +1 -0
  15. package/src/layouts/PreviewLayout.astro +1 -0
  16. package/src/tests/diacritics_density.test.ts +118 -0
  17. package/src/tests/inverted_punctuation.test.ts +84 -0
  18. package/src/tests/locale_completeness.test.ts +2 -2
  19. package/src/tests/no_en_dash.test.ts +70 -0
  20. package/src/tests/no_h1_in_components.test.ts +1 -1
  21. package/src/tests/script_density.test.ts +94 -0
  22. package/src/tests/tool_validation.test.ts +2 -2
  23. package/src/tool/batteryHealthEstimator/bibliography.ts +8 -8
  24. package/src/tool/batteryHealthEstimator/i18n/de.ts +1 -1
  25. package/src/tool/batteryHealthEstimator/i18n/en.ts +1 -1
  26. package/src/tool/batteryHealthEstimator/i18n/fr.ts +5 -5
  27. package/src/tool/batteryHealthEstimator/i18n/id.ts +1 -1
  28. package/src/tool/batteryHealthEstimator/i18n/nl.ts +1 -1
  29. package/src/tool/batteryHealthEstimator/i18n/pl.ts +2 -2
  30. package/src/tool/batteryHealthEstimator/i18n/pt.ts +1 -1
  31. package/src/tool/batteryHealthEstimator/i18n/ru.ts +5 -5
  32. package/src/tool/batteryHealthEstimator/i18n/sv.ts +1 -1
  33. package/src/tool/batteryHealthEstimator/i18n/tr.ts +1 -1
  34. package/src/tool/batteryHealthEstimator/i18n/zh.ts +1 -1
  35. package/src/tool/colorAccuracyTest/bibliography.astro +14 -0
  36. package/src/tool/colorAccuracyTest/bibliography.ts +16 -0
  37. package/src/tool/colorAccuracyTest/color-accuracy-test.css +841 -0
  38. package/src/tool/colorAccuracyTest/component.astro +157 -0
  39. package/src/tool/colorAccuracyTest/entry.ts +29 -0
  40. package/src/tool/colorAccuracyTest/i18n/de.ts +284 -0
  41. package/src/tool/colorAccuracyTest/i18n/en.ts +284 -0
  42. package/src/tool/colorAccuracyTest/i18n/es.ts +284 -0
  43. package/src/tool/colorAccuracyTest/i18n/fr.ts +284 -0
  44. package/src/tool/colorAccuracyTest/i18n/id.ts +284 -0
  45. package/src/tool/colorAccuracyTest/i18n/it.ts +284 -0
  46. package/src/tool/colorAccuracyTest/i18n/ja.ts +284 -0
  47. package/src/tool/colorAccuracyTest/i18n/ko.ts +284 -0
  48. package/src/tool/colorAccuracyTest/i18n/nl.ts +284 -0
  49. package/src/tool/colorAccuracyTest/i18n/pl.ts +284 -0
  50. package/src/tool/colorAccuracyTest/i18n/pt.ts +284 -0
  51. package/src/tool/colorAccuracyTest/i18n/ru.ts +284 -0
  52. package/src/tool/colorAccuracyTest/i18n/sv.ts +284 -0
  53. package/src/tool/colorAccuracyTest/i18n/tr.ts +284 -0
  54. package/src/tool/colorAccuracyTest/i18n/zh.ts +284 -0
  55. package/src/tool/colorAccuracyTest/index.ts +9 -0
  56. package/src/tool/colorAccuracyTest/logic.ts +226 -0
  57. package/src/tool/colorAccuracyTest/seo.astro +15 -0
  58. package/src/tool/colorAccuracyTest/ui.ts +27 -0
  59. package/src/tool/deadPixelTest/i18n/ru.ts +6 -6
  60. package/src/tool/deadPixelTest/i18n/sv.ts +1 -1
  61. package/src/tool/deadPixelTest/i18n/zh.ts +5 -5
  62. package/src/tool/gamepadTest/gamepad-test.css +171 -3
  63. package/src/tool/gamepadTest/i18n/es.ts +4 -4
  64. package/src/tool/gamepadTest/i18n/ru.ts +2 -2
  65. package/src/tool/gamepadTest/i18n/zh.ts +1 -1
  66. package/src/tool/gamepadVibrationTester/bibliography.ts +8 -8
  67. package/src/tool/gamepadVibrationTester/i18n/es.ts +1 -1
  68. package/src/tool/gamepadVibrationTester/i18n/fr.ts +2 -2
  69. package/src/tool/gamepadVibrationTester/i18n/ru.ts +3 -3
  70. package/src/tool/keyboardTest/keyboard-test.css +115 -2
  71. package/src/tool/mousePollingTest/bibliography.ts +8 -8
  72. package/src/tool/mousePollingTest/i18n/de.ts +1 -1
  73. package/src/tool/mousePollingTest/i18n/en.ts +1 -1
  74. package/src/tool/mousePollingTest/i18n/es.ts +1 -1
  75. package/src/tool/mousePollingTest/i18n/fr.ts +3 -3
  76. package/src/tool/mousePollingTest/i18n/id.ts +1 -1
  77. package/src/tool/mousePollingTest/i18n/it.ts +1 -1
  78. package/src/tool/mousePollingTest/i18n/ja.ts +1 -1
  79. package/src/tool/mousePollingTest/i18n/ko.ts +1 -1
  80. package/src/tool/mousePollingTest/i18n/nl.ts +1 -1
  81. package/src/tool/mousePollingTest/i18n/pl.ts +2 -2
  82. package/src/tool/mousePollingTest/i18n/pt.ts +1 -1
  83. package/src/tool/mousePollingTest/i18n/ru.ts +3 -3
  84. package/src/tool/mousePollingTest/i18n/sv.ts +1 -1
  85. package/src/tool/mousePollingTest/i18n/tr.ts +1 -1
  86. package/src/tool/mousePollingTest/i18n/zh.ts +2 -2
  87. package/src/tool/refreshRateDetector/bibliography.ts +3 -11
  88. package/src/tool/refreshRateDetector/i18n/de.ts +3 -3
  89. package/src/tool/refreshRateDetector/i18n/en.ts +3 -3
  90. package/src/tool/refreshRateDetector/i18n/fr.ts +7 -7
  91. package/src/tool/refreshRateDetector/i18n/id.ts +3 -3
  92. package/src/tool/refreshRateDetector/i18n/nl.ts +3 -3
  93. package/src/tool/refreshRateDetector/i18n/pl.ts +2 -2
  94. package/src/tool/refreshRateDetector/i18n/pt.ts +3 -3
  95. package/src/tool/refreshRateDetector/i18n/ru.ts +4 -4
  96. package/src/tool/refreshRateDetector/i18n/sv.ts +3 -3
  97. package/src/tool/refreshRateDetector/i18n/tr.ts +2 -2
  98. package/src/tool/refreshRateDetector/i18n/zh.ts +2 -2
  99. package/src/tool/toneGenerator/bibliography.ts +8 -8
  100. package/src/tool/toneGenerator/i18n/de.ts +1 -1
  101. package/src/tool/toneGenerator/i18n/en.ts +1 -1
  102. package/src/tool/toneGenerator/i18n/fr.ts +3 -3
  103. package/src/tool/toneGenerator/i18n/id.ts +1 -1
  104. package/src/tool/toneGenerator/i18n/it.ts +1 -1
  105. package/src/tool/toneGenerator/i18n/nl.ts +1 -1
  106. package/src/tool/toneGenerator/i18n/pl.ts +2 -2
  107. package/src/tool/toneGenerator/i18n/pt.ts +1 -1
  108. package/src/tool/toneGenerator/i18n/ru.ts +4 -4
  109. package/src/tool/toneGenerator/i18n/sv.ts +1 -1
  110. package/src/tool/toneGenerator/i18n/zh.ts +3 -3
  111. package/src/tools.ts +2 -1
@@ -14,7 +14,7 @@ const faqData = [
14
14
  },
15
15
  {
16
16
  question: '我可以通过软件修复漂移吗?',
17
- answer: '如果漂移较轻,您可以在游戏设置中配置更大的“死区 (Dead Zone)”。这将忽略中心位置的微小摇杆移动。',
17
+ answer: '如果漂移较轻,您可以在游戏设置中配置更大的"死区 (Dead Zone)"。这将忽略中心位置的微小摇杆移动。',
18
18
  },
19
19
  {
20
20
  question: '是否兼容 PS5、Xbox 和 Switch 控制器?',
@@ -2,12 +2,12 @@ import type { BibliographyEntry } from '../../../types';
2
2
 
3
3
  export const bibliography: BibliographyEntry[] = [
4
4
 
5
- {
6
- name: 'How haptic vibration works HobbyConsolas',
7
- url: 'https://www.hobbyconsolas.com/reportajes/como-funciona-vibracion-haptica-mando-dualsense-ps5-757673',
8
- },
9
- {
10
- name: 'Gamepad API W3C',
11
- url: 'https://w3c.github.io/gamepad/',
12
- },
5
+ {
6
+ name: 'How haptic vibration works -HobbyConsolas',
7
+ url: 'https://www.hobbyconsolas.com/reportajes/como-funciona-vibracion-haptica-mando-dualsense-ps5-757673',
8
+ },
9
+ {
10
+ name: 'Gamepad API -W3C',
11
+ url: 'https://w3c.github.io/gamepad/',
12
+ },
13
13
  ];
@@ -133,7 +133,7 @@ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
133
133
  presetHeartbeatDesc: 'Palpitaciones sutiles consecutivas. Perfecto para ver retenciones inerciales.',
134
134
  presetSongTitle: 'Ritmo Moneda',
135
135
  presetSongDesc: 'Simula el ruido de monedas consecutivas. Corto y táctil.',
136
- presetRockYouTitle: 'Rock You!',
136
+ presetRockYouTitle: '¡Rock You!',
137
137
  presetRockYouDesc: "El clásico de Queen en tus manos: pum, pum, ¡clap!",
138
138
  presetEarthquakeTitle: '¡Terremoto Máximo!',
139
139
  presetEarthquakeDesc: 'Ambos motores al 100% de fuerza explosiva. MUY intenso.',
@@ -106,7 +106,7 @@ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
106
106
  { type: 'title', text: 'Architecture Dual-Rumble vs. Actionneurs Linéaires', level: 3 },
107
107
  {
108
108
  type: 'paragraph',
109
- html: "Les manettes classiques (Xbox, DualShock) utilisent deux micromoteurs asymétriques : le gauche génère des vibrations graves et profondes ; le droit produit des bourdonnements aigus et rapides. Les appareils avancés comme le DualSense utilisent des actionneurs linéaires qui simulent textures et résistance.",
109
+ html: "Les manettes classiques (Xbox, DualShock) utilisent deux micromoteurs asymétriques: le gauche génère des vibrations graves et profondes ; le droit produit des bourdonnements aigus et rapides. Les appareils avancés comme le DualSense utilisent des actionneurs linéaires qui simulent textures et résistance.",
110
110
  },
111
111
  ],
112
112
  ui: {
@@ -129,7 +129,7 @@ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
129
129
  presetSongTitle: 'Rythme Pièce',
130
130
  presetSongDesc: 'Simule le son de pièces collectées. Court et tactile.',
131
131
  presetRockYouTitle: 'Rock You!',
132
- presetRockYouDesc: "Le classique de Queen dans vos mains : boum, boum, clap !",
132
+ presetRockYouDesc: "Le classique de Queen dans vos mains: boum, boum, clap !",
133
133
  presetEarthquakeTitle: 'Tremblement Maximal !',
134
134
  presetEarthquakeDesc: 'Les deux moteurs à 100% de force explosive. TRÈS intense.',
135
135
  customStrongLabel: 'Force Grave (Gauche)',
@@ -22,12 +22,12 @@ const faqData = [
22
22
  {
23
23
  question: 'Правая сторона моего геймпада вибрирует меньше левой, это нормально?',
24
24
  answer:
25
- 'Да, совершенно нормально. Геймпады обычно имеют асимметричную конструкцию, где одна сторона отвечает за сильную, глубокую вибрацию, а другая за быструю, легкую вибрацию.',
25
+ 'Да, совершенно нормально. Геймпады обычно имеют асимметричную конструкцию, где одна сторона отвечает за сильную, глубокую вибрацию, а другая -за быструю, легкую вибрацию.',
26
26
  },
27
27
  {
28
28
  question: 'Сильно ли эти тесты расходуют заряд батареи?',
29
29
  answer:
30
- 'Вибрация одна из самых энергоемких функций беспроводного геймпада. Проведение непрерывных длительных тестов разрядит батарею быстрее, чем обычно.',
30
+ 'Вибрация -одна из самых энергоемких функций беспроводного геймпада. Проведение непрерывных длительных тестов разрядит батарею быстрее, чем обычно.',
31
31
  },
32
32
  ];
33
33
 
@@ -96,7 +96,7 @@ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
96
96
  { type: 'title', text: 'Как проверить вибрацию геймпада', level: 2 },
97
97
  {
98
98
  type: 'paragraph',
99
- html: 'Тактильная отдача один из самых захватывающих элементов игрового оборудования. Когда мотор выходит из строя, первыми признаками обычно являются ненормальное жужжание или асимметричная вибрация. Ранняя диагностика предотвращает серьезные поломки.',
99
+ html: 'Тактильная отдача -один из самых захватывающих элементов игрового оборудования. Когда мотор выходит из строя, первыми признаками обычно являются ненормальное жужжание или асимметричная вибрация. Ранняя диагностика предотвращает серьезные поломки.',
100
100
  },
101
101
  { type: 'title', text: 'Зачем проводить тест вибрации?', level: 3 },
102
102
  {
@@ -16,7 +16,15 @@
16
16
  --tt-kb-bg: #e2e8f0;
17
17
 
18
18
  width: 100%;
19
+ max-width: 100%;
19
20
  color: var(--tt-text);
21
+ overflow-x: clip;
22
+ }
23
+
24
+ .tt-wrapper *,
25
+ .tt-wrapper *::before,
26
+ .tt-wrapper *::after {
27
+ box-sizing: border-box;
20
28
  }
21
29
 
22
30
  .theme-dark .tt-wrapper {
@@ -58,6 +66,8 @@ body.is-widget .tt-wrapper > div {
58
66
  padding: 2rem;
59
67
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
60
68
  border: 1px solid var(--tt-border);
69
+ max-width: 100%;
70
+ overflow: hidden;
61
71
  }
62
72
 
63
73
  .tt-header {
@@ -167,7 +177,7 @@ body.is-widget .tt-wrapper > div {
167
177
  .tt-keyboard-wrapper {
168
178
  position: relative;
169
179
  width: 100%;
170
- overflow-x: auto;
180
+ overflow: hidden;
171
181
  padding-bottom: 1rem;
172
182
  display: flex;
173
183
  justify-content: center;
@@ -181,7 +191,9 @@ body.is-widget .tt-wrapper > div {
181
191
  flex-direction: column;
182
192
  gap: 0.25rem;
183
193
  user-select: none;
194
+ width: 900px;
184
195
  min-width: 900px;
196
+ transform-origin: top center;
185
197
  }
186
198
 
187
199
  .tt-row {
@@ -323,4 +335,105 @@ body.is-widget .tt-wrapper > div {
323
335
  border-radius: 0.375rem;
324
336
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
325
337
  flex-shrink: 0;
326
- }
338
+ }
339
+
340
+ @media (max-width: 760px) {
341
+ .tt-container {
342
+ padding: 0;
343
+ }
344
+
345
+ body.is-widget .tt-wrapper > div {
346
+ padding: 0;
347
+ }
348
+
349
+ .tt-card {
350
+ border-radius: 0.875rem;
351
+ padding: 1rem;
352
+ }
353
+
354
+ .tt-header {
355
+ margin-bottom: 1rem;
356
+ }
357
+
358
+ .tt-title {
359
+ font-size: 1.5rem;
360
+ }
361
+
362
+ .tt-description {
363
+ font-size: 0.875rem;
364
+ }
365
+
366
+ .tt-stats {
367
+ display: grid;
368
+ grid-template-columns: 1fr auto;
369
+ width: 100%;
370
+ gap: 0.75rem;
371
+ }
372
+
373
+ .tt-stat-box {
374
+ min-width: 0;
375
+ padding: 0.75rem;
376
+ border-radius: 0.75rem;
377
+ }
378
+
379
+ .tt-stat-label {
380
+ font-size: 0.65rem;
381
+ }
382
+
383
+ .tt-stat-value {
384
+ font-size: 1.75rem;
385
+ }
386
+
387
+ .tt-reset-btn {
388
+ width: 3.5rem;
389
+ min-height: 100%;
390
+ border-radius: 0.75rem;
391
+ }
392
+
393
+ .tt-keyboard-wrapper {
394
+ --tt-keyboard-scale: 0.82;
395
+
396
+ min-height: calc(20rem * var(--tt-keyboard-scale));
397
+ padding-bottom: 0;
398
+ align-items: flex-start;
399
+ }
400
+
401
+ .tt-keyboard {
402
+ transform: scale(var(--tt-keyboard-scale));
403
+ margin-bottom: calc((20rem * var(--tt-keyboard-scale)) - 20rem);
404
+ }
405
+
406
+ .tt-event-log {
407
+ height: 2.25rem;
408
+ }
409
+ }
410
+
411
+ @media (max-width: 680px) {
412
+ .tt-keyboard-wrapper {
413
+ --tt-keyboard-scale: 0.72;
414
+ }
415
+ }
416
+
417
+ @media (max-width: 600px) {
418
+ .tt-keyboard-wrapper {
419
+ --tt-keyboard-scale: 0.62;
420
+ }
421
+ }
422
+
423
+ @media (max-width: 520px) {
424
+ .tt-keyboard-wrapper {
425
+ --tt-keyboard-scale: 0.52;
426
+ }
427
+ }
428
+
429
+ @media (max-width: 440px) {
430
+ .tt-keyboard-wrapper {
431
+ --tt-keyboard-scale: 0.42;
432
+ }
433
+ }
434
+
435
+ @media (max-width: 360px) {
436
+ .tt-keyboard-wrapper {
437
+ --tt-keyboard-scale: 0.36;
438
+ }
439
+ }
@@ -2,12 +2,12 @@ import type { BibliographyEntry } from '../../../types';
2
2
 
3
3
  export const bibliography: BibliographyEntry[] = [
4
4
 
5
- {
6
- name: 'Gamepad Polling Rate Logitech',
7
- url: 'https://www.logitechg.com/en-us/innovation/delta-zero.html',
8
- },
9
- {
10
- name: 'USB HID Polling Rate USB Implementers Forum',
11
- url: 'https://www.usb.org/hid',
12
- },
5
+ {
6
+ name: 'Gamepad Polling Rate -Logitech',
7
+ url: 'https://www.logitechg.com/en-us/innovation/delta-zero.html',
8
+ },
9
+ {
10
+ name: 'USB HID Polling Rate -USB Implementers Forum',
11
+ url: 'https://www.usb.org/hid',
12
+ },
13
13
  ];
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Polling Rate Stufen und ihre Verwendung', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> Die Maus meldet alle 8 Millisekunden. Gut für die Büroarbeit, fühlt sich aber auf 144Hz-Monitoren ruckelig an. <strong>1000 Hz</strong> Der Goldstandard für Gaming: meldet jede Millisekunde (1 ms). Flüssige Bewegung ohne spürbare Verzögerung. <strong>8000 Hz</strong> Modernste Technologie (Razer, Logitech). Meldet alle 0,125 ms, erfordert aber eine starke CPU.',
104
+ html: '<strong>125 Hz</strong> -Die Maus meldet alle 8 Millisekunden. Gut für die Büroarbeit, fühlt sich aber auf 144Hz-Monitoren ruckelig an. <strong>1000 Hz</strong> -Der Goldstandard für Gaming: meldet jede Millisekunde (1 ms). Flüssige Bewegung ohne spürbare Verzögerung. <strong>8000 Hz</strong> -Modernste Technologie (Razer, Logitech). Meldet alle 0,125 ms, erfordert aber eine starke CPU.',
105
105
  },
106
106
  { type: 'title', text: 'Warum schwanken meine Hz?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Polling Rate Levels and Their Uses', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> The mouse reports every 8 milliseconds. Fine for office use but feels choppy on 144Hz monitors. <strong>1000 Hz</strong> The gaming gold standard: reports every 1 ms. Smooth movement with no perceptible delay. <strong>8000 Hz</strong> Cutting-edge technology (Razer, Logitech). Reports every 0.125 ms but requires a powerful CPU.',
104
+ html: '<strong>125 Hz</strong> -The mouse reports every 8 milliseconds. Fine for office use but feels choppy on 144Hz monitors. <strong>1000 Hz</strong> -The gaming gold standard: reports every 1 ms. Smooth movement with no perceptible delay. <strong>8000 Hz</strong> -Cutting-edge technology (Razer, Logitech). Reports every 0.125 ms but requires a powerful CPU.',
105
105
  },
106
106
  { type: 'title', text: 'Why Do My Hz Fluctuate?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Niveles de Polling Rate y sus usos', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> El ratón informa cada 8 milisegundos. Perfecto para uso de oficina, pero se nota a tirones en monitores de 144Hz. <strong>1000 Hz</strong> El estándar de oro del gaming: informa cada 1 ms. Movimiento fluido y sin retraso perceptible. <strong>8000 Hz</strong> Tecnología punta (Razer, Logitech). Informa cada 0.125 ms, pero requiere una CPU potente.',
104
+ html: '<strong>125 Hz</strong> -El ratón informa cada 8 milisegundos. Perfecto para uso de oficina, pero se nota a tirones en monitores de 144Hz. <strong>1000 Hz</strong> -El estándar de oro del gaming: informa cada 1 ms. Movimiento fluido y sin retraso perceptible. <strong>8000 Hz</strong> -Tecnología punta (Razer, Logitech). Informa cada 0.125 ms, pero requiere una CPU potente.',
105
105
  },
106
106
  { type: 'title', text: '¿Por qué mis Hz fluctúan?', level: 3 },
107
107
  {
@@ -101,17 +101,17 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Niveaux de Taux de Sondage et Leurs Usages', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: "<strong>125 Hz</strong> La souris communique toutes les 8 ms. Parfait pour un usage bureautique, mais saccadé sur un écran 144Hz. <strong>1000 Hz</strong> L'étalon-or du gaming : communication toutes les 1 ms, mouvement fluide. <strong>8000 Hz</strong> Technologie de pointe (Razer, Logitech), nécessite un processeur puissant.",
104
+ html: "<strong>125 Hz</strong> -La souris communique toutes les 8 ms. Parfait pour un usage bureautique, mais saccadé sur un écran 144Hz. <strong>1000 Hz</strong> -L'étalon-or du gaming: communication toutes les 1 ms, mouvement fluide. <strong>8000 Hz</strong> -Technologie de pointe (Razer, Logitech), nécessite un processeur puissant.",
105
105
  },
106
106
  { type: 'title', text: 'Pourquoi mes Hz fluctuent-ils ?', level: 3 },
107
107
  {
108
108
  type: 'paragraph',
109
109
  html: "Tout à fait normal. La plupart des souris modernes ont un taux de sondage dynamique pour économiser l'énergie. En déplaçant lentement la souris, elle envoie moins de rapports car il y a moins de nouvelles données. Seuls des mouvements rapides et continus poussent le capteur à son vrai pic maximum.",
110
110
  },
111
- { type: 'title', text: 'Taux de Sondage vs DPI : La Grande Confusion', level: 3 },
111
+ { type: 'title', text: 'Taux de Sondage vs DPI: La Grande Confusion', level: 3 },
112
112
  {
113
113
  type: 'paragraph',
114
- html: "<strong>DPI (Dots Per Inch)</strong> est la sensibilité : combien de pixels le curseur parcourt par pouce de déplacement physique. <strong>Hz (Taux de Sondage)</strong> est la fréquence de mise à jour : avec quelle fluidité et actualité ce mouvement est reporté. Les deux paramètres sont indépendants et complémentaires.",
114
+ html: "<strong>DPI (Dots Per Inch)</strong> est la sensibilité: combien de pixels le curseur parcourt par pouce de déplacement physique. <strong>Hz (Taux de Sondage)</strong> est la fréquence de mise à jour: avec quelle fluidité et actualité ce mouvement est reporté. Les deux paramètres sont indépendants et complémentaires.",
115
115
  },
116
116
  ],
117
117
  ui: {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Tingkat Polling Rate dan Kegunaannya', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> Mouse melapor setiap 8 milidetik. Baik untuk penggunaan kantor tetapi terasa patah-patah pada monitor 144Hz. <strong>1000 Hz</strong> Standar emas gaming: melapor setiap 1 ms. Gerakan mulus tanpa lag yang terasa. <strong>8000 Hz</strong> Teknologi mutakhir (Razer, Logitech). Melapor setiap 0,125 ms tetapi membutuhkan CPU yang kuat.',
104
+ html: '<strong>125 Hz</strong> -Mouse melapor setiap 8 milidetik. Baik untuk penggunaan kantor tetapi terasa patah-patah pada monitor 144Hz. <strong>1000 Hz</strong> -Standar emas gaming: melapor setiap 1 ms. Gerakan mulus tanpa lag yang terasa. <strong>8000 Hz</strong> -Teknologi mutakhir (Razer, Logitech). Melapor setiap 0,125 ms tetapi membutuhkan CPU yang kuat.',
105
105
  },
106
106
  { type: 'title', text: 'Mengapa Hz saya Berfluktuasi?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Livelli di Polling Rate e loro utilizzi', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> Il mouse comunica ogni 8 millisecondi. Va bene per l\'ufficio ma appare a scatti sui monitor a 144Hz. <strong>1000 Hz</strong> Lo standard d\'oro per il gaming: comunica ogni 1 ms. Movimento fluido senza ritardi percettibili. <strong>8000 Hz</strong> Tecnologia all\'avanguardia (Razer, Logitech). Comunica ogni 0,125 ms ma richiede una CPU potente.',
104
+ html: '<strong>125 Hz</strong> -Il mouse comunica ogni 8 millisecondi. Va bene per l\'ufficio ma appare a scatti sui monitor a 144Hz. <strong>1000 Hz</strong> -Lo standard d\'oro per il gaming: comunica ogni 1 ms. Movimento fluido senza ritardi percettibili. <strong>8000 Hz</strong> -Tecnologia all\'avanguardia (Razer, Logitech). Comunica ogni 0,125 ms ma richiede una CPU potente.',
105
105
  },
106
106
  { type: 'title', text: 'Perché i miei Hz fluttuano?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'ポーリングレートの種類と用途', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> 8ミリ秒ごとに報告。一般事務用途には十分ですが、144Hzモニターでは動きが荒く感じられます。<strong>1000 Hz</strong> — ゲーミングの標準:1ミリ秒ごとに報告。感知できる遅延のないスムーズな動き。<strong>8000 Hz</strong> — 最新技術(Razer、Logitechなど)。0.125ミリ秒ごとに報告しますが、ハイスペックなCPUが必要です。',
104
+ html: '<strong>125 Hz</strong> -8ミリ秒ごとに報告。一般事務用途には十分ですが、144Hzモニターでは動きが荒く感じられます。<strong>1000 Hz</strong> -ゲーミングの標準:1ミリ秒ごとに報告。感知できる遅延のないスムーズな動き。<strong>8000 Hz</strong> -最新技術(Razer、Logitechなど)。0.125ミリ秒ごとに報告しますが、ハイスペックなCPUが必要です。',
105
105
  },
106
106
  { type: 'title', text: 'Hzが変動するのはなぜですか?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: '폴링 레이트 단계 및 용도', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> 마우스가 8밀리초마다 보고합니다. 사무용으로는 괜찮지만 144Hz 모니터에서는 끊겨 보일 수 있습니다. <strong>1000 Hz</strong> 게이밍의 표준: 1ms마다 보고합니다. 눈에 띄는 지연 없는 부드러운 움직임을 제공합니다. <strong>8000 Hz</strong> 최첨단 기술(Razer, Logitech). 0.125ms마다 보고하지만 고성능 CPU가 필요합니다.',
104
+ html: '<strong>125 Hz</strong> -마우스가 8밀리초마다 보고합니다. 사무용으로는 괜찮지만 144Hz 모니터에서는 끊겨 보일 수 있습니다. <strong>1000 Hz</strong> -게이밍의 표준: 1ms마다 보고합니다. 눈에 띄는 지연 없는 부드러운 움직임을 제공합니다. <strong>8000 Hz</strong> -최첨단 기술(Razer, Logitech). 0.125ms마다 보고하지만 고성능 CPU가 필요합니다.',
105
105
  },
106
106
  { type: 'title', text: 'Hz 수치가 왜 변동하나요?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Polling Rate Niveaus en hun Gebruik', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> De muis rapporteert elke 8 milliseconden. Prima voor kantoorgebruik, maar voelt schokkerig aan op 144Hz monitoren. <strong>1000 Hz</strong> De gouden standaard voor gaming: rapporteert elke 1 ms. Vloeiende beweging zonder merkbare vertraging. <strong>8000 Hz</strong> Geavanceerde technologie (Razer, Logitech). Rapporteert elke 0,125 ms, maar vereist een krachtige CPU.',
104
+ html: '<strong>125 Hz</strong> -De muis rapporteert elke 8 milliseconden. Prima voor kantoorgebruik, maar voelt schokkerig aan op 144Hz monitoren. <strong>1000 Hz</strong> -De gouden standaard voor gaming: rapporteert elke 1 ms. Vloeiende beweging zonder merkbare vertraging. <strong>8000 Hz</strong> -Geavanceerde technologie (Razer, Logitech). Rapporteert elke 0,125 ms, maar vereist een krachtige CPU.',
105
105
  },
106
106
  { type: 'title', text: 'Waarom fluctueren mijn Hz?', level: 3 },
107
107
  {
@@ -96,12 +96,12 @@ export const content: ToolLocaleContent<TestRatonUI> = {
96
96
  { type: 'title', text: 'Definitywny Przewodnik po Polling Rate', level: 2 },
97
97
  {
98
98
  type: 'paragraph',
99
- html: 'Gdy fizycznie poruszasz myszką po podkładce, ten analogowy ruch musi zostać przetłumaczony na sygnały cyfrowe zrozumiałe dla komputera. <strong>Polling Rate</strong> to częstotliwość, z jaką mysz raportuje swoją pozycję do PC. Mierzy się ją w Hercach (Hz).',
99
+ html: 'Gdy fizycznie poruszasz myszką po podkładce, ten analogowy ruch musi zostać przetłumaczony na sygnały cyfrowe zrozumiałe dla komputera. <strong>Polling Rate</strong> to częstotliwość, z jaką mysz "raportuje" swoją pozycję do PC. Mierzy się ją w Hercach (Hz).',
100
100
  },
101
101
  { type: 'title', text: 'Poziomy Polling Rate i ich zastosowania', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> Mysz raportuje co 8 milisekund. Dobre do pracy biurowej, ale wydaje się rwane na monitorach 144Hz. <strong>1000 Hz</strong> Złoty standard gamingowy: raportuje co 1 ms. Płynny ruch bez odczuwalnych opóźnień. <strong>8000 Hz</strong> Najnowocześniejsza technologia (Razer, Logitech). Raportuje co 0,125 ms, ale wymaga mocnego procesora.',
104
+ html: '<strong>125 Hz</strong> -Mysz raportuje co 8 milisekund. Dobre do pracy biurowej, ale wydaje się rwane na monitorach 144Hz. <strong>1000 Hz</strong> -Złoty standard gamingowy: raportuje co 1 ms. Płynny ruch bez odczuwalnych opóźnień. <strong>8000 Hz</strong> -Najnowocześniejsza technologia (Razer, Logitech). Raportuje co 0,125 ms, ale wymaga mocnego procesora.',
105
105
  },
106
106
  { type: 'title', text: 'Dlaczego moje Hz wahają się?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Níveis de Polling Rate e Seus Usos', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> O rato comunica a cada 8 milissegundos. Bom para uso de escritório, mas parece tremido em monitores de 144Hz. <strong>1000 Hz</strong> O padrão de ouro do gaming: comunica a cada 1 ms. Movimento fluido sem atraso percetível. <strong>8000 Hz</strong> Tecnologia de ponta (Razer, Logitech). Comunica a cada 0,125 ms, mas requer um CPU potente.',
104
+ html: '<strong>125 Hz</strong> -O rato comunica a cada 8 milissegundos. Bom para uso de escritório, mas parece tremido em monitores de 144Hz. <strong>1000 Hz</strong> -O padrão de ouro do gaming: comunica a cada 1 ms. Movimento fluido sem atraso percetível. <strong>8000 Hz</strong> -Tecnologia de ponta (Razer, Logitech). Comunica a cada 0,125 ms, mas requer um CPU potente.',
105
105
  },
106
106
  { type: 'title', text: 'Porque é que os meus Hz flutuam?', level: 3 },
107
107
  {
@@ -96,12 +96,12 @@ export const content: ToolLocaleContent<TestRatonUI> = {
96
96
  { type: 'title', text: 'Полное руководство по частоте опроса мыши', level: 2 },
97
97
  {
98
98
  type: 'paragraph',
99
- html: 'Когда вы физически перемещаете мышь по коврику, это аналоговое движение должно быть преобразовано в цифровые сигналы, которые понимает ваш компьютер. <strong>Polling Rate</strong> это частота, с которой мышь «сообщает» свою позицию ПК. Она измеряется в Герцах (Гц).',
99
+ html: 'Когда вы физически перемещаете мышь по коврику, это аналоговое движение должно быть преобразовано в цифровые сигналы, которые понимает ваш компьютер. <strong>Polling Rate</strong> -это частота, с которой мышь "сообщает" свою позицию ПК. Она измеряется в Герцах (Гц).',
100
100
  },
101
101
  { type: 'title', text: 'Уровни частоты опроса и их использование', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Гц</strong> Мышь отправляет отчет каждые 8 миллисекунд. Подходит для офисного использования, но движения кажутся прерывистыми на мониторах 144 Гц. <strong>1000 Гц</strong> Золотой стандарт гейминга: отчет каждую 1 мс. Плавное движение без видимых задержек. <strong>8000 Гц</strong> Новейшие технологии (Razer, Logitech). Отчет каждые 0,125 мс, но требуется мощный процессор.',
104
+ html: '<strong>125 Гц</strong> -Мышь отправляет отчет каждые 8 миллисекунд. Подходит для офисного использования, но движения кажутся прерывистыми на мониторах 144 Гц. <strong>1000 Гц</strong> -Золотой стандарт гейминга: отчет каждую 1 мс. Плавное движение без видимых задержек. <strong>8000 Гц</strong> -Новейшие технологии (Razer, Logitech). Отчет каждые 0,125 мс, но требуется мощный процессор.',
105
105
  },
106
106
  { type: 'title', text: 'Почему частота Гц колеблется?', level: 3 },
107
107
  {
@@ -111,7 +111,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
111
111
  { type: 'title', text: 'Polling Rate против DPI: В чем разница', level: 3 },
112
112
  {
113
113
  type: 'paragraph',
114
- html: '<strong>DPI (Dots Per Inch)</strong> это чувствительность: сколько пикселей проходит курсор на дюйм физического перемещения. <strong>Гц (Polling Rate)</strong> это частота обновления: насколько плавно и своевременно сообщается об этом перемещении. Оба параметра независимы и дополняют друг друга.',
114
+ html: '<strong>DPI (Dots Per Inch)</strong> -это чувствительность: сколько пикселей проходит курсор на дюйм физического перемещения. <strong>Гц (Polling Rate)</strong> -это частота обновления: насколько плавно и своевременно сообщается об этом перемещении. Оба параметра независимы и дополняют друг друга.',
115
115
  },
116
116
  ],
117
117
  ui: {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Polling Rate-nivåer och deras användning', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> Musen rapporterar var 8:e millisekund. Okej för kontorsbruk men ser ryckigt ut på 144Hz-monitorer. <strong>1000 Hz</strong> Den gyllene standarden för gaming: rapporterar varje millisekund (1 ms). Mjuk rörelse utan märkbar fördröjning. <strong>8000 Hz</strong> Banbrytande teknologi (Razer, Logitech). Rapporterar var 0,125 ms men kräver en kraftfull CPU.',
104
+ html: '<strong>125 Hz</strong> -Musen rapporterar var 8:e millisekund. Okej för kontorsbruk men ser ryckigt ut på 144Hz-monitorer. <strong>1000 Hz</strong> -Den gyllene standarden för gaming: rapporterar varje millisekund (1 ms). Mjuk rörelse utan märkbar fördröjning. <strong>8000 Hz</strong> -Banbrytande teknologi (Razer, Logitech). Rapporterar var 0,125 ms men kräver en kraftfull CPU.',
105
105
  },
106
106
  { type: 'title', text: 'Varför fluktuerar mina Hz?', level: 3 },
107
107
  {
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<TestRatonUI> = {
101
101
  { type: 'title', text: 'Polling Rate Seviyeleri ve Kullanımları', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> Fare her 8 milisaniyede bir bildirim yapar. Ofis kullanımı için uygundur ancak 144Hz monitörlerde kesik kesik hissettirir. <strong>1000 Hz</strong> Oyun oynamanın altın standardı: her 1 ms\'de bir bildirim yapar. Algılanabilir bir gecikme olmaksızın akıcı hareket. <strong>8000 Hz</strong> En son teknoloji (Razer, Logitech). Her 0,125 ms\'de bir bildirim yapar ancak güçlü bir CPU gerektirir.',
104
+ html: '<strong>125 Hz</strong> -Fare her 8 milisaniyede bir bildirim yapar. Ofis kullanımı için uygundur ancak 144Hz monitörlerde kesik kesik hissettirir. <strong>1000 Hz</strong> -Oyun oynamanın altın standardı: her 1 ms\'de bir bildirim yapar. Algılanabilir bir gecikme olmaksızın akıcı hareket. <strong>8000 Hz</strong> -En son teknoloji (Razer, Logitech). Her 0,125 ms\'de bir bildirim yapar ancak güçlü bir CPU gerektirir.',
105
105
  },
106
106
  { type: 'title', text: 'Hz Neden Dalgalanıyor?', level: 3 },
107
107
  {
@@ -96,12 +96,12 @@ export const content: ToolLocaleContent<TestRatonUI> = {
96
96
  { type: 'title', text: '鼠标回报率权威指南', level: 2 },
97
97
  {
98
98
  type: 'paragraph',
99
- html: '当您在鼠标垫上物理移动鼠标时,这种模拟运动必须转换为电脑理解的数字信号。<strong>回报率 (Polling Rate)</strong> 是鼠标向电脑“报告”其位置的频率。它以赫兹 (Hz) 为单位。',
99
+ html: '当您在鼠标垫上物理移动鼠标时,这种模拟运动必须转换为电脑理解的数字信号。<strong>回报率 (Polling Rate)</strong> 是鼠标向电脑"报告"其位置的频率。它以赫兹 (Hz) 为单位。',
100
100
  },
101
101
  { type: 'title', text: '回报率等级及其用途', level: 3 },
102
102
  {
103
103
  type: 'paragraph',
104
- html: '<strong>125 Hz</strong> 鼠标每 8 毫秒报告一次。适用于办公,但在 144Hz 显示器上会感到卡顿。 <strong>1000 Hz</strong> 游戏黄金标准:每 1 毫秒报告一次。平滑移动,无感知延迟。 <strong>8000 Hz</strong> — 尖端技术(Razer, Logitech)。每 0.125 毫秒报告一次,但需要强劲的 CPU。',
104
+ html: '<strong>125 Hz</strong> -鼠标每 8 毫秒报告一次。适用于办公,但在 144Hz 显示器上会感到卡顿。 <strong>1000 Hz</strong> -游戏黄金标准:每 1 毫秒报告一次。平滑移动,无感知延迟。 <strong>8000 Hz</strong> -尖端技术(Razer, Logitech)。每 0.125 毫秒报告一次,但需要强劲的 CPU。',
105
105
  },
106
106
  { type: 'title', text: '为什么我的 Hz 值会波动?', level: 3 },
107
107
  {
@@ -3,18 +3,10 @@ import type { BibliographyEntry } from '../../types';
3
3
  export const bibliography: BibliographyEntry[] = [
4
4
  {
5
5
  name: 'VESA DisplayPort Standard - Monitor Refresh Rates',
6
- url: 'https://www.vesa.org/standards/',
6
+ url: 'https://vesa.org/displayport-developer/why-displayport/',
7
7
  },
8
8
  {
9
9
  name: 'HDMI Specification - Refresh Rate Support',
10
- url: 'https://www.hdmi.org/spec21Sub1',
11
- },
12
- {
13
- name: 'MDN - requestAnimationFrame API',
14
- url: 'https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame',
15
- },
16
- {
17
- name: 'Screen Refresh Rate - Performance Best Practices',
18
- url: 'https://web.dev/animations-guide/',
19
- },
10
+ url: 'https://silklandtech.com/de/blogs/news/maximum-hdmi-refresh-rate',
11
+ }
20
12
  ];
@@ -122,7 +122,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
122
122
  {
123
123
  type: 'list',
124
124
  items: [
125
- 'Laden Sie diesen Detektor die Messung beginnt sofort',
125
+ 'Laden Sie diesen Detektor - die Messung beginnt sofort',
126
126
  'Wählen Sie zwischen dem schnellen (3s) oder dem stabilen (10s) Messmodus',
127
127
  'Lesen Sie die Hz-Zahl Ihres Monitors auf der Tachometerskala ab',
128
128
  'Vergleichen Sie sie mit Industriestandards (60, 75, 120, 144, 240, 360 Hz)',
@@ -152,7 +152,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
152
152
  {
153
153
  type: 'list',
154
154
  items: [
155
- 'Prüfen Sie die HDMI/DisplayPort-Kabelverbindungen lose Kabel reduzieren die Bandbreite',
155
+ 'Prüfen Sie die HDMI/DisplayPort-Kabelverbindungen - lose Kabel reduzieren die Bandbreite',
156
156
  'Aktualisieren Sie Ihre GPU-Treiber (NVIDIA, AMD, Intel)',
157
157
  'Überprüfen Sie die Betriebssystem-Anzeigeeinstellungen, um sicherzustellen, dass eine hohe Bildwiederholfrequenz aktiviert ist',
158
158
  'Probieren Sie verschiedene Kabel oder Anschlüsse an Ihrem Monitor aus',
@@ -166,7 +166,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
166
166
  },
167
167
  {
168
168
  type: 'paragraph',
169
- html: 'Dieses Tool verwendet die requestAnimationFrame-API des Browsers, die direkt mit dem Aktualisierungszyklus Ihres Monitors synchronisiert wird. Durch Messen der Zeit zwischen den Animationsframes berechnen wir Ihre exakte Bildwiederholfrequenz mit hoher Präzision keine spezielle Hardware erforderlich.',
169
+ html: 'Dieses Tool verwendet die requestAnimationFrame-API des Browsers, die direkt mit dem Aktualisierungszyklus Ihres Monitors synchronisiert wird. Durch Messen der Zeit zwischen den Animationsframes berechnen wir Ihre exakte Bildwiederholfrequenz mit hoher Präzision - keine spezielle Hardware erforderlich.',
170
170
  },
171
171
  ],
172
172
  ui: {
@@ -122,7 +122,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
122
122
  {
123
123
  type: 'list',
124
124
  items: [
125
- 'Load this detectormeasurement begins immediately',
125
+ 'Load this detector-measurement begins immediately',
126
126
  'Choose between Fast (3s) or Stable (10s) measurement mode',
127
127
  'Read your monitor\'s Hz from the speedometer dial',
128
128
  'Compare against industry standards (60, 75, 120, 144, 240, 360Hz)',
@@ -152,7 +152,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
152
152
  {
153
153
  type: 'list',
154
154
  items: [
155
- 'Check HDMI/DisplayPort cable connectionsloose cables reduce bandwidth',
155
+ 'Check HDMI/DisplayPort cable connections-loose cables reduce bandwidth',
156
156
  'Update your GPU drivers (NVIDIA, AMD, Intel)',
157
157
  'Check OS display settings to ensure high refresh rate is enabled',
158
158
  'Try different cables or ports on your monitor',
@@ -166,7 +166,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
166
166
  },
167
167
  {
168
168
  type: 'paragraph',
169
- html: 'This tool uses the browser\'s requestAnimationFrame API, which synchronizes directly with your monitor\'s refresh cycle. By measuring the time between animation frames, we calculate your exact refresh rate with high precisionno special hardware needed.',
169
+ html: 'This tool uses the browser\'s requestAnimationFrame API, which synchronizes directly with your monitor\'s refresh cycle. By measuring the time between animation frames, we calculate your exact refresh rate with high precision-no special hardware needed.',
170
170
  },
171
171
  ],
172
172
  ui: {
@@ -22,7 +22,7 @@ const faqData = [
22
22
  },
23
23
  {
24
24
  question: 'Pourquoi mon Hz détecté est-il différent de ce qu\'indique mon moniteur ?',
25
- answer: 'Cela peut arriver si : votre connexion par câble est lâche, vos pilotes sont obsolètes ou la mise à l\'échelle de votre système d\'exploitation interfère. Essayez de débrancher et de rebrancher votre câble d\'affichage, ou de mettre à jour les pilotes de votre GPU.',
25
+ answer: 'Cela peut arriver si: votre connexion par câble est lâche, vos pilotes sont obsolètes ou la mise à l\'échelle de votre système d\'exploitation interfère. Essayez de débrancher et de rebrancher votre câble d\'affichage, ou de mettre à jour les pilotes de votre GPU.',
26
26
  },
27
27
  {
28
28
  question: 'Quels taux de rafraîchissement les moniteurs modernes prennent-ils en charge ?',
@@ -48,7 +48,7 @@ const howToData = [
48
48
  text: 'L\'outil affiche la norme correspondant à votre moniteur (60, 75, 120, 144, 240, 360Hz).',
49
49
  },
50
50
  {
51
- name: 'Optionnel : test de saut d\'images',
51
+ name: 'Optionnel: test de saut d\'images',
52
52
  text: 'Observez le carré animé traverser l\'écran pour confirmer visuellement la fluidité.',
53
53
  },
54
54
  ];
@@ -98,7 +98,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
98
98
  seo: [
99
99
  {
100
100
  type: 'title',
101
- text: 'Détecteur de Taux de Rafraîchissement du Moniteur : Testez les Hz de votre Écran en Ligne',
101
+ text: 'Détecteur de Taux de Rafraîchissement du Moniteur: Testez les Hz de votre Écran en Ligne',
102
102
  level: 2,
103
103
  },
104
104
  {
@@ -122,7 +122,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
122
122
  {
123
123
  type: 'list',
124
124
  items: [
125
- 'Chargez ce détecteur la mesure commence immédiatement',
125
+ 'Chargez ce détecteur -la mesure commence immédiatement',
126
126
  'Choisissez entre le mode de mesure Rapide (3s) ou Stable (10s)',
127
127
  'Lisez les Hz de votre moniteur sur le cadran du tachymètre',
128
128
  'Comparez aux normes de l\'industrie (60, 75, 120, 144, 240, 360Hz)',
@@ -146,13 +146,13 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
146
146
  },
147
147
  {
148
148
  type: 'title',
149
- text: 'Dépannage : L\'Écran Affiche moins de Hz que Prévu',
149
+ text: 'Dépannage: L\'Écran Affiche moins de Hz que Prévu',
150
150
  level: 3,
151
151
  },
152
152
  {
153
153
  type: 'list',
154
154
  items: [
155
- 'Vérifiez les connexions du câble HDMI/DisplayPort des câbles lâches réduisent la bande passante',
155
+ 'Vérifiez les connexions du câble HDMI/DisplayPort -des câbles lâches réduisent la bande passante',
156
156
  'Mettez à jour vos pilotes GPU (NVIDIA, AMD, Intel)',
157
157
  'Vérifiez les paramètres d\'affichage de l\'OS pour vous assurer que le taux de rafraîchissement élevé est activé',
158
158
  'Essayez différents câbles ou ports sur votre moniteur',
@@ -166,7 +166,7 @@ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
166
166
  },
167
167
  {
168
168
  type: 'paragraph',
169
- html: 'Cet outil utilise l\'API requestAnimationFrame du navigateur, qui se synchronise directement avec le cycle de rafraîchissement de votre moniteur. En mesurant le temps entre les images d\'animation, nous calculons votre taux de rafraîchissement exact avec une grande précision aucun matériel spécial n\'est requis.',
169
+ html: 'Cet outil utilise l\'API requestAnimationFrame du navigateur, qui se synchronise directement avec le cycle de rafraîchissement de votre moniteur. En mesurant le temps entre les images d\'animation, nous calculons votre taux de rafraîchissement exact avec une grande précision -aucun matériel spécial n\'est requis.',
170
170
  },
171
171
  ],
172
172
  ui: {