@jjlmoya/utils-hardware 1.3.0 → 1.6.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.
- package/package.json +2 -1
- package/src/category/i18n/de.ts +106 -0
- package/src/category/i18n/id.ts +106 -0
- package/src/category/i18n/it.ts +106 -0
- package/src/category/i18n/ja.ts +106 -0
- package/src/category/i18n/ko.ts +106 -0
- package/src/category/i18n/nl.ts +106 -0
- package/src/category/i18n/pl.ts +106 -0
- package/src/category/i18n/pt.ts +106 -0
- package/src/category/i18n/ru.ts +106 -0
- package/src/category/i18n/sv.ts +106 -0
- package/src/category/i18n/tr.ts +106 -0
- package/src/category/i18n/zh.ts +106 -0
- package/src/category/index.ts +13 -1
- package/src/tests/category_validation.test.ts +73 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +1 -1
- package/src/tool/batteryHealthEstimator/i18n/de.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/id.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/it.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/ja.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/ko.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/nl.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/pl.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/pt.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/ru.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/sv.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/tr.ts +158 -0
- package/src/tool/batteryHealthEstimator/i18n/zh.ts +158 -0
- package/src/tool/batteryHealthEstimator/index.ts +15 -7
- package/src/tool/deadPixelTest/i18n/de.ts +218 -0
- package/src/tool/deadPixelTest/i18n/id.ts +218 -0
- package/src/tool/deadPixelTest/i18n/it.ts +218 -0
- package/src/tool/deadPixelTest/i18n/ja.ts +218 -0
- package/src/tool/deadPixelTest/i18n/ko.ts +218 -0
- package/src/tool/deadPixelTest/i18n/nl.ts +218 -0
- package/src/tool/deadPixelTest/i18n/pl.ts +218 -0
- package/src/tool/deadPixelTest/i18n/pt.ts +218 -0
- package/src/tool/deadPixelTest/i18n/ru.ts +218 -0
- package/src/tool/deadPixelTest/i18n/sv.ts +218 -0
- package/src/tool/deadPixelTest/i18n/tr.ts +218 -0
- package/src/tool/deadPixelTest/i18n/zh.ts +217 -0
- package/src/tool/deadPixelTest/index.ts +15 -7
- package/src/tool/gamepadTest/i18n/de.ts +186 -0
- package/src/tool/gamepadTest/i18n/id.ts +186 -0
- package/src/tool/gamepadTest/i18n/it.ts +186 -0
- package/src/tool/gamepadTest/i18n/ja.ts +186 -0
- package/src/tool/gamepadTest/i18n/ko.ts +186 -0
- package/src/tool/gamepadTest/i18n/nl.ts +186 -0
- package/src/tool/gamepadTest/i18n/pl.ts +186 -0
- package/src/tool/gamepadTest/i18n/pt.ts +186 -0
- package/src/tool/gamepadTest/i18n/ru.ts +186 -0
- package/src/tool/gamepadTest/i18n/sv.ts +186 -0
- package/src/tool/gamepadTest/i18n/tr.ts +186 -0
- package/src/tool/gamepadTest/i18n/zh.ts +186 -0
- package/src/tool/gamepadTest/index.ts +15 -7
- package/src/tool/gamepadVibrationTester/i18n/de.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/id.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/it.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/ja.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/ko.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/nl.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/pl.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/pt.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/ru.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/sv.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/tr.ts +155 -0
- package/src/tool/gamepadVibrationTester/i18n/zh.ts +155 -0
- package/src/tool/gamepadVibrationTester/index.ts +15 -7
- package/src/tool/keyboardTest/i18n/de.ts +146 -0
- package/src/tool/keyboardTest/i18n/id.ts +146 -0
- package/src/tool/keyboardTest/i18n/it.ts +146 -0
- package/src/tool/keyboardTest/i18n/ja.ts +146 -0
- package/src/tool/keyboardTest/i18n/ko.ts +146 -0
- package/src/tool/keyboardTest/i18n/nl.ts +146 -0
- package/src/tool/keyboardTest/i18n/pl.ts +146 -0
- package/src/tool/keyboardTest/i18n/pt.ts +146 -0
- package/src/tool/keyboardTest/i18n/ru.ts +146 -0
- package/src/tool/keyboardTest/i18n/sv.ts +146 -0
- package/src/tool/keyboardTest/i18n/tr.ts +146 -0
- package/src/tool/keyboardTest/i18n/zh.ts +146 -0
- package/src/tool/keyboardTest/index.ts +15 -7
- package/src/tool/mousePollingTest/i18n/de.ts +135 -0
- package/src/tool/mousePollingTest/i18n/id.ts +135 -0
- package/src/tool/mousePollingTest/i18n/it.ts +135 -0
- package/src/tool/mousePollingTest/i18n/ja.ts +135 -0
- package/src/tool/mousePollingTest/i18n/ko.ts +135 -0
- package/src/tool/mousePollingTest/i18n/nl.ts +135 -0
- package/src/tool/mousePollingTest/i18n/pl.ts +135 -0
- package/src/tool/mousePollingTest/i18n/pt.ts +135 -0
- package/src/tool/mousePollingTest/i18n/ru.ts +135 -0
- package/src/tool/mousePollingTest/i18n/sv.ts +135 -0
- package/src/tool/mousePollingTest/i18n/tr.ts +135 -0
- package/src/tool/mousePollingTest/i18n/zh.ts +135 -0
- package/src/tool/mousePollingTest/index.ts +15 -7
- package/src/tool/toneGenerator/i18n/de.ts +146 -0
- package/src/tool/toneGenerator/i18n/id.ts +146 -0
- package/src/tool/toneGenerator/i18n/it.ts +146 -0
- package/src/tool/toneGenerator/i18n/ja.ts +146 -0
- package/src/tool/toneGenerator/i18n/ko.ts +146 -0
- package/src/tool/toneGenerator/i18n/nl.ts +146 -0
- package/src/tool/toneGenerator/i18n/pl.ts +146 -0
- package/src/tool/toneGenerator/i18n/pt.ts +146 -0
- package/src/tool/toneGenerator/i18n/ru.ts +146 -0
- package/src/tool/toneGenerator/i18n/sv.ts +146 -0
- package/src/tool/toneGenerator/i18n/tr.ts +146 -0
- package/src/tool/toneGenerator/i18n/zh.ts +146 -0
- package/src/tool/toneGenerator/index.ts +15 -7
- package/src/types.ts +1 -1
|
@@ -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
|
+
};
|
|
@@ -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-wibracji-pada-online';
|
|
6
|
+
const title = 'Test Wibracji Pada Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Przetestuj silniki haptyczne i wibracje Dual-Rumble swojego pada w przeglądarce. Obsługuje pady Xbox, DualShock, DualSense i generyczne.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Czego potrzebuję, aby przetestować wibracje pada online?',
|
|
13
|
+
answer:
|
|
14
|
+
'Wystarczy podłączyć pad do komputera lub urządzenia mobilnego za pomocą kabla USB lub sparować go przez Bluetooth. Gdy zostanie połączony, naciśnij dowolny przycisk, aby został wykryty.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Czy narzędzie działa z każdym modelem pada?',
|
|
18
|
+
answer:
|
|
19
|
+
'Większość nowoczesnych padów znanych marek (jak PlayStation czy Xbox) jest kompatybilna, jeśli Twoje urządzenie i system operacyjny je obsługują.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Prawa strona mojego pada wibruje słabiej niż lewa, czy to normalne?',
|
|
23
|
+
answer:
|
|
24
|
+
'Tak, całkowicie normalne. Pady zazwyczaj mają asymetryczną konstrukcję, w której jedna strona odpowiada za silne, głębokie wibracje, a druga za szybkie, subtelne drżenia.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Czy przeprowadzanie tych testów mocno zużywa baterię?',
|
|
28
|
+
answer:
|
|
29
|
+
'Wibracje są jedną z najbardziej energochłonnych funkcji w bezprzewodowym padzie. Przeprowadzanie ciągłych, długich testów rozładuje baterię szybciej niż zwykle.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Podłącz i włącz pad',
|
|
36
|
+
text: 'Połącz pad z komputerem PC, Mac lub urządzeniem mobilnym przez kabel USB lub Bluetooth.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Naciśnij przycisk na padzie',
|
|
40
|
+
text: 'Przeglądarki wymagają naciśnięcia przynajmniej jednego przycisku, aby pad został wykryty i rozpoczęła się komunikacja webowa.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Dostosuj silniki wibracji',
|
|
44
|
+
text: 'Skonfiguruj moc Silnego Silnika (Low) i Precyzyjnego Silnika (High) niezależnie od siebie.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Uruchom wzorce',
|
|
48
|
+
text: 'Wybierz jedno z ustawień wstępnych lub ręcznie skonfiguruj parametry i wyślij sygnał, aby poczuć każdy element.',
|
|
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: 'pl',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Często Zadawane Pytania',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Referencje',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Jak działają wibracje haptyczne — 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: 'Jak sprawdzić wibracje swojego pada do gier', level: 2 },
|
|
107
|
+
{
|
|
108
|
+
type: 'paragraph',
|
|
109
|
+
html: 'Wibracje zwrotne to jeden z najbardziej immersyjnych elementów sprzętu do grania. Gdy silnik ulega awarii, pierwszymi symptomami są zazwyczaj nienaturalne brzęczenie lub asymetryczne wibracje. Wczesna diagnoza zapobiega poważniejszym usterkom.',
|
|
110
|
+
},
|
|
111
|
+
{ type: 'title', text: 'Po co przeprowadzać test wibracji?', level: 3 },
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'Przy zakupie używanego pada, po aktualizacji sterowników lub po upadku, testowanie silników haptycznych pomaga odróżnić rzeczywiste awarie sprzętowe od problemów z oprogramowaniem. Kompatybilne z padami Xbox, PlayStation 4, PlayStation 5 (DualSense), Nintendo Switch Pro oraz generycznymi padami USB.',
|
|
115
|
+
},
|
|
116
|
+
{ type: 'title', text: 'Architektura Dual-Rumble vs. Aktuator Liniowy', level: 3 },
|
|
117
|
+
{
|
|
118
|
+
type: 'paragraph',
|
|
119
|
+
html: 'Klasyczne pady (Xbox, DualShock) wykorzystują dwa asymetryczne mikrosilniki: lewy generuje głębokie, dudniące wibracje; prawy wytwarza szybkie, wysokie brzęczenie. Zaawansowane urządzenia, takie jak DualSense, wykorzystują aktuatory liniowe symulujące tekstury i opór.',
|
|
120
|
+
},
|
|
121
|
+
{ type: 'title', text: 'Przewodnik diagnostyczny oparty na symptomach', level: 3 },
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Aktywuj każdy silnik niezależnie na 100%. Jeśli oba brzmią tak samo, pad może być repliką z jednym silnikiem. Jeśli jeden nie odpowiada, sprawdź połączenie przed otwarciem obudowy. Przetestuj różne natężenia: wysokiej jakości silniki reagują płynnie, a nie jak przełącznik włącz/wyłącz.',
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
ui: {
|
|
128
|
+
badge: 'Test Wibracji',
|
|
129
|
+
title: 'Tester Wibracji Pada',
|
|
130
|
+
description: 'Bezpośrednia kontrola nad silnikiem Dual-Rumble Twojego pada.',
|
|
131
|
+
deviceDisconnected: 'Pad rozłączony',
|
|
132
|
+
deviceDisconnectedSub: 'Naciśnij przycisk na padzie, aby rozpocząć',
|
|
133
|
+
deviceFallback: 'Pad połączony',
|
|
134
|
+
deviceConnectedSub: 'Stabilne połączenie. Gotowy do testu.',
|
|
135
|
+
noSupportWarning: "Nie wykryto obsługi Dual-Rumble w Twojej przeglądarce. Używanie podstawowych wibracji generycznych.",
|
|
136
|
+
tabPresets: 'Najlepsze presety',
|
|
137
|
+
tabCustom: 'Wysoka precyzja',
|
|
138
|
+
presetHeavyTitle: 'Uderzenie młota',
|
|
139
|
+
presetHeavyDesc: 'Ciężki silnik na maks. przez 300ms. Symuluje mocne uderzenie.',
|
|
140
|
+
presetLightTitle: 'Brzęczenie pszczoły',
|
|
141
|
+
presetLightDesc: 'Tylko prawy silnik. Idealny do wykrywania nietypowego brzęczenia.',
|
|
142
|
+
presetHeartbeatTitle: 'Bicie serca',
|
|
143
|
+
presetHeartbeatDesc: 'Subtelne kolejne impulsy. Idealne do sprawdzania retencji bezwładnościowej.',
|
|
144
|
+
presetSongTitle: 'Rytm monety',
|
|
145
|
+
presetSongDesc: 'Symuluje kolejne dźwięki monet. Krótki i haptyczny.',
|
|
146
|
+
presetRockYouTitle: 'Rock You!',
|
|
147
|
+
presetRockYouDesc: "Klasyk Queen w Twoich dłoniach: boom, boom, clap!",
|
|
148
|
+
presetEarthquakeTitle: 'Maksymalne trzęsienie!',
|
|
149
|
+
presetEarthquakeDesc: 'Oba silniki na 100% siły wybuchowej. BARDZO intensywne.',
|
|
150
|
+
customStrongLabel: 'Mocna siła (Lewy)',
|
|
151
|
+
customWeakLabel: 'Słaba siła (Prawy)',
|
|
152
|
+
customDurationLabel: 'Czas trwania impulsu',
|
|
153
|
+
btnSendSignal: 'WYŚLIJ SYGNAŁ TERAZ',
|
|
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 = 'teste-vibracao-gamepad-online';
|
|
6
|
+
const title = 'Teste de Vibração de Gamepad Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Teste os motores hápticos e a vibração Dual-Rumble do seu comando no navegador. Suporta Xbox, DualShock, DualSense e comandos genéricos.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'O que preciso para testar o meu comando online?',
|
|
13
|
+
answer:
|
|
14
|
+
'Basta ligar o seu comando ao computador ou dispositivo móvel via cabo USB ou emparelhá-lo via Bluetooth. Uma vez ligado, prima qualquer botão para ser detetado.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Funciona com qualquer modelo de comando?',
|
|
18
|
+
answer:
|
|
19
|
+
'A maioria dos comandos modernos de marcas conhecidas (como PlayStation ou Xbox) é compatível se o seu dispositivo e sistema operativo o suportarem.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'O lado direito do meu comando vibra menos que o esquerdo, é normal?',
|
|
23
|
+
answer:
|
|
24
|
+
'Sim, completamente normal. Os comandos costumam ter um design assimétrico onde um lado lida com vibrações fortes e profundas e o outro com vibrações rápidas e subtis.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Executar estes testes consome muita bateria?',
|
|
28
|
+
answer:
|
|
29
|
+
'A vibração é uma das funções que mais consome energia num comando sem fios. Executar testes contínuos e longos irá esgotar a bateria mais depressa do que o habitual.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Ligar e ativar o comando',
|
|
36
|
+
text: 'Ligue o seu comando ao PC, Mac ou telemóvel via cabo USB ou Bluetooth.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Premir um botão no comando',
|
|
40
|
+
text: 'Os navegadores exigem que prima pelo menos um botão para que o comando seja detetado e inicie a comunicação web.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Ajustar os motores de vibração',
|
|
44
|
+
text: 'Configure a potência do Motor Forte (Low) e do Motor Fino (High) de forma independente.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Executar os padrões',
|
|
48
|
+
text: 'Prima um dos presets ou configure manualmente os parâmetros e envie o sinal para sentir cada 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: 'pt',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<ProbadorVibracionMandoUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Perguntas Frequentes',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Referências',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Como funciona a vibração háptica — 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: 'Como auditar a vibração do seu comando de jogo', level: 2 },
|
|
107
|
+
{
|
|
108
|
+
type: 'paragraph',
|
|
109
|
+
html: 'O feedback háptico é um dos elementos mais imersivos do hardware de jogo. Quando um motor falha, os primeiros sintomas são geralmente zumbidos anormais ou vibrações assimétricas. Diagnosticá-los precocemente previne falhas maiores.',
|
|
110
|
+
},
|
|
111
|
+
{ type: 'title', text: 'Porquê executar o teste de vibração?', level: 3 },
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'Ao comprar um comando em segunda mão, após atualizar controladores ou após uma queda, testar os motores hápticos ajuda a distinguir falhas reais de hardware de problemas de software. Compatível com Xbox, PlayStation 4, PlayStation 5 (DualSense), Nintendo Switch Pro e comandos USB genéricos.',
|
|
115
|
+
},
|
|
116
|
+
{ type: 'title', text: 'Dual-Rumble vs. Arquitetura de Atuador Linear', level: 3 },
|
|
117
|
+
{
|
|
118
|
+
type: 'paragraph',
|
|
119
|
+
html: 'Os comandos clássicos (Xbox, DualShock) utilizam dois micromotores assimétricos: o esquerdo gera vibrações profundas e estrondosas; o direito produz zumbidos rápidos e agudos. Dispositivos avançados como o DualSense utilizam atuadores lineares que simulam texturas e resistência.',
|
|
120
|
+
},
|
|
121
|
+
{ type: 'title', text: 'Guia de diagnóstico baseado em sintomas', level: 3 },
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Ative cada motor independentemente a 100%. Se ambos soarem da mesma forma, o comando pode ser uma réplica com um único motor. Se um não responder, verifique a ligação antes de abrir o chassis. Teste intensidades fracionadas: motores de qualidade respondem gradualmente, não como um interruptor on/off.',
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
ui: {
|
|
128
|
+
badge: 'Teste de Vibração',
|
|
129
|
+
title: 'Testador de Vibração de Comando',
|
|
130
|
+
description: 'Controlo direto sobre o motor Dual-Rumble do seu comando.',
|
|
131
|
+
deviceDisconnected: 'Comando Desligado',
|
|
132
|
+
deviceDisconnectedSub: 'Prima um botão no comando para começar',
|
|
133
|
+
deviceFallback: 'Comando Ligado',
|
|
134
|
+
deviceConnectedSub: 'Ligação estável. Pronto para testar.',
|
|
135
|
+
noSupportWarning: "Nenhum suporte Dual-Rumble detetado no navegador. A utilizar vibração genérica básica.",
|
|
136
|
+
tabPresets: 'Presets Principais',
|
|
137
|
+
tabCustom: 'Precisão Pura',
|
|
138
|
+
presetHeavyTitle: 'Golpe de Martelo',
|
|
139
|
+
presetHeavyDesc: 'Motor pesado no máximo por 300ms. Simula um golpe forte.',
|
|
140
|
+
presetLightTitle: 'Zumbido de Abelha',
|
|
141
|
+
presetLightDesc: 'Apenas motor direito. Ideal para detetar zumbidos invulgares.',
|
|
142
|
+
presetHeartbeatTitle: 'Batimento Cardíaco',
|
|
143
|
+
presetHeartbeatDesc: 'Pulsos consecutivos subtis. Perfeito para verificar a retenção inercial.',
|
|
144
|
+
presetSongTitle: 'Ritmo de Moeda',
|
|
145
|
+
presetSongDesc: 'Simula sons consecutivos de moedas. Curto e tátil.',
|
|
146
|
+
presetRockYouTitle: 'Rock You!',
|
|
147
|
+
presetRockYouDesc: "O clássico dos Queen nas suas mãos: boom, boom, clap!",
|
|
148
|
+
presetEarthquakeTitle: 'Terramoto Máximo!',
|
|
149
|
+
presetEarthquakeDesc: 'Ambos os motores a 100% de força explosiva. MUITO intenso.',
|
|
150
|
+
customStrongLabel: 'Força Forte (Esquerda)',
|
|
151
|
+
customWeakLabel: 'Força Fraca (Direita)',
|
|
152
|
+
customDurationLabel: 'Duração do Pulso',
|
|
153
|
+
btnSendSignal: 'ENVIAR SINAL AGORA',
|
|
154
|
+
},
|
|
155
|
+
};
|