@jjlmoya/utils-hardware 1.3.0 → 1.5.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 (98) hide show
  1. package/package.json +2 -1
  2. package/src/tests/faq_count.test.ts +1 -1
  3. package/src/tests/i18n_coverage.test.ts +36 -0
  4. package/src/tests/locale_completeness.test.ts +1 -1
  5. package/src/tests/slug_uniqueness.test.ts +81 -0
  6. package/src/tests/title_quality.test.ts +1 -1
  7. package/src/tool/batteryHealthEstimator/i18n/de.ts +158 -0
  8. package/src/tool/batteryHealthEstimator/i18n/id.ts +158 -0
  9. package/src/tool/batteryHealthEstimator/i18n/it.ts +158 -0
  10. package/src/tool/batteryHealthEstimator/i18n/ja.ts +158 -0
  11. package/src/tool/batteryHealthEstimator/i18n/ko.ts +158 -0
  12. package/src/tool/batteryHealthEstimator/i18n/nl.ts +158 -0
  13. package/src/tool/batteryHealthEstimator/i18n/pl.ts +158 -0
  14. package/src/tool/batteryHealthEstimator/i18n/pt.ts +158 -0
  15. package/src/tool/batteryHealthEstimator/i18n/ru.ts +158 -0
  16. package/src/tool/batteryHealthEstimator/i18n/sv.ts +158 -0
  17. package/src/tool/batteryHealthEstimator/i18n/tr.ts +158 -0
  18. package/src/tool/batteryHealthEstimator/i18n/zh.ts +158 -0
  19. package/src/tool/batteryHealthEstimator/index.ts +15 -7
  20. package/src/tool/deadPixelTest/i18n/de.ts +218 -0
  21. package/src/tool/deadPixelTest/i18n/id.ts +218 -0
  22. package/src/tool/deadPixelTest/i18n/it.ts +218 -0
  23. package/src/tool/deadPixelTest/i18n/ja.ts +218 -0
  24. package/src/tool/deadPixelTest/i18n/ko.ts +218 -0
  25. package/src/tool/deadPixelTest/i18n/nl.ts +218 -0
  26. package/src/tool/deadPixelTest/i18n/pl.ts +218 -0
  27. package/src/tool/deadPixelTest/i18n/pt.ts +218 -0
  28. package/src/tool/deadPixelTest/i18n/ru.ts +218 -0
  29. package/src/tool/deadPixelTest/i18n/sv.ts +218 -0
  30. package/src/tool/deadPixelTest/i18n/tr.ts +218 -0
  31. package/src/tool/deadPixelTest/i18n/zh.ts +217 -0
  32. package/src/tool/deadPixelTest/index.ts +15 -7
  33. package/src/tool/gamepadTest/i18n/de.ts +186 -0
  34. package/src/tool/gamepadTest/i18n/id.ts +186 -0
  35. package/src/tool/gamepadTest/i18n/it.ts +186 -0
  36. package/src/tool/gamepadTest/i18n/ja.ts +186 -0
  37. package/src/tool/gamepadTest/i18n/ko.ts +186 -0
  38. package/src/tool/gamepadTest/i18n/nl.ts +186 -0
  39. package/src/tool/gamepadTest/i18n/pl.ts +186 -0
  40. package/src/tool/gamepadTest/i18n/pt.ts +186 -0
  41. package/src/tool/gamepadTest/i18n/ru.ts +186 -0
  42. package/src/tool/gamepadTest/i18n/sv.ts +186 -0
  43. package/src/tool/gamepadTest/i18n/tr.ts +186 -0
  44. package/src/tool/gamepadTest/i18n/zh.ts +186 -0
  45. package/src/tool/gamepadTest/index.ts +15 -7
  46. package/src/tool/gamepadVibrationTester/i18n/de.ts +155 -0
  47. package/src/tool/gamepadVibrationTester/i18n/id.ts +155 -0
  48. package/src/tool/gamepadVibrationTester/i18n/it.ts +155 -0
  49. package/src/tool/gamepadVibrationTester/i18n/ja.ts +155 -0
  50. package/src/tool/gamepadVibrationTester/i18n/ko.ts +155 -0
  51. package/src/tool/gamepadVibrationTester/i18n/nl.ts +155 -0
  52. package/src/tool/gamepadVibrationTester/i18n/pl.ts +155 -0
  53. package/src/tool/gamepadVibrationTester/i18n/pt.ts +155 -0
  54. package/src/tool/gamepadVibrationTester/i18n/ru.ts +155 -0
  55. package/src/tool/gamepadVibrationTester/i18n/sv.ts +155 -0
  56. package/src/tool/gamepadVibrationTester/i18n/tr.ts +155 -0
  57. package/src/tool/gamepadVibrationTester/i18n/zh.ts +155 -0
  58. package/src/tool/gamepadVibrationTester/index.ts +15 -7
  59. package/src/tool/keyboardTest/i18n/de.ts +146 -0
  60. package/src/tool/keyboardTest/i18n/id.ts +146 -0
  61. package/src/tool/keyboardTest/i18n/it.ts +146 -0
  62. package/src/tool/keyboardTest/i18n/ja.ts +146 -0
  63. package/src/tool/keyboardTest/i18n/ko.ts +146 -0
  64. package/src/tool/keyboardTest/i18n/nl.ts +146 -0
  65. package/src/tool/keyboardTest/i18n/pl.ts +146 -0
  66. package/src/tool/keyboardTest/i18n/pt.ts +146 -0
  67. package/src/tool/keyboardTest/i18n/ru.ts +146 -0
  68. package/src/tool/keyboardTest/i18n/sv.ts +146 -0
  69. package/src/tool/keyboardTest/i18n/tr.ts +146 -0
  70. package/src/tool/keyboardTest/i18n/zh.ts +146 -0
  71. package/src/tool/keyboardTest/index.ts +15 -7
  72. package/src/tool/mousePollingTest/i18n/de.ts +135 -0
  73. package/src/tool/mousePollingTest/i18n/id.ts +135 -0
  74. package/src/tool/mousePollingTest/i18n/it.ts +135 -0
  75. package/src/tool/mousePollingTest/i18n/ja.ts +135 -0
  76. package/src/tool/mousePollingTest/i18n/ko.ts +135 -0
  77. package/src/tool/mousePollingTest/i18n/nl.ts +135 -0
  78. package/src/tool/mousePollingTest/i18n/pl.ts +135 -0
  79. package/src/tool/mousePollingTest/i18n/pt.ts +135 -0
  80. package/src/tool/mousePollingTest/i18n/ru.ts +135 -0
  81. package/src/tool/mousePollingTest/i18n/sv.ts +135 -0
  82. package/src/tool/mousePollingTest/i18n/tr.ts +135 -0
  83. package/src/tool/mousePollingTest/i18n/zh.ts +135 -0
  84. package/src/tool/mousePollingTest/index.ts +15 -7
  85. package/src/tool/toneGenerator/i18n/de.ts +146 -0
  86. package/src/tool/toneGenerator/i18n/id.ts +146 -0
  87. package/src/tool/toneGenerator/i18n/it.ts +146 -0
  88. package/src/tool/toneGenerator/i18n/ja.ts +146 -0
  89. package/src/tool/toneGenerator/i18n/ko.ts +146 -0
  90. package/src/tool/toneGenerator/i18n/nl.ts +146 -0
  91. package/src/tool/toneGenerator/i18n/pl.ts +146 -0
  92. package/src/tool/toneGenerator/i18n/pt.ts +146 -0
  93. package/src/tool/toneGenerator/i18n/ru.ts +146 -0
  94. package/src/tool/toneGenerator/i18n/sv.ts +146 -0
  95. package/src/tool/toneGenerator/i18n/tr.ts +146 -0
  96. package/src/tool/toneGenerator/i18n/zh.ts +146 -0
  97. package/src/tool/toneGenerator/index.ts +15 -7
  98. package/src/types.ts +1 -1
@@ -0,0 +1,146 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestTecladoUI } from '../ui';
4
+
5
+ const slug = 'klavye-testi-online';
6
+ const title = 'Çevrimiçi Klavye Testi ve Ghosting Belirleyici';
7
+ const description = 'Klavyenizin Ghosting veya Key Jamming sorunları olup olmadığını kontrol edin. Gerçek zamanlı tuş görselleştirici ve N-Key Rollover sayacı.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Klavyede Ghosting nedir?',
12
+ answer: 'Aynı anda birden fazla tuşa bastığınızda bilgisayarın bazılarının algılamaması durumunda ortaya çıkan bir hatadır. Klavyenin belirli kombinasyonları işleyemeyen dahili elektrik matrisindeki sınırlamalardan kaynaklanır.',
13
+ },
14
+ {
15
+ question: 'N-Key Rollover (NKRO) ne anlama gelir?',
16
+ answer: 'NKRO, klavyenin aynı anda bastığınız kadar çok tuşu hatasız bir şekilde algılayabileceği anlamına gelir. Üst düzey mekanik ve oyuncu klavyelerinde yaygın olan premium bir özelliktir.',
17
+ },
18
+ {
19
+ question: 'Neden 3 tuşa aynı anda bastığımda klavyem hata veriyor?',
20
+ answer: 'Çoğu ucuz ofis klavyesinde 2 veya 3 tuşlu rollover bulunur. Bu, yazı yazmak için yeterlidir ancak yoğun oyun oynama veya karmaşık kısayollar için yetersizdir.',
21
+ },
22
+ {
23
+ question: 'Tepki vermeyen bir tuşu nasıl düzeltebilirim?',
24
+ answer: 'Test tuş basımını algılamıyorsa, anahtarın altındaki kir, elektrik kontağı hatası veya hasarlı bir kablo olabilir. Vazgeçmeden önce klavyeyi basınçlı hava ile temizlemeyi deneyin.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Görselleştiriciye odaklanın',
31
+ text: 'Tarayıcının odaklandığından ve donanım tuş basımlarını yakalayabildiğinden emin olmak için sayfanın herhangi bir yerine tıklayın.',
32
+ },
33
+ {
34
+ name: 'Tepki testini çalıştırın',
35
+ text: 'Klavyenizdeki her tuşa tek tek basın. Ekranda ilgili tuş, doğru çalışıyorsa yeşil renkte yanacaktır.',
36
+ },
37
+ {
38
+ name: 'Ghosting kontrolü yapın',
39
+ text: 'Yaygın oyun tuşlarına (W, A, S, D, Boşluk, Shift) hepsine birden basarak kilitlenip kilitlenmediklerini veya hepsinin yanıp yanmadığını görün.',
40
+ },
41
+ {
42
+ name: 'Maksimum rollover\'ı doğrulayın',
43
+ text: 'İki elinizle mümkün olduğunca çok tuşa aynı anda basmaya çalışın ve maksimum eşzamanlı tuş basımı sayacını izleyin.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step, i) => ({
63
+ '@type': 'HowToStep',
64
+ position: i + 1,
65
+ name: step.name,
66
+ text: step.text,
67
+ })),
68
+ };
69
+
70
+ const appSchema: WithContext<SoftwareApplication> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'SoftwareApplication',
73
+ name: title,
74
+ description,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'tr',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<TestTecladoUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ faqTitle: 'Sıkça Sorulan Sorular',
86
+ faq: faqData,
87
+ bibliographyTitle: 'Teknik Referanslar',
88
+ bibliography: [
89
+ {
90
+ name: 'USB Klavye/Tuş Takımı Sayfası - HID Kullanım Tabloları',
91
+ url: 'https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf',
92
+ },
93
+ {
94
+ name: 'Mekanik ve Membran Klavyeler - Teknik İnceleme',
95
+ url: 'https://deskthority.net/wiki/Rollover',
96
+ },
97
+ ],
98
+ howTo: howToData,
99
+ schemas: [faqSchema, howToSchema, appSchema],
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Çevrimiçi Klavye Testi: Ghosting ve N-Key Rollover\'ı Belirleyin',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Klavye teşhisi için etkileşimli bir araç. Donanımınızda ghosting, kilitlenme veya rollover sınırlamaları olup olmadığını kontrol edin. Tüm klavye türleri desteğiyle görsel olarak net.',
109
+ },
110
+ {
111
+ type: 'title',
112
+ text: 'Ghosting Nedir?',
113
+ level: 3,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Ghosting, belirli bir tuş kombinasyonuna bastığınızda ve klavyenin yapmadığınız bir hayalet tuş basımını algılamasıyla oluşur. Bu, dahili devre matrisindeki sınırlamalardan kaynaklanır.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'N-Key Rollover ve Maksimum Rollover',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: '<strong>NKRO (N-Key Rollover):</strong> Tüm basılı tuşların aynı anda algılanmasını sağlar. <strong>6KRO:</strong> Eski USB standart sınırı. <strong>2-3KRO:</strong> Ucuz klavyelerde yaygındır, yazı yazmak için yeterlidir.',
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Mekanik ve Membran Klavyeler',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Mekanik klavyeler, izole diyotlara sahip bireysel anahtarlara sahiptir ve bu da ghosting\'i ortadan kaldırır. Membran klavyeler iletken yolları paylaşır, bu da eşzamanlı kombinasyonlarda hatalara neden olur.',
136
+ },
137
+ ],
138
+ ui: {
139
+ badge: 'Giriş Testi',
140
+ title: 'Klavye Testi ve Ghosting Belirleyici',
141
+ description: 'N-Key Rollover\'ı doğrulayın ve arızalı tuşları belirleyin.',
142
+ simultaneousLabel: 'Eşzamanlı',
143
+ eventLogLabel: 'Olay Günlüğü',
144
+ resetBtn: 'Sıfırla',
145
+ },
146
+ };
@@ -0,0 +1,146 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestTecladoUI } from '../ui';
4
+
5
+ const slug = 'keyboard-test';
6
+ const title = '在线键盘测试与按键冲突检测器';
7
+ const description = '检测您的键盘是否存在按键冲突(Ghosting)或卡键。实时按键可视化与 N-Key Rollover 计数器。';
8
+
9
+ const faqData = [
10
+ {
11
+ question: '什么是键盘按键冲突(Ghosting)?',
12
+ answer: '冲突是指当您同时按下多个键时,电脑未能记录其中某些键。这是由于键盘内部电路矩阵的局限性造成的,无法处理某些按键组合。',
13
+ },
14
+ {
15
+ question: '什么是全键无冲(NKRO, N-Key Rollover)?',
16
+ answer: 'NKRO 意味着键盘可以无误地记录您同时按下的所有键。这是一项高端功能,通常见于高端机械键盘和游戏键盘中。',
17
+ },
18
+ {
19
+ question: '为什么我同时按下 3 个键时键盘会失效?',
20
+ answer: '大多数廉价办公键盘只有 2 键或 3 键无冲。这对于打字足够了,但对于高强度游戏或复杂的快捷键操作则不足。',
21
+ },
22
+ {
23
+ question: '如何修复不响应的按键?',
24
+ answer: '如果测试未检测到按键,可能是开关下方有灰尘、电路接触故障或线缆损坏。在放弃之前,尝试用压缩空气清理一下键盘。',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: '聚焦可视化界面',
31
+ text: '点击页面上的任意位置,确保浏览器处于聚焦状态以便捕获硬件按键输入。',
32
+ },
33
+ {
34
+ name: '运行响应测试',
35
+ text: '逐个按下键盘上的每个键。如果工作正常,屏幕上对应的键会亮起绿色。',
36
+ },
37
+ {
38
+ name: '检测按键冲突',
39
+ text: '同时按下常用的游戏按键(W, A, S, D, 空格, Shift),看看它们是否锁定或能够全部亮起。',
40
+ },
41
+ {
42
+ name: '验证最大无冲数量',
43
+ text: '尝试用双手按下尽可能多的按键,并观察最大同时按键计数器。',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step, i) => ({
63
+ '@type': 'HowToStep',
64
+ position: i + 1,
65
+ name: step.name,
66
+ text: step.text,
67
+ })),
68
+ };
69
+
70
+ const appSchema: WithContext<SoftwareApplication> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'SoftwareApplication',
73
+ name: title,
74
+ description,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'zh',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<TestTecladoUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ faqTitle: '常见问题',
86
+ faq: faqData,
87
+ bibliographyTitle: '技术参考',
88
+ bibliography: [
89
+ {
90
+ name: 'USB Keyboard/Keypad Page - HID Usage Tables',
91
+ url: 'https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf',
92
+ },
93
+ {
94
+ name: 'Mechanical vs Membrane Keyboards - Technical Deep Dive',
95
+ url: 'https://deskthority.net/wiki/Rollover',
96
+ },
97
+ ],
98
+ howTo: howToData,
99
+ schemas: [faqSchema, howToSchema, appSchema],
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: '在线键盘测试:检测冲突与全键无冲支持',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: '用于键盘诊断的交互式工具。检查您的外设是否受按键冲突、卡键或无冲限制。视觉清晰,支持所有键盘类型。',
109
+ },
110
+ {
111
+ type: 'title',
112
+ text: '什么是按键冲突?',
113
+ level: 3,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: '冲突发生在当您按下特定的按键组合时,键盘注册了您并未按下的幻象键。这是由于内部电路矩阵的局限性造成的。',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: '全键无冲与最大无冲',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: '<strong>NKRO (N-Key Rollover):</strong> 允许同时记录所有按下的键。<strong>6KRO:</strong> 旧的 USB 标准限制。<strong>2-3KRO:</strong> 低价键盘常见,足以满足打字需求。',
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: '机械键盘与薄膜键盘',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: '机械键盘拥有带独立二极管的独立开关,从而消除了按键冲突。薄膜键盘共享导电线路,会导致同时按下按键组合时出现故障。',
136
+ },
137
+ ],
138
+ ui: {
139
+ badge: '输入测试',
140
+ title: '键盘测试与冲突检测器',
141
+ description: '验证全键无冲并检测故障按键。',
142
+ simultaneousLabel: '同时按键',
143
+ eventLogLabel: '事件日志',
144
+ resetBtn: '重置',
145
+ },
146
+ };
@@ -7,10 +7,6 @@ import TestTecladoBibliography from './bibliography.astro';
7
7
  import type { TestTecladoUI } from './ui';
8
8
  export type TestTecladoLocaleContent = ToolLocaleContent<TestTecladoUI>;
9
9
 
10
- import { content as es } from './i18n/es';
11
- import { content as en } from './i18n/en';
12
- import { content as fr } from './i18n/fr';
13
-
14
10
  export const testTeclado: HardwareToolEntry<TestTecladoUI> = {
15
11
  id: 'test-teclado',
16
12
  icons: {
@@ -18,9 +14,21 @@ export const testTeclado: HardwareToolEntry<TestTecladoUI> = {
18
14
  fg: 'mdi:keyboard-settings',
19
15
  },
20
16
  i18n: {
21
- es: async () => es,
22
- en: async () => en,
23
- fr: async () => fr,
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ en: () => import('./i18n/en').then((m) => m.content),
19
+ es: () => import('./i18n/es').then((m) => m.content),
20
+ fr: () => import('./i18n/fr').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ it: () => import('./i18n/it').then((m) => m.content),
23
+ ja: () => import('./i18n/ja').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ nl: () => import('./i18n/nl').then((m) => m.content),
26
+ pl: () => import('./i18n/pl').then((m) => m.content),
27
+ pt: () => import('./i18n/pt').then((m) => m.content),
28
+ ru: () => import('./i18n/ru').then((m) => m.content),
29
+ sv: () => import('./i18n/sv').then((m) => m.content),
30
+ tr: () => import('./i18n/tr').then((m) => m.content),
31
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
32
  },
25
33
  };
26
34
 
@@ -0,0 +1,135 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestRatonUI } from '../ui';
4
+
5
+ const slug = 'maus-polling-rate-test-online';
6
+ const title = 'Online Maus Polling Rate Test';
7
+ const description =
8
+ 'Überprüfen Sie die echten Hz Ihrer Maus. Verifizieren Sie mit unserem professionellen Tool, ob Ihre Gaming-Maus mit 1000Hz oder mehr arbeitet.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Was ist die Polling Rate einer Maus?',
13
+ answer:
14
+ 'Es ist die Frequenz, mit der die Maus ihre Position an den Computer meldet, gemessen in Hz. Eine Polling Rate von 1000Hz bedeutet, dass die Maus alle 1 Millisekunde Daten sendet, was eine viel flüssigere Bewegung ermöglicht.',
15
+ },
16
+ {
17
+ question: 'Warum erreicht mein Test nicht konstant 1000Hz?',
18
+ answer:
19
+ 'Der Browser kann die Polling Rate nur messen, wenn sich die Maus bewegt. Wenn Sie sie langsam bewegen oder Ihre CPU stark ausgelastet ist, kann die Messung schwanken. Bewegen Sie die Maus in schnellen Kreisen, um den echten Spitzenwert zu erhalten.',
20
+ },
21
+ {
22
+ question: 'Ist es besser, die höchstmögliche Polling Rate zu haben?',
23
+ answer:
24
+ 'Im Allgemeinen ja für Gaming (1000Hz oder mehr), da dies den Lag reduziert. Extrem hohe Raten (4000Hz oder 8000Hz) verbrauchen jedoch viele CPU-Ressourcen und nicht alle Spiele sind dafür optimiert.',
25
+ },
26
+ {
27
+ question: 'Wie beeinflusst die Bildwiederholrate des Monitors die Maus?',
28
+ answer:
29
+ 'Wenn Sie einen 144Hz- oder 240Hz-Monitor haben, lässt eine niedrige Polling Rate (125Hz) den Zeiger ruckelig aussehen. Für hochfrequente Monitore ist es wichtig, mindestens 500Hz oder 1000Hz zu verwenden.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Testbereich vorbereiten',
36
+ text: 'Platzieren Sie den Cursor innerhalb der Erfassungszone des Tools.',
37
+ },
38
+ {
39
+ name: 'Maus schnell bewegen',
40
+ text: 'Machen Sie schnelle, weite Kreisbewegungen. Das Tool berechnet die Intervalle zwischen den von der Hardware gesendeten Mousemove-Ereignissen.',
41
+ },
42
+ {
43
+ name: 'Stabilitätsgraph beobachten',
44
+ text: 'Prüfen Sie, ob die Hz-Linie konstant ist oder plötzliche Einbrüche aufweist, was auf Interferenzen bei Funkmäusen oder CPU-Probleme hindeuten könnte.',
45
+ },
46
+ {
47
+ name: 'Reaktionszeit analysieren',
48
+ text: 'Überprüfen Sie die durchschnittliche Verzögerung in Millisekunden. Eine gute Gaming-Maus sollte bei einer durchschnittlichen Latenz von fast 1ms bleiben.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'de',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<TestRatonUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Häufig gestellte Fragen',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Referenzen',
93
+ bibliography: [
94
+ {
95
+ name: 'Gamepad Polling Rate — Logitech',
96
+ url: 'https://www.logitechg.com/en-us/innovation/delta-zero.html',
97
+ },
98
+ {
99
+ name: 'USB HID Polling Rate — USB Implementers Forum',
100
+ url: 'https://www.usb.org/hid',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ { type: 'title', text: 'Der ultimative Leitfaden zur Polling Rate', level: 2 },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'Wenn Sie Ihre Maus physisch auf dem Mauspad bewegen, muss diese analoge Bewegung in digitale Signale übersetzt werden, die Ihr Computer versteht. Die <strong>Polling Rate</strong> ist die Frequenz, mit der die Maus ihre Position an den PC "meldet". Sie wird in Hertz (Hz) gemessen.',
110
+ },
111
+ { type: 'title', text: 'Polling Rate Stufen und ihre Verwendung', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ 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.',
115
+ },
116
+ { type: 'title', text: 'Warum schwanken meine Hz?', level: 3 },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Völlig normal. Die meisten modernen Mäuse haben eine dynamische Polling Rate, um Energie zu sparen. Wenn Sie die Maus langsam bewegen, sendet sie weniger Berichte, da weniger neue Daten vorhanden sind. Nur schnelle, kontinuierliche Bewegungen bringen den Sensor an seinen echten Spitzenwert.',
120
+ },
121
+ { type: 'title', text: 'Polling Rate vs. DPI: Die große Verwechslung', level: 3 },
122
+ {
123
+ type: 'paragraph',
124
+ html: '<strong>DPI (Dots Per Inch)</strong> ist die Empfindlichkeit: wie viele Pixel sich der Cursor pro Zoll physischer Bewegung bewegt. <strong>Hz (Polling Rate)</strong> ist die Aktualisierungsfrequenz: wie flüssig und zeitnah diese Bewegung gemeldet wird. Beide Parameter sind unabhängig und ergänzen sich.',
125
+ },
126
+ ],
127
+ ui: {
128
+ badge: 'Maus-Test',
129
+ title: 'Polling Rate Checker',
130
+ description: 'Bewegen Sie die Maus in schnellen Kreisen, um die Hz zu messen.',
131
+ labelAvg: 'Durchschnitt',
132
+ labelPeak: 'Spitze',
133
+ placeholder: 'Maus hier bewegen',
134
+ },
135
+ };
@@ -0,0 +1,135 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestRatonUI } from '../ui';
4
+
5
+ const slug = 'tes-mouse-polling-rate-online';
6
+ const title = 'Tes Mouse Polling Rate Online';
7
+ const description =
8
+ 'Periksa Hz asli mouse Anda. Verifikasi apakah mouse gaming Anda bekerja pada 1000Hz atau lebih dengan alat profesional kami.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Apa itu Polling Rate pada mouse?',
13
+ answer:
14
+ 'Ini adalah frekuensi di mana mouse melaporkan posisinya ke komputer, diukur dalam Hz. Polling rate 1000Hz berarti mouse mengirimkan data setiap 1 milidetik, memberikan gerakan yang jauh lebih mulus.',
15
+ },
16
+ {
17
+ question: 'Mengapa tes saya tidak mencapai 1000Hz secara konstan?',
18
+ answer:
19
+ 'Browser hanya dapat mengukur polling rate saat mouse sedang bergerak. Jika Anda menggerakkannya perlahan atau CPU Anda sangat sibuk, pengukurannya mungkin berfluktuasi. Gerakkan mouse dalam lingkaran cepat untuk mendapatkan puncak maksimum yang sebenarnya.',
20
+ },
21
+ {
22
+ question: 'Apakah lebih baik memiliki polling rate setinggi mungkin?',
23
+ answer:
24
+ 'Umumnya ya untuk gaming (1000Hz atau lebih), karena mengurangi lag. Namun, rate yang sangat tinggi (4000Hz atau 8000Hz) memakan banyak sumber daya CPU dan tidak semua game dioptimalkan untuk itu.',
25
+ },
26
+ {
27
+ question: 'Bagaimana refresh rate monitor memengaruhi mouse?',
28
+ answer:
29
+ 'Jika Anda memiliki monitor 144Hz atau 240Hz, polling rate yang rendah (125Hz) akan membuat penunjuk terlihat patah-patah. Untuk monitor frekuensi tinggi, sangat penting untuk menggunakan setidaknya 500Hz atau 1000Hz.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Siapkan area pengujian',
36
+ text: 'Tempatkan kursor di dalam zona penangkapan alat.',
37
+ },
38
+ {
39
+ name: 'Gerakkan mouse dengan cepat',
40
+ text: 'Lakukan gerakan melingkar yang cepat dan lebar. Alat ini akan menghitung interval antara setiap kejadian mousemove yang dikirim oleh perangkat keras.',
41
+ },
42
+ {
43
+ name: 'Amati grafik stabilitas',
44
+ text: 'Periksa apakah garis Hz konstan atau mengalami penurunan tiba-tiba, yang bisa mengindikasikan gangguan pada mouse nirkabel atau masalah CPU.',
45
+ },
46
+ {
47
+ name: 'Analisis waktu respons',
48
+ text: 'Periksa rata-rata Delay dalam milidetik. Mouse gaming yang baik harus tetap dekat dengan latensi rata-rata 1ms.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'id',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<TestRatonUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Referensi',
93
+ bibliography: [
94
+ {
95
+ name: 'Gamepad Polling Rate — Logitech',
96
+ url: 'https://www.logitechg.com/en-us/innovation/delta-zero.html',
97
+ },
98
+ {
99
+ name: 'USB HID Polling Rate — USB Implementers Forum',
100
+ url: 'https://www.usb.org/hid',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ { type: 'title', text: 'Panduan Definitif tentang Polling Rate', level: 2 },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'Saat Anda menggerakkan mouse secara fisik di atas mousepad, gerakan analog tersebut harus diterjemahkan menjadi sinyal digital yang dipahami komputer Anda. <strong>Polling Rate</strong> adalah frekuensi di mana mouse "melaporkan" posisinya ke PC. Ini diukur dalam Hertz (Hz).',
110
+ },
111
+ { type: 'title', text: 'Tingkat Polling Rate dan Kegunaannya', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ 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.',
115
+ },
116
+ { type: 'title', text: 'Mengapa Hz saya Berfluktuasi?', level: 3 },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Sangat normal. Sebagian besar mouse modern memiliki polling rate dinamis untuk menghemat daya. Jika Anda menggerakkan mouse secara perlahan, ia mengirimkan lebih sedikit laporan karena datanya lebih sedikit. Hanya gerakan cepat dan terus-menerus yang mendorong sensor ke puncak maksimum yang sebenarnya.',
120
+ },
121
+ { type: 'title', text: 'Polling Rate vs DPI: Kebingungan Besar', level: 3 },
122
+ {
123
+ type: 'paragraph',
124
+ html: '<strong>DPI (Dots Per Inch)</strong> adalah sensitivitas: berapa banyak piksel yang digerakkan kursor per inci gerakan fisik. <strong>Hz (Polling Rate)</strong> adalah frekuensi pembaruan: seberapa mulus dan tepat waktu gerakan tersebut dilaporkan. Kedua parameter tersebut independen dan saling melengkapi.',
125
+ },
126
+ ],
127
+ ui: {
128
+ badge: 'Tes Mouse',
129
+ title: 'Pemeriksa Polling Rate',
130
+ description: 'Gerakkan mouse dalam lingkaran cepat untuk mengukur Hz.',
131
+ labelAvg: 'Rata-rata',
132
+ labelPeak: 'Puncak',
133
+ placeholder: 'Gerakkan mouse di sini',
134
+ },
135
+ };