@jjlmoya/utils-hardware 1.15.0 → 1.17.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 (178) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/ru.ts +5 -5
  3. package/src/category/index.ts +3 -1
  4. package/src/entries.ts +7 -1
  5. package/src/index.ts +2 -0
  6. package/src/pages/[locale]/[slug].astro +28 -12
  7. package/src/tests/locale_completeness.test.ts +7 -21
  8. package/src/tests/no_h1_in_components.test.ts +1 -1
  9. package/src/tests/shared-test-helpers.ts +56 -0
  10. package/src/tests/tool_exports.test.ts +34 -0
  11. package/src/tests/tool_validation.test.ts +2 -2
  12. package/src/tool/batteryHealthEstimator/bibliography.ts +13 -0
  13. package/src/tool/batteryHealthEstimator/i18n/de.ts +3 -13
  14. package/src/tool/batteryHealthEstimator/i18n/en.ts +3 -13
  15. package/src/tool/batteryHealthEstimator/i18n/es.ts +2 -12
  16. package/src/tool/batteryHealthEstimator/i18n/fr.ts +3 -13
  17. package/src/tool/batteryHealthEstimator/i18n/id.ts +3 -13
  18. package/src/tool/batteryHealthEstimator/i18n/it.ts +2 -12
  19. package/src/tool/batteryHealthEstimator/i18n/ja.ts +2 -12
  20. package/src/tool/batteryHealthEstimator/i18n/ko.ts +2 -12
  21. package/src/tool/batteryHealthEstimator/i18n/nl.ts +3 -13
  22. package/src/tool/batteryHealthEstimator/i18n/pl.ts +3 -13
  23. package/src/tool/batteryHealthEstimator/i18n/pt.ts +3 -13
  24. package/src/tool/batteryHealthEstimator/i18n/ru.ts +7 -17
  25. package/src/tool/batteryHealthEstimator/i18n/sv.ts +3 -13
  26. package/src/tool/batteryHealthEstimator/i18n/tr.ts +3 -13
  27. package/src/tool/batteryHealthEstimator/i18n/zh.ts +3 -13
  28. package/src/tool/batteryHealthEstimator/seo.astro +3 -2
  29. package/src/tool/colorAccuracyTest/bibliography.astro +14 -0
  30. package/src/tool/colorAccuracyTest/bibliography.ts +16 -0
  31. package/src/tool/colorAccuracyTest/color-accuracy-test.css +728 -0
  32. package/src/tool/colorAccuracyTest/component.astro +157 -0
  33. package/src/tool/colorAccuracyTest/entry.ts +29 -0
  34. package/src/tool/colorAccuracyTest/i18n/de.ts +284 -0
  35. package/src/tool/colorAccuracyTest/i18n/en.ts +284 -0
  36. package/src/tool/colorAccuracyTest/i18n/es.ts +284 -0
  37. package/src/tool/colorAccuracyTest/i18n/fr.ts +284 -0
  38. package/src/tool/colorAccuracyTest/i18n/id.ts +284 -0
  39. package/src/tool/colorAccuracyTest/i18n/it.ts +284 -0
  40. package/src/tool/colorAccuracyTest/i18n/ja.ts +284 -0
  41. package/src/tool/colorAccuracyTest/i18n/ko.ts +284 -0
  42. package/src/tool/colorAccuracyTest/i18n/nl.ts +284 -0
  43. package/src/tool/colorAccuracyTest/i18n/pl.ts +284 -0
  44. package/src/tool/colorAccuracyTest/i18n/pt.ts +284 -0
  45. package/src/tool/colorAccuracyTest/i18n/ru.ts +284 -0
  46. package/src/tool/colorAccuracyTest/i18n/sv.ts +284 -0
  47. package/src/tool/colorAccuracyTest/i18n/tr.ts +284 -0
  48. package/src/tool/colorAccuracyTest/i18n/zh.ts +284 -0
  49. package/src/tool/colorAccuracyTest/index.ts +9 -0
  50. package/src/tool/colorAccuracyTest/logic.ts +226 -0
  51. package/src/tool/colorAccuracyTest/seo.astro +15 -0
  52. package/src/tool/colorAccuracyTest/ui.ts +27 -0
  53. package/src/tool/deadPixelTest/bibliography.ts +13 -0
  54. package/src/tool/deadPixelTest/i18n/de.ts +2 -12
  55. package/src/tool/deadPixelTest/i18n/en.ts +2 -12
  56. package/src/tool/deadPixelTest/i18n/es.ts +2 -12
  57. package/src/tool/deadPixelTest/i18n/fr.ts +2 -12
  58. package/src/tool/deadPixelTest/i18n/id.ts +2 -12
  59. package/src/tool/deadPixelTest/i18n/it.ts +2 -12
  60. package/src/tool/deadPixelTest/i18n/ja.ts +2 -12
  61. package/src/tool/deadPixelTest/i18n/ko.ts +2 -12
  62. package/src/tool/deadPixelTest/i18n/nl.ts +2 -12
  63. package/src/tool/deadPixelTest/i18n/pl.ts +2 -12
  64. package/src/tool/deadPixelTest/i18n/pt.ts +2 -12
  65. package/src/tool/deadPixelTest/i18n/ru.ts +2 -12
  66. package/src/tool/deadPixelTest/i18n/sv.ts +2 -12
  67. package/src/tool/deadPixelTest/i18n/tr.ts +2 -12
  68. package/src/tool/deadPixelTest/i18n/zh.ts +2 -12
  69. package/src/tool/deadPixelTest/seo.astro +3 -2
  70. package/src/tool/gamepadTest/bibliography.ts +12 -0
  71. package/src/tool/gamepadTest/i18n/de.ts +2 -12
  72. package/src/tool/gamepadTest/i18n/en.ts +2 -12
  73. package/src/tool/gamepadTest/i18n/es.ts +2 -12
  74. package/src/tool/gamepadTest/i18n/fr.ts +2 -12
  75. package/src/tool/gamepadTest/i18n/id.ts +2 -12
  76. package/src/tool/gamepadTest/i18n/it.ts +2 -12
  77. package/src/tool/gamepadTest/i18n/ja.ts +2 -12
  78. package/src/tool/gamepadTest/i18n/ko.ts +2 -12
  79. package/src/tool/gamepadTest/i18n/nl.ts +2 -12
  80. package/src/tool/gamepadTest/i18n/pl.ts +2 -12
  81. package/src/tool/gamepadTest/i18n/pt.ts +2 -12
  82. package/src/tool/gamepadTest/i18n/ru.ts +3 -13
  83. package/src/tool/gamepadTest/i18n/sv.ts +2 -12
  84. package/src/tool/gamepadTest/i18n/tr.ts +2 -12
  85. package/src/tool/gamepadTest/i18n/zh.ts +2 -12
  86. package/src/tool/gamepadTest/seo.astro +3 -2
  87. package/src/tool/gamepadVibrationTester/bibliography.ts +13 -0
  88. package/src/tool/gamepadVibrationTester/i18n/de.ts +2 -12
  89. package/src/tool/gamepadVibrationTester/i18n/en.ts +2 -12
  90. package/src/tool/gamepadVibrationTester/i18n/es.ts +2 -12
  91. package/src/tool/gamepadVibrationTester/i18n/fr.ts +2 -12
  92. package/src/tool/gamepadVibrationTester/i18n/id.ts +2 -12
  93. package/src/tool/gamepadVibrationTester/i18n/it.ts +2 -12
  94. package/src/tool/gamepadVibrationTester/i18n/ja.ts +2 -12
  95. package/src/tool/gamepadVibrationTester/i18n/ko.ts +2 -12
  96. package/src/tool/gamepadVibrationTester/i18n/nl.ts +2 -12
  97. package/src/tool/gamepadVibrationTester/i18n/pl.ts +2 -12
  98. package/src/tool/gamepadVibrationTester/i18n/pt.ts +2 -12
  99. package/src/tool/gamepadVibrationTester/i18n/ru.ts +5 -15
  100. package/src/tool/gamepadVibrationTester/i18n/sv.ts +2 -12
  101. package/src/tool/gamepadVibrationTester/i18n/tr.ts +2 -12
  102. package/src/tool/gamepadVibrationTester/i18n/zh.ts +2 -12
  103. package/src/tool/gamepadVibrationTester/seo.astro +3 -2
  104. package/src/tool/keyboardTest/bibliography.ts +13 -0
  105. package/src/tool/keyboardTest/i18n/de.ts +2 -12
  106. package/src/tool/keyboardTest/i18n/en.ts +2 -12
  107. package/src/tool/keyboardTest/i18n/es.ts +2 -12
  108. package/src/tool/keyboardTest/i18n/fr.ts +2 -12
  109. package/src/tool/keyboardTest/i18n/id.ts +2 -12
  110. package/src/tool/keyboardTest/i18n/it.ts +2 -12
  111. package/src/tool/keyboardTest/i18n/ja.ts +2 -12
  112. package/src/tool/keyboardTest/i18n/ko.ts +2 -12
  113. package/src/tool/keyboardTest/i18n/nl.ts +2 -12
  114. package/src/tool/keyboardTest/i18n/pl.ts +2 -12
  115. package/src/tool/keyboardTest/i18n/pt.ts +2 -12
  116. package/src/tool/keyboardTest/i18n/ru.ts +2 -12
  117. package/src/tool/keyboardTest/i18n/sv.ts +2 -12
  118. package/src/tool/keyboardTest/i18n/tr.ts +2 -12
  119. package/src/tool/keyboardTest/i18n/zh.ts +2 -12
  120. package/src/tool/keyboardTest/seo.astro +3 -2
  121. package/src/tool/mousePollingTest/bibliography.ts +13 -0
  122. package/src/tool/mousePollingTest/i18n/de.ts +3 -13
  123. package/src/tool/mousePollingTest/i18n/en.ts +3 -13
  124. package/src/tool/mousePollingTest/i18n/es.ts +3 -13
  125. package/src/tool/mousePollingTest/i18n/fr.ts +3 -13
  126. package/src/tool/mousePollingTest/i18n/id.ts +3 -13
  127. package/src/tool/mousePollingTest/i18n/it.ts +3 -13
  128. package/src/tool/mousePollingTest/i18n/ja.ts +3 -13
  129. package/src/tool/mousePollingTest/i18n/ko.ts +3 -13
  130. package/src/tool/mousePollingTest/i18n/nl.ts +3 -13
  131. package/src/tool/mousePollingTest/i18n/pl.ts +3 -13
  132. package/src/tool/mousePollingTest/i18n/pt.ts +3 -13
  133. package/src/tool/mousePollingTest/i18n/ru.ts +5 -15
  134. package/src/tool/mousePollingTest/i18n/sv.ts +3 -13
  135. package/src/tool/mousePollingTest/i18n/tr.ts +3 -13
  136. package/src/tool/mousePollingTest/i18n/zh.ts +3 -13
  137. package/src/tool/mousePollingTest/seo.astro +3 -2
  138. package/src/tool/refreshRateDetector/bibliography.astro +14 -0
  139. package/src/tool/refreshRateDetector/bibliography.ts +12 -0
  140. package/src/tool/refreshRateDetector/component.astro +206 -0
  141. package/src/tool/refreshRateDetector/entry.ts +29 -0
  142. package/src/tool/refreshRateDetector/i18n/de.ts +196 -0
  143. package/src/tool/refreshRateDetector/i18n/en.ts +196 -0
  144. package/src/tool/refreshRateDetector/i18n/es.ts +196 -0
  145. package/src/tool/refreshRateDetector/i18n/fr.ts +196 -0
  146. package/src/tool/refreshRateDetector/i18n/id.ts +196 -0
  147. package/src/tool/refreshRateDetector/i18n/it.ts +196 -0
  148. package/src/tool/refreshRateDetector/i18n/ja.ts +196 -0
  149. package/src/tool/refreshRateDetector/i18n/ko.ts +196 -0
  150. package/src/tool/refreshRateDetector/i18n/nl.ts +196 -0
  151. package/src/tool/refreshRateDetector/i18n/pl.ts +196 -0
  152. package/src/tool/refreshRateDetector/i18n/pt.ts +196 -0
  153. package/src/tool/refreshRateDetector/i18n/ru.ts +196 -0
  154. package/src/tool/refreshRateDetector/i18n/sv.ts +196 -0
  155. package/src/tool/refreshRateDetector/i18n/tr.ts +196 -0
  156. package/src/tool/refreshRateDetector/i18n/zh.ts +196 -0
  157. package/src/tool/refreshRateDetector/index.ts +11 -0
  158. package/src/tool/refreshRateDetector/monitor-refresh-rate-detector.css +342 -0
  159. package/src/tool/refreshRateDetector/seo.astro +15 -0
  160. package/src/tool/refreshRateDetector/ui.ts +24 -0
  161. package/src/tool/toneGenerator/bibliography.ts +13 -0
  162. package/src/tool/toneGenerator/i18n/de.ts +3 -13
  163. package/src/tool/toneGenerator/i18n/en.ts +3 -13
  164. package/src/tool/toneGenerator/i18n/es.ts +2 -12
  165. package/src/tool/toneGenerator/i18n/fr.ts +3 -13
  166. package/src/tool/toneGenerator/i18n/id.ts +3 -13
  167. package/src/tool/toneGenerator/i18n/it.ts +3 -13
  168. package/src/tool/toneGenerator/i18n/ja.ts +2 -12
  169. package/src/tool/toneGenerator/i18n/ko.ts +2 -12
  170. package/src/tool/toneGenerator/i18n/nl.ts +3 -13
  171. package/src/tool/toneGenerator/i18n/pl.ts +3 -13
  172. package/src/tool/toneGenerator/i18n/pt.ts +3 -13
  173. package/src/tool/toneGenerator/i18n/ru.ts +6 -16
  174. package/src/tool/toneGenerator/i18n/sv.ts +3 -13
  175. package/src/tool/toneGenerator/i18n/tr.ts +2 -12
  176. package/src/tool/toneGenerator/i18n/zh.ts +2 -12
  177. package/src/tool/toneGenerator/seo.astro +3 -2
  178. package/src/tools.ts +3 -1
@@ -0,0 +1,196 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { RefreshRateDetectorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'monitor-bildwiederholfrequenz-detektor';
7
+ const title = 'Monitor Bildwiederholfrequenz Detektor';
8
+ const description = 'Erkennen Sie sofort die Bildwiederholfrequenz Ihres Monitors mit Präzision unter Verwendung von requestAnimationFrame. Testen Sie die Bildstabilität und vergleichen Sie sie mit Industriestandards.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Was ist die Bildwiederholfrequenz (Hz)?',
13
+ answer: 'Die Bildwiederholfrequenz gibt an, wie oft pro Sekunde Ihr Monitor das Bild aktualisiert. Ein 60-Hz-Monitor aktualisiert das Bild 60 Mal pro Sekunde, während ein 144-Hz-Monitor dies 144 Mal tut. Höhere Raten führen zu flüssigeren Bewegungen.',
14
+ },
15
+ {
16
+ question: 'Wie genau ist dieser Detektor?',
17
+ answer: 'Dieses Tool verwendet requestAnimationFrame, das sich mit dem Aktualisierungszyklus Ihres Monitors synchronisiert. Die Genauigkeit hängt von der Systemlast ab. Der stabile Modus misst über längere Zeiträume für eine höhere Präzision.',
18
+ },
19
+ {
20
+ question: 'Was ist der Unterschied zwischen dem stabilen und dem schnellen Modus?',
21
+ answer: 'Der schnelle Modus misst über eine kurze Zeit (~3 Sekunden) für schnelles Feedback. Der stabile Modus dauert länger (~10 Sekunden), um Systemrauschen herauszufiltern und zuverlässigere Ergebnisse zu liefern.',
22
+ },
23
+ {
24
+ question: 'Warum unterscheidet sich meine erkannte Hz-Zahl von den Angaben meines Monitors?',
25
+ answer: 'Dies kann passieren, wenn: Ihre Kabelverbindung locker ist, Treiber veraltet sind oder Ihre Betriebssystem-Skalierung stört. Versuchen Sie, Ihr Displaykabel aus- und wieder einzustecken oder die GPU-Treiber zu aktualisieren.',
26
+ },
27
+ {
28
+ question: 'Welche Bildwiederholfrequenzen unterstützen moderne Monitore?',
29
+ answer: 'Gängige Standards sind 60 Hz (Basis), 75 Hz, 120 Hz, 144 Hz (Gaming), 240 Hz (kompetitives Gaming) und 360 Hz (professioneller E-Sport).',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Tool laden',
36
+ text: 'Öffnen Sie einfach diese Seite. Der Detektor beginnt sofort mit der Messung.',
37
+ },
38
+ {
39
+ name: 'Auf Stabilisierung warten',
40
+ text: 'Wählen Sie den stabilen oder den schnellen Modus. Lassen Sie die Messung abschließen, ohne das Fenster zu bewegen.',
41
+ },
42
+ {
43
+ name: 'Tachometer prüfen',
44
+ text: 'Die Bildwiederholfrequenz Ihres Monitors erscheint als sanfte Skala mit Benchmark-Statistiken (Min/Max/Avg).',
45
+ },
46
+ {
47
+ name: 'Mit Standards vergleichen',
48
+ text: 'Das Tool zeigt an, welchem Standard Ihr Monitor entspricht (60, 75, 120, 144, 240, 360 Hz).',
49
+ },
50
+ {
51
+ name: 'Optional: Frame-Skipping testen',
52
+ text: 'Beobachten Sie das animierte Quadrat, das über den Bildschirm läuft, um die Flüssigkeit visuell zu bestätigen.',
53
+ },
54
+ ];
55
+
56
+ const faqSchema: WithContext<FAQPage> = {
57
+ '@context': 'https://schema.org',
58
+ '@type': 'FAQPage',
59
+ mainEntity: faqData.map((item) => ({
60
+ '@type': 'Question',
61
+ name: item.question,
62
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
63
+ })),
64
+ };
65
+
66
+ const howToSchema: WithContext<HowTo> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'HowTo',
69
+ name: title,
70
+ description,
71
+ step: howToData.map((step, i) => ({
72
+ '@type': 'HowToStep',
73
+ position: i + 1,
74
+ name: step.name,
75
+ text: step.text,
76
+ })),
77
+ };
78
+
79
+ const appSchema: WithContext<SoftwareApplication> = {
80
+ '@context': 'https://schema.org',
81
+ '@type': 'SoftwareApplication',
82
+ name: title,
83
+ description,
84
+ applicationCategory: 'UtilityApplication',
85
+ operatingSystem: 'All',
86
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
87
+ inLanguage: 'de',
88
+ };
89
+
90
+ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
91
+ slug,
92
+ title,
93
+ description,
94
+ faq: faqData,
95
+ bibliography,
96
+ howTo: howToData,
97
+ schemas: [faqSchema, howToSchema, appSchema],
98
+ seo: [
99
+ {
100
+ type: 'title',
101
+ text: 'Monitor Bildwiederholfrequenz-Detektor: Testen Sie Ihre Display-Hz online',
102
+ level: 2,
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'Erkennen Sie sofort die Bildwiederholfrequenz Ihres Monitors (60 Hz, 144 Hz, 240 Hz usw.) mit Präzision. Testen Sie die Bildstabilität und verifizieren Sie, dass Ihr Display die angegebenen Spezifikationen erfüllt.',
107
+ },
108
+ {
109
+ type: 'title',
110
+ text: 'Warum die Bildwiederholfrequenz des Monitors wichtig ist',
111
+ level: 3,
112
+ },
113
+ {
114
+ type: 'paragraph',
115
+ html: 'Die Bildwiederholfrequenz bestimmt, wie flüssig Bewegungen auf Ihrem Bildschirm erscheinen. Gamer profitieren von 144-Hz+-Monitoren, während allgemeine Benutzer 60 Hz als ausreichend empfinden. Dieses Tool hilft zu bestätigen, dass Ihr Monitor tatsächlich die beworbene Bildwiederholfrequenz liefert.',
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'So erkennen Sie Ihre Bildwiederholfrequenz',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Laden Sie diesen Detektor – die Messung beginnt sofort',
126
+ 'Wählen Sie zwischen dem schnellen (3s) oder dem stabilen (10s) Messmodus',
127
+ 'Lesen Sie die Hz-Zahl Ihres Monitors auf der Tachometerskala ab',
128
+ 'Vergleichen Sie sie mit Industriestandards (60, 75, 120, 144, 240, 360 Hz)',
129
+ ],
130
+ },
131
+ {
132
+ type: 'title',
133
+ text: 'Gängige Standards für die Bildwiederholfrequenz',
134
+ level: 3,
135
+ },
136
+ {
137
+ type: 'table',
138
+ headers: ['Standard', 'Anwendungsfall', 'Typischer Benutzer'],
139
+ rows: [
140
+ ['60 Hz', 'Allgemeine Computeranwendung', 'Büro, Surfen im Web'],
141
+ ['75 Hz', 'Leichtes Gaming', 'Gelegenheitsspieler'],
142
+ ['120 Hz', 'Multimedia', 'Konsole, Streaming'],
143
+ ['144 Hz', 'Kompetitives Gaming', 'FPS, schnelle Spiele'],
144
+ ['240 Hz+', 'Professioneller E-Sport', 'Profi-Gamer, Streamer'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Fehlerbehebung: Display zeigt weniger Hz als erwartet an',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'list',
154
+ items: [
155
+ 'Prüfen Sie die HDMI/DisplayPort-Kabelverbindungen – lose Kabel reduzieren die Bandbreite',
156
+ 'Aktualisieren Sie Ihre GPU-Treiber (NVIDIA, AMD, Intel)',
157
+ 'Überprüfen Sie die Betriebssystem-Anzeigeeinstellungen, um sicherzustellen, dass eine hohe Bildwiederholfrequenz aktiviert ist',
158
+ 'Probieren Sie verschiedene Kabel oder Anschlüsse an Ihrem Monitor aus',
159
+ 'Starten Sie Ihren Computer neu und testen Sie erneut',
160
+ ],
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Die Technik hinter diesem Detektor',
165
+ level: 3,
166
+ },
167
+ {
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.',
170
+ },
171
+ ],
172
+ ui: {
173
+ badge: 'Display Test',
174
+ title: 'Monitor Bildwiederholfrequenz Detektor',
175
+ description: 'Erkennen Sie sofort die Bildwiederholfrequenz Ihres Displays',
176
+ modeStable: 'Stabil (10s, präzise)',
177
+ modeFast: 'Schnell (3s, fix)',
178
+ measurementStatus: 'Messung läuft...',
179
+ currentHz: 'Aktuell',
180
+ averageHz: 'Durchschnitt',
181
+ maxHz: 'Maximum',
182
+ minHz: 'Minimum',
183
+ standardDetected: 'Standard erkannt',
184
+ frameSkippingTest: 'Frame-Skipping-Test',
185
+ startMeasurement: 'Messung starten',
186
+ resetMeasurement: 'Zurücksetzen',
187
+ copyResult: 'Ergebnis kopieren',
188
+ copiedFeedback: 'In die Zwischenablage kopiert!',
189
+ optimalConfiguration: '[OK] Optimale Konfiguration',
190
+ suboptimalConfiguration: '[WARNUNG] Unter dem Optimum',
191
+ unstableRefreshRate: '[WARNUNG] Instabile Bildwiederholfrequenz',
192
+ measurementNotStarted: 'Bereit zur Messung',
193
+ switchMonitorHint: 'Ziehen Sie das Fenster auf einen anderen Monitor, um diesen zu testen',
194
+ incompatibleBrowserMsg: 'Ihr Browser unterstützt requestAnimationFrame nicht',
195
+ },
196
+ };
@@ -0,0 +1,196 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { RefreshRateDetectorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'monitor-refresh-rate-detector';
7
+ const title = 'Monitor Refresh Rate Detector';
8
+ const description = 'Instantly detect your monitor\'s refresh rate with precision using requestAnimationFrame. Test frame stability and compare with industry standards.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'What is refresh rate (Hz)?',
13
+ answer: 'Refresh rate is how many times per second your monitor updates the image. A 60Hz monitor refreshes 60 times per second, while 144Hz refreshes 144 times. Higher rates result in smoother motion.',
14
+ },
15
+ {
16
+ question: 'How accurate is this detector?',
17
+ answer: 'This tool uses requestAnimationFrame, which synchronizes with your monitor\'s refresh cycle. Accuracy depends on system load. The stable mode measures for longer periods for greater precision.',
18
+ },
19
+ {
20
+ question: 'What\'s the difference between Stable and Fast mode?',
21
+ answer: 'Fast mode measures for a short time (~3 seconds) for quick feedback. Stable mode takes longer (~10 seconds) to filter out system noise and provide more reliable results.',
22
+ },
23
+ {
24
+ question: 'Why is my detected Hz different from what my monitor says?',
25
+ answer: 'This can happen if: your cable connection is loose, drivers are outdated, or your OS scaling interferes. Try unplugging and re-plugging your display cable, or updating GPU drivers.',
26
+ },
27
+ {
28
+ question: 'What refresh rates do modern monitors support?',
29
+ answer: 'Common standards are 60Hz (basic), 75Hz, 120Hz, 144Hz (gaming), 240Hz (competitive gaming), and 360Hz (professional esports).',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Load the tool',
36
+ text: 'Simply open this page. The detector starts measuring immediately.',
37
+ },
38
+ {
39
+ name: 'Wait for stabilization',
40
+ text: 'Choose Stable or Fast mode. Let the measurement complete without moving the window.',
41
+ },
42
+ {
43
+ name: 'Check the speedometer',
44
+ text: 'Your monitor\'s refresh rate appears as a smooth dial, with benchmark stats (min/max/avg).',
45
+ },
46
+ {
47
+ name: 'Compare with standards',
48
+ text: 'The tool shows which standard your monitor matches (60, 75, 120, 144, 240, 360Hz).',
49
+ },
50
+ {
51
+ name: 'Optional: test frame skipping',
52
+ text: 'Watch the animated square cross the screen to visually confirm fluidity.',
53
+ },
54
+ ];
55
+
56
+ const faqSchema: WithContext<FAQPage> = {
57
+ '@context': 'https://schema.org',
58
+ '@type': 'FAQPage',
59
+ mainEntity: faqData.map((item) => ({
60
+ '@type': 'Question',
61
+ name: item.question,
62
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
63
+ })),
64
+ };
65
+
66
+ const howToSchema: WithContext<HowTo> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'HowTo',
69
+ name: title,
70
+ description,
71
+ step: howToData.map((step, i) => ({
72
+ '@type': 'HowToStep',
73
+ position: i + 1,
74
+ name: step.name,
75
+ text: step.text,
76
+ })),
77
+ };
78
+
79
+ const appSchema: WithContext<SoftwareApplication> = {
80
+ '@context': 'https://schema.org',
81
+ '@type': 'SoftwareApplication',
82
+ name: title,
83
+ description,
84
+ applicationCategory: 'UtilityApplication',
85
+ operatingSystem: 'All',
86
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
87
+ inLanguage: 'en',
88
+ };
89
+
90
+ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
91
+ slug,
92
+ title,
93
+ description,
94
+ faq: faqData,
95
+ bibliography,
96
+ howTo: howToData,
97
+ schemas: [faqSchema, howToSchema, appSchema],
98
+ seo: [
99
+ {
100
+ type: 'title',
101
+ text: 'Monitor Refresh Rate Detector: Test Your Display Hz Online',
102
+ level: 2,
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'Instantly detect your monitor\'s refresh rate (60Hz, 144Hz, 240Hz, etc.) with precision. Test frame stability and verify your display is performing at its rated specifications.',
107
+ },
108
+ {
109
+ type: 'title',
110
+ text: 'Why Monitor Refresh Rate Matters',
111
+ level: 3,
112
+ },
113
+ {
114
+ type: 'paragraph',
115
+ html: 'Refresh rate determines how smooth motion appears on your screen. Gamers benefit from 144Hz+ monitors, while general users find 60Hz adequate. This tool helps confirm your monitor is actually delivering its advertised refresh rate.',
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'How to Detect Your Refresh Rate',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Load this detector—measurement begins immediately',
126
+ 'Choose between Fast (3s) or Stable (10s) measurement mode',
127
+ 'Read your monitor\'s Hz from the speedometer dial',
128
+ 'Compare against industry standards (60, 75, 120, 144, 240, 360Hz)',
129
+ ],
130
+ },
131
+ {
132
+ type: 'title',
133
+ text: 'Common Refresh Rate Standards',
134
+ level: 3,
135
+ },
136
+ {
137
+ type: 'table',
138
+ headers: ['Standard', 'Use Case', 'Typical User'],
139
+ rows: [
140
+ ['60Hz', 'General Computing', 'Office, Web Browsing'],
141
+ ['75Hz', 'Light Gaming', 'Casual Gamers'],
142
+ ['120Hz', 'Multimedia', 'Console, Streaming'],
143
+ ['144Hz', 'Competitive Gaming', 'FPS, Fast-Paced Games'],
144
+ ['240Hz+', 'Professional Esports', 'Pro Gamers, Streamers'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Troubleshooting: Display Shows Lower Hz Than Expected',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'list',
154
+ items: [
155
+ 'Check HDMI/DisplayPort cable connections—loose cables reduce bandwidth',
156
+ 'Update your GPU drivers (NVIDIA, AMD, Intel)',
157
+ 'Check OS display settings to ensure high refresh rate is enabled',
158
+ 'Try different cables or ports on your monitor',
159
+ 'Restart your computer and re-test',
160
+ ],
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'The Tech Behind This Detector',
165
+ level: 3,
166
+ },
167
+ {
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 precision—no special hardware needed.',
170
+ },
171
+ ],
172
+ ui: {
173
+ badge: 'Display Test',
174
+ title: 'Monitor Refresh Rate Detector',
175
+ description: 'Detect your display\'s refresh rate instantly',
176
+ modeStable: 'Stable (10s, precise)',
177
+ modeFast: 'Fast (3s, quick)',
178
+ measurementStatus: 'Measuring...',
179
+ currentHz: 'Current',
180
+ averageHz: 'Average',
181
+ maxHz: 'Maximum',
182
+ minHz: 'Minimum',
183
+ standardDetected: 'Standard Detected',
184
+ frameSkippingTest: 'Frame Skipping Test',
185
+ startMeasurement: 'Start Measurement',
186
+ resetMeasurement: 'Reset',
187
+ copyResult: 'Copy Result',
188
+ copiedFeedback: 'Copied to clipboard!',
189
+ optimalConfiguration: '[OK] Optimal Configuration',
190
+ suboptimalConfiguration: '[WARNING] Below Optimal',
191
+ unstableRefreshRate: '[WARNING] Unstable Refresh Rate',
192
+ measurementNotStarted: 'Ready to measure',
193
+ switchMonitorHint: 'Drag window to another monitor to test it',
194
+ incompatibleBrowserMsg: 'Your browser doesn\'t support requestAnimationFrame',
195
+ },
196
+ };
@@ -0,0 +1,196 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { RefreshRateDetectorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'detector-frecuencia-actualizacion-monitor';
7
+ const title = 'Detector de Frecuencia de Actualización del Monitor';
8
+ const description = 'Detecta instantáneamente la frecuencia de actualización de tu monitor con precisión usando requestAnimationFrame. Prueba la estabilidad de los fotogramas y compárala con los estándares de la industria.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '¿Qué es la frecuencia de actualización (Hz)?',
13
+ answer: 'La frecuencia de actualización es la cantidad de veces por segundo que tu monitor actualiza la imagen. Un monitor de 60Hz se actualiza 60 veces por segundo, mientras que uno de 144Hz lo hace 144 veces. Las frecuencias más altas dan como resultado un movimiento más suave.',
14
+ },
15
+ {
16
+ question: '¿Qué tan preciso es este detector?',
17
+ answer: 'Esta herramienta utiliza requestAnimationFrame, que se sincroniza con el ciclo de actualización de tu monitor. La precisión depende de la carga del sistema. El modo estable mide durante períodos más largos para una mayor precisión.',
18
+ },
19
+ {
20
+ question: '¿Cuál es la diferencia entre el modo Estable y el Rápido?',
21
+ answer: 'El modo Rápido mide durante un tiempo corto (~3 segundos) para obtener una respuesta rápida. El modo Estable tarda más (~10 segundos) para filtrar el ruido del sistema y proporcionar resultados más fiables.',
22
+ },
23
+ {
24
+ question: '¿Por qué mi Hz detectado es diferente de lo que dice mi monitor?',
25
+ answer: 'Esto puede suceder si: la conexión de tu cable está floja, los controladores están desactualizados o el escalado de tu sistema operativo interfiere. Intenta desconectar y volver a conectar el cable de la pantalla, o actualizar los controladores de la GPU.',
26
+ },
27
+ {
28
+ question: '¿Qué frecuencias de actualización admiten los monitores modernos?',
29
+ answer: 'Los estándares comunes son 60Hz (básico), 75Hz, 120Hz, 144Hz (gaming), 240Hz (gaming competitivo) y 360Hz (eSports profesionales).',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Carga la herramienta',
36
+ text: 'Simplemente abre esta página. El detector comienza a medir inmediatamente.',
37
+ },
38
+ {
39
+ name: 'Espera a la estabilización',
40
+ text: 'Elige el modo Estable o Rápido. Deja que la medición se complete sin mover la ventana.',
41
+ },
42
+ {
43
+ name: 'Revisa el velocímetro',
44
+ text: 'La frecuencia de actualización de tu monitor aparece como un dial suave, con estadísticas de referencia (mín/máx/prom).',
45
+ },
46
+ {
47
+ name: 'Compara con los estándares',
48
+ text: 'La herramienta muestra con qué estándar coincide tu monitor (60, 75, 120, 144, 240, 360Hz).',
49
+ },
50
+ {
51
+ name: 'Opcional: prueba de salto de fotogramas',
52
+ text: 'Observa el cuadrado animado cruzando la pantalla para confirmar visualmente la fluidez.',
53
+ },
54
+ ];
55
+
56
+ const faqSchema: WithContext<FAQPage> = {
57
+ '@context': 'https://schema.org',
58
+ '@type': 'FAQPage',
59
+ mainEntity: faqData.map((item) => ({
60
+ '@type': 'Question',
61
+ name: item.question,
62
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
63
+ })),
64
+ };
65
+
66
+ const howToSchema: WithContext<HowTo> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'HowTo',
69
+ name: title,
70
+ description,
71
+ step: howToData.map((step, i) => ({
72
+ '@type': 'HowToStep',
73
+ position: i + 1,
74
+ name: step.name,
75
+ text: step.text,
76
+ })),
77
+ };
78
+
79
+ const appSchema: WithContext<SoftwareApplication> = {
80
+ '@context': 'https://schema.org',
81
+ '@type': 'SoftwareApplication',
82
+ name: title,
83
+ description,
84
+ applicationCategory: 'UtilityApplication',
85
+ operatingSystem: 'All',
86
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
87
+ inLanguage: 'es',
88
+ };
89
+
90
+ export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
91
+ slug,
92
+ title,
93
+ description,
94
+ faq: faqData,
95
+ bibliography,
96
+ howTo: howToData,
97
+ schemas: [faqSchema, howToSchema, appSchema],
98
+ seo: [
99
+ {
100
+ type: 'title',
101
+ text: 'Detector de Frecuencia de Actualización del Monitor: Prueba los Hz de tu Pantalla Online',
102
+ level: 2,
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'Detecta instantáneamente la frecuencia de actualización de tu monitor (60Hz, 144Hz, 240Hz, etc.) con precisión. Prueba la estabilidad de los fotogramas y verifica que tu pantalla esté funcionando según sus especificaciones nominales.',
107
+ },
108
+ {
109
+ type: 'title',
110
+ text: 'Por qué es Importante la Frecuencia de Actualización del Monitor',
111
+ level: 3,
112
+ },
113
+ {
114
+ type: 'paragraph',
115
+ html: 'La frecuencia de actualización determina qué tan suave aparece el movimiento en tu pantalla. Los jugadores se benefician de monitores de 144Hz+, mientras que los usuarios generales encuentran adecuados los 60Hz. Esta herramienta ayuda a confirmar que tu monitor realmente ofrece su frecuencia de actualización anunciada.',
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Cómo Detectar tu Frecuencia de Actualización',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Carga este detector: la medición comienza de inmediato',
126
+ 'Elige entre el modo de medición Rápido (3s) o Estable (10s)',
127
+ 'Lee los Hz de tu monitor en el dial del velocímetro',
128
+ 'Compara con los estándares de la industria (60, 75, 120, 144, 240, 360Hz)',
129
+ ],
130
+ },
131
+ {
132
+ type: 'title',
133
+ text: 'Estándares Comunes de Frecuencia de Actualización',
134
+ level: 3,
135
+ },
136
+ {
137
+ type: 'table',
138
+ headers: ['Estándar', 'Caso de Uso', 'Usuario Típico'],
139
+ rows: [
140
+ ['60Hz', 'Informática General', 'Oficina, Navegación Web'],
141
+ ['75Hz', 'Gaming Ligero', 'Jugadores Casuales'],
142
+ ['120Hz', 'Multimedia', 'Consolas, Streaming'],
143
+ ['144Hz', 'Gaming Competitivo', 'FPS, Juegos de Ritmo Rápido'],
144
+ ['240Hz+', 'eSports Profesionales', 'Jugadores Pro, Streamers'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Solución de Problemas: La Pantalla Muestra Menos Hz de los Esperados',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'list',
154
+ items: [
155
+ 'Comprueba las conexiones del cable HDMI/DisplayPort; los cables sueltos reducen el ancho de banda',
156
+ 'Actualiza los controladores de tu GPU (NVIDIA, AMD, Intel)',
157
+ 'Comprueba la configuración de pantalla del SO para asegurarte de que la alta frecuencia de actualización esté activada',
158
+ 'Prueba con diferentes cables o puertos en tu monitor',
159
+ 'Reinicia tu ordenador y vuelve a probar',
160
+ ],
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'La Tecnología Detrás de este Detector',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'paragraph',
169
+ html: 'Esta herramienta utiliza la API requestAnimationFrame del navegador, que se sincroniza directamente con el ciclo de actualización de tu monitor. Al medir el tiempo entre los fotogramas de animación, calculamos tu frecuencia de actualización exacta con alta precisión, sin necesidad de hardware especial.',
170
+ },
171
+ ],
172
+ ui: {
173
+ badge: 'Prueba de Pantalla',
174
+ title: 'Detector de Frecuencia de Actualización',
175
+ description: 'Detecta la frecuencia de actualización de tu pantalla al instante',
176
+ modeStable: 'Estable (10s, preciso)',
177
+ modeFast: 'Rápido (3s, veloz)',
178
+ measurementStatus: 'Midiendo...',
179
+ currentHz: 'Actual',
180
+ averageHz: 'Promedio',
181
+ maxHz: 'Máximo',
182
+ minHz: 'Mínimo',
183
+ standardDetected: 'Estándar Detectado',
184
+ frameSkippingTest: 'Prueba de Salto de Fotogramas',
185
+ startMeasurement: 'Iniciar Medición',
186
+ resetMeasurement: 'Restablecer',
187
+ copyResult: 'Copiar Resultado',
188
+ copiedFeedback: '¡Copiado al portapapeles!',
189
+ optimalConfiguration: '[OK] Configuración Óptima',
190
+ suboptimalConfiguration: '[AVISO] Por debajo de lo Óptimo',
191
+ unstableRefreshRate: '[AVISO] Frecuencia Inestable',
192
+ measurementNotStarted: 'Listo para medir',
193
+ switchMonitorHint: 'Arrastra la ventana a otro monitor para probarlo',
194
+ incompatibleBrowserMsg: 'Tu navegador no admite requestAnimationFrame',
195
+ },
196
+ };