@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 = 'monitor-uppdateringsfrekvens-detektor';
|
|
7
|
+
const title = 'Detektor för Monitorns Uppdateringsfrekvens';
|
|
8
|
+
const description = 'Identifiera omedelbart din monitors uppdateringsfrekvens med precision med requestAnimationFrame. Testa bildstabilitet och jämför med branschstandarder.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Vad är uppdateringsfrekvens (Hz)?',
|
|
13
|
+
answer: 'Uppdateringsfrekvens är hur många gånger per sekund din monitor uppdaterar bilden. En 60Hz-monitor uppdateras 60 gånger per sekund, medan en 144Hz-monitor gör det 144 gånger. Högre frekvenser ger mjukare rörelser.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Hur exakt är denna detektor?',
|
|
17
|
+
answer: 'Detta verktyg använder requestAnimationFrame, som synkroniseras med din monitors uppdateringscykel. Noggrannheten beror på systembelastningen. Det stabila läget mäter under längre perioder för högre precision.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Vad är skillnaden mellan stabilt och snabbt läge?',
|
|
21
|
+
answer: 'Snabbt läge mäter under en kort tid (~3 sekunder) för snabb feedback. Stabilt läge tar längre tid (~10 sekunder) för att filtrera bort systembrus och ge mer tillförlitliga resultat.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Varför skiljer sig min uppmätta Hz från vad min monitor säger?',
|
|
25
|
+
answer: 'Detta kan hända om: din kabelanslutning är lös, drivrutiner är föråldrade eller om ditt operativsystems skalning stör. Försök att dra ut och sätta i skärmkabeln igen, eller uppdatera GPU-drivrutinerna.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Vilka uppdateringsfrekvenser stöder moderna monitorer?',
|
|
29
|
+
answer: 'Vanliga standarder är 60Hz (bas), 75Hz, 120Hz, 144Hz (gaming), 240Hz (tävlingsinriktad gaming) och 360Hz (professionell e-sport).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Ladda verktyget',
|
|
36
|
+
text: 'Öppna bara denna sida. Detektorn börjar mäta omedelbart.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Vänta på stabilisering',
|
|
40
|
+
text: 'Välj stabilt eller snabbt läge. Låt mätningen slutföras utan att flytta fönstret.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Kontrollera hastighetsmätaren',
|
|
44
|
+
text: 'Din monitors uppdateringsfrekvens visas som en mjuk mätare, med benchmark-statistik (min/max/medel).',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Jämför med standarder',
|
|
48
|
+
text: 'Verktyget visar vilken standard din monitor matchar (60, 75, 120, 144, 240, 360Hz).',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'Valfritt: testa frame skipping',
|
|
52
|
+
text: 'Se den animerade fyrkanten korsa skärmen för att visuellt bekräfta flytet.',
|
|
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: 'sv',
|
|
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 för Monitorns Uppdateringsfrekvens: Testa din Hz Online',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Identifiera omedelbart din monitors uppdateringsfrekvens (60Hz, 144Hz, 240Hz, etc.) med precision. Testa bildstabilitet och verifiera att din skärm presterar enligt specifikationerna.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Varför Monitorns Uppdateringsfrekvens Spelar Roll',
|
|
111
|
+
level: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'Uppdateringsfrekvensen avgör hur mjuka rörelser upplevs på skärmen. Gamers drar nytta av 144Hz+ skärmar, medan vanliga användare finner 60Hz tillräckligt. Detta verktyg hjälper dig bekräfta att din monitor faktiskt levererar sin utlovade frekvens.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Så mäter du din Uppdateringsfrekvens',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'Ladda denna detektor – mätningen börjar omedelbart',
|
|
126
|
+
'Välj mellan snabbt (3s) eller stabilt (10s) mätläge',
|
|
127
|
+
'Läs av din monitors Hz på mätartavlan',
|
|
128
|
+
'Jämför mot branschstandarder (60, 75, 120, 144, 240, 360Hz)',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: 'Vanliga Standarder för Uppdateringsfrekvens',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Standard', 'Användningsområde', 'Typisk Användare'],
|
|
139
|
+
rows: [
|
|
140
|
+
['60Hz', 'Allmän datoranvändning', 'Kontor, webbsurf'],
|
|
141
|
+
['75Hz', 'Lättare gaming', 'Casual-gamers'],
|
|
142
|
+
['120Hz', 'Multimedia', 'Konsol, streaming'],
|
|
143
|
+
['144Hz', 'Tävlingsinriktad gaming', 'FPS, snabba spel'],
|
|
144
|
+
['240Hz+', 'Professionell e-sport', 'Proffs, streamers'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Felsökning: Skärmen visar lägre Hz än förväntat',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'Kontrollera HDMI/DisplayPort-kablar – lösa kablar begränsar bandbredden',
|
|
156
|
+
'Uppdatera dina GPU-drivrutiner (NVIDIA, AMD, Intel)',
|
|
157
|
+
'Kontrollera OS-inställningar för bildskärm så att hög uppdateringsfrekvens är aktiverad',
|
|
158
|
+
'Prova andra kablar eller portar på din monitor',
|
|
159
|
+
'Starta om datorn och testa igen',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Tekniken bakom denna detektor',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'paragraph',
|
|
169
|
+
html: 'Verktyget använder webbläsarens requestAnimationFrame-API, som synkroniserar direkt med din monitors uppdateringscykel. Genom att mäta tiden mellan bildrutorna beräknar vi din exakta frekvens med hög precision – ingen speciell hårdvara krävs.',
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
ui: {
|
|
173
|
+
badge: 'Skärmtest',
|
|
174
|
+
title: 'Detektor för Uppdateringsfrekvens',
|
|
175
|
+
description: 'Identifiera din skärms uppdateringsfrekvens direkt',
|
|
176
|
+
modeStable: 'Stabilt (10s, precist)',
|
|
177
|
+
modeFast: 'Snabbt (3s, kvickt)',
|
|
178
|
+
measurementStatus: 'Mäter...',
|
|
179
|
+
currentHz: 'Nuvarande',
|
|
180
|
+
averageHz: 'Genomsnitt',
|
|
181
|
+
maxHz: 'Maximum',
|
|
182
|
+
minHz: 'Minimum',
|
|
183
|
+
standardDetected: 'Standard identifierad',
|
|
184
|
+
frameSkippingTest: 'Test av Frame Skipping',
|
|
185
|
+
startMeasurement: 'Starta mätning',
|
|
186
|
+
resetMeasurement: 'Återställ',
|
|
187
|
+
copyResult: 'Kopiera resultat',
|
|
188
|
+
copiedFeedback: 'Kopierat till urklipp!',
|
|
189
|
+
optimalConfiguration: '[OK] Optimal konfiguration',
|
|
190
|
+
suboptimalConfiguration: '[VARNING] Under optimal nivå',
|
|
191
|
+
unstableRefreshRate: '[VARNING] Instabil frekvens',
|
|
192
|
+
measurementNotStarted: 'Redo att mäta',
|
|
193
|
+
switchMonitorHint: 'Dra fönstret till en annan skärm för att testa den',
|
|
194
|
+
incompatibleBrowserMsg: 'Din webbläsare stöder inte 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 = 'monitor-yenileme-hizi-dedektoru';
|
|
7
|
+
const title = 'Monitör Yenileme Hızı Dedektörü';
|
|
8
|
+
const description = 'requestAnimationFrame kullanarak monitörünüzün yenileme hızını anında ve hassasiyetle tespit edin. Kare kararlılığını test edin ve endüstri standartlarıyla karşılaştırın.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Yenileme hızı (Hz) nedir?',
|
|
13
|
+
answer: 'Yenileme hızı, monitörünüzün görüntüyü saniyede kaç kez güncellediğidir. 60Hz bir monitör saniyede 60 kez, 144Hz bir monitör ise saniyede 144 kez yenilenir. Daha yüksek hızlar daha akıcı hareket sağlar.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Bu dedektör ne kadar hassas?',
|
|
17
|
+
answer: 'Bu araç, monitörünüzün yenileme döngüsüyle senkronize olan requestAnimationFrame\'i kullanır. Hassasiyet sistem yüküne bağlıdır. Kararlı mod, daha yüksek hassasiyet için daha uzun süre ölçüm yapar.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Kararlı ve Hızlı mod arasındaki fark nedir?',
|
|
21
|
+
answer: 'Hızlı mod, hızlı geri bildirim için kısa bir süre (~3 saniye) ölçüm yapar. Kararlı mod, sistem gürültüsünü filtrelemek ve daha güvenilir sonuçlar sağlamak için daha uzun (~10 saniye) sürer.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Tespit edilen Hz neden monitörümün belirttiğinden farklı?',
|
|
25
|
+
answer: 'Bu durum şu nedenlerle olabilir: kablo bağlantınız gevşek olabilir, sürücüler güncel olmayabilir veya işletim sistemi ölçeklendirmesi çakışıyor olabilir. Ekran kablonuzu çıkarıp takmayı veya GPU sürücülerini güncellemeyi deneyin.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Modern monitörler hangi yenileme hızlarını destekler?',
|
|
29
|
+
answer: 'Yaygın standartlar 60Hz (temel), 75Hz, 120Hz, 144Hz (oyun), 240Hz (rekabetçi oyun) ve 360Hz\'dir (profesyonel e-spor).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Aracı yükleyin',
|
|
36
|
+
text: 'Sadece bu sayfayı açın. Dedektör hemen ölçüme başlar.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Kararlı hale gelmesini bekleyin',
|
|
40
|
+
text: 'Kararlı veya Hızlı modu seçin. Ölçümün pencereyi hareket ettirmeden tamamlanmasına izin verin.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Hız göstergesini kontrol edin',
|
|
44
|
+
text: 'Monitörünüzün yenileme hızı, karşılaştırmalı istatistiklerle (min/maks/ort) birlikte pürüzsüz bir kadranda görünür.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Standartlarla karşılaştırın',
|
|
48
|
+
text: 'Araç, monitörünüzün hangi standartla eşleştiğini gösterir (60, 75, 120, 144, 240, 360Hz).',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'Opsiyonel: kare atlama testi',
|
|
52
|
+
text: 'Akıcılığı görsel olarak doğrulamak için ekrandan geçen animasyonlu kareyi izleyin.',
|
|
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: 'tr',
|
|
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: 'Monitör Yenileme Hızı Dedektörü: Ekran Hz Değerinizi Online Test Edin',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Monitörünüzün yenileme hızını (60Hz, 144Hz, 240Hz, vb.) anında ve hassasiyetle tespit edin. Kare kararlılığını test edin ve ekranınızın belirtilen teknik özelliklerde çalışıp çalışmadığını doğrulayın.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Monitör Yenileme Hızı Neden Önemlidir?',
|
|
111
|
+
level: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'Yenileme hızı, hareketin ekranınızda ne kadar akıcı göründüğünü belirler. Oyuncular 144Hz+ monitörlerden faydalanırken, genel kullanıcılar 60Hz\'i yeterli bulur. Bu araç, monitörünüzün reklamı yapılan yenileme hızını gerçekten sunup sunmadığını doğrulamaya yardımcı olur.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Yenileme Hızınızı Nasıl Tespit Edersiniz?',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'Bu dedektörü yükleyin – ölçüm hemen başlar',
|
|
126
|
+
'Hızlı (3s) veya Kararlı (10s) ölçüm modu arasında seçim yapın',
|
|
127
|
+
'Monitörünüzün Hz değerini hız göstergesi kadranından okuyun',
|
|
128
|
+
'Endüstri standartlarıyla (60, 75, 120, 144, 240, 360Hz) karşılaştırın',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: 'Yaygın Yenileme Hızı Standartları',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Standart', 'Kullanım Durumu', 'Tipik Kullanıcı'],
|
|
139
|
+
rows: [
|
|
140
|
+
['60Hz', 'Genel Bilgisayar Kullanımı', 'Ofis, Web Gezintisi'],
|
|
141
|
+
['75Hz', 'Hafif Oyun', 'Gündelik Oyuncular'],
|
|
142
|
+
['120Hz', 'Multimedya', 'Konsol, Akış'],
|
|
143
|
+
['144Hz', 'Rekabetçi Oyun', 'FPS, Hızlı Oyunlar'],
|
|
144
|
+
['240Hz+', 'Profesyonel e-Spor', 'Profesyonel Oyuncular, Yayıncılar'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Sorun Giderme: Ekran Beklenenden Daha Düşük Hz Gösteriyor',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'HDMI/DisplayPort kablo bağlantılarını kontrol edin – gevşek kablolar bant genişliğini düşürür',
|
|
156
|
+
'GPU sürücülerinizi güncelleyin (NVIDIA, AMD, Intel)',
|
|
157
|
+
'Yüksek yenileme hızının etkinleştirildiğinden emin olmak için işletim sistemi ekran ayarlarını kontrol edin',
|
|
158
|
+
'Monitörünüzdeki farklı kabloları veya bağlantı noktalarını deneyin',
|
|
159
|
+
'Bilgisayarınızı yeniden başlatın ve tekrar test edin',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Bu Dedektörün Arkasındaki Teknoloji',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'paragraph',
|
|
169
|
+
html: 'Bu araç, doğrudan monitörünüzün yenileme döngüsüyle senkronize olan tarayıcının requestAnimationFrame API\'sini kullanır. Animasyon kareleri arasındaki süreyi ölçerek, özel bir donanıma gerek duymadan tam yenileme hızınızı yüksek hassasiyetle hesaplarız.',
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
ui: {
|
|
173
|
+
badge: 'Ekran Testi',
|
|
174
|
+
title: 'Yenileme Hızı Dedektörü',
|
|
175
|
+
description: 'Ekranınızın yenileme hızını anında tespit edin',
|
|
176
|
+
modeStable: 'Kararlı (10s, hassas)',
|
|
177
|
+
modeFast: 'Hızlı (3s, seri)',
|
|
178
|
+
measurementStatus: 'Ölçülüyor...',
|
|
179
|
+
currentHz: 'Mevcut',
|
|
180
|
+
averageHz: 'Ortalama',
|
|
181
|
+
maxHz: 'Maksimum',
|
|
182
|
+
minHz: 'Minimum',
|
|
183
|
+
standardDetected: 'Tespit Edilen Standart',
|
|
184
|
+
frameSkippingTest: 'Kare Atlama Testi',
|
|
185
|
+
startMeasurement: 'Ölçümü Başlat',
|
|
186
|
+
resetMeasurement: 'Sıfırla',
|
|
187
|
+
copyResult: 'Sonucu Kopyala',
|
|
188
|
+
copiedFeedback: 'Panoya kopyalandı!',
|
|
189
|
+
optimalConfiguration: '[OK] Optimal Yapılandırma',
|
|
190
|
+
suboptimalConfiguration: '[UYARI] Optimal Altı',
|
|
191
|
+
unstableRefreshRate: '[UYARI] Kararsız Yenileme Hızı',
|
|
192
|
+
measurementNotStarted: 'Ölçüme hazır',
|
|
193
|
+
switchMonitorHint: 'Test etmek için pencereyi başka bir monitöre sürükleyin',
|
|
194
|
+
incompatibleBrowserMsg: 'Tarayıcınız requestAnimationFrame\'i desteklemiyor',
|
|
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 = 'monitor-refresh-rate-detector';
|
|
7
|
+
const title = '显示器刷新率在线测试仪';
|
|
8
|
+
const description = '使用 requestAnimationFrame 毫秒级精准检测显示器的刷新率。测试帧稳定性,并与行业标准进行对比。';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: '什么是刷新率 (Hz)?',
|
|
13
|
+
answer: '刷新率是指显示器每秒更新图像的次数。60Hz 的显示器每秒更新 60 次,而 144Hz 则更新 144 次。刷新率越高,画面动态效果越流畅。',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: '这个检测器有多准?',
|
|
17
|
+
answer: '本工具利用与显示器刷新周期同步的 requestAnimationFrame API。准确度取决于系统负载。稳定模式通过延长测量时间来提供更高的精度。',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: '稳定模式和快速模式有什么区别?',
|
|
21
|
+
answer: '快速模式测量时间较短(约 3 秒),可快速反馈。稳定模式时间较长(约 10 秒),旨在滤除系统噪点,提供更可靠的结果。',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: '为什么检测到的 Hz 与显示器规格不符?',
|
|
25
|
+
answer: '可能的原因包括:电缆连接松动、驱动程序过时或操作系统缩放设置干扰。请尝试重新插拔显示电缆或更新显卡驱动程序。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '现代显示器支持哪些刷新率?',
|
|
29
|
+
answer: '常见的标准包括 60Hz(基础)、75Hz、120Hz、144Hz(游戏级)、240Hz(竞技级)和 360Hz(专业电竞)。',
|
|
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, 360Hz)。',
|
|
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: 'zh',
|
|
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: '显示器刷新率测试仪:在线检测屏幕 Hz 频率',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: '毫秒级精准检测显示器的刷新率(60Hz, 144Hz, 240Hz 等)。测试帧稳定性,验证显示器是否在额定规格下正常运行。',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: '为什么显示器刷新率很重要',
|
|
111
|
+
level: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: '刷新率决定了屏幕上动作的流畅程度。游戏玩家能从 144Hz+ 的显示器中获益,而普通用户通常觉得 60Hz 已足够。此工具可帮助确认您的显示器是否真正达到了宣传的刷新率。',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: '如何检测您的刷新率',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'加载此检测器——测量立即开始',
|
|
126
|
+
'选择快速(3秒)或稳定(10秒)测量模式',
|
|
127
|
+
'从仪表盘读取显示器的 Hz 数值',
|
|
128
|
+
'对照行业标准(60, 75, 120, 144, 240, 360Hz)',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: '常见的刷新率标准',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['标准', '应用场景', '典型用户'],
|
|
139
|
+
rows: [
|
|
140
|
+
['60Hz', '普通办公', '办公、网页浏览'],
|
|
141
|
+
['75Hz', '轻度游戏', '休闲玩家'],
|
|
142
|
+
['120Hz', '多媒体', '主机游戏、流媒体'],
|
|
143
|
+
['144Hz', '竞技游戏', 'FPS、快节奏游戏'],
|
|
144
|
+
['240Hz+', '专业电竞', '职业选手、主播'],
|
|
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: '本工具使用浏览器的 requestAnimationFrame API,它直接与显示器的刷新周期同步。通过测量动画帧之间的时间,我们能以高精度计算出准确的刷新率,无需特殊硬件支持。',
|
|
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
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { refreshRateDetector } from './entry';
|
|
2
|
+
import type { ToolDefinition } from '../../types';
|
|
3
|
+
|
|
4
|
+
export * from './entry';
|
|
5
|
+
|
|
6
|
+
export const REFRESH_RATE_DETECTOR_TOOL: ToolDefinition = {
|
|
7
|
+
entry: refreshRateDetector,
|
|
8
|
+
Component: () => import('./component.astro'),
|
|
9
|
+
SEOComponent: () => import('./seo.astro'),
|
|
10
|
+
BibliographyComponent: () => import('./bibliography.astro'),
|
|
11
|
+
};
|