@jjlmoya/utils-hardware 1.15.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/i18n/ru.ts +5 -5
- package/src/category/index.ts +3 -1
- package/src/entries.ts +7 -1
- package/src/index.ts +2 -0
- package/src/pages/[locale]/[slug].astro +28 -12
- package/src/tests/locale_completeness.test.ts +7 -21
- package/src/tests/no_h1_in_components.test.ts +1 -1
- 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 +3 -13
- package/src/tool/batteryHealthEstimator/i18n/en.ts +3 -13
- package/src/tool/batteryHealthEstimator/i18n/es.ts +2 -12
- package/src/tool/batteryHealthEstimator/i18n/fr.ts +3 -13
- package/src/tool/batteryHealthEstimator/i18n/id.ts +3 -13
- 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 +3 -13
- package/src/tool/batteryHealthEstimator/i18n/pl.ts +3 -13
- package/src/tool/batteryHealthEstimator/i18n/pt.ts +3 -13
- package/src/tool/batteryHealthEstimator/i18n/ru.ts +7 -17
- package/src/tool/batteryHealthEstimator/i18n/sv.ts +3 -13
- package/src/tool/batteryHealthEstimator/i18n/tr.ts +3 -13
- package/src/tool/batteryHealthEstimator/i18n/zh.ts +3 -13
- package/src/tool/batteryHealthEstimator/seo.astro +3 -2
- package/src/tool/colorAccuracyTest/bibliography.astro +14 -0
- package/src/tool/colorAccuracyTest/bibliography.ts +16 -0
- package/src/tool/colorAccuracyTest/color-accuracy-test.css +728 -0
- package/src/tool/colorAccuracyTest/component.astro +157 -0
- package/src/tool/colorAccuracyTest/entry.ts +29 -0
- package/src/tool/colorAccuracyTest/i18n/de.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/en.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/es.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/fr.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/id.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/it.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/ja.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/ko.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/nl.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/pl.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/pt.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/ru.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/sv.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/tr.ts +284 -0
- package/src/tool/colorAccuracyTest/i18n/zh.ts +284 -0
- package/src/tool/colorAccuracyTest/index.ts +9 -0
- package/src/tool/colorAccuracyTest/logic.ts +226 -0
- package/src/tool/colorAccuracyTest/seo.astro +15 -0
- package/src/tool/colorAccuracyTest/ui.ts +27 -0
- 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 +3 -13
- 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 +5 -15
- 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 +3 -13
- package/src/tool/mousePollingTest/i18n/en.ts +3 -13
- package/src/tool/mousePollingTest/i18n/es.ts +3 -13
- package/src/tool/mousePollingTest/i18n/fr.ts +3 -13
- package/src/tool/mousePollingTest/i18n/id.ts +3 -13
- package/src/tool/mousePollingTest/i18n/it.ts +3 -13
- package/src/tool/mousePollingTest/i18n/ja.ts +3 -13
- package/src/tool/mousePollingTest/i18n/ko.ts +3 -13
- package/src/tool/mousePollingTest/i18n/nl.ts +3 -13
- package/src/tool/mousePollingTest/i18n/pl.ts +3 -13
- package/src/tool/mousePollingTest/i18n/pt.ts +3 -13
- package/src/tool/mousePollingTest/i18n/ru.ts +5 -15
- package/src/tool/mousePollingTest/i18n/sv.ts +3 -13
- package/src/tool/mousePollingTest/i18n/tr.ts +3 -13
- package/src/tool/mousePollingTest/i18n/zh.ts +3 -13
- package/src/tool/mousePollingTest/seo.astro +3 -2
- package/src/tool/refreshRateDetector/bibliography.astro +14 -0
- package/src/tool/refreshRateDetector/bibliography.ts +12 -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 +3 -13
- package/src/tool/toneGenerator/i18n/en.ts +3 -13
- package/src/tool/toneGenerator/i18n/es.ts +2 -12
- package/src/tool/toneGenerator/i18n/fr.ts +3 -13
- package/src/tool/toneGenerator/i18n/id.ts +3 -13
- package/src/tool/toneGenerator/i18n/it.ts +3 -13
- 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 +3 -13
- package/src/tool/toneGenerator/i18n/pl.ts +3 -13
- package/src/tool/toneGenerator/i18n/pt.ts +3 -13
- package/src/tool/toneGenerator/i18n/ru.ts +6 -16
- package/src/tool/toneGenerator/i18n/sv.ts +3 -13
- 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 +3 -1
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { RefreshRateDetectorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'detektor-czestotliwosci-odswiezania-monitora';
|
|
7
|
+
const title = 'Detektor Częstotliwości Odświeżania Monitora';
|
|
8
|
+
const description = 'Natychmiast wykryj częstotliwość odświeżania swojego monitora z precyzją, używając requestAnimationFrame. Przetestuj stabilność klatek i porównaj z normami branżowymi.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Co to jest częstotliwość odświeżania (Hz)?',
|
|
13
|
+
answer: 'Częstotliwość odświeżania to liczba aktualizacji obrazu na sekundę przez monitor. Monitor 60Hz odświeża obraz 60 razy na sekundę, podczas gdy 144Hz robi to 144 razy. Wyższe wartości zapewniają płynniejszy ruch.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Jak dokładny jest ten detektor?',
|
|
17
|
+
answer: 'Narzędzie wykorzystuje requestAnimationFrame, które synchronizuje się z cyklem odświeżania monitora. Dokładność zależy od obciążenia systemu. Tryb stabilny mierzy przez dłuższy czas dla większej precyzji.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Jaka jest różnica między trybem Stabilnym a Szybkim?',
|
|
21
|
+
answer: 'Tryb Szybki mierzy przez krótki czas (~3 sekundy), aby uzyskać szybką informację. Tryb Stabilny trwa dłużej (~10 sekund), aby odfiltrować szumy systemowe i zapewnić bardziej wiarygodne wyniki.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Dlaczego wykryte Hz różnią się od danych producenta monitora?',
|
|
25
|
+
answer: 'Może to wynikać z: poluzowanego kabla, nieaktualnych sterowników lub skalowania systemu operacyjnego. Spróbuj odłączyć i ponownie podłączyć kabel lub zaktualizować sterowniki GPU.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Jakie częstotliwości odświeżania obsługują nowoczesne monitory?',
|
|
29
|
+
answer: 'Typowe standardy to 60Hz (podstawowy), 75Hz, 120Hz, 144Hz (gaming), 240Hz (gaming wyczynowy) i 360Hz (profesjonalny e-sport).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Załaduj narzędzie',
|
|
36
|
+
text: 'Po prostu otwórz tę stronę. Detektor natychmiast rozpocznie pomiar.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Czekaj na stabilizację',
|
|
40
|
+
text: 'Wybierz tryb Stabilny lub Szybki. Pozwól na zakończenie pomiaru, nie ruszając oknem.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Sprawdź prędkościomierz',
|
|
44
|
+
text: 'Częstotliwość odświeżania pojawi się na tarczy, wraz ze statystykami (min/max/śr).',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Porównaj ze standardami',
|
|
48
|
+
text: 'Narzędzie pokaże, któremu standardowi odpowiada Twój monitor (60, 75, 120, 144, 240, 360Hz).',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'Opcjonalnie: test pomijania klatek',
|
|
52
|
+
text: 'Obserwuj animowany kwadrat, aby wizualnie potwierdzić płynność obrazu.',
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
57
|
+
'@context': 'https://schema.org',
|
|
58
|
+
'@type': 'FAQPage',
|
|
59
|
+
mainEntity: faqData.map((item) => ({
|
|
60
|
+
'@type': 'Question',
|
|
61
|
+
name: item.question,
|
|
62
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const howToSchema: WithContext<HowTo> = {
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'HowTo',
|
|
69
|
+
name: title,
|
|
70
|
+
description,
|
|
71
|
+
step: howToData.map((step, i) => ({
|
|
72
|
+
'@type': 'HowToStep',
|
|
73
|
+
position: i + 1,
|
|
74
|
+
name: step.name,
|
|
75
|
+
text: step.text,
|
|
76
|
+
})),
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
80
|
+
'@context': 'https://schema.org',
|
|
81
|
+
'@type': 'SoftwareApplication',
|
|
82
|
+
name: title,
|
|
83
|
+
description,
|
|
84
|
+
applicationCategory: 'UtilityApplication',
|
|
85
|
+
operatingSystem: 'All',
|
|
86
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
87
|
+
inLanguage: 'pl',
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
|
|
91
|
+
slug,
|
|
92
|
+
title,
|
|
93
|
+
description,
|
|
94
|
+
faq: faqData,
|
|
95
|
+
bibliography,
|
|
96
|
+
howTo: howToData,
|
|
97
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Detektor Częstotliwości Odświeżania Monitora: Test Hz Online',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Natychmiast i precyzyjnie wykryj częstotliwość odświeżania monitora (60Hz, 144Hz, 240Hz itd.). Sprawdź stabilność klatek i upewnij się, że Twój ekran działa zgodnie ze specyfikacją.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Dlaczego Częstotliwość Odświeżania Monitora Jest Ważna',
|
|
111
|
+
level: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'Częstotliwość odświeżania decyduje o płynności ruchu na ekranie. Gracze potrzebują monitorów 144Hz+, podczas gdy 60Hz wystarcza do pracy biurowej. To narzędzie potwierdza, czy Twój monitor osiąga deklarowane parametry.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Jak Wykryć Częstotliwość Odświeżania',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'Uruchom detektor – pomiar zaczyna się automatycznie',
|
|
126
|
+
'Wybierz tryb Szybki (3s) lub Stabilny (10s)',
|
|
127
|
+
'Odczytaj Hz z tarczy prędkościomierza',
|
|
128
|
+
'Porównaj z normami branżowymi (60, 75, 120, 144, 240, 360Hz)',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: 'Popularne Standardy Odświeżania',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Standard', 'Zastosowanie', 'Typowy Użytkownik'],
|
|
139
|
+
rows: [
|
|
140
|
+
['60Hz', 'Praca Biurowa', 'Biuro, Przeglądanie Sieci'],
|
|
141
|
+
['75Hz', 'Lekki Gaming', 'Gracze Niedzielni'],
|
|
142
|
+
['120Hz', 'Multimedia', 'Konsole, Streaming'],
|
|
143
|
+
['144Hz', 'Gaming Wyczynowy', 'FPS, Dynamiczne Gry'],
|
|
144
|
+
['240Hz+', 'Profesjonalny E-sport', 'Pro Gracze, Streamerzy'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Rozwiązywanie Problemów: Monitor Pokazuje Niższe Hz Niż Powinien',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'Sprawdź kabel HDMI/DisplayPort – słabe połączenie ogranicza przepustowość',
|
|
156
|
+
'Zaktualizuj sterowniki karty graficznej (NVIDIA, AMD, Intel)',
|
|
157
|
+
'Sprawdź ustawienia ekranu w systemie, aby włączyć wysokie odświeżanie',
|
|
158
|
+
'Wypróbuj inne kable lub porty w monitorze',
|
|
159
|
+
'Zrestartuj komputer i wykonaj test ponownie',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Technologia Stojąca za Detektorem',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'paragraph',
|
|
169
|
+
html: 'Narzędzie wykorzystuje API requestAnimationFrame, które synchronizuje się bezpośrednio z cyklem odświeżania monitora. Mierząc czas między klatkami animacji, obliczamy dokładną częstotliwość odświeżania bez potrzeby użycia specjalistycznego sprzętu.',
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
ui: {
|
|
173
|
+
badge: 'Test Ekranu',
|
|
174
|
+
title: 'Detektor Odświeżania Monitora',
|
|
175
|
+
description: 'Błyskawicznie wykryj częstotliwość odświeżania ekranu',
|
|
176
|
+
modeStable: 'Stabilny (10s, precyzyjny)',
|
|
177
|
+
modeFast: 'Szybki (3s, błyskawiczny)',
|
|
178
|
+
measurementStatus: 'Pomiar...',
|
|
179
|
+
currentHz: 'Bieżące',
|
|
180
|
+
averageHz: 'Średnie',
|
|
181
|
+
maxHz: 'Maksymalne',
|
|
182
|
+
minHz: 'Minimalne',
|
|
183
|
+
standardDetected: 'Wykryty Standard',
|
|
184
|
+
frameSkippingTest: 'Test Pomijania Klatek',
|
|
185
|
+
startMeasurement: 'Rozpocznij Pomiar',
|
|
186
|
+
resetMeasurement: 'Resetuj',
|
|
187
|
+
copyResult: 'Kopiuj Wynik',
|
|
188
|
+
copiedFeedback: 'Skopiowano do schowka!',
|
|
189
|
+
optimalConfiguration: '[OK] Optymalna Konfiguracja',
|
|
190
|
+
suboptimalConfiguration: '[OSTRZEŻENIE] Poniżej Optimum',
|
|
191
|
+
unstableRefreshRate: '[OSTRZEŻENIE] Niestabilne Odświeżanie',
|
|
192
|
+
measurementNotStarted: 'Gotowy do pomiaru',
|
|
193
|
+
switchMonitorHint: 'Przeciągnij okno na inny monitor, aby go przetestować',
|
|
194
|
+
incompatibleBrowserMsg: 'Twoja przeglądarka nie obsługuje requestAnimationFrame',
|
|
195
|
+
},
|
|
196
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { RefreshRateDetectorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'detector-taxa-atualizacao-monitor';
|
|
7
|
+
const title = 'Detector de Taxa de Atualização do Monitor';
|
|
8
|
+
const description = 'Detecte instantaneamente a taxa de atualização do seu monitor com precisão usando requestAnimationFrame. Teste a estabilidade dos frames e compare com os padrões da indústria.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'O que é taxa de atualização (Hz)?',
|
|
13
|
+
answer: 'A taxa de atualização é o número de vezes por segundo que o seu monitor atualiza a imagem. Um monitor de 60Hz atualiza 60 vezes por segundo, enquanto um de 144Hz atualiza 144 vezes. Taxas mais altas resultam em movimentos mais suaves.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Qual é a precisão deste detector?',
|
|
17
|
+
answer: 'Esta ferramenta usa requestAnimationFrame, que se sincroniza com o ciclo de atualização do seu monitor. A precisão depende da carga do sistema. O modo estável mede por períodos mais longos para maior precisão.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Qual é a diferença entre o modo Estável e o Rápido?',
|
|
21
|
+
answer: 'O modo Rápido mede durante um curto período (~3 segundos) para feedback rápido. O modo Estável demora mais tempo (~10 segundos) para filtrar o ruído do sistema e fornecer resultados mais fiáveis.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Por que o Hz detetado é diferente do que o meu monitor diz?',
|
|
25
|
+
answer: 'Isto pode acontecer se: a conexão do cabo estiver solta, os drivers estiverem desatualizados ou a escala do SO interferir. Tente desconectar e reconectar o cabo do monitor ou atualizar os drivers da GPU.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Quais taxas de atualização os monitores modernos suportam?',
|
|
29
|
+
answer: 'Os padrões comuns são 60Hz (básico), 75Hz, 120Hz, 144Hz (gaming), 240Hz (gaming competitivo) e 360Hz (eSports profissionais).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Carregue a ferramenta',
|
|
36
|
+
text: 'Basta abrir esta página. O detector começa a medir imediatamente.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Aguarde a estabilização',
|
|
40
|
+
text: 'Escolha o modo Estável ou Rápido. Deixe a medição terminar sem mover a janela.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Verifique o velocímetro',
|
|
44
|
+
text: 'A taxa de atualização do seu monitor aparece como um mostrador suave, com estatísticas de referência (mín/máx/méd).',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Compare com os padrões',
|
|
48
|
+
text: 'A ferramenta mostra com qual padrão o seu monitor coincide (60, 75, 120, 144, 240, 360Hz).',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'Opcional: teste de salto de frames',
|
|
52
|
+
text: 'Observe o quadrado animado cruzando o ecrã para confirmar visualmente a fluidez.',
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
57
|
+
'@context': 'https://schema.org',
|
|
58
|
+
'@type': 'FAQPage',
|
|
59
|
+
mainEntity: faqData.map((item) => ({
|
|
60
|
+
'@type': 'Question',
|
|
61
|
+
name: item.question,
|
|
62
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const howToSchema: WithContext<HowTo> = {
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'HowTo',
|
|
69
|
+
name: title,
|
|
70
|
+
description,
|
|
71
|
+
step: howToData.map((step, i) => ({
|
|
72
|
+
'@type': 'HowToStep',
|
|
73
|
+
position: i + 1,
|
|
74
|
+
name: step.name,
|
|
75
|
+
text: step.text,
|
|
76
|
+
})),
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
80
|
+
'@context': 'https://schema.org',
|
|
81
|
+
'@type': 'SoftwareApplication',
|
|
82
|
+
name: title,
|
|
83
|
+
description,
|
|
84
|
+
applicationCategory: 'UtilityApplication',
|
|
85
|
+
operatingSystem: 'All',
|
|
86
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
87
|
+
inLanguage: 'pt',
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
|
|
91
|
+
slug,
|
|
92
|
+
title,
|
|
93
|
+
description,
|
|
94
|
+
faq: faqData,
|
|
95
|
+
bibliography,
|
|
96
|
+
howTo: howToData,
|
|
97
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Detector de Taxa de Atualização do Monitor: Teste os Hz do seu Ecrã Online',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Detecte instantaneamente a taxa de atualização do seu monitor (60Hz, 144Hz, 240Hz, etc.) com precisão. Teste a estabilidade dos frames e verifique se o seu monitor está a funcionar de acordo com as especificações nominais.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Por que a Taxa de Atualização do Monitor é Importante',
|
|
111
|
+
level: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'A taxa de atualização determina o quão suave o movimento aparece no seu ecrã. Os jogadores beneficiam de monitores de 144Hz+, enquanto os utilizadores gerais consideram 60Hz adequados. Esta ferramenta ajuda a confirmar que o seu monitor está realmente a oferecer a taxa de atualização anunciada.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Como Detectar a sua Taxa de Atualização',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'Carregue este detector – a medição começa imediatamente',
|
|
126
|
+
'Escolha entre o modo de medição Rápido (3s) ou Estável (10s)',
|
|
127
|
+
'Leia os Hz do seu monitor no mostrador do velocímetro',
|
|
128
|
+
'Compare com os padrões da indústria (60, 75, 120, 144, 240, 360Hz)',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: 'Padrões Comuns de Taxa de Atualização',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Padrão', 'Caso de Uso', 'Utilizador Típico'],
|
|
139
|
+
rows: [
|
|
140
|
+
['60Hz', 'Computação Geral', 'Escritório, Navegação Web'],
|
|
141
|
+
['75Hz', 'Gaming Ligeiro', 'Jogadores Casuais'],
|
|
142
|
+
['120Hz', 'Multimédia', 'Consolas, Streaming'],
|
|
143
|
+
['144Hz', 'Gaming Competitivo', 'FPS, Jogos de Ritmo Rápido'],
|
|
144
|
+
['240Hz+', 'eSports Profissionais', 'Jogadores Pro, Streamers'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Resolução de Problemas: O Ecrã Mostra menos Hz do que o Esperado',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'Verifique as conexões do cabo HDMI/DisplayPort – cabos soltos reduzem a largura de banda',
|
|
156
|
+
'Atualize os drivers da sua GPU (NVIDIA, AMD, Intel)',
|
|
157
|
+
'Verifique as configurações de ecrã do SO para garantir que a alta taxa de atualização está ativada',
|
|
158
|
+
'Tente diferentes cabos ou portas no seu monitor',
|
|
159
|
+
'Reinicie o seu computador e teste novamente',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'A Tecnologia Por Trás deste Detector',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'paragraph',
|
|
169
|
+
html: 'Esta ferramenta utiliza a API requestAnimationFrame do navegador, que se sincroniza diretamente com o ciclo de atualização do seu monitor. Ao medir o tempo entre os frames da animação, calculamos a sua taxa de atualização exata com alta precisão – sem necessidade de hardware especial.',
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
ui: {
|
|
173
|
+
badge: 'Teste de Ecrã',
|
|
174
|
+
title: 'Detector de Taxa de Atualização',
|
|
175
|
+
description: 'Detecte a taxa de atualização do seu ecrã instantaneamente',
|
|
176
|
+
modeStable: 'Estável (10s, preciso)',
|
|
177
|
+
modeFast: 'Rápido (3s, ágil)',
|
|
178
|
+
measurementStatus: 'A medir...',
|
|
179
|
+
currentHz: 'Atual',
|
|
180
|
+
averageHz: 'Média',
|
|
181
|
+
maxHz: 'Máximo',
|
|
182
|
+
minHz: 'Mínimo',
|
|
183
|
+
standardDetected: 'Padrão Detectado',
|
|
184
|
+
frameSkippingTest: 'Teste de Salto de Frames',
|
|
185
|
+
startMeasurement: 'Iniciar Medição',
|
|
186
|
+
resetMeasurement: 'Repor',
|
|
187
|
+
copyResult: 'Copiar Resultado',
|
|
188
|
+
copiedFeedback: 'Copiado para a área de transferência!',
|
|
189
|
+
optimalConfiguration: '[OK] Configuração Ideal',
|
|
190
|
+
suboptimalConfiguration: '[AVISO] Abaixo do Ideal',
|
|
191
|
+
unstableRefreshRate: '[AVISO] Taxa de Atualização Instável',
|
|
192
|
+
measurementNotStarted: 'Pronto para medir',
|
|
193
|
+
switchMonitorHint: 'Arraste a janela para outro monitor para o testar',
|
|
194
|
+
incompatibleBrowserMsg: 'O seu navegador não suporta requestAnimationFrame',
|
|
195
|
+
},
|
|
196
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { RefreshRateDetectorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'detektor-chastoty-obnovleniya-monitora';
|
|
7
|
+
const title = 'Детектор частоты обновления монитора';
|
|
8
|
+
const description = 'Мгновенно и точно определите частоту обновления вашего монитора с помощью requestAnimationFrame. Проверьте стабильность кадров и сравните показатели с отраслевыми стандартами.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Что такое частота обновления (Гц)?',
|
|
13
|
+
answer: 'Частота обновления -это количество обновлений изображения на мониторе в секунду. Монитор с частотой 60 Гц обновляется 60 раз в секунду, а 144 Гц -144 раза. Более высокая частота обеспечивает плавность движений.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Насколько точен этот детектор?',
|
|
17
|
+
answer: 'Этот инструмент использует requestAnimationFrame, который синхронизируется с циклом обновления вашего монитора. Точность зависит от нагрузки на систему. Стабильный режим измеряет показатели в течение более длительного времени для достижения максимальной точности.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'В чем разница между стабильным и быстрым режимами?',
|
|
21
|
+
answer: 'Быстрый режим проводит измерения в течение короткого времени (~3 секунды) для получения быстрого результата. Стабильный режим длится дольше (~10 секунд), чтобы отфильтровать системные шумы и предоставить более надежные данные.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Почему обнаруженная частота отличается от заявленной производителем?',
|
|
25
|
+
answer: 'Это может произойти, если: кабель подключен неплотно, драйверы устарели или мешает масштабирование ОС. Попробуйте переподключить кабель монитора или обновить драйверы видеокарты.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Какие частоты обновления поддерживают современные мониторы?',
|
|
29
|
+
answer: 'Общие стандарты: 60 Гц (базовый), 75 Гц, 120 Гц, 144 Гц (игровой), 240 Гц (киберспортивный) и 360 Гц (профессиональный киберспорт).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Загрузите инструмент',
|
|
36
|
+
text: 'Просто откройте эту страницу. Детектор начнет измерения немедленно.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Дождитесь стабилизации',
|
|
40
|
+
text: 'Выберите стабильный или быстрый режим. Дайте измерению завершиться, не перемещая окно.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Проверьте спидометр',
|
|
44
|
+
text: 'Частота обновления вашего монитора отобразится на плавном циферблате вместе со статистикой (мин/макс/сред).',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Сравните со стандартами',
|
|
48
|
+
text: 'Инструмент покажет, какому стандарту соответствует ваш монитор (60, 75, 120, 144, 240, 360 Гц).',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'Дополнительно: тест пропуска кадров',
|
|
52
|
+
text: 'Следите за анимированным квадратом, пересекающим экран, чтобы визуально подтвердить плавность.',
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
57
|
+
'@context': 'https://schema.org',
|
|
58
|
+
'@type': 'FAQPage',
|
|
59
|
+
mainEntity: faqData.map((item) => ({
|
|
60
|
+
'@type': 'Question',
|
|
61
|
+
name: item.question,
|
|
62
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const howToSchema: WithContext<HowTo> = {
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'HowTo',
|
|
69
|
+
name: title,
|
|
70
|
+
description,
|
|
71
|
+
step: howToData.map((step, i) => ({
|
|
72
|
+
'@type': 'HowToStep',
|
|
73
|
+
position: i + 1,
|
|
74
|
+
name: step.name,
|
|
75
|
+
text: step.text,
|
|
76
|
+
})),
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
80
|
+
'@context': 'https://schema.org',
|
|
81
|
+
'@type': 'SoftwareApplication',
|
|
82
|
+
name: title,
|
|
83
|
+
description,
|
|
84
|
+
applicationCategory: 'UtilityApplication',
|
|
85
|
+
operatingSystem: 'All',
|
|
86
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
87
|
+
inLanguage: 'ru',
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const content: ToolLocaleContent<RefreshRateDetectorUI> = {
|
|
91
|
+
slug,
|
|
92
|
+
title,
|
|
93
|
+
description,
|
|
94
|
+
faq: faqData,
|
|
95
|
+
bibliography,
|
|
96
|
+
howTo: howToData,
|
|
97
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Детектор частоты обновления монитора: тест Гц экрана онлайн',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Мгновенно и точно определяйте частоту обновления вашего монитора (60 Гц, 144 Гц, 240 Гц и т. д.). Проверьте стабильность кадров и убедитесь, что ваш дисплей работает в соответствии с заявленными характеристиками.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Почему важна частота обновления монитора',
|
|
111
|
+
level: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'Частота обновления определяет, насколько плавно выглядят движения на экране. Геймеры получают преимущество от мониторов 144 Гц+, в то время как обычным пользователям достаточно 60 Гц. Этот инструмент помогает подтвердить, действительно ли ваш монитор выдает заявленную частоту.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Как определить частоту обновления',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'Загрузите этот детектор -измерение начнется немедленно',
|
|
126
|
+
'Выберите между быстрым (3 сек) или стабильным (10 сек) режимом измерения',
|
|
127
|
+
'Посмотрите значение Гц вашего монитора на циферблате спидометра',
|
|
128
|
+
'Сравните с отраслевыми стандартами (60, 75, 120, 144, 240, 360 Гц)',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: 'Распространенные стандарты частоты обновления',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Стандарт', 'Вариант использования', 'Типичный пользователь'],
|
|
139
|
+
rows: [
|
|
140
|
+
['60 Гц', 'Общие задачи', 'Офис, веб-серфинг'],
|
|
141
|
+
['75 Гц', 'Легкие игры', 'Обычные геймеры'],
|
|
142
|
+
['120 Гц', 'Мультимедиа', 'Консоли, стриминг'],
|
|
143
|
+
['144 Гц', 'Соревновательные игры', 'FPS, динамичные игры'],
|
|
144
|
+
['240 Гц+', 'Профессиональный киберспорт', 'Про-геймеры, стримеры'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Устранение неполадок: дисплей показывает меньше Гц, чем ожидалось',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'Проверьте подключение кабеля HDMI/DisplayPort -плохой контакт снижает пропускную способность',
|
|
156
|
+
'Обновите драйверы видеокарты (NVIDIA, AMD, Intel)',
|
|
157
|
+
'Проверьте настройки экрана в ОС, чтобы убедиться, что высокая частота включена',
|
|
158
|
+
'Попробуйте другие кабели или порты на мониторе',
|
|
159
|
+
'Перезагрузите компьютер и проведите тест повторно',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Технология, лежащая в основе детектора',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'paragraph',
|
|
169
|
+
html: 'Этот инструмент использует браузерное API requestAnimationFrame, которое синхронизируется напрямую с циклом обновления вашего монитора. Измеряя время между кадрами анимации, мы рассчитываем вашу точную частоту обновления с высокой точностью -никакого специального оборудования не требуется.',
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
ui: {
|
|
173
|
+
badge: 'Тест дисплея',
|
|
174
|
+
title: 'Детектор частоты монитора',
|
|
175
|
+
description: 'Определите частоту обновления вашего экрана мгновенно',
|
|
176
|
+
modeStable: 'Стабильный (10с, точно)',
|
|
177
|
+
modeFast: 'Быстрый (3с, экспресс)',
|
|
178
|
+
measurementStatus: 'Измерение...',
|
|
179
|
+
currentHz: 'Текущая',
|
|
180
|
+
averageHz: 'Средняя',
|
|
181
|
+
maxHz: 'Максимум',
|
|
182
|
+
minHz: 'Минимум',
|
|
183
|
+
standardDetected: 'Обнаружен стандарт',
|
|
184
|
+
frameSkippingTest: 'Тест пропуска кадров',
|
|
185
|
+
startMeasurement: 'Начать измерение',
|
|
186
|
+
resetMeasurement: 'Сброс',
|
|
187
|
+
copyResult: 'Копировать результат',
|
|
188
|
+
copiedFeedback: 'Скопировано в буфер!',
|
|
189
|
+
optimalConfiguration: '[OK] Оптимальная конфигурация',
|
|
190
|
+
suboptimalConfiguration: '[ВНИМАНИЕ] Ниже оптимальной',
|
|
191
|
+
unstableRefreshRate: '[ВНИМАНИЕ] Нестабильная частота',
|
|
192
|
+
measurementNotStarted: 'Готов к измерению',
|
|
193
|
+
switchMonitorHint: 'Перетащите окно на другой монитор, чтобы протестировать его',
|
|
194
|
+
incompatibleBrowserMsg: 'Ваш браузер не поддерживает requestAnimationFrame',
|
|
195
|
+
},
|
|
196
|
+
};
|