@jjlmoya/utils-hardware 1.15.0 → 1.16.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 +1 -1
- package/src/category/index.ts +2 -1
- package/src/entries.ts +4 -1
- package/src/index.ts +1 -0
- package/src/pages/[locale]/[slug].astro +28 -12
- package/src/tests/locale_completeness.test.ts +6 -20
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/batteryHealthEstimator/bibliography.ts +13 -0
- package/src/tool/batteryHealthEstimator/i18n/de.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/en.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/es.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/fr.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/id.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/it.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/ja.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/ko.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/nl.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/pl.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/pt.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/ru.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/sv.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/tr.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/zh.ts +2 -12
- package/src/tool/batteryHealthEstimator/seo.astro +3 -2
- package/src/tool/deadPixelTest/bibliography.ts +13 -0
- package/src/tool/deadPixelTest/i18n/de.ts +2 -12
- package/src/tool/deadPixelTest/i18n/en.ts +2 -12
- package/src/tool/deadPixelTest/i18n/es.ts +2 -12
- package/src/tool/deadPixelTest/i18n/fr.ts +2 -12
- package/src/tool/deadPixelTest/i18n/id.ts +2 -12
- package/src/tool/deadPixelTest/i18n/it.ts +2 -12
- package/src/tool/deadPixelTest/i18n/ja.ts +2 -12
- package/src/tool/deadPixelTest/i18n/ko.ts +2 -12
- package/src/tool/deadPixelTest/i18n/nl.ts +2 -12
- package/src/tool/deadPixelTest/i18n/pl.ts +2 -12
- package/src/tool/deadPixelTest/i18n/pt.ts +2 -12
- package/src/tool/deadPixelTest/i18n/ru.ts +2 -12
- package/src/tool/deadPixelTest/i18n/sv.ts +2 -12
- package/src/tool/deadPixelTest/i18n/tr.ts +2 -12
- package/src/tool/deadPixelTest/i18n/zh.ts +2 -12
- package/src/tool/deadPixelTest/seo.astro +3 -2
- package/src/tool/gamepadTest/bibliography.ts +12 -0
- package/src/tool/gamepadTest/i18n/de.ts +2 -12
- package/src/tool/gamepadTest/i18n/en.ts +2 -12
- package/src/tool/gamepadTest/i18n/es.ts +2 -12
- package/src/tool/gamepadTest/i18n/fr.ts +2 -12
- package/src/tool/gamepadTest/i18n/id.ts +2 -12
- package/src/tool/gamepadTest/i18n/it.ts +2 -12
- package/src/tool/gamepadTest/i18n/ja.ts +2 -12
- package/src/tool/gamepadTest/i18n/ko.ts +2 -12
- package/src/tool/gamepadTest/i18n/nl.ts +2 -12
- package/src/tool/gamepadTest/i18n/pl.ts +2 -12
- package/src/tool/gamepadTest/i18n/pt.ts +2 -12
- package/src/tool/gamepadTest/i18n/ru.ts +2 -12
- package/src/tool/gamepadTest/i18n/sv.ts +2 -12
- package/src/tool/gamepadTest/i18n/tr.ts +2 -12
- package/src/tool/gamepadTest/i18n/zh.ts +2 -12
- package/src/tool/gamepadTest/seo.astro +3 -2
- package/src/tool/gamepadVibrationTester/bibliography.ts +13 -0
- package/src/tool/gamepadVibrationTester/i18n/de.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/en.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/es.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/fr.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/id.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/it.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/ja.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/ko.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/nl.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/pl.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/pt.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/ru.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/sv.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/tr.ts +2 -12
- package/src/tool/gamepadVibrationTester/i18n/zh.ts +2 -12
- package/src/tool/gamepadVibrationTester/seo.astro +3 -2
- package/src/tool/keyboardTest/bibliography.ts +13 -0
- package/src/tool/keyboardTest/i18n/de.ts +2 -12
- package/src/tool/keyboardTest/i18n/en.ts +2 -12
- package/src/tool/keyboardTest/i18n/es.ts +2 -12
- package/src/tool/keyboardTest/i18n/fr.ts +2 -12
- package/src/tool/keyboardTest/i18n/id.ts +2 -12
- package/src/tool/keyboardTest/i18n/it.ts +2 -12
- package/src/tool/keyboardTest/i18n/ja.ts +2 -12
- package/src/tool/keyboardTest/i18n/ko.ts +2 -12
- package/src/tool/keyboardTest/i18n/nl.ts +2 -12
- package/src/tool/keyboardTest/i18n/pl.ts +2 -12
- package/src/tool/keyboardTest/i18n/pt.ts +2 -12
- package/src/tool/keyboardTest/i18n/ru.ts +2 -12
- package/src/tool/keyboardTest/i18n/sv.ts +2 -12
- package/src/tool/keyboardTest/i18n/tr.ts +2 -12
- package/src/tool/keyboardTest/i18n/zh.ts +2 -12
- package/src/tool/keyboardTest/seo.astro +3 -2
- package/src/tool/mousePollingTest/bibliography.ts +13 -0
- package/src/tool/mousePollingTest/i18n/de.ts +2 -12
- package/src/tool/mousePollingTest/i18n/en.ts +2 -12
- package/src/tool/mousePollingTest/i18n/es.ts +2 -12
- package/src/tool/mousePollingTest/i18n/fr.ts +2 -12
- package/src/tool/mousePollingTest/i18n/id.ts +2 -12
- package/src/tool/mousePollingTest/i18n/it.ts +2 -12
- package/src/tool/mousePollingTest/i18n/ja.ts +2 -12
- package/src/tool/mousePollingTest/i18n/ko.ts +2 -12
- package/src/tool/mousePollingTest/i18n/nl.ts +2 -12
- package/src/tool/mousePollingTest/i18n/pl.ts +2 -12
- package/src/tool/mousePollingTest/i18n/pt.ts +2 -12
- package/src/tool/mousePollingTest/i18n/ru.ts +2 -12
- package/src/tool/mousePollingTest/i18n/sv.ts +2 -12
- package/src/tool/mousePollingTest/i18n/tr.ts +2 -12
- package/src/tool/mousePollingTest/i18n/zh.ts +2 -12
- package/src/tool/mousePollingTest/seo.astro +3 -2
- package/src/tool/refreshRateDetector/bibliography.astro +14 -0
- package/src/tool/refreshRateDetector/bibliography.ts +20 -0
- package/src/tool/refreshRateDetector/component.astro +206 -0
- package/src/tool/refreshRateDetector/entry.ts +29 -0
- package/src/tool/refreshRateDetector/i18n/de.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/en.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/es.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/fr.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/id.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/it.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/ja.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/ko.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/nl.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/pl.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/pt.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/ru.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/sv.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/tr.ts +196 -0
- package/src/tool/refreshRateDetector/i18n/zh.ts +196 -0
- package/src/tool/refreshRateDetector/index.ts +11 -0
- package/src/tool/refreshRateDetector/monitor-refresh-rate-detector.css +342 -0
- package/src/tool/refreshRateDetector/seo.astro +15 -0
- package/src/tool/refreshRateDetector/ui.ts +24 -0
- package/src/tool/toneGenerator/bibliography.ts +13 -0
- package/src/tool/toneGenerator/i18n/de.ts +2 -12
- package/src/tool/toneGenerator/i18n/en.ts +2 -12
- package/src/tool/toneGenerator/i18n/es.ts +2 -12
- package/src/tool/toneGenerator/i18n/fr.ts +2 -12
- package/src/tool/toneGenerator/i18n/id.ts +2 -12
- package/src/tool/toneGenerator/i18n/it.ts +2 -12
- package/src/tool/toneGenerator/i18n/ja.ts +2 -12
- package/src/tool/toneGenerator/i18n/ko.ts +2 -12
- package/src/tool/toneGenerator/i18n/nl.ts +2 -12
- package/src/tool/toneGenerator/i18n/pl.ts +2 -12
- package/src/tool/toneGenerator/i18n/pt.ts +2 -12
- package/src/tool/toneGenerator/i18n/ru.ts +2 -12
- package/src/tool/toneGenerator/i18n/sv.ts +2 -12
- package/src/tool/toneGenerator/i18n/tr.ts +2 -12
- package/src/tool/toneGenerator/i18n/zh.ts +2 -12
- package/src/tool/toneGenerator/seo.astro +3 -2
- package/src/tools.ts +2 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestTecladoUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'test-klaviatury-online';
|
|
6
7
|
const title = 'Онлайн тест клавиатуры и детектор гостинга';
|
|
@@ -82,21 +83,10 @@ export const content: ToolLocaleContent<TestTecladoUI> = {
|
|
|
82
83
|
slug,
|
|
83
84
|
title,
|
|
84
85
|
description,
|
|
85
|
-
faqTitle: 'Часто задаваемые вопросы',
|
|
86
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
87
|
howTo: howToData,
|
|
99
88
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
89
|
+
bibliography,
|
|
100
90
|
seo: [
|
|
101
91
|
{
|
|
102
92
|
type: 'title',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestTecladoUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'tangentbordstest-online';
|
|
6
7
|
const title = 'Online Tangentbordstest & Ghosting detektor';
|
|
@@ -82,21 +83,10 @@ export const content: ToolLocaleContent<TestTecladoUI> = {
|
|
|
82
83
|
slug,
|
|
83
84
|
title,
|
|
84
85
|
description,
|
|
85
|
-
faqTitle: 'Vanliga frågor',
|
|
86
86
|
faq: faqData,
|
|
87
|
-
bibliographyTitle: 'Tekniska referenser',
|
|
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
87
|
howTo: howToData,
|
|
99
88
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
89
|
+
bibliography,
|
|
100
90
|
seo: [
|
|
101
91
|
{
|
|
102
92
|
type: 'title',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestTecladoUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'klavye-testi-online';
|
|
6
7
|
const title = 'Çevrimiçi Klavye Testi ve Ghosting Belirleyici';
|
|
@@ -82,21 +83,10 @@ export const content: ToolLocaleContent<TestTecladoUI> = {
|
|
|
82
83
|
slug,
|
|
83
84
|
title,
|
|
84
85
|
description,
|
|
85
|
-
faqTitle: 'Sıkça Sorulan Sorular',
|
|
86
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
87
|
howTo: howToData,
|
|
99
88
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
89
|
+
bibliography,
|
|
100
90
|
seo: [
|
|
101
91
|
{
|
|
102
92
|
type: 'title',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestTecladoUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'keyboard-test';
|
|
6
7
|
const title = '在线键盘测试与按键冲突检测器';
|
|
@@ -82,21 +83,10 @@ export const content: ToolLocaleContent<TestTecladoUI> = {
|
|
|
82
83
|
slug,
|
|
83
84
|
title,
|
|
84
85
|
description,
|
|
85
|
-
faqTitle: '常见问题',
|
|
86
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
87
|
howTo: howToData,
|
|
99
88
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
89
|
+
bibliography,
|
|
100
90
|
seo: [
|
|
101
91
|
{
|
|
102
92
|
type: 'title',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
-
import type { KnownLocale } from '../../types';
|
|
4
3
|
import { testTeclado } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
5
|
|
|
6
6
|
interface Props {
|
|
7
7
|
locale?: KnownLocale;
|
|
@@ -9,6 +9,7 @@ interface Props {
|
|
|
9
9
|
|
|
10
10
|
const { locale = 'es' } = Astro.props;
|
|
11
11
|
const content = await testTeclado.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
12
13
|
---
|
|
13
14
|
|
|
14
|
-
{content && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
|
|
5
|
+
{
|
|
6
|
+
name: 'Gamepad Polling Rate — Logitech',
|
|
7
|
+
url: 'https://www.logitechg.com/en-us/innovation/delta-zero.html',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: 'USB HID Polling Rate — USB Implementers Forum',
|
|
11
|
+
url: 'https://www.usb.org/hid',
|
|
12
|
+
},
|
|
13
|
+
];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'maus-polling-rate-test-online';
|
|
6
7
|
const title = 'Online Maus Polling Rate Test';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Häufig gestellte Fragen',
|
|
91
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Der ultimative Leitfaden zur Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'mouse-polling-rate-test';
|
|
6
7
|
const title = 'Online Mouse Polling Rate Test';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Frequently Asked Questions',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'References',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Definitive Guide to Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'test-raton';
|
|
6
7
|
const title = 'Test de Polling Rate del Ratón Online';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Preguntas Frecuentes',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Referencias',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Guía Definitiva sobre Polling Rate (tasa de sondeo)', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'test-taux-sondage-souris';
|
|
6
7
|
const title = 'Test du Taux de Sondage de la Souris en Ligne';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Questions Fréquentes',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Références',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Guide Complet sur le Taux de Sondage', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'tes-mouse-polling-rate-online';
|
|
6
7
|
const title = 'Tes Mouse Polling Rate Online';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
91
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Panduan Definitif tentang Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'test-polling-rate-mouse-online';
|
|
6
7
|
const title = 'Test Polling Rate Mouse Online';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Domande Frequenti',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Riferimenti',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Guida definitiva alla Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'mouse-polling-rate-test';
|
|
6
7
|
const title = 'オンライン・マウス・ポーリングレートテスト';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'よくある質問',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'リファレンス',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'ポーリングレート完全ガイド', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'mouse-polling-rate-test';
|
|
6
7
|
const title = '온라인 마우스 폴링 레이트 테스트';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: '자주 묻는 질문',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: '참조',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: '폴링 레이트에 대한 결정적 가이드', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'muis-polling-rate-test-online';
|
|
6
7
|
const title = 'Online Muis Polling Rate Test';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Veelgestelde Vragen',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Referenties',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Definitieve Gids voor Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'test-polling-rate-myszki-online';
|
|
6
7
|
const title = 'Online Test Polling Rate Myszki';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Często Zadawane Pytania',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Referencje',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Definitywny Przewodnik po Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'teste-polling-rate-rato-online';
|
|
6
7
|
const title = 'Teste de Polling Rate de Rato Online';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Perguntas Frequentes',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Referências',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Guia Definitivo do Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'test-polling-rate-myshi-online';
|
|
6
7
|
const title = 'Онлайн тест частоты опроса мыши';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Часто задаваемые вопросы',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Ссылки',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Полное руководство по частоте опроса мыши', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'mus-polling-rate-test-online';
|
|
6
7
|
const title = 'Online Mus Polling Rate Test';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Vanliga frågor',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Referenser',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Den definitiva guiden till Polling Rate', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'fare-polling-hizi-testi-online';
|
|
6
7
|
const title = 'Çevrimiçi Fare Polling Rate Testi';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: 'Sıkça Sorulan Sorular',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: 'Referanslar',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: 'Polling Rate Hakkında Kesin Kılavuz', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { TestRatonUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'mouse-polling-rate-test';
|
|
6
7
|
const title = '在线鼠标回报率测试';
|
|
@@ -87,21 +88,10 @@ export const content: ToolLocaleContent<TestRatonUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
faqTitle: '常见问题',
|
|
91
91
|
faq: faqData,
|
|
92
|
-
bibliographyTitle: '参考资料',
|
|
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
92
|
howTo: howToData,
|
|
104
93
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
bibliography,
|
|
105
95
|
seo: [
|
|
106
96
|
{ type: 'title', text: '鼠标回报率权威指南', level: 2 },
|
|
107
97
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
-
import type { KnownLocale } from '../../types';
|
|
4
3
|
import { testRaton } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
5
|
|
|
6
6
|
interface Props {
|
|
7
7
|
locale?: KnownLocale;
|
|
@@ -9,6 +9,7 @@ interface Props {
|
|
|
9
9
|
|
|
10
10
|
const { locale = 'es' } = Astro.props;
|
|
11
11
|
const content = await testRaton.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
12
13
|
---
|
|
13
14
|
|
|
14
|
-
{content && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
+
import type { KnownLocale } from '../../types';
|
|
4
|
+
import { refreshRateDetector } from './index';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await refreshRateDetector.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && content.bibliography.length > 0 && <SharedBibliography links={content.bibliography} />}
|