feat: add multiple translations, language dropdown

This commit is contained in:
Tomáš Mládek 2025-09-27 11:24:38 +02:00
parent 29d96f8451
commit d538a7a2b0
9 changed files with 677 additions and 1 deletions

87
messages/cs.json Normal file
View file

@ -0,0 +1,87 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"search": "Hledat",
"tests_audio_description": "Zkontrolujte své stereo kanály nebo prostorový zvukový výstup, ověřte, zda jsou reproduktory ve fázi.",
"tests_audio_label": "Zvuk",
"tests_av-sync_description": "Zkontrolujte, zda jsou zvuk a video synchronizovány, a změřte zpoždění.",
"tests_av-sync_label": "Synchronizace zvuku a videa",
"tests_card_description": "Testovací karta pro váš displej nebo projektor, zkontrolujte barvy, rozlišení a geometrii.",
"tests_card_label": "Karta",
"tests_camera_description": "Zkontrolujte, zda vaše webkamera nebo snímací zařízení funguje, jeho kvalitu obrazu, rozlišení a snímkovou frekvenci. Pořiďte snímek.",
"tests_camera_label": "Kamera",
"tests_gamepad_description": "Otestujte svůj gamepad, zkontrolujte, zda funguje, všechna tlačítka a joysticky, drift páček, mrtvé zóny a kalibraci.",
"tests_gamepad_label": "Gamepad",
"tests_keyboard_description": "Zkontrolujte, zda všechny klávesy fungují a jaké kódy kláves odesílají.",
"tests_keyboard_label": "Klávesnice",
"tests_microphone_description": "Zkontrolujte, zda váš mikrofon funguje, jeho kvalitu, hlasitost a šum.",
"tests_microphone_label": "Mikrofon",
"tests_mouse_description": "Zkontrolujte, zda vaše myš nebo dotykové zařízení funguje správně, zda existují mrtvé zóny nebo chvění.",
"tests_mouse_label": "Myš",
"tests_sensors_description": "Zobrazte výstup senzorů vašeho zařízení, např. GPS, akcelerometr, gyroskop, kompas atd.",
"tests_sensors_label": "Senzory",
"tests_internet_description": "Změřte rychlost a latenci internetu.",
"tests_internet_label": "Rychlost internetu",
"tests_timer_description": "Zkontrolujte, zda váš časovač s vysokým rozlišením funguje.",
"tests_timer_label": "Časovač s vysokým rozlišením",
"category_inputs": "Vstupy",
"category_outputs": "Výstupy",
"category_audio": "Zvuk",
"category_video": "Video",
"category_control": "Ovládání",
"category_misc": "Různé",
"noTestsFound": "Nebyly nalezeny žádné testy.",
"camera_title": "Test kamery",
"camera_device": "Zařízení",
"camera_noCameraFound": "Nebyla nalezena žádná kamera",
"camera_refresh": "Obnovit",
"camera_resolution": "Rozlišení",
"camera_frameRate": "Snímková frekvence",
"camera_noCameraSelected": "Není vybrána žádná kamera",
"camera_takePicture": "Vyfotit",
"camera_unflipImage": "Převrátit obrázek zpět",
"camera_flipImage": "Převrátit obrázek",
"camera_closeSnapshot": "Zavřít snímek",
"audio_channel_frontLeft": "Přední levý",
"audio_channel_frontCenter": "Přední středový",
"audio_channel_frontRight": "Přední pravý",
"audio_channel_sideLeft": "Boční levý",
"audio_channel_sideRight": "Boční pravý",
"audio_channel_rearLeft": "Zadní levý",
"audio_channel_rearRight": "Zadní pravý",
"audio_channel_lfe": "LFE",
"gamepad_title": "Testy gamepadu a joysticku",
"gamepad_device": "Zařízení",
"gamepad_noGamepadsDetected": "Nebyly detekovány žádné gamepady. (Zkuste stisknout tlačítko)",
"gamepad_refresh": "Obnovit",
"gamepad_buttons": "Tlačítka",
"gamepad_axes": "Osy",
"gamepad_history": "Historie",
"audio_channelTests": "Testy kanálů",
"audio_stereo": "Stereo",
"audio_surroundAudio": "Prostorový zvuk",
"audio_surround51": "5.1 Prostorový",
"audio_surround71": "7.1 Prostorový",
"audio_phaseTest": "Test fáze",
"audio_frequency": "Frekvence",
"audio_inPhase": "Ve fázi",
"audio_outOfPhase": "Mimo fázi",
"audio_stop": "Zastavit",
"screenInfo_screenResolution": "Rozlišení obrazovky",
"screenInfo_windowResolution": "Rozlišení okna",
"screenInfo_devicePixelRatio": "Poměr pixelů zařízení",
"audio_channel_left": "Levý",
"audio_channel_center": "Střed",
"audio_channel_right": "Pravý",
"keyboard_title": "Test klávesnice",
"keyboard_instruction": "Stiskněte klávesu na klávesnici pro zobrazení objektu události a kódu klávesy.",
"keyboard_pressedKeys": "Stisknuté klávesy:",
"timer_title": "Časovač s vysokým rozlišením",
"timer_fps": "FPS",
"timer_restart": "Restartovat",
"audio_stopCycling": "Zastavit cyklování",
"audio_cycleThrough": "Procházet",
"common_back": "Zpět",
"audio_title": "Test zvuku",
"avSync_title": "Synchronizace zvuku a videa",
"internet_title": "Rychlost internetu"
}

87
messages/de.json Normal file
View file

@ -0,0 +1,87 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"search": "Suchen",
"tests_audio_description": "Überprüfen Sie Ihre Stereokanäle oder den Surround-Audioausgang, überprüfen Sie, ob Ihre Lautsprecher in Phase sind.",
"tests_audio_label": "Audio",
"tests_av-sync_description": "Überprüfen Sie, ob Audio und Video synchron sind, und messen Sie die Verzögerung.",
"tests_av-sync_label": "Audio/Video-Synchronisation",
"tests_card_description": "Testkarte für Ihr Display oder Ihren Projektor, überprüfen Sie Farben, Auflösung und Geometrie.",
"tests_card_label": "Karte",
"tests_camera_description": "Überprüfen Sie, ob Ihre Webcam oder Ihr Aufnahmegerät funktioniert, die Bildqualität, Auflösung und Bildrate. Machen Sie einen Schnappschuss.",
"tests_camera_label": "Kamera",
"tests_gamepad_description": "Testen Sie Ihr Gamepad, überprüfen Sie, ob es funktioniert, alle Tasten und Joysticks, Stick-Drift, Totzonen und Kalibrierung.",
"tests_gamepad_label": "Gamepad",
"tests_keyboard_description": "Überprüfen Sie, ob alle Tasten funktionieren und welche Tastencodes sie senden.",
"tests_keyboard_label": "Tastatur",
"tests_microphone_description": "Überprüfen Sie, ob Ihr Mikrofon funktioniert, seine Qualität, Lautstärke und Rauschen.",
"tests_microphone_label": "Mikrofon",
"tests_mouse_description": "Überprüfen Sie, ob Ihre Maus oder Ihr Touch-Gerät ordnungsgemäß funktioniert, ob es tote Zonen oder Jitter gibt.",
"tests_mouse_label": "Maus",
"tests_sensors_description": "Sehen Sie sich die Ausgabe der Sensoren Ihres Geräts an, z. B. GPS, Beschleunigungsmesser, Gyroskop, Kompass usw.",
"tests_sensors_label": "Sensoren",
"tests_internet_description": "Messen Sie Ihre Internetgeschwindigkeit und Latenz.",
"tests_internet_label": "Internetgeschwindigkeit",
"tests_timer_description": "Überprüfen Sie, ob Ihr hochauflösender Timer funktioniert.",
"tests_timer_label": "Hochauflösender Timer",
"category_inputs": "Eingänge",
"category_outputs": "Ausgänge",
"category_audio": "Audio",
"category_video": "Video",
"category_control": "Steuerung",
"category_misc": "Sonstiges",
"noTestsFound": "Keine Tests gefunden.",
"camera_title": "Kameratest",
"camera_device": "Gerät",
"camera_noCameraFound": "Keine Kamera gefunden",
"camera_refresh": "Aktualisieren",
"camera_resolution": "Auflösung",
"camera_frameRate": "Bildrate",
"camera_noCameraSelected": "Keine Kamera ausgewählt",
"camera_takePicture": "Bild aufnehmen",
"camera_unflipImage": "Bild zurückklappen",
"camera_flipImage": "Bild spiegeln",
"camera_closeSnapshot": "Schnappschuss schließen",
"audio_channel_frontLeft": "Vorne links",
"audio_channel_frontCenter": "Vorne Mitte",
"audio_channel_frontRight": "Vorne rechts",
"audio_channel_sideLeft": "Seite links",
"audio_channel_sideRight": "Seite rechts",
"audio_channel_rearLeft": "Hinten links",
"audio_channel_rearRight": "Hinten rechts",
"audio_channel_lfe": "LFE",
"gamepad_title": "Gamepad- und Joystick-Tests",
"gamepad_device": "Gerät",
"gamepad_noGamepadsDetected": "Keine Gamepads erkannt. (Versuchen Sie, eine Taste zu drücken)",
"gamepad_refresh": "Aktualisieren",
"gamepad_buttons": "Tasten",
"gamepad_axes": "Achsen",
"gamepad_history": "Verlauf",
"audio_channelTests": "Kanaltester",
"audio_stereo": "Stereo",
"audio_surroundAudio": "Surround-Audio",
"audio_surround51": "5.1 Surround",
"audio_surround71": "7.1 Surround",
"audio_phaseTest": "Phasentest",
"audio_frequency": "Frequenz",
"audio_inPhase": "In Phase",
"audio_outOfPhase": "Außer Phase",
"audio_stop": "Stopp",
"screenInfo_screenResolution": "Bildschirmauflösung",
"screenInfo_windowResolution": "Fensterauflösung",
"screenInfo_devicePixelRatio": "Gerätepixelverhältnis",
"audio_channel_left": "Links",
"audio_channel_center": "Mitte",
"audio_channel_right": "Rechts",
"keyboard_title": "Tastaturtest",
"keyboard_instruction": "Drücken Sie eine Taste auf der Tastatur, um das Ereignisobjekt und den Tastencode anzuzeigen.",
"keyboard_pressedKeys": "Gedrückte Tasten:",
"timer_title": "Hochauflösender Timer",
"timer_fps": "FPS",
"timer_restart": "Neustart",
"audio_stopCycling": "Zyklus stoppen",
"audio_cycleThrough": "Durchlaufen",
"common_back": "Zurück",
"audio_title": "Audiotest",
"avSync_title": "Audio/Video-Synchronisation",
"internet_title": "Internetgeschwindigkeit"
}

87
messages/es.json Normal file
View file

@ -0,0 +1,87 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"search": "Buscar",
"tests_audio_description": "Comprueba tus canales estéreo o la salida de audio envolvente, verifica si tus altavoces están en fase.",
"tests_audio_label": "Audio",
"tests_av-sync_description": "Comprueba si el audio y el video están sincronizados y mide el retraso.",
"tests_av-sync_label": "Sincronización de Audio/Video",
"tests_card_description": "Tarjeta de prueba para tu pantalla o proyector, comprueba colores, resolución y geometría.",
"tests_card_label": "Tarjeta",
"tests_camera_description": "Comprueba si tu cámara web o dispositivo de captura funciona, su calidad de imagen, resolución y velocidad de fotogramas. Toma una instantánea.",
"tests_camera_label": "Cámara",
"tests_gamepad_description": "Prueba tu gamepad, comprueba si funciona, todos los botones y joysticks, deriva del stick, zonas muertas y calibración.",
"tests_gamepad_label": "Gamepad",
"tests_keyboard_description": "Comprueba si todas las teclas funcionan y qué códigos de tecla envían.",
"tests_keyboard_label": "Teclado",
"tests_microphone_description": "Comprueba si tu micrófono funciona, su calidad, volumen y ruido.",
"tests_microphone_label": "Micrófono",
"tests_mouse_description": "Comprueba si tu ratón o dispositivo táctil funciona correctamente, si hay zonas muertas o fluctuaciones.",
"tests_mouse_label": "Ratón",
"tests_sensors_description": "Consulta la salida de los sensores de tu dispositivo, p. ej., GPS, acelerómetro, giroscopio, brújula, etc.",
"tests_sensors_label": "Sensores",
"tests_internet_description": "Mide tu velocidad de internet y latencia.",
"tests_internet_label": "Velocidad de internet",
"tests_timer_description": "Comprueba si tu temporizador de alta resolución funciona.",
"tests_timer_label": "Temporizador de alta resolución",
"category_inputs": "Entradas",
"category_outputs": "Salidas",
"category_audio": "Audio",
"category_video": "Video",
"category_control": "Control",
"category_misc": "Misceláneo",
"noTestsFound": "No se encontraron pruebas.",
"camera_title": "Prueba de cámara",
"camera_device": "Dispositivo",
"camera_noCameraFound": "No se encontró ninguna cámara",
"camera_refresh": "Actualizar",
"camera_resolution": "Resolución",
"camera_frameRate": "Velocidad de fotogramas",
"camera_noCameraSelected": "No se ha seleccionado ninguna cámara",
"camera_takePicture": "Tomar foto",
"camera_unflipImage": "Desvoltear imagen",
"camera_flipImage": "Voltear imagen",
"camera_closeSnapshot": "Cerrar instantánea",
"audio_channel_frontLeft": "Frontal izquierdo",
"audio_channel_frontCenter": "Frontal central",
"audio_channel_frontRight": "Frontal derecho",
"audio_channel_sideLeft": "Lateral izquierdo",
"audio_channel_sideRight": "Lateral derecho",
"audio_channel_rearLeft": "Trasero izquierdo",
"audio_channel_rearRight": "Trasero derecho",
"audio_channel_lfe": "LFE",
"gamepad_title": "Pruebas de Gamepad y Joystick",
"gamepad_device": "Dispositivo",
"gamepad_noGamepadsDetected": "No se detectaron gamepads. (Intenta presionar un botón)",
"gamepad_refresh": "Actualizar",
"gamepad_buttons": "Botones",
"gamepad_axes": "Ejes",
"gamepad_history": "Historial",
"audio_channelTests": "Pruebas de canal",
"audio_stereo": "Estéreo",
"audio_surroundAudio": "Audio envolvente",
"audio_surround51": "Envolvente 5.1",
"audio_surround71": "Envolvente 7.1",
"audio_phaseTest": "Prueba de fase",
"audio_frequency": "Frecuencia",
"audio_inPhase": "En fase",
"audio_outOfPhase": "Fuera de fase",
"audio_stop": "Detener",
"screenInfo_screenResolution": "Resolución de pantalla",
"screenInfo_windowResolution": "Resolución de ventana",
"screenInfo_devicePixelRatio": "Relación de píxeles del dispositivo",
"audio_channel_left": "Izquierda",
"audio_channel_center": "Centro",
"audio_channel_right": "Derecha",
"keyboard_title": "Prueba de teclado",
"keyboard_instruction": "Presiona una tecla en el teclado para ver el objeto de evento y el código de tecla.",
"keyboard_pressedKeys": "Teclas presionadas:",
"timer_title": "Temporizador de alta resolución",
"timer_fps": "FPS",
"timer_restart": "Reiniciar",
"audio_stopCycling": "Detener ciclo",
"audio_cycleThrough": "Recorrer",
"common_back": "Atrás",
"audio_title": "Prueba de audio",
"avSync_title": "Sincronización de Audio/Video",
"internet_title": "Velocidad de internet"
}

87
messages/fr.json Normal file
View file

@ -0,0 +1,87 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"search": "Rechercher",
"tests_audio_description": "Vérifiez vos canaux stéréo ou votre sortie audio surround, vérifiez si vos haut-parleurs sont en phase.",
"tests_audio_label": "Audio",
"tests_av-sync_description": "Vérifiez si votre audio et votre vidéo sont synchronisés et mesurez le décalage.",
"tests_av-sync_label": "Synchronisation Audio/Vidéo",
"tests_card_description": "Carte de test pour votre écran ou projecteur, vérifiez les couleurs, la résolution et la géométrie.",
"tests_card_label": "Carte",
"tests_camera_description": "Vérifiez si votre webcam ou votre périphérique de capture fonctionne, sa qualité d'image, sa résolution et sa fréquence d'images. Prenez une photo.",
"tests_camera_label": "Caméra",
"tests_gamepad_description": "Testez votre manette de jeu, vérifiez si elle fonctionne, tous les boutons et joysticks, la dérive des sticks, les zones mortes et le calibrage.",
"tests_gamepad_label": "Manette de jeu",
"tests_keyboard_description": "Vérifiez si toutes les touches fonctionnent et quels codes de touche elles envoient.",
"tests_keyboard_label": "Clavier",
"tests_microphone_description": "Vérifiez si votre microphone fonctionne, sa qualité, son volume et le bruit.",
"tests_microphone_label": "Microphone",
"tests_mouse_description": "Vérifiez si votre souris ou votre périphérique tactile fonctionne correctement, s'il y a des zones mortes ou des sautillements.",
"tests_mouse_label": "Souris",
"tests_sensors_description": "Consultez la sortie des capteurs de votre appareil, par ex. GPS, accéléromètre, gyroscope, boussole, etc.",
"tests_sensors_label": "Capteurs",
"tests_internet_description": "Mesurez votre vitesse Internet et votre latence.",
"tests_internet_label": "Vitesse Internet",
"tests_timer_description": "Vérifiez si votre minuteur haute résolution fonctionne.",
"tests_timer_label": "Minuteur haute résolution",
"category_inputs": "Entrées",
"category_outputs": "Sorties",
"category_audio": "Audio",
"category_video": "Vidéo",
"category_control": "Contrôle",
"category_misc": "Divers",
"noTestsFound": "Aucun test trouvé.",
"camera_title": "Test de la caméra",
"camera_device": "Appareil",
"camera_noCameraFound": "Aucune caméra trouvée",
"camera_refresh": "Actualiser",
"camera_resolution": "Résolution",
"camera_frameRate": "Fréquence d'images",
"camera_noCameraSelected": "Aucune caméra sélectionnée",
"camera_takePicture": "Prendre une photo",
"camera_unflipImage": "Retourner l'image",
"camera_flipImage": "Inverser l'image",
"camera_closeSnapshot": "Fermer l'instantané",
"audio_channel_frontLeft": "Avant gauche",
"audio_channel_frontCenter": "Avant centre",
"audio_channel_frontRight": "Avant droit",
"audio_channel_sideLeft": "Côté gauche",
"audio_channel_sideRight": "Côté droit",
"audio_channel_rearLeft": "Arrière gauche",
"audio_channel_rearRight": "Arrière droit",
"audio_channel_lfe": "LFE",
"gamepad_title": "Tests de manette de jeu et de joystick",
"gamepad_device": "Appareil",
"gamepad_noGamepadsDetected": "Aucune manette de jeu détectée. (Essayez d'appuyer sur un bouton)",
"gamepad_refresh": "Actualiser",
"gamepad_buttons": "Boutons",
"gamepad_axes": "Axes",
"gamepad_history": "Historique",
"audio_channelTests": "Tests de canaux",
"audio_stereo": "Stéréo",
"audio_surroundAudio": "Audio surround",
"audio_surround51": "Surround 5.1",
"audio_surround71": "Surround 7.1",
"audio_phaseTest": "Test de phase",
"audio_frequency": "Fréquence",
"audio_inPhase": "En phase",
"audio_outOfPhase": "Hors phase",
"audio_stop": "Arrêter",
"screenInfo_screenResolution": "Résolution de l'écran",
"screenInfo_windowResolution": "Résolution de la fenêtre",
"screenInfo_devicePixelRatio": "Ratio de pixels de l'appareil",
"audio_channel_left": "Gauche",
"audio_channel_center": "Centre",
"audio_channel_right": "Droite",
"keyboard_title": "Test du clavier",
"keyboard_instruction": "Appuyez sur une touche du clavier pour voir l'objet événement et le code de la touche.",
"keyboard_pressedKeys": "Touches enfoncées :",
"timer_title": "Minuteur haute résolution",
"timer_fps": "FPS",
"timer_restart": "Redémarrer",
"audio_stopCycling": "Arrêter le cycle",
"audio_cycleThrough": "Parcourir",
"common_back": "Retour",
"audio_title": "Test audio",
"avSync_title": "Synchronisation Audio/Vidéo",
"internet_title": "Vitesse Internet"
}

87
messages/ja.json Normal file
View file

@ -0,0 +1,87 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"search": "検索",
"tests_audio_description": "ステレオチャンネルまたはサラウンドオーディオ出力を確認し、スピーカーが同相であるかを確認します。",
"tests_audio_label": "オーディオ",
"tests_av-sync_description": "オーディオとビデオが同期しているかを確認し、遅延を測定します。",
"tests_av-sync_label": "オーディオ/ビデオ同期",
"tests_card_description": "ディスプレイまたはプロジェクターのテストカード、色、解像度、ジオメトリを確認します。",
"tests_card_label": "カード",
"tests_camera_description": "ウェブカメラまたはキャプチャデバイスが動作しているか、画質、解像度、フレームレートを確認します。スナップショットを撮ります。",
"tests_camera_label": "カメラ",
"tests_gamepad_description": "ゲームパッドをテストし、動作、すべてのボタンとジョイスティック、スティックのドリフト、デッドゾーン、キャリブレーションを確認します。",
"tests_gamepad_label": "ゲームパッド",
"tests_keyboard_description": "すべてのキーが機能しているかと、それらが送信するキーコードを確認します。",
"tests_keyboard_label": "キーボード",
"tests_microphone_description": "マイクが機能しているか、品質、音量、ノイズを確認します。",
"tests_microphone_label": "マイク",
"tests_mouse_description": "マウスまたはタッチデバイスが正しく機能しているか、デッドゾーンやジッターがないかを確認します。",
"tests_mouse_label": "マウス",
"tests_sensors_description": "デバイスのセンサーGPS、加速度計、ジャイロスコープ、コンパスなどの出力を確認します。",
"tests_sensors_label": "センサー",
"tests_internet_description": "インターネットの速度と遅延を測定します。",
"tests_internet_label": "インターネット速度",
"tests_timer_description": "高解像度タイマーが機能しているかを確認します。",
"tests_timer_label": "高解像度タイマー",
"category_inputs": "入力",
"category_outputs": "出力",
"category_audio": "オーディオ",
"category_video": "ビデオ",
"category_control": "コントロール",
"category_misc": "その他",
"noTestsFound": "テストが見つかりません。",
"camera_title": "カメラテスト",
"camera_device": "デバイス",
"camera_noCameraFound": "カメラが見つかりません",
"camera_refresh": "更新",
"camera_resolution": "解像度",
"camera_frameRate": "フレームレート",
"camera_noCameraSelected": "カメラが選択されていません",
"camera_takePicture": "写真を撮る",
"camera_unflipImage": "画像の反転を元に戻す",
"camera_flipImage": "画像を反転",
"camera_closeSnapshot": "スナップショットを閉じる",
"audio_channel_frontLeft": "フロント左",
"audio_channel_frontCenter": "フロントセンター",
"audio_channel_frontRight": "フロント右",
"audio_channel_sideLeft": "サイド左",
"audio_channel_sideRight": "サイド右",
"audio_channel_rearLeft": "リア左",
"audio_channel_rearRight": "リア右",
"audio_channel_lfe": "LFE",
"gamepad_title": "ゲームパッドとジョイスティックのテスト",
"gamepad_device": "デバイス",
"gamepad_noGamepadsDetected": "ゲームパッドが検出されません。(ボタンを押してみてください)",
"gamepad_refresh": "更新",
"gamepad_buttons": "ボタン",
"gamepad_axes": "軸",
"gamepad_history": "履歴",
"audio_channelTests": "チャンネルテスト",
"audio_stereo": "ステレオ",
"audio_surroundAudio": "サラウンドオーディオ",
"audio_surround51": "5.1サラウンド",
"audio_surround71": "7.1サラウンド",
"audio_phaseTest": "フェーズテスト",
"audio_frequency": "周波数",
"audio_inPhase": "同相",
"audio_outOfPhase": "逆相",
"audio_stop": "停止",
"screenInfo_screenResolution": "画面解像度",
"screenInfo_windowResolution": "ウィンドウ解像度",
"screenInfo_devicePixelRatio": "デバイスピクセル比",
"audio_channel_left": "左",
"audio_channel_center": "中央",
"audio_channel_right": "右",
"keyboard_title": "キーボードテスト",
"keyboard_instruction": "キーボードのキーを押して、イベントオブジェクトとキーコードを確認します。",
"keyboard_pressedKeys": "押されたキー:",
"timer_title": "高解像度タイマー",
"timer_fps": "FPS",
"timer_restart": "再起動",
"audio_stopCycling": "サイクリングを停止",
"audio_cycleThrough": "サイクルスルー",
"common_back": "戻る",
"audio_title": "オーディオテスト",
"avSync_title": "オーディオ/ビデオ同期",
"internet_title": "インターネット速度"
}

87
messages/ukr.json Normal file
View file

@ -0,0 +1,87 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"search": "Пошук",
"tests_audio_description": "Перевірте свої стереоканали або об'ємний аудіовихід, перевірте, чи ваші динаміки у фазі.",
"tests_audio_label": "Аудіо",
"tests_av-sync_description": "Перевірте, чи синхронізовані аудіо та відео, та виміряйте затримку.",
"tests_av-sync_label": "Синхронізація аудіо/відео",
"tests_card_description": "Тестова картка для вашого дисплея або проектора, перевірте кольори, роздільну здатність та геометрію.",
"tests_card_label": "Картка",
"tests_camera_description": "Перевірте, чи працює ваша веб-камера або пристрій захоплення, її якість зображення, роздільну здатність та частоту кадрів. Зробіть знімок.",
"tests_camera_label": "Камера",
"tests_gamepad_description": "Перевірте свій геймпад, перевірте, чи він працює, всі кнопки та джойстики, дрейф стіків, мертві зони та калібрування.",
"tests_gamepad_label": "Геймпад",
"tests_keyboard_description": "Перевірте, чи всі клавіші працюють і які коди клавіш вони надсилають.",
"tests_keyboard_label": "Клавіатура",
"tests_microphone_description": "Перевірте, чи працює ваш мікрофон, його якість, гучність та шум.",
"tests_microphone_label": "Мікрофон",
"tests_mouse_description": "Перевірте, чи правильно працює ваша миша або сенсорний пристрій, чи є мертві зони або тремтіння.",
"tests_mouse_label": "Миша",
"tests_sensors_description": "Перегляньте вивід датчиків вашого пристрою, наприклад, GPS, акселерометр, гіроскоп, компас тощо.",
"tests_sensors_label": "Датчики",
"tests_internet_description": "Виміряйте швидкість та затримку вашого Інтернету.",
"tests_internet_label": "Швидкість Інтернету",
"tests_timer_description": "Перевірте, чи працює ваш таймер високої роздільної здатності.",
"tests_timer_label": "Таймер високої роздільної здатності",
"category_inputs": "Входи",
"category_outputs": "Виходи",
"category_audio": "Аудіо",
"category_video": "Відео",
"category_control": "Управління",
"category_misc": "Різне",
"noTestsFound": "Тестів не знайдено.",
"camera_title": "Тест камери",
"camera_device": "Пристрій",
"camera_noCameraFound": "Камеру не знайдено",
"camera_refresh": "Оновити",
"camera_resolution": "Роздільна здатність",
"camera_frameRate": "Частота кадрів",
"camera_noCameraSelected": "Камеру не вибрано",
"camera_takePicture": "Зробити знімок",
"camera_unflipImage": "Повернути зображення",
"camera_flipImage": "Перевернути зображення",
"camera_closeSnapshot": "Закрити знімок",
"audio_channel_frontLeft": "Передній лівий",
"audio_channel_frontCenter": "Передній центральний",
"audio_channel_frontRight": "Передній правий",
"audio_channel_sideLeft": "Бічний лівий",
"audio_channel_sideRight": "Бічний правий",
"audio_channel_rearLeft": "Задній лівий",
"audio_channel_rearRight": "Задній правий",
"audio_channel_lfe": "LFE",
"gamepad_title": "Тести геймпада та джойстика",
"gamepad_device": "Пристрій",
"gamepad_noGamepadsDetected": "Геймпади не виявлено. (Спробуйте натиснути кнопку)",
"gamepad_refresh": "Оновити",
"gamepad_buttons": "Кнопки",
"gamepad_axes": "Осі",
"gamepad_history": "Історія",
"audio_channelTests": "Тести каналів",
"audio_stereo": "Стерео",
"audio_surroundAudio": "Об'ємний звук",
"audio_surround51": "5.1 Об'ємний",
"audio_surround71": "7.1 Об'ємний",
"audio_phaseTest": "Тест фази",
"audio_frequency": "Частота",
"audio_inPhase": "У фазі",
"audio_outOfPhase": "Поза фазою",
"audio_stop": "Зупинити",
"screenInfo_screenResolution": "Роздільна здатність екрана",
"screenInfo_windowResolution": "Роздільна здатність вікна",
"screenInfo_devicePixelRatio": "Співвідношення пікселів пристрою",
"audio_channel_left": "Лівий",
"audio_channel_center": "Центр",
"audio_channel_right": "Правий",
"keyboard_title": "Тест клавіатури",
"keyboard_instruction": "Натисніть клавішу на клавіатурі, щоб побачити об'єкт події та код клавіші.",
"keyboard_pressedKeys": "Натиснуті клавіші:",
"timer_title": "Таймер високої роздільної здатності",
"timer_fps": "FPS",
"timer_restart": "Перезапустити",
"audio_stopCycling": "Зупинити цикл",
"audio_cycleThrough": "Перебирати",
"common_back": "Назад",
"audio_title": "Тест аудіо",
"avSync_title": "Синхронізація аудіо/відео",
"internet_title": "Швидкість Інтернету"
}

87
messages/zh-CN.json Normal file
View file

@ -0,0 +1,87 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"search": "搜索",
"tests_audio_description": "检查您的立体声通道或环绕声音频输出,验证您的扬声器是否同相。",
"tests_audio_label": "音频",
"tests_av-sync_description": "检查您的音频和视频是否同步,并测量延迟。",
"tests_av-sync_label": "音视频同步",
"tests_card_description": "用于您的显示器或投影仪的测试卡,检查颜色、分辨率和几何形状。",
"tests_card_label": "测试卡",
"tests_camera_description": "检查您的网络摄像头或采集设备是否正常工作,其图像质量、分辨率和帧率。拍摄快照。",
"tests_camera_label": "摄像头",
"tests_gamepad_description": "测试您的游戏手柄,检查其是否正常工作,所有按钮和摇杆,摇杆漂移,死区和校准。",
"tests_gamepad_label": "游戏手柄",
"tests_keyboard_description": "检查所有按键是否正常工作以及它们发送的键码。",
"tests_keyboard_label": "键盘",
"tests_microphone_description": "检查您的麦克风是否正常工作,其质量、音量和噪音。",
"tests_microphone_label": "麦克风",
"tests_mouse_description": "检查您的鼠标或触摸设备是否正常工作,是否存在死区或抖动。",
"tests_mouse_label": "鼠标",
"tests_sensors_description": "查看您设备的传感器输出例如GPS、加速度计、陀螺仪、指南针等。",
"tests_sensors_label": "传感器",
"tests_internet_description": "测量您的互联网速度和延迟。",
"tests_internet_label": "网速",
"tests_timer_description": "检查您的高分辨率计时器是否正常工作。",
"tests_timer_label": "高分辨率计时器",
"category_inputs": "输入",
"category_outputs": "输出",
"category_audio": "音频",
"category_video": "视频",
"category_control": "控制",
"category_misc": "杂项",
"noTestsFound": "未找到测试。",
"camera_title": "摄像头测试",
"camera_device": "设备",
"camera_noCameraFound": "未找到摄像头",
"camera_refresh": "刷新",
"camera_resolution": "分辨率",
"camera_frameRate": "帧率",
"camera_noCameraSelected": "未选择摄像头",
"camera_takePicture": "拍照",
"camera_unflipImage": "取消翻转图像",
"camera_flipImage": "翻转图像",
"camera_closeSnapshot": "关闭快照",
"audio_channel_frontLeft": "左前置",
"audio_channel_frontCenter": "中前置",
"audio_channel_frontRight": "右前置",
"audio_channel_sideLeft": "左侧",
"audio_channel_sideRight": "右侧",
"audio_channel_rearLeft": "左后置",
"audio_channel_rearRight": "右后置",
"audio_channel_lfe": "LFE",
"gamepad_title": "游戏手柄和摇杆测试",
"gamepad_device": "设备",
"gamepad_noGamepadsDetected": "未检测到游戏手柄。(请尝试按下一个按钮)",
"gamepad_refresh": "刷新",
"gamepad_buttons": "按钮",
"gamepad_axes": "轴",
"gamepad_history": "历史",
"audio_channelTests": "声道测试",
"audio_stereo": "立体声",
"audio_surroundAudio": "环绕声",
"audio_surround51": "5.1环绕声",
"audio_surround71": "7.1环绕声",
"audio_phaseTest": "相位测试",
"audio_frequency": "频率",
"audio_inPhase": "同相",
"audio_outOfPhase": "异相",
"audio_stop": "停止",
"screenInfo_screenResolution": "屏幕分辨率",
"screenInfo_windowResolution": "窗口分辨率",
"screenInfo_devicePixelRatio": "设备像素比",
"audio_channel_left": "左",
"audio_channel_center": "中",
"audio_channel_right": "右",
"keyboard_title": "键盘测试",
"keyboard_instruction": "按键盘上的一个键以查看事件对象和键码。",
"keyboard_pressedKeys": "按下的键:",
"timer_title": "高分辨率计时器",
"timer_fps": "FPS",
"timer_restart": "重新开始",
"audio_stopCycling": "停止循环",
"audio_cycleThrough": "循环浏览",
"common_back": "返回",
"audio_title": "音频测试",
"avSync_title": "音视频同步",
"internet_title": "网速"
}

View file

@ -8,5 +8,6 @@
"pathPattern": "./messages/{locale}.json" "pathPattern": "./messages/{locale}.json"
}, },
"baseLocale": "en", "baseLocale": "en",
"locales": ["en"] "locales": ["en", "es", "fr", "de", "zh-CN", "ja", "cs", "ukr"],
"strategy": ["localStorage", "preferredLanguage", "baseLocale"]
} }

View file

@ -4,8 +4,10 @@
import { version } from '../../../package.json'; import { version } from '../../../package.json';
import type { Snapshot } from '@sveltejs/kit'; import type { Snapshot } from '@sveltejs/kit';
import { fade } from 'svelte/transition'; import { fade } from 'svelte/transition';
import { onMount } from 'svelte';
const buildDate = import.meta.env.VITE_BUILD_DATE || '???'; const buildDate = import.meta.env.VITE_BUILD_DATE || '???';
import { m } from '$lib/paraglide/messages.js'; import { m } from '$lib/paraglide/messages.js';
import { setLocale } from '$lib/paraglide/runtime';
let search = $state(''); let search = $state('');
@ -167,10 +169,50 @@
search = restoredSearch; search = restoredSearch;
} }
}; };
// Locale selection (cookie-based persistence)
type LocaleOption = { tag: string; native: string };
const locales = [
{ tag: 'en', native: 'English' },
{ tag: 'es', native: 'Español' },
{ tag: 'fr', native: 'Français' },
{ tag: 'de', native: 'Deutsch' },
{ tag: 'zh-CN', native: '简体中文' },
{ tag: 'ja', native: '日本語' },
{ tag: 'cs', native: 'Čeština' },
{ tag: 'ukr', native: 'Українська' }
] as const satisfies LocaleOption[];
type Locale = (typeof locales)[number]['tag'];
let selectedLang = $state('en');
onMount(() => {
const current = document.documentElement.getAttribute('lang') || selectedLang;
selectedLang = locales.some((l) => l.tag === current) ? current : selectedLang;
});
function changeLocale(tag: string) {
if (locales.some((l) => l.tag === tag)) {
setLocale(tag as Locale);
}
}
</script> </script>
<h1>Total Tech Test</h1> <h1>Total Tech Test</h1>
<div class="locale-select">
<label for="locale-picker"><i class="ti ti-language"></i></label>
<select
id="locale-picker"
bind:value={selectedLang}
onchange={(e) => changeLocale((e.target as HTMLSelectElement).value)}
>
{#each locales as l}
<option value={l.tag}>{l.native}</option>
{/each}
</select>
</div>
<nav> <nav>
<!-- svelte-ignore a11y_autofocus --> <!-- svelte-ignore a11y_autofocus -->
<input type="search" placeholder={m.search()} bind:value={search} autofocus /> <input type="search" placeholder={m.search()} bind:value={search} autofocus />
@ -309,6 +351,30 @@
} }
} }
.locale-select {
display: inline-flex;
align-items: center;
gap: 0.5rem;
align-self: flex-end;
position: absolute;
right: 1rem;
top: 1rem;
opacity: 0.5;
transition: opacity 0.2s ease-in-out;
}
.locale-select:hover {
opacity: 1;
}
.locale-select select {
background: rgba(255, 255, 255, 0.08);
color: inherit;
border: 1px solid currentColor;
padding: 0.25rem 0.5rem;
border-radius: 0.25rem;
}
.test { .test {
display: grid; display: grid;
grid-template-columns: auto 1fr; grid-template-columns: auto 1fr;