@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
|
@@ -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 = 'rilevatore-frequenza-aggiornamento-monitor';
|
|
7
|
+
const title = 'Rilevatore Frequenza di Aggiornamento Monitor';
|
|
8
|
+
const description = 'Rileva istantaneamente la frequenza di aggiornamento del tuo monitor con precisione utilizzando requestAnimationFrame. Testa la stabilitร dei fotogrammi e confrontala con gli standard del settore.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Cos\'รจ la frequenza di aggiornamento (Hz)?',
|
|
13
|
+
answer: 'La frequenza di aggiornamento indica quante volte al secondo il monitor aggiorna l\'immagine. Un monitor a 60Hz si aggiorna 60 volte al secondo, mentre uno a 144Hz si aggiorna 144 volte. Frequenze piรน elevate si traducono in movimenti piรน fluidi.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Quanto รจ preciso questo rilevatore?',
|
|
17
|
+
answer: 'Questo strumento utilizza requestAnimationFrame, che si sincronizza con il ciclo di aggiornamento del monitor. La precisione dipende dal carico del sistema. La modalitร stabile misura per periodi piรน lunghi per una maggiore precisione.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Qual รจ la differenza tra la modalitร Stabile e quella Veloce?',
|
|
21
|
+
answer: 'La modalitร Veloce misura per un breve periodo (~3 secondi) per un feedback rapido. La modalitร Stabile richiede piรน tempo (~10 secondi) per filtrare il rumore del sistema e fornire risultati piรน affidabili.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Perchรฉ gli Hz rilevati sono diversi da quelli indicati dal mio monitor?',
|
|
25
|
+
answer: 'Ciรฒ puรฒ accadere se: il collegamento del cavo รจ allentato, i driver sono obsoleti o l\'interferenza del ridimensionamento del sistema operativo. Prova a scollegare e ricollegare il cavo del display o ad aggiornare i driver della GPU.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Quali frequenze di aggiornamento supportano i monitor moderni?',
|
|
29
|
+
answer: 'Gli standard comuni sono 60Hz (base), 75Hz, 120Hz, 144Hz (gaming), 240Hz (gaming competitivo) e 360Hz (eSport professionali).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Carica lo strumento',
|
|
36
|
+
text: 'Basta aprire questa pagina. Il rilevatore inizia a misurare immediatamente.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Attendi la stabilizzazione',
|
|
40
|
+
text: 'Scegli la modalitร Stabile o Veloce. Lascia che la misurazione venga completata senza spostare la finestra.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Controlla il tachimetro',
|
|
44
|
+
text: 'La frequenza di aggiornamento del monitor appare come un quadrante fluido, con statistiche di benchmark (min/max/media).',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Confronta con gli standard',
|
|
48
|
+
text: 'Lo strumento mostra a quale standard corrisponde il tuo monitor (60, 75, 120, 144, 240, 360Hz).',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'Opzionale: test del salto dei fotogrammi',
|
|
52
|
+
text: 'Osserva il quadrato animato che attraversa lo schermo per confermare visivamente la fluiditร .',
|
|
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: 'it',
|
|
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: 'Rilevatore Frequenza di Aggiornamento Monitor: Testa gli Hz del tuo Display Online',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Rileva istantaneamente la frequenza di aggiornamento del tuo monitor (60Hz, 144Hz, 240Hz, ecc.) con precisione. Testa la stabilitร dei fotogrammi e verifica che il tuo display stia funzionando secondo le sue specifiche nominali.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Perchรฉ la Frequenza di Aggiornamento del Monitor รจ Importante',
|
|
111
|
+
level: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'La frequenza di aggiornamento determina la fluiditร con cui i movimenti appaiono sullo schermo. I giocatori traggono vantaggio da monitor a 144Hz o superiori, mentre gli utenti generici trovano adeguati i 60Hz. Questo strumento aiuta a confermare che il monitor fornisca effettivamente la frequenza di aggiornamento pubblicizzata.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Come Rilevare la tua Frequenza di Aggiornamento',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'Carica questo rilevatore: la misurazione inizia immediatamente',
|
|
126
|
+
'Scegli tra la modalitร di misurazione Veloce (3s) o Stabile (10s)',
|
|
127
|
+
'Leggi gli Hz del tuo monitor dal quadrante del tachimetro',
|
|
128
|
+
'Confrontali con gli standard del settore (60, 75, 120, 144, 240, 360Hz)',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: 'Standard Comuni della Frequenza di Aggiornamento',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Standard', 'Caso d\'Uso', 'Utente Tipico'],
|
|
139
|
+
rows: [
|
|
140
|
+
['60Hz', 'Informatica Generale', 'Ufficio, Navigazione Web'],
|
|
141
|
+
['75Hz', 'Gaming Leggero', 'Giocatori Occasionali'],
|
|
142
|
+
['120Hz', 'Multimedia', 'Console, Streaming'],
|
|
143
|
+
['144Hz', 'Gaming Competitivo', 'FPS, Giochi Veloci'],
|
|
144
|
+
['240Hz+', 'eSport Professionali', 'Giocatori Pro, Streamer'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Risoluzione dei Problemi: Il Display Mostra meno Hz di quelli Previsti',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'Controlla i collegamenti del cavo HDMI/DisplayPort: i cavi allentati riducono la larghezza di banda',
|
|
156
|
+
'Aggiorna i driver della GPU (NVIDIA, AMD, Intel)',
|
|
157
|
+
'Controlla le impostazioni del display del sistema operativo per assicurarti che la frequenza di aggiornamento elevata sia abilitata',
|
|
158
|
+
'Prova diversi cavi o porte sul monitor',
|
|
159
|
+
'Riavvia il computer e ripeti il test',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'La Tecnologia Dietro questo Rilevatore',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'paragraph',
|
|
169
|
+
html: 'Questo strumento utilizza l\'API requestAnimationFrame del browser, che si sincronizza direttamente con il ciclo di aggiornamento del monitor. Misurando il tempo tra i fotogrammi dell\'animazione, calcoliamo la tua esatta frequenza di aggiornamento con alta precisione, senza bisogno di hardware speciale.',
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
ui: {
|
|
173
|
+
badge: 'Test del Display',
|
|
174
|
+
title: 'Rilevatore Frequenza Monitor',
|
|
175
|
+
description: 'Rileva istantaneamente la frequenza di aggiornamento del tuo display',
|
|
176
|
+
modeStable: 'Stabile (10s, preciso)',
|
|
177
|
+
modeFast: 'Veloce (3s, rapido)',
|
|
178
|
+
measurementStatus: 'Misurazione in corso...',
|
|
179
|
+
currentHz: 'Attuale',
|
|
180
|
+
averageHz: 'Media',
|
|
181
|
+
maxHz: 'Massimo',
|
|
182
|
+
minHz: 'Minimo',
|
|
183
|
+
standardDetected: 'Standard Rilevato',
|
|
184
|
+
frameSkippingTest: 'Test del Salto dei Fotogrammi',
|
|
185
|
+
startMeasurement: 'Avvia Misurazione',
|
|
186
|
+
resetMeasurement: 'Ripristina',
|
|
187
|
+
copyResult: 'Copia Risultato',
|
|
188
|
+
copiedFeedback: 'Copiato negli appunti!',
|
|
189
|
+
optimalConfiguration: '[OK] Configurazione Ottimale',
|
|
190
|
+
suboptimalConfiguration: '[AVVISO] Sotto l\'Ottimale',
|
|
191
|
+
unstableRefreshRate: '[AVVISO] Frequenza Instabile',
|
|
192
|
+
measurementNotStarted: 'Pronto per la misurazione',
|
|
193
|
+
switchMonitorHint: 'Trascina la finestra su un altro monitor per testarlo',
|
|
194
|
+
incompatibleBrowserMsg: 'Il tuo browser non supporta 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-refresh-rate-detector';
|
|
7
|
+
const title = 'ใขใใฟใผใชใใฌใใทใฅใฌใผใๆธฌๅฎๅจ';
|
|
8
|
+
const description = 'requestAnimationFrameใไฝฟ็จใใฆใใขใใฟใผใฎใชใใฌใใทใฅใฌใผใใ็ฌๆใซ้ซ็ฒพๅบฆใงๆคๅบใใพใใใใฌใผใ ใฎๅฎๅฎๆงใใในใใใๆฅญ็ๆจๆบใจๆฏ่ผใงใใพใใ';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'ใชใใฌใใทใฅใฌใผใ๏ผHz๏ผใจใฏไฝใงใใ๏ผ',
|
|
13
|
+
answer: 'ใชใใฌใใทใฅใฌใผใใจใฏใใขใใฟใผใ1็ง้ใซ็ปๅใๆดๆฐใใๅๆฐใฎใใจใงใใ60Hzใฎใขใใฟใผใฏ1็ง้ใซ60ๅใ144Hzใฏ144ๅๆดๆฐใใใพใใๆฐๅคใ้ซใใปใฉใๅใใใใๆปใใใซใชใใพใใ',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'ใใฎๆธฌๅฎๅจใฎ็ฒพๅบฆใฏใฉใฎใใใใงใใ๏ผ',
|
|
17
|
+
answer: 'ใใฎใใผใซใฏใใขใใฟใผใฎๆดๆฐใตใคใฏใซใจๅๆใใrequestAnimationFrameใไฝฟ็จใใฆใใพใใ็ฒพๅบฆใฏใทในใใ ่ฒ ่ทใซไพๅญใใพใใๅฎๅฎใขใผใใงใฏใใใ้ทใๆ้ๆธฌๅฎใใใใจใง็ฒพๅบฆใ้ซใใฆใใพใใ',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'ๅฎๅฎใขใผใใจ้ซ้ใขใผใใฎ้ใใฏไฝใงใใ๏ผ',
|
|
21
|
+
answer: '้ซ้ใขใผใใฏ็ญๆ้๏ผ็ด3็ง๏ผๆธฌๅฎใใ็ด ๆฉใ็ตๆใ่กจ็คบใใพใใๅฎๅฎใขใผใใฏใใ้ทใๆ้๏ผ็ด10็ง๏ผใใใฆใทในใใ ใใคใบใ้คๅปใใใใไฟก้ ผๆงใฎ้ซใ็ตๆใๆไพใใพใใ',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'ๆคๅบใใใHzใใขใใฟใผใฎไปๆงใจ็ฐใชใใฎใฏใชใใงใใ๏ผ',
|
|
25
|
+
answer: 'ใฑใผใใซใฎๆฅ็ถไธ่ฏใใใฉใคใใฎๅคใใOSใฎในใฑใผใชใณใฐ่จญๅฎใฎๅฝฑ้ฟใชใฉใ่ใใใใพใใใใฃในใใฌใคใฑใผใใซใฎๆใๅทฎใใใGPUใใฉใคใใฎๆดๆฐใ่ฉฆใใฆใใ ใใใ',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'ๆๆฐใฎใขใใฟใผใฏใฉใฎใใใชใชใใฌใใทใฅใฌใผใใใตใใผใใใฆใใพใใ๏ผ',
|
|
29
|
+
answer: 'ไธ่ฌ็ใชๆจๆบใฏใ60Hz๏ผๅบๆฌ๏ผใ75Hzใ120Hzใ144Hz๏ผใฒใผใ ็จ๏ผใ240Hz๏ผ็ซถๆใฒใผใ ็จ๏ผใ360Hz๏ผใใญeในใใผใ็จ๏ผใชใฉใงใใ',
|
|
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: 'ja',
|
|
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', 'ไธ่ฌ็ใชใณใณใใฅใผใฟๅฉ็จ', 'ไบๅใWeb้ฒ่ฆง'],
|
|
141
|
+
['75Hz', 'ใฉใคใใชใฒใผใ ', 'ใซใธใฅใขใซใฒใผใใผ'],
|
|
142
|
+
['120Hz', 'ใใซใใกใใฃใข', 'ใณใณใฝใผใซๆฉใ้
ไฟก่ฆ่ด'],
|
|
143
|
+
['144Hz', '็ซถๆใฒใผใ ', 'FPSใ้ซ้ใชใขใฏใทใงใณใฒใผใ '],
|
|
144
|
+
['240Hz+', 'ใใญeในใใผใ', 'ใใญใฒใผใใผใ้
ไฟก่
'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'ใใฉใใซใทใฅใผใใฃใณใฐ๏ผHzใๆณๅฎใใไฝใ่กจ็คบใใใๅ ดๅ',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'HDMI/DisplayPortใฑใผใใซใฎๆฅ็ถใ็ขบ่ชใใฆใใ ใใใๆฅ็ถไธ่ฏใฏๅธฏๅๅน
ใไฝไธใใใพใใ',
|
|
156
|
+
'GPUใใฉใคใ๏ผNVIDIA, AMD, Intel๏ผใๆดๆฐใใฆใใ ใใใ',
|
|
157
|
+
'OSใฎใใฃในใใฌใค่จญๅฎใ็ขบ่ชใใ้ซใชใใฌใใทใฅใฌใผใใๆๅนใซใชใฃใฆใใใ็ขบ่ชใใฆใใ ใใใ',
|
|
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,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์ ์ฌ์ฉํฉ๋๋ค. ์ ํ๋๋ ์์คํ
๋ถํ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ์์ ๋ชจ๋๋ ๋ ๊ธด ์๊ฐ ๋์ ์ธก์ ํ์ฌ ์ ๋ฐ๋๋ฅผ ๋์
๋๋ค.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: '์์ ๋ชจ๋์ ๋น ๋ฅธ ๋ชจ๋์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์?',
|
|
21
|
+
answer: '๋น ๋ฅธ ๋ชจ๋๋ ์งง์ ์๊ฐ(~3์ด) ๋์ ์ธก์ ํ์ฌ ๋น ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์์ ๋ชจ๋๋ ๋ ๊ธด ์๊ฐ(~10์ด) ๋์ ์ธก์ ํ์ฌ ์์คํ
๋
ธ์ด์ฆ๋ฅผ ๊ฑธ๋ฌ๋ด๊ณ ๋ ์ ๋ขฐํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: '๊ฐ์ง๋ ์ฃผ์ฌ์จ์ด ๋ชจ๋ํฐ ์ฌ์๊ณผ ๋ค๋ฅธ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?',
|
|
25
|
+
answer: '์ผ์ด๋ธ ์ฐ๊ฒฐ ๋ถ๋, ์ค๋๋ ๋๋ผ์ด๋ฒ, ๋๋ OS์ ๋ฐฐ์จ ์ค์ ๊ฐ์ญ ๋ฑ์ด ์์ธ์ผ ์ ์์ต๋๋ค. ๋์คํ๋ ์ด ์ผ์ด๋ธ์ ๋ค์ ์ฐ๊ฒฐํ๊ฑฐ๋ GPU ๋๋ผ์ด๋ฒ๋ฅผ ์
๋ฐ์ดํธํด ๋ณด์ธ์.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '์ต์ ๋ชจ๋ํฐ๋ ์ด๋ค ์ฃผ์ฌ์จ์ ์ง์ํ๋์?',
|
|
29
|
+
answer: '์ผ๋ฐ์ ์ธ ํ์ค์ 60Hz(๊ธฐ๋ณธ), 75Hz, 120Hz, 144Hz(๊ฒ์ด๋ฐ), 240Hz(๊ณ ์ฑ๋ฅ ๊ฒ์ด๋ฐ), 360Hz(์ ๋ฌธ e์คํฌ์ธ ) ๋ฑ์ด ์์ต๋๋ค.',
|
|
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: 'ko',
|
|
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
|
+
'๊ณ๊ธฐํ ๋ค์ด์ผ์์ ๋ชจ๋ํฐ์ ์ฃผ์ฌ์จ์ ํ์ธํ์ธ์',
|
|
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+', 'ํ๋ก e์คํฌ์ธ ', 'ํ๋ก ๊ฒ์ด๋จธ, ์คํธ๋ฆฌ๋จธ'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: '๋ฌธ์ ํด๊ฒฐ: ์ฃผ์ฌ์จ์ด ์์๋ณด๋ค ๋ฎ๊ฒ ํ์๋ ๋',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'HDMI/DisplayPort ์ผ์ด๋ธ ์ฐ๊ฒฐ์ ํ์ธํ์ธ์. ์ฐ๊ฒฐ์ด ํ๊ฑฐ์ฐ๋ฉด ๋์ญํญ์ด ์ค์ด๋ญ๋๋ค.',
|
|
156
|
+
'GPU ๋๋ผ์ด๋ฒ(NVIDIA, AMD, Intel)๋ฅผ ์
๋ฐ์ดํธํ์ธ์.',
|
|
157
|
+
'OS ๋์คํ๋ ์ด ์ค์ ์์ ๋์ ์ฃผ์ฌ์จ์ด ํ์ฑํ๋์ด ์๋์ง ํ์ธํ์ธ์.',
|
|
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
|
+
};
|