@jjlmoya/utils-hardware 1.2.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 (102) 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/component.astro +1 -1
  73. package/src/tool/mousePollingTest/i18n/de.ts +135 -0
  74. package/src/tool/mousePollingTest/i18n/id.ts +135 -0
  75. package/src/tool/mousePollingTest/i18n/it.ts +135 -0
  76. package/src/tool/mousePollingTest/i18n/ja.ts +135 -0
  77. package/src/tool/mousePollingTest/i18n/ko.ts +135 -0
  78. package/src/tool/mousePollingTest/i18n/nl.ts +135 -0
  79. package/src/tool/mousePollingTest/i18n/pl.ts +135 -0
  80. package/src/tool/mousePollingTest/i18n/pt.ts +135 -0
  81. package/src/tool/mousePollingTest/i18n/ru.ts +135 -0
  82. package/src/tool/mousePollingTest/i18n/sv.ts +135 -0
  83. package/src/tool/mousePollingTest/i18n/tr.ts +135 -0
  84. package/src/tool/mousePollingTest/i18n/zh.ts +135 -0
  85. package/src/tool/mousePollingTest/index.ts +15 -7
  86. package/src/tool/mousePollingTest/logic/RatonManager.ts +90 -51
  87. package/src/tool/mousePollingTest/logic/StatisticalFilter.ts +17 -25
  88. package/src/tool/toneGenerator/i18n/de.ts +146 -0
  89. package/src/tool/toneGenerator/i18n/id.ts +146 -0
  90. package/src/tool/toneGenerator/i18n/it.ts +146 -0
  91. package/src/tool/toneGenerator/i18n/ja.ts +146 -0
  92. package/src/tool/toneGenerator/i18n/ko.ts +146 -0
  93. package/src/tool/toneGenerator/i18n/nl.ts +146 -0
  94. package/src/tool/toneGenerator/i18n/pl.ts +146 -0
  95. package/src/tool/toneGenerator/i18n/pt.ts +146 -0
  96. package/src/tool/toneGenerator/i18n/ru.ts +146 -0
  97. package/src/tool/toneGenerator/i18n/sv.ts +146 -0
  98. package/src/tool/toneGenerator/i18n/tr.ts +146 -0
  99. package/src/tool/toneGenerator/i18n/zh.ts +146 -0
  100. package/src/tool/toneGenerator/index.ts +15 -7
  101. package/src/types.ts +1 -1
  102. package/src/tool/mousePollingTest/worker/mouseWorker.ts +0 -50
@@ -0,0 +1,155 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ProbadorVibracionMandoUI } from '../ui';
4
+
5
+ const slug = 'test-vibrazione-gamepad-online';
6
+ const title = 'Test Vibrazione Gamepad Online';
7
+ const description =
8
+ 'Testa i motori aptici e la vibrazione Dual-Rumble del tuo gamepad nel browser. Supporta Xbox, DualShock, DualSense e controller generici.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Di cosa ho bisogno per testare il mio gamepad online?',
13
+ answer:
14
+ 'Collega semplicemente il tuo gamepad al computer o al dispositivo mobile tramite cavo USB o associalo via Bluetooth. Una volta collegato, premi un pulsante qualsiasi per essere rilevato.',
15
+ },
16
+ {
17
+ question: 'Funziona con qualsiasi modello di gamepad?',
18
+ answer:
19
+ 'La maggior parte dei moderni gamepad di marche note (come PlayStation o Xbox) è compatibile se il dispositivo e il sistema operativo lo supportano.',
20
+ },
21
+ {
22
+ question: 'Il lato destro del mio gamepad vibra meno del sinistro, è normale?',
23
+ answer:
24
+ 'Sì, completamente normale. I gamepad di solito hanno un design asimmetrico in cui un lato gestisce vibrazioni forti e profonde e l\'altro vibrazioni rapide e sottili.',
25
+ },
26
+ {
27
+ question: 'L\'esecuzione di questi test consuma molta batteria?',
28
+ answer:
29
+ 'La vibrazione è una delle funzioni che consumano più energia in un gamepad wireless. L\'esecuzione di test continui e lunghi scaricherà la batteria più velocemente del solito.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Collega e accendi il gamepad',
36
+ text: 'Collega il tuo gamepad al PC, Mac o cellulare tramite cavo USB o Bluetooth.',
37
+ },
38
+ {
39
+ name: 'Premi un pulsante sul gamepad',
40
+ text: 'I browser richiedono di premere almeno un pulsante affinché il gamepad venga rilevato e inizi la comunicazione web.',
41
+ },
42
+ {
43
+ name: 'Regola i motori di vibrazione',
44
+ text: 'Configura la potenza del Motore Forte (Low) e del Motore Fine (High) indipendentemente.',
45
+ },
46
+ {
47
+ name: 'Esegui i pattern',
48
+ text: 'Premi uno dei preset o configura manualmente i parametri e invia il segnale per sentire ogni componente.',
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: 'it',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Domande Frequenti',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Riferimenti',
93
+ bibliography: [
94
+ {
95
+ name: 'Come funziona la vibrazione aptica — HobbyConsolas',
96
+ url: 'https://www.hobbyconsolas.com/reportajes/como-funciona-vibracion-haptica-mando-dualsense-ps5-757673',
97
+ },
98
+ {
99
+ name: 'Gamepad API — W3C',
100
+ url: 'https://w3c.github.io/gamepad/',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ { type: 'title', text: 'Come verificare la vibrazione del tuo gamepad da gioco', level: 2 },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'Il feedback aptico è uno degli elementi più coinvolgenti dell\'hardware da gioco. Quando un motore si guasta, i primi sintomi sono solitamente ronzii anomali o vibrazioni asimmetriche. Diagnosticarli precocemente previene guasti maggiori.',
110
+ },
111
+ { type: 'title', text: 'Perché eseguire il test di vibrazione?', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Quando si acquista un gamepad di seconda mano, dopo aver aggiornato i driver o dopo una caduta, testare i motori aptici aiuta a distinguere i guasti hardware reali dai problemi software. Compatibile con Xbox, PlayStation 4, PlayStation 5 (DualSense), Nintendo Switch Pro e gamepad USB generici.',
115
+ },
116
+ { type: 'title', text: 'Dual-Rumble vs. Architettura dell\'Attuatore Lineare', level: 3 },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'I gamepad classici (Xbox, DualShock) utilizzano due micro-motori asimmetrici: quello sinistro genera vibrazioni profonde e rombanti; quello destro produce ronzii rapidi e acuti. Dispositivi avanzati come il DualSense utilizzano attuatori lineari che simulano texture e resistenza.',
120
+ },
121
+ { type: 'title', text: 'Guida diagnostica basata sui sintomi', level: 3 },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Attiva ogni motore indipendentemente al 100%. Se entrambi suonano allo stesso modo, il gamepad potrebbe essere una replica con un unico motore. Se uno non risponde, controlla la connessione prima di aprire il telaio. Testa le intensità frazionarie: i motori di qualità rispondono gradualmente, non come un interruttore on/off.',
125
+ },
126
+ ],
127
+ ui: {
128
+ badge: 'Test Vibrazione',
129
+ title: 'Test Vibrazione Gamepad',
130
+ description: 'Controllo diretto sul motore Dual-Rumble del tuo gamepad.',
131
+ deviceDisconnected: 'Gamepad Disconnesso',
132
+ deviceDisconnectedSub: 'Premi un pulsante sul tuo gamepad per iniziare',
133
+ deviceFallback: 'Gamepad Connesso',
134
+ deviceConnectedSub: 'Connessione stabile. Pronto per il test.',
135
+ noSupportWarning: "Nessun supporto Dual-Rumble rilevato nel browser. Utilizzo della vibrazione generica di base.",
136
+ tabPresets: 'Preset Principali',
137
+ tabCustom: 'Precisione Pura',
138
+ presetHeavyTitle: 'Colpo di Martello',
139
+ presetHeavyDesc: 'Motore pesante al massimo per 300ms. Simula un colpo forte.',
140
+ presetLightTitle: 'Ronzio d\'Ape',
141
+ presetLightDesc: 'Solo motore destro. Ideale per rilevare ronzii insoliti.',
142
+ presetHeartbeatTitle: 'Battito Cardiaco',
143
+ presetHeartbeatDesc: 'Sottili impulsi consecutivi. Perfetto per controllare la ritenzione inerziale.',
144
+ presetSongTitle: 'Ritmo della Moneta',
145
+ presetSongDesc: 'Simula suoni consecutivi di monete. Breve e tattile.',
146
+ presetRockYouTitle: 'Rock You!',
147
+ presetRockYouDesc: "Il classico dei Queen nelle tue mani: boom, boom, clap!",
148
+ presetEarthquakeTitle: 'Terremoto Massimo!',
149
+ presetEarthquakeDesc: 'Entrambi i motori al 100% di forza esplosiva. MOLTO intenso.',
150
+ customStrongLabel: 'Forza Forte (Sinistra)',
151
+ customWeakLabel: 'Forza Debole (Destra)',
152
+ customDurationLabel: 'Durata Impulso',
153
+ btnSendSignal: 'INVIA SEGNALE ORA',
154
+ },
155
+ };
@@ -0,0 +1,155 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ProbadorVibracionMandoUI } from '../ui';
4
+
5
+ const slug = 'gamepad-vibration-tester';
6
+ const title = 'オンライン・ゲームパッド振動テスター';
7
+ const description =
8
+ 'ブラウザ上でゲームパッドのハプティックモーターとDual-Rumble振動をテストします。Xbox、DualShock、DualSense、および汎用コントローラーに対応。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'オンラインでゲームパッドをテストするには何が必要ですか?',
13
+ answer:
14
+ 'ゲームパッドをUSBケーブルでコンピュータやモバイルデバイスに接続するか、Bluetoothでペアリングするだけです。接続されたら、いずれかのボタンを押すと検出されます。',
15
+ },
16
+ {
17
+ question: 'どのゲームパッドモデルでも動作しますか?',
18
+ answer:
19
+ 'デバイスとOSがサポートしていれば、有名ブランド(PlayStationやXboxなど)の最新のゲームパッドのほとんどは互換性があります。',
20
+ },
21
+ {
22
+ question: 'ゲームパッドの右側の振動が左側より弱いのですが、これは正常ですか?',
23
+ answer:
24
+ 'はい、完全に正常です。ゲームパッドは通常アシンメトリー(非対称)設計になっており、片方が強く深い振動を、もう片方が高速で繊細な振動を担当しています。',
25
+ },
26
+ {
27
+ question: 'これらのテストを実行するとバッテリーを大幅に消費しますか?',
28
+ answer:
29
+ '振動は、ワイヤレスゲームパッドの中で最もエネルギーを消費する機能の一つです。連続して長時間のテストを実行すると、通常よりも早くバッテリーが消耗します。',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'ゲームパッドを接続して電源を入れる',
36
+ text: 'USBケーブルまたはBluetoothで、PC、Mac、またはモバイルにゲームパッドをリンクさせます。',
37
+ },
38
+ {
39
+ name: 'ゲームパッドのボタンを押す',
40
+ text: 'ブラウザがゲームパッドを検出し、Web通信を開始するには、少なくとも1つのボタンを押す必要があります。',
41
+ },
42
+ {
43
+ name: '振動モーターを調整する',
44
+ text: '強力なモーター(Low)ときめ細やかなモーター(High)の出力を個別に設定します。',
45
+ },
46
+ {
47
+ name: 'パターンを実行する',
48
+ text: 'プリセットのいずれかを押すか、手動でパラメータを設定して信号を送信し、各コンポーネントの感触を確認します。',
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: 'ja',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'よくある質問',
91
+ faq: faqData,
92
+ bibliographyTitle: 'リファレンス',
93
+ bibliography: [
94
+ {
95
+ name: 'ハプティック振動の仕組み — HobbyConsolas',
96
+ url: 'https://www.hobbyconsolas.com/reportajes/como-funciona-vibracion-haptica-mando-dualsense-ps5-757673',
97
+ },
98
+ {
99
+ name: 'Gamepad API — W3C',
100
+ url: 'https://w3c.github.io/gamepad/',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ { type: 'title', text: 'ゲーム用パッドの振動を監査する方法', level: 2 },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'ハプティックフィードバックは、ゲーミングハードウェアの中で最も没入感を高める要素の一つです。モーターが故障すると、最初の症状として異常なうなり音や非対称な振動が現れることが一般的です。早期の診断が大きな故障を防ぎます。',
110
+ },
111
+ { type: 'title', text: 'なぜ振動テストを実行するのですか?', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: '中古のゲームパッドを購入したとき、ドライバを更新した後、または落下させた後、ハプティックモーターをテストすることで、実際のハードウェア故障とソフトウェアの問題を区別できます。Xbox、PlayStation 4、PlayStation 5 (DualSense)、Nintendo Switch Pro、および汎用USBゲームパッドに対応しています。',
115
+ },
116
+ { type: 'title', text: 'Dual-Rumble 対 リニアアクチュエータ構造', level: 3 },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'クラシックなゲームパッド(Xbox、DualShock)は、2つの非対称マイクロモーターを使用しています。左側は深く、ゴロゴロとした振動を生成し、右側は高速で鋭いうなり音を生成します。DualSenseのような高度なデバイスは、質感や抵抗をシミュレートするリニアアクチュエータを使用しています。',
120
+ },
121
+ { type: 'title', text: '症状別診断ガイド', level: 3 },
122
+ {
123
+ type: 'paragraph',
124
+ html: '各モーターを個別に100%で動作させます。両方とも同じ音がする場合、そのゲームパッドは単一モーターの模倣品である可能性があります。一方が反応しない場合は、分解する前に接続を確認してください。段階的な強度もテストしてください。高品質なモーターはON/OFFスイッチのように極端ではなく、徐々に反応します。',
125
+ },
126
+ ],
127
+ ui: {
128
+ badge: '振動テスト',
129
+ title: 'ゲームパッド振動テスター',
130
+ description: 'ゲームパッドのDual-Rumbleモーターを直接制御。',
131
+ deviceDisconnected: 'ゲームパッド未接続',
132
+ deviceDisconnectedSub: '開始するにはゲームパッドのボタンを押してください',
133
+ deviceFallback: 'ゲームパッド接続完了',
134
+ deviceConnectedSub: '接続は安定しています。テスト可能です。',
135
+ noSupportWarning: "ブラウザでDual-Rumbleサポートが検出されませんでした。基本的な汎用振動を使用します。",
136
+ tabPresets: 'おすすめプリセット',
137
+ tabCustom: '精密設定',
138
+ presetHeavyTitle: 'ハンマーストライク',
139
+ presetHeavyDesc: '強力なモーターを最大で300ms作動。強い衝撃をシミュレート。',
140
+ presetLightTitle: 'ハチの羽音',
141
+ presetLightDesc: '右モーターのみ。異常なうなり音の検出に最適。',
142
+ presetHeartbeatTitle: '鼓動',
143
+ presetHeartbeatDesc: '繊細な連続パルス。慣性維持の確認に最適。',
144
+ presetSongTitle: 'コインのリズム',
145
+ presetSongDesc: '連続したコイン音をシミュレート。短くタクタイルな感触。',
146
+ presetRockYouTitle: 'Rock You!',
147
+ presetRockYouDesc: "Queenの名曲をその手に:ドン、ドン、チャッ!",
148
+ presetEarthquakeTitle: '最大級の地震!',
149
+ presetEarthquakeDesc: '両方のモーターを100%の爆発的な力で作動。非常に強烈です。',
150
+ customStrongLabel: '強力な力(左)',
151
+ customWeakLabel: '繊細な力(右)',
152
+ customDurationLabel: 'パルス持続時間',
153
+ btnSendSignal: '信号を送信',
154
+ },
155
+ };
@@ -0,0 +1,155 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ProbadorVibracionMandoUI } from '../ui';
4
+
5
+ const slug = 'gamepad-vibration-tester';
6
+ const title = '온라인 게임패드 진동 테스트';
7
+ const description =
8
+ '브라우저에서 게임패드의 햅틱 모터와 Dual-Rumble 진동을 테스트하세요. Xbox, DualShock, DualSense 및 일반 컨트롤러를 지원합니다.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '온라인으로 게임패드를 테스트하려면 무엇이 필요한가요?',
13
+ answer:
14
+ '게임패드를 USB 케이블로 컴퓨터나 모바일 기기에 연결하거나 블루투스로 페어링하기만 하면 됩니다. 연결되면 아무 버튼이나 눌러 인식되도록 하세요.',
15
+ },
16
+ {
17
+ question: '모든 게임패드 모델에서 작동하나요?',
18
+ answer:
19
+ '기기와 운영체제가 지원하는 경우, 유명 브랜드(PlayStation 또는 Xbox 등)의 대부분의 최신 게임패드는 호환됩니다.',
20
+ },
21
+ {
22
+ question: '게임패드의 오른쪽 진동이 왼쪽보다 약한데 정상인가요?',
23
+ answer:
24
+ '네, 완전히 정상입니다. 게임패드는 대개 비대칭 설계로 되어 있어 한쪽은 강하고 깊은 진동을, 다른 한쪽은 빠르고 섬세한 진동을 담당합니다.',
25
+ },
26
+ {
27
+ question: '이 테스트를 실행하면 배터리가 많이 소모되나요?',
28
+ answer:
29
+ '진동은 무선 게임패드에서 가장 에너지를 많이 소비하는 기능 중 하나입니다. 연속적으로 긴 테스트를 실행하면 배터리가 평소보다 빨리 소모됩니다.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: '게임패드 연결 및 전원 켜기',
36
+ text: 'USB 케이블이나 블루투스를 통해 게임패드를 PC, Mac 또는 모바일에 연결하십시오.',
37
+ },
38
+ {
39
+ name: '게임패드 버튼 누르기',
40
+ text: '브라우저에서 게임패드를 인식하고 웹 통신을 시작하려면 최소 하나의 버튼을 눌러야 합니다.',
41
+ },
42
+ {
43
+ name: '진동 모터 조정',
44
+ text: '강한 모터(Low)와 미세 모터(High)의 세기를 각각 독립적으로 설정하십시오.',
45
+ },
46
+ {
47
+ name: '패턴 실행',
48
+ text: '사전 설정 중 하나를 누르거나 수동으로 매개변수를 설정하고 신호를 보내 각 부품의 느낌을 확인하십시오.',
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: 'ko',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: '자주 묻는 질문',
91
+ faq: faqData,
92
+ bibliographyTitle: '참조',
93
+ bibliography: [
94
+ {
95
+ name: '햅틱 진동 작동 원리 — HobbyConsolas',
96
+ url: 'https://www.hobbyconsolas.com/reportajes/como-funciona-vibracion-haptica-mando-dualsense-ps5-757673',
97
+ },
98
+ {
99
+ name: 'Gamepad API — W3C',
100
+ url: 'https://w3c.github.io/gamepad/',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ { type: 'title', text: '게임용 패드 진동을 점검하는 방법', level: 2 },
107
+ {
108
+ type: 'paragraph',
109
+ html: '햅틱 피드백은 게이밍 하드웨어에서 가장 몰입감을 주는 요소 중 하나입니다. 모터가 고장 나면 대개 비정상적인 소음이나 비대칭 진동이 첫 증상으로 나타납니다. 조기 진단은 큰 고장을 예방합니다.',
110
+ },
111
+ { type: 'title', text: '왜 진동 테스트를 실행해야 하나요?', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: '중고 게임패드를 구매했을 때, 드라이버 업데이트 후 또는 낙하 후 햅틱 모터를 테스트하면 실제 하드웨어 고장과 소프트웨어 문제를 구분하는 데 도움이 됩니다. Xbox, PlayStation 4, PlayStation 5 (DualSense), Nintendo Switch Pro 및 일반 USB 게임패드와 호환됩니다.',
115
+ },
116
+ { type: 'title', text: 'Dual-Rumble 대 선형 액추에이터 구조', level: 3 },
117
+ {
118
+ type: 'paragraph',
119
+ html: '클래식 게임패드(Xbox, DualShock)는 두 개의 비대칭 마이크로 모터를 사용합니다. 왼쪽은 깊고 울리는 진동을, 오른쪽은 빠르고 높은 소음의 진동을 생성합니다. DualSense와 같은 고급 기기는 질감과 저항을 시뮬레이션하는 선형 액추에이터를 사용합니다.',
120
+ },
121
+ { type: 'title', text: '증상 기반 진단 가이드', level: 3 },
122
+ {
123
+ type: 'paragraph',
124
+ html: '각 모터를 독립적으로 100% 강도로 작동시켜 보십시오. 두 모터의 소리가 같다면 해당 패드는 모터가 하나뿐인 복제품일 가능성이 있습니다. 한쪽이 반응하지 않는다면 분해하기 전에 연결 상태를 확인하십시오. 강도 단계를 테스트해 보십시오. 품질이 좋은 모터는 On/Off 스위치처럼 작동하지 않고 점진적으로 반응합니다.',
125
+ },
126
+ ],
127
+ ui: {
128
+ badge: '진동 테스트',
129
+ title: '게임패드 진동 테스터',
130
+ description: '게임패드의 Dual-Rumble 모터를 직접 제어하세요.',
131
+ deviceDisconnected: '게임패드 연결 끊김',
132
+ deviceDisconnectedSub: '시작하려면 게임패드의 버튼을 누르세요',
133
+ deviceFallback: '게임패드 연결됨',
134
+ deviceConnectedSub: '연결이 안정적입니다. 테스트 준비 완료.',
135
+ noSupportWarning: "브라우저에서 Dual-Rumble 지원이 감지되지 않았습니다. 기본 일반 진동을 사용합니다.",
136
+ tabPresets: '추천 프리셋',
137
+ tabCustom: '정밀 설정',
138
+ presetHeavyTitle: '망치 타격',
139
+ presetHeavyDesc: '강한 모터를 최대치로 300ms 동안 작동합니다. 강한 충격을 시뮬레이션합니다.',
140
+ presetLightTitle: '벌의 윙윙거림',
141
+ presetLightDesc: '오른쪽 모터만 작동합니다. 비정상적인 소음을 감지하는 데 적합합니다.',
142
+ presetHeartbeatTitle: '심장 박동',
143
+ presetHeartbeatDesc: '미세한 연속 펄스입니다. 관성 유지를 확인하는 데 완벽합니다.',
144
+ presetSongTitle: '코인 리듬',
145
+ presetSongDesc: '연속적인 코인 소리를 시뮬레이션합니다. 짧고 촉각적입니다.',
146
+ presetRockYouTitle: 'Rock You!',
147
+ presetRockYouDesc: "퀸(Queen)의 클래식을 손안에서: 쿵, 쿵, 짝!",
148
+ presetEarthquakeTitle: '최대 지진!',
149
+ presetEarthquakeDesc: '두 모터를 100% 폭발적인 힘으로 작동합니다. 매우 강렬합니다.',
150
+ customStrongLabel: '강한 힘 (왼쪽)',
151
+ customWeakLabel: '약한 힘 (오른쪽)',
152
+ customDurationLabel: '펄스 지속 시간',
153
+ btnSendSignal: '신호 전송',
154
+ },
155
+ };
@@ -0,0 +1,155 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ProbadorVibracionMandoUI } from '../ui';
4
+
5
+ const slug = 'gamepad-vibratie-test-online';
6
+ const title = 'Online Gamepad Vibratie Tester';
7
+ const description =
8
+ 'Test de haptische motoren en de Dual-Rumble vibratie van je gamepad in de browser. Ondersteunt Xbox, DualShock, DualSense en generieke controllers.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Wat heb ik nodig om mijn gamepad online te testen?',
13
+ answer:
14
+ 'Sluit je gamepad eenvoudig aan op de computer of het mobiele apparaat via een USB-kabel of koppel deze via Bluetooth. Eenmaal gekoppeld, druk je op een willekeurige knop om gedetecteerd te worden.',
15
+ },
16
+ {
17
+ question: 'Werkt het met elk model gamepad?',
18
+ answer:
19
+ 'De meeste moderne gamepads van bekende merken (zoals PlayStation of Xbox) zijn compatibel als je apparaat en besturingssysteem dit ondersteunen.',
20
+ },
21
+ {
22
+ question: 'De rechterkant van mijn gamepad vibreert minder dan de linkerkant, is dat normaal?',
23
+ answer:
24
+ 'Ja, volledig normaal. Gamepads hebben meestal een asymmetrisch ontwerp waarbij de ene kant sterke, diepe vibraties verzorgt en de andere kant snelle, subtiele vibraties.',
25
+ },
26
+ {
27
+ question: 'Verbruiken deze tests veel batterij?',
28
+ answer:
29
+ 'Vibratie is een van de meest energieverslindende functies in een draadloze gamepad. Het uitvoeren van continue, lange tests zal de batterij sneller ontladen dan normaal.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Sluit de gamepad aan en zet deze aan',
36
+ text: 'Koppel je gamepad aan je pc, Mac of mobiel via een USB-kabel of Bluetooth.',
37
+ },
38
+ {
39
+ name: 'Druk op een knop op de gamepad',
40
+ text: 'Browsers vereisen dat je op ten minste één knop drukt voordat de gamepad wordt gedetecteerd en de webcommunicatie start.',
41
+ },
42
+ {
43
+ name: 'Pas de vibratiemotoren aan',
44
+ text: 'Configureer de kracht van de Sterke Motor (Low) en de Fijne Motor (High) onafhankelijk van elkaar.',
45
+ },
46
+ {
47
+ name: 'Voer de patronen uit',
48
+ text: 'Druk op een van de presets of configureer de parameters handmatig en stuur het signaal om elk onderdeel te voelen.',
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: 'nl',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Veelgestelde Vragen',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Referenties',
93
+ bibliography: [
94
+ {
95
+ name: 'Hoe haptische vibratie werkt — HobbyConsolas',
96
+ url: 'https://www.hobbyconsolas.com/reportajes/como-funciona-vibracion-haptica-mando-dualsense-ps5-757673',
97
+ },
98
+ {
99
+ name: 'Gamepad API — W3C',
100
+ url: 'https://w3c.github.io/gamepad/',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ { type: 'title', text: 'Hoe examineer je de vibratie van je gamepad', level: 2 },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'Haptische feedback is een van de meest meeslepende elementen van gaminghardware. Als een motor faalt, zijn de eerste symptomen meestal abnormaal gezoem of asymmetrische vibraties. Een vroege diagnose voorkomt grotere defecten.',
110
+ },
111
+ { type: 'title', text: 'Waarom de vibratietest uitvoeren?', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Bij het kopen van een tweedehands gamepad, na het updaten van drivers of na een val, helpt het testen van de haptische motoren om echte hardwarefouten te onderscheiden van softwareproblemen. Compatibel met Xbox, PlayStation 4, PlayStation 5 (DualSense), Nintendo Switch Pro en generieke USB-gamepads.',
115
+ },
116
+ { type: 'title', text: 'Dual-Rumble vs. Lineaire Actuator Architectuur', level: 3 },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Klassieke gamepads (Xbox, DualShock) maken gebruik van twee asymmetrische micromotoren: de linker genereert diepe, rommelende vibraties; de rechter produceert snel, hoog gezoem. Geavanceerde apparaten zoals de DualSense maken gebruik van lineaire actuatoren die texturen en weerstand simuleren.',
120
+ },
121
+ { type: 'title', text: 'Diagnostische gids op basis van symptomen', level: 3 },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Activeer elke motor onafhankelijk op 100%. Als ze beide hetzelfde klinken, is de gamepad mogelijk een replica met één motor. Als er een niet reageert, controleer dan de verbinding voordat je de behuizing opent. Test fractionele intensiteiten: kwaliteitsmotoren reageren geleidelijk, niet als een aan/uit-schakelaar.',
125
+ },
126
+ ],
127
+ ui: {
128
+ badge: 'Vibratie Test',
129
+ title: 'Gamepad Vibratie Tester',
130
+ description: 'Directe controle over de Dual-Rumble motor van je gamepad.',
131
+ deviceDisconnected: 'Gamepad Verbinding Verbroken',
132
+ deviceDisconnectedSub: 'Druk op een knop op je gamepad om te beginnen',
133
+ deviceFallback: 'Gamepad Verbonden',
134
+ deviceConnectedSub: 'Stabiele verbinding. Klaar om te testen.',
135
+ noSupportWarning: "Geen Dual-Rumble ondersteuning gedetecteerd in je browser. Basis generieke vibratie wordt gebruikt.",
136
+ tabPresets: 'Top Presets',
137
+ tabCustom: 'Pure Precisie',
138
+ presetHeavyTitle: 'Hamerslag',
139
+ presetHeavyDesc: 'Zware motor op max voor 300ms. Simuleert een harde klap.',
140
+ presetLightTitle: 'Bijengezoem',
141
+ presetLightDesc: 'Alleen rechtermotor. Ideaal voor het detecteren van ongewoon gezoem.',
142
+ presetHeartbeatTitle: 'Hartslag',
143
+ presetHeartbeatDesc: 'Subtiele opeenvolgende pulsen. Perfect voor het controleren van de traagheid.',
144
+ presetSongTitle: 'Munt Ritme',
145
+ presetSongDesc: 'Simuleert opeenvolgende muntgeluiden. Kort en tactiel.',
146
+ presetRockYouTitle: 'Rock You!',
147
+ presetRockYouDesc: "Queens klassieker in jouw handen: boom, boom, clap!",
148
+ presetEarthquakeTitle: 'Maximale Aardbeving!',
149
+ presetEarthquakeDesc: 'Beide motoren op 100% explosieve kracht. ZEER intens.',
150
+ customStrongLabel: 'Sterke Kracht (Links)',
151
+ customWeakLabel: 'Zwakke Kracht (Rechts)',
152
+ customDurationLabel: 'Pulsduur',
153
+ btnSendSignal: 'STUUR NU SIGNAAL',
154
+ },
155
+ };