Compare commits

...

241 Commits

Author SHA1 Message Date
Erimel
01274de2f5 update todo comment 2024-05-31 20:46:45 -04:00
Erimel
435834a445 fix logic 2024-05-31 20:40:10 -04:00
Erimel
b64dd256f3 wip 2024-05-30 21:48:49 -04:00
Uriel
e2a511b552 fix erimel breaking codeowners (#1032) 2024-05-14 18:17:43 +03:00
Uriel
2d55672f0a fix macOS bundling action (#1015) 2024-04-30 00:28:25 +03:00
Ondrej Hruska
74ee8211a3 GUI - Fix condition for promise detection in a11y (#1016) 2024-04-29 18:21:29 -03:00
Erimel
18fcb80d4c don't toggle trackers if tracking is paused (#1013) 2024-04-29 13:56:24 -03:00
Ilia Ki
046be5f5e7 Fix the HID decoding, replace Q14 with Q15, optimize (#1000) 2024-04-29 10:13:59 -03:00
sctanf
91a31b399d Change usb enumeration to only specific Vid/Pid (#1012) 2024-04-28 20:50:00 -03:00
Ilia Ki
6d014912c4 Add more compact bundle protocol (#999) 2024-04-28 12:33:10 -03:00
Ilia Ki
8c0c3d1053 UDPPacket23RotationAndAcceleration: Switch x and y around to adjust for different axes (#1007) 2024-04-27 11:46:17 -03:00
Uriel
24f2895238 New Pontoon translations (#914) 2024-04-23 23:56:55 -03:00
timovandegriend
c901d80915 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: timovandegriend <timovandegriend@gmail.com>
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2024-04-23 22:48:23 -03:00
nekomona
8b52d0f135 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: nekomona <nekomona@163.com>
2024-04-23 22:48:23 -03:00
Meow Wei
3d88dcd974 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2024-04-23 22:48:23 -03:00
Kaiera huzu
9041b4c35e Pontoon: Update Thai (th) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Kaiera huzu <patsakorn9090@gmail.com>
2024-04-23 22:48:23 -03:00
Clay
804ca64d29 Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Clay <code.clayt@gmail.com>
Co-authored-by: kanava <creedfqr@gmail.com>
Co-authored-by: SummerArtz <summerpzmail@gmail.com>
Co-authored-by: Hornil <vixlyaev@gmail.com>
2024-04-23 22:48:23 -03:00
Tailsy
530315ff06 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
Co-authored-by: MenacingExiler <menacingexiler@gmail.com>
Co-authored-by: PlFarmer <pufat.pasztecik@gmail.com>
Co-authored-by: Tailsy <przemyslaw.romaniak@intel.com>
2024-04-23 22:48:23 -03:00
MaxEvil
86b3aec926 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: MaxEvil <xicovalle@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2024-04-23 22:48:23 -03:00
Pesky12
7f920c1db3 Pontoon: Update Czech (cs) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Pesky12 <avianearts@gmail.com>
2024-04-23 22:48:23 -03:00
Erimel
369a3496ec Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2024-04-23 22:48:23 -03:00
白貓
55af27e59e Pontoon: Update Japanese (ja) localization of GUI
Co-authored-by: 白貓 <yen.max@gmail.com>
Co-authored-by: coin_battery <coin_battery@ichigo-tosuta.sakura.ne.jp>
2024-04-23 22:48:23 -03:00
Mama-Gen
eade92acee Pontoon: Update Brazilian Portuguese (pt-BR) localization of GUI
Co-authored-by: Mama-Gen <tiodapamonha145@gmail.com>
Co-authored-by: Gaabbu <gabrielsonada@outlook.com.br>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2024-04-23 22:48:23 -03:00
Iris
923e203f1c Pontoon: Update Finnish (fi) localization of GUI
Co-authored-by: siofrain <maradaichides@gmail.com>
Co-authored-by: Iris <vakotoneva@gmail.com>
2024-04-23 22:48:23 -03:00
Kamilake
f252e602bc Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Kamilake <exjang0@gmail.com>
Co-authored-by: infopcgood <sshs_student_412@outlook.kr>
2024-04-23 22:48:23 -03:00
namakeingo
abeedf2a87 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: Etch9 <mario.mazzara30@gmail.com>
2024-04-23 22:48:23 -03:00
Louie365
dec1091587 Pontoon: Update Spain Spanish (es-ES) localization of GUI
Co-authored-by: Louie365 <alexibiza123@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Luna <lunastarletvr@gmail.com>
Co-authored-by: Danielle <controltab3@gmail.com>
Co-authored-by: Iván <ivanbogdasaebersold@live.com.ar>
2024-04-23 22:48:23 -03:00
MenacingExiler
9ca6d54d25 Pontoon: Update Vietnamese (vi) localization of GUI
Co-authored-by: MenacingExiler <menacingexiler@gmail.com>
2024-04-23 22:48:23 -03:00
FennT
eb362c135b Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: Modrnaklob <hamzah.jubran@hotmail.com>
Co-authored-by: FennT <0094falcon@gmail.com>
2024-04-23 22:48:23 -03:00
unlogisch
a75aa8cd78 Pontoon: Update German (de) localization of GUI
Co-authored-by: Zahnatom <zahnatomletsplay@gmail.com>
Co-authored-by: Piranja <info@hollihn.ch>
Co-authored-by: unlogisch <unlogisch@gmx.ch>
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
2024-04-23 22:48:13 -03:00
Uriel
6896f9f3e2 Update Github action versions to non-deprecated ones (#1005) 2024-04-22 22:18:33 +03:00
Uriel
827e2ceef8 update hid4java to 0.8 (#992)
Co-authored-by: sctanf <36978460+sctanf@users.noreply.github.com>
2024-04-21 19:31:28 -03:00
Ilia Ki
ae4391bff1 Add compact IMU frame (rot+acc) (#1001) 2024-04-21 20:22:38 +03:00
Uriel
be76cd1b6f Check if saved window size is at least the minimum allowed (#993) 2024-04-21 18:59:32 +03:00
abb128
884424c7b4 Fix missing space in BVH (#996) 2024-04-21 12:49:39 -03:00
Ilia Ki
e0d3224393 Support Datagrams up to 1472 bytes (#998) 2024-04-21 17:05:40 +03:00
Uriel
fde8ccd821 fix GUI visual bugs in autobone (#985) 2024-04-14 01:58:19 -03:00
Uriel
ed9a590296 fix permission issue on export proportions (#987) 2024-04-14 01:42:09 -03:00
Uriel
4f1d333f38 assign knee when hasFoot for SteamVR (#986) 2024-04-13 20:37:27 -03:00
Uriel
ce6940dd39 dont prefix v on versions (#988) 2024-04-13 18:48:15 -03:00
Uriel
c3d97a9463 Add support for left/right steamvr toggles (#982) 2024-04-09 17:54:48 -03:00
Uriel
bcf66145c2 Make only search bar keybinds be prevented (#981) 2024-04-09 17:38:30 -03:00
Uriel
cfd7bc366e Revert packages that are broken (#980) 2024-04-09 17:20:09 -03:00
Uriel
f9c077e78b Remove default keybind behavior in browser window (#979) 2024-04-05 20:45:50 -03:00
Uriel
5471f5ec40 Fix hands warning button styling (#978) 2024-04-05 19:51:58 -03:00
Uriel
b639523228 fix windows bundling not working (#976) 2024-04-05 18:12:59 +03:00
Uriel
b310cf0e0e Fix tauri permission issues (#977) 2024-04-04 23:11:30 -03:00
Erimel
7df8c5d858 Add toggle to save and load mounting reset (#963) 2024-04-04 19:53:37 -04:00
Uriel
78caab1cd4 Update to latest GUI dependencies (#905) 2024-04-04 16:22:51 -03:00
nekomona
be9166881a Add Yaw Reset Smoothing (#964)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2024-04-03 22:22:59 -04:00
Uriel
29442688d4 Update SolarXR to main branch (#973) 2024-03-31 21:16:24 +03:00
Uriel
fc5f3c1a35 Add network protocol version (#972) 2024-03-31 21:04:28 +03:00
Uriel
8a88721924 fix onboarding tracker connect description key (#968) 2024-03-29 23:53:12 -03:00
Uriel
1aa8679c08 fix known devices not saving (#969) 2024-03-29 22:38:20 -04:00
Uriel
3d51d77e27 Make ktmath object-less (#959) 2024-03-29 01:26:56 -03:00
Uriel
8c74e98187 Automatic SteamVR tracker switching (#947) 2024-03-29 00:57:05 -03:00
Uriel
aefaa6598d Use tauri store for GUI config (#923) 2024-03-28 11:53:46 -03:00
Erimel
f391b558c9 Tpose down fix (#967) 2024-03-28 03:17:08 -03:00
Uriel
ea28baeef9 Improve autobone GUI steps (#960) 2024-03-28 03:09:16 -03:00
Butterscotch!
f5f40f496b Make mounting reset follow headset rotation (#953) 2024-03-25 22:56:34 -03:00
ZRock35
297022fb3f Connect one tracker at a time text adjustment (#965)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
Co-authored-by: Uriel <imurx@proton.me>
2024-03-23 20:46:17 -04:00
Uriel
f402b22d74 Allow multiple servers in the same network (#900)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2024-03-14 21:42:49 -03:00
Uriel
a8557474cb Update Kotlin and gradle plugins (#957) 2024-03-14 23:00:38 +03:00
Uriel
d53de4a793 Fix macOS bundling giving an error (#943) 2024-03-14 22:53:50 +03:00
Butterscotch!
81aacdde83 Fix NaN rotation on reset with a zero quaternion (#950) 2024-03-14 16:02:37 -03:00
Butterscotch!
762290b1e3 fastSeek is not available on most browsers, use currentTime (#954) 2024-03-14 15:58:52 -03:00
Uriel
3425be64ac Fix state bug on tray exit (#944) 2024-03-13 20:08:24 -03:00
Uriel
673344baf9 Add an error boundary for WebGL (#942) 2024-03-13 18:45:54 -03:00
sctanf
ee7d6a8bc0 Sleep if no HID device present (#956) 2024-03-09 19:28:36 -03:00
sctanf
552451cb98 Remove changing acceleration space in hid tracker (#945) 2024-02-19 22:34:57 -03:00
unlogisch04
a74d5aa273 Add Serial Console Wifi Scan (#930) 2024-02-16 19:20:43 -03:00
Uriel
21576aff63 Migrate to pnpm (#893) 2024-02-16 15:52:44 -03:00
Uriel
908e220b23 Fixing small bugs (#924)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: ZRock35 <91239122+ZRock35@users.noreply.github.com>
2024-02-16 01:52:14 -03:00
Erimel
7d0d64418d move biAlign into Quaternion.kt (#940) 2024-02-16 01:00:19 -03:00
Butterscotch!
f80ca11947 Add pause tracking toggle to user action packet (#922) 2024-02-15 21:40:57 -03:00
Markus
7f75f4a44c allow to set the socket dir via SLIMEVR_SOCKET_DIR (#909) 2024-02-15 21:33:55 -03:00
Butterscotch!
1dd1d14d16 Change mounting position/rotation/direction to mounting orientation (#939) 2024-02-15 21:28:59 -03:00
Erimel
d3f90b8404 show drift compensation in tracker preview (#937) 2024-02-15 21:23:54 -03:00
Uriel
d9955d10e3 Add tray support (#897)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2024-02-09 21:44:28 -03:00
Uriel
a9b1df8851 Update appstream metadata info (#892) 2024-02-09 21:20:53 -03:00
Uriel
7b04f536d0 Remove Futura from CODEOWNERS (#935)
Co-authored-by: Eiren Rain <Eirenliel@users.noreply.github.com>
2024-02-07 23:19:44 +03:00
Uriel
fcef02e8f2 Add linux files for CODEOWNERS (#936) 2024-02-07 23:18:27 +03:00
Erimel
694d3fa363 don't send packets of bones we don't have (#932) 2024-02-04 22:00:20 -03:00
sctanf
3f6a26f7d8 Add initial HID trackers support (#913)
Co-authored-by: Uriel <imurx@proton.me>
2024-01-31 22:11:24 -03:00
unlogisch04
990cd1d6f2 Update FirmwareConstants.kt (#927)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2024-01-31 18:28:07 -03:00
Uriel
6ac320352b Update CODEOWNERS for SolarXR (#928) 2024-01-29 19:52:41 +03:00
Erimel
ae1b60da5d Prevent smoothing rollback (#921) 2024-01-06 23:46:38 -05:00
VocalFan
aaa5c2ba48 Complete TODO of replacing quatToXyzAngles with toEulerAngles (#915)
Co-authored-by: Erimel <loukalemire@gmail.com>
2024-01-06 23:39:43 -05:00
Erimel
5ff5f81a88 New Pontoon translations (#912) 2023-12-21 19:29:06 -05:00
Kamilake
99f71088ec Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-12-21 21:23:46 -03:00
eric.voigt.1
fcdcac1ed2 Pontoon: Update German (de) localization of GUI
Co-authored-by: eric.voigt.1 <eric.voigt.1@web.de>
Co-authored-by: Ise_Kaey <kaey87@gmail.com>
Co-authored-by: Yasu3D <l.frisan31@gmail.com>
Co-authored-by: Piranja <info@hollihn.ch>
Co-authored-by: unlogisch <unlogisch@gmx.ch>
Co-authored-by: Ninsbean <janina.uhl@outlook.com>
Co-authored-by: Levi <levi1532@duck.com>
2023-12-21 21:22:59 -03:00
Allan
37b57bea1f Pontoon: Update Vietnamese (vi) localization of GUI
Co-authored-by: Allan <playwithken@gmail.com>
2023-12-21 21:22:59 -03:00
namakeingo
77285787ec Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: riccardomariatassan <riccardomariatassan@gmail.com>
2023-12-21 21:22:54 -03:00
Vyolex
2f5d2b214e Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
Co-authored-by: Smeltie <martijnklerks123@gmail.com>
2023-12-21 21:22:51 -03:00
Meow Wei
319344254d Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-12-21 21:22:50 -03:00
MaxEvil
86011f323b Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: MaxEvil <xicovalle@gmail.com>
2023-12-21 21:22:50 -03:00
Butterscotch!
f9a8384369 Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-12-21 21:22:46 -03:00
Erimel
90ced8cacf Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-12-19 05:00:09 +00:00
Uriel
8253110130 decrease amount of retries to 1 in serial provisioning (#911) 2023-12-17 04:21:17 -03:00
Uriel
563713e788 New Pontoon translations (#904) 2023-12-16 01:22:55 -03:00
Meow Wei
93c319ce68 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-12-15 23:40:28 -03:00
Meow Wei
abaf8a19ae Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-12-15 23:40:28 -03:00
Mama-Gen
49becc4f08 Pontoon: Update Portuguese (pt-BR) localization of GUI
Co-authored-by: Mama-Gen <tiodapamonha145@gmail.com>
2023-12-15 23:40:28 -03:00
ReDoX
24f6fdacae Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: ReDoX <redox01@o2.pl>
2023-12-15 23:40:28 -03:00
qHiyokop
c54b0d4044 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: qHiyokop <isaac.pulcini@hotmail.it>
Co-authored-by: Etch9 <mario.mazzara30@gmail.com>
2023-12-15 23:40:23 -03:00
Iris
bec4d74ccf Pontoon: Update Finnish (fi) localization of GUI
Co-authored-by: Iris <vakotoneva@gmail.com>
2023-12-15 23:40:19 -03:00
adriangoldenhero
583629d8e0 Pontoon: Update Spain Spanish (es-ES) localization of GUI
Co-authored-by: adriangoldenhero <adriangoldenhero@gmail.com>
2023-12-15 23:40:19 -03:00
Uriel
60535bda30 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-12-15 23:40:19 -03:00
Ise_Kaey
3675213820 Pontoon: Update German (de) localization of GUI
Co-authored-by: Ise_Kaey <kaey87@gmail.com>
Co-authored-by: Zeidurth <github@zeidurth.de>
Co-authored-by: Ninsbean <janina.uhl@outlook.com>
Co-authored-by: Piranja <info@hollihn.ch>
Co-authored-by: unlogisch <unlogisch@gmx.ch>
2023-12-15 23:40:05 -03:00
infopcgood
900a5d30f7 Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: infopcgood <sshs_student_412@outlook.kr>
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-12-15 23:39:59 -03:00
Butterscotch!
4d21b61549 Clarify headset wording and update AutoBone requirements (#910) 2023-12-15 17:19:00 -05:00
Uriel
c3c7fc896c Add reboot retries when trying to connect to WiFi (#907) 2023-12-08 16:09:20 -03:00
Uriel
c3b4727017 Add a TrackerStatus.TIMED_OUT for temporal timeouts (#903) 2023-12-08 20:31:42 +03:00
Ryan Butler
99d0756997 change codeowners (#908) 2023-11-29 22:55:18 +03:00
Uriel
ff218488a7 better checks for tracker id on tracker error (#901) 2023-11-19 13:17:32 -03:00
Butterscotch!
8fa535d8b8 Separate scale from proportions in AutoBone (#846) 2023-11-19 12:50:27 -03:00
Uriel
d2a9a21b8f Add default mounting orientation for certain body parts (#898) 2023-11-19 00:40:04 -03:00
lucas lelievre
2dbc25b529 Android serial (#888) 2023-11-18 18:32:41 -03:00
Butterscotch!
eefe7efbfa Add pause tracking keybind & protobuf command (#867) 2023-11-18 14:10:50 -03:00
Butterscotch!
25bd05082c Don't set all trackers to "ok" on device reconnect (#883) 2023-11-18 01:06:21 -03:00
Uriel
cc5bd5d938 Try forcing manual mounting on setup (#852)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2023-11-12 01:48:01 -03:00
Uriel
751c2e2f3b Fix the connected tracker modal not having it's config saved (#896) 2023-11-12 00:27:12 -03:00
Erimel
59863fa7f3 New Pontoon translations (#868) 2023-11-07 19:55:25 -05:00
Erimel
82b5a74a4b Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-11-08 00:47:37 +00:00
Meow Wei
4079dee383 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-11-07 20:09:46 -03:00
imbluewisp
af69d94681 Pontoon: Update Spain Spanish (es-ES) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: imbluewisp <imbluewisp@gmail.com>
2023-11-07 20:09:46 -03:00
Uriel
923235aaee Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-11-07 20:09:42 -03:00
SlimeVR-bot
79eeca9c1c Pontoon: Update German (de) localization of GUI
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
2023-11-07 20:09:33 -03:00
Kamilake
335fe5edeb Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-11-04 18:04:23 +00:00
Smeltie
68c484b6c5 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Smeltie <martijnklerks123@gmail.com>
2023-11-04 18:04:23 +00:00
Uriel
70f4925b3e add android to release pipeline (#891) 2023-11-04 21:03:54 +03:00
Collin
3aa0587387 Kotlin leg tweaks (#809) 2023-11-03 19:57:18 -03:00
lucas lelievre
74c3f41867 Refactor of the dropdown component (#875) 2023-11-03 19:23:53 -03:00
lucas lelievre
a39c8c2018 Make button and typography children optional (#872) 2023-11-03 18:33:05 -03:00
lucas lelievre
4fa5c3f767 Fix VRMode not going back to home screen when resizing to desktop layout (#873) 2023-11-03 18:06:47 -03:00
lucas lelievre
71d271bfdb fix resize glitches (#874) 2023-11-03 16:59:54 -03:00
lucas lelievre
f1b3b56484 Refactor TrashIcon ArrowIcon and LoaderIcon (#876) 2023-11-03 16:44:04 -03:00
Uriel
a614c225da Fixed appearance on exit warning modal (#890) 2023-11-03 15:47:34 -03:00
lucas lelievre
8ae3ecc1b3 Add more colors to checkbox (#877) 2023-11-03 15:18:03 -03:00
lucas lelievre
e79c7ebf0e Add disabled state to Ratio, Fix typos and bad typing (#878) 2023-11-03 15:08:53 -03:00
lucas lelievre
3a50153980 Add errors and disabled state to Input (#879) 2023-11-03 14:50:51 -03:00
Uriel
d37466cf9f Skeleton preview (#817) 2023-11-03 14:29:19 -03:00
Uriel
029bd9da81 add android CI (#889) 2023-11-03 15:50:15 +03:00
Uriel
d3f323b438 add me to codeowners in settings parts of GUI (#885) 2023-11-03 15:49:52 +03:00
Uriel
ce4639bed0 fix nix not using toolchain version (#857) 2023-11-03 15:49:16 +03:00
Uriel
4ebd863580 Update tauri 2 (#858) 2023-11-03 15:48:52 +03:00
Éric Bonin
1fb32e8458 Prompt before closing SlimeVR when trackers are still connected (#862) 2023-11-02 23:46:28 -03:00
Butterscotch!
871ffa5571 Add new message from firmware for finding server (#870) 2023-11-02 23:22:56 -03:00
0forks
56b105697f Fix pipe crash when SteamVR fails to boot (#887) 2023-11-02 23:08:54 -03:00
0forks
3a0014db25 Fix 3d preview reset math (#881) 2023-11-01 14:15:12 -04:00
Erimel
c3d10f1407 Use Bones (#787)
Co-authored-by: ImUrX <urielfontan2002@gmail.com>
2023-10-19 17:42:48 +03:00
Uriel
a2bbe7097c Forgot the other task for git force (#861) 2023-09-29 22:56:41 +03:00
Uriel
415a07461e Force git tag fetching (#860) 2023-09-29 21:55:27 +03:00
Uriel
4bd31fb02f Only get first tag on build (#859) 2023-09-28 20:19:27 -04:00
Uriel
2bc50b2bc2 Add preload component (#854) 2023-09-26 07:42:34 -04:00
imgbot[bot]
e37b11844f [ImgBot] Optimize images (#838) 2023-09-25 18:39:08 -04:00
Butterscotch!
92f709e2f9 Track connection by socket address if HWID is unavailable (#851) 2023-09-25 00:45:29 -04:00
Butterscotch!
7fe3d82540 Fix NPE when tracking arms from controllers (#853) 2023-09-25 00:11:42 -04:00
Erimel
12b5461849 New Pontoon translations (#839) 2023-09-21 21:50:22 -04:00
Meow Wei
9b43f77c31 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-09-21 22:40:19 -03:00
Disappear9
d3fab10ea7 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Disappear9 <disappear9@outlook.com>
2023-09-21 22:40:19 -03:00
ReCluyem
de51497cee Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: ReCluyem <dim.golovaha@yandex.ru>
2023-09-21 22:40:19 -03:00
ReDoX
a19de94130 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-09-21 22:40:19 -03:00
Smeltie
e11b80c8e0 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Smeltie <martijnklerks123@gmail.com>
2023-09-21 22:40:11 -03:00
Erimel
9b3f9eccab Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-09-21 16:42:56 +00:00
namakeingo
3752a11f84 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
2023-09-21 16:42:56 +00:00
FennT
7c89185a40 Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-09-21 16:42:56 +00:00
MarcoM
4284e1f52c feat: use path-alias (#771) 2023-09-21 12:42:29 -04:00
Uriel
7a37773441 Fix RPCUtil not checking for the interface before looking for it (#849) 2023-09-20 02:27:29 -04:00
Erimel
4dc8ce979d Add _trackerNum to extensions' displaynames (#848)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-09-19 19:27:10 -04:00
Erimel
6a30da671d Filter out !isSiteLocalAddress from addresses (#847)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-09-17 21:23:37 -04:00
Butterscotch!
3f307605cc Android ByteBuffer and Color fixes (#842) 2023-09-15 22:37:46 -04:00
Erimel
185dc8d674 Fix foot tracker orientation (#843) 2023-09-14 19:46:47 +03:00
Erimel
55d6a01a4c Fix hash diplayName to not change (#841) 2023-09-14 19:46:11 +03:00
Louka Lemire
34f357572a Fix right foot skeleton offset (#840) 2023-09-03 19:09:52 -04:00
Uriel
1aaf01f2ca use devenv for nix develop (#830) 2023-09-03 02:25:56 +03:00
Erimel
bc5f9a17c4 Resets settings (#806) 2023-09-03 02:25:21 +03:00
Kitlith
7231f46804 Track connection by SocketAddress instead of IP address. (#753) 2023-09-03 01:12:55 +03:00
Butterscotch!
b467af8c46 Fix icons and add more & fill in web manifest (#835) 2023-09-03 01:12:06 +03:00
Erimel
4393a6f137 knee-ankle interpolation (#780)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-09-03 01:11:28 +03:00
Uriel
5d773a37ab Fix config shenanigans (#836) 2023-09-02 16:14:41 -04:00
Erimel
17306c1976 Make UDPPackets Floats safe (#832) 2023-09-02 16:02:02 -04:00
Uriel
6dfc8a8101 add import proportions button (#811) 2023-09-02 15:57:00 -04:00
Erimel
ac5a68d33d Convert HumanSkeleton to Kotlin (#783) 2023-08-31 19:19:45 -04:00
Uriel
f2d663c341 Update metainfo (#834) 2023-08-31 22:25:14 +03:00
Erimel
4cab877daa New Pontoon translations (#828) 2023-08-30 13:07:39 -04:00
Disappear9
71366b9d52 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Disappear9 <disappear9@outlook.com>
2023-08-30 13:44:30 -03:00
ReDoX
de2dee45e4 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-08-30 13:44:30 -03:00
Iris
522ec4c96a Pontoon: Update Finnish (fi) localization of GUI
Co-authored-by: Iris <vakotoneva@gmail.com>
2023-08-30 13:44:30 -03:00
FennT
dc2937bdb0 Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
Co-authored-by: xxlderichard <xxlderichard@gmail.com>
2023-08-30 13:44:25 -03:00
namakeingo
57aaf2e7ee Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
2023-08-30 13:44:25 -03:00
Butterscotch!
b30e4dadbe Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-08-30 13:44:25 -03:00
Meow Wei
9a5c694278 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-08-30 13:44:25 -03:00
ReCluyem
f6bad3f3de Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: ReCluyem <dim.golovaha@yandex.ru>
2023-08-30 13:44:25 -03:00
siofrain
5a4d1399b7 Pontoon: Update Finnish (fi) localization of GUI
Co-authored-by: siofrain <maradaichides@gmail.com>
2023-08-30 13:44:25 -03:00
mikk
7fc0c88331 Pontoon: Update Estonian (et) localization of GUI
Co-authored-by: mikk <mikk@mikkmer.me>
2023-08-30 13:44:19 -03:00
Faxty
9eb63b6fb9 Pontoon: Update Spain Spanish (es-ES) localization of GUI
Co-authored-by: Faxty <xxlegendexx402@gmail.com>
2023-08-28 17:08:00 +00:00
Uriel
50620dd42f Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-08-28 17:08:00 +00:00
Erimel
7b1e4a84d3 Pontoon: Update French (fr) localization of GUI
Co-authored-by: SlimePuppy <minouviolet2007+github@gmail.com>
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-08-28 17:08:00 +00:00
Uriel
917092eb00 tauri should work now (#831) 2023-08-28 20:07:27 +03:00
Uriel
4df2d8771c Small GUI fixes, pt. 2 (#815) 2023-08-19 11:24:36 -04:00
Uriel
a92dec8805 Small fixes pt. 3 (#822) 2023-08-19 18:05:30 +03:00
unlogisch04
942f64a2f1 Add FT232 Serial Chipset to the known list (#823) 2023-08-19 18:04:38 +03:00
Erimel
5211d340d2 Fix the offsets of arms from controllers (#826) 2023-08-19 18:04:21 +03:00
Erimel
f3cefdcc61 Fix receiving OSC (#825) 2023-08-19 18:03:48 +03:00
Uriel
00e0824a84 Fix tauri 2 again (#827) 2023-08-19 04:12:31 +03:00
Erimel
7f9f6f4b18 Fix HMD designation (#821) 2023-08-15 17:43:59 +03:00
Uriel
81bf58f8c0 Fix nix with latest rust update (#820) 2023-08-15 17:43:24 +03:00
Erimel
2d35456645 Fix OSCTrackers yawAlign (#818) 2023-08-13 12:04:28 -04:00
Erimel
25da8715fe New Pontoon translations (#807) 2023-08-12 15:52:13 -04:00
Meow Wei
e366c5909c Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-08-12 19:37:50 +00:00
Disappear9
ed04b70713 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Disappear9 <disappear9@outlook.com>
2023-08-12 19:37:47 +00:00
MenacingExiler
e6bcbd9b3a Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: MenacingExiler <menacingexiler@gmail.com>
2023-08-12 19:37:43 +00:00
Smeltie
fc44d902f1 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Smeltie <martijnklerks123@gmail.com>
Co-authored-by: Rat. <staf.dierickx@gmail.com>
2023-08-12 19:08:14 +00:00
Kamilake
c975949c35 Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-08-12 19:08:14 +00:00
FennT
c611570524 Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-08-12 19:08:14 +00:00
Uriel
02e0af8c51 Fix Tauri 2 update (#813) 2023-08-12 22:07:47 +03:00
Erimel
e4e5a884ef Fix UDP timeout overriding error status (#812) 2023-08-12 21:53:15 +03:00
Uriel
6d005223c7 Improve debugging experience (#790) 2023-08-10 20:40:43 +03:00
Erimel
975f340a63 Fix acceleration adjustement and add to visualizer (#804) 2023-08-10 13:30:16 -04:00
Erimel
cdb4d15d60 Improve HMD handling (#801) 2023-08-09 13:33:02 -04:00
MakerKath
f343b0e80c Minor: Updated battery indicator V placement (#810) 2023-08-09 13:25:18 -04:00
Uriel
dad0188854 Update to tauri 2 (#665) 2023-08-06 00:14:24 -04:00
Erimel
8a6778155d New Pontoon translations (#768) 2023-08-05 00:30:11 -04:00
ImUrX
7a968c3086 add spain spanish 2023-08-05 00:43:02 -03:00
menacingexiler
9730c78049 Pontoon: Update Vietnamese (vi) localization of GUI
Co-authored-by: MenacingExiler <menacingexiler@gmail.com>
2023-08-05 00:37:34 -03:00
FennT
1a57820e31 Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-08-05 00:37:34 -03:00
adriangoldenhero
c85facfba7 Pontoon: Update Spain Spanish (es-ES) localization of GUI
Co-authored-by: joninsoul <joninsoul@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: ImCapi <imcapivr@gmail.com>
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: adriangoldenhero <adriangoldenhero@gmail.com>
2023-08-05 00:37:25 -03:00
Hornil
72deebdf87 Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: kanava <creedfqr@gmail.com>
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-08-05 00:37:25 -03:00
beq
5ab5e3e1bc Pontoon: Update Japanese (ja) localization of GUI
Co-authored-by: beq <beqbdean@gmail.com>
2023-08-05 00:37:25 -03:00
Meow Wei
7b84b041aa Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-08-05 00:37:21 -03:00
Disappear9
775d78731d Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Disappear9 <disappear9@outlook.com>
2023-08-05 00:37:21 -03:00
ReDoX
ecbe1fb75d Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: ReDoX <redox01@o2.pl>
2023-08-05 00:37:16 -03:00
Butterscotch!
c273594163 Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-08-05 00:37:16 -03:00
Yasu3D
51b1e2170e Pontoon: Update German (de) localization of GUI
Co-authored-by: Yasu3D <l.frisan31@gmail.com>
Co-authored-by: Piranja <info@hollihn.ch>
2023-08-05 00:37:16 -03:00
Erimel
56d114c461 Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-08-05 00:37:05 -03:00
Uriel
0d47d69134 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: KOBRA <carlosthen3190@gmail.com>
2023-08-05 00:36:56 -03:00
namakeingo
329d77d0f4 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
2023-08-05 00:36:47 -03:00
Rat
e7673338b5 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Lualt <officieel.lualt@gmail.com>
Co-authored-by: Rat. <staf.dierickx@gmail.com>
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-08-04 12:15:25 +00:00
Eiren Rain
9715326a99 Create FUNDING.yml 2023-08-04 15:15:02 +03:00
Uriel
93c910be6a things I got pinged about to fix (#803) 2023-08-03 22:28:14 +03:00
344 changed files with 32814 additions and 33699 deletions

11
.envrc
View File

@@ -1 +1,10 @@
use flake
if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
fi
nix_direnv_watch_file rust-toolchain.toml
nix_direnv_watch_file package.json
if ! use flake . --impure
then
echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2
fi

34
.github/CODEOWNERS vendored
View File

@@ -1,30 +1,38 @@
# Global code owner
* @Eirenliel
# Make everyone be able to approve SolarXR submodule changes
/solarxr-protocol @ButterscotchV @Erimelowo @ImUrX
# Make Loucas and Uriel the owners of all GUI stuff
/gui/ @loucass003 @ImUrX
/package-lock.json @loucass003 @ImUrX
/gui/ @ImUrX
/pnpm-lock.yaml @ImUrX
/pnpm-workspace.yaml @ImUrX
# Uriel and Erimel responsible for i18n
/gui/public/i18n/ @ImUrX @Louka3000
/gui/src/i18n/ @ImUrX @Louka3000
/l10n.toml @ImUrX @Louka3000
/gui/public/i18n/ @ImUrX @Erimelowo
/gui/src/i18n/ @ImUrX @Erimelowo
/l10n.toml @ImUrX @Erimelowo
/gui/src/components/settings/ @Louka3000 @loucass003
/gui/src/components/settings/ @Erimelowo @ImUrX
# Rust part of the GUI
/gui/src-tauri/ @ImUrX @TheButlah
/Cargo.lock @ImUrX @TheButlah
/gui/src-tauri/ @ImUrX
/Cargo.lock @ImUrX
# Some server code~
/server/ @ButterscotchV @Eirenliel @Louka3000
/server/ @ButterscotchV @Eirenliel @Erimelowo
/server/src/main/java/dev/slimevr/autobone/ @ButterscotchV
/server/src/main/java/dev/slimevr/poserecorder/ @ButterscotchV
/server/src/main/java/dev/slimevr/posestreamer/ @ButterscotchV
/server/src/main/java/dev/slimevr/osc/ @Louka3000
/server/src/main/java/dev/slimevr/tracking/processor/ @Louka3000
/server/src/main/java/dev/slimevr/filtering/ @Louka3000
/server/src/main/java/dev/slimevr/osc/ @Erimelowo
/server/src/main/java/dev/slimevr/tracking/processor/ @Erimelowo
/server/src/main/java/dev/slimevr/filtering/ @Erimelowo
server/src/main/java/dev/slimevr/config/ @loucass003
# Linux files
*.nix @ImUrX
/flake.lock @ImUrX
/dev.slimevr.SlimeVR.metainfo.xml @ImUrX
/.envrc @ImUrX

3
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
# These are supported funding model platforms
github: SlimeVR

View File

@@ -21,27 +21,28 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
- uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
cache: 'pnpm'
- name: Build
run: |
npm ci
pnpm i
cd gui
npm run lint
pnpm run lint
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, windows-latest, macos-latest]
os: [ubuntu-22.04, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
@@ -50,15 +51,15 @@ jobs:
CI: false
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- if: matrix.os == 'ubuntu-20.04'
- if: matrix.os == 'ubuntu-22.04'
name: Set up Linux dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf
# Increment to invalidate the cache
version: 1.0
# Enables a workaround to attempt to run pre and post install scripts
@@ -71,29 +72,35 @@ jobs:
with:
shared-key: "${{ matrix.os }}"
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
- uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
cache: 'pnpm'
# Tauri has a broken cache issue in windows, let's clean it for now
- name: Clean cache in Windows (Fixes tauri-apps/tauri#9045)
if: matrix.os == 'windows-latest'
run: cargo clean
- name: Build
run: |
npm ci
npm run skipbundler
pnpm i
pnpm run skipbundler
- if: matrix.os == 'windows-latest'
name: Upload a Build Artifact (Windows)
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
# Artifact name
name: SlimeVR-GUI-Windows
# A file, directory or wildcard pattern that describes what to upload
path: target/release/slimevr.exe
- if: matrix.os == 'ubuntu-20.04'
- if: matrix.os == 'ubuntu-22.04'
name: Upload a Build Artifact (Linux)
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
# Artifact name
name: SlimeVR-GUI-Linux
@@ -102,7 +109,7 @@ jobs:
- if: matrix.os == 'macos-latest'
name: Upload a Build Artifact (macOS)
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
# Artifact name
name: SlimeVR-GUI-macOS

View File

@@ -19,20 +19,21 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Get tags
run: git fetch --tags origin --recurse-submodules=no
run: git fetch --tags origin --recurse-submodules=no --force
- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "adopt"
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/actions/setup-gradle@v3
- run: mkdir ./gui/dist && touch ./gui/dist/somefile
shell: bash
@@ -48,26 +49,27 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Get tags
run: git fetch --tags origin --recurse-submodules=no
run: git fetch --tags origin --recurse-submodules=no --force
- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "adopt"
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/actions/setup-gradle@v3
- name: Build with Gradle
run: ./gradlew shadowJar
- name: Upload the Server JAR as a Build Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
# Artifact name
name: "SlimeVR-Server" # optional, default is artifact
@@ -75,7 +77,7 @@ jobs:
path: server/desktop/build/libs/*
- name: Upload to draft release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true
@@ -84,16 +86,73 @@ jobs:
server/desktop/build/libs/*
bundle-linux:
runs-on: ubuntu-20.04
needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
bundle-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/download-artifact@v3
- name: Get tags
run: git fetch --tags origin --recurse-submodules=no --force
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "adopt"
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- name: Build GUI
run: |
pnpm i
cd gui && pnpm run build
- name: Build with Gradle
run: ./gradlew :server:android:assembleDebug
- name: Upload the Android Build Artifact
uses: actions/upload-artifact@v4
with:
# Artifact name
name: "SlimeVR-Android" # optional, default is artifact
# A file, directory or wildcard pattern that describes what to upload
path: server/android/build/outputs/apk/*
- name: Prepare for release
if: startsWith(github.ref, 'refs/tags/')
run: |
cp server/android/build/outputs/apk/debug/android-debug.apk ./SlimeVR-android.apk
- name: Upload to draft release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true
generate_release_notes: true
files: |
./SlimeVR-android.apk
bundle-linux:
runs-on: ubuntu-22.04
needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/download-artifact@v4
with:
name: "SlimeVR-Server"
path: server/desktop/build/libs/
@@ -101,7 +160,7 @@ jobs:
- name: Set up Linux dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf libfuse2
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf libfuse2
# Increment to invalidate the cache
version: 1.0
# Enables a workaround to attempt to run pre and post install scripts
@@ -112,20 +171,21 @@ jobs:
- name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "ubuntu-20.04"
shared-key: "ubuntu-22.04"
- uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
cache: 'pnpm'
- name: Build
run: |
npm ci
npm run tauri build
pnpm i
pnpm run tauri build
- uses: actions/upload-artifact@v3.1.0
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-Deb
path: target/release/bundle/deb/slimevr*.deb
@@ -145,7 +205,7 @@ jobs:
chmod 644 squashfs-root/slimevr.jar
appimagetool squashfs-root slimevr*.AppImage
- uses: actions/upload-artifact@v3.1.0
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-AppImage
path: target/release/bundle/appimage/slimevr*.AppImage
@@ -157,7 +217,7 @@ jobs:
cp target/release/bundle/deb/slimevr*.deb ./SlimeVR-amd64.deb
- name: Upload to draft release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true
@@ -172,11 +232,11 @@ jobs:
needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: "SlimeVR-Server"
path: server/desktop/build/libs/
@@ -186,20 +246,22 @@ jobs:
with:
shared-key: "macos-latest"
- uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
cache: 'pnpm'
- name: Build
run: |
npm ci
npm run tauri build -- "--target universal-apple-darwin"
rustup target add x86_64-apple-darwin
pnpm i
pnpm run tauri build --target universal-apple-darwin
- name: Modify Application
run: |
cd target/release/bundle/macos/slimevr.app/Contents/MacOS
cd target/universal-apple-darwin/release/bundle/macos/slimevr.app/Contents/MacOS
cp $( git rev-parse --show-toplevel )/server/desktop/build/libs/slimevr.jar ./
cd ../../../../dmg/
./bundle_dmg.sh --volname slimevr --icon slimevr 180 170 --app-drop-link 480 170 \
@@ -207,23 +269,23 @@ jobs:
--volicon ../macos/slimevr.app/Contents/Resources/icon.icns --skip-jenkins \
--eula ../../../../LICENSE-MIT slimevr.dmg ../macos/slimevr.app
- uses: actions/upload-artifact@v3.1.0
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-MacApp
path: target/release/bundle/macos/slimevr*.app
path: target/universal-apple-darwin/release/bundle/macos/slimevr*.app
- uses: actions/upload-artifact@v3.1.0
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-MacDmg
path: target/release/bundle/dmg/slimevr.dmg
path: target/universal-apple-darwin/release/bundle/dmg/slimevr.dmg
- name: Prepare for release
if: startsWith(github.ref, 'refs/tags/')
run: |
cp target/release/bundle/dmg/slimevr.dmg ./SlimeVR-mac.dmg
cp target/universal-apple-darwin/release/bundle/dmg/slimevr.dmg ./SlimeVR-mac.dmg
- name: Upload to draft release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true
@@ -237,11 +299,11 @@ jobs:
needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: "SlimeVR-Server"
path: server/desktop/build/libs/
@@ -251,16 +313,20 @@ jobs:
with:
shared-key: "windows-latest"
- uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
cache: 'pnpm'
- name: Clean cache in Windows (Fixes tauri-apps/tauri#9045)
run: cargo clean
- name: Build
run: |
npm ci
npm run skipbundler
pnpm i
pnpm run skipbundler
- name: Bundle to zips
shell: bash
@@ -275,13 +341,13 @@ jobs:
mv ./SlimeVR/slimevr.exe ./SlimeVR/slimevr-ui.exe
7z a -tzip SlimeVR.zip ./SlimeVR/
- uses: actions/upload-artifact@v3.1.0
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-Windows
path: ./SlimeVR*.zip
- name: Upload to draft release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true

View File

@@ -12,7 +12,7 @@ jobs:
pull-requests: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: repo-sync/pull-request@v2

View File

@@ -15,7 +15,7 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: pontoon
submodules: recursive
@@ -24,7 +24,7 @@ jobs:
- name: Rebase
run: |
git config --local user.name "slimevr-bot"
git config --local user.email pantoon@slimevr.dev
git config --local user.email 'pantoon@slimevr.dev'
git fetch origin main
git rebase origin/main
git submodule update
@@ -36,3 +36,4 @@ jobs:
commit-message: "update"
force-push: "true"
name: "slimevr-bot"
email: "pantoon@slimevr.dev"

1
.gitignore vendored
View File

@@ -36,6 +36,7 @@ build/
# direnv has been claimed for Nix usage
.direnv/
.devenv
# Ignore Android local properties
local.properties

36
.husky/pre-commit Executable file
View File

@@ -0,0 +1,36 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
YELLOW="\033[1;33m"
GREEN="\033[1;32m"
RESET="\033[0m"
if git rev-parse -q --verify MERGE_HEAD; then
echo -e "${YELLOW}Skipping precommit hook because of merge${RESET}"
exit 0
fi
APP_PRE_COMMIT_OPTIONS="$(dirname "$0")/_/pre-commit.options"
if ! [ -f "$APP_PRE_COMMIT_OPTIONS" ]; then
echo -e "${YELLOW}\nSkipping pre-commit hook."
echo -e "If you want to use pre-commit for lint-staged, run:\n"
echo -e " ${GREEN}echo -e 'APP_LINT=true;' > ${APP_PRE_COMMIT_OPTIONS}${RESET}"
echo -e "${YELLOW}\nIt will add some delay before committing!\n${RESET}"
exit 0
fi
source $APP_PRE_COMMIT_OPTIONS
if [ -n "${APP_LINT}" ] && [ "${APP_LINT}" == "true" ]; then
echo -e "${GREEN}[husky] [pre-commit] [lint-staged]${RESET}"
case "$(uname -sr)" in
CYGWIN*|MINGW*|MINGW32*|MSYS*)
npx.cmd lint-staged
;;
*)
npx lint-staged
;;
esac
fi

9
.lintstagedrc.mjs Normal file
View File

@@ -0,0 +1,9 @@
export default {
'server/**/*.{java,kt,kts}': (filenames) =>
filenames.map(
(filename) =>
`./gradlew${
process.platform === 'win32' ? '.bat' : ''
} spotlessApply "-PspotlessIdeHook=${filename}"`
),
};

View File

@@ -11,6 +11,7 @@
"bradlc.vscode-tailwindcss",
"EditorConfig.EditorConfig",
"macabeus.vscode-fluent",
"redhat.vscode-yaml"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []

View File

@@ -6,7 +6,7 @@ This document describes essential knowledge required to contribute to the SlimeV
- [Git](https://git-scm.com/downloads)
- [Java v17+](https://adoptium.net/temurin/releases/)
- [Node.js v16+](https://nodejs.org) (We recommend the use of `nvm` instead of installing Node.js directly)
- [Node.js v16.9+](https://nodejs.org) (We recommend the use of `nvm` instead of installing Node.js directly)
- [Microsoft Edge WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section) or `webkit2gtk` for Linux
- [Rust](https://rustup.rs)
@@ -34,9 +34,10 @@ be at `server/build/libs/slimevr.jar` (you can ignore `server.jar`).
### Tauri (gui)
- Run `npm install` in your IDE's terminal to download and install dependencies.
- To launch the GUI in dev mode, run `npm run gui`.
- Finally, to compile for production, run `npm run tauri build`. The result
- Activate corepack (included with Node.JS) via `corepack enable` (might require administrator permissions)
- Run `pnpm i` in your IDE's terminal to download and install dependencies.
- To launch the GUI in dev mode, run `pnpm gui`.
- Finally, to compile for production, run `pnpm run tauri build`. The result
will be at `target/release/slimevr.exe`.
## Code style
@@ -87,8 +88,8 @@ Eclipse will only do a subset of the checks in `spotless`, so you may still want
We use ESLint and Prettier to format GUI code.
- First, go into the GUI's directory with your terminal by running `cd gui`.
- To check code formatting, run `npm run lint`.
- To fix code formatting, run `npm run lint:fix` and `npm run format`
- To check code formatting, run `pnpm run lint`.
- To fix code formatting, run `pnpm run lint:fix` and `pnpm run format`
Don't forget to run `cd ..` to return to the root directory.

3381
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,9 +9,8 @@ members = ["gui/src-tauri"]
[workspace.package]
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.65" # This version stabilized GATs and let-else
rust-version = "1.75" # This version stabilized GATs and let-else
repository = "https://github.com/SlimeVR/SlimeVR-Server"
[profile.release]
lto = "thin"
strip = "debuginfo" # Only affects Unix binaries with DWARF

View File

@@ -1,3 +1,3 @@
plugins {
id("org.ajoberstar.grgit") version "5.2.0"
id("org.ajoberstar.grgit")
}

View File

@@ -24,6 +24,7 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
<url type="homepage">https://slimevr.dev/</url>
<url type="bugtracker">https://github.com/SlimeVR/SlimeVR-Server/issues</url>
<url type="faq">https://docs.slimevr.dev/slimevr101.html</url>
<url type="donation">https://github.com/sponsors/SlimeVR</url>
<url type="vcs-browser">https://github.com/SlimeVR/SlimeVR-Server</url>
<url type="translate">https://i18n.slimevr.dev</url>
<url type="help">https://docs.slimevr.dev/server-setup/slimevr-setup.html</url>
@@ -48,7 +49,6 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
tracking (FBT) in virtual reality. With no base station required, SlimeVR makes wireless
VR FBT affordable and comfortable.
</p>
</description>
<launchable type="desktop-id">dev.slimevr.SlimeVR.desktop</launchable>
@@ -58,15 +58,36 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
<image>https://raw.githubusercontent.com/SlimeVR/SlimeVR-Server/main/assets/img/onboarding.png</image>
</screenshot>
</screenshots>
<provides>
<binary>slimevr</binary>
</provides>
<releases>
<release version="0.11.0" date="2023-12-23"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.11.0</url></release>
<release version="0.11.0~rc.2" type="development" date="2023-12-08"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.11.0-rc.2</url></release>
<release version="0.11.0~rc.1" type="development" date="2023-11-23"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.11.0-rc.1</url></release>
<release version="0.10.1" date="2023-09-30"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.1</url></release>
<release version="0.10.1~rc.1" type="development" date="2023-09-29"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.1-rc.1</url></release>
<release version="0.10.0" date="2023-09-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.0</url></release>
<release version="0.10.0~rc.2" type="development" date="2023-09-15"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.0-rc.2</url></release>
<release version="0.10.0~rc.1" type="development" date="2023-09-02"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.0-rc.1</url></release>
<release version="0.9.1" date="2023-08-30"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1</url></release>
<release version="0.9.1~rc.4" type="development" date="2023-08-28"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.4</url></release>
<release version="0.9.1~rc.3" type="development" date="2023-08-19"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.3</url></release>
<release version="0.9.1~rc.2" type="development" date="2023-08-15"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.2</url></release>
<release version="0.9.1~rc.1" type="development" date="2023-08-13"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.1</url></release>
<release version="0.9.0" date="2023-08-05"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.0</url></release>
<release version="0.9.0~rc.2" type="development" date="2023-08-02"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.0-rc.2</url></release>
<release version="0.9.0~rc.1" type="development" date="2023-07-31"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.0-rc.1</url></release>
<release version="0.8.3" date="2023-07-09"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.3</url></release>
<release version="0.8.2" date="2023-07-09"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.2</url></release>
<release version="0.8.2-rc.1" type="development" date="2023-07-07"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.2-rc.1</url></release>
<release version="0.8.2~rc.1" type="development" date="2023-07-07"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.2-rc.1</url></release>
<release version="0.8.1" date="2023-07-04"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.1</url></release>
<release version="0.8.0" date="2023-06-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0</url></release>
<release version="0.8.0-rc.3" type="development" date="2023-06-20"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.3</url></release>
<release version="0.8.0-rc.2" type="development" date="2023-06-15"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.2</url></release>
<release version="0.8.0-rc.1" type="development" date="2023-06-01"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.1</url></release>
<release version="0.8.0~rc.3" type="development" date="2023-06-20"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.3</url></release>
<release version="0.8.0~rc.2" type="development" date="2023-06-15"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.2</url></release>
<release version="0.8.0~rc.1" type="development" date="2023-06-01"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.1</url></release>
<release version="0.7.1" date="2023-04-14"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.7.1</url></release>
<release version="0.7.0" date="2023-04-11"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.7.0</url></release>
<release version="0.6.3" date="2023-02-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.3</url></release>

397
flake.lock generated
View File

@@ -1,5 +1,78 @@
{
"nodes": {
"devenv": {
"inputs": {
"flake-compat": "flake-compat",
"nix": "nix",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1699541523,
"narHash": "sha256-Rv0ryuBC5KtA/3YqwIEe58Tabu71qSGnGcGRd67mMUY=",
"owner": "cachix",
"repo": "devenv",
"rev": "14fdefc0bb80c3d6f3a18a491e33429b4064c371",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"fenix": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1699683614,
"narHash": "sha256-XT2tIoIiiv0AxRs9g76nuRhfQf7KU1dE3ho8BL5CYM4=",
"owner": "nix-community",
"repo": "fenix",
"rev": "ca6415d87d2e1b5975d59b2a68ae19029de1759c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1698882062,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@@ -23,11 +96,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
@@ -36,28 +109,145 @@
"type": "github"
}
},
"flake-utils_3": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"devenv",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"lowdown-src": {
"flake": false,
"locked": {
"lastModified": 1633514407,
"narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=",
"owner": "kristapsdz",
"repo": "lowdown",
"rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8",
"type": "github"
},
"original": {
"owner": "kristapsdz",
"repo": "lowdown",
"type": "github"
}
},
"mk-shell-bin": {
"locked": {
"lastModified": 1677004959,
"narHash": "sha256-/uEkr1UkJrh11vD02aqufCxtbF5YnhRTIKlx5kyvf+I=",
"owner": "rrbutani",
"repo": "nix-mk-shell-bin",
"rev": "ff5d8bd4d68a347be5042e2f16caee391cd75887",
"type": "github"
},
"original": {
"owner": "rrbutani",
"repo": "nix-mk-shell-bin",
"type": "github"
}
},
"nix": {
"inputs": {
"lowdown-src": "lowdown-src",
"nixpkgs": [
"devenv",
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1676545802,
"narHash": "sha256-EK4rZ+Hd5hsvXnzSzk2ikhStJnD63odF7SzsQ8CuSPU=",
"owner": "domenkozar",
"repo": "nix",
"rev": "7c91803598ffbcfe4a55c44ac6d49b2cf07a527f",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "relaxed-flakes",
"repo": "nix",
"type": "github"
}
},
"nix2container": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1697285352,
"narHash": "sha256-tRGLm/DO8+anGUCgLYxTF5EPqWv8EZ9MVFWRdh285HU=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "9d7f33ef0058f4df4c0912025f43c758a3289d76",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"nixgl": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1685908677,
"narHash": "sha256-E4zUPEUFyVWjVm45zICaHRpfGepfkE9Z2OECV9HXfA4=",
"owner": "guibou",
"repo": "nixGL",
"rev": "489d6b095ab9d289fe11af0219a9ff00fe87c7c5",
"type": "github"
},
"original": {
"owner": "guibou",
"repo": "nixGL",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1686412476,
"narHash": "sha256-inl9SVk6o5h75XKC79qrDCAobTD1Jxh6kVYTZKHzewA=",
"lastModified": 1678875422,
"narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "21951114383770f96ae528d0ae68824557768e81",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1681358109,
"narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9",
"rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
"type": "github"
},
"original": {
@@ -67,29 +257,156 @@
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
}
},
"rust-overlay": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_2"
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1686364106,
"narHash": "sha256-h4gCQg+jizmAbdg6UPlhxQVk4A7Ar/zoLa0wx3wBya0=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "ba011dd1c5028dbb880bc3b0f427e0ff689e6203",
"dir": "lib",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-regression": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1685801374,
"narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1699099776,
"narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1660551188,
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1699099776,
"narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
"devenv",
"flake-compat"
],
"flake-utils": "flake-utils",
"gitignore": "gitignore",
"nixpkgs": [
"devenv",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1688056373,
"narHash": "sha256-2+SDlNRTKsgo3LBRiMUcoEUb6sDViRNQhzJquZ4koOI=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "5843cf069272d92b60c3ed9e55b7a8989c01d4c7",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"devenv": "devenv",
"fenix": "fenix",
"flake-parts": "flake-parts",
"mk-shell-bin": "mk-shell-bin",
"nix2container": "nix2container",
"nixgl": "nixgl",
"nixpkgs": "nixpkgs_4"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1699629149,
"narHash": "sha256-oDxT2FTYLRnwBRgxgWMApbgvNsbsPV4EeH4TZtp70F0=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "11a87c917943dac5a568579f799c2d7458324103",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},

197
flake.nix
View File

@@ -1,87 +1,140 @@
{
description = "Server app for SlimeVR ecosystem";
description = "Affordable full-body tracking for VR!";
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
devenv.url = "github:cachix/devenv";
nix2container.url = "github:nlewo/nix2container";
nix2container.inputs.nixpkgs.follows = "nixpkgs";
mk-shell-bin.url = "github:rrbutani/nix-mk-shell-bin";
nixgl.url = "github:guibou/nixGL";
fenix.url = "github:nix-community/fenix";
};
inputs.rust-overlay.url = "github:oxalica/rust-overlay";
nixConfig = {
extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
extra-substituters = "https://devenv.cachix.org";
};
outputs = {
outputs = inputs @ {
self,
nixpkgs,
flake-utils,
rust-overlay,
flake-parts,
nixgl,
...
}:
flake-utils.lib.eachDefaultSystem
(
system: let
overlays = [(import rust-overlay)];
pkgs = import nixpkgs {
inherit system overlays;
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
inputs.devenv.flakeModule
];
systems = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
perSystem = {
config,
self',
inputs',
pkgs,
system,
lib,
...
}: {
# Per-system attributes can be defined here. The self' and inputs'
# module parameters provide easy access to attributes of the same
# system.
# Equivalent to inputs'.nixpkgs.legacyPackages.hello;
# packages.default = pkgs.hello;
_module.args.pkgs = import self.inputs.nixpkgs {
inherit system;
overlays = [nixgl.overlay];
};
rustTarget = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
nativeBuildInputs = with pkgs; [
curl
gcc
openssl
pkgconfig
which
zlib
freetype
expat
];
buildInputs = with pkgs; [
appimagekit
atk
cairo
dbus
dbus.lib
dprint
gdk-pixbuf
glib.out
gobject-introspection
gtk3
harfbuzz
libayatana-appindicator-gtk3
libffi
libsoup
openssl.out
pango
pkg-config
treefmt
webkitgtk
zlib
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
devenv.shells.default = let
fenixpkgs = inputs'.fenix.packages;
rust_toolchain = lib.importTOML ./rust-toolchain.toml;
in {
name = "slimevr";
# Some nice things to have
exa
fd
imports = [
# This is just like the imports in devenv.nix.
# See https://devenv.sh/guides/using-with-flake-parts/#import-a-devenv-module
# ./devenv-foo.nix
];
jdk17 # JDK17
nodejs
gradle
];
in {
devShells.default = pkgs.mkShell {
nativeBuildInputs =
nativeBuildInputs
++ [
];
buildInputs =
buildInputs
++ [
rustTarget
# https://devenv.sh/reference/options/
packages =
(with pkgs; [
pkgs.nixgl.nixGLIntel
cacert
])
++ lib.optionals pkgs.stdenv.isLinux (with pkgs; [
appimagekit
atk
cairo
dbus
dbus.lib
dprint
gdk-pixbuf
glib.out
glib-networking
gobject-introspection
gtk3
harfbuzz
libffi
libsoup_3
openssl.out
pango
pkg-config
treefmt
webkitgtk_4_1
zlib
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
librsvg
freetype
expat
libayatana-appindicator
libusb1
libudev-zero
])
++ lib.optionals pkgs.stdenv.isDarwin [
pkgs.darwin.apple_sdk.frameworks.Security
];
shellHook = ''
alias ls=exa
alias find=fd
languages.java = {
enable = true;
gradle.enable = true;
jdk.package = pkgs.jdk17;
};
languages.kotlin.enable = true;
languages.javascript = {
enable = true;
corepack.enable = true;
};
languages.rust = {
enable = true;
toolchain = fenixpkgs.fromToolchainName {
name = rust_toolchain.toolchain.channel;
sha256 = "sha256-3St/9/UKo/6lz2Kfq2VmlzHyufduALpiIKaaKX4Pq0g=";
};
components = rust_toolchain.toolchain.components;
};
env = {
GIO_EXTRA_MODULES = "${pkgs.glib-networking}/lib/gio/modules:${pkgs.dconf.lib}/lib/gio/modules";
};
enterShell = with pkgs; ''
'';
};
}
);
};
flake = {
# The usual flake attributes can be defined here, including system-
# agnostic ones like nixosModule and system-enumerating ones, although
# those are more easily expressed in perSystem.
};
};
}

View File

@@ -13,7 +13,8 @@ android.useAndroidX=true
android.nonTransitiveRClass=true
org.gradle.unsafe.configuration-cache=false
kotlinVersion=1.9.0-RC
spotlessVersion=6.12.0
kotlinVersion=1.9.23
spotlessVersion=6.25.0
shadowJarVersion=8.1.1
buildconfigVersion=3.1.0
buildconfigVersion=5.3.5
grgitVersion=5.2.2

0
gradlew.bat vendored Normal file → Executable file
View File

View File

@@ -4,7 +4,7 @@
"es2021": true,
"jest": true
},
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@dword-design/import-alias/recommended"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
@@ -30,6 +30,14 @@
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_"
}
],
"@dword-design/import-alias/prefer-alias": [
"error",
{
"alias": {
"@": "./src/"
}
}
]
},
"settings": {

3
gui/.gitignore vendored
View File

@@ -28,3 +28,6 @@ yarn-error.log*
# vite
/dist
/stats.html
# eslint
.eslintcache

5
gui/.lintstagedrc.mjs Normal file
View File

@@ -0,0 +1,5 @@
export default {
'**/*.{ts,tsx}': () => 'tsc -p tsconfig.json --noEmit',
'**/*.{js,jsx,ts,tsx}': 'eslint --max-warnings=0 --cache --fix',
'**/*.{js,jsx,ts,tsx,css,md,json}': 'prettier --write',
};

View File

@@ -3,46 +3,54 @@
"version": "0.5.1",
"private": true,
"dependencies": {
"@fluent/bundle": "^0.17.1",
"@fluent/react": "^0.14.1",
"@fontsource/poppins": "^4.5.8",
"@fluent/bundle": "^0.18.0",
"@fluent/react": "^0.15.2",
"@fontsource/poppins": "^5.0.12",
"@formatjs/intl-localematcher": "^0.2.32",
"@react-three/fiber": "^8.10.0",
"@tauri-apps/api": "^1.4.0",
"@vitejs/plugin-react": "^3.0.0",
"browserslist": "^4.18.1",
"classnames": "^2.3.1",
"eslint-config-react-app": "^7.0.0",
"file-saver": "^2.0.5",
"@react-three/drei": "^9.105.1",
"@react-three/fiber": "^8.16.1",
"@tauri-apps/api": "=2.0.0-beta.7",
"@tauri-apps/plugin-dialog": "=2.0.0-beta.2",
"@tauri-apps/plugin-fs": "=2.0.0-beta.2",
"@tauri-apps/plugin-os": "=2.0.0-beta.2",
"@tauri-apps/plugin-shell": "=2.0.0-beta.2",
"@tauri-apps/plugin-store": "=2.0.0-beta.2",
"@vitejs/plugin-react": "^4.2.1",
"browser-fs-access": "^0.35.0",
"browserslist": "^4.23.0",
"classnames": "^2.5.1",
"eslint-config-react-app": "^7.0.1",
"flatbuffers": "^22.10.26",
"identity-obj-proxy": "^3.0.0",
"intl-pluralrules": "^1.3.1",
"ip-num": "^1.4.1",
"intl-pluralrules": "^2.0.1",
"ip-num": "^1.5.1",
"postcss-flexbugs-fixes": "^5.0.2",
"postcss-normalize": "^10.0.1",
"postcss-preset-env": "^7.0.1",
"postcss-preset-env": "^9.5.2",
"prompts": "^2.4.2",
"react": "^18.0.0",
"react-dev-utils": "^12.0.0",
"react-dom": "^18.0.0",
"react-hook-form": "^7.29.0",
"react-modal": "3.15.1",
"react-responsive": "^9.0.2",
"react-router-dom": "^6.2.2",
"semver": "^7.5.3",
"react": "^18.2.0",
"react-dev-utils": "^12.0.1",
"react-dom": "^18.2.0",
"react-error-boundary": "^4.0.13",
"react-helmet": "^6.1.0",
"react-hook-form": "^7.51.0",
"react-modal": "^3.16.1",
"react-responsive": "^10.0.0",
"react-router-dom": "^6.22.3",
"semver": "^7.6.0",
"solarxr-protocol": "file:../solarxr-protocol",
"three": "^0.148.0",
"ts-pattern": "^5.0.1",
"typescript": "^5.1.6"
"three": "^0.163.0",
"ts-pattern": "^5.0.8",
"typescript": "^5.4.3"
},
"scripts": {
"start": "vite --force",
"build": "vite build",
"dev": "tauri dev",
"skipbundler": "tauri build -b none",
"skipbundler": "tauri build --no-bundle",
"tauri": "tauri",
"lint": "eslint --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && prettier --check \"src/**/*.{js,jsx,ts,tsx,css,md,json}\"",
"lint:fix": "eslint --fix \"src/**/*.{js,jsx,ts,tsx,json}\"",
"lint": "tsc --noEmit && eslint --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && prettier --check \"src/**/*.{js,jsx,ts,tsx,css,md,json}\"",
"lint:fix": "tsc --noEmit && eslint --fix --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && pnpm run format",
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,md,json}\"",
"preview-vite": "vite preview",
"javaversion-build": "cd src-tauri/src/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class"
@@ -65,30 +73,33 @@
]
},
"devDependencies": {
"@tailwindcss/forms": "^0.5.3",
"@tauri-apps/cli": "^1.4.0",
"@types/file-saver": "^2.0.5",
"@types/react": "18.0.25",
"@types/react-dom": "^18.0.5",
"@types/react-modal": "3.13.1",
"@types/three": "^0.148.0",
"@typescript-eslint/eslint-plugin": "^5.60.1",
"@typescript-eslint/parser": "^5.60.1",
"autoprefixer": "^10.4.4",
"@dword-design/eslint-plugin-import-alias": "^4.0.9",
"@tailwindcss/forms": "^0.5.7",
"@tauri-apps/cli": "=2.0.0-beta.12",
"@types/file-saver": "^2.0.7",
"@types/react": "^18.2.73",
"@types/react-dom": "^18.2.23",
"@types/react-helmet": "^6.1.11",
"@types/react-modal": "3.16.3",
"@types/semver": "^7.5.8",
"@types/three": "^0.163.0",
"@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0",
"autoprefixer": "^10.4.19",
"cross-env": "^7.0.3",
"eslint": "^8.44.0",
"eslint": "^8.57.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-import-resolver-typescript": "^3.5.5",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-react": "^7.32.2",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0",
"postcss": "^8.4.24",
"prettier": "^2.8.8",
"pretty-quick": "^3.1.3",
"rollup-plugin-visualizer": "^5.9.2",
"tailwind-gradient-mask-image": "^1.0.0",
"tailwindcss": "^3.3.2",
"vite": "^4.3.9"
"postcss": "^8.4.38",
"prettier": "^3.2.5",
"pretty-quick": "^4.0.0",
"rollup-plugin-visualizer": "^5.12.0",
"tailwind-gradient-mask-image": "^1.2.0",
"tailwindcss": "^3.4.3",
"vite": "^5.2.7"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -7,7 +7,7 @@
## Websocket (server) status
websocket-connecting = جاري التوصيل بالسيرفر
websocket-connecting = يتم التوصيل بالسيرفر
websocket-connection_lost = انقطع الاتصال بالسيرفر. يتم إعادة التوصيل...
## Update notification
@@ -23,6 +23,8 @@ tips-find_tracker = لست متأكد من أجهزة التعقب؟ قم بتح
tips-do_not_move_heels = يرجى عدم تحريك كاحليك أثناء التسجيل!
tips-file_select = اسحب الملفات وأفلتها لاستخدامها أو <u> تصفح </ u>
tips-tap_setup = يمكنك النقر ببطء مرتين على جهاز التعقب لاختياره بدلاً من تحديده من القائمة.
tips-turn_on_tracker = هل تستخدم أجهزة تعقب SlimeVR الرسمية؟ تذكر <b><em> أن تشغل أجهزة التعقب </em></b> بعد توصيلها بالكمبيوتر!
tips-failed_webgl = فشل تهيئة WebGL.
## Body parts
@@ -122,6 +124,10 @@ widget-overlay-is_mirrored_label = عكس تراكب الشاشة
widget-drift_compensation-clear = حذف تعويض الانجراف
## Widget: Clear Reset Mounting
widget-clear_mounting = مسح إعادة تعيين التركيب
## Widget: Developer settings
widget-developer_mode = وضع المطوّر
@@ -140,6 +146,11 @@ widget-imu_visualizer-rotation_raw = صافي
widget-imu_visualizer-rotation_preview = عرض مسبق
widget-imu_visualizer-rotation_hide = إخفاء
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = إظهار الهيكل العظمي
widget-skeleton_visualizer-hide = إخفاء
## Tracker status
tracker-status-none = لا توجد حالة
@@ -148,6 +159,7 @@ tracker-status-error = خطأ
tracker-status-disconnected = فقد الاتصال
tracker-status-occluded = محجوب
tracker-status-ok = حسنًا
tracker-status-timed_out = انتهت المهله
## Tracker status columns
@@ -165,9 +177,15 @@ tracker-table-column-url = عنوان URL
## Tracker rotation
tracker-rotation-front = المقدمة
tracker-rotation-front_left = أمامي-يسار
tracker-rotation-front_right = أمامي -يمين
tracker-rotation-left = اليسار
tracker-rotation-right = اليمين
tracker-rotation-back = الخلف
tracker-rotation-back_left = الخلف اليسار
tracker-rotation-back_right = الخلف الأيمن
tracker-rotation-custom = مخصص
tracker-rotation-overriden = (تم تجاوزه عن طريق إعادة الضبط المتصاعد)
## Tracker information
@@ -180,6 +198,7 @@ tracker-infos-hardware_rev = مراجعة الأجهزة
tracker-infos-hardware_identifier = معرف الجهاز
tracker-infos-imu = مستشعر IMU
tracker-infos-board_type = اللوحة الرئيسية
tracker-infos-network_version = نسخة البروتوكول
## Tracker settings
@@ -199,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = السماح بتعويض ا
tracker-settings-name_section = اسم جهاز التعقب
tracker-settings-name_section-description = أعطها لقب لطيف :)
tracker-settings-name_section-placeholder = ساق نايتي بيست اليسرى
tracker-settings-forget = انسي جهاز التعقب
tracker-settings-forget-description = يزيل جهاز التعقب من خادم SlimeVR ويمنعه من الاتصال به حتى يتم إعادة تشغيل الخادم. لن تضيع تكوين جهاز التعقب.
tracker-settings-forget-label = ننسى جهاز التعقب
## Tracker part card info
@@ -272,6 +294,8 @@ settings-sidebar-osc_router = راوتر أوه أس سي
settings-sidebar-osc_trackers = أجهزة تعقب في ار تشات أوه أس سي
settings-sidebar-utils = الأدوات المساعدة
settings-sidebar-serial = وحدة التحكم التسلسلية
settings-sidebar-appearance = مظهر
settings-sidebar-notifications = إشعارات
## SteamVR settings
@@ -290,6 +314,14 @@ settings-general-steamvr-trackers-feet = القدمين
settings-general-steamvr-trackers-knees = الركبتين
settings-general-steamvr-trackers-elbows = الكوعين
settings-general-steamvr-trackers-hands = اليدين
settings-general-steamvr-trackers-tracker_toggling = تعيين جهاز التعقب تلقائي
settings-general-steamvr-trackers-tracker_toggling-description = يتعامل تلقائيا مع تبديل أجهزة تعقب SteamVR أو إيقاف تشغيلها اعتمادا على مهام التعقب الحالية
settings-general-steamvr-trackers-tracker_toggling-label = تعيين جهاز التعقب التلقائي
settings-general-steamvr-trackers-hands-warning =
<b>تحذير:</b> ستتجاوز أجهزة تعقب اليد وحدات التحكم الخاصة بك.
هل أنت متأكد؟
settings-general-steamvr-trackers-hands-warning-cancel = إلغاء
settings-general-steamvr-trackers-hands-warning-done = نعم
## Tracker mechanics
@@ -336,14 +368,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = يمكن أن ي
settings-general-fk_settings-leg_tweak-toe_snap-description = الانجذاب إلى أصابع القدم يحاول تخمين دوران قدميك إذا لم تكن أجهزة تعقب القدم قيد الاستخدام.
settings-general-fk_settings-leg_tweak-foot_plant-description = تثبيت اصبع القدم يحاول تخمين دوران قدميك إذا لم تكن أجهزة تعقب القدم قيد الاستخدام.
settings-general-fk_settings-leg_fk = تعقب الساق
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = تمكين إعادة ضبط تركيب القدمين عن طريق المشي على رؤوس الأصابع.
settings-general-fk_settings-leg_fk-reset_mounting_feet = إعادة تعيين تركيب القدمين
settings-general-fk_settings-arm_fk = تعقب الذراع
settings-general-fk_settings-arm_fk-description = تغيير طريقة تعقب الذراعين.
settings-general-fk_settings-arm_fk-force_arms = إجبار الذراعين من ايتش أم دي
settings-general-fk_settings-skeleton_settings = إعدادات الهيكل العظمي
settings-general-fk_settings-arm_fk-reset_mode-description = قم بتغيير وضع الذراع المتوقع لإعادة ضبط المتصاعد.
settings-general-fk_settings-arm_fk-back = العودة
settings-general-fk_settings-arm_fk-back-description = الوضع الافتراضي، مع وضع الذراعين العلويين إلى الخلف والساعدين للأمام.
settings-general-fk_settings-arm_fk-tpose_up = تي بوز (أعلى)
settings-general-fk_settings-arm_fk-tpose_up-description = يتوقع أن تكون ذراعيك لأسفل على الجانبين أثناء إعادة الضبط الكامل ، و 90 درجة حتى الجانبين أثناء إعادة ضبط التركيب.
settings-general-fk_settings-arm_fk-tpose_down = تي بوز (لأسفل)
settings-general-fk_settings-arm_fk-tpose_down-description = يتوقع أن تكون ذراعيك 90 درجة لأعلى على الجانبين أثناء إعادة الضبط الكامل ، ولأسفل على الجانبين أثناء إعادة ضبط التركيب.
settings-general-fk_settings-arm_fk-forward = أمامي
settings-general-fk_settings-arm_fk-forward-description = يتوقع أن تكون ذراعيك 90 درجة للأمام. مفيد ل VTubing.
settings-general-fk_settings-skeleton_settings-toggles = تبديل الهيكل العظمي
settings-general-fk_settings-skeleton_settings-description = تبديل إعدادات الهيكل العظمي أو إيقافه. يوصى بتركها شغالة.
settings-general-fk_settings-skeleton_settings-extended_spine = العمود الفقري الممتد
settings-general-fk_settings-skeleton_settings-extended_pelvis = الحوض الممتد
settings-general-fk_settings-skeleton_settings-extended_knees = الركبة الممتدة
settings-general-fk_settings-skeleton_settings-extended_spine_model = نموذج العمود الفقري الممتد
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = نموذج الحوض الممتد
settings-general-fk_settings-skeleton_settings-extended_knees_model = نموذج الركبة الممتدة
settings-general-fk_settings-skeleton_settings-ratios = نسب الهيكل العظمي
settings-general-fk_settings-skeleton_settings-ratios-description = تغيير قيم إعدادات الهيكل العظمي. قد تحتاج إلى ضبط النسب الخاصة بك بعد تغييرها.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = خصص الخصر من الصدر إلى الورك
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = خصص الخصر من الصدر إلى الساقين
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = خصص الورك من الصدر إلى الساقين
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = خصص الورك من الخصر إلى الساقين
settings-general-fk_settings-skeleton_settings-interp_hip_legs = متوسط انعراج الفخذ وتدحرج مع الساقين'
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = متوسط الانحراف وتدحرج مع الكاحلين
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = متوسط انحراف الركبتين ولفة مع الكاحلين
settings-general-fk_settings-self_localization-title = وضع Mocap
settings-general-fk_settings-self_localization-description = يسمح وضع Mocap للهيكل العظمي بتعقب موضعه تقريبا بدون سماعة رأس أو أجهزة تعقب أخرى. لاحظ أن هذا يتطلب أجهزة تعقب القدمين والرأس للعمل ولا تزال تجريبية.
settings-general-fk_settings-vive_emulation-title = محاكاة فايف
settings-general-fk_settings-vive_emulation-description = محاكاة مشاكل تعقب الخصر التي تعاني منها أجهزة تعقب فايف. هذه مزحة وتجعل التتبع أسوأ.
settings-general-fk_settings-vive_emulation-label = تمكين محاكاة فايف
@@ -364,6 +418,17 @@ settings-general-gesture_control-taps =
[many] { $amount } نقرات
*[other] { $amount } نقرات
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[zero] لا أجهزة تعقب
[one] جهاز تعقب واحد
[two] جهازي تعقب
[few] { "" }
[many] { "" }
*[other] { $amount } أجهزة تعقب
}
settings-general-gesture_control-yawResetEnabled = تمكين النقر لإعادة التعيين الانعراج
settings-general-gesture_control-yawResetDelay = إعادة تعيين التأخير الانعراج
settings-general-gesture_control-yawResetTaps = عدد النقرات لإعادة تعيين الانعراج
@@ -373,13 +438,32 @@ settings-general-gesture_control-fullResetTaps = عدد النقرات لإعا
settings-general-gesture_control-mountingResetEnabled = تمكين النقر لإعادة تعيين التركيب
settings-general-gesture_control-mountingResetDelay = تأخير إعادة تعيين التركيب
settings-general-gesture_control-mountingResetTaps = نقرات لإعادة تعيين التركيب
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = أجهزة تعقب فوق قيمة القطع
settings-general-gesture_control-numberTrackersOverThreshold-description = قم بزيادة هذه القيمة إذا كان اكتشاف النقر لا يعمل. لا تقم بزيادته فوق ما هو مطلوب لجعل اكتشاف النقر يعمل لأنه قد يتسبب في المزيد من الإيجابيات الخاطئة.
## Interface settings
## Appearance settings
settings-general-interface = واجهة المستخدم
settings-interface-appearance = مظهر
settings-general-interface-dev_mode = وضع المطوّر
settings-general-interface-dev_mode-description = يمكن أن يكون هذا الوضع مفيدًا إذا كنت بحاجة إلى بيانات متعمقة أو للتفاعل مع أجهزة التعقب المتصلة على مستوى أكثر تقدمًا.
settings-general-interface-dev_mode-label = وضع المطوّر
settings-general-interface-theme = موضوع اللون
settings-general-interface-lang = اختر اللغة
settings-general-interface-lang-description = قم بتغيير اللغة الافتراضية التي تريد استخدامها.
settings-general-interface-lang-placeholder = اختر اللغة التي تريد استخدامها
# Keep the font name untranslated
settings-interface-appearance-font = خط واجهة المستخدم الرسومية
settings-interface-appearance-font-description = هذا يغير الخط المستخدم من قبل الواجهة.
settings-interface-appearance-font-placeholder = الخط الافتراضي
settings-interface-appearance-font-os_font = خط نظام التشغيل
settings-interface-appearance-font-slime_font = الخط الافتراضي
settings-interface-appearance-font_size = قياس الخط الأساسي
settings-interface-appearance-font_size-description = يؤثر هذا على حجم خط الواجهة بأكملها باستثناء لوحة الإعدادات هذه.
## Notification settings
settings-interface-notifications = إشعارات
settings-general-interface-serial_detection = الكشف عن جهاز تسلسلي
settings-general-interface-serial_detection-description = سيعرض هذا الخيار نافذة منبثقة في كل مرة تقوم فيها بتوصيل جهاز تسلسلي جديد يمكن أن يكون جهاز تعقب. يساعد في تحسين عملية إعداد جهاز التعقب.
settings-general-interface-serial_detection-label = الكشف عن جهاز تسلسلي
@@ -387,10 +471,12 @@ settings-general-interface-feedback_sound = صوت ردود الفعل
settings-general-interface-feedback_sound-description = سيصدر هذا الخيار صوتًا عند تشغيل إعادة الضبط
settings-general-interface-feedback_sound-label = صوت ردود الفعل
settings-general-interface-feedback_sound-volume = حجم صوت ردود الفعل
settings-general-interface-theme = موضوع اللون
settings-general-interface-lang = اختر اللغة
settings-general-interface-lang-description = قم بتغيير اللغة الافتراضية التي تريد استخدامها.
settings-general-interface-lang-placeholder = اختر اللغة التي تريد استخدامها
settings-general-interface-connected_trackers_warning = تحذير عن أجهزة التعقب المتصلة
settings-general-interface-connected_trackers_warning-description = سيعرض هذا الخيار نافذة كل مرة تحاول فيها الخروج من SlimeVR أثناء وجود جهاز أو أكثر من أجهزة التعقب المتصلة. سيذكرك بإيقاف تشغيل أجهزة التعقب عند الانتهاء للحفاظ على عمر البطارية.
settings-general-interface-connected_trackers_warning-label = تحذير عن أجهزة التعقب المتصلة عند الخروج
settings-general-interface-use_tray = تصغير إلى علبة النظام
settings-general-interface-use_tray-description = يتيح لك إغلاق النافذة دون إغلاق خادم SlimeVR حتى تتمكن من الاستمرار في استخدامه دون إزعاجك من واجهة المستخدم الرسومية.
settings-general-interface-use_tray-label = تصغير إلى علبة النظام
## Serial settings
@@ -412,6 +498,7 @@ settings-serial-factory_reset-warning-cancel = إلغاء
settings-serial-get_infos = احصل على معلومات
settings-serial-serial_select = اختر منفذ تسلسلي
settings-serial-auto_dropdown_item = تلقائي
settings-serial-get_wifi_scan = احصل على فحص WiFi
## OSC router settings
@@ -577,8 +664,8 @@ onboarding-done-close = إغلاق الدليل
onboarding-connect_tracker-back = العودة إلى بيانات اعتماد الواي فاي
onboarding-connect_tracker-title = ربط أجهزة التعقب
onboarding-connect_tracker-description-p0 = ننتقل الآن إلى الجزء الممتع ، ربط جميع أجهزة التعقب!
onboarding-connect_tracker-description-p1 = ما عليك سوى توصيل كل ما لم يتم توصيله بعد من خلال منفذ يو أس بي.
onboarding-connect_tracker-description-p0-v1 = ننتقل الآن إلى الجزء الممتع ، ربط أجهزة التعقب!
onboarding-connect_tracker-description-p1-v1 = قم بتوصيل كل جهاز تعقب واحدا تلو الآخر من خلال منفذ USB.
onboarding-connect_tracker-issue-serial = أواجه مشكلة في الاتصال!
onboarding-connect_tracker-usb = جهاز تعقب يو أس بي
onboarding-connect_tracker-connection_status-none = نبحث عن أجهزة التعقب
@@ -623,8 +710,8 @@ onboarding-assignment_tutorial = كيفية تحضير جهاز تعقب Slime
onboarding-assignment_tutorial-first_step = 1. ضع ملصق جزء الجسم (إذا كان لديك واحد) على جهاز التعقب وفقا لاختيارك
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = ملصق
onboarding-assignment_tutorial-second_step = 2. قم بتوصيل الشريط بجهاز التعقب الخاص بك ، مع الحفاظ على جانب الخطاف والحلقة من وجه الشريط في الاتجاه التالي:
onboarding-assignment_tutorial-second_step-continuation = يجب أن يكون جانب الخطاف والحلقة للامتداد في هذا الاتجاه:
onboarding-assignment_tutorial-second_step-v2 = 2. قم بتوصيل الشريط بجهاز التعقب، مع الحفاظ على جانب الفيلكرو من الشريط في نفس اتجاه وجه السلايم لجهاز التعقب:
onboarding-assignment_tutorial-second_step-continuation-v2 = يجب أن يكون جانب الفيلكرو للامتداد متجها للأعلى مثل الصورة التالية:
onboarding-assignment_tutorial-done = وضعت الملصقات والأشرطة!
## Tracker assignment setup
@@ -646,6 +733,7 @@ onboarding-assign_trackers-assigned =
}
onboarding-assign_trackers-advanced = إظهار مواقع التعيين المتقدمة
onboarding-assign_trackers-next = لقد عينت جميع أجهزة التعقب
onboarding-assign_trackers-mirror_view = عرض المرآة
## Tracker assignment warnings
@@ -728,6 +816,13 @@ onboarding-choose_mounting-manual_mounting = التركيب اليدوي
# Italized text
onboarding-choose_mounting-manual_mounting-label = المستحسن
onboarding-choose_mounting-manual_mounting-description = سيسمح لك باختيار اتجاه التثبيت يدويًا لكل جهاز تعقب
# Multiline text
onboarding-choose_mounting-manual_modal-title =
هل أنت متأكد من أنك تريد
معايرة التركيب التلقائي؟
onboarding-choose_mounting-manual_modal-description = <b>يوصى بمعايرة التركيب اليدوي للمستخدمين الجدد</b> ، حيث قد يكون من الصعب الحصول على أوضاع معايرة التركيب التلقائي الصحيحة من اول مرة وقد تتطلب بعض التمرين.
onboarding-choose_mounting-manual_modal-confirm = أنا أعرف ماذا أفعل
onboarding-choose_mounting-manual_modal-cancel = إلغاء
## Tracker manual mounting setup
@@ -762,18 +857,25 @@ onboarding-automatic_mounting-put_trackers_on-next = ارتديت جميع أج
onboarding-choose_proportions = ما هي طريقة معايرة النسب التي يجب استخدامها؟
# Multiline string
onboarding-choose_proportions-description =
تستخدم نسب الجسم لمعرفة قياسات جسمك. هم مطلوبون لحساب مواقع أجهزة التعقب.
عندما لا تتطابق نسب جسمك مع تلك المحفوظة ، ستكون دقة التتبع لديك أسوأ وستلاحظ أشياء مثل التزلج أو الانزلاق ، أو أن جسمك لا يتطابق مع الصورة الرمزية بشكل جيد.
onboarding-choose_proportions-description-v1 =
تستخدم نسب الجسم لمعرفة قياسات جسمك. إنهم مطالبون لحساب مواقع أجهزة التعقب.
عندما لا تتطابق نسب جسمك مع تلك المحفوظة ، ستكون دقة التعقب أسوأ وستلاحظ أشياء مثل التزلج أو الانزلاق ، أو أن جسمك لا يتطابق مع صورتك الرمزية جيدا.
<b>ما عليك سوى قياس جسمك مرة واحدة!</b> إن لم تكن خاطئة أو تغير جسمك ، فلن تحتاج إلى القيام بها مرة أخرى.
onboarding-choose_proportions-auto_proportions = النسب التلقائية
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = الموصى به
onboarding-choose_proportions-auto_proportions-description = سيقدر هذا النسب الخاصة بك عن طريق تسجيل عينة من حركاتك وتمريرها من خلال برنامج
onboarding-choose_proportions-auto_proportions-descriptionv3 =
سيؤدي ذلك إلى تخمين نسبك عن طريق تسجيل عينة من تحركاتك وتمريرها عبر خوارزمية.
<b>يتطلب ذلك توصيل جهاز الواقع الافتراضي (HMD) ب SlimeVR و وضعها على رأسك!</b>
onboarding-choose_proportions-manual_proportions = النسب اليدوية
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = للمسات الصغيرة
onboarding-choose_proportions-manual_proportions-description = سيسمح لك بتعديل النسب يدويًا عن طريق تعديلها مباشرة
onboarding-choose_proportions-export = تصدير النسب
onboarding-choose_proportions-import = استيراد النسب
onboarding-choose_proportions-import-success = تم استيراده
onboarding-choose_proportions-import-failed = فشل
onboarding-choose_proportions-file_type = ملف نسب الجسم
## Tracker manual proportions setup
@@ -796,14 +898,28 @@ onboarding-automatic_proportions-put_trackers_on-description = لمعايرة ن
onboarding-automatic_proportions-put_trackers_on-next = ارتديت جميع أجهزة التعقب.
onboarding-automatic_proportions-requirements-title = المتطلبات
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
لديك على الأقل ما يكفي من أجهزة تعقب لتعقب قدميك (بشكل عام 5 أجهزة تعقب).
ارتديت أجهزة التعقب وسماعة الرأس.
شغلت أجهزة التعقب وسماعة الرأس.
أجهزة التعقب وسماعات الرأس متصلة بسرفر سلايم في ار.
تعمل أجهزة التتبع وسماعات الرأس بشكل صحيح داخل سرفر سلايم في ار .
تقوم سماعة الرأس الخاصة بك بالإبلاغ عن بيانات الموقع إلى سرفر سلايم في ار (وهذا يعني بشكل عام تشغيل سلايم في ار وتوصيله بـ سلايم في ار باستخدام برنامج تشغيل ستيم في ار من سلايم في ار ).
onboarding-automatic_proportions-requirements-descriptionv2 =
لديك على الأقل ما يكفي من أجهزة التعقب لتتبع قدميك (بشكل عام 5 أجهزة تعقب).
لديك أجهزة التعقب وجهاز الواقع الافتراضي الخاص بك وترتديهم.
أجهزة التعقب وجهاز الواقع الافتراضي متصلة بخادم SlimeVR وتعمل بشكل صحيح (مثلاً، لا يوجد تأتأة أو قطع اتصال ، إلخ).
يقوم جهاز الواقع الافتراضي بالإبلاغ عن البيانات الموضعية إلى خادم SlimeVR (وهذا يعني عموما تشغيل SteamVR وتوصيله ب SlimeVR باستخدام برنامج تشغيل SteamVR الخاص ب SlimeVR).
يعمل التتبع الخاص بك ويمثل تحركاتك بدقة (على سبيل المثال ، لقد أجريت إعادة تعيين كاملة وتتحرك في الاتجاه الصحيح عند الركل, الانحناء, الجلوس, إلخ).
onboarding-automatic_proportions-requirements-next = لقد قرأت المتطلبات
onboarding-automatic_proportions-check_height-title = تحقق من طولك
onboarding-automatic_proportions-check_height-description = نستخدم طولك كأساس لقياساتنا باستخدام ارتفاع HMD كتقريب لطولك الفعلي ، ولكن من الأفضل التحقق مما إذا كانت صحيحة بنفسك!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = يرجى الضغط على الزر أثناء الوقوف <u>في وضع مستقيم</u> لحساب طولك. لديك 3 ثوان بعد الضغط على الزر!
onboarding-automatic_proportions-check_height-guardian_tip =
إذا كنت تستخدم سماعة رأس VR مستقلة ، فتأكد من تشغيل حدود الحارس /
لكي يكون طولك صحيحا!
onboarding-automatic_proportions-check_height-fetch_height = أنا واقف!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = مجهول
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = طولك من خلال HMD
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = لذا فإن طولك الفعلي هو
onboarding-automatic_proportions-check_height-next_step = انهم بخير
onboarding-automatic_proportions-start_recording-title = استعد للتحرك
onboarding-automatic_proportions-start_recording-description = سنقوم الآن بتسجيل بعض الوضعيات والحركات المحددة. ستتم مطالبتك بذلك في الشاشة التالية. كن مستعدا للبدء عند الضغط على الزر!
onboarding-automatic_proportions-start_recording-next = بدء التسجيل
@@ -837,11 +953,24 @@ onboarding-automatic_proportions-verify_results-redo = إعادة التسجيل
onboarding-automatic_proportions-verify_results-confirm = تبدو صحيحة
onboarding-automatic_proportions-done-title = تم قياس الجسم و حفظه.
onboarding-automatic_proportions-done-description = اكتملت معايرة نسب جسمك!
onboarding-automatic_proportions-error_modal =
<b>تحذير:</b> تم العثور على خطأ أثناء تقدير النسب!
يرجى <docs>التحقق من المستندات</docs> أو الانضمام إلى <discord>Discord</discord> للحصول على المساعدة ^_^
onboarding-automatic_proportions-error_modal-confirm = مفهوم!
## Home
home-no_trackers = لم يتم الكشف أو تعيين عن أي جهاز تعقب
## Trackers Still On notification
trackers_still_on-modal-title = أجهزة التعقب لا تزال قيد التشغيل
trackers_still_on-modal-description =
لا يزال واحد أو أكثر من أجهزة التعقب قيد التشغيل.
هل مازلت تريد الخروج من SlimeVR؟
trackers_still_on-modal-confirm = الخروج من SlimeVR
trackers_still_on-modal-cancel = انتظر...
## Status system
status_system-StatusTrackerReset = يوصى بإجراء إعادة تعيين كاملة نظرًا لعدم تعديل واحد أو أكثر من أجهزة التعقب.
@@ -851,3 +980,31 @@ status_system-StatusSteamVRDisconnected =
*[other] حاليًا غير متصل بـ SteamVR عبر برنامج تشغيل SlimeVR.
}
status_system-StatusTrackerError = يحتوي جهاز التعقب { $trackerName } على خطأ.
## Tray Menu
tray_menu-show = عرض
tray_menu-hide = إخفاء
tray_menu-quit = انهاء
## First exit modal
tray_or_exit_modal-title = ماذا يجب أن يفعل زر الإغلاق؟
# Multiline text
tray_or_exit_modal-description =
يتيح لك ذلك اختيار ما إذا كنت تريد الخروج من الخادم أو تصغيره إلى علبة النظام عند الضغط على زر الإغلاق.
يمكنك تغيير هذا لاحقا في إعدادات الواجهة!
tray_or_exit_modal-radio-exit = الخروج عند الإغلاق
tray_or_exit_modal-radio-tray = تصغير إلى علبة النظام
tray_or_exit_modal-submit = احفظ
tray_or_exit_modal-cancel = إلغاء
## Unknown device modal
unknown_device-modal-title = تم العثور على جهاز تعقب جديد!
unknown_device-modal-description =
هناك جهاز تعقب جديد مع عنوان MAC <b>{ $deviceId }</b>.
هل تريد توصيله ب SlimeVR؟
unknown_device-modal-confirm = أكيد
unknown_device-modal-forget = تجاهلها

View File

@@ -8,15 +8,23 @@
## Websocket (server) status
websocket-connecting = Připojování k serveru
websocket-connection_lost = Ztráta spojení se serverem. Pokus o obnovení připojení...
websocket-connection_lost = Ztraceno spojení se serverem. Pokouším se znovu připojit...
## Update notification
version_update-title = K dispozici je nová verze: { $version }
version_update-description = Kliknutím na "{ version_update-update }", stáhnete instalační program SlimeVR.
version_update-update = Aktualizace
version_update-close = Zavřít
## Tips
tips-find_tracker = Nejste si jisti, který tracker je který? Zatřeste tracker a zvýrazní se odpovídající položka.
tips-do_not_move_heels = Ujistěte se, že se vaše paty během nahrávání nepohybují!
tips-do_not_move_heels = Během nahrávání se ujistěte, že se vaše paty nepohybují!
tips-file_select = Nahrajte soubory přetažením zde, nebo tlačítkem <u>procházet</u>
tips-tap_setup = Pro výběr trackeru na něj můžete dvakrát pomalu poklepat, místo výběru z nabídky.
tips-turn_on_tracker = Máte oficiální SlimeVR trackery? <b><em>Po připojení k PC je nezapomeňte zapnout!</em></b>
tips-failed_webgl = Načtení WebGL selhalo.
## Body parts
@@ -30,6 +38,7 @@ body_part-RIGHT_HAND = Pravá ruka
body_part-RIGHT_UPPER_LEG = Pravé stehno
body_part-RIGHT_LOWER_LEG = Pravý kotník
body_part-RIGHT_FOOT = Pravá noha
body_part-UPPER_CHEST = Horní část hrudníku
body_part-CHEST = Hrudník
body_part-WAIST = Pás
body_part-HIP = Kyčel
@@ -46,12 +55,15 @@ body_part-LEFT_FOOT = Levá noha
skeleton_bone-NONE = Žádný
skeleton_bone-HEAD = Posun hlavy
skeleton_bone-NECK = Délka krku
skeleton_bone-CHEST = Délka hrudníku
skeleton_bone-torso_group = Délka trupu
skeleton_bone-UPPER_CHEST = Horní délka hrudníku
skeleton_bone-CHEST_OFFSET = Odsazení hrudníku
skeleton_bone-CHEST = Délka hrudníku
skeleton_bone-WAIST = Délka pasu
skeleton_bone-HIP = Délka kyčlí
skeleton_bone-HIP_OFFSET = Odsazení hrudníku
skeleton_bone-HIPS_WIDTH = Šířka kyčlí
skeleton_bone-leg_group = Délka nohy
skeleton_bone-UPPER_LEG = Délka horní části nohy
skeleton_bone-LOWER_LEG = Délka dolní části nohy
skeleton_bone-FOOT_LENGTH = Délka chodidla
@@ -59,23 +71,27 @@ skeleton_bone-FOOT_SHIFT = Odsazení chodidla
skeleton_bone-SKELETON_OFFSET = Odsazení kostry
skeleton_bone-SHOULDERS_DISTANCE = Vzdálenost ramen
skeleton_bone-SHOULDERS_WIDTH = Šířka ramen
skeleton_bone-arm_group = Délka paže
skeleton_bone-UPPER_ARM = Délka nadloktí
skeleton_bone-LOWER_ARM = Délka podloktí
skeleton_bone-HAND_Y = Vzdálenost ruky na ose Y
skeleton_bone-HAND_Z = Vzdálenost ruky na ose Z
skeleton_bone-ELBOW_OFFSET = Odsazení loktů
## Tracker reset buttons
reset-reset_all = Obnovení všech proporcí
reset-full = Resetovat
reset-mounting = Obnovit montáž
reset-reset_all = Obnovit nastavení proporcí
reset-full = Plný Reset
reset-mounting = Znovu nastavit nasazení
reset-yaw = Rychlý reset
## Serial detection stuff
serial_detection-new_device-p0 = Nové sériové zařízení detekováno!
serial_detection-new_device-p0 = Bylo detekováno nové sériové zařízení!
serial_detection-new_device-p1 = Zadejte přihlašovací údaje Wi-Fi!
serial_detection-new_device-p2 = Vyberte prosím, co s tím chcete udělat
serial_detection-new_device-p2 = Vyberte akci kterou chcete vykonat.
serial_detection-open_wifi = Připojit se k Wi-Fi
serial_detection-open_serial = Otevřít sériovou konzolu
serial_detection-open_serial = Otevřít sériovou konzoly
serial_detection-submit = Odeslat!
serial_detection-close = Zavřít
@@ -84,13 +100,13 @@ serial_detection-close = Zavřít
navbar-home = Domů
navbar-body_proportions = Tělesné proporce
navbar-trackers_assign = Přiřazení trackerů
navbar-mounting = Montážní kalibrace
navbar-mounting = Kalibrace nasazení
navbar-onboarding = Průvodce nastavením
navbar-settings = Nastavení
## Biovision hierarchy recording
bvh-start_recording = Nahrávat BVH
bvh-start_recording = Nahrát BVH
bvh-recording = Nahrávání...
## Tracking pause
@@ -108,13 +124,17 @@ widget-overlay-is_mirrored_label = Zobrazit překrytí jako zrcadlo
widget-drift_compensation-clear = Vymazat kompenzaci driftu
## Widget: Clear Reset Mounting
widget-clear_mounting = Vymazat reset nasazení
## Widget: Developer settings
widget-developer_mode = Vývojářský režim
widget-developer_mode-high_contrast = Vysoký kontrast
widget-developer_mode-precise_rotation = Přesná rotace
widget-developer_mode-fast_data_feed = Rychlý přenos dat
widget-developer_mode-filter_slimes_and_hmd = Filtrovat slimy a HMD
widget-developer_mode-filter_slimes_and_hmd = Filtrovat trackery a HMD
widget-developer_mode-sort_by_name = Seřadit podle názvu
widget-developer_mode-raw_slime_rotation = Nezpracovaná rotace
widget-developer_mode-more_info = Více informací
@@ -126,6 +146,11 @@ widget-imu_visualizer-rotation_raw = Nezpracované
widget-imu_visualizer-rotation_preview = Náhled
widget-imu_visualizer-rotation_hide = Skrýt
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Náhled kostry
widget-skeleton_visualizer-hide = Skrýt
## Tracker status
tracker-status-none = Žádný stav
@@ -134,6 +159,7 @@ tracker-status-error = Chyba
tracker-status-disconnected = Odpojeno
tracker-status-occluded = Zakrytý
tracker-status-ok = OK
tracker-status-timed_out = Spojení přerušeno
## Tracker status columns
@@ -151,38 +177,49 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Přední
tracker-rotation-front_left = Vpředu vlevo
tracker-rotation-front_right = Vpředu vpravo
tracker-rotation-left = Levá
tracker-rotation-right = Pravá
tracker-rotation-back = Zadní
tracker-rotation-back_left = Vzadu vlevo
tracker-rotation-back_right = Vzadu vpravo
tracker-rotation-custom = Vlastní nastavení
tracker-rotation-overriden = (přepsáno kalibrací nasazení)
## Tracker information
tracker-infos-manufacturer = Výrobce
tracker-infos-display_name = Zobrazovaný název
tracker-infos-display_name = Zobrazený název
tracker-infos-custom_name = Vlastní název
tracker-infos-url = URL Trackeru
tracker-infos-version = Verze firmwaru
tracker-infos-hardware_rev = Revize hardwaru
tracker-infos-hardware_identifier = ID hardwaru
tracker-infos-imu = Senzor IMU
tracker-infos-board_type = Základní deska
tracker-infos-network_version = Verze protokolu
## Tracker settings
tracker-settings-back = Zpět na seznam trackerů
tracker-settings-title = Nastavení trackeru
tracker-settings-assignment_section = Přiřazení
tracker-settings-assignment_section-description = K jaké části těla je tracker přiřazen.
tracker-settings-assignment_section-description = Na kterou část těla je tracker přiřazen?
tracker-settings-assignment_section-edit = Upravit přiřazení
tracker-settings-mounting_section = Montážní poloha
tracker-settings-mounting_section-description = Kde je tracker namontován?
tracker-settings-mounting_section-edit = Upravit montáž
tracker-settings-mounting_section = Poloha nasazení
tracker-settings-mounting_section-description = Na jakou stranu je tracker nasazený?
tracker-settings-mounting_section-edit = Upravit nasazení
tracker-settings-drift_compensation_section = Povolit kompenzaci driftu
tracker-settings-drift_compensation_section-description = Měl by tento tracker kompenzovat svůj drift, když je zapnuta kompenzace driftu?
tracker-settings-drift_compensation_section-edit = Povolit kompenzaci driftu
# The .<name> means it's an attribute and it's related to the top key.
# In this case that is the settings for the assignment section.
tracker-settings-name_section = Název trackeru
tracker-settings-name_section-description = Dejte tomu nějakou roztomilou přezdívku :)
tracker-settings-name_section-placeholder = Levá noha NightyBeast
tracker-settings-name_section-description = Třeba nějakou roztomilou přezdívku :)
tracker-settings-name_section-placeholder = Erimelova levá tlapka
tracker-settings-forget = Zapomenout tracker
tracker-settings-forget-label = Zapomenout tracker
## Tracker part card info
@@ -192,7 +229,7 @@ tracker-part_card-unassigned = Nepřiřazeno
## Body assignment menu
body_assignment_menu = Kde chcete, aby tento tracker byl?
body_assignment_menu-description = Zvolte umístění, kam má být tento tracker přiřazen. Případně můžete spravovat všechny trackery najednou, místo jednoho po druhém.
body_assignment_menu-description = Vyberte, kam chcete tento tracker umístit. Nebo můžete spravovat všechny trackery najednou, místo jednoho po druhém.
body_assignment_menu-show_advanced_locations = Zobrazit pokročilá místa přiřazení
body_assignment_menu-manage_trackers = Spravovat všechny trackery
body_assignment_menu-unassign_tracker = Zrušit přiřazení trackeru
@@ -216,6 +253,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } pravému st
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } pravému kotníku?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } pravému chodidlu?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } pravému ovladači?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } k horní část hrudníku?
tracker_selection_menu-CHEST = { -tracker_selection-part } hrudníku?
tracker_selection_menu-WAIST = { -tracker_selection-part } pasu?
tracker_selection_menu-HIP = Který tracker přiřadit ke kyčli?
@@ -233,9 +271,9 @@ tracker_selection_menu-dont_assign = Nepřiřazovat
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Varování:</b> Příliš pevně nastavený tracker krku může být smrtelně nebezpečný,
popruh může přerušit krevní oběh v hlavě!
tracker_selection_menu-neck_warning-done = Chápu rizika
<b>Varování:</b> Krční tracker může být smrtelný, pokud je popruh
utažen příliš těsně. Popruh by mohl přerušit krevní oběh do hlavy!
tracker_selection_menu-neck_warning-done = Chápu riziko
tracker_selection_menu-neck_warning-cancel = Zrušit
## Mounting menu
@@ -252,8 +290,11 @@ settings-sidebar-fk_settings = Nastavení trackování
settings-sidebar-gesture_control = Ovládání gesty
settings-sidebar-interface = Rozhraní
settings-sidebar-osc_router = OSC router
settings-sidebar-osc_trackers = VRChat OSC tracker
settings-sidebar-utils = Nástroje
settings-sidebar-serial = Sériová konzole
settings-sidebar-appearance = Vzhled
settings-sidebar-notifications = Notifikace
## SteamVR settings
@@ -268,10 +309,10 @@ settings-general-steamvr-description =
Užitečné pro hry nebo aplikace, které podporují pouze určité trackery.
settings-general-steamvr-trackers-waist = Pás
settings-general-steamvr-trackers-chest = Hrudník
settings-general-steamvr-trackers-feet = Chodidla
settings-general-steamvr-trackers-knees = Kolena
settings-general-steamvr-trackers-elbows = Lokty
settings-general-steamvr-trackers-hands = Ruce
settings-general-steamvr-trackers-tracker_toggling = Automatické přiřazení trackeru
settings-general-steamvr-trackers-tracker_toggling-description = Automaticky zapne trackery ve SteamVR v závislosti na aktuálním přiřazením trackerů.
settings-general-steamvr-trackers-hands-warning-cancel = Zrušit
settings-general-steamvr-trackers-hands-warning-done = Ano
## Tracker mechanics
@@ -283,11 +324,11 @@ settings-general-tracker_mechanics-filtering-description =
Predikce předpovídá pohyb, zatímco vyhlazování pohyb vyhlazuje.
settings-general-tracker_mechanics-filtering-type = Typ filtrování
settings-general-tracker_mechanics-filtering-type-none = Žádné filtrování
settings-general-tracker_mechanics-filtering-type-none-description = Použít rotaci tak, jak e. Nebude se provádět žádné filtrování.
settings-general-tracker_mechanics-filtering-type-none-description = Použít rotace tak, jak jsou. Nebude provedeno žádné filtrování.
settings-general-tracker_mechanics-filtering-type-smoothing = Vyhlazování
settings-general-tracker_mechanics-filtering-type-smoothing-description = Vyhlazuje pohyby, ale přidává určité zpoždění.
settings-general-tracker_mechanics-filtering-type-smoothing-description = Vyhlazuje pohyby, ale přidává mírné zpoždění.
settings-general-tracker_mechanics-filtering-type-prediction = Predikce
settings-general-tracker_mechanics-filtering-type-prediction-description = Snižuje zpoždění a zrychluje pohyby, ale může zvýšit jitter.
settings-general-tracker_mechanics-filtering-type-prediction-description = Zkracuje prodlevu a zrychluje pohyby, ale může způsobit třesení trackerů.
settings-general-tracker_mechanics-filtering-amount = Množství
settings-general-tracker_mechanics-drift_compensation = Kompenzace driftu
# This cares about multilines
@@ -297,6 +338,7 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Kompenzace driftu
settings-general-tracker_mechanics-drift_compensation-amount-label = Množství kompenzace
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Použít až x posledních obnovení
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Uložit "Kalibraci nasazení"
## FK/Tracking settings
@@ -310,17 +352,32 @@ settings-general-fk_settings-leg_tweak-floor_clip = Podlahovej clip
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
settings-general-fk_settings-leg_tweak-skating_correction = Korekce bruslení
settings-general-fk_settings-leg_tweak-skating_correction-amount = Síla korekce bruslení
settings-general-fk_settings-leg_tweak-toe_snap = Přichycení špiček
settings-general-fk_settings-leg_tweak-foot_plant = Narovnání chodidla
settings-general-fk_settings-leg_tweak-skating_correction-amount = Síla korekce "bruslení"
settings-general-fk_settings-leg_tweak-skating_correction-description = Korekce bruslení snižuje effect "bruslení", ale může snížit přesnost u některých pohybů. Pokud tuto funkci povolíte, nezapomeňte provést úplný reset a zkalibrovat se ve hře.
settings-general-fk_settings-leg_tweak-floor_clip-description = Připnutí k podlaze může zlepšit nebo dokonce zabránit propadání trackerů podlahou. Při zapnutí této funkce nezapomeňte provést úplný reset a zkalibrovat se ve hře.
settings-general-fk_settings-leg_tweak-toe_snap-description = Přichycení špiček se pokouší odhadnout rotaci vašich chodidel v případě, že nepoužíváte trackery chodidel.
settings-general-fk_settings-leg_tweak-foot_plant-description = Narovnání chodidla při dotyku narovnává chodidla tak, aby byla rovnoběžně se zemí.
settings-general-fk_settings-leg_fk = Sledování nohou
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Aktivovat reset nasazení nohou stoupnutím na špičky.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset nasazení nohou
settings-general-fk_settings-arm_fk = Trackování ramen
settings-general-fk_settings-arm_fk-description = Změna způsobu sledování ramen.
settings-general-fk_settings-arm_fk-force_arms = Vynucení ramen z HMD
settings-general-fk_settings-skeleton_settings = Nastavení kostry
settings-general-fk_settings-arm_fk-description = Vynutit sledování rukou z VR headsetu, i když jsou k dispozici údaje o poloze rukou z trackerů.
settings-general-fk_settings-arm_fk-force_arms = Vynutit ruce z VR Headsetu
settings-general-fk_settings-arm_fk-reset_mode-description = Nastavte pózu rukou použitá pro reset nasazení.
settings-general-fk_settings-arm_fk-back = Paže dozadu
settings-general-fk_settings-arm_fk-back-description = Výchozí režim: paže směřují dozadu, předloktí dopředu.
settings-general-fk_settings-arm_fk-tpose_up = T-póza (ruce nahoru)
settings-general-fk_settings-arm_fk-tpose_up-description = Před zahájením plného resetu, očekává že stojíte vzpřímeně a máte paže volně spuštěné podél těla. A pro reset umístění zaujměte uvolněný postoj a pomalu zvedněte paže do pozice Téčka (90 stupňů jako písmeno T).
settings-general-fk_settings-arm_fk-tpose_down = T-póza (ruce dolů)
settings-general-fk_settings-arm_fk-tpose_down-description = Před zahájením plného resetu, očekává že zaujmete uvolněný postoj a pomalu zvednete paže do pozice Téčka (90 stupňů jako písmeno T). A pro reset umístění, že stojíte vzpřímeně a máte paže volně spuštěné podél těla.
settings-general-fk_settings-arm_fk-forward = Vpřed
settings-general-fk_settings-arm_fk-forward-description = Ideální pozice pro Vtubing: zvedněte paže do 90 stupňového úhlu. (90 stupňů jako písmeno T).
settings-general-fk_settings-skeleton_settings-description = Zapnutí nebo vypnutí nastavení kostry. Je doporučeno je ponechat zapnuté.
settings-general-fk_settings-skeleton_settings-extended_spine = Prodloužená páteř
settings-general-fk_settings-skeleton_settings-extended_pelvis = Prodloužená pánev
settings-general-fk_settings-skeleton_settings-extended_knees = Prodloužené koleno
settings-general-fk_settings-self_localization-description = Režim Mocap je experimentální funkce, která dokáže přibližně určit polohu vašeho těla bez VR Headsetu a dalších trackerů. Pro správnou funkci je však nutné mít trackery pro nohy a hlavu.
settings-general-fk_settings-vive_emulation-title = Vive emulace
settings-general-fk_settings-vive_emulation-description = Napodobit problémy se sledováním pasu, které mají trackery Vive. Tohle je vtip a zhoršuje sledování.
settings-general-fk_settings-vive_emulation-description = Napodobit problémy Vive trackerů. Tohle je jenom pro vtip a zhoršuje trackování.
settings-general-fk_settings-vive_emulation-label = Povolení emulace Vive
## Gesture control settings (tracker tapping)
@@ -336,22 +393,54 @@ settings-general-gesture_control-taps =
[few] { $amount } klepnutí
*[other] { $amount } klepnutí
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 tracker
[few] { $amount } trackerů
[many] { $amount } trackerů
*[other] { $amount } trackerů
}
settings-general-gesture_control-mountingResetEnabled = Povolit klepnutí pro resetování montáže
settings-general-gesture_control-mountingResetDelay = Zpoždění resetování montáže
settings-general-gesture_control-mountingResetTaps = Klepnutí pro resetování montáže
settings-general-gesture_control-numberTrackersOverThreshold-description = Zvyšte tuto hodnotu, pokud detekce klepnutí nefunguje. Nepřekračujte ji nad hodnotu, která je potřebná k tomu, aby detekce klepnutí fungovala, protože by to mohlo způsobit více falešně pozitivních klepnutí.
## Interface settings
## Appearance settings
settings-general-interface = Rozhraní
settings-interface-appearance = Vzhled
settings-general-interface-dev_mode = Vývojářský režim
settings-general-interface-dev_mode-description = Tento režim může být užitečný, pokud potřebujete podrobné údaje nebo omunikovat s trackerama na pokročilejší úrovni.
settings-general-interface-dev_mode-label = Vývojářský režim
settings-general-interface-serial_detection = Detekce sériových zařízení
settings-general-interface-serial_detection-description = Tato možnost zobrazí pop-up pokaždé, když připojíte nové sériové zařízení, které by mohlo být trackerem. Pomáhá zlepšit proces nastavení trackeru.
settings-general-interface-serial_detection-label = Detekce sériových zařízení
settings-general-interface-theme = Barva tématu
settings-general-interface-lang = Zvolte jazyk
settings-general-interface-lang-description = Změňte výchozí jazyk, který chcete používat.
settings-general-interface-lang-placeholder = Zvolte jazyk, který chcete používat.
# Keep the font name untranslated
settings-interface-appearance-font = Font rozhraní
settings-interface-appearance-font-placeholder = Toto změní písmo používané v rozhraní.
settings-interface-appearance-font-os_font = Systémový font
settings-interface-appearance-font-slime_font = Výchozí font
settings-interface-appearance-font_size = Výchozí velikost písma
settings-interface-appearance-font_size-description = Toto ovlivňuje velikost písma celého rozhraní, s výjimkou panelu nastavení.
## Notification settings
settings-interface-notifications = Notifikace
settings-general-interface-serial_detection = Detekce sériových zařízení
settings-general-interface-serial_detection-description = Tato možnost zobrazí pop-up pokaždé, když připojíte nové sériové zařízení, které by mohlo být trackerem. Pomáhá zlepšit proces nastavení trackeru.
settings-general-interface-serial_detection-label = Detekce sériových zařízení
settings-general-interface-feedback_sound = Zvuk zpětné vazby
settings-general-interface-feedback_sound-description = Tato možnost spustí zvuk, když je aktivován reset.
settings-general-interface-feedback_sound-label = Zvuk zpětné vazby
settings-general-interface-feedback_sound-volume = Hlasitost zvuku zpětné vazby
settings-general-interface-connected_trackers_warning = Upozornění o připojených trackerů
settings-general-interface-connected_trackers_warning-description = Tato možnost zobrazí vyskakovací okno pokaždé, když se pokusíte opustit SlimeVR, když máte připojen jeden nebo více trackerů. Připomene vám, abyste vypnuli své trackery, až budete hotovi, abyste prodloužili životnost baterie.
settings-general-interface-connected_trackers_warning-label = Upozornění o připojených trackerech při ukončení
settings-general-interface-use_tray = Minimalizovat do oznamovací oblasti
settings-general-interface-use_tray-description = Umožňuje vám zavřít okno, aniž byste zavřeli SlimeVR Server, takže ho můžete nadále používat bez rozhraní.
settings-general-interface-use_tray-label = Minimalizovat do oznamovací oblasti
## Serial settings
@@ -373,6 +462,7 @@ settings-serial-factory_reset-warning-cancel = Zrušit
settings-serial-get_infos = Získat informace
settings-serial-serial_select = Vyberte sériový port
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Skenovat WiFi
## OSC router settings
@@ -430,12 +520,45 @@ settings-osc-vrchat-network-trackers-elbows = Lokty
## VMC OSC settings
settings-osc-vmc = Virtuální snímání pohybu (Také známo jako Virtual Motion Capture)
settings-osc-vmc-enable = Zapnout
settings-osc-vmc-enable-description = Vypnutí a zapnutí odesílání a přijímání dat.
settings-osc-vmc-enable-label = Zapnout
settings-osc-vmc-network = Síťové porty
settings-osc-vmc-network-description = Nastavte porty pro poslech a odesílání dat pomocí VMC.
settings-osc-vmc-network-port_in =
.label = Port pro příjem
.placeholder = Port pro příjem (výchozí: 39540)
settings-osc-vmc-network-port_out =
.label = Port pro odesílání
.placeholder = Port pro odesílání (výchozí: 39539)
settings-osc-vmc-network-address = Síťová adresa
settings-osc-vmc-network-address-description = Vyberte, na kterou adresu odesílat data pomocí VMC.
settings-osc-vmc-network-address-placeholder = Adresa IPV4
settings-osc-vmc-vrm = VRM Model
settings-osc-vmc-vrm-description = Načtěte VRM model, k umožnení lepšímu sledování hlavy a zlepšení kompatibility s dalšími aplikacemi.
settings-osc-vmc-vrm-model_unloaded = Není načten žádný model
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] Model načten: { $name }
*[false] Načten neznámý model
}
settings-osc-vmc-vrm-file_select = Přetáhněte zde model, který chcete použít, nebo <u>procházejte</u>
settings-osc-vmc-anchor_hip = Zakotvit v bocích
settings-osc-vmc-anchor_hip-description = Zakotvit sledování u boků, užitečné pro VTubing kde sedíte. Pokud je deaktivováno, načíst VRM model.
settings-osc-vmc-anchor_hip-label = Zakotvit v bocích
## Setup/onboarding menu
onboarding-skip = Přeskočit nastavení
onboarding-continue = Pokračovat
onboarding-wip = Probíhající práce
onboarding-previous_step = Předchozí krok
onboarding-setup_warning =
<b>Varování:</b> Pro dobré trackování je vyžadována počáteční kalibrace a nastavení,
Je nutné, pokud používáte SlimeVR poprvé.
onboarding-setup_warning-skip = Přeskočit nastavení
onboarding-setup_warning-cancel = Pokračovat v nastavení
## Wi-Fi setup
@@ -458,6 +581,19 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = Zpět na kalibraci montáže
onboarding-reset_tutorial = Obnovit tutoriál
onboarding-reset_tutorial-explanation = Během používání trackerů může dojít k jejich vychýlení, ať už kvůli nepřesnostem gyroskopu nebo jejich fyzickému posunutí. Existuje ale několik způsobů, jak to napravit.
onboarding-reset_tutorial-skip = Přeskočit krok
# Cares about multiline
onboarding-reset_tutorial-0 =
Klepněte na zvýrazněný snímač { $taps } krát pro resetování rotace.
Tím nastavíte snímače tak, aby směřovaly stejným směrem jako váš headset (HMD).
# Cares about multiline
onboarding-reset_tutorial-1 =
Pro plný reset poklepejte { $taps } krát na zvýrazněný tracker.
Pro tuto funkci musíte stát v základní pozici (ruce podél těla). Před provedením resetu je zde 3 sekundová prodleva (lze nastavit).
Tímto se kompletně resetuje pozice a rotace všech vašich trackerů, což by mělo vyřešit většinu problémů.
## Setup start
@@ -481,12 +617,16 @@ onboarding-done-close = Zavřít průvodce
onboarding-connect_tracker-back = Zpět na přihlašovací údaje Wi-Fi
onboarding-connect_tracker-title = Připojení trackerů
onboarding-connect_tracker-description-p0 = A teď ta zábavná část, propojení všech trackerů!
onboarding-connect_tracker-description-p1 = Všechny zatím nepřipojené jednoduše připojte přes USB.
onboarding-connect_tracker-issue-serial = Mám potíže s připojením!
onboarding-connect_tracker-usb = USB Tracker
onboarding-connect_tracker-connection_status-connecting = Odesílání přihlašovacích údajů Wi-Fi
onboarding-connect_tracker-connection_status-none = Hledám trackery
onboarding-connect_tracker-connection_status-serial_init = Připojuji se k sériovému zařízení
onboarding-connect_tracker-connection_status-provisioning = Odesílám přihlašovací údaje WiFi
onboarding-connect_tracker-connection_status-connecting = Pokouším se připojit k WiFi
onboarding-connect_tracker-connection_status-looking_for_server = Hledám server
onboarding-connect_tracker-connection_status-connection_error = Nelze se připojit k síti Wi-Fi
onboarding-connect_tracker-connection_status-could_not_find_server = Nelze najít server
onboarding-connect_tracker-connection_status-done = Připojeno k serveru
# $amount (Number) - Amount of trackers connected (this is a number, but you can use CLDR plural rules for your language)
# More info on https://www.unicode.org/cldr/cldr-aux/charts/22/supplemental/language_plural_rules.html
# English in this case only has 2 plural rules, which are "one" and "other",
@@ -496,97 +636,195 @@ onboarding-connect_tracker-connected_trackers =
{ $amount ->
[0] Žádné připojené trackery
[one] 1 připojený tracker
[few] { $amount } připojený trackery
[few] { $amount } připojené trackery
*[other] { $amount } připojených trackerů
}
onboarding-connect_tracker-next = Připojil jsem všechny své trackery
## Tracker calibration tutorial
onboarding-calibration_tutorial = Kalibrační návod pro IMU
onboarding-calibration_tutorial-subtitle = Tohle pomůže snížit drift trackerů!
onboarding-calibration_tutorial-description = Po každém zapnutí trackerů je potřeba je na chvíli položit na rovný povrch, aby se zkalibrovaly. Stejný postup provedeme teď kliknutím na tlačítko "{ onboarding-calibration_tutorial-calibrate }". <b>Během kalibrace jimi prosím nehýbejte!</b>
onboarding-calibration_tutorial-calibrate = Položil jsem trackery na stůl
onboarding-calibration_tutorial-status-waiting = Čekám na tebe
onboarding-calibration_tutorial-status-calibrating = Kalibruji
onboarding-calibration_tutorial-status-success = Super!
onboarding-calibration_tutorial-status-error = Trackerem bylo pohnuto.
## Tracker assignment tutorial
onboarding-assignment_tutorial = Jak připravit Slime Tracker před nasazením
onboarding-assignment_tutorial-first_step = 1. Umístěte na tracker samolepku s částí těla (pokud je máte) dle vlastního výběru.
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Samolepka
onboarding-assignment_tutorial-second_step-v2 = 2. Připevněte pásek k trackeru. Strana pásku se suchým zipem musí směřovat stejným směrem jako obličej na trackeru:
onboarding-assignment_tutorial-second_step-continuation-v2 = Suchý zip pro menší trackery by měla směřovat nahoru, jako na následujícím obrázku:
onboarding-assignment_tutorial-done = Nachystal jsem samolepky a pásky!
## Tracker assignment setup
onboarding-assign_trackers-back = Zpět na přihlašovací údaje Wi-Fi
onboarding-assign_trackers-title = Přiřazení trackerů
onboarding-assign_trackers-description = Pojďme si vybrat, kam každý tracker patří. Klikněte na místo, kam chcete umístit tracker
onboarding-assign_trackers-description = Vyberte, na jakou končetinu každý tracker patří. Klikněte na místo, kam chcete umístit tracker
# Look at translation of onboarding-connect_tracker-connected_trackers on how to use plurals
# $assigned (Number) - Trackers that have been assigned a body part
# $trackers (Number) - Trackers connected to the server
onboarding-assign_trackers-assigned =
{ $trackers ->
[one] { $assigned } z { $trackers } trackerů přiřazených
[few] { $assigned } z { $trackers } trackerů přiřazených
*[other] { $assigned } z { $trackers } trackerů přiřazených
[one] { $assigned } z { $trackers } trackerů bylo přiřazeno
[few] { $assigned } z { $trackers } trackerů bylo přiřazeno
*[other] { $assigned } z { $trackers } trackerů bylo přiřazeno
}
onboarding-assign_trackers-advanced = Zobrazit pokročilá místa přiřazení
onboarding-assign_trackers-advanced = Zobrazit pokročilá místa na přiřazení trackerů
onboarding-assign_trackers-next = Přiřadil jsem všechny trackery
onboarding-assign_trackers-mirror_view = Zrcadlit náhled
## Tracker assignment warnings
# Note for devs, number is used for representing boolean states per bit.
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_FOOT =
{ $unassigned ->
[0] Levá noha je přiřazena, ale pro správné fungování musí být také přiřazen levý kotník, levé stehno a jedna z těchto oblastí: hrudník, bok nebo pas.
[1] Levá noha je přiřazena, ale pro správné fungování musí být také přiřazeno levé stehno a jedna z těchto oblastí: hrudník, bok nebo pas.
[2] Levá noha je přiřazena, ale pro správné fungování musí být také přiřazen levý kotník a jedna z těchto oblastí: hrudník, bok nebo pas.
[3] Levá noha je přiřazena, ale pro správné fungování musí být přiřazena jedna z těchto oblastí: hrudník, bok nebo pas.
[4] Levá noha je přiřazena, ale pro správné fungování musí být také přiřazen levý kotník a levé stehno.
[5] Levá noha je přiřazena, ale pro správné fungování musí být také přiřazeno levé stehno.
[6] Levá noha je přiřazena, ale pro správné fungování musí být také přiřazen levý kotník.
*[unknown] Levá noha je přiřazena, ale pro správné fungování musí být také přiřazen Neznámá Nepřiřazena část těla.
}
## Tracker mounting method choose
onboarding-choose_mounting = Jakou metodu nasazení trackerů použít?
# Multiline text
onboarding-choose_mounting-description = Správná orientace nasazení zajistí přesné sledování trackerů na těle.
onboarding-choose_mounting-auto_mounting = Automatická detekce nasazení
# Italized text
onboarding-choose_mounting-auto_mounting-label = Experimentální
onboarding-choose_mounting-auto_mounting-description = Orientace nasazení všech trackerů bude automaticky rozpoznána ze 2 pozic.
onboarding-choose_mounting-manual_mounting = Manuální nastavení
# Italized text
onboarding-choose_mounting-manual_mounting-label = Doporučeno
onboarding-choose_mounting-manual_mounting-description = Ručně zadejte orientaci nasazení každého trackeru.
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Jste si jistí, že chcete spustit
automatickou kalibraci nasazení?
onboarding-choose_mounting-manual_modal-description = <b>Pro nové uživatele doporučujeme ruční nastavení nasazení.</b> Automatická detekce nasazení sice nabízí pohodlí, ale zvládnout potřebné pozice napoprvé může být náročné a vyžadovat trochu cviku.
onboarding-choose_mounting-manual_modal-confirm = Vím co dělám!
onboarding-choose_mounting-manual_modal-cancel = Zrušit
## Tracker manual mounting setup
onboarding-manual_mounting-back = Zpět na Enter VR
onboarding-manual_mounting = Manuální montáž
onboarding-manual_mounting-description = Klikněte na každý tracker a vyberte, jakým způsobem jsou namontovány
onboarding-manual_mounting-auto_mounting = Automatická montáž
onboarding-manual_mounting-back = Zpět do VR
onboarding-manual_mounting = Manuální nasazení trackerů
onboarding-manual_mounting-description = Klikněte na každý tracker a vyberte, jakým směrem jsou nasazeny
onboarding-manual_mounting-auto_mounting = Automatická detekce nasazení
onboarding-manual_mounting-next = Další krok
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = Zpět na Enter VR
onboarding-automatic_mounting-title = Montážní kalibrace
onboarding-automatic_mounting-description = Aby trackery SlimeVR fungovaly, je třeba jim přiřadit montážní rotaci, aby se vyrovnaly s fyzickou montáží trackeru.
onboarding-automatic_mounting-manual_mounting = Manuální nastavení montáže
onboarding-automatic_mounting-back = Zpět do VR
onboarding-automatic_mounting-title = Kalibrace nasazení
onboarding-automatic_mounting-description = Pro správnou funkci trackerů SlimeVR jim musíme přiřadit orientaci. Ta musí odpovídat tomu, jak jsou fyzicky nasměrovány na vašem těle.
onboarding-automatic_mounting-manual_mounting = Manuální nasazení
onboarding-automatic_mounting-next = Další krok
onboarding-automatic_mounting-prev_step = Předchozí krok
onboarding-automatic_mounting-done-title = Otáčení montáže je kalibrováno.
onboarding-automatic_mounting-done-description = Kalibrace montáže je dokončena!
onboarding-automatic_mounting-done-restart = Návrat na začátek
onboarding-automatic_mounting-mounting_reset-title = Reset montáže
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Dřepněte si do pozice jak na lyžích s pokrčenýma nohama, horní částí těla nakloněnou dopředu a s pokrčenýma rameny.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Stiskněte tlačítko "Resetování montáže" a počkejte 3 sekundy, než se rotace montáže trackerů resetují.
onboarding-automatic_mounting-done-title = Směr nasazení trackerů zkalibrován.
onboarding-automatic_mounting-done-description = Kalibrace nasazení trackerů je dokončena!
onboarding-automatic_mounting-done-restart = Začít znovu
onboarding-automatic_mounting-mounting_reset-title = Reset nasazení trackerů
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Dřepněte si, jako při lyžování: nohy pokrčte v kolenou, trup nakloňte mírně dopředu a paže pokrčte.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Stiskněte tlačítko "Resetovat nasazení trackerů" a vyčkejte 3 sekundy. Orientace nasazení trackerů se nastaví na základní hodnoty.
onboarding-automatic_mounting-preparation-title = Příprava
onboarding-automatic_mounting-preparation-step-0 = 1. Postavte se vzpřímeně s rukama na bocích.
onboarding-automatic_mounting-preparation-step-1 = 2. Stiskněte tlačítko "Reset" a počkejte 3 sekundy, než se trackery resetují.
onboarding-automatic_mounting-put_trackers_on-title = Nasaďte si trackery
onboarding-automatic_mounting-put_trackers_on-description = Pro kalibraci rotace montáže použijeme právě přiřazené trackery. Nasaďte všechny trackery, na obrázku vpravo vidíte, které jsou které.
onboarding-automatic_mounting-put_trackers_on-description = Pro kalibraci směru nasazení použijeme právě přiřazené trackery. Nasaďte si prosím všechny trackery. Můžete zkontrolovat jejich umístění na obrázku vpravo.
onboarding-automatic_mounting-put_trackers_on-next = Mám nasazené všechny trackery
## Tracker proportions method choose
onboarding-choose_proportions = Jakou metodu kalibrace chcete použít?
# Multiline string
onboarding-choose_proportions-description-v1 =
Proporce těla potřebujeme, abychom dobře změřili tvoje pohyby. Trackerům totiž pomáhají zjistit, kde přesně se na těle nachází.
Když jsou proporce nastaveny špatně, sledování nebude fungovat dobře. Může to způsobit efekt kde tvůj avatar divně klouže, nebo že se divně hýbe.
<b>Proporce stačí změřit jednou a máš to vyřešené!</b> Pokud nezměníš výrazně postavu nebo to napoprvé nedopadne dobře, nemusíš už nic měřit.
onboarding-choose_proportions-auto_proportions = Automatická detekce proporcí
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Doporučeno
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Toto odhadne vaše proporce z krátkého záznamu vašich pohybů pomocí speciálního algoritmu.
<b>K tomu JE NUTNÉ mít VR headset připojený k SlimeVR a nasazený na hlavě!</b>
onboarding-choose_proportions-manual_proportions = Manuální nastavení proporcí
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Pro drobné úpravy
onboarding-choose_proportions-manual_proportions-description = Nastavte si vaše proporce ručně dle vašich potřeb.
onboarding-choose_proportions-export = Exportovat proporce
onboarding-choose_proportions-import = Importovat proporce
onboarding-choose_proportions-import-success = Importováno!
onboarding-choose_proportions-import-failed = Import byl neúspěšný
onboarding-choose_proportions-file_type = Soubor tělesných proporcí
## Tracker manual proportions setup
onboarding-manual_proportions-back = Zpět na Reset tutoriál
onboarding-manual_proportions-back = Zpět na tutoriál
onboarding-manual_proportions-title = Manuální proporce těla
onboarding-manual_proportions-precision = Přesná úprava
onboarding-manual_proportions-auto = Automatická kalibrace
onboarding-manual_proportions-auto = Automatická kalibrace proporcí
onboarding-manual_proportions-ratio = Upravit podle poměrů končetin
## Tracker automatic proportions setup
onboarding-automatic_proportions-back = Zpět na Reset tutoriál
onboarding-automatic_proportions-back = Zpět na tutoriál
onboarding-automatic_proportions-title = Změřte své tělo
onboarding-automatic_proportions-description = Aby trackery SlimeVR fungovaly, potřebujeme znát délku vašich kostí. Tato krátká kalibrace vám to změří.
onboarding-automatic_proportions-manual = Manuální kalibrace
onboarding-automatic_proportions-manual = Manuální kalibrace proporcí
onboarding-automatic_proportions-prev_step = Předchozí krok
onboarding-automatic_proportions-put_trackers_on-title = Nasaďte si trackery
onboarding-automatic_proportions-put_trackers_on-description = Pro kalibraci proporcí použijeme trackery, které jste právě přiřadili. Nasaďte si trackery, na obrázku vpravo vidíte, která jsou která.
onboarding-automatic_proportions-put_trackers_on-description = Pro kalibraci proporcí použijeme trackery, které jste právě přiřadili. Nasaďte si všechny trackery a na obrázku vpravo zkontrolujte, jak je máte nasazené.
onboarding-automatic_proportions-put_trackers_on-next = Mám nasazené všechny trackery
onboarding-automatic_proportions-requirements-title = Požadavky
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-descriptionv2 =
Minimálně 5 trackerů: Máte dostatečný počet trackerů pro sledování nohou.
Nasazené vybavení: Máte nasazené trackery a headset.
Připojení a funkčnost: Trackery a headset jsou připojeny k serveru SlimeVR a fungují správně (bez záseků, odpojování apod.).
SteamVR a SlimeVR: Headset odesílá pozici do serveru SlimeVR (obvykle je potřeba mít spuštěný SteamVR a připojený k SlimeVR pomocí ovladače SlimeVR pro SteamVR).
Přesné sledování: Sledování funguje a přesně zaznamenává vaše pohyby (například jste provedli kompletní reset a trackery se správně pohybují při kopání, předklonu, sezení apod.).
onboarding-automatic_proportions-requirements-next = Přečetl jsem si požadavky
onboarding-automatic_proportions-check_height-title = Ujistěte se, že máte správnou výšku
onboarding-automatic_proportions-check_height-description = Vaši výšku využíváme jako základ pro měření pohybů. Pro přibližné zjištění výšky používáme výšku vašeho VR headsetu, ale je přesnější, když si svoji skutečnou výšku zadáte sami!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Pro změření výšky stiskněte tlačítko <u>ve vzpřímeném postoji.</u> Máte na to 3 sekundy od stisknutí!
onboarding-automatic_proportions-check_height-fetch_height = Stojím vzpřímeně!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Neznámá
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Výška vašeho headsetu je
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = takže vaše výška by měla být
onboarding-automatic_proportions-check_height-next_step = Je to v pořádku!
onboarding-automatic_proportions-start_recording-title = Připravte se hýbat
onboarding-automatic_proportions-start_recording-description = Nyní budeme nahrávat některé konkrétní pózy a pohyby. Tyto se zobrazí na další obrazovce. Po stisknutí tlačítka buďte připraveni začít!
onboarding-automatic_proportions-start_recording-description = Připravte se na nahrá několika póz a pohybů. Dostanete přesné instrukce na další obrazovce. Až budete připraveni, stiskněte tlačítko a začněte!
onboarding-automatic_proportions-start_recording-next = Spustit nahrávání
onboarding-automatic_proportions-recording-title = ZÁZN
onboarding-automatic_proportions-recording-title = Nahrát
onboarding-automatic_proportions-recording-description-p0 = Probíhá nahrávání...
onboarding-automatic_proportions-recording-description-p1 = Proveďte níže uvedené pohyby:
onboarding-automatic_proportions-recording-processing = Zpracování výsledku
# Each line of text is a different list item
onboarding-automatic_proportions-recording-steps =
Stůj rovně: Postavte se rovně a vzpřímeně.
Kroužení hlavou: Udělejte hlavou kruh, jednou kolem dokola.
Dřep s pohledem do stran: Předkloňte se a dřepněte. V dřepu se otočte pohled doleva a doprava.
Otáčení horní části těla: S rovnými zády se otočte horní částí těla doleva (proti směru hodinových ručiček), jako byste chtěli rukou sáhnout k zemi. Pak se otočte doprava (po směru hodinových ručiček).
Kroužení boky: Krouživým pohybem otáčejte boky, jako byste točili hula hoop kruhem.
Pokud zbývá čas, můžete tyto pohyby opakovat až do konce nahrávání.
onboarding-automatic_proportions-recording-processing = Zpracovávám výsledek
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
@@ -596,16 +834,58 @@ onboarding-automatic_proportions-recording-timer =
}
onboarding-automatic_proportions-verify_results-title = Ověření výsledků
onboarding-automatic_proportions-verify_results-description = Zkontrolujte výsledky níže, vypadají správně?
onboarding-automatic_proportions-verify_results-results = Zaznamenávání výsledků
onboarding-automatic_proportions-verify_results-processing = Zpracová výsledku
onboarding-automatic_proportions-verify_results-results = Zaznamenávání výsledky
onboarding-automatic_proportions-verify_results-processing = Zpracovávám výsledek
onboarding-automatic_proportions-verify_results-redo = Znovu provést záznam
onboarding-automatic_proportions-verify_results-confirm = Jsou správné
onboarding-automatic_proportions-done-title = Tělo změřeno a uloženo.
onboarding-automatic_proportions-done-description = Kalibrace proporcí vašeho těla je dokončena!
onboarding-automatic_proportions-error_modal = <b>Chyba:</b> Při odhadování proporcí došlo k chybě! Prosím, přečtěte si <docs>dokumentaci</docs> nebo se připojte k našemu serveru <discord>Discord</discord> a požádejte o pomoc ^_^
onboarding-automatic_proportions-error_modal-confirm = Rozumím!
## Home
home-no_trackers = Nebyly zjištěny ani přiřazeny žádné trackery
## Trackers Still On notification
trackers_still_on-modal-title = Máte trackery stále zapnuté
trackers_still_on-modal-description =
Jeden nebo více trackerů jsou stále zapnuty.
Opravdu chcete ukončit SlimeVR?
trackers_still_on-modal-confirm = Zavřít SlimeVR
trackers_still_on-modal-cancel = Dejte my chvilku!
## Status system
status_system-StatusTrackerReset = Pro dosažení nejlepších výsledků proveďte kompletní reset. Alespoň jeden tracker není správně nastaven.
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] Nejste připojeni k SlimeVR "Feeder" aplikaci.
*[steamvr] Nejste připojeni ke SteamVR zapomocí ovladače SlimeVR.
}
status_system-StatusTrackerError = Tracker { $trackerName } není v pořádku.
## Tray Menu
tray_menu-show = Zobrazit
tray_menu-hide = Skrýt
tray_menu-quit = Ukončit
## First exit modal
tray_or_exit_modal-title = Co chcete aby "křížek" udělal?
# Multiline text
tray_or_exit_modal-description =
Tímto si zvolíte, zda chcete při stisknutí tlačítka pro zavření ukončit server, nebo jej pouze minimalizovat do systémové lišty.
Toto nastavení můžete později změnit v nastavení aplikace.
tray_or_exit_modal-radio-exit = Ukončit při zavření
tray_or_exit_modal-radio-tray = Minimalizovat
tray_or_exit_modal-submit = Uložit
tray_or_exit_modal-cancel = Zrušit
## Unknown device modal
unknown_device-modal-confirm = Jasně!
unknown_device-modal-forget = Ignoruj

View File

@@ -23,6 +23,8 @@ tips-find_tracker = Sie sind sich nicht sicher, welcher Tracker welcher ist? Sch
tips-do_not_move_heels = Stellen Sie sicher, dass Sie Ihre Fersen während der Aufnahme nicht bewegen!
tips-file_select = Dateien per Drag & Drop verwenden oder <u>durchsuchen</u>
tips-tap_setup = Sie können langsam 2 Mal auf Ihren Tracker tippen, um ihn auszuwählen, anstatt ihn aus dem Menü auszuwählen.
tips-turn_on_tracker = Verwenden Sie offizielle SlimeVR-Tracker? Vergessen Sie nicht den <b><em>Tracker einzuschalten</em></b>, nachdem Sie ihn an den PC angeschlossen haben!
tips-failed_webgl = Fehler beim Initialisieren von WebGL.
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = Rechte Hand
body_part-RIGHT_UPPER_LEG = Rechter Oberschenkel
body_part-RIGHT_LOWER_LEG = Rechter Unterschenkel
body_part-RIGHT_FOOT = Rechter Fuß
body_part-UPPER_CHEST = Obere Brust
body_part-CHEST = Brust
body_part-WAIST = Taille
body_part-HIP = Hüfte
@@ -53,8 +56,9 @@ skeleton_bone-NONE = Keine
skeleton_bone-HEAD = Kopfverschiebung
skeleton_bone-NECK = Halslänge
skeleton_bone-torso_group = Oberkörperhöhe
skeleton_bone-CHEST = Brustabstand
skeleton_bone-UPPER_CHEST = Obere Brustlänge
skeleton_bone-CHEST_OFFSET = Brustversatz
skeleton_bone-CHEST = Brustabstand
skeleton_bone-WAIST = Taillenabstand
skeleton_bone-HIP = Hüftlänge
skeleton_bone-HIP_OFFSET = Hüftversatz
@@ -120,6 +124,10 @@ widget-overlay-is_mirrored_label = Visualisierung spiegeln
widget-drift_compensation-clear = Driftkompensation zurücksetzen
## Widget: Clear Reset Mounting
widget-clear_mounting = Befestigungs-Reset zurücksetzen
## Widget: Developer settings
widget-developer_mode = Entwicklermodus
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = Rohe Drehung
widget-imu_visualizer-rotation_preview = Vorschau
widget-imu_visualizer-rotation_hide = Ausblenden
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Skelett Vorschau
widget-skeleton_visualizer-hide = Ausblenden
## Tracker status
tracker-status-none = Kein Status
@@ -146,6 +159,7 @@ tracker-status-error = Fehler
tracker-status-disconnected = Getrennt
tracker-status-occluded = Verdeckt
tracker-status-ok = Verbunden
tracker-status-timed_out = Zeitüberschreitung
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = Adresse
## Tracker rotation
tracker-rotation-front = Vorne
tracker-rotation-front_left = Vorne-Links
tracker-rotation-front_right = Vorne-Rechts
tracker-rotation-left = Links
tracker-rotation-right = Rechts
tracker-rotation-back = Hinten
tracker-rotation-back_left = Hinten-Links
tracker-rotation-back_right = Hinten-Rechts
tracker-rotation-custom = Benutzerdefiniert
tracker-rotation-overriden = (von Befestigungs-Reset überschrieben)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = Hardware-Version
tracker-infos-hardware_identifier = Hardware-ID
tracker-infos-imu = IMU-Sensor
tracker-infos-board_type = Platine
tracker-infos-network_version = Protokoll Version
## Tracker settings
@@ -197,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = Erlaube Drift Kompensierung
tracker-settings-name_section = Trackername
tracker-settings-name_section-description = Geben Sie ihm einen süßen Spitznamen :)
tracker-settings-name_section-placeholder = NightyBeast's linkes Bein
tracker-settings-forget = Tracker Vergessen
tracker-settings-forget-description = Entfernt den Tracker vom SlimeVR Server und verhindert, dass er sich wieder verbindet, bis der Server neu gestartet wurde. Die Konfiguration des Trackers geht nicht verloren.
tracker-settings-forget-label = Tracker Vergessen
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } dem rechten
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } dem rechten Unterschenkel zugewiesen werden?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } dem rechten Fuß zugewiesen werden?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } dem rechten Controller zugewiesen werden?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } obere Brust?
tracker_selection_menu-CHEST = { -tracker_selection-part } der Brust zugewiesen werden?
tracker_selection_menu-WAIST = { -tracker_selection-part } der Taille zugewiesen werden?
tracker_selection_menu-HIP = { -tracker_selection-part } der Hüfte zugewiesen werden?
@@ -269,6 +294,8 @@ settings-sidebar-osc_router = OSC-Router
settings-sidebar-osc_trackers = VRChat OSC-Tracker
settings-sidebar-utils = Werkzeuge
settings-sidebar-serial = Serielle Konsole
settings-sidebar-appearance = Erscheinungsbild
settings-sidebar-notifications = Benachrichtigungen
## SteamVR settings
@@ -283,10 +310,22 @@ settings-general-steamvr-description =
Nützlich für Spiele oder Apps, die nur bestimmte Tracker unterstützen.
settings-general-steamvr-trackers-waist = Taille
settings-general-steamvr-trackers-chest = Brust
settings-general-steamvr-trackers-feet = Füße
settings-general-steamvr-trackers-knees = Knie
settings-general-steamvr-trackers-elbows = Ellbogen
settings-general-steamvr-trackers-hands = Hände
settings-general-steamvr-trackers-left_foot = Linker Fuß
settings-general-steamvr-trackers-right_foot = Rechter Fuß
settings-general-steamvr-trackers-left_knee = Linkes Knie
settings-general-steamvr-trackers-right_knee = Rechtes Knie
settings-general-steamvr-trackers-left_elbow = Linker Ellenbogen
settings-general-steamvr-trackers-right_elbow = Rechter Ellenbogen
settings-general-steamvr-trackers-left_hand = Linke Hand
settings-general-steamvr-trackers-right_hand = Rechte Hand
settings-general-steamvr-trackers-tracker_toggling = Automatische Tracker Zuweisung
settings-general-steamvr-trackers-tracker_toggling-description = Automatisches Aktivieren und Deaktivieren von SteamVR Trackern, in Abhängigkeit von der aktuellen Tracker-Zuordnung.
settings-general-steamvr-trackers-tracker_toggling-label = Automatische Tracker Zuweisung
settings-general-steamvr-trackers-hands-warning =
<b>Warnung:</b> Handtracker übersteuern Ihre Controller.
Sind Sie sich sicher?
settings-general-steamvr-trackers-hands-warning-cancel = Abbrechen
settings-general-steamvr-trackers-hands-warning-done = Ja
## Tracker mechanics
@@ -304,6 +343,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Glätt
settings-general-tracker_mechanics-filtering-type-prediction = Vorhersage
settings-general-tracker_mechanics-filtering-type-prediction-description = Verringert die Latenz und macht die Bewegungen schneller, kann aber Zittern erhöhen.
settings-general-tracker_mechanics-filtering-amount = Stärke
settings-general-tracker_mechanics-yaw-reset-smooth-time = Horizontaler Reset Glättungszeit (0s deaktiviert die Glättung)
settings-general-tracker_mechanics-drift_compensation = Drift-Kompensierung
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -312,6 +352,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Drift-Kompensierung
settings-general-tracker_mechanics-drift_compensation-amount-label = Kompensierungsmenge
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Nutze die letzten x Resets
settings-general-tracker_mechanics-save_mounting_reset = Automatische Befestigungs-Reset Kalibrierung speichern
settings-general-tracker_mechanics-save_mounting_reset-description =
Speichert die automatische Befestigungs-Reset Kalibrierung für die Tracker zwischen den Neustarts. Nützlich
wenn Sie einen Anzug tragen, bei dem sich die Tracker zwischen den Sitzungen nicht bewegen. <b>Für normale Benutzer nicht zu empfehlen!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Befestigungs-Reset speichern
## FK/Tracking settings
@@ -333,14 +378,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Bodenclip kann d
settings-general-fk_settings-leg_tweak-toe_snap-description = Zehen-Ausrichtung versucht, die Rotation Ihrer Füße zu erraten, wenn keine Fuß-Tracker verwendet werden.
settings-general-fk_settings-leg_tweak-foot_plant-description = Fußkorrektur richtet Ihre Füße parallel zum Boden aus, wenn sie den Boden berühren.
settings-general-fk_settings-leg_fk = Beintracking
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Aktiviert das Zurücksetzen der Fußausrichtung, indem Sie auf die Zehenspitzen stehen.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Fußausrichtung zurücksetzen
settings-general-fk_settings-arm_fk = Arm-Tracking
settings-general-fk_settings-arm_fk-description = Ändern Sie die Art und Weise, wie die Arme berechnet werden.
settings-general-fk_settings-arm_fk-force_arms = Arme vom VR-Headset erzwingen
settings-general-fk_settings-skeleton_settings = Skeletteinstellungen
settings-general-fk_settings-arm_fk-reset_mode-description = Ändern Sie, welche Armhaltung für den Befestigungs-Reset erwartet wird.
settings-general-fk_settings-arm_fk-back = nach Hinten
settings-general-fk_settings-arm_fk-back-description = Der Standardmodus, bei dem die Oberarme nach hinten und die Unterarme nach vorne gehen.
settings-general-fk_settings-arm_fk-tpose_up = T-Pose (oben)
settings-general-fk_settings-arm_fk-tpose_up-description = Erwartet, dass deine Arme während des vollständigen Zurücksetzens seitlich nach unten gerichtet sind und während des Befestigungs-Reset um 90 Grad nach außen gerichtet sind.
settings-general-fk_settings-arm_fk-tpose_down = T-Pose (unten)
settings-general-fk_settings-arm_fk-tpose_down-description = Erwartet, dass deine Arme während des vollständigen Zurücksetzens um 90 Grad nach außen gerichtet sind und während des Befestigungs-Reset seitlich nach unten.
settings-general-fk_settings-arm_fk-forward = Vorwärts
settings-general-fk_settings-arm_fk-forward-description = Erwartet, dass deine Arme um 90 Grad nach vorne gerichtet sind. Nützlich für VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Skelett-Schalter
settings-general-fk_settings-skeleton_settings-description = Schalten Sie Skeletteinstellungen ein oder aus. Es wird empfohlen, diese eingeschaltet zu lassen.
settings-general-fk_settings-skeleton_settings-extended_spine = Erweiterte Wirbelsäule
settings-general-fk_settings-skeleton_settings-extended_pelvis = Erweiterter Beckenbereich
settings-general-fk_settings-skeleton_settings-extended_knees = Erweiterte Knie
settings-general-fk_settings-skeleton_settings-extended_spine_model = Erweitertes Wirbelsäulen-Modell
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Erweitertes Pelvis-Modell
settings-general-fk_settings-skeleton_settings-extended_knees_model = Erweitertes Knie-Modell
settings-general-fk_settings-skeleton_settings-ratios = Skelettverhältnisse
settings-general-fk_settings-skeleton_settings-ratios-description = Ändert die Werte der Skeletteinstellungen. Nachdem Sie diese geändert haben, müssen Sie möglicherweise Ihre Proportionen anpassen.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Taille aus Brust zu Hüfte berechnen
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Taille von Brust zu Beine berechnen
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Hüfte von Brust zu Beine berechnen
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Hüfte von Taille zu Beine berechnen
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Interpolieren der horizontalen und Torsionsrotation der Hüfte mit denen der Beine
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Interpolation der horizontalen und Torsionsrotationen der Knietracker mit denen der Fußgelenke
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Interpolation der horizontalen und Torsionsrotationen der Knie mit denen der Fußgelenke
settings-general-fk_settings-self_localization-title = Motion-Capture-Modus
settings-general-fk_settings-self_localization-description = Der Motion-Capture-Modus ermöglicht es dem Skelett, ungefähr die eigene Position ohne Headset oder Tracker zu verfolgen. Beachten Sie, dass diese Funktion Fuß- und Kopf-Tracker benötigt und noch experimentell ist.
settings-general-fk_settings-vive_emulation-title = Vive-Simulierung
settings-general-fk_settings-vive_emulation-description = Simuliere die Tracking-Probleme, welche bei Vive-Trackern auftreten. Dies ist ein Scherz und verschlechtert das Tracking.
settings-general-fk_settings-vive_emulation-label = Vive-Simulierung
@@ -357,6 +424,13 @@ settings-general-gesture_control-taps =
[one] 1-mal antippen
*[other] { $amount }-mal antippen
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 Tracker
*[other] { $amount } Tracker
}
settings-general-gesture_control-yawResetEnabled = Horizontaler Reset durch Antippen
settings-general-gesture_control-yawResetDelay = Verzögerung für einen horizontalen Reset
settings-general-gesture_control-yawResetTaps = Antipp-Anzahl für einen horizontalen Reset
@@ -366,13 +440,32 @@ settings-general-gesture_control-fullResetTaps = Antipp-Anzahl für einen vollst
settings-general-gesture_control-mountingResetEnabled = Antippen für Befestigungs-Reset
settings-general-gesture_control-mountingResetDelay = Befestigungs-Reset-Verzögerung
settings-general-gesture_control-mountingResetTaps = Anzahl für Befestigungs-Reset
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Tracker über Schwellwert
settings-general-gesture_control-numberTrackersOverThreshold-description = Erhöhen Sie diesen Wert wenn Tipp-Erkennung nicht funktioniert. Setzen Sie den Wert nicht höher als benötigt, da dies Fehlauslöser verursachen kann.
## Interface settings
## Appearance settings
settings-general-interface = Bedienoberfläche
settings-interface-appearance = Erscheinungsbild
settings-general-interface-dev_mode = Entwicklermodus
settings-general-interface-dev_mode-description = Der Entwicklermodus stellt mehr Daten dar und erlaubt auch erweiterte Einstellungen, so wie erweiterte Optionen bei verbundenen Trackern.
settings-general-interface-dev_mode-label = Entwicklermodus
settings-general-interface-theme = Farbschema
settings-general-interface-lang = Sprachauswahl
settings-general-interface-lang-description = Ändern Sie die Standard-Sprache, die Sie verwenden möchten
settings-general-interface-lang-placeholder = Wählen Sie die zu verwendende Sprache aus
# Keep the font name untranslated
settings-interface-appearance-font = GUI-Schriftart
settings-interface-appearance-font-description = Verändert die Schriftart der Benutzeroberfläche.
settings-interface-appearance-font-placeholder = Standard-Schriftart
settings-interface-appearance-font-os_font = Betriebssystem-Schriftart
settings-interface-appearance-font-slime_font = Standard-Schriftart
settings-interface-appearance-font_size = Standard-Schriftgröße
settings-interface-appearance-font_size-description = Verändert die Schriftgröße der gesamten Oberfläche außer diesem Einstellungs-Panel.
## Notification settings
settings-interface-notifications = Benachrichtigungen
settings-general-interface-serial_detection = Serielle Geräteerkennung
settings-general-interface-serial_detection-description = Diese Option zeigt jedes Mal ein Pop-up-Fenster an, wenn ein neues serielles Gerät angeschlossen wird, das ein Tracker sein könnte. Dies hilft beim Einrichtungsprozess des Trackers
settings-general-interface-serial_detection-label = Serielle Geräteerkennung
@@ -380,10 +473,12 @@ settings-general-interface-feedback_sound = Feedback-Geräusch
settings-general-interface-feedback_sound-description = Diese Option wird ein Geräusch abspielen, wenn ein Reset ausgeführt wurde.
settings-general-interface-feedback_sound-label = Feedback-Geräusch
settings-general-interface-feedback_sound-volume = Feedback-Sound-Lautstärke
settings-general-interface-theme = Farbschema
settings-general-interface-lang = Sprachauswahl
settings-general-interface-lang-description = Ändern Sie die Standard-Sprache, die Sie verwenden möchten
settings-general-interface-lang-placeholder = Wählen Sie die zu verwendende Sprache aus
settings-general-interface-connected_trackers_warning = Warnung zu verbundenen Trackern
settings-general-interface-connected_trackers_warning-description = Diese Option zeigt jedes Mal ein Pop-up-Fenster an, wenn Sie versuchen, SlimeVR zu beenden, während ein oder mehrere Tracker verbunden sind. Es erinnert Sie daran, die Tracker auszuschalten, um die Akkulaufzeit zu verlängern.
settings-general-interface-connected_trackers_warning-label = Warnung vor verbundenen Trackern beim Verlassen
settings-general-interface-use_tray = In den Infobereich minimieren
settings-general-interface-use_tray-description = Erlaubt Ihnen, das Fenster zu schließen, ohne den SlimeVR-Server zu beenden. Dies erlaubt Ihnen diesen weiterzuverwenden, ohne dass das Fenster stört.
settings-general-interface-use_tray-label = In den Infobereich minimieren
## Serial settings
@@ -405,6 +500,7 @@ settings-serial-factory_reset-warning-cancel = Abbruch
settings-serial-get_infos = Informationen abrufen
settings-serial-serial_select = Wählen Sie einen seriellen Anschluss
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = WLAN-Scan
## OSC router settings
@@ -535,6 +631,13 @@ onboarding-reset_tutorial-1 =
Sie müssen dafür in einer I-Pose stehen. Es gibt eine Verzögerung von 3 Sekunden (konfigurierbar), bevor der Reset tatsächlich durchgeführt wird.
Dadurch werden die Position und Rotation aller Ihrer Tracker vollständig zurückgesetzt. Dies sollte die meisten Probleme beheben.
# Cares about multiline
onboarding-reset_tutorial-2 =
Tippen Sie { $taps } mal auf den markierten Tracker um einen Befestigungs-Reset auszulösen.
Ein Befestigungs-Reset hilft dabei, die Tracker neu auszurichten, so wie diese tatsächlich an Ihnen angebracht sind. Zum Beispiel, wenn Sie ein Tracker versehentlich verschoben haben und dessen Orientierung sich stark verändert hat.
Sie müssen sich in einer "Skifahren"-Pose, wie im Befestigungs-Assistenten gezeigt wird, befinden. Nach dem Auslösen wird der Reset nach 3 Sekunden (konfigurierbar) durchgeführt.
## Setup start
@@ -558,8 +661,8 @@ onboarding-done-close = Einrichtung schließen
onboarding-connect_tracker-back = Zurück zu WLAN-Zugangsdaten
onboarding-connect_tracker-title = Verbinde Tracker
onboarding-connect_tracker-description-p0 = Nun zum unterhaltsamen Teil, verbinde alle Tracker!
onboarding-connect_tracker-description-p1 = Verbinden Sie einfach alle Tracker, die noch nicht verbunden sind, über einen USB-Anschluss.
onboarding-connect_tracker-description-p0-v1 = Kommen wir nun zum spaßigen Teil, dem Verbinden von Trackern!
onboarding-connect_tracker-description-p1-v1 = Schließen Sie jeden Tracker nacheinander und einzeln über einen USB-Anschluss an.
onboarding-connect_tracker-issue-serial = Ich habe Schwierigkeiten die Tracker zu verbinden!
onboarding-connect_tracker-usb = USB Tracker
onboarding-connect_tracker-connection_status-none = Suche nach Trackern
@@ -600,7 +703,8 @@ onboarding-assignment_tutorial = So bereiten Sie einen SlimeVR-Tracker vor, bevo
onboarding-assignment_tutorial-first_step = 1. Platzieren Sie einen Körperteilaufkleber (falls vorhanden) auf dem Tracker Ihrer Wahl
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Aufkleber
onboarding-assignment_tutorial-second_step-continuation = Die Klettseite für die Verlängerung sollte in dieser Ausrichtung sein:
onboarding-assignment_tutorial-second_step-v2 = 2. Befestigen Sie den Riemen an ihrem Tracker, wobei die Klettseite des Riemens in dieselbe Richtung zeigt wie das SlimeVR Logo Ihres Trackers:
onboarding-assignment_tutorial-second_step-continuation-v2 = Die Klettseite für den Erweiterungstracker sollte nach oben zeigen, wie in der folgenden Abbildung:
onboarding-assignment_tutorial-done = Ich habe Aufkleber und Bänder angebracht!
## Tracker assignment setup
@@ -618,6 +722,7 @@ onboarding-assign_trackers-assigned =
} zugewiesen
onboarding-assign_trackers-advanced = Erweiterte Zuweisungspositionen anzeigen
onboarding-assign_trackers-next = Ich habe alle Tracker zugewiesen
onboarding-assign_trackers-mirror_view = Ansicht spiegeln
## Tracker assignment warnings
@@ -700,6 +805,13 @@ onboarding-choose_mounting-manual_mounting = Manuelle Befestigungsposition
# Italized text
onboarding-choose_mounting-manual_mounting-label = Empfohlen
onboarding-choose_mounting-manual_mounting-description = Auf diese Weise können Sie die Montagerichtung für jeden Tracker manuell auswählen
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Sind Sie sich sicher, dass Sie
die automatische Tracker-Ausrichtung durchführen möchten?
onboarding-choose_mounting-manual_modal-description = <b>Die manuelle Tracker-Ausrichtung wird für neue Benutzer empfohlen</b>, da die Posen der automatischen Tracker-Ausrichtung anfangs schwer zu treffen sind und möglicherweise etwas Übung erfordern.
onboarding-choose_mounting-manual_modal-confirm = Ich bin mir sicher, was ich tue
onboarding-choose_mounting-manual_modal-cancel = Abbruch
## Tracker manual mounting setup
@@ -733,13 +845,25 @@ onboarding-automatic_mounting-put_trackers_on-next = Ich habe alle meine Tracker
## Tracker proportions method choose
onboarding-choose_proportions = Welche Kalibrierungsmethode ist zu verwenden?
# Multiline string
onboarding-choose_proportions-description-v1 =
Wenn die Proportionen Ihres Körpers nicht mit den Gespeicherten übereinstimmen, ist die Präzision des Trackings schlechter. Außerdem können Probleme wie Skaten oder Rutschen auftreten oder, dass die Bewegungen Ihres Avatars nicht gut mit den Bewegungen Ihres Körpers übereinstimmen.
<b>Sie müssen Ihren Körper nur einmal messen!</b> Es sei denn, die Messwerte sind falsch oder Ihr Körper hat sich verändert, dann müssen Sie die Körperproportionen nochmal bestimmen.
onboarding-choose_proportions-auto_proportions = Automatische Proportionen
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Empfohlen
onboarding-choose_proportions-auto_proportions-description = Dadurch werden Ihre Proportionen erraten, indem Stichproben Ihrer Bewegungen verrechnet werden
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Dies wird versuchen, Ihre Proportionen mit Hilfe einer Bewegungsaufnahme zu bestimmen, welche von einem Algorithmus verarbeitet wird.
<b>Dazu muss Ihr Headset (HMD) mit SlimeVR verbunden sein und Sie müssen es an haben!</b>
onboarding-choose_proportions-manual_proportions = Manuelle Körperproportionen
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Für kleine Anpassungen
onboarding-choose_proportions-manual_proportions-description = Auf diese Weise können Sie Ihre Proportionen manuell anpassen, indem Sie diese direkt ändern
onboarding-choose_proportions-export = Proportionen exportieren
onboarding-choose_proportions-import = Proportionen importieren
onboarding-choose_proportions-import-success = Importiert
onboarding-choose_proportions-import-failed = Fehlgeschlagen
onboarding-choose_proportions-file_type = Körperproportions-Datei
## Tracker manual proportions setup
@@ -748,6 +872,7 @@ onboarding-manual_proportions-back = Gehen Sie zurück zum Reset-Tutorial
onboarding-manual_proportions-title = Manuelle Körperproportionen
onboarding-manual_proportions-precision = Feinanpassung
onboarding-manual_proportions-auto = Automatische Kalibrierung
onboarding-manual_proportions-ratio = Anpassung nach Proportionen
## Tracker automatic proportions setup
@@ -760,13 +885,41 @@ onboarding-automatic_proportions-put_trackers_on-title = Legen Sie Ihre Tracker
onboarding-automatic_proportions-put_trackers_on-description = Um Ihre Proportionen zu kalibrieren, werden wir die Tracker verwenden, die Sie gerade zugewiesen haben. Legen Sie alle Ihre Tracker an. Sie können rechts in der Abbildung sehen, welche welche sind.
onboarding-automatic_proportions-put_trackers_on-next = Ich habe alle meine Tracker angelegt
onboarding-automatic_proportions-requirements-title = Anforderungen
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-descriptionv2 =
Sie haben genug Tracken, um Ihre Füße zu tracken (in der Regel 5 Tracker).
Sie haben Ihre Tracker an und Ihr Headset auf.
Ihre Tracker und Ihr Headset ist mit dem SlimeVR-Server verbunden und funktionieren ordnunsgemäß (z.B. kein Stottern, kein Trennen der Verbindung, usw.).
Ihr Headset sendet Positionsdaten an den SlimeVR-Server (das bedeutet allgemein, dass SteamVR läuft und über den SlimeVR-SteamVR Treiber mit SteamVR verbunden ist).
Ihr Tracking funktioniert und stellt Ihre Bewegungen akkurat dar (z.B.: Sie haben einen Reset durchgeführt und Ihre Tracker bewegen sich beim Treten, Bücken, Sitzen, usw. richtig).
onboarding-automatic_proportions-requirements-next = Ich habe die Anforderungen gelesen
onboarding-automatic_proportions-check_height-title = Überprüfen Sie Ihre Körpergröße
onboarding-automatic_proportions-check_height-description = Wir benutzen die Höhe des Headsets (HMD) als eine Schätzung für Ihre tatsächliche Grösse, doch es ist besser dass Sie diese selbst überprüfen!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Bitte betätigen Sie auf den Knopf während Sie <u>aufrecht</u> stehen, um Ihre Körpergröße zu berechnen. Sie haben 3 Sekunden Zeit, nachdem Sie auf den Knopf gedrückt haben.
onboarding-automatic_proportions-check_height-guardian_tip = Wenn Sie ein eigenständiges VR Headset verwenden, stellen Sie sicher, dass Ihr Guardian Begrenzung aktiviert ist und damit Ihre Größe korrekt ist!
onboarding-automatic_proportions-check_height-fetch_height = Ich stehe!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Unbekannt
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Ihre Headset-Höhe ist
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = Ihre tatsächliche Körpergröße ist
onboarding-automatic_proportions-check_height-next_step = Werte sind korrekt
onboarding-automatic_proportions-start_recording-title = Bereiten Sie sich auf ein paar Bewegungen vor
onboarding-automatic_proportions-start_recording-description = Wir werden nun einige bestimmte Posen und Bewegungen aufnehmen. Diese werden im nächsten Bildschirm angezeigt. Bereiten Sie sicht darauf vor, wenn Sie den Knopf drücken!
onboarding-automatic_proportions-start_recording-next = Aufnahme starten
onboarding-automatic_proportions-recording-title = Aufnahme
onboarding-automatic_proportions-recording-description-p0 = Aufnahme läuft...
onboarding-automatic_proportions-recording-description-p1 = Machen Sie die unten beschriebenen Bewegungen:
# Each line of text is a different list item
onboarding-automatic_proportions-recording-steps =
Stehen Sie aufrecht und drehen Sie den Kopf im Kreis.
Beugen Sie den Rücken nach vorne und gehen Sie in die Hocke. Schauen Sie in der Hocke erst nach links, dann nach rechts.
Drehen Sie Ihren Oberkörper nach links (gegen den Uhrzeigersinn), dann strecken Sie sich nach unten zum Boden.
Drehen Sie Ihren Oberkörper nach rechts (im Uhrzeigersinn) und strecken Sie ihn dann nach unten zum Boden.
Rollen Sie Ihre Hüften in einer kreisförmigen Bewegung, als ob Sie einen Hula-Hoop-Reifen benutzen würden.
Wenn die Aufnahme noch nicht zu Ende ist, können Sie diese Schritte wiederholen, bis sie zu Ende ist.
onboarding-automatic_proportions-recording-processing = Aufnahme wird verarbeitet...
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
@@ -782,11 +935,24 @@ onboarding-automatic_proportions-verify_results-redo = Aufnahme wiederholen
onboarding-automatic_proportions-verify_results-confirm = Ergebnisse sind korrekt
onboarding-automatic_proportions-done-title = Körper gemessen und gespeichert.
onboarding-automatic_proportions-done-description = Ihre Körperproportionen-Kalibrierung ist abgeschlossen!
onboarding-automatic_proportions-error_modal =
<b>Warnung:</b> Beim Schätzen der Proportionen wurde ein Fehler festgestellt!
Bitte <docs>prüfen Sie die Dokumentation</docs> oder treten sie unserem <discord>Discord Server</discord> bei, um Hilfe zu bekommen. ^_^
onboarding-automatic_proportions-error_modal-confirm = Verstanden!
## Home
home-no_trackers = Keine Tracker erkannt oder zugewiesen
## Trackers Still On notification
trackers_still_on-modal-title = Es sind noch Tracker eingeschaltet
trackers_still_on-modal-description =
Ein oder mehrere Tracker sind noch eingeschaltet.
Möchten Sie SlimeVR trotzdem beenden?
trackers_still_on-modal-confirm = SlimeVR beenden
trackers_still_on-modal-cancel = Bitte warten...
## Status system
status_system-StatusTrackerReset = Es wird empfohlen, einen vollständigen Reset durchzuführen, da ein oder mehrere Tracker nicht kalibriert sind.
@@ -796,3 +962,31 @@ status_system-StatusSteamVRDisconnected =
*[other] Derzeit nicht über den SlimeVR-Treiber mit SteamVR verbunden.
}
status_system-StatusTrackerError = Der Tracker "{ $trackerName }" weist einen Fehler auf.
## Tray Menu
tray_menu-show = Anzeigen
tray_menu-hide = Ausblenden
tray_menu-quit = Beenden
## First exit modal
tray_or_exit_modal-title = Was soll der Schließen-Knopf tun?
# Multiline text
tray_or_exit_modal-description =
Hier können Sie auswählen, ob sich der Server beim Schließen beenden oder in den Infobereich minimiert werden soll.
Sie können dies später in den Einstellungen der Bedienoberfläche ändern!
tray_or_exit_modal-radio-exit = Beenden
tray_or_exit_modal-radio-tray = In den Infobereich minimieren
tray_or_exit_modal-submit = Speichern
tray_or_exit_modal-cancel = Abbruch
## Unknown device modal
unknown_device-modal-title = Ein neuer Tracker wurde gefunden!
unknown_device-modal-description =
Es gibt einen neuen Tracker mit der MAC-Adresse <b>{ $deviceId }</b>.
Möchten Sie diesen mit SlimeVR verbinden?
unknown_device-modal-confirm = Sicher!
unknown_device-modal-forget = Ignorieren

View File

@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = wight pawb
body_part-RIGHT_UPPER_LEG = wight uppew weg
body_part-RIGHT_LOWER_LEG = wight wowwe weg
body_part-RIGHT_FOOT = wight pawb
body_part-UPPER_CHEST = uppew chest
body_part-CHEST = chwest~
body_part-WAIST = wyayst~
body_part-HIP = hyip
@@ -53,8 +54,9 @@ skeleton_bone-NONE = none
skeleton_bone-HEAD = hed shyft
skeleton_bone-NECK = nyeck wength
skeleton_bone-torso_group = towso wength
skeleton_bone-CHEST = chwest wength
skeleton_bone-UPPER_CHEST = uppew chest wength
skeleton_bone-CHEST_OFFSET = chwest awfset
skeleton_bone-CHEST = chwest wength
skeleton_bone-WAIST = weyst wength
skeleton_bone-HIP = hip wength
skeleton_bone-HIP_OFFSET = hyip awfset
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = dispway owovelay as miwwow
widget-drift_compensation-clear = cwear dwift compensation
## Widget: Clear Reset Mounting
widget-clear_mounting = cweaw weset meownting
## Widget: Developer settings
widget-developer_mode = devwowwewow mode
@@ -138,6 +144,11 @@ widget-imu_visualizer-rotation_raw = waw
widget-imu_visualizer-rotation_preview = pwewiew
widget-imu_visualizer-rotation_hide = hoide
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Skeweton pweview
widget-skeleton_visualizer-hide = hoide
## Tracker status
tracker-status-none = no stawtus
@@ -146,6 +157,7 @@ tracker-status-error = ewwow
tracker-status-disconnected = disconnyected
tracker-status-occluded = occwuded
tracker-status-ok = oki
tracker-status-timed_out = Timed owt
## Tracker status columns
@@ -163,9 +175,15 @@ tracker-table-column-url = uawl
## Tracker rotation
tracker-rotation-front = fwowt
tracker-rotation-front_left = fwont-weft
tracker-rotation-front_right = fwont-wight
tracker-rotation-left = lewft
tracker-rotation-right = wight
tracker-rotation-back = bak
tracker-rotation-back_left = back-weft
tracker-rotation-back_right = back-wight
tracker-rotation-custom = custowm
tracker-rotation-overriden = (ovewwidden by meownting weset)
## Tracker information
@@ -230,6 +248,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } wight tigh?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } wight ankew?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } wight pawb?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } wight contwowwaw?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } uppew chest?
tracker_selection_menu-CHEST = { -tracker_selection-part } chwest?
tracker_selection_menu-WAIST = { -tracker_selection-part } waste?
tracker_selection_menu-HIP = { -tracker_selection-part } hiyp?
@@ -269,6 +288,8 @@ settings-sidebar-osc_router = OSC wouwter
settings-sidebar-osc_trackers = VRChawt OSC Twayckaws
settings-sidebar-utils = utiwities
settings-sidebar-serial = sewiaw cownsaw
settings-sidebar-appearance = appeawance
settings-sidebar-notifications = notificashuns
## SteamVR settings
@@ -333,14 +354,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = fwoow-cwip can r
settings-general-fk_settings-leg_tweak-toe_snap-description = toe-snap atempts to gwess da wotation of ur fweet if fweet tracker thingys arewnt in use
settings-general-fk_settings-leg_tweak-foot_plant-description = pawb-pwant wotates youw feet to be pawawwew to the gwound wen in cawntact.
settings-general-fk_settings-leg_fk = leg twacking
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Enyabwe pawb Meownting Weset by tiptoeing.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Pawb Meownting Weset
settings-general-fk_settings-arm_fk = awm twacking
settings-general-fk_settings-arm_fk-description = chawnge teh way teh awms awe twacked.
settings-general-fk_settings-arm_fk-force_arms = fowce awms fwom hmd
settings-general-fk_settings-skeleton_settings = skeweton sewttings
settings-general-fk_settings-arm_fk-reset_mode-description = Change which awm pose is expected fow meownting weset.
settings-general-fk_settings-arm_fk-back = bak
settings-general-fk_settings-arm_fk-back-description = The defauwt mode, wit da uppew awms going back and wowew awms going fowwawd.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (up)
settings-general-fk_settings-arm_fk-tpose_up-description = Expects youw awms to be down on the sides duwing Fuww Weset, and 90 degwees up to the sides duwing Meownting Weset.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (down)
settings-general-fk_settings-arm_fk-tpose_down-description = Expects youw awms to be 90 degwees up to the sides duwing Fuww Weset, and down on the sides duwing Meownting Weset.
settings-general-fk_settings-arm_fk-forward = Fowwawd
settings-general-fk_settings-arm_fk-forward-description = Expects youw awms to be up 90 degwees fowwawd. Usefuw fow VTubing.
settings-general-fk_settings-skeleton_settings-toggles = skeweton toggews
settings-general-fk_settings-skeleton_settings-description = toggwe skeweton sewttings on owow off. is wowcommended to weawve these on~
settings-general-fk_settings-skeleton_settings-extended_spine = ewtended spine
settings-general-fk_settings-skeleton_settings-extended_pelvis = ewtended pelvis
settings-general-fk_settings-skeleton_settings-extended_knees = ewtended neey
settings-general-fk_settings-skeleton_settings-extended_spine_model = extwended spine modew
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = extwended pewvis modew
settings-general-fk_settings-skeleton_settings-extended_knees_model = extwended nee modew
settings-general-fk_settings-skeleton_settings-ratios = skeweton watios
settings-general-fk_settings-skeleton_settings-ratios-description = change da vawue of skeweton settings. u may need to ajust ur pawpowshuns aftew changin dese.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = impute waist fwom chest to hip
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = impute waist fwom chest to wegs
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = impute hip fwom chest to wegs
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = impute hip fwom waist to wegs
settings-general-fk_settings-skeleton_settings-interp_hip_legs = awewage da hip's yaw and woll wiff da legs'
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = awewage da knee twackews' yaw and woll wiff da ankews'
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Avewage the knees' yaw and woww with the ankews'
settings-general-fk_settings-self_localization-title = mocap mowd
settings-general-fk_settings-self_localization-description = mocap mowd awwows da skeweton to wuffly twack is own posishun without a hedset or other twackews. note dat dis wequiwes feet and hed twackews to wowk and is stiwll expewimentaw.
settings-general-fk_settings-vive_emulation-title = vive emuwation
settings-general-fk_settings-vive_emulation-description = emuwate the waist twackew pwobwems that vive twackews hawe. tis is a jowke and mawkes twacking wowse eheh ^^
settings-general-fk_settings-vive_emulation-label = enabwe vive emuwation
@@ -357,6 +400,13 @@ settings-general-gesture_control-taps =
[one] 1 bap
*[other] { $amount } baps
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 twackew
*[other] { $amount } twackews
}
settings-general-gesture_control-yawResetEnabled = enabwe bap to yaw weset
settings-general-gesture_control-yawResetDelay = yaw weset deway
settings-general-gesture_control-yawResetTaps = baps fow yaw weset
@@ -366,13 +416,32 @@ settings-general-gesture_control-fullResetTaps = baps fow fuww weset
settings-general-gesture_control-mountingResetEnabled = enable wap to weset mountwing
settings-general-gesture_control-mountingResetDelay = mountwing weset deway
settings-general-gesture_control-mountingResetTaps = baps for mountwing weset
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = twackews over thweshowd
settings-general-gesture_control-numberTrackersOverThreshold-description = incwease dis vawue if da bap detecshun is nawt wowking. dont incwease it above what is need to make bap detecshun wowk as it wowd cauwse mowe fawse pawsitives.
## Interface settings
## Appearance settings
settings-general-interface = intewface
settings-interface-appearance = appeawance
settings-general-interface-dev_mode = devwowwewow mode
settings-general-interface-dev_mode-description = this mode can be wowseffuw if you need in-dipth data owow to intewact with cownnected twackaws on a wowowe wowadvanced wowwevew
settings-general-interface-dev_mode-label = devwowwewow mode
settings-general-interface-theme = cowor theem
settings-general-interface-lang = sewect wanguage
settings-general-interface-lang-description = change the defawwt wanguage yuw want to use
settings-general-interface-lang-placeholder = sewect teh wanguage to use
# Keep the font name untranslated
settings-interface-appearance-font = gui fawnt
settings-interface-appearance-font-description = dis change da fawnt use by da intewface.
settings-interface-appearance-font-placeholder = defawt fawnt
settings-interface-appearance-font-os_font = os fawnt
settings-interface-appearance-font-slime_font = defawt fawnt
settings-interface-appearance-font_size = bass fawn scawing
settings-interface-appearance-font_size-description = dis affects da fawnt size of da whol intewface except dis setting panew.
## Notification settings
settings-interface-notifications = notificashuns
settings-general-interface-serial_detection = shewyaw device deteccion
settings-general-interface-serial_detection-description = this option will shaww a pawp-up evewy time yuw pwug a new shewyaw device that cawwld be a twayckaw. it helps iympwooving teh setup pwocess of a twayckaw
settings-general-interface-serial_detection-label = shewyaw device deteccion
@@ -380,10 +449,9 @@ settings-general-interface-feedback_sound = feeback sownd
settings-general-interface-feedback_sound-description = dis awptshun wiww pway a sownd wen a weset is twiggered (meow~!)
settings-general-interface-feedback_sound-label = feeback sownd
settings-general-interface-feedback_sound-volume = feedback sownd volyume
settings-general-interface-theme = cowor theem
settings-general-interface-lang = sewect wanguage
settings-general-interface-lang-description = change the defawwt wanguage yuw want to use
settings-general-interface-lang-placeholder = sewect teh wanguage to use
settings-general-interface-connected_trackers_warning = Connected twackews wawning
settings-general-interface-connected_trackers_warning-description = This option wiww show a pop-up evewy time you twy exiting SwimeVR whiwe having one ow mowe connected twackews. It weminds you to tuwn off youw twackews when you awe done to pwesewve battewy wife.
settings-general-interface-connected_trackers_warning-label = Connected twackews wawning on exit
## Serial settings
@@ -466,7 +534,7 @@ settings-osc-vmc = viwtuaw motion captuwe
# This cares about multilines
settings-osc-vmc-description =
change settings specific to the vmc (viwtuaw motion captuwe) pwotocow
to send swimevr's twacking data and weceive twacking data fwom othew apps.
to send SwimeVR's twacking data and weceive twacking data fwom othew apps.
settings-osc-vmc-enable = enaybwe
settings-osc-vmc-enable-description = toggle teh sending awnd wweceiving of data
settings-osc-vmc-enable-label = enaybwe
@@ -527,7 +595,7 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = gaww bawwk to meownting cawwibwation
onboarding-reset_tutorial = weset wtutowial
onboarding-reset_tutorial-description = dis featuwe isn't done, just pwess continyue
onboarding-reset_tutorial-explanation = whiwe you use youw twackews dey mite get out of awignment becus of imu yaw dwift, or because u might have moved dem physicawwy. you have sevewew way to fix dis.
onboarding-reset_tutorial-skip = skip sedup
# Cares about multiline
onboarding-reset_tutorial-0 =
@@ -550,7 +618,7 @@ onboarding-reset_tutorial-2 =
## Setup start
onboarding-home = wewcome to swimevr
onboarding-home = wewcome to SwimeVR
onboarding-home-start = wets get set up!
## Enter VR part of setup
@@ -612,8 +680,8 @@ onboarding-assignment_tutorial = how to pwepawe a Swime Twackew befowe puting it
onboarding-assignment_tutorial-first_step = 1. pwace a body pawt stickew (if you has wun) on da twackew accowding to u choosing :3
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = sticker
onboarding-assignment_tutorial-second_step = 2. put da stwap to u twackew, keep da hook an woop side of the stwap face in the fowlowing owientation:
onboarding-assignment_tutorial-second_step-continuation = da hook an woop side fow da extenson shouwd be in this owientation:
onboarding-assignment_tutorial-second_step-v2 = 2. attach da stwap to youw twackew, keeping da vewcwo side of da stwap facing da same diwecshun as da swime face of youw twackew:
onboarding-assignment_tutorial-second_step-continuation-v2 = da vewcwo side fow da extenshun shud be facing up wike da fowwowing image:
onboarding-assignment_tutorial-done = i put da stickew an stwap on :3
## Tracker assignment setup
@@ -707,12 +775,19 @@ onboarding-choose_mounting = wut meownting cawibwation mefod to use?
onboarding-choose_mounting-description = meownting owientation correct fow da pwacement of twackews on u body.
onboarding-choose_mounting-auto_mounting = awtomawic meownting
# Italized text
onboarding-choose_mounting-auto_mounting-subtitle = wecommended
onboarding-choose_mounting-auto_mounting-label = expewimentaw
onboarding-choose_mounting-auto_mounting-description = dis will automaticawwy detec da meownting diwecshuns fow aww of ya twackews fwom 2 poses
onboarding-choose_mounting-manual_mounting = manyul meownting
# Italized text
onboarding-choose_mounting-manual_mounting-subtitle = if yu know wut u r doin
onboarding-choose_mounting-manual_mounting-label = wecommended
onboarding-choose_mounting-manual_mounting-description = dis will let u chose da meownting diwecshun manuwawwy fow eech twackew
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Awe you suwe you want to do
the automatic mounting cawibwation?
onboarding-choose_mounting-manual_modal-description = <b>The manuaw mounting cawibwation is wecommended fow new usews</b>, as the automatic mounting cawibwation's poses can be hawd to get wight fiwst and may wequiwe some pwactice.
onboarding-choose_mounting-manual_modal-confirm = I'm suwe of what I'm doing
onboarding-choose_mounting-manual_modal-cancel = cancew :o
## Tracker manual mounting setup
@@ -753,12 +828,18 @@ onboarding-choose_proportions-description =
onboarding-choose_proportions-auto_proportions = awtomatic pwopowtions
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = wecommended
onboarding-choose_proportions-auto_proportions-description = dis will guess ur pwopowshuns by wecowding a sampwe of ur movement and pass it thwough an ai
onboarding-choose_proportions-auto_proportions-descriptionv3 =
This wiww guess youw pwopowtions by wecowding a sampwe of youw movements and passing it thwough an awgowithm.
<b>This wequiwes having youw headset (HMD) connected to SwimeVR and on youw head!</b>
onboarding-choose_proportions-manual_proportions = manuwal pwopowtions
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = fow smol touchies
onboarding-choose_proportions-manual_proportions-description = dis will let u ajust ur pwopowtions manuwally by modifying dem diwectwy
onboarding-choose_proportions-save = sav pawpwotions
onboarding-choose_proportions-export = expowt pawpowshuns
onboarding-choose_proportions-import = Impowt pwopowtions
onboarding-choose_proportions-import-success = Impowted
onboarding-choose_proportions-import-failed = Faiwed
onboarding-choose_proportions-file_type = body pawpowshuns file
## Tracker manual proportions setup
@@ -781,14 +862,25 @@ onboarding-automatic_proportions-put_trackers_on-description = to cawybwate yowu
onboarding-automatic_proportions-put_trackers_on-next = i have awl my twackaws on
onboarding-automatic_proportions-requirements-title = wequiyements
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
u have at weast enyough twackews to twack youw pawbs (genyewawwy 5 twackews).
u have youw twackews and headset on.
u awe weawing youw twackews and headset.
ur twackews and headset awe connyected to da SwimeVR sewvew.
ur twackews and headset awe wowking pwopewwy within the SwimeVR sewvew.
ur headset is wepowting positionyaw data to the SwimeVR sewvew (this genyewawwy wenyewawwy means having SteamVR wunnying and connyected to SwimeVR using SwimeVR's SteamVR dwivew).
onboarding-automatic_proportions-requirements-descriptionv2 =
You have at weast enough twackews to twack youw pawbs (genewawwy 5 twackews).
You have youw twackews and headset on and awe weawing them.
Youw twackews and headset awe connected to the SwimeVR sewvew and awe wowking pwopewwy (ex. no stuttewing, disconnecting, etc).
Youw headset is wepowting positionaw data to the SwimeVR sewvew (this genewawwy means having SteamVR wunning and connected to SwimeVR using SwimeVR's SteamVR dwivew).
Youw twacking is wowking and is accuwatewy wepwesenting youw movements (ex. you have pewfowmed a fuww weset and they move the wight diwection when kicking, bending ovew, sitting, etc).
onboarding-automatic_proportions-requirements-next = i have wed da wequiwemens
onboarding-automatic_proportions-check_height-title = check youw height
onboarding-automatic_proportions-check_height-description = we use youw height as a basis of ouw measuwements by using da hmd's height as an appwoximashun of youw actuwaw height, but is better to check if they are right youwsewf!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = pwease pwess da button while standing <u>upwight</u> to cawcuwate youw height. you hav 3 second aftew you pwess da button! >w<
onboarding-automatic_proportions-check_height-fetch_height = am standing!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = unnown
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = youw hmd heit is
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = so youw actuaw heit is
onboarding-automatic_proportions-check_height-next_step = dey awe fine
onboarding-automatic_proportions-start_recording-title = get wowdy to move
onboarding-automatic_proportions-start_recording-description = we'we now going to wowcawd some specific poses and moves. these will be pwompted in teh wowst screen. be wowdy to stawt when teh buttawn is pwessed!
onboarding-automatic_proportions-start_recording-next = stawt wowcawding
@@ -818,11 +910,24 @@ onboarding-automatic_proportions-verify_results-redo = wedo wecowding
onboarding-automatic_proportions-verify_results-confirm = tehywee coowect
onboarding-automatic_proportions-done-title = bawdy meowsured anwd sayved uwu
onboarding-automatic_proportions-done-description = yoww body pwopowwtions cawybowwation is cowowplete! ^w^
onboarding-automatic_proportions-error_modal =
<b>wawning:</b> an ewwow was fownd whiwe estimating pawpowshuns! ;w;
pwease <docs>check da docs</docs> or join ouw <discord>Discord</discord> fow hewp >~>
onboarding-automatic_proportions-error_modal-confirm = undewstood!
## Home
home-no_trackers = no twackaws detecyted owo wowigned
## Trackers Still On notification
trackers_still_on-modal-title = Twackews stiww on
trackers_still_on-modal-description =
One ow mowe twackews awe stiww on.
Do you stiww want to exit SwimeVR?
trackers_still_on-modal-confirm = Exit SwimeVR
trackers_still_on-modal-cancel = Howd on...
## Status system
status_system-StatusTrackerReset = it wecommended to pewfowm a fuwl weset as one or mowe twackews awe unadjussed. -w-

View File

@@ -19,6 +19,8 @@ tips-find_tracker = Not sure which tracker is which? Shake a tracker and it will
tips-do_not_move_heels = Ensure your heels do not move during recording!
tips-file_select = Drag & drop files to use, or <u>browse</u>.
tips-tap_setup = You can slowly tap 2 times your tracker to choose it instead of selecting it from the menu.
tips-turn_on_tracker = Using official SlimeVR trackers? Remember to <b><em>turn on your tracker</em></b> after connecting it to the PC!
tips-failed_webgl = Failed to initialize WebGL.
## Body parts
body_part-NONE = Unassigned
@@ -42,6 +44,7 @@ body_part-LEFT_HAND = Left hand
body_part-LEFT_UPPER_LEG = Left thigh
body_part-LEFT_LOWER_LEG = Left ankle
body_part-LEFT_FOOT = Left foot
body_part-PLAYSPACE = Playspace (motion compensation)
## Proportions
skeleton_bone-NONE = None
@@ -117,7 +120,7 @@ widget-developer_mode = Developer Mode
widget-developer_mode-high_contrast = High contrast
widget-developer_mode-precise_rotation = Precise rotation
widget-developer_mode-fast_data_feed = Fast data feed
widget-developer_mode-filter_slimes_and_hmd = Filter slimes and HMD
widget-developer_mode-filter_slimes_and_hmd = Filter Slimes and HMD
widget-developer_mode-sort_by_name = Sort by name
widget-developer_mode-raw_slime_rotation = Raw rotation
widget-developer_mode-more_info = More info
@@ -128,6 +131,10 @@ widget-imu_visualizer-rotation_raw = Raw
widget-imu_visualizer-rotation_preview = Preview
widget-imu_visualizer-rotation_hide = Hide
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Skeleton preview
widget-skeleton_visualizer-hide = Hide
## Tracker status
tracker-status-none = No Status
tracker-status-busy = Busy
@@ -135,6 +142,7 @@ tracker-status-error = Error
tracker-status-disconnected = Disconnected
tracker-status-occluded = Occluded
tracker-status-ok = OK
tracker-status-timed_out = Timed out
## Tracker status columns
tracker-table-column-name = Name
@@ -170,6 +178,7 @@ tracker-infos-hardware_rev = Hardware Revision
tracker-infos-hardware_identifier = Hardware ID
tracker-infos-imu = IMU Sensor
tracker-infos-board_type = Main board
tracker-infos-network_version = Protocol Version
## Tracker settings
tracker-settings-back = Go back to trackers list
@@ -177,7 +186,7 @@ tracker-settings-title = Tracker settings
tracker-settings-assignment_section = Assignment
tracker-settings-assignment_section-description = What part of the body the tracker is assigned to.
tracker-settings-assignment_section-edit = Edit assignment
tracker-settings-mounting_section = Mounting position
tracker-settings-mounting_section = Mounting orientation
tracker-settings-mounting_section-description = Where is the tracker mounted?
tracker-settings-mounting_section-edit = Edit mounting
tracker-settings-drift_compensation_section = Allow drift compensation
@@ -188,6 +197,9 @@ tracker-settings-drift_compensation_section-edit = Allow drift compensation
tracker-settings-name_section = Tracker name
tracker-settings-name_section-description = Give it a cute nickname :)
tracker-settings-name_section-placeholder = NightyBeast's left leg
tracker-settings-forget = Forget tracker
tracker-settings-forget-description = Removes the tracker from the SlimeVR Server and prevent it from connecting to it until the server is restarted. The configuration of the tracker won't be lost.
tracker-settings-forget-label = Forget tracker
## Tracker part card info
tracker-part_card-no_name = No name
@@ -273,10 +285,21 @@ settings-general-steamvr-description =
Useful for games or apps that only support certain trackers.
settings-general-steamvr-trackers-waist = Waist
settings-general-steamvr-trackers-chest = Chest
settings-general-steamvr-trackers-feet = Feet
settings-general-steamvr-trackers-knees = Knees
settings-general-steamvr-trackers-elbows = Elbows
settings-general-steamvr-trackers-hands = Hands
settings-general-steamvr-trackers-left_foot = Left foot
settings-general-steamvr-trackers-right_foot = Right foot
settings-general-steamvr-trackers-left_knee = Left knee
settings-general-steamvr-trackers-right_knee = Right knee
settings-general-steamvr-trackers-left_elbow = Left elbow
settings-general-steamvr-trackers-right_elbow = Right elbow
settings-general-steamvr-trackers-left_hand = Left hand
settings-general-steamvr-trackers-right_hand = Right hand
settings-general-steamvr-trackers-tracker_toggling = Automatic tracker assignment
settings-general-steamvr-trackers-tracker_toggling-description = Automatically handles toggling SteamVR trackers on or off depending on your current tracker assignments
settings-general-steamvr-trackers-tracker_toggling-label = Automatic tracker assignment
settings-general-steamvr-trackers-hands-warning = <b>Warning:</b> hand trackers will override your controllers.
Are you sure?
settings-general-steamvr-trackers-hands-warning-cancel = Cancel
settings-general-steamvr-trackers-hands-warning-done = Yes
## Tracker mechanics
settings-general-tracker_mechanics = Tracker mechanics
@@ -293,6 +316,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Smooth
settings-general-tracker_mechanics-filtering-type-prediction = Prediction
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduces latency and makes movements more snappy, but may increase jitter.
settings-general-tracker_mechanics-filtering-amount = Amount
settings-general-tracker_mechanics-yaw-reset-smooth-time = Yaw reset smooth time (0s disables smoothing)
settings-general-tracker_mechanics-drift_compensation = Drift compensation
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -301,6 +325,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Drift compensation
settings-general-tracker_mechanics-drift_compensation-amount-label = Compensation amount
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Use up to x last resets
settings-general-tracker_mechanics-save_mounting_reset = Save automatic mounting reset calibration
settings-general-tracker_mechanics-save_mounting_reset-description =
Saves the automatic mounting reset calibrations for the trackers between restarts. Useful
when wearing a suit where trackers don't move between sessions. <b>Not recommended for normal users!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Save mounting reset
## FK/Tracking settings
settings-general-fk_settings = Tracking settings
@@ -322,9 +351,20 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip can R
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap attempts to guess the rotation of your feet if feet trackers are not in use.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant rotates your feet to be parallel to the ground when in contact.
settings-general-fk_settings-leg_fk = Leg tracking
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Enable feet Mounting Reset by tiptoeing.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Feet Mounting Reset
settings-general-fk_settings-arm_fk = Arm tracking
settings-general-fk_settings-arm_fk-description = Force arms to be tracked from the HMD even if positional hand data is available.
settings-general-fk_settings-arm_fk-description = Force arms to be tracked from the headset (HMD) even if positional hand data is available.
settings-general-fk_settings-arm_fk-force_arms = Force arms from HMD
settings-general-fk_settings-arm_fk-reset_mode-description = Change which arm pose is expected for mounting reset.
settings-general-fk_settings-arm_fk-back = Back
settings-general-fk_settings-arm_fk-back-description = The default mode, with the upper arms going back and lower arms going forward.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (up)
settings-general-fk_settings-arm_fk-tpose_up-description = Expects your arms to be down on the sides during Full Reset, and 90 degrees up to the sides during Mounting Reset.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (down)
settings-general-fk_settings-arm_fk-tpose_down-description = Expects your arms to be 90 degrees up to the sides during Full Reset, and down on the sides during Mounting Reset.
settings-general-fk_settings-arm_fk-forward = Forward
settings-general-fk_settings-arm_fk-forward-description = Expects your arms to be up 90 degrees forward. Useful for VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Skeleton toggles
settings-general-fk_settings-skeleton_settings-description = Toggle skeleton settings on or off. It is recommended to leave these on.
settings-general-fk_settings-skeleton_settings-extended_spine_model = Extended spine model
@@ -338,6 +378,7 @@ settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Impu
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Impute hip from waist to legs
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Average the hip's yaw and roll with the legs'
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Average the knee trackers' yaw and roll with the ankles'
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Average the knees' yaw and roll with the ankles'
settings-general-fk_settings-self_localization-title = Mocap mode
settings-general-fk_settings-self_localization-description = Mocap Mode allows the skeleton to roughly track its own position without a headset or other trackers. Note that this requires feet and head trackers to work and is still experimental.
@@ -402,6 +443,12 @@ settings-general-interface-feedback_sound = Feedback sound
settings-general-interface-feedback_sound-description = This option will play a sound when a reset is triggered.
settings-general-interface-feedback_sound-label = Feedback sound
settings-general-interface-feedback_sound-volume = Feedback sound volume
settings-general-interface-connected_trackers_warning = Connected trackers warning
settings-general-interface-connected_trackers_warning-description = This option will show a pop-up every time you try exiting SlimeVR while having one or more connected trackers. It reminds you to turn off your trackers when you are done to preserve battery life.
settings-general-interface-connected_trackers_warning-label = Connected trackers warning on exit
settings-general-interface-use_tray = Minimize to system tray
settings-general-interface-use_tray-description = Lets you close the window without closing the SlimeVR Server so you can continue using it without having the GUI bothering you.
settings-general-interface-use_tray-label = Minimize to system tray
## Serial settings
settings-serial = Serial Console
@@ -422,6 +469,7 @@ settings-serial-factory_reset-warning-cancel = Cancel
settings-serial-get_infos = Get Infos
settings-serial-serial_select = Select a serial port
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Get WiFi Scan
## OSC router settings
settings-osc-router = OSC router
@@ -451,7 +499,7 @@ settings-osc-router-network-address-placeholder = IPV4 address
settings-osc-vrchat = VRChat OSC Trackers
# This cares about multilines
settings-osc-vrchat-description =
Change VRChat-specific settings to receive HMD data and send
Change VRChat-specific settings to receive headset (HMD) data and send
tracker data for FBT without SteamVR (ex. Quest standalone).
settings-osc-vrchat-enable = Enable
settings-osc-vrchat-enable-description = Toggle the sending and receiving of data.
@@ -542,7 +590,7 @@ onboarding-reset_tutorial-skip = Skip step
# Cares about multiline
onboarding-reset_tutorial-0 = Tap { $taps } times the highlighted tracker for triggering yaw reset.
This will make the trackers face the same direction as your HMD.
This will make the trackers face the same direction as your headset (HMD).
# Cares about multiline
onboarding-reset_tutorial-1 = Tap { $taps } times the highlighted tracker for triggering full reset.
@@ -573,8 +621,8 @@ onboarding-done-close = Close setup
## Tracker connection setup
onboarding-connect_tracker-back = Go Back to Wi-Fi credentials
onboarding-connect_tracker-title = Connect trackers
onboarding-connect_tracker-description-p0 = Now onto the fun part, connecting all the trackers!
onboarding-connect_tracker-description-p1 = Simply connect all that aren't connected yet, through a USB port.
onboarding-connect_tracker-description-p0-v1 = Now onto the fun part, connecting trackers!
onboarding-connect_tracker-description-p1-v1 = Connect each tracker one at a time through a USB port.
onboarding-connect_tracker-issue-serial = I'm having trouble connecting!
onboarding-connect_tracker-usb = USB Tracker
onboarding-connect_tracker-connection_status-none = Looking for trackers
@@ -612,8 +660,8 @@ onboarding-assignment_tutorial = How to prepare a Slime Tracker before putting i
onboarding-assignment_tutorial-first_step = 1. Place a body part sticker (if you have one) on the tracker according to your choosing
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Sticker
onboarding-assignment_tutorial-second_step = 2. Attach the strap to your tracker, keeping the hook and loop side of the strap face in the following orientation:
onboarding-assignment_tutorial-second_step-continuation = The hook and loop side for the extension should be in this orientation:
onboarding-assignment_tutorial-second_step-v2 = 2. Attach the strap to your tracker, keeping the velcro side of the strap facing the same direction as the slime face of your tracker:
onboarding-assignment_tutorial-second_step-continuation-v2 = The velcro side for the extension should be facing up like the following image:
onboarding-assignment_tutorial-done = I put stickers and straps!
## Tracker assignment setup
@@ -629,6 +677,7 @@ onboarding-assign_trackers-assigned = { $assigned } of { $trackers ->
} assigned
onboarding-assign_trackers-advanced = Show advanced assign locations
onboarding-assign_trackers-next = I assigned all the trackers
onboarding-assign_trackers-mirror_view = Mirror view
## Tracker assignment warnings
# Note for devs, number is used for representing boolean states per bit.
@@ -696,12 +745,17 @@ onboarding-choose_mounting-description = Mounting orientation corrects for the p
onboarding-choose_mounting-auto_mounting = Automatic mounting
# Italized text
onboarding-choose_mounting-auto_mounting-label = Experimental
onboarding-choose_mounting-auto_mounting-description = This will automatically detect the mounting directions for all of your trackers from 2 poses
onboarding-choose_mounting-auto_mounting-description = This will automatically detect the mounting orientations for all of your trackers from 2 poses
onboarding-choose_mounting-manual_mounting = Manual mounting
# Italized text
onboarding-choose_mounting-manual_mounting-label = Recommended
onboarding-choose_mounting-manual_mounting-description = This will let you choose the mounting direction manually for each tracker
onboarding-choose_mounting-manual_mounting-description = This will let you choose the mounting orientation manually for each tracker
# Multiline text
onboarding-choose_mounting-manual_modal-title = Are you sure you want to do
the automatic mounting calibration?
onboarding-choose_mounting-manual_modal-description = <b>The manual mounting calibration is recommended for new users</b>, as the automatic mounting calibration's poses can be hard to get right first and may require some practice.
onboarding-choose_mounting-manual_modal-confirm = I'm sure of what I'm doing
onboarding-choose_mounting-manual_modal-cancel = Cancel
## Tracker manual mounting setup
onboarding-manual_mounting-back = Go Back to Enter VR
@@ -713,40 +767,44 @@ onboarding-manual_mounting-next = Next step
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = Go Back to Enter VR
onboarding-automatic_mounting-title = Mounting Calibration
onboarding-automatic_mounting-description = For SlimeVR trackers to work, we need to assign a mounting rotation to your trackers to align them with your physical tracker mounting.
onboarding-automatic_mounting-description = For SlimeVR trackers to work, we need to assign a mounting orientation to your trackers to align them with your physical tracker mounting.
onboarding-automatic_mounting-manual_mounting = Manual mounting
onboarding-automatic_mounting-next = Next step
onboarding-automatic_mounting-prev_step = Previous step
onboarding-automatic_mounting-done-title = Mounting rotations calibrated.
onboarding-automatic_mounting-done-title = Mounting orientations calibrated.
onboarding-automatic_mounting-done-description = Your mounting calibration is complete!
onboarding-automatic_mounting-done-restart = Try again
onboarding-automatic_mounting-mounting_reset-title = Mounting Reset
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Squat in a "skiing" pose with your legs bent, your upper body tilted forwards, and your arms bent.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Press the "Reset Mounting" button and wait for 3 seconds before the trackers' mounting rotations will reset.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Press the "Reset Mounting" button and wait for 3 seconds before the trackers' mounting orientations will reset.
onboarding-automatic_mounting-preparation-title = Preparation
onboarding-automatic_mounting-preparation-step-0 = 1. Stand upright with your arms to your sides.
onboarding-automatic_mounting-preparation-step-1 = 2. Press the "Full Reset" button and wait for 3 seconds before the trackers will reset.
onboarding-automatic_mounting-put_trackers_on-title = Put on your trackers
onboarding-automatic_mounting-put_trackers_on-description = To calibrate mounting rotations, we're gonna use the trackers you just assigned. Put on all your trackers, you can see which are which in the figure to the right.
onboarding-automatic_mounting-put_trackers_on-description = To calibrate mounting orientations, we're gonna use the trackers you just assigned. Put on all your trackers, you can see which are which in the figure to the right.
onboarding-automatic_mounting-put_trackers_on-next = I have all my trackers on
## Tracker proportions method choose
onboarding-choose_proportions = What proportion calibration method to use?
# Multiline string
onboarding-choose_proportions-description = Body proportions are used to know the measurements of your body. They're required to calculate the trackers' positions.
onboarding-choose_proportions-description-v1 = Body proportions are used to know the measurements of your body. They're required to calculate the trackers' positions.
When proportions of your body don't match the ones saved, your tracking precision will be worse and you will notice things like skating or sliding, or your body not matching your avatar well.
<b>You only need to measure your body once!</b> Unless they are wrong or your body has changed, then you don't need to do them again.
onboarding-choose_proportions-auto_proportions = Automatic proportions
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Recommended
onboarding-choose_proportions-auto_proportions-descriptionv2 =
onboarding-choose_proportions-auto_proportions-descriptionv3 =
This will guess your proportions by recording a sample of your movements and passing it through an algorithm.
<b>This requires having your HMD connected to SlimeVR!</b>
<b>This requires having your headset (HMD) connected to SlimeVR and on your head!</b>
onboarding-choose_proportions-manual_proportions = Manual proportions
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = For small touches
onboarding-choose_proportions-manual_proportions-description = This will let you adjust your proportions manually by modifying them directly
onboarding-choose_proportions-export = Export proportions
onboarding-choose_proportions-import = Import proportions
onboarding-choose_proportions-import-success = Imported
onboarding-choose_proportions-import-failed = Failed
onboarding-choose_proportions-file_type = Body proportions file
## Tracker manual proportions setup
@@ -767,25 +825,26 @@ onboarding-automatic_proportions-put_trackers_on-description = To calibrate your
onboarding-automatic_proportions-put_trackers_on-next = I have all my trackers on
onboarding-automatic_proportions-requirements-title = Requirements
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
onboarding-automatic_proportions-requirements-descriptionv2 =
You have at least enough trackers to track your feet (generally 5 trackers).
You have your trackers and headset on.
You are wearing your trackers and headset.
Your trackers and headset are connected to the SlimeVR server.
Your trackers and headset are working properly within the SlimeVR server.
You have your trackers and headset on and are wearing them.
Your trackers and headset are connected to the SlimeVR server and are working properly (ex. no stuttering, disconnecting, etc).
Your headset is reporting positional data to the SlimeVR server (this generally means having SteamVR running and connected to SlimeVR using SlimeVR's SteamVR driver).
Your tracking is working and is accurately representing your movements (ex. you have performed a full reset and they move the right direction when kicking, bending over, sitting, etc).
onboarding-automatic_proportions-requirements-next = I have read the requirements
onboarding-automatic_proportions-check_height-title = Check your height
onboarding-automatic_proportions-check_height-description = We use your height as a basis of our measurements by using the HMD's height as an approximation of your actual height, but it's better to check if they are right yourself!
onboarding-automatic_proportions-check_height-description = We use your height as a basis of our measurements by using the headset's (HMD) height as an approximation of your actual height, but it's better to check if they are right yourself!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Please press the button while standing <u>upright</u> to calculate your height. You have 3 seconds after you press the button!
onboarding-automatic_proportions-check_height-guardian_tip = If you are using a standalone VR headset, make sure to have your guardian /
boundary turned on so that your height is correct!
onboarding-automatic_proportions-check_height-fetch_height = I'm standing!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Unknown
# Shows an element below it
onboarding-automatic_proportions-check_height-height = Your height is
onboarding-automatic_proportions-check_height-hmd_height1 = Your HMD height is
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height = And HMD height is
onboarding-automatic_proportions-check_height-height1 = so your actual height is
onboarding-automatic_proportions-check_height-next_step = They are fine
onboarding-automatic_proportions-start_recording-title = Get ready to move
onboarding-automatic_proportions-start_recording-description = We're now going to record some specific poses and moves. These will be prompted in the next screen. Be ready to start when the button is pressed!
@@ -823,6 +882,14 @@ onboarding-automatic_proportions-error_modal-confirm = Understood!
## Home
home-no_trackers = No trackers detected or assigned
## Trackers Still On notification
trackers_still_on-modal-title = Trackers still on
trackers_still_on-modal-description =
One or more trackers are still on.
Do you still want to exit SlimeVR?
trackers_still_on-modal-confirm = Exit SlimeVR
trackers_still_on-modal-cancel = Hold on...
## Status system
status_system-StatusTrackerReset = It is recommended to perform a full reset as one or more trackers are unadjusted.
status_system-StatusSteamVRDisconnected = { $type ->
@@ -830,3 +897,26 @@ status_system-StatusSteamVRDisconnected = { $type ->
[steamvr_feeder] Currently not connected to the SlimeVR Feeder App.
}
status_system-StatusTrackerError = The { $trackerName } tracker has an error.
## Tray Menu
tray_menu-show = Show
tray_menu-hide = Hide
tray_menu-quit = Quit
## First exit modal
tray_or_exit_modal-title = What should the close button do?
# Multiline text
tray_or_exit_modal-description = This lets you choose whether you want to exit the server or to minimize it to the tray when pressing the close button.
You can change this later in the interface settings!
tray_or_exit_modal-radio-exit = Exit on close
tray_or_exit_modal-radio-tray = Minimize to system tray
tray_or_exit_modal-submit = Save
tray_or_exit_modal-cancel = Cancel
## Unknown device modal
unknown_device-modal-title = A new tracker was found!
unknown_device-modal-description = There is a new tracker with MAC address <b>{$deviceId}</b>.
Do you want to connect it to SlimeVR?
unknown_device-modal-confirm = Sure!
unknown_device-modal-forget = Ignore it

View File

@@ -23,6 +23,8 @@ tips-find_tracker = ¿No estás seguro de cuál sensor es cuál? Agita un sensor
tips-do_not_move_heels = ¡Asegúrate de no mover los talones en la grabación!
tips-file_select = Arrastra y suelta archivos para usarlos, o <u>selecciónalos<u>.
tips-tap_setup = Puedes tocar lentamente 2 veces el tracker para seleccionarlo en lugar de seleccionarlo desde el menú.
tips-turn_on_tracker = ¿Estas usando trackers de SlimeVR oficiales? ¡Recuerda <b><em>encender tus trackers<em><b> después de conectarlos al PC!
tips-failed_webgl = Fallo al inicializar WebGL.
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = Mano derecha
body_part-RIGHT_UPPER_LEG = Muslo derecho
body_part-RIGHT_LOWER_LEG = Tobillo derecho
body_part-RIGHT_FOOT = Pie derecho
body_part-UPPER_CHEST = Pecho superior
body_part-CHEST = Pecho
body_part-WAIST = Cintura
body_part-HIP = Cadera
@@ -53,8 +56,9 @@ skeleton_bone-NONE = Nada
skeleton_bone-HEAD = Inclinación de cabeza
skeleton_bone-NECK = Largo del cuello
skeleton_bone-torso_group = Largo del torso
skeleton_bone-CHEST = Largo del pecho
skeleton_bone-UPPER_CHEST = Largo del pecho superior
skeleton_bone-CHEST_OFFSET = Chest Offset
skeleton_bone-CHEST = Largo del pecho
skeleton_bone-WAIST = Largo de la cintura
skeleton_bone-HIP = Largo de la cadera
skeleton_bone-HIP_OFFSET = Desplazamiento de la cadera
@@ -118,7 +122,11 @@ widget-overlay-is_mirrored_label = Mostrar interfaz reflejada
## Widget: Drift compensation
widget-drift_compensation-clear = Limpiar compensación de desviación
widget-drift_compensation-clear = Olvidar compensación de drift
## Widget: Clear Reset Mounting
widget-clear_mounting = Olvidar reinicio de montura
## Widget: Developer settings
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = Raw
widget-imu_visualizer-rotation_preview = Preview
widget-imu_visualizer-rotation_hide = Ocultar
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Previsualización del esqueleto
widget-skeleton_visualizer-hide = Ocultar
## Tracker status
tracker-status-none = Sin estado
@@ -146,6 +159,7 @@ tracker-status-error = Error
tracker-status-disconnected = Desconectado
tracker-status-occluded = Ocluido
tracker-status-ok = Conectado
tracker-status-timed_out = Conexión interrumpida
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Frente
tracker-rotation-front_left = Frente izquierdo
tracker-rotation-front_right = Frente derecho
tracker-rotation-left = Izquierda
tracker-rotation-right = Derecha
tracker-rotation-back = Atrás
tracker-rotation-back_left = Atrás izquierdo
tracker-rotation-back_right = Atrás derecho
tracker-rotation-custom = Personalizado
tracker-rotation-overriden = (siendo invalidado por el reinicio de montura)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = Revisión del hardware
tracker-infos-hardware_identifier = ID del hardware
tracker-infos-imu = Sensor IMU
tracker-infos-board_type = Placa principal
tracker-infos-network_version = Versión del protocolo
## Tracker settings
@@ -197,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = Permitir compensación de des
tracker-settings-name_section = Nombre del sensor
tracker-settings-name_section-description = Dale un apodo bonito :)
tracker-settings-name_section-placeholder = Pata izquierda de Manteca
tracker-settings-forget = Olvidar tracker
tracker-settings-forget-description = Remueve el tracker del servidor de SlimeVR y lo previene de conectarse hasta que el servidor se reinicie. La configuración del tracker no se perderá.
tracker-settings-forget-label = Olvidar tracker
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } muslo derec
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } tobillo derecho?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } pie derecho?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } mando derecho?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } pecho superior?
tracker_selection_menu-CHEST = { -tracker_selection-part } pecho?
tracker_selection_menu-WAIST = { -tracker_selection-part } cintura?
tracker_selection_menu-HIP = { -tracker_selection-part } cadera?
@@ -269,6 +294,8 @@ settings-sidebar-osc_router = Router OSC
settings-sidebar-osc_trackers = Sensores OSC de VRChat
settings-sidebar-utils = Utilidades
settings-sidebar-serial = Consola serial
settings-sidebar-appearance = Apariencia
settings-sidebar-notifications = Notificaciones
## SteamVR settings
@@ -283,10 +310,22 @@ settings-general-steamvr-description =
Útil para juegos y aplicaciones que solo soportan ciertos sensores..
settings-general-steamvr-trackers-waist = Cintura
settings-general-steamvr-trackers-chest = Pecho
settings-general-steamvr-trackers-feet = Pies
settings-general-steamvr-trackers-knees = Rodillas
settings-general-steamvr-trackers-elbows = Codos
settings-general-steamvr-trackers-hands = Manos
settings-general-steamvr-trackers-left_foot = Pie izquierdo
settings-general-steamvr-trackers-right_foot = Pie derecho
settings-general-steamvr-trackers-left_knee = Rodilla izquierda
settings-general-steamvr-trackers-right_knee = Rodilla derecha
settings-general-steamvr-trackers-left_elbow = Codo izquierdo
settings-general-steamvr-trackers-right_elbow = Codo derecho
settings-general-steamvr-trackers-left_hand = Mano izquierda
settings-general-steamvr-trackers-right_hand = Mano derecha
settings-general-steamvr-trackers-tracker_toggling = Asignación automatica de trackers
settings-general-steamvr-trackers-tracker_toggling-description = Automáticamente se encarga de prender o apagar los trackers de SteamVR dependiendo de los trackers asignados a tu cuerpo
settings-general-steamvr-trackers-tracker_toggling-label = Asignación automatica de trackers
settings-general-steamvr-trackers-hands-warning =
<b>Advertencia:</b> los trackers de mano reemplazaran los controles del VR.
¿Estás seguro?
settings-general-steamvr-trackers-hands-warning-cancel = Cancelar
settings-general-steamvr-trackers-hands-warning-done = Sí
## Tracker mechanics
@@ -304,6 +343,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Suaviz
settings-general-tracker_mechanics-filtering-type-prediction = Predicción
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduce la latencia y los movimientos serán más inmediatos, pero puede incrementar la inestabilidad.
settings-general-tracker_mechanics-filtering-amount = Cantidad
settings-general-tracker_mechanics-yaw-reset-smooth-time = Tiempo de interpolación para el reinicio horizontal (0s desactiva el suavizado)
settings-general-tracker_mechanics-drift_compensation = Compensación de desviación
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -312,6 +352,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensación de desviación
settings-general-tracker_mechanics-drift_compensation-amount-label = Fuerza de la compensación
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Utilizar hasta los últimos x reinicios
settings-general-tracker_mechanics-save_mounting_reset = Guardar calibración automática de reinicio de montura
settings-general-tracker_mechanics-save_mounting_reset-description =
Guarda las calibraciones automáticas del reinicio de montura para los trackers entre reinicios. Útil
para cuando se usa un traje donde los trackers no se mueven entre sesiones. <b>¡No se recomienda para usuarios típicos!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Guardar reinicio de montura
## FK/Tracking settings
@@ -333,14 +378,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = El clip del suel
settings-general-fk_settings-leg_tweak-toe_snap-description = El encajado de dedos intenta adivinar la rotación de los pies si sus respectivos trackers no están en uso.
settings-general-fk_settings-leg_tweak-foot_plant-description = El plantado del pie rota los pies para que sean paralelos con el suelo al entrar en contacto.
settings-general-fk_settings-leg_fk = Tracking de piernas
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Activar reinicio de montura para el pie mediante el pararse de puntillas.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reinicio de montura de pies
settings-general-fk_settings-arm_fk = Trackeo de brazos
settings-general-fk_settings-arm_fk-description = Cambia cómo el movimiento de los brazos es detectado.
settings-general-fk_settings-arm_fk-force_arms = Forzar brazos desde el HMD
settings-general-fk_settings-skeleton_settings = Ajustes de esqueleto
settings-general-fk_settings-arm_fk-reset_mode-description = Cambiar que pose de brazos es esperada para el reinicio de montura.
settings-general-fk_settings-arm_fk-back = Detrás
settings-general-fk_settings-arm_fk-back-description = El modo predeterminado, con el brazo yendo por detrás y el antebrazo yendo para adelante.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (arriba)
settings-general-fk_settings-arm_fk-tpose_up-description = Espera que tus brazos estén abajo hacia los lados durante un reinicio completo, y 90 grados hacia los lados durante un reinicio de montura.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (abajo)
settings-general-fk_settings-arm_fk-tpose_down-description = Espera que tus brazos estén 90 grados arriba hacia los lados durante un reinicio completo, y abajo hacia los lados durante un reinicio de montura.
settings-general-fk_settings-arm_fk-forward = Delante
settings-general-fk_settings-arm_fk-forward-description = Espera que tus brazos estén 90 grados para delante. Útil para VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Interruptores del esqueleto
settings-general-fk_settings-skeleton_settings-description = Habilita o deshabilita los ajustes de esqueleto. Es recomendado dejar estos ajustes habilitados.
settings-general-fk_settings-skeleton_settings-extended_spine = Extención de columna
settings-general-fk_settings-skeleton_settings-extended_pelvis = Extención de pelvis
settings-general-fk_settings-skeleton_settings-extended_knees = Extención de rodillas
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modelo extendido de la columna
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Modelo extendido del pelvis
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modelo extendido de la rodilla
settings-general-fk_settings-skeleton_settings-ratios = Radios del esqueleto
settings-general-fk_settings-skeleton_settings-ratios-description = Cambia los valores de los ajustes del esqueleto. Podes llegar a necesitar reajustar tus proporciones después de cambiar estos valores.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Imputar de la cintura al pecho hasta la cadera
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Imputar de la cintura al pecho hasta las piernas
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Imputar de la cadera al pecho hasta las piernas
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Imputar de la cadera a la cintura hasta las piernas
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Promediar la rotación del eje vertical y horizontal de la cadera con la de las piernas
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Promediar la rotación del eje vertical y horizontal de los trackers de las rodillas con la de los tobillos
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Promediar la rotación del eje vertical y horizontal de las rodillas con la de los tobillos
settings-general-fk_settings-self_localization-title = Modo mocap
settings-general-fk_settings-self_localization-description = El modo mocap permite al esqueleto rastrear de forma aproximada su propia posición sin un casco o otros sensores. Nota que esto requiere que los trackers en el pie y cabeza estén y sigue siendo experimental.
settings-general-fk_settings-vive_emulation-title = Vive emulation
settings-general-fk_settings-vive_emulation-description = Emulate the waist tracker problems that Vive trackers have. This is a joke and makes tracking worse.
settings-general-fk_settings-vive_emulation-label = Habilitar emulación de Vive
@@ -357,6 +424,13 @@ settings-general-gesture_control-taps =
[one] 1 toque
*[other] { $amount } toques
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 tracker
*[other] { $amount } trackers
}
settings-general-gesture_control-yawResetEnabled = Activar toques para reinicio horizontal
settings-general-gesture_control-yawResetDelay = Retraso del reinicio horizontal
settings-general-gesture_control-yawResetTaps = Toques para reinicio horizontal
@@ -366,13 +440,32 @@ settings-general-gesture_control-fullResetTaps = Toques para reinicio completo
settings-general-gesture_control-mountingResetEnabled = Activar toques para reinicio de montura
settings-general-gesture_control-mountingResetDelay = Retraso del reinicio de montura
settings-general-gesture_control-mountingResetTaps = Toques para reinicio de montura
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Trackers sobre el límite
settings-general-gesture_control-numberTrackersOverThreshold-description = Aumente este valor si la detección de toques no funciona. No lo aumente mas de lo necesario para que funciona ya que puede causar que la detección tenga más falsas positivas.
## Interface settings
## Appearance settings
settings-general-interface = Interfaz
settings-interface-appearance = Apariencia
settings-general-interface-dev_mode = Modo desarrollador
settings-general-interface-dev_mode-description = Este modo puede ser útil si es que necesitas información a fondo o para un nivel de interacción más avanzado con los sensores conectados.
settings-general-interface-dev_mode-label = Modo desarrollador
settings-general-interface-theme = Tema de color
settings-general-interface-lang = Selecciona un idioma
settings-general-interface-lang-description = Cambia el idioma que quieras usar.
settings-general-interface-lang-placeholder = Selecciona el idioma a utilizar
# Keep the font name untranslated
settings-interface-appearance-font = Fuente de la interfaz
settings-interface-appearance-font-description = Esto cambia el estilo de letra utilizado por la interfaz.
settings-interface-appearance-font-placeholder = Fuente predeterminada
settings-interface-appearance-font-os_font = Fuente del sistema operativo
settings-interface-appearance-font-slime_font = Fuente predeterminada
settings-interface-appearance-font_size = Tamaño base de la fuente
settings-interface-appearance-font_size-description = Esto afecta al tamaño de las letras en toda la interfaz excepto en este panel de ajustes.
## Notification settings
settings-interface-notifications = Notificaciones
settings-general-interface-serial_detection = Detección de dispositivo serial
settings-general-interface-serial_detection-description = Esta opción mostrará un notificación cada vez que conectes un nuevo dispositivo serial que pueda ser un sensor. Ayuda a mejorar el proceso de configuración de un sensor.
settings-general-interface-serial_detection-label = Detección de dispositivo serial
@@ -380,10 +473,12 @@ settings-general-interface-feedback_sound = Sonido de feedback
settings-general-interface-feedback_sound-description = Esta opción reproducirá un sonido cuando se realice un reinicio.
settings-general-interface-feedback_sound-label = Sonido de feedback
settings-general-interface-feedback_sound-volume = Volumen del sonido de feedback
settings-general-interface-theme = Tema de color
settings-general-interface-lang = Selecciona un idioma
settings-general-interface-lang-description = Cambia el idioma que quieras usar.
settings-general-interface-lang-placeholder = Selecciona el idioma a utilizar
settings-general-interface-connected_trackers_warning = Advertencia de trackers conectados
settings-general-interface-connected_trackers_warning-description = Esta opción hará que aparezca un pop-up cada vez que intentas salir de SlimeVR mientras tienes uno o más trackers conectados. Te recuerda de apagar tus trackers cuando ya paraste de usarlos así preservas la duración de la batería.
settings-general-interface-connected_trackers_warning-label = Advertencia de trackers conectados al salir
settings-general-interface-use_tray = Minimizar a la bandeja del sistema
settings-general-interface-use_tray-description = Permite cerrar la ventana sin cerrar el servidor de SlimeVR para que puedas continuar usándolo sin que te moleste la interfaz.
settings-general-interface-use_tray-label = Minimizar a la bandeja del sistema
## Serial settings
@@ -405,6 +500,7 @@ settings-serial-factory_reset-warning-cancel = Cancelar
settings-serial-get_infos = Obtener información
settings-serial-serial_select = Selecciona un puerto serial
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Obtener escaneo WiFi
## OSC router settings
@@ -527,25 +623,25 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = Volver a la calibración de montura
onboarding-reset_tutorial = Reiniciar tutorial
onboarding-reset_tutorial-description = Esta aún parte no está finalizada, por favor presione continuar
onboarding-reset_tutorial-explanation = Mientras estés usando tus trackers, estos pueden empezar a desalinearse por el drift horizontal del IMU, o porque los moviste físicamente. Hay varias formas de arreglar este tipo de problemas.
onboarding-reset_tutorial-skip = Saltar paso
# Cares about multiline
onboarding-reset_tutorial-0 =
Toca { $taps } veces el tracker resaltado para activar el reinicio horizontal.
Esto va a hacer que tus sensores miren para la misma dirección que tu HMD.
# Cares about multiline
onboarding-reset_tutorial-1 =
Toca { $taps } veces el tracker resaltado para activar el reinicio completo.
Se requiere que estas de forma parada (pose en i). Esto tiene un delay de 3 segundos (configurable) antes de que actualmente suceda.
Esto reinicia completamente la posición y rotación de todos tus sensores, debería de arreglar la mayoría de tus problemas.
# Cares about multiline
onboarding-reset_tutorial-2 =
Toca { $taps } veces el tracker resaltado para activar el reinicio de montura.
El reinicio de montura ayuda en como tus sensores están puestos en tu cuerpo, ya que si los movistes o cambiaste para donde están orientados bastante, esto debería de ayudar.
Requiere que estas en una pose como que estás esquiando, como se muestra en el tutorial de montura automática y tenes un retraso de 3 segundos (configurable) antes de que actualmente suceda.
## Setup start
@@ -570,8 +666,8 @@ onboarding-done-close = Cerrar la guía
onboarding-connect_tracker-back = Volver a las credenciales Wi-Fi
onboarding-connect_tracker-title = Conecta tus sensores
onboarding-connect_tracker-description-p0 = Ahora la parte divertida, ¡Conectar todos tus sensores!
onboarding-connect_tracker-description-p1 = Simplemente conecta todos los sensores que aún no están conectados, por medio de un puerto USB.
onboarding-connect_tracker-description-p0-v1 = Ahora la parte divertida, ¡Conectando tus trackers!
onboarding-connect_tracker-description-p1-v1 = Conecte cada tracker de uno en uno a través de un puerto USB.
onboarding-connect_tracker-issue-serial = ¡Tengo problemas conectándolos!
onboarding-connect_tracker-usb = Sensor USB
onboarding-connect_tracker-connection_status-none = Buscando sensores
@@ -612,8 +708,8 @@ onboarding-assignment_tutorial = Como preparar un Tracker Slime antes de ponerte
onboarding-assignment_tutorial-first_step = 1. Pon un sticker con la parte del cuerpo de tu elección (si tenes uno)
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Sticker
onboarding-assignment_tutorial-second_step = 2. Coloque la correa en el tracker, manteniendo el lado con velcro de la correa en la siguiente orientación:
onboarding-assignment_tutorial-second_step-continuation = El lado con velcro en las extensiones deben también estar en la siguiente orientación:
onboarding-assignment_tutorial-second_step-v2 = 2. Coloca la tira de velcro a tu tracker, manteniendo el lado del velcro de la tira, mirando para la misma dirección que la cara del slime de tu sensor:
onboarding-assignment_tutorial-second_step-continuation-v2 = El lado del velcro de la tira para la extensión deberá estar viendo para arriba como en la siguiente imagen:
onboarding-assignment_tutorial-done = ¡Puse las correas y stickers!
## Tracker assignment setup
@@ -631,6 +727,7 @@ onboarding-assign_trackers-assigned =
}
onboarding-assign_trackers-advanced = Mostrar ubicación de asignaciones avanzados.
onboarding-assign_trackers-next = He asignado todos los sensores
onboarding-assign_trackers-mirror_view = Vista espejo
## Tracker assignment warnings
@@ -707,12 +804,19 @@ onboarding-choose_mounting = ¿Qué método de calibración de montura quiere us
onboarding-choose_mounting-description = La orientación de montura corrige la colocación (o orientación) de los trackers en tu cuerpo.
onboarding-choose_mounting-auto_mounting = Montura automática
# Italized text
onboarding-choose_mounting-auto_mounting-subtitle = Recomendado
onboarding-choose_mounting-auto_mounting-label = Experimental
onboarding-choose_mounting-auto_mounting-description = Esto detectará automáticamente las direcciones de montura para todos tus trackers a partir de 2 poses
onboarding-choose_mounting-manual_mounting = Montura manual
# Italized text
onboarding-choose_mounting-manual_mounting-subtitle = Si sabes lo que estás haciendo
onboarding-choose_mounting-manual_mounting-label = Recomendado
onboarding-choose_mounting-manual_mounting-description = Esto te permitirá elegir la dirección de montura manualmente para cada tracker.
# Multiline text
onboarding-choose_mounting-manual_modal-title =
¿Está seguro de que quiere
hacer la calibración automática de montura?
onboarding-choose_mounting-manual_modal-description = <b>Está recomendado para nuevos usuarios el uso de la calibración manual de montura</b>, ya que las poses de la calibración automática pueden ser difíciles de hacer correctamente en el primer intento y requieran un poco de práctica.
onboarding-choose_mounting-manual_modal-confirm = Estoy seguro de lo que hago
onboarding-choose_mounting-manual_modal-cancel = Cancelar
## Tracker manual mounting setup
@@ -747,18 +851,25 @@ onboarding-automatic_mounting-put_trackers_on-next = Tengo puestos todos mis sen
onboarding-choose_proportions = ¿Qué método de calibración de proporciones quiere usar?
# Multiline string
onboarding-choose_proportions-description =
Las proporciones del cuerpo se utilizan para conocer las medidas de todo tu cuerpo. Es necesario para calcular las posiciones de los trackers.
Cuando las proporciones de tu cuerpo no coinciden con las guardadas, la precisión del senseo será peor y notarás cosas como patinaje o deslizamiento, o que tu cuerpo no coincide bien con tu avatar.
onboarding-choose_proportions-description-v1 =
Las proporciones corporales son utilizadas para saber las medidas de tu cuerpo. Se requieren para calcular la posición de los trackers.
Cuando las proporciones de tu cuerpo no encajan con las guardadas, la precisión de tu tracking será peor y notarás cosas como deslizamiento o desplazamiento, o tu cuerpo no encajando bien con tu avatar.
<b>¡Solo necesitas medir tu cuerpo una vez!</b> A menos que estén mal o tu cuerpo haya cambiado, no necesitas hacerlo de nuevo.
onboarding-choose_proportions-auto_proportions = Proporciones automáticas
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Recomendado
onboarding-choose_proportions-auto_proportions-description = Esto adivinará tus proporciones en base de muestras de tus movimientos y pasándola a través de un algoritmo.
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Esto estimará tus proporciones grabando una muestra de tus movimientos y pasándolos a través de un algoritmo.
<b>¡Esto requiere tener tu visor (HMD) conectado a SlimeVR y en tu cabeza!</b>
onboarding-choose_proportions-manual_proportions = Proporciones manuales
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Para toques pequeños
onboarding-choose_proportions-manual_proportions-description = Esto te permitirá ajustar tus proporciones manualmente de forma directa
onboarding-choose_proportions-export = Exportar proporciones
onboarding-choose_proportions-import = Importar proporciones
onboarding-choose_proportions-import-success = Importado
onboarding-choose_proportions-import-failed = Error
onboarding-choose_proportions-file_type = Archivo de proporciones del cuerpo
## Tracker manual proportions setup
@@ -781,14 +892,28 @@ onboarding-automatic_proportions-put_trackers_on-description = Para calibrar tus
onboarding-automatic_proportions-put_trackers_on-next = Tengo puestos todos mis sensores
onboarding-automatic_proportions-requirements-title = Requisitos
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
Tienes al menos suficientes trackers para rastrear tus pies (generalmente 5 trackers).
Tienes tus trackers y VR encendidos.
Tienes tus trackers y VR puestos.
Tus trackers y VR están conectados al servidor de SlimeVR.
Tus trackers y VR están funcionando correctamente con el servidor de SlimeVR.
Tu VR está reportando datos posicionales al servidor de SlimeVR (esto generalmente implica que SteamVR esté corriendo y conectado a SlimeVR usando el driver de SlimeVR para SteamVR).
onboarding-automatic_proportions-requirements-descriptionv2 =
Tienes suficientes sensores para mover tus pies (generalmente 5 sensores).
Tienes tus sensores y visor encendidos y los tienes puestos.
Tus sensores y visor están conectados al servidor de SlimeVR y están funcionando correctamente (ej: no se congela, no se desconecta, etc).
Tu visor esta reportando datos posicionales al servidor de SlimeVR (esto generalmente significa tener SteamVR abierto y conectado a SlimeVR usando el driver de SlimeVR para SteamVR).
Tus sensores están funcionando y están representando tus movimientos con precisión (ej: Realizaste un reinicio completo y se mueven en la dirección correcta cuando pateas, te agachas, te sientas, etc).
onboarding-automatic_proportions-requirements-next = He leído los requisitos
onboarding-automatic_proportions-check_height-title = Compruebe su altura
onboarding-automatic_proportions-check_height-description = Utilizamos tu altura como base de nuestras mediciones utilizando la altura del VR como aproximación a tu altura real, ¡Pero es mejor que compruebes tú mismo si son correctas!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Por favor, pulse el botón mientras está <u>de pie</u> para calcular su altura. ¡Tienes unos 3 segundos después de pulsar el botón!
onboarding-automatic_proportions-check_height-guardian_tip =
Si está utilizando un casco de VR portable, asegúrese de tener el guardián/
barrera activado así la altura es detectada correctamente!
onboarding-automatic_proportions-check_height-fetch_height = Estoy de pie
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Desconocida
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = La altura de tu HMD es
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = entonces tu altura real es
onboarding-automatic_proportions-check_height-next_step = Están bien
onboarding-automatic_proportions-start_recording-title = Prepárate para moverte
onboarding-automatic_proportions-start_recording-description = Ahora vamos a grabar poses y movimientos en específico. Estas serán mostradas en la siguiente ventana. ¡Prepárate para empezar cuando presiones el botón!
onboarding-automatic_proportions-start_recording-next = Empezar grabación
@@ -818,11 +943,24 @@ onboarding-automatic_proportions-verify_results-redo = Rehacer grabación
onboarding-automatic_proportions-verify_results-confirm = Son correctos
onboarding-automatic_proportions-done-title = Cuerpo medido y guardado.
onboarding-automatic_proportions-done-description = ¡La calibración de tus proporciones corporales fue completada!
onboarding-automatic_proportions-error_modal =
<b>Atención:</b> ¡Se ha encontrado un error durante la estimación de sus proporciones!
Por favor <docs>fijate la documentación</docs> o únete a nuestro <discord>Discord</discord> para obtener ayuda ^_^
onboarding-automatic_proportions-error_modal-confirm = ¡Entendido!
## Home
home-no_trackers = No hay sensores detectados o asignados
## Trackers Still On notification
trackers_still_on-modal-title = Los trackers siguen encendidos
trackers_still_on-modal-description =
Uno o más trackers siguen encendidos.
¿Estás seguro que quieres salir de SlimeVR?
trackers_still_on-modal-confirm = Salir de SlimeVR
trackers_still_on-modal-cancel = Espera un momento...
## Status system
status_system-StatusTrackerReset = Se recomienda realizar un reinicio completo ya que uno o más trackers están sin reiniciar.
@@ -832,3 +970,31 @@ status_system-StatusSteamVRDisconnected =
*[other] Actualmente no está conectado a SteamVR a través del driver de SlimeVR.
}
status_system-StatusTrackerError = El tracker { $trackerName } tiene un error.
## Tray Menu
tray_menu-show = Mostrar
tray_menu-hide = Ocultar
tray_menu-quit = Salir
## First exit modal
tray_or_exit_modal-title = ¿Que debería hacer el botón de cerrar?
# Multiline text
tray_or_exit_modal-description =
Esto te deja escoger si quieres cerrar el servidor o minimizarlo a la bandeja cuando se presiona el botón de cerrar.
¡Puedes cambiar esto luego en los ajustes de la interfaz!
tray_or_exit_modal-radio-exit = Salir al cerrar
tray_or_exit_modal-radio-tray = Minimizar a la bandeja del sistema
tray_or_exit_modal-submit = Guardar
tray_or_exit_modal-cancel = Cancelar
## Unknown device modal
unknown_device-modal-title = ¡Se encontró un nuevo tracker!
unknown_device-modal-description =
Hay un tracker nuevo con la dirección MAC <b>{ $deviceid }</b>.
¿Lo quieres conectar a SlimeVR?
unknown_device-modal-confirm = ¡Claro!
unknown_device-modal-forget = Ignorarlo

View File

@@ -0,0 +1,759 @@
# Please developers (not translators) don't reuse a key inside another key
# or concat text with a translation string in the code, use the appropriate
# features like variables and selectors in each appropriate case!
# And also comment the string if it's something not easy to translate, so you help
# translators on what it means
## Websocket (server) status
websocket-connecting = Conectándose al servidor
websocket-connection_lost = Conexión con el servidor perdida. Intentando reconectar...
## Update notification
version_update-title = Nueva versión disponible: { $version }
version_update-description = Al hacer clic en "{ version_update-update }" se descargará el instalador de SlimeVR.
version_update-update = Actualizar
version_update-close = Cerrar
## Tips
tips-find_tracker = ¿No estás seguro de qué tracker es el correcto? Agitalo y se resaltará el tracker correspondiente.
tips-do_not_move_heels = Asegúrate de no mover los talones durante el guardado de datos.
tips-file_select = Arrastra y suelta los archivos para usarlos o <u>navega</u>.
tips-tap_setup = Haz clic en el menú o golpea suavemente el tracker 2 veces para seleccionarlo automaticamente.
tips-turn_on_tracker = ¿Estás usando trackers oficiales de SlimeVR? Recuerda <b><em>encender el tracker</em></b> antes de conectarlo a la PC!
tips-failed_webgl = No se pudo iniciar WebGL.
## Body parts
body_part-NONE = Sin asignar
body_part-HEAD = Cabeza
body_part-NECK = Cuello
body_part-RIGHT_SHOULDER = Hombro derecho
body_part-RIGHT_UPPER_ARM = Brazo derecho
body_part-RIGHT_LOWER_ARM = Antebrazo derecho
body_part-RIGHT_HAND = Mano derecha
body_part-RIGHT_UPPER_LEG = Muslo derecho
body_part-RIGHT_LOWER_LEG = Tobillo derecho
body_part-RIGHT_FOOT = Pie derecho
body_part-UPPER_CHEST = Torso superior
body_part-CHEST = Pecho
body_part-WAIST = Cintura
body_part-HIP = Cadera
body_part-LEFT_SHOULDER = Hombro izquierdo
body_part-LEFT_UPPER_ARM = Brazo izquierdo
body_part-LEFT_LOWER_ARM = Antebrazo izquierdo
body_part-LEFT_HAND = Mano izquierda
body_part-LEFT_UPPER_LEG = Muslo izquierdo
body_part-LEFT_LOWER_LEG = Tobillo Izquierdo
body_part-LEFT_FOOT = Pie izquierdo
## Proportions
skeleton_bone-NONE = Ninguno
skeleton_bone-HEAD = Desplazamiento de la cabeza
skeleton_bone-NECK = Longitud del cuello
skeleton_bone-torso_group = Longitud del torso
skeleton_bone-UPPER_CHEST = Longitud del torso superior
skeleton_bone-CHEST_OFFSET = Compensacion del pecho
skeleton_bone-CHEST = Longitud del pecho
skeleton_bone-WAIST = Longitud de cintura
skeleton_bone-HIP = Longitud de cadera
skeleton_bone-HIP_OFFSET = Compensacion de cadera
skeleton_bone-HIPS_WIDTH = Ancho de la cadera
skeleton_bone-leg_group = Longitud de la espinilla
skeleton_bone-UPPER_LEG = Longitud del muslo
skeleton_bone-LOWER_LEG = Longitud de la espinilla
skeleton_bone-FOOT_LENGTH = Longitud del pie
skeleton_bone-FOOT_SHIFT = Desplazamiento del pie
skeleton_bone-SKELETON_OFFSET = Compensacion del esqueleto
skeleton_bone-SHOULDERS_DISTANCE = Distancia de hombros
skeleton_bone-SHOULDERS_WIDTH = Ancho de hombros
skeleton_bone-arm_group = Longitud del brazo
skeleton_bone-UPPER_ARM = Longitud del brazo
skeleton_bone-LOWER_ARM = Longitud del antebrazo
skeleton_bone-HAND_Y = Distancia Y de la mano
skeleton_bone-HAND_Z = Distancia Z de la mano
skeleton_bone-ELBOW_OFFSET = Compensacion de los codos
## Tracker reset buttons
reset-reset_all = Reiniciar todas las proporciones
reset-full = Reinicio completo
reset-mounting = Reiniciar montura
reset-yaw = Restablecimiento horizontal
## Serial detection stuff
serial_detection-new_device-p0 = ¡Nuevo dispositivo serial detectado!
serial_detection-new_device-p1 = ¡Introduce las credenciales de tu red Wi-Fi!
serial_detection-new_device-p2 = Por favor, selecciona lo que desea hacer con él
serial_detection-open_wifi = Conectar a una red Wi-Fi
serial_detection-open_serial = Abrir la consola serial
serial_detection-submit = ¡Enviar!
serial_detection-close = Cerrar
## Navigation bar
navbar-home = Inicio
navbar-body_proportions = Proporciones físicas
navbar-trackers_assign = Asignación de trackers
navbar-mounting = Calibración de montura
navbar-onboarding = Asistente de Configuración
navbar-settings = Configuración
## Biovision hierarchy recording
bvh-start_recording = Grabar BVH
bvh-recording = Grabando...
## Tracking pause
tracking-unpaused = Pausar tracking
tracking-paused = Reanudar tracking
## Widget: Overlay settings
widget-overlay = Overlay
widget-overlay-is_visible_label = Mostrar overlay en SteamVR
widget-overlay-is_mirrored_label = Mostrar overlay como espejo
## Widget: Drift compensation
widget-drift_compensation-clear = Eliminar compensacion del drift
## Widget: Clear Reset Mounting
widget-clear_mounting = Limpiar reinicio de montura
## Widget: Developer settings
widget-developer_mode = Modo de desarrollador
widget-developer_mode-high_contrast = Contraste alto
widget-developer_mode-precise_rotation = Rotación precisa
widget-developer_mode-fast_data_feed = Flujo de datos rápido
widget-developer_mode-filter_slimes_and_hmd = Filtrar Slimes y HMD
widget-developer_mode-sort_by_name = Ordenar por nombre
widget-developer_mode-raw_slime_rotation = Rotación sin filtrar
widget-developer_mode-more_info = Más información
## Widget: IMU Visualizer
widget-imu_visualizer = Rotación
widget-imu_visualizer-rotation_raw = Sin filtrar
widget-imu_visualizer-rotation_preview = Previsualización
widget-imu_visualizer-rotation_hide = Ocultar
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Previsualización del esqueleto
widget-skeleton_visualizer-hide = Ocultar
## Tracker status
tracker-status-none = Sin estatus
tracker-status-busy = Ocupado
tracker-status-error = Error
tracker-status-disconnected = Desconectado
tracker-status-occluded = Ocluída
tracker-status-ok = Ok
tracker-status-timed_out = Sin respuesta
## Tracker status columns
tracker-table-column-name = Nombre
tracker-table-column-type = Tipo
tracker-table-column-battery = Batería
tracker-table-column-ping = Ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Temperatura °C
tracker-table-column-linear-acceleration = Aceleración X/Y/Z
tracker-table-column-rotation = Rotación X/Y/Z
tracker-table-column-position = Posición X/Y/Z
tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Frontal
tracker-rotation-front_left = Frontal-Izquierdo
tracker-rotation-front_right = Frontal-Derecho
tracker-rotation-left = Izquierda
tracker-rotation-right = Derecha
tracker-rotation-back = Trasero
tracker-rotation-back_left = Trasero-Izquierdo
tracker-rotation-back_right = Trasero-Derecho
tracker-rotation-custom = Personalizado
tracker-rotation-overriden = (anulado por el reinicio de montura)
## Tracker information
tracker-infos-manufacturer = Fabricante
tracker-infos-display_name = Nombre visible
tracker-infos-custom_name = Nombre personalizado
tracker-infos-url = URL del Tracker
tracker-infos-version = Versión del firmware
tracker-infos-hardware_rev = Revisión del hardware
tracker-infos-hardware_identifier = ID de hardware
tracker-infos-imu = Sensor IMU
tracker-infos-board_type = Placa principal
tracker-infos-network_version = Versión de protocolo
## Tracker settings
tracker-settings-back = Volver a la lista de trackers
tracker-settings-title = Configuración de los trackers
tracker-settings-assignment_section = Asignación
tracker-settings-assignment_section-description = Parte del cuerpo que tiene el tracker asignado.
tracker-settings-assignment_section-edit = Editar asignación
tracker-settings-mounting_section = Posición de montura
tracker-settings-mounting_section-description = ¿Donde está montado el tracker?
tracker-settings-mounting_section-edit = Editar montura
tracker-settings-drift_compensation_section = Permitir compensación de drift
tracker-settings-drift_compensation_section-description = ¿Debería este tracker compensar el drifteo cuando la compensación de drifteo está activada?
tracker-settings-drift_compensation_section-edit = Permitir compensación de drift
# The .<name> means it's an attribute and it's related to the top key.
# In this case that is the settings for the assignment section.
tracker-settings-name_section = Nombre del tracker
tracker-settings-name_section-description = Dale un sobrenombre lindo :)
tracker-settings-name_section-placeholder = Pata izquierda del Eevee
tracker-settings-forget = Olvidar tracker
tracker-settings-forget-description = Elimina el tracker del servidor SlimeVR y evita que se conecte a él hasta que se reinicie el servidor. La configuración del tracker no se perderá.
tracker-settings-forget-label = Olvidar tracker
## Tracker part card info
tracker-part_card-no_name = Sin nombre
tracker-part_card-unassigned = Sin asignar
## Body assignment menu
body_assignment_menu = ¿Donde quieres que esté este tracker?
body_assignment_menu-description = Elige una ubicación donde desees asignar este tracker. También puedes administrar todos los trackers a la vez en lugar de uno por uno.
body_assignment_menu-show_advanced_locations = Mostrar asignación de extremidades avanzada
body_assignment_menu-manage_trackers = Administrar todos los trackers
body_assignment_menu-unassign_tracker = Desasignar tracker
## Tracker assignment menu
# A -translation_key (with a dash in the front) means that it's a label.
# It can only be used in the translation file, it's nice for reusing names and that kind of stuff.
#
# We are using it here because english doesn't require changing the text in each case but
# maybe your language does.
-tracker_selection-part = ¿Que tracker asignar a tu
tracker_selection_menu-NONE = ¿Qué tracker deseas desasignar?
tracker_selection_menu-HEAD = { -tracker_selection-part } cabeza?
tracker_selection_menu-NECK = { -tracker_selection-part } cuello?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } hombro derecho?
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } brazo derecho?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } antebrazo derecho?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } mano derecha?
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } muslo derecho?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } tobillo derecho?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } pie derecho?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } mando derecho?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } torso superior?
tracker_selection_menu-CHEST = { -tracker_selection-part } pecho?
tracker_selection_menu-WAIST = { -tracker_selection-part } cintura?
tracker_selection_menu-HIP = { -tracker_selection-part } cadera?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } hombro izquierdo?
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } brazo izquierdo?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } antebrazo izquierdo?
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } mano izquierda?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } muslo izquierdo?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } tobillo izquierdo?
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } pie izquierdo?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } mando izquierdo?
tracker_selection_menu-unassigned = Trackers sin asignar
tracker_selection_menu-assigned = Trackers asignados
tracker_selection_menu-dont_assign = No asignar
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Advertencia:</b> Un tracker en el cuello puede ser mortal si está ajustado demasiado fuerte,
la correa podría cortar la circulación a tu cabeza!
tracker_selection_menu-neck_warning-done = Entiendo los riesgos
tracker_selection_menu-neck_warning-cancel = Cancelar
## Mounting menu
mounting_selection_menu = ¿Dónde quieres colocar el tracker?
mounting_selection_menu-close = Cerrar
## Sidebar settings
settings-sidebar-title = Configuración
settings-sidebar-general = General
settings-sidebar-tracker_mechanics = Mecánicas del tracker
settings-sidebar-fk_settings = Configuración del tracking
settings-sidebar-gesture_control = Control de los gestos
settings-sidebar-interface = Interfaz
settings-sidebar-osc_router = Router OSC
settings-sidebar-osc_trackers = VRChat OSC Trackers
settings-sidebar-utils = Utilidades
settings-sidebar-serial = Consola serial
settings-sidebar-appearance = Apariencia
settings-sidebar-notifications = Notificaciones
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = Trackers de SteamVR
# Not all translation keys support multiline, only the ones that specify it will actually
# split it in lines (that also means you can split in lines however you want in those).
# The first spaces (not tabs) for indentation will be ignored, just to make the file look nice when writing.
# This one is one of this cases that cares about multilines
settings-general-steamvr-description =
Activa o desactiva trackers específicos de SteamVR.
Útil para juegos o aplicaciones que solo soportan ciertos trackers.
settings-general-steamvr-trackers-waist = Cintura
settings-general-steamvr-trackers-chest = Pecho
settings-general-steamvr-trackers-left_foot = Pie izquierdo
settings-general-steamvr-trackers-right_foot = Pie derecho
settings-general-steamvr-trackers-left_knee = Rodilla izquierda
settings-general-steamvr-trackers-right_knee = Rodilla derecha
settings-general-steamvr-trackers-left_elbow = Codo izquierdo
settings-general-steamvr-trackers-right_elbow = Codo derecho
settings-general-steamvr-trackers-left_hand = Mano izquierda
settings-general-steamvr-trackers-right_hand = Mano derecha
settings-general-steamvr-trackers-tracker_toggling = Asignación automática de trackers
settings-general-steamvr-trackers-tracker_toggling-description = Gestiona automáticamente la activación o desactivación de los trackers de SteamVR en función de tus asignaciones en los trackers actuales
settings-general-steamvr-trackers-tracker_toggling-label = Asignación automática de trackers
settings-general-steamvr-trackers-hands-warning = <b>Advertencia:</b> Los trackers de manos anularán tus mandos. ¿Estás seguro?
settings-general-steamvr-trackers-hands-warning-cancel = Cancelar
settings-general-steamvr-trackers-hands-warning-done = Sí
## Tracker mechanics
settings-general-tracker_mechanics = Mecánicas del tracker
settings-general-tracker_mechanics-filtering = Filtro
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Escoge el tipo de filtro para tus trackers.
Predicción predice el movimiento mientras que Suavizado suaviza el movimiento.
settings-general-tracker_mechanics-filtering-type = Tipo de filtro
settings-general-tracker_mechanics-filtering-type-none = Sin filtrar
settings-general-tracker_mechanics-filtering-type-none-description = Usa las rotaciones tal como son. No hará ningún filtrado.
settings-general-tracker_mechanics-filtering-type-smoothing = Suavizado
settings-general-tracker_mechanics-filtering-type-smoothing-description = Suaviza los movimientos pero añade algo de latencia.
settings-general-tracker_mechanics-filtering-type-prediction = Predicción
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduce la latencia y hace que los movimientos sean mas inmediatos, pero puede aumentar la fluctuación.
settings-general-tracker_mechanics-filtering-amount = Cantidad
settings-general-tracker_mechanics-yaw-reset-smooth-time = Tiempo de suavizado al restablecer el eje horizontal (0s deshabilita el suavizado)
settings-general-tracker_mechanics-drift_compensation = Compensación en la desviación
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Compensa la desviación horizontal del IMU aplicando una rotación inversa.
Cambia la cantidad de compensación y de reinicios que se tienen en cuenta.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensación en la desviación
settings-general-tracker_mechanics-drift_compensation-amount-label = Cantidad de compensación
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Usar los últimos X reinicios.
settings-general-tracker_mechanics-save_mounting_reset = Guardar la calibración de reajuste de montaje automático
settings-general-tracker_mechanics-save_mounting_reset-description =
Guarda las calibraciones de reajuste de montaje automático para los trackers entre reinicios. Útil
cuando se lleva un traje en el que los trackers no se mueven entre sesiones. <b>No recomendado para usuarios normales!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Guardar restablecimiento de montaje
## FK/Tracking settings
settings-general-fk_settings = Configuración de FK Tracking
# Floor clip:
# why the name - came from the idea of noclip in video games, but is the opposite where clipping to the floor is a desired feature
# definition - Prevents the foot trackers from going lower than they where when a reset was performed
settings-general-fk_settings-leg_tweak-floor_clip = Anclado al suelo
# Skating correction:
# why the name - without this enabled the feet will often slide across the ground as if your skating across the ground,
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
settings-general-fk_settings-leg_tweak-skating_correction = Corrección del patinaje
settings-general-fk_settings-leg_tweak-toe_snap = Alineación de pies
settings-general-fk_settings-leg_tweak-foot_plant = Planta del pie
settings-general-fk_settings-leg_tweak-skating_correction-amount = Intensidad de la corrección del patinaje
settings-general-fk_settings-leg_tweak-skating_correction-description = Corrección del patinaje corrige el deslizamiento en el suelo, pero puede disminuir la precisión en ciertos movimientos. Activar esta opción requerirá realizar un reinicio general y recalibrar en el juego.
settings-general-fk_settings-leg_tweak-floor_clip-description = Anclado al suelo puede reducir o incluso eliminar el atravesar el piso con tu modelo. Al habilitar esto, asegúrese de hacer un "reinicio completo" y recalibrar en el juego.
settings-general-fk_settings-leg_tweak-toe_snap-description = "Acople de puntera" intenta adivinar la rotación de tus pies si los trackers de estos no están en uso.
settings-general-fk_settings-leg_tweak-foot_plant-description = El plantado de pie gira los pies para que queden paralelos al suelo en el momento del contacto.
settings-general-fk_settings-leg_fk = Tracking de piernas
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Habilitar reinicio de montura de los pies al estar de puntillas.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reinicio de montura de los pies.
settings-general-fk_settings-arm_fk = Tracking de brazos
settings-general-fk_settings-arm_fk-description = Forzar el seguimiento de los brazos desde el HMD incluso si hay datos de posición de la mano disponibles.
settings-general-fk_settings-arm_fk-force_arms = Forzar brazos desde el HMD
settings-general-fk_settings-arm_fk-reset_mode-description = Cambia la posición por defecto para el restablecimiento de montura
settings-general-fk_settings-arm_fk-back = Parte posterior del brazo
settings-general-fk_settings-arm_fk-back-description = Modo predeterminado, con los brazos hacia atrás y los antebrazos hacia adelante.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (arriba)
settings-general-fk_settings-arm_fk-tpose_up-description = Se espera que tus brazos esten relajados, perpendicular a tu cuerpo durante el reinicio completo y 90 grados respecto a tu cuerpo durante el reinicio de montaje.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (abajo)
settings-general-fk_settings-arm_fk-tpose_down-description = Se espera que tus brazos estén a 90 grados respecto a tu cuerpo durante el reinicio completo y relajados, perpendicular a tu cuerpo durante el reinicio del montaje.
settings-general-fk_settings-arm_fk-forward = Siguiente
settings-general-fk_settings-arm_fk-forward-description = Espera que tus brazos estén 90 grados hacia adelante. Útil para VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Opciones de esqueleto
settings-general-fk_settings-skeleton_settings-description = Activa o desactiva la configuración del esqueleto. Se recomienda dejar esta opción activada.
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modelo de columna extendida
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Modelo de pelvis extendida
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modelo de rodilla extendida
settings-general-fk_settings-skeleton_settings-ratios = Proporciones del esqueleto
settings-general-fk_settings-skeleton_settings-ratios-description = Cambia los valores de la configuración del esqueleto. Es posible que debas ajustar tus proporciones de nuevo.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Atribuye la cintura desde el pecho hasta la cadera
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Atribuye la cintura desde el pecho hasta las piernas
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Atribuye la cadera desde el pecho hasta las piernas
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Atribuye la cadera desde la cintura hasta las piernas
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Promedia el balanceo de la cadera con el de las piernas
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Promedia el balanceo de los trackers de rodilla con el de los tobillos.
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Promedia el balanceo de las rodillas con la de los tobillos
settings-general-fk_settings-self_localization-title = Modo Captura de movimiento
settings-general-fk_settings-self_localization-description = El modo captura de movimiento permite al esqueleto seguir aproximadamente tu posición sin auriculares ni otros trackers. Ten en cuenta que esto requiere trrackers de pies y cabeza para funcionar y que aún está en fase experimental.
settings-general-fk_settings-vive_emulation-title = Emulación Vive
settings-general-fk_settings-vive_emulation-description = Emula los problemas de cintura que lo Vive trackers producen. Es una broma y produce peor tracking.
settings-general-fk_settings-vive_emulation-label = Habilitar emulación Vive
## Gesture control settings (tracker tapping)
settings-general-gesture_control = Control de gestos
settings-general-gesture_control-subtitle = Reinicio basado en toques
settings-general-gesture_control-description = Permite que los reinicios se activen tocando un tracker. El tracker situado más arriba en tu torso se utiliza para el restablecimiento horizontal, el tracker situado más arriba en tu pierna izquierda se utiliza para el reinicio completo y el tracker situado más arriba en tu pierna derecha se utiliza para el reinicio de montaje. Los toques deben producirse dentro del tiempo límite de 0,3 segundos multiplicado por el número de toques a reconocer.
# This is a unit: 3 taps, 2 taps, 1 tap
# $amount (Number) - Amount of taps (touches to the tracker's case)
settings-general-gesture_control-taps =
{ $amount ->
[one] toque
[many] toques
*[other] toques
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] tracker
[many] trackers
*[other] trackers
}
settings-general-gesture_control-yawResetEnabled = Activa toque para restablecimiento horizontal
settings-general-gesture_control-yawResetDelay = Retraso de restablecimiento horizontal
settings-general-gesture_control-yawResetTaps = Toques para restablecimiento horizontal
settings-general-gesture_control-fullResetEnabled = Activa toque para reinicio completo
settings-general-gesture_control-fullResetDelay = Retraso de reinicio completo
settings-general-gesture_control-fullResetTaps = Da toquecitos para reinicio completo
settings-general-gesture_control-mountingResetEnabled = Activa toquecitos para reiniciar montaje
settings-general-gesture_control-mountingResetDelay = Reinicio de montaje retrasado
settings-general-gesture_control-mountingResetTaps = Da toquecitos para reinicio de montaje
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Trackers por encima del limite
settings-general-gesture_control-numberTrackersOverThreshold-description = Aumenta este valor si la detección de toqueteo no funciona. No lo aumentes por encima de lo necesario para que la detección de toques funcione, ya que crearía más falsos positivos
## Appearance settings
settings-interface-appearance = Apariencia
settings-general-interface-dev_mode = Modo de desarrollador
settings-general-interface-dev_mode-description = Este modo puede ser útil si necesitas datos en profundidad o para interactuar con los trackers conectados a un nivel más avanzado
settings-general-interface-dev_mode-label = Modo de desarrollador
settings-general-interface-theme = Temas
settings-general-interface-lang = Seleccionar idioma
settings-general-interface-lang-description = Cambiar el idioma predeterminado que deseas utilizar.
settings-general-interface-lang-placeholder = Seleccionar el idioma que desea utilizar
# Keep the font name untranslated
settings-interface-appearance-font = Fuente de GUI
settings-interface-appearance-font-description = Esto cambia la fuente utilizada por la interfaz
settings-interface-appearance-font-placeholder = Fuente predeterminada
settings-interface-appearance-font-os_font = Fuente SO
settings-interface-appearance-font-slime_font = Fuente predeterminada
settings-interface-appearance-font_size = Escala de la fuente base
settings-interface-appearance-font_size-description = Esto afecta al tamaño de la fuente de toda la interfaz excepto este panel de configuración
## Notification settings
settings-interface-notifications = Notificaciones
settings-general-interface-serial_detection = Detección de dispositivos seriales
settings-general-interface-serial_detection-description = Esta opción mostrará una ventana emergente cada vez que conectes un nuevo dispositivo serie que podría ser un tracker. Ayuda a mejorar el proceso de configuración de un tracker.
settings-general-interface-serial_detection-label = Detección de dispositivos seriales
settings-general-interface-feedback_sound = Sonido de feedback
settings-general-interface-feedback_sound-description = Esta opción reproducirá un sonido cuando se activa un reinicio
settings-general-interface-feedback_sound-label = Sonido de feedback
settings-general-interface-feedback_sound-volume = Volumen del sonido de feedback
settings-general-interface-connected_trackers_warning = Advertencia de trackers conectados
settings-general-interface-connected_trackers_warning-description = Esta opción mostrará una ventana emergente cada vez que intentes salir de SlimeVR mientras tengas uno o más trackers conectados. Te recuerda que debes apagar los trackers cuando hayas terminado para ahorrar batería.
settings-general-interface-connected_trackers_warning-label = Aviso de trackers conectados al cerrar
settings-general-interface-use_tray = Minimizar a la bandeja
settings-general-interface-use_tray-description = Te permite cerrar la ventana sin cerrar SlimeVR para que pueda seguir usándolo sin que la interfaz te moleste.
settings-general-interface-use_tray-label = Minimizar en la bandeja del sistema
## Serial settings
settings-serial = Consola serial
# This cares about multilines
settings-serial-description =
Esta es una fuente de información en vivo para la comunicación serial.
Puede ser útil si necesitas saber si el firmware está fallando.
settings-serial-connection_lost = Conexión a puerto serial perdida, Reconectando...
settings-serial-reboot = Reiniciar
settings-serial-factory_reset = Restablecimiento de fábrica
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>Advertencia:</b> Esto restablecerá la configuración de fábrica del tracker.
Esto significa que los ajustes de Wi-Fi y calibración <b>se perderán</b>.
settings-serial-factory_reset-warning-ok = Sé lo que estoy haciendo
settings-serial-factory_reset-warning-cancel = Cancelar
settings-serial-get_infos = Obtener información
settings-serial-serial_select = Selecciona un puerto serial
settings-serial-auto_dropdown_item = Automático
settings-serial-get_wifi_scan = Obtener escaneo WiFi
## OSC router settings
settings-osc-router = Router OSC
# This cares about multilines
settings-osc-router-description =
Reenvía mensajes OSC desde otro programa.
Útil para usar otro programa OSC con VRChat por ejemplo.
settings-osc-router-enable = Habilitar
settings-osc-router-enable-description = Activar el reenvío de mensajes
settings-osc-router-enable-label = Habilitar
settings-osc-router-network = Puertos de red
# This cares about multilines
settings-osc-router-network-description =
Establece los puertos para escuchar y enviar datos.
Estos pueden ser los mismos que otros puertos utilizados en el servidor de SlimeVR.
settings-osc-router-network-port_in =
.label = Puerto de entrada
.placeholder = Puerto de entrada (por defecto: 9002)
settings-osc-router-network-port_out =
.label = Puerto de salida
.placeholder = Puerto de salida (por defecto: 9000)
settings-osc-router-network-address = Dirección de red
settings-osc-router-network-address-description = Establece la dirección a la que se enviarán los datos.
settings-osc-router-network-address-placeholder = Dirección IPV4
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC Trackers
# This cares about multilines
settings-osc-vrchat-description = Cambia la configuración específica de VRChat para recibir datos del visor (HMD) y enviar datos a los trackers para FBT sin SteamVR (ej. Quest standalone).
settings-osc-vrchat-enable = Habilitar
settings-osc-vrchat-enable-description = Alternar el envío y la recepción de datos
settings-osc-vrchat-enable-label = Habilitar
settings-osc-vrchat-network = Puertos de red
settings-osc-vrchat-network-description = Configura los puertos para escuchar y enviar datos a VRChat.
settings-osc-vrchat-network-port_in =
.label = Puerto de entrada
.placeholder = Puerto de entrada (Por defecto: 9001)
settings-osc-vrchat-network-port_out =
.label = Puerto de salida
.placeholder = Puerto de salida (Por defecto: 9000)
settings-osc-vrchat-network-address = Dirección de red
settings-osc-vrchat-network-address-description = Elige a qué dirección enviar los datos a VRChat (Comprueba la configuración Wi-Fi de tu dispositivo).
settings-osc-vrchat-network-address-placeholder = Dirección IP de VRChat
settings-osc-vrchat-network-trackers = Trackers
settings-osc-vrchat-network-trackers-description = Activar el envío de trackers específicos a través de OSC.
settings-osc-vrchat-network-trackers-chest = Pecho
settings-osc-vrchat-network-trackers-hip = Cadera
settings-osc-vrchat-network-trackers-knees = Rodillas
settings-osc-vrchat-network-trackers-feet = Pies
settings-osc-vrchat-network-trackers-elbows = Codos
## VMC OSC settings
settings-osc-vmc = Captura de movimiento virtual
# This cares about multilines
settings-osc-vmc-description = Cambiar la configuración al protocolo VMC (Virtual Motion Capture) para enviar datos de SlimeVR y recibir información de otras apps.
settings-osc-vmc-enable = Habilitar
settings-osc-vmc-enable-description = Alterna el envío y recepción de datos.
settings-osc-vmc-enable-label = Habilitar
settings-osc-vmc-network = Puertos de red
settings-osc-vmc-network-address = Dirección de red
settings-osc-vmc-network-address-placeholder = Dirección IPV4
settings-osc-vmc-vrm-model_unloaded = No hay modelo cargado
settings-osc-vmc-anchor_hip = Anclar a la cadera
settings-osc-vmc-anchor_hip-description = Ancla el tracking a la cadera, útil para VTubing sentado. Si se deshabilita, carga un modelo VRM.
settings-osc-vmc-anchor_hip-label = Anclar a la cadera
## Setup/onboarding menu
onboarding-skip = Omitir configuración
onboarding-continue = Continuar
onboarding-wip = Trabajo en progreso
onboarding-previous_step = Paso anterior
onboarding-setup_warning-skip = Omitir configuración
onboarding-setup_warning-cancel = Continuar con la configuración
## Wi-Fi setup
onboarding-wifi_creds-back = Volver a la introducción
onboarding-wifi_creds = Introduce credenciales de Wi-Fi
# This cares about multilines
onboarding-wifi_creds-description =
Los trackers utilizarán estas credenciales para conectarse de forma inalámbrica.
Por favor, utiliza las credenciales a las que está conectado actualmente.
onboarding-wifi_creds-skip = Omitir configuración Wi-Fi
onboarding-wifi_creds-submit = ¡Enviar!
onboarding-wifi_creds-ssid =
.label = Nombre Wi-Fi
.placeholder = Introduce nombre de Wi-Fi
onboarding-wifi_creds-password =
.label = Contraseña
.placeholder = Introduce contraseña
## Mounting setup
onboarding-reset_tutorial = Tutorial para resetteo de trackers
onboarding-reset_tutorial-explanation = Mientras usas tus trackers, es posible que se desalineen debido al balanceo de la IMU o porque es posible que se hayan movido físicamente. Tienes varias formas de solucionar este problema.
onboarding-reset_tutorial-skip = Omitir paso
## Setup start
onboarding-home = Bienvenido a SlimeVR
onboarding-home-start = ¡Vamos a prepararnos!
## Enter VR part of setup
onboarding-enter_vr-back = Volver a la asignación del tracker
onboarding-enter_vr-title = ¡Hora de entrar en VR!
onboarding-enter_vr-description = ¡Ponte todos tus trackers y luego entra a la realidad virtual!
onboarding-enter_vr-ready = Estoy listo
## Setup done
onboarding-done-title = ¡Todo listo!
onboarding-done-description = Disfruta de la experiencia de full-body tracking
onboarding-done-close = Cerrar configuración
## Tracker connection setup
onboarding-connect_tracker-back = Volver a credenciales de Wi-Fi
onboarding-connect_tracker-title = Conectar trackers
onboarding-connect_tracker-issue-serial = ¡Tengo problemas para conectarme!
onboarding-connect_tracker-usb = Tracker USB
onboarding-connect_tracker-connection_status-none = Buscando trackers
onboarding-connect_tracker-connection_status-serial_init = Conectándose al dispositivo serial
onboarding-connect_tracker-connection_status-provisioning = Enviando credenciales Wi-Fi
onboarding-connect_tracker-connection_status-connecting = Intentando conectarse a una red Wi-Fi
onboarding-connect_tracker-connection_status-looking_for_server = Buscando servidor
onboarding-connect_tracker-connection_status-connection_error = No se puede conectar al Wi-Fi
onboarding-connect_tracker-connection_status-could_not_find_server = No se pudo encontrar el servidor
onboarding-connect_tracker-connection_status-done = Conectado al Server
onboarding-connect_tracker-next = He conectado todos mis trackers
## Tracker calibration tutorial
onboarding-calibration_tutorial = Tutorial de calibración de IMU
onboarding-calibration_tutorial-subtitle = ¡Esto ayudará a reducir el drift de los trackers!
onboarding-calibration_tutorial-calibrate = Mis trackers estan en una superficie plana
onboarding-calibration_tutorial-status-waiting = Esperando por ti
onboarding-calibration_tutorial-status-calibrating = Calibrando
onboarding-calibration_tutorial-status-success = ¡Bien!
onboarding-calibration_tutorial-status-error = El tracker se ha movido
## Tracker assignment tutorial
onboarding-assignment_tutorial = Cómo preparar un Slime Tracker antes de ponértelo
onboarding-assignment_tutorial-first_step = 1. Coloca una pegatina de parte del cuerpo (si tienes una) en el rastreador según tu elección.
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Sticker
onboarding-assignment_tutorial-second_step-v2 = 2. Conecta la correa con su tracker, manteniendo el lado de velcro de la correa orientado en la misma dirección que la cara de Slime de su rastreador:
onboarding-assignment_tutorial-second_step-continuation-v2 = El lado del velcro de la extensión debe quedar hacia arriba como en la siguiente imagen:
onboarding-assignment_tutorial-done = ¡Le puse pegatinas y correas!
## Tracker assignment setup
onboarding-assign_trackers-back = Volver a credenciales de Wi-Fi
onboarding-assign_trackers-title = Asignar trackers
onboarding-assign_trackers-description = Elije qué tracker va a dónde. Haz clic en la ubicación donde deseas colocar un tracker
onboarding-assign_trackers-advanced = Mostrar ubicaciones de asignación avanzadas
onboarding-assign_trackers-next = He asignado todos los trackers
## Tracker assignment warnings
# Note for devs, number is used for representing boolean states per bit.
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_FOOT =
{ $unassigned ->
[0] El pie izquierdo está asignado, pero es necesario que también se asignen el tobillo izquierdo, el muslo izquierdo y el pecho, la cadera o la cintura!
[1] El pie izquierdo está asignado, pero también es necesario que también se asignen el muslo izquierdo y el pecho, la cadera o la cintura!
[2] El pie izquierdo está asignado, pero también es necesario que también se asignen el tobillo izquierdo y el pecho, la cadera o la cintura!
[3] El pie izquierdo está asignado, pero también es necesario que también se asignen el pecho, la cadera o la cintura!
[4] El pie izquierdo está asignado, pero también es necesario que también se asignen el tobillo izquierdo y el muslo izquierdo!
[5] El pie izquierdo está asignado, pero también es necesario que también se asigne el muslo izquierdo!
[6] El pie izquierdo está asignado, pero también es necesario que también se asigne el tobillo izquierdo!
*[other] El pie izquierdo está asignado, pero también es necesario que también se asigne el Parte del cuerpo asignada desconocida.
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_FOOT =
{ $unassigned ->
[0] El pie derecho está asignado, pero es necesario que también se asignen el tobillo derecho, el muslo derecho y el pecho, la cadera o la cintura!
[1] El pie derecho está asignado, pero es necesario que también se asignen el muslo derecho y el pecho, la cadera o la cintura!
[2] El pie derecho está asignado, pero es necesario que también se asignen el tobillo derecho y el pecho, la cadera o la cintura!
[3] El pie derecho está asignado, pero es necesario que también se asignen el pecho, la cadera o la cintura!
[4] El pie derecho está asignado, pero es necesario que también se asignen tobillo derecho y el muslo derecho!
[5] El pie derecho está asignado, pero es necesario que también se asigne el muslo derecho!
[6] El pie derecho está asignado, pero es necesario que también se asigne el tobillo derecho!
*[other] Pie derecho asignado, pero necesitas asignar Desconocido
}
## Tracker mounting method choose
# Italized text
onboarding-choose_mounting-auto_mounting-label = Experimental
# Italized text
onboarding-choose_mounting-manual_mounting-label = Recomendado
onboarding-choose_mounting-manual_modal-cancel = Cancelar
## Tracker manual mounting setup
onboarding-manual_mounting-next = Siguiente paso
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = Volver para entrar en VR
onboarding-automatic_mounting-next = Siguiente paso
onboarding-automatic_mounting-prev_step = Paso anterior
onboarding-automatic_mounting-done-restart = Volver a intentarlo
onboarding-automatic_mounting-preparation-title = Preparación
## Tracker proportions method choose
onboarding-choose_proportions-auto_proportions = Proporciones automáticas
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Recomendado
onboarding-choose_proportions-manual_proportions = Proporciones manuales
onboarding-choose_proportions-export = Exportar proporciones
onboarding-choose_proportions-import-success = Importado
onboarding-choose_proportions-file_type = Archivo de proporciones físicas
## Tracker manual proportions setup
onboarding-manual_proportions-title = Proporciones físicas manuales
onboarding-manual_proportions-auto = Proporciones automáticas
## Tracker automatic proportions setup
onboarding-automatic_proportions-title = Mide tu cuerpo
onboarding-automatic_proportions-prev_step = Paso anterior
onboarding-automatic_proportions-requirements-title = Requisitos
onboarding-automatic_proportions-requirements-next = He leído los requisitos
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-processing = Procesando los resultados
onboarding-automatic_proportions-verify_results-title = Verificar resultados
onboarding-automatic_proportions-verify_results-processing = Procesando los resultados
onboarding-automatic_proportions-done-title = Proporciones medidas y guardadas.
onboarding-automatic_proportions-done-description = ¡Calibración de las proporciones físicas completada!
## Home
## Trackers Still On notification
## Status system
## Tray Menu
## First exit modal
## Unknown device modal

View File

@@ -1,6 +1,3 @@
### SlimeVR complete GUI translations
# Please developers (not translators) don't reuse a key inside another key
# or concat text with a translation string in the code, use the appropriate
# features like variables and selectors in each appropriate case!
@@ -13,10 +10,19 @@
websocket-connecting = Serveriga ühendamine
websocket-connection_lost = Ühendus serveriga on kaotatud. Ühenduse taastamine...
## Update notification
version_update-title = Uus versioon olemas: { $version }
version_update-description = Vajutades "{ version_update-update }" tõmbab programm alla SlimeVR installeri.
version_update-update = Värskenda
version_update-close = Sulge
## Tips
tips-find_tracker = Ei ole kindel milline jälgija on mis? Raputage jälgijat ja vaadake milline jälgija tõstetakse esile.
tips-find_tracker = Ei ole kindel milline jälgija on mis? Raputage jälgijat, ning õige jälgija tõstetakse esile.
tips-do_not_move_heels = Veenduge, et teie kannad ei liigu salvestamise ajal!
tips-file_select = Pukseerige failid kasutamiseks, või <u>sirvi</u>.
tips-tap_setup = Saate jälgija valimiseks menüüst valimise asemel aeglaselt oma jälgijat 2 korda puudutada.
## Body parts
@@ -30,6 +36,7 @@ body_part-RIGHT_HAND = Parem käsi
body_part-RIGHT_UPPER_LEG = Parem reis
body_part-RIGHT_LOWER_LEG = Parem säär
body_part-RIGHT_FOOT = Parem jalg
body_part-UPPER_CHEST = Rinna ülaosa
body_part-CHEST = Rind
body_part-WAIST = Vöökoht
body_part-HIP = Puus
@@ -46,19 +53,23 @@ body_part-LEFT_FOOT = Vasak jalg
skeleton_bone-NONE = Mitte midagi
skeleton_bone-HEAD = Pea Nihe
skeleton_bone-NECK = Kaela Pikkus
skeleton_bone-CHEST = Chest Length
skeleton_bone-CHEST_OFFSET = Chest Offset
skeleton_bone-WAIST = Waist Length
skeleton_bone-HIP = Hip Lengthskeleton_bone-CHEST = Rinna Vahemaa
skeleton_bone-torso_group = Torso pikkus
skeleton_bone-UPPER_CHEST = Rinna ülaosa pikkus
skeleton_bone-CHEST_OFFSET = Rindkere nihe
skeleton_bone-CHEST = Rinna pikkus
skeleton_bone-WAIST = Vööümbermõõt
skeleton_bone-HIP = Puusa pikkus
skeleton_bone-HIP_OFFSET = Puusa Nihe
skeleton_bone-HIPS_WIDTH = Puusa Laius
skeleton_bone-UPPER_LEG = Upper Leg Length
skeleton_bone-leg_group = Jala pikkus
skeleton_bone-UPPER_LEG = Jala ülaosa pikkus
skeleton_bone-LOWER_LEG = Lower Leg Length
skeleton_bone-FOOT_LENGTH = Jala Pikkus
skeleton_bone-FOOT_SHIFT = Jala Nihe
skeleton_bone-SKELETON_OFFSET = Skeletti Nihe
skeleton_bone-SHOULDERS_DISTANCE = Õlgade Kaugus
skeleton_bone-SHOULDERS_WIDTH = Õlgade Laius
skeleton_bone-arm_group = Käe pikkus
skeleton_bone-UPPER_ARM = Õlavarre Pikkus
skeleton_bone-LOWER_ARM = Käsivarre Kaugus
skeleton_bone-HAND_Y = Käte kaugus Y
@@ -70,6 +81,7 @@ skeleton_bone-ELBOW_OFFSET = Küünarnuki Nihe
reset-reset_all = Lähtesta kõik proportsioonid
reset-full = Lähtesta
reset-mounting = Lähtesta Paigaldusasend
reset-yaw = Lähtesta lengerdus
## Serial detection stuff
@@ -90,11 +102,16 @@ navbar-mounting = Jälgijate Paigalduse Kalibreerimine
navbar-onboarding = Häälestusviisard
navbar-settings = Seaded
## Bounding volume hierarchy recording
## Biovision hierarchy recording
bvh-start_recording = Salvesta BVH
bvh-recording = Salvestamine...
## Tracking pause
tracking-unpaused = Peata jälgimine
tracking-paused = Jätka jälgimine
## Widget: Overlay settings
widget-overlay = Ülekate
@@ -105,13 +122,17 @@ widget-overlay-is_mirrored_label = Näita Ülekatet Peeglina
widget-drift_compensation-clear = Selgem triivi kompenseerimine
## Widget: Clear Reset Mounting
widget-clear_mounting = Lähtesta paigaldusasend
## Widget: Developer settings
widget-developer_mode = Arendaja režiim
widget-developer_mode-high_contrast = Kõrge kontrastsus
widget-developer_mode-precise_rotation = Täpne pööre
widget-developer_mode-fast_data_feed = Kiire andmevoog
widget-developer_mode-filter_slimes_and_hmd = Filtreerige slimid ja HMD-d
widget-developer_mode-filter_slimes_and_hmd = Filtreerige Slimed ja HMD-d
widget-developer_mode-sort_by_name = Sorteeri nime järgi
widget-developer_mode-raw_slime_rotation = Toores pööre
widget-developer_mode-more_info = Rohkem infot
@@ -121,6 +142,7 @@ widget-developer_mode-more_info = Rohkem infot
widget-imu_visualizer = Rotatsiooni
widget-imu_visualizer-rotation_raw = Toores
widget-imu_visualizer-rotation_preview = Eelvaade
widget-imu_visualizer-rotation_hide = Peida
## Tracker status
@@ -147,9 +169,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Ees
tracker-rotation-front_left = Ees vasakul
tracker-rotation-front_right = Ees paremal
tracker-rotation-left = Vasak
tracker-rotation-right = Parem
tracker-rotation-back = Taga
tracker-rotation-back_left = Taga vasakul
tracker-rotation-back_right = Taga paremal
tracker-rotation-custom = Kohandatud
tracker-rotation-overriden = (tühistatud paigalduse lähtestamine tõttu)
## Tracker information
@@ -159,6 +187,9 @@ tracker-infos-custom_name = Kohandatud Nimi
tracker-infos-url = Jälgija URL
tracker-infos-version = Püsivara versioon
tracker-infos-hardware_rev = Riistvara revisjon
tracker-infos-hardware_identifier = Riistvara ID
tracker-infos-imu = IMU sensor
tracker-infos-board_type = Põhiplaat
## Tracker settings
@@ -211,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } paremale re
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } paremale säärele?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } paremale jalale?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } paremale kontrollerile?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } rinnale?
tracker_selection_menu-CHEST = { -tracker_selection-part } rind?
tracker_selection_menu-WAIST = { -tracker_selection-part } vöökoht?
tracker_selection_menu-HIP = { -tracker_selection-part } puus?
@@ -247,8 +279,11 @@ settings-sidebar-fk_settings = FK seaded
settings-sidebar-gesture_control = Žesti juhtimine
settings-sidebar-interface = Liides
settings-sidebar-osc_router = OSC ruuter
settings-sidebar-osc_trackers = VRChati OSC Jälgija
settings-sidebar-utils = Olemus / Lisad
settings-sidebar-serial = Jadakonsool
settings-sidebar-appearance = Välimus
settings-sidebar-notifications = Teavitused
## SteamVR settings
@@ -305,15 +340,32 @@ settings-general-fk_settings-leg_tweak-floor_clip = Põranda läbimine
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
settings-general-fk_settings-leg_tweak-skating_correction = Libisemise korrigeerimine
settings-general-fk_settings-leg_tweak-toe_snap = Varba klõpsatus maha
settings-general-fk_settings-leg_tweak-foot_plant = Jalg maas
settings-general-fk_settings-leg_tweak-skating_correction-amount = Libisemise korrigeerimine jõud
settings-general-fk_settings-leg_tweak-skating_correction-description = Uisukorrektsioon korrigeerib uisutamist, kuid võib vähendada teatud liikumismustrite täpsust. Selle lubamisel veenduge, et mängus lähtestatakse jälgimine ja kalibreeritakse jälgimine uuesti.
settings-general-fk_settings-leg_tweak-floor_clip-description = Põrandaklõpsatus võib vähendada või isegi välistada jalgade läbi põranda minemise. Selle lubamisel veenduge, et mängus lähtestatakse jälgimine ja kalibreeritakse jälgimine uuesti.
settings-general-fk_settings-leg_tweak-toe_snap-description = Varvaste klõpsatus maha üritab ära arvata jalgade pöörlemist, kui jalgade jälgijaid ei kasutata.
settings-general-fk_settings-leg_tweak-foot_plant-description = Jalg-maas pöörab jalad kokkupuutel maapinnaga paralleelseks.
settings-general-fk_settings-leg_fk = Jalgade jälgimine
settings-general-fk_settings-arm_fk = Käe jälgimine
settings-general-fk_settings-arm_fk-description = Muuda viisi kuidas käsi jälgitakse.
settings-general-fk_settings-arm_fk-force_arms = Sunni käed HMD-st
settings-general-fk_settings-skeleton_settings = Skeletti seaded
settings-general-fk_settings-skeleton_settings-toggles = Skeleti lülitid
settings-general-fk_settings-skeleton_settings-description = Lülita skeletti seaded sisse või välja. Soovitatud on see sisse jätta.
settings-general-fk_settings-skeleton_settings-extended_spine = Selgroo laiendamine
settings-general-fk_settings-skeleton_settings-extended_pelvis = Vaagnaluu laiendamine
settings-general-fk_settings-skeleton_settings-extended_knees = Põlve laiendamine
settings-general-fk_settings-skeleton_settings-extended_spine_model = Laiendatud selgroo mudel
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Laiendatud vaagna mudel
settings-general-fk_settings-skeleton_settings-extended_knees_model = Laiendatud põlve mudel
settings-general-fk_settings-skeleton_settings-ratios = Skeleti suhted
settings-general-fk_settings-skeleton_settings-ratios-description = Muutke skeleti seadete väärtusi. Võimalik, et peate pärast nende muutmist oma proportsioone kohandama.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Imputeeri vöökoht rinnast ja puusast
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Imputeeri vöökoht rinnast ja jalgadest
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Imputeeri puusakoht rinnast ja jalgadest
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Imputeeri puusakoht vöökohast ja jalgadest
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Leia keskmine puusa lengerdus ja pöörlemine jalgade abiga
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Leia keskmine põlvede lengerdus ja pöörlemine säärte abiga
settings-general-fk_settings-self_localization-title = Mocapi režiim
settings-general-fk_settings-self_localization-description = Mocap-režiim võimaldab skeletil ligikaudselt jälgida oma asukohta ilma peakomplekti või muude jälgijateta. Pange tähele, et see nõuab jalgade ja peajälgijate olemasolu ning on endiselt eksperimentaalne.
settings-general-fk_settings-vive_emulation-title = Vive-i emulatsioon
settings-general-fk_settings-vive_emulation-description = Emuleeri vöökoha jälgija probleeme mis Vive jälgijatel on. See on nali ja teeb jälgijate täpsuse halvaks.
settings-general-fk_settings-vive_emulation-label = Luba Vive-i emulatsioon
@@ -322,30 +374,63 @@ settings-general-fk_settings-vive_emulation-label = Luba Vive-i emulatsioon
settings-general-gesture_control = Žesti juhtimine
settings-general-gesture_control-subtitle = Puudutusepõhised lähtestused
settings-general-gesture_control-description = Lubab lähtestada jälgija puudutades jälgijat. Jälgija kere kõige kõrgemal osal kasutatakse kiireks lähtestamiseks, jälgija vasaku jala kõige kõrgemal osal kasutatakse lähtestamiseks ja jälgija parema jala kõige kõrgemal osal kasutatakse paigalduse lähtestamiseks. Vajutused peavad toimuma 0.6 sekundi jooksul, et need registreeritaks.
settings-general-gesture_control-description = Lubab lähtestada jälgija puudutades jälgijat. Jälgija kere kõige kõrgemal osal kasutatakse kiireks lähtestamiseks, jälgija vasaku jala kõige kõrgemal osal kasutatakse lähtestamiseks ja jälgija parema jala kõige kõrgemal osal kasutatakse paigalduse lähtestamiseks. Vajutused peavad toimuma 0.3 sekundi jooksul, et need registreeritaks.
# This is a unit: 3 taps, 2 taps, 1 tap
# $amount (Number) - Amount of taps (touches to the tracker's case)
settings-general-gesture_control-taps =
{ $amount ->
[one] 1 tap
*[other] { $amount } taps
[one] 1 puudutus
*[other] { $amount } puudutusi
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 jälgija
*[other] { $amount } jälgijat
}
settings-general-gesture_control-yawResetEnabled = Luba puudutamine lengerduse lähtestamiseks
settings-general-gesture_control-yawResetDelay = Lengerduse lähtestamise viivitus
settings-general-gesture_control-yawResetTaps = Puudutust lengerduse lähtestamiseks
settings-general-gesture_control-fullResetEnabled = Luba puudutus täielikuks lähtestamiseks
settings-general-gesture_control-fullResetDelay = Tavalise lähtestamise viivitus
settings-general-gesture_control-fullResetTaps = Puudutust tavaliseks lähtestamiseks
settings-general-gesture_control-mountingResetEnabled = Luba, et vajutus lähtestab paigalduseasendi
settings-general-gesture_control-mountingResetDelay = Paigaldusasendi lähtestamise viivitus
settings-general-gesture_control-mountingResetTaps = Paigaldusasendi lähtestamise vajutus
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Jälgijad üle läve
settings-general-gesture_control-numberTrackersOverThreshold-description = Suurendage seda väärtust, kui puudutuse tuvastamine ei tööta. Ärge suurendage seda üle selle, mis on vajalik puudutuse tuvastuse toimimiseks, kuna see põhjustaks rohkem valepositiivseid tulemusi.
## Interface settings
## Appearance settings
settings-general-interface = Liides
settings-interface-appearance = Välimus
settings-general-interface-dev_mode = Arendaja režiim
settings-general-interface-dev_mode-description = See režiim on kasulik, kui on vaja põhjalike andmeid või või suhelda ühendatud jälgijatega kõrgemal tasemel.
settings-general-interface-dev_mode-label = Arendaja režiim
settings-general-interface-serial_detection = Jadaseadme märkamine
settings-general-interface-serial_detection-description = See valik näitab hüpikakent iga kord kui panna sisse uus jada seade, mis võib olla jälgija. See aitab jälgija seadistusprotsessi parandada.
settings-general-interface-serial_detection-label = Jadaseadme märkamine
settings-general-interface-theme = Värviteema
settings-general-interface-lang = Vaikekeel
settings-general-interface-lang-description = Muutke vaikekeelt, mida soovite kasutada.
settings-general-interface-lang-placeholder = Vali keel, mida kasutada
# Keep the font name untranslated
settings-interface-appearance-font = GUI font
settings-interface-appearance-font-description = See muudab liidese kasutatavat fonti.
settings-interface-appearance-font-placeholder = Vaikimisi font
settings-interface-appearance-font-os_font = OS-i font
settings-interface-appearance-font-slime_font = Vaikimisi font
settings-interface-appearance-font_size = Fondi mastaapimise alus
settings-interface-appearance-font_size-description = See mõjutab kogu liidese fondi suurust, välja arvatud see seadete paneel.
## Notification settings
settings-interface-notifications = Teavitused
settings-general-interface-serial_detection = Jadaseadme märkamine
settings-general-interface-serial_detection-description = See valik näitab hüpikakent iga kord kui panna sisse uus jada seade, mis võib olla jälgija. See aitab jälgija seadistusprotsessi parandada.
settings-general-interface-serial_detection-label = Jadaseadme märkamine
settings-general-interface-feedback_sound = Tagasiside heli
settings-general-interface-feedback_sound-description = See suvand esitab lähtestamise käivitamisel heli.
settings-general-interface-feedback_sound-label = Tagasiside heli
settings-general-interface-feedback_sound-volume = Tagasiside helitugevus
## Serial settings
@@ -417,19 +502,56 @@ settings-osc-vrchat-network-address-placeholder = VRChat ip aadress
settings-osc-vrchat-network-trackers = Jälgia
settings-osc-vrchat-network-trackers-description = Lülita sisse/välja teatud jälgijate andmete saatmise OSC kaudu.
settings-osc-vrchat-network-trackers-chest = Rind
settings-osc-vrchat-network-trackers-waist = Vöökoht
settings-osc-vrchat-network-trackers-hip = Puus
settings-osc-vrchat-network-trackers-knees = Põlved
settings-osc-vrchat-network-trackers-feet = Jalad
settings-osc-vrchat-network-trackers-elbows = Küünarnukid
## VMC OSC settings
settings-osc-vmc = Virtual Motion Capture
# This cares about multilines
settings-osc-vmc-description =
VMC (Virtual Motion Capture) protokollile omaste sätete muutmine
SlimeVR-i luuandmete saatmiseks ja luuandmete vastuvõtmiseks teistest rakendustest.
settings-osc-vmc-enable = Luba
settings-osc-vmc-enable-description = Lülitage andmete sisestamine sisse/välja.
settings-osc-vmc-enable-label = Luba
settings-osc-vmc-network = Pordid
settings-osc-vmc-network-description = Määrake pordid VMC kaudu andmete kuulamiseks ja saatmiseks.
settings-osc-vmc-network-port_in =
.label = Port sisse
.placeholder = Port sisse (vaikimisi: 39540)
settings-osc-vmc-network-port_out =
.label = Port välja
.placeholder = Port välja (vaikimisi 39539)
settings-osc-vmc-network-address = Võrgu aadress
settings-osc-vmc-network-address-description = Valige, millisel aadressil soovite VMC kaudu andmeid saata.
settings-osc-vmc-network-address-placeholder = IPV4 aadress
settings-osc-vmc-vrm = VRM-mudel
settings-osc-vmc-vrm-description = Laadige VRM-mudel, et võimaldada peaankurdamist ja suuremat ühilduvust teiste rakendustega.
settings-osc-vmc-vrm-model_unloaded = Mudelit pole laaditud
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] Mudel laaditud: { $name }
*[other] Pealkirjata mudel on laaditud
}
settings-osc-vmc-vrm-file_select = Kasutatava mudeli pukseerimine või <u>sirvimine</u>
settings-osc-vmc-anchor_hip = Ankurda puusadel
settings-osc-vmc-anchor_hip-description = Ankurdage jälgimine puusadele, mis on kasulik istuva VTubingu jaoks. Keelamise korral laadige VRM-mudel.
settings-osc-vmc-anchor_hip-label = Ankurda puusadel
## Setup/onboarding menu
onboarding-skip = Jäta seadistamine vahele
onboarding-continue = Jätka
onboarding-wip = Töö käib
onboarding-previous_step = Eelmine samm
onboarding-setup_warning =
<b>Hoiatus:</b> Hea jälgimise jaoks on vajalik esialgne seadistamine,
see on vajalik, kui kasutate SlimeVR-i esimest korda.
onboarding-setup_warning-skip = Jäta seadistamine vahele
onboarding-setup_warning-cancel = Jätka seadistamist
## Wi-Fi setup
@@ -445,22 +567,37 @@ onboarding-wifi_creds-ssid =
.label = SSID
.placeholder = Sisesta SSID
onboarding-wifi_creds-password =
.label = parool
.label = Parool
.placeholder = Sisesta parool
## Mounting setup
onboarding-reset_tutorial-back = Minge tagasi paigaldus kalibreerimisse
onboarding-reset_tutorial = Lähtesta õpetus
onboarding-reset_tutorial-description = See funktsioon pole valmis, vajutage lihtsalt nuppu Jätka
onboarding-reset_tutorial-explanation = Kui kasutate oma jälgijaid, võivad need IMU lengerdamise tõttu joondusest välja tulla või kuna olete neid füüsiliselt liigutanud. Teil on selle parandamiseks mitu võimalust.
onboarding-reset_tutorial-skip = Jäta samm vahele
# Cares about multiline
onboarding-reset_tutorial-0 =
Puudutage { $taps } korda esiletõstetud jälgijat, et käivitada lengerduse lähtestamine.
See setib jälgijad teie HMD-ga samas suunas.
# Cares about multiline
onboarding-reset_tutorial-1 =
Täieliku lähtestamise käivitamiseks puudutage esiletõstetud jälgijat { $taps } korda.
Sa pead seisma (i-poosis). Enne kui see juhtub, on 3-sekundiline viivitus (konfigureeritav).
See lähtestab täielikult kõigi teie jälgijate asukoha ja pöörlemise. See peaks lahendama enamiku probleeme.
# Cares about multiline
onboarding-reset_tutorial-2 =
Puudutage { $taps } korda esiletõstetud jälgijat, et lähtestada paigaldus.
Paigaldamise lähtestamine aitab kaasa sellele, kuidas jälgijad teile tegelikult pannakse, nii et kui te neid kogemata liigutasite ja muutsite nende orientatsiooni suure summa võrra, aitab see.
Peate olema poosis, nagu suusatate, nagu see on näidatud automaatse paigaldamise viisardil, ja teil on 3-sekundiline viivitus (konfigureeritav), enne kui see käivitub.
## Setup start
onboarding-home = Tere tulemast SlimeVR-i
# This cares about multilines and it's centered!!
onboarding-home-description =
Toome kogu keha jälgimise
kõigile
onboarding-home-start = Hakkame sättima!
## Enter VR part of setup
@@ -505,6 +642,27 @@ onboarding-connect_tracker-connected_trackers =
} connected
onboarding-connect_tracker-next = Olen ühendanud kõik oma jälgijad
## Tracker calibration tutorial
onboarding-calibration_tutorial = IMU kalibreerimise õpetus
onboarding-calibration_tutorial-subtitle = See aitab vähendada jälgija driftimist!
onboarding-calibration_tutorial-description = Iga kord, kui lülitate oma jälgijad sisse, peavad nad kalibreerimiseks hetkeks tasasel pinnal olema. Teeme sama, klõpsates nuppu "{ onboarding-calibration_tutorial-calibrate }", <b>ärge liigutage neid!</b>
onboarding-calibration_tutorial-calibrate = Panin oma jälgijad lauale
onboarding-calibration_tutorial-status-waiting = Ootan sind
onboarding-calibration_tutorial-status-calibrating = Kalibreerimine
onboarding-calibration_tutorial-status-success = Võimas!
onboarding-calibration_tutorial-status-error = Jälgija liigutati
## Tracker assignment tutorial
onboarding-assignment_tutorial = Kuidas valmistada Slime Trackerit enne selle külge panemist
onboarding-assignment_tutorial-first_step = 1. Asetage kehaosa kleebis (kui teil see on) jälgijale vastavalt oma valikule
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Kleebis
onboarding-assignment_tutorial-second_step-v2 = 2. Kinnitage rihm oma jälgija külge, hoides rihma takjakülge jälgimisseadme pealmise poolega samas suunas:
onboarding-assignment_tutorial-second_step-continuation-v2 = Extensioni takjapaela pool peaks olema ülespoole suunatud nagu järgmine pilt:
onboarding-assignment_tutorial-done = Panin kleepsud ja rihmad külge!
## Tracker assignment setup
onboarding-assign_trackers-back = Minge tagasi Wi-Fi andmetesse
@@ -524,6 +682,17 @@ onboarding-assign_trackers-next = Määrasin kõikide jälgijate asukohad
## Tracker assignment warnings
## Tracker mounting method choose
onboarding-choose_mounting-auto_mounting = Automaatne paigaldamine
# Italized text
onboarding-choose_mounting-auto_mounting-label = Eksperimentaalne
onboarding-choose_mounting-auto_mounting-description = See tuvastab automaatselt kõigi teie jälgijate paigaldussuuna 2 poosist
onboarding-choose_mounting-manual_mounting = Käsitsi paigaldamine
# Italized text
onboarding-choose_mounting-manual_mounting-label = Soovitatud
onboarding-choose_mounting-manual_mounting-description = See võimaldab teil valida iga jälgija paigaldussuuna käsitsi
## Tracker manual mounting setup
onboarding-manual_mounting-back = Minge tagasi, et siseneda VR-i
@@ -553,12 +722,29 @@ onboarding-automatic_mounting-put_trackers_on-title = Pange kõik jälgijad peal
onboarding-automatic_mounting-put_trackers_on-description = Et kalibreerida jälgijate paigaldus asendi pööret pange kõik jälgijad peale ja nüüd te näete mis on mis jälgijad paremal pool ekraani.
onboarding-automatic_mounting-put_trackers_on-next = Mul on kõik jälgijad küljes
## Tracker proportions method choose
onboarding-choose_proportions = Millist proportsiooni kalibreerimismeetodit kasutada?
# Multiline string
onboarding-choose_proportions-description =
Keha proportsioone kasutatakse teie keha mõõtude tundmiseks. Neid on vaja, et arvutada jälgijate asukohad.
Kui teie keha proportsioonid ei vasta salvestatud proportsioonidele, on teie jälgimistäpsus halvem ja märkate selliseid asju nagu jalgade uisutamine või libistamine või keha ei sobi teie avatariga hästi.
onboarding-choose_proportions-auto_proportions = Automaatsed proportsioonid
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Soovitatud
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Väikeste puudutuste jaoks
onboarding-choose_proportions-manual_proportions-description = See võimaldab teil proportsioone käsitsi reguleerida, muutes neid otseselt
onboarding-choose_proportions-export = Ekspordi proportsioonid
onboarding-choose_proportions-file_type = Keha proportsioonide fail
## Tracker manual proportions setup
onboarding-manual_proportions-back = Mine tagasi lähtestamise õppetusse
onboarding-manual_proportions-title = Käsitsi keha proportsioonid
onboarding-manual_proportions-precision = Täpne reguleerimine
onboarding-manual_proportions-auto = Automaatne kalibreerimine
onboarding-manual_proportions-ratio = Kohandamine suhtarvugruppide järgi
## Tracker automatic proportions setup
@@ -570,22 +756,34 @@ onboarding-automatic_proportions-prev_step = Eelmine Samm
onboarding-automatic_proportions-put_trackers_on-title = Pange kõik jälgijad peale
onboarding-automatic_proportions-put_trackers_on-description = Et kalibreerida teie proportsioone pange kõik jälgijad peale ja te näete mis on mis jälgijad paremal pool ekraani.
onboarding-automatic_proportions-put_trackers_on-next = Mul on kõik jälgijad küljes
onboarding-automatic_proportions-preparation-title = Ettevalmistus
onboarding-automatic_proportions-preparation-description = Võtke tool ja pange see täpselt enda seljataha maha mänguruumi sisse. Olge valmis maha istuma et seadistada autobone.
onboarding-automatic_proportions-preparation-next = Ma olen enda tooli ees
onboarding-automatic_proportions-requirements-title = Nõuded
onboarding-automatic_proportions-requirements-next = Olen lugenud nõudeid
onboarding-automatic_proportions-check_height-title = Kontrollige oma pikkust
onboarding-automatic_proportions-check_height-description = Me kasutame teie pikkust oma mõõtmiste alusena, kasutades HMD kõrgust teie tegeliku kõrguse ligikaudseks arvutamiseks, kuid parem on ise kontrollida, kas need on õiged!
onboarding-automatic_proportions-check_height-fetch_height = Ma seisan!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Tundmatu
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Teie HMD kõrgus on
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = nii et teie tegelik kõrgus on
onboarding-automatic_proportions-check_height-next_step = Nendega on kõik korras
onboarding-automatic_proportions-start_recording-title = Olge valmis liikuma
onboarding-automatic_proportions-start_recording-description = Me nüüd salvestame teatud poose ja liigutusi neid näete järgmisel ekraanil. Olge valmis, kui te vajutate nuppu!
onboarding-automatic_proportions-start_recording-next = Alusta salvestamist
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = Salvestamine on pooleli...
onboarding-automatic_proportions-recording-description-p1 = Tehke allpool näidatud liigutusi:
onboarding-automatic_proportions-recording-steps-0 = Painutage põlvi paar korda.
onboarding-automatic_proportions-recording-steps-1 = Istuge toolile ja tõuske püsti.
onboarding-automatic_proportions-recording-steps-2 = Keerake ülakeha vasakule, seejärel paremale.
onboarding-automatic_proportions-recording-steps-3 = Keerake ülakeha paremale, seejärel vasakule.
onboarding-automatic_proportions-recording-steps-4 = Liigutage ringi, kuni taimer lõpeb.
# Each line of text is a different list item
onboarding-automatic_proportions-recording-steps =
Sirgelt püsti seistes pöörage pea ringi igas suunas.
Painutage selg ettepoole ja kükitage. Kükitades vaadake vasakule, seejärel paremale.
Keerake ülakeha vasakule (vastupäeva), seejärel sirutage alla maapinna poole.
Keerake ülakeha paremale (päripäeva), seejärel sirutage alla maapinna poole.
Pöörage puusi ringiratast, nagu kasutaksite hularõngast.
Kui salvestusel on veel aega, korrake juhiseid, kuni aeg on läbi.
onboarding-automatic_proportions-recording-processing = Tulemuse töötlemine
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 15)
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] 1 sekund
@@ -599,7 +797,17 @@ onboarding-automatic_proportions-verify_results-redo = Tee salvestus uuesti
onboarding-automatic_proportions-verify_results-confirm = Nad on õiged
onboarding-automatic_proportions-done-title = Kere mõõdetud ja salvestatud.
onboarding-automatic_proportions-done-description = Teie keha proportsioonid kalibreerimine on valmis!
onboarding-automatic_proportions-error_modal-confirm = Sain aru!
## Home
home-no_trackers = Jälgijaid ei tuvastatud ega määratud
## Status system
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] Praegu ei ole SlimeVR-feeder äpiga ühendatud.
*[other] Praegu ei ole SlimeVR-draiveri kaudu SteamVR-iga ühendatud.
}
status_system-StatusTrackerError = Jälgijal { $trackerName } on tõrge.

View File

@@ -1,6 +1,3 @@
### SlimeVR complete GUI translations
# Please developers (not translators) don't reuse a key inside another key
# or concat text with a translation string in the code, use the appropriate
# features like variables and selectors in each appropriate case!
@@ -13,10 +10,19 @@
websocket-connecting = Yhdistetään palvelimeen
websocket-connection_lost = Yhteys epäonnistui. Yritetään uudelleen...
## Update notification
version_update-title = Uusi versio saatavilla: { $version }
version_update-description = Valitsemalla "{ version_update-update }" lataa SlimeVR-asennusohjelman.
version_update-update = Päivitys
version_update-close = Sulje
## Tips
tips-find_tracker = Epävarma, mikä jäljitin on mikä? Ravista jäljitintä ja se korostaa vastaavan kohdan.
tips-do_not_move_heels = Varmista, että kantapääsi ei liiku tallennuksen aikana!
tips-file_select = Vedä ja pudota käytettäviä tiedostoja tai <u>selaa</u>.
tips-tap_setup = Voit hitaasti napauttaa 2 kertaa jäljitintä valitaksesi sen, sen sijaan, että valitsisit sen valikosta.
## Body parts
@@ -30,6 +36,7 @@ body_part-RIGHT_HAND = Oikea käsi
body_part-RIGHT_UPPER_LEG = Oikea reisi
body_part-RIGHT_LOWER_LEG = Oikea nilkka
body_part-RIGHT_FOOT = Oikea jalkaterä
body_part-UPPER_CHEST = Ylärinta
body_part-CHEST = Rinta
body_part-WAIST = Vyötärö
body_part-HIP = Lonkka
@@ -47,8 +54,9 @@ skeleton_bone-NONE = Ei mikään
skeleton_bone-HEAD = Pään säätö
skeleton_bone-NECK = Kaulan pituus
skeleton_bone-torso_group = Vartalon pituus
skeleton_bone-CHEST = Rinnan pituus
skeleton_bone-UPPER_CHEST = Ylärinnan pituus
skeleton_bone-CHEST_OFFSET = Rinnan keskitys
skeleton_bone-CHEST = Rinnan pituus
skeleton_bone-WAIST = Vyötärön pituus
skeleton_bone-HIP = Lonkan pituus
skeleton_bone-HIP_OFFSET = Lonkan keskitys
@@ -94,11 +102,16 @@ navbar-mounting = Asennuksen Kalibrointi
navbar-onboarding = Asennustoiminto
navbar-settings = Asetukset
## Bounding volume hierarchy recording
## Biovision hierarchy recording
bvh-start_recording = Tallenna BVH
bvh-recording = Tallennetaan...
## Tracking pause
tracking-unpaused = Keskeytä jäljitys
tracking-paused = Jatka jäljitystä
## Widget: Overlay settings
widget-overlay = Overlay
@@ -109,6 +122,10 @@ widget-overlay-is_mirrored_label = Näytä Overlay Peilinä
widget-drift_compensation-clear = Tyhjennä ajautumakompensaatio
## Widget: Clear Reset Mounting
widget-clear_mounting = Tyhjennä asennuksen nollaus
## Widget: Developer settings
widget-developer_mode = Kehittäjätila
@@ -125,6 +142,12 @@ widget-developer_mode-more_info = Lisätietoja
widget-imu_visualizer = Kierto
widget-imu_visualizer-rotation_raw = Käsittelemätön
widget-imu_visualizer-rotation_preview = Esikatselu
widget-imu_visualizer-rotation_hide = Piilota
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Luurangon esikatselu
widget-skeleton_visualizer-hide = Piilota
## Tracker status
@@ -134,6 +157,7 @@ tracker-status-error = Virhe
tracker-status-disconnected = Katkaistu
tracker-status-occluded = Peittynyt
tracker-status-ok = OK
tracker-status-timed_out = Aikakatkaistiin
## Tracker status columns
@@ -151,9 +175,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Etu
tracker-rotation-front_left = Etu-vasen
tracker-rotation-front_right = Etu-oikea
tracker-rotation-left = Vasen
tracker-rotation-right = Oikea
tracker-rotation-back = Taka
tracker-rotation-back_left = Taka-vasen
tracker-rotation-back_right = Taka-oikea
tracker-rotation-custom = Mukautettu
tracker-rotation-overriden = (asennusnollauksen ohittama)
## Tracker information
@@ -163,6 +193,9 @@ tracker-infos-custom_name = Mukautettu Nimi
tracker-infos-url = Jäljittimen URL
tracker-infos-version = Laiteohjelmiston Versio
tracker-infos-hardware_rev = Laitteston Tarkistus
tracker-infos-hardware_identifier = Laitteiston ID
tracker-infos-imu = IMU-Sensor
tracker-infos-board_type = Päälevy
## Tracker settings
@@ -205,6 +238,28 @@ body_assignment_menu-unassign_tracker = Poista jäljittimen määritys
# maybe your language does.
-tracker_selection-part = Minkä jäljittimen valitset
tracker_selection_menu-NONE = Minkä jäljittimen määrityksen haluat poistaa?
tracker_selection_menu-HEAD = { -tracker_selection-part } pää?
tracker_selection_menu-NECK = { -tracker_selection-part } kaula?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } oikea olkapää?
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } oikea olkavarsi?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } oikea kyynärvarsi?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } oikea käsi?
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } oikea reisi?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } oikea nilkka?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } oikea jalkaterä?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } oikea ohjain?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } ylärinta?
tracker_selection_menu-CHEST = { -tracker_selection-part } rinta?
tracker_selection_menu-WAIST = { -tracker_selection-part } vyötärö?
tracker_selection_menu-HIP = { -tracker_selection-part } lonkka?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } vasen olkapää?
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } vasen olkavarsi?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } vasen kyynärvarsi?
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } vasen käsi?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } vasen reisi?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } vasen nilkka?
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } vasen jalkaterä?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } vasen ohjain?
tracker_selection_menu-unassigned = Määrittämättömät jäljittimet
tracker_selection_menu-assigned = Määritetyt jäljittimet
tracker_selection_menu-dont_assign = Älä määritä
@@ -230,8 +285,11 @@ settings-sidebar-fk_settings = Jäljityksen asetukset
settings-sidebar-gesture_control = Eleohjaus
settings-sidebar-interface = Käyttöliittymä
settings-sidebar-osc_router = OSC-reititin
settings-sidebar-osc_trackers = VRChat OSC-jäljittimet
settings-sidebar-utils = Lisäohjelmat
settings-sidebar-serial = Sarjakonsoli
settings-sidebar-appearance = Ulkonäkö
settings-sidebar-notifications = Ilmoitukset
## SteamVR settings
@@ -296,14 +354,31 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Floor clip voi v
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe snap yrittää arvata varpaiden asennon jos jalkaterän jäljitintä ei ole käytössä.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot plant asettaa jalkateräsi yhdensuuntaisesti maan kanssa kosketuksessa.
settings-general-fk_settings-leg_fk = Jalkojen jäljitys
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Ota käyttöön jalkojen asennuksen nollaus varpaillaan.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Jalkojen asennuksen nollaus
settings-general-fk_settings-arm_fk = Käsivarsien jäljitys
settings-general-fk_settings-arm_fk-description = Muuta tapaa, jolla käsivarsia jäljitetään.
settings-general-fk_settings-arm_fk-force_arms = Pakota kädet HMD:ltä
settings-general-fk_settings-skeleton_settings = Luurangon asetukset
settings-general-fk_settings-arm_fk-reset_mode-description = Muuta, mikä käsivarren asentoa odotetaan asennuksen nollaukselle.
settings-general-fk_settings-arm_fk-back = Takaisin
settings-general-fk_settings-arm_fk-tpose_up = T-asento (ylös)
settings-general-fk_settings-arm_fk-tpose_down = T-asento (alas)
settings-general-fk_settings-arm_fk-forward = Eteenpäin
settings-general-fk_settings-skeleton_settings-toggles = Luurankoasetuksia
settings-general-fk_settings-skeleton_settings-description = Ota tai poista käytöstä luurankoasetukset. On suositeltavaa jättää nämä päälle.
settings-general-fk_settings-skeleton_settings-extended_spine = Laajennettu selkäranka
settings-general-fk_settings-skeleton_settings-extended_pelvis = Laajennettu lantioluu
settings-general-fk_settings-skeleton_settings-extended_knees = Laajennettu polvi
settings-general-fk_settings-skeleton_settings-extended_spine_model = Laajennettu selkärankamalli
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Laajennettu lantiomalli
settings-general-fk_settings-skeleton_settings-extended_knees_model = Laajennettu polvimalli
settings-general-fk_settings-skeleton_settings-ratios = Luurankosuhteet
settings-general-fk_settings-skeleton_settings-ratios-description = Muuta luurankoasetusten arvoja. Saatat joutua säätämään mittasuhteitasi muutosten jälkeen.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Laskelmoi vyötärö rinnasta lantioon
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Laskelmoi vyötärö rinnasta jalkoihin
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Laskelmoi lonkka rinnasta jalkoihin
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Laskelmoi lantio vyötäröstä jalkoihin
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Keskimääritä lonkan kallistus jaloilla'
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Keskimääritä polvijäljittimen kallistus nilkoilla'
settings-general-fk_settings-self_localization-title = Mocap-tila
settings-general-fk_settings-self_localization-description = Mocap-tila sallii luurangon karkeasti seurata omaa sijaintiaan ilman laseja tai muita jäljittimiä. Huomioi, että tämä vaatii jalka- ja pääjäljittimien toimimista ja on vielä kokeellinen.
settings-general-fk_settings-vive_emulation-title = Vive-emulointi
settings-general-fk_settings-vive_emulation-description = Emuloi vyötäröjäljittimen ongelmia, joita Vive jäljittimillä on. Tämä on vitsi ja pahentaa jäljitystä.
settings-general-fk_settings-vive_emulation-label = Ota Vive-emulointi käyttöön
@@ -320,6 +395,13 @@ settings-general-gesture_control-taps =
[one] 1 napautus
*[other] { $amount } napautusta
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 jäljitin
*[other] { $amount } jäljitintä
}
settings-general-gesture_control-yawResetEnabled = Ota käyttöön kallistumanollaus napautus
settings-general-gesture_control-yawResetDelay = Kallistumanollaus viive
settings-general-gesture_control-yawResetTaps = Napautuksia kallistumanollaukseen.
@@ -329,13 +411,32 @@ settings-general-gesture_control-fullResetTaps = Napautuksia täysinollaukseen
settings-general-gesture_control-mountingResetEnabled = Ota käyttöön asennusnollaus napautus
settings-general-gesture_control-mountingResetDelay = Asennusnollaus viive
settings-general-gesture_control-mountingResetTaps = Napautuksia asennusnollaukseen
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Jäljittimet yli kynnysarvon
settings-general-gesture_control-numberTrackersOverThreshold-description = Suurenna tätä arvoa jos napautustunnistus ei toimi. Älä suurenna yli sen, mikä on tarpeellista, koska se voi aiheuttaa enemmän virheitä.
## Interface settings
## Appearance settings
settings-general-interface = Käyttöliittymä
settings-interface-appearance = Ulkonäkö
settings-general-interface-dev_mode = Kehittäjätila
settings-general-interface-dev_mode-description = Tämä tila voi olla hyödyllinen, jos tarvitset perusteellisia tietoja tai haluat olla tekemisissä yhdistettyjen jäljittimien kanssa edistyneemmällä tasolla.
settings-general-interface-dev_mode-label = Kehittäjätila
settings-general-interface-theme = Väri teema
settings-general-interface-lang = Valitse kieli
settings-general-interface-lang-description = Vaihda oletuskieli, jota haluat käyttää.
settings-general-interface-lang-placeholder = Valitse käytettävä kieli
# Keep the font name untranslated
settings-interface-appearance-font = GUI-fontti
settings-interface-appearance-font-description = Tämä muuttaa käyttöliittymän käyttämää fonttia.
settings-interface-appearance-font-placeholder = Oletusfontti
settings-interface-appearance-font-os_font = OS-fontti
settings-interface-appearance-font-slime_font = Oletusfontti
settings-interface-appearance-font_size = Perusfontin skaalaus
settings-interface-appearance-font_size-description = Tämä vaikuttaa koko käyttöliittymän fonttikokoon tätä asetuspaneelia lukuun ottamatta.
## Notification settings
settings-interface-notifications = Ilmoitukset
settings-general-interface-serial_detection = Sarjalaitteen tunnistus
settings-general-interface-serial_detection-description = Tämä vaihtoehto näyttää ponnahdusikkunan aina, kun liität uuden sarjalaitteen, joka voi olla jäljitin. Se auttaa parantamaan jäljittimen asennusprosessia.
settings-general-interface-serial_detection-label = Sarjalaitteen tunnistus
@@ -343,10 +444,8 @@ settings-general-interface-feedback_sound = Palaute ääni
settings-general-interface-feedback_sound-description = Tämä asetus toistaa äänen nollauksen tapahtuessa.
settings-general-interface-feedback_sound-label = Palaute ääni
settings-general-interface-feedback_sound-volume = Palaute äänen voimakkuus
settings-general-interface-theme = Väri teema
settings-general-interface-lang = Valitse kieli
settings-general-interface-lang-description = Vaihda oletuskieli, jota haluat käyttää.
settings-general-interface-lang-placeholder = Valitse käytettävä kieli
settings-general-interface-connected_trackers_warning = Yhdistettyjen jäljittimien varoitus
settings-general-interface-connected_trackers_warning-description = Tämä vaihtoehto näyttää ponnahdusikkunan aina, kun yrität poistua SlimeVR:stä, kun sinulla on yksi tai useampi yhdistetty jäljitin. Se muistuttaa sinua sammuttamaan jäljittimet, kun olet valmis, akun käyttöiän säästämiseksi.
## Serial settings
@@ -418,6 +517,7 @@ settings-osc-vrchat-network-address-placeholder = VRChat IP-osoite
settings-osc-vrchat-network-trackers = Jäljittimet
settings-osc-vrchat-network-trackers-description = Vaihda tiettyjen jäljittimien lähettäminen OSC:n kautta.
settings-osc-vrchat-network-trackers-chest = Rinta
settings-osc-vrchat-network-trackers-hip = Lonkka
settings-osc-vrchat-network-trackers-knees = Polvet
settings-osc-vrchat-network-trackers-feet = Jalat
settings-osc-vrchat-network-trackers-elbows = Kyynärpäät
@@ -451,13 +551,22 @@ settings-osc-vmc-vrm-model_loaded =
[true] Malli ladattu: { $name }
*[other] Nimetön malli ladattu
}
settings-osc-vmc-vrm-file_select = Vedä ja pudota mallia käytettäväksi tai <u>selaa</u>
settings-osc-vmc-anchor_hip = Ankkuri lantiolla
settings-osc-vmc-anchor_hip-description = Ankkuroi jäljitin lonkalle, hyödyllinen istuvaan VTubing. Jos poistat käytöstä, lataa VRM-malli.
settings-osc-vmc-anchor_hip-label = Ankkuroi lonkalle
## Setup/onboarding menu
onboarding-skip = Ohita asennus
onboarding-continue = Jatka
onboarding-wip = Keskeneräinen
onboarding-previous_step = Edellinen vaihe
onboarding-setup_warning =
<b>Varoitus:</b> Alkuasennus vaaditaan hyvään jäljitykseen,
sitä tarvitaan, jos käytät SlimeVR:ää ensimmäistä kertaa.
onboarding-setup_warning-skip = Ohita asennus
onboarding-setup_warning-cancel = Jatka asennusta
## Wi-Fi setup
@@ -480,7 +589,26 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = Palaa asennuksen kalibrointiin
onboarding-reset_tutorial = Nollaa tutoriaali
onboarding-reset_tutorial-description = Tämä ominaisuus ei ole valmis, paina vain Jatka
onboarding-reset_tutorial-explanation = Kun käytät jäljittimiä, ne saattavat epälinjoittua IMU:n ajautumisen tai fyysisen siirron takia. Sinulla on useita tapoja korjata tämä.
onboarding-reset_tutorial-skip = Ohita vaihe
# Cares about multiline
onboarding-reset_tutorial-0 =
Napauta { $taps } kertaa korostettua jäljitintä käynnistääksesi kallistuman nollauksen.
Tämä osoittaa jäljittimet samaan suuntaan kuin HMD.
# Cares about multiline
onboarding-reset_tutorial-1 =
Napauta { $taps } kertaa korostettua jäljitintä käynnistääksesi täysinollauksen.
Sinun on seisottava paikallasi (i-pose) tätä varten. On 3 sekunnin viive (muokattavissa), ennen kuin se tapahtuu.
Tämä täysin nollaa kaikkien jäljittimien sijainnin ja kierron. Sen pitäisi korjata useimmat ongelmat.
# Cares about multiline
onboarding-reset_tutorial-2 =
Napauta { $taps } kertaa korostettua jäljitintä käynnistääksesi asennuksen nollaus.
Asennuksen nollaus auttaa siinä, kuinka jäljittimet on todella asetettu sinulla, joten jos vahingossa siirsit ja muutit suuresti niiden suuntaa, tämä auttaa.
Sinun on oltava hiihto-asennossa, kuten on näytettynä Automaattisessa Asennuksessa ja sinulla on 3 sekunnin viive (muokattavissa), ennen kuin se käynnistyy.
## Setup start
@@ -506,30 +634,264 @@ onboarding-connect_tracker-back = Palaa Wi-Fi-tunnistetietoihin
onboarding-connect_tracker-title = Yhdistä jäljittimet
onboarding-connect_tracker-description-p0 = Nyt hauskaan osaan, kaikkien jäljittimien yhdistämiseen!
onboarding-connect_tracker-description-p1 = Yhdistä vain kaikki, joita ei ole vielä yhdistetty, USB-portin kautta.
onboarding-connect_tracker-issue-serial = Minulla on ongelmia yhteyden muodostamisessa!
onboarding-connect_tracker-usb = USB-jäljitin
onboarding-connect_tracker-connection_status-none = Etsitään jäljittimiä
onboarding-connect_tracker-connection_status-serial_init = Yhdistetään sarjalaitteeseen
onboarding-connect_tracker-connection_status-provisioning = Lähetetään Wi-Fi-tunnistetietoja
onboarding-connect_tracker-connection_status-connecting = Yritetään muodostaa yhteys Wi-Fi-verkkoon
onboarding-connect_tracker-connection_status-looking_for_server = Etsitään palvelinta
onboarding-connect_tracker-connection_status-connection_error = Wi-Fi-yhteyden muodostaminen epäonnistui
onboarding-connect_tracker-connection_status-could_not_find_server = Palvelinta ei löytynyt
onboarding-connect_tracker-connection_status-done = Yhdistetty palvelimeen
# $amount (Number) - Amount of trackers connected (this is a number, but you can use CLDR plural rules for your language)
# More info on https://www.unicode.org/cldr/cldr-aux/charts/22/supplemental/language_plural_rules.html
# English in this case only has 2 plural rules, which are "one" and "other",
# we use 0 in an explicit way because there is no plural rule in english for 0, so we directly say
# if $amount is 0 then we say "No trackers connected"
onboarding-connect_tracker-connected_trackers =
{ $amount ->
[0] Jäljittimiä ei ole yhdistetty
[one] 1 jäljitin yhdistetty
*[other] { $amount } jäljitintä yhdistetty
}
onboarding-connect_tracker-next = Yhdistin kaikki jäljittimeni
## Tracker calibration tutorial
onboarding-calibration_tutorial = IMU-kalibrointi tutoriaali
onboarding-calibration_tutorial-subtitle = Tämä auttaa vähentämään jäljittimen ajautumaa!
onboarding-calibration_tutorial-description = Joka kerta, kun käynnistät jäljittimet, niiden täytyy levätä hetken tasaisella alustalla kalibroidakseen. Tehdään sama asia painamalla "{ onboarding-calibration_tutorial-calibrate }" nappia, <b>älä liikuta niitä!</b>
onboarding-calibration_tutorial-calibrate = Asetin jäljittimeni pöydälle
onboarding-calibration_tutorial-status-waiting = Odotetaan sinua
onboarding-calibration_tutorial-status-calibrating = Kalibroi
onboarding-calibration_tutorial-status-success = Kiva!
onboarding-calibration_tutorial-status-error = Jäljitintä liikutettiin
## Tracker assignment tutorial
onboarding-assignment_tutorial = Kuinka valmistellaan Slime-jäljitin ennen käyttöä
onboarding-assignment_tutorial-first_step = 1. Aseta kehonosatarra (jos sinulla on) jäljittimeen valintasi mukaan
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Tarra
onboarding-assignment_tutorial-second_step-v2 = 2. Kiinnitä hihna jäljittimeen pitäen hihnan tarranauhaa samaan suuntaan kuin jäljittimen etupuoli:
onboarding-assignment_tutorial-second_step-continuation-v2 = Jatkeen tarranauhapuolen tulee olla ylöspäin seuraavan kuvan mukaisesti:
onboarding-assignment_tutorial-done = Laitoin tarrat ja hihnat!
## Tracker assignment setup
onboarding-assign_trackers-back = Palaa Wi-Fi-tunnistetietoihin
onboarding-assign_trackers-title = Määritä jäljittimet
onboarding-assign_trackers-description = Valitaan, mikä jäljitin menee minne. Napsauta paikkaa, johon haluat sijoittaa jäljittimen
# Look at translation of onboarding-connect_tracker-connected_trackers on how to use plurals
# $assigned (Number) - Trackers that have been assigned a body part
# $trackers (Number) - Trackers connected to the server
onboarding-assign_trackers-assigned =
{ $trackers ->
[one] { $assigned } / 1 jäljitintä määritetty
*[other] { $assigned } / { $trackers } jäljittimiä määritetty
}
onboarding-assign_trackers-advanced = Näytä tarkempia määrityssijainteja
onboarding-assign_trackers-next = Määritin kaikki jäljittimet
## Tracker assignment warnings
# Note for devs, number is used for representing boolean states per bit.
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_FOOT =
{ $unassigned ->
[6] Vasen jalkaterä on määritetty, mutta myös vasen nilkka on määritettävä!
[5] Vasen jalkaterä on määritetty, mutta myös vasen reisi on määritettävä!
[4] Vasen jalkaterä on määritetty, mutta myös vasen nilkka ja vasen reisi on määritettävä!
[3] Vasen jalkaterä on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
[2] Vasen jalkaterä on määritetty, mutta myös vasen nilkka ja joko rinta, lantio tai vyötärö on määritettävä!
[1] Vasen jalkaterä on määritetty, mutta myös vasen reisi ja joko rinta, lantio tai vyötärö on määritettävä!
[0] Vasen jalkaterä on määritetty, mutta myös vasen nilkka, vasen reisi ja joko rinta, lantio tai vyötärö on määritettävä!
*[other] Vasen jalkaterä on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_FOOT =
{ $unassigned ->
[6] Oikea jalkaterä on määritetty, mutta myös oikea nilkka on määritettävä!
[5] Oikea jalkaterä on määritetty, mutta myös oikea reisi on määritettävä!
[4] Oikea jalkaterä on määritetty, mutta myös oikea nilkka ja oikea reisi on määritettävä!
[3] Oikea jalkaterä on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
[2] Oikea jalkaterä on määritetty, mutta myös oikea nilkka ja joko rinta, lantio tai vyötärö on määritettävä!
[1] Oikea jalkaterä on määritetty, mutta myös oikea reisi ja joko rinta, lantio tai vyötärö on määritettävä!
[0] Oikea jalkaterä on määritetty, mutta myös oikea nilkka, oikea reisi ja joko rinta, lantio tai vyötärö on määritettävä!
*[other] Oikea jalkaterä on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_LOWER_LEG =
{ $unassigned ->
[0] Vasen nilkka on määritetty, mutta myös vasen reisi ja joko rinta, lantio tai vyötärö on määritettävä!
[1] Vasen nilkka on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
[2] Vasen nilkka on määritetty, mutta myös vasen reisi on määritettävä!
*[other] Vasen nilkka on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_LOWER_LEG =
{ $unassigned ->
[0] Oikea nilkka on määritetty, mutta myös oikea reisi ja joko rinta, lantio tai vyötärö on määritettävä!
[1] Oikea nilkka on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
[2] Oikea nilkka on määritetty, mutta myös oikea reisi on määritettävä!
*[other] Oikea nilkka on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_UPPER_LEG =
{ $unassigned ->
[0] Vasen reisi on määritetty, mutta myös rinta, lantio tai vyötärö on määritettävä!
*[other] Vasen reisi on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_UPPER_LEG =
{ $unassigned ->
[0] Oikea reisi on määritetty, mutta myös rinta, lantio tai vyötärö on määritettävä!
*[other] Oikea reisi on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-HIP =
{ $unassigned ->
[0] Lonkka on määritetty, mutta myös rinta on määritettävä!
*[other] Lonkka on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-WAIST =
{ $unassigned ->
[0] Vyötärö on määritetty, mutta myös rinta on määritettävä!
*[other] Vyötärö on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
}
## Tracker mounting method choose
onboarding-choose_mounting = Mitä asennuskalibrointimenetelmää käytetään?
# Multiline text
onboarding-choose_mounting-description = Asennussuuntaus korjaa jäljittimien sijoittelun kehossasi.
onboarding-choose_mounting-auto_mounting = Automaattinen asennus
# Italized text
onboarding-choose_mounting-auto_mounting-label = Kokeellinen
onboarding-choose_mounting-auto_mounting-description = Tämä tunnistaa automaattisesti kaikkien jäljittimiesi asennussuunnat 2 asennosta
onboarding-choose_mounting-manual_mounting = Manuaalinen asennus
# Italized text
onboarding-choose_mounting-manual_mounting-label = Suositeltu
onboarding-choose_mounting-manual_mounting-description = Näin voit valita asennussuunnan manuaalisesti kullekin jäljittimelle
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Oletko varma, että haluat tehdä
automaattisen asennuksen kalibroinnin?
onboarding-choose_mounting-manual_modal-confirm = Tiedän mitä teen
onboarding-choose_mounting-manual_modal-cancel = Peruuta
## Tracker manual mounting setup
onboarding-manual_mounting-back = Palaa takaisin VR:ään
onboarding-manual_mounting = Manuaalinen Asennus
onboarding-manual_mounting-description = Napsauta jokaista jäljitintä ja valitse, mihin suuntaan ne on asennettu
onboarding-manual_mounting-auto_mounting = Automaattinen asennus
onboarding-manual_mounting-next = Seuraava vaihe
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = Palaa takaisin VR:ään
onboarding-automatic_mounting-title = Asennuksen Kalibrointi
onboarding-automatic_mounting-description = Jotta SlimeVR jäljittimet toimisivat, meidän on määritettävä jäljittimille asennuksen kierto, jotta ne voidaan kohdistaa fyysisen jäljittimen asennuksen kanssa.
onboarding-automatic_mounting-manual_mounting = Manuaalinen asennus
onboarding-automatic_mounting-next = Seuraava vaihe
onboarding-automatic_mounting-prev_step = Edellinen vaihe
onboarding-automatic_mounting-done-title = Asennuskierrokset kalibroitu.
onboarding-automatic_mounting-done-description = Asennuskalibrointi on valmis!
onboarding-automatic_mounting-done-restart = Yritä uudelleen
onboarding-automatic_mounting-mounting_reset-title = Asennuksen Nollaus
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Kyykisty "hiihtoasentoon" siten, että jalat ovat koukussa, ylävartalo kallistettuna eteenpäin ja kädet koukussa.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Paina "Nollaa Asennus" -painiketta ja odota 3 sekuntia, ennen kuin jäljittimien asennuskierrot nollautuvat.
onboarding-automatic_mounting-preparation-title = Valmistelu
onboarding-automatic_mounting-preparation-step-0 = 1. Seiso pystyssä kädet sivuilla.
onboarding-automatic_mounting-preparation-step-1 = 2. Paina "Täysinollaus" -painiketta ja odota 3 sekuntia, ennen kuin jäljittimet nollautuvat.
onboarding-automatic_mounting-put_trackers_on-title = Laita jäljittimet päällesi
onboarding-automatic_mounting-put_trackers_on-description = Kalibroidaksemme asennuskierrokset käytämme juuri määrittämiäsi jäljittimiä. Laita kaikki jäljittimet päällesi, näet mitkä ovat mitäkin oikealla olevassa kuvassa.
onboarding-automatic_mounting-put_trackers_on-next = Minulla on kaikki jäljittimet päällä
## Tracker proportions method choose
onboarding-choose_proportions = Mitä kalibrointimenetelmää käytetään?
onboarding-choose_proportions-auto_proportions = Automaattiset mittasuhteet
onboarding-choose_proportions-manual_proportions = Manuaaliset mittasuhteet
onboarding-choose_proportions-import-failed = Epäonnistui
onboarding-choose_proportions-file_type = Kehon mittasuhteet -tiedosto
## Tracker manual proportions setup
onboarding-manual_proportions-title = Manuaaliset kehon mittasuhteet
onboarding-manual_proportions-precision = Tarkka säätö
onboarding-manual_proportions-auto = Automaattiset mittasuhteet
onboarding-manual_proportions-ratio = Säädä suhderyhmien mukaan
## Tracker automatic proportions setup
onboarding-automatic_proportions-title = Mittaa kehosi
onboarding-automatic_proportions-manual = Manuaaliset mittasuhteet
onboarding-automatic_proportions-prev_step = Edellinen vaihe
onboarding-automatic_proportions-put_trackers_on-title = Laita jäljittimet päällesi
onboarding-automatic_proportions-put_trackers_on-next = Minulla on kaikki jäljittimet päällä
onboarding-automatic_proportions-requirements-title = Vaatimukset
onboarding-automatic_proportions-requirements-next = Olen lukenut vaatimukset
onboarding-automatic_proportions-check_height-title = Tarkista pituutesi
onboarding-automatic_proportions-check_height-description = Käytämme pituuttasi mittaustemme perustana käyttämällä HMD:n pituutta likiarvona todellisesta pituudestasi, mutta on parempi tarkistaa itse, ovatko ne oikein!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Paina painiketta <u>pystyasennossa</u> laskeaksesi pituutesi. Sinulla on 3 sekuntia painikkeen painamisen jälkeen!
onboarding-automatic_proportions-check_height-fetch_height = Seison
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Tuntematon
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = HMD-korkeus on
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = Joten todellinen pituutesi on
onboarding-automatic_proportions-check_height-next_step = Ne ovat hyvät
onboarding-automatic_proportions-start_recording-title = Valmistaudu liikkumaan
onboarding-automatic_proportions-start_recording-description = Aiomme nyt tallentaa joitain tiettyä asentoja ja liikkeitä. Näitä kysytään seuraavassa näytössä. Ole valmis aloittamaan, kun painat nappia!
onboarding-automatic_proportions-start_recording-next = Aloita tallennus
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = Tallennus käynnissä...
onboarding-automatic_proportions-recording-description-p1 = Tee alla esitetyt liikkeet:
onboarding-automatic_proportions-recording-processing = Käsitellään tuloksia
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] 1 sekuntti jäljellä
*[other] { $time } sekuntia jäljellä
}
onboarding-automatic_proportions-verify_results-title = Vahvista tulokset
onboarding-automatic_proportions-verify_results-description = Tarkista alla olevat tulokset, näyttävätkö ne oikeilta?
onboarding-automatic_proportions-verify_results-results = Tallennuksen tulokset
onboarding-automatic_proportions-verify_results-processing = Käsitellään tuloksia
onboarding-automatic_proportions-verify_results-redo = Tee tallennus uudelleen
onboarding-automatic_proportions-verify_results-confirm = Nämä ovat oikein
onboarding-automatic_proportions-done-title = Keho mitattu ja tallennettu.
onboarding-automatic_proportions-done-description = Kehosi mittasuhteiden kalibrointi on valmis!
onboarding-automatic_proportions-error_modal =
<b>Varoitus:</b> Mittasuhteita arvioitaessa havaittiin virhe!
<docs>Tarkista dokumentit</docs> tai liity <discord>Discordiin</discord> saadaksesi apua ^_^
onboarding-automatic_proportions-error_modal-confirm = Ymmäretty!
## Home
home-no_trackers = Jäjittimiä ei havaittu tai määritetty
## Trackers Still On notification
trackers_still_on-modal-title = Jäljittimet ovat vielä päällä
trackers_still_on-modal-description =
Yksi tai useampi jäljitin on edelleen päällä.
Haluatko silti poistua SlimeVR:stä?
trackers_still_on-modal-confirm = Poistu SlimeVR:stä
trackers_still_on-modal-cancel = Odota...
## Status system
status_system-StatusTrackerReset = On suositeltavaa suorittaa täydellinen nollaus, koska yhtä tai useampaa jäljitintä ei ole säädetty.
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] Tällä hetkellä ei ole yhdistetty SlimeVR Feeder -sovellukseen.
*[other] Tällä hetkellä ei ole yhdistetty SteamVR:ään SlimeVR-ajurin kautta.
}
status_system-StatusTrackerError = { $trackerName } jäljittimessä on virhe

View File

@@ -20,9 +20,11 @@ version_update-close = Fermer
## Tips
tips-find_tracker = Impossible de différencier vos capteurs ? Secouez-en un pour qu'il soit mis en évidence.
tips-do_not_move_heels = Assurez-vous de ne pas bouger vos pieds pendant la calibration !
tips-do_not_move_heels = Assurez-vous de ne pas bouger vos pieds pendant l'enregistrement !
tips-file_select = Glissez et déposez des fichiers à utiliser, ou <u>parcourir</u>.
tips-tap_setup = Vous pouvez tapoter lentement votre capteur 2 fois pour le choisir au lieu de le sélectionner depuis le menu.
tips-turn_on_tracker = Vous utilisez des capteurs officiels SlimeVR ? Noubliez pas <b><em>dallumer votre capteur</em></b> après lavoir connecté au PC !
tips-failed_webgl = Échec de linitialisation de WebGL.
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = Main droite
body_part-RIGHT_UPPER_LEG = Cuisse droite
body_part-RIGHT_LOWER_LEG = Cheville droite
body_part-RIGHT_FOOT = Pied droit
body_part-UPPER_CHEST = Poitrine supérieure
body_part-CHEST = Poitrine
body_part-WAIST = Taille
body_part-HIP = Hanche
@@ -53,8 +56,9 @@ skeleton_bone-NONE = Aucun
skeleton_bone-HEAD = Décalage de la tête
skeleton_bone-NECK = Longueur du cou
skeleton_bone-torso_group = Longueur du torse
skeleton_bone-CHEST = Longueur de la poitrine
skeleton_bone-UPPER_CHEST = Longueur de la poitrine supérieure
skeleton_bone-CHEST_OFFSET = Décalage de la poitrine
skeleton_bone-CHEST = Longueur de la poitrine
skeleton_bone-WAIST = Longueur de la taille
skeleton_bone-HIP = Longueur des hanches
skeleton_bone-HIP_OFFSET = Décalage de la hanche
@@ -120,6 +124,10 @@ widget-overlay-is_mirrored_label = Afficher le squelette en tant que miroir
widget-drift_compensation-clear = Réinitialiser la compensation de la dérive
## Widget: Clear Reset Mounting
widget-clear_mounting = Mettre à zéro la réinitialisation de l'alignement
## Widget: Developer settings
widget-developer_mode = Mode développeur
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = Brute
widget-imu_visualizer-rotation_preview = Aperçu
widget-imu_visualizer-rotation_hide = Masquer
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Aperçu du squelette
widget-skeleton_visualizer-hide = Masquer
## Tracker status
tracker-status-none = Pas de statut
@@ -146,6 +159,7 @@ tracker-status-error = Erreur
tracker-status-disconnected = Déconnecté
tracker-status-occluded = Obstrué
tracker-status-ok = OK
tracker-status-timed_out = Délai expiré
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Avant
tracker-rotation-front_left = Avant-Gauche
tracker-rotation-front_right = Avant-Droite
tracker-rotation-left = Gauche
tracker-rotation-right = Droite
tracker-rotation-back = Arrière
tracker-rotation-back_left = Arrière-Gauche
tracker-rotation-back_right = Arrière-Droite
tracker-rotation-custom = Personnalisé
tracker-rotation-overriden = (remplacé par la réinitialisation du montage)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = Révision du hardware
tracker-infos-hardware_identifier = ID Matériel
tracker-infos-imu = Capteur IMU
tracker-infos-board_type = Carte principale
tracker-infos-network_version = Version du protocole
## Tracker settings
@@ -197,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = Permettre la compensation de
tracker-settings-name_section = Nom personalisé
tracker-settings-name_section-description = Donnez-lui un joli surnom :3
tracker-settings-name_section-placeholder = Patte gauche d'Erimel
tracker-settings-forget = Oublier capteur
tracker-settings-forget-description = Supprime le capteur du serveur SlimeVR et lempêche de sy connecter jusquà ce que le serveur soit redémarré. La configuration du capteur ne sera pas perdue.
tracker-settings-forget-label = Oublier capteur
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } cuisse droi
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } cheville droite ?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } pied droit ?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } manette droite ?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } poitrine supérieure ?
tracker_selection_menu-CHEST = { -tracker_selection-part } poitrine ?
tracker_selection_menu-WAIST = { -tracker_selection-part } taille ?
tracker_selection_menu-HIP = { -tracker_selection-part } hanche ?
@@ -269,6 +294,8 @@ settings-sidebar-osc_router = Routeur OSC
settings-sidebar-osc_trackers = Capteurs OSC VRChat
settings-sidebar-utils = Utilitaires
settings-sidebar-serial = Console série
settings-sidebar-appearance = Apparence
settings-sidebar-notifications = Notifications
## SteamVR settings
@@ -287,6 +314,14 @@ settings-general-steamvr-trackers-feet = Pieds
settings-general-steamvr-trackers-knees = Genoux
settings-general-steamvr-trackers-elbows = Coudes
settings-general-steamvr-trackers-hands = Mains
settings-general-steamvr-trackers-tracker_toggling = Assignation automatique des capteurs
settings-general-steamvr-trackers-tracker_toggling-description = Gère automatiquement lactivation ou la désactivation des capteurs SteamVR en fonction de vos capteurs actuellement affectés
settings-general-steamvr-trackers-tracker_toggling-label = Assignation automatique des capteurs
settings-general-steamvr-trackers-hands-warning =
<b>Attention :</b> les capteurs de mains remplaceront vos manettes.
Êtes-vous sûr?
settings-general-steamvr-trackers-hands-warning-cancel = Annuler
settings-general-steamvr-trackers-hands-warning-done = Oui
## Tracker mechanics
@@ -304,6 +339,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Fluidi
settings-general-tracker_mechanics-filtering-type-prediction = Prédiction
settings-general-tracker_mechanics-filtering-type-prediction-description = Réduit la latence et rend les mouvements plus vifs, mais moins fluides.
settings-general-tracker_mechanics-filtering-amount = Intensité du filtrage
settings-general-tracker_mechanics-yaw-reset-smooth-time = Temps de fluidification de la réinitialisation horizontale (0s désactive la fluidification)
settings-general-tracker_mechanics-drift_compensation = Compensation de la dérive
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -312,6 +348,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensation de la dérive
settings-general-tracker_mechanics-drift_compensation-amount-label = Force de la compensation
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Nombre de réinitialisations prises en compte
settings-general-tracker_mechanics-save_mounting_reset = Enregistrer la calibration de la réinitialisation automatique de l'alignement
settings-general-tracker_mechanics-save_mounting_reset-description =
Enregistre les calibrations des réinitialisation automatiques d'alignement pour les capteurs entre les redémarrages.
Utile lorsque vous portez une combinaison où les capteurs ne bougent pas entre les sessions. <b>Non recommandé pour les utilisateurs normaux !</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Enregistrer la réinitialisation de l'alignement
## FK/Tracking settings
@@ -333,14 +374,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Le limitage au s
settings-general-fk_settings-leg_tweak-toe_snap-description = La correction des orteils estime l'orientation de vos pieds si vous ne portez pas de capteurs sur ses derniers.
settings-general-fk_settings-leg_tweak-foot_plant-description = La correction des pieds oriente vos pieds pour qu'ils soient parallèles au sol lorsqu'ils le touche.
settings-general-fk_settings-leg_fk = Capture des jambes
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Activer la réinitialisation de l'alignement des pieds en allant sur la pointe des pieds.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Réinitialisation de l'alignement des pieds
settings-general-fk_settings-arm_fk = Capture des bras
settings-general-fk_settings-arm_fk-description = Changez la façon dont les bras sont captés.
settings-general-fk_settings-arm_fk-force_arms = Forcer les bras en provenance du casque VR
settings-general-fk_settings-skeleton_settings = Paramètres du squelette
settings-general-fk_settings-arm_fk-reset_mode-description = Changer la pose des bras attendue pour la réinitialisation de l'alignement.
settings-general-fk_settings-arm_fk-back = En arrière
settings-general-fk_settings-arm_fk-back-description = Le mode par défaut, avec les bras vers larrière et les avant-bras vers lavant.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (vers le haut)
settings-general-fk_settings-arm_fk-tpose_up-description = Sattend à ce que vos bras soient vers le bas sur les côtés pendant la réinitialisation complète et à 90 degrés vers l'extérieur pendant la réinitialisation de l'alignement.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (vers le bas)
settings-general-fk_settings-arm_fk-tpose_down-description = Sattend à ce que vos bras soient à 90 degrés vers l'extérieur pendant la réinitialisation complète et vers le bas sur les côtés pendant la réinitialisation de l'alignement.
settings-general-fk_settings-arm_fk-forward = En avant
settings-general-fk_settings-arm_fk-forward-description = Sattend à ce que vos bras soient levés 90 degrés vers lavant. Utile pour le VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Bascules du squelette
settings-general-fk_settings-skeleton_settings-description = Activez ou désactivez des paramètres avancés de capture.
settings-general-fk_settings-skeleton_settings-extended_spine = Colone vertébrale avancée
settings-general-fk_settings-skeleton_settings-extended_pelvis = Bassin avancé
settings-general-fk_settings-skeleton_settings-extended_knees = Genoux avancés
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modèle de colonne vertébrale avancé
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Modèle de bassin avancé
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modèle de genou avancé
settings-general-fk_settings-skeleton_settings-ratios = Ratios du squelette
settings-general-fk_settings-skeleton_settings-ratios-description = Modifiez les valeurs des paramètres du squelette. Vous devrez peut-être ajuster vos proportions après les avoir modifiées.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Interpoler la taille de la poitrine à la hanche
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Interpoler la taille de la poitrine aux jambes
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Interpoler la hanche de la poitrine aux jambes
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Interpoler la hanche de la taille aux jambes
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Interpoler la rotation horizontale et de torsion de la hanche avec celle des jambes
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Interpoler les rotations horizontales et de torsion des capteurs de genoux avec celles des chevilles
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Interpoler les rotations horizontales et de torsion des genoux avec celles des chevilles
settings-general-fk_settings-self_localization-title = Mode Mocap
settings-general-fk_settings-self_localization-description = Le mode Mocap permet au squelette de suivre grossièrement sa propre position sans casque ou autres capteurs. Ce mode nécessite des capteurs de pieds et de tête afin de fonctionner et est encore expérimental.
settings-general-fk_settings-vive_emulation-title = Émulation Vive
settings-general-fk_settings-vive_emulation-description = Simule les problèmes des capteurs de taille que capteurs Vive ont. Cette optionest une blague et rend la capture des mouvements pire.
settings-general-fk_settings-vive_emulation-label = Activer l'émulation Vive
@@ -357,6 +420,13 @@ settings-general-gesture_control-taps =
[one] 1 tap
*[other] { $amount } taps
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 capteur
*[other] { $amount } capteurs
}
settings-general-gesture_control-yawResetEnabled = Tapoter pour réinitialisation horizontale
settings-general-gesture_control-yawResetDelay = Délai de réinitialisation horizontale
settings-general-gesture_control-yawResetTaps = Nombre de tapes pour réinitialisation horizontale
@@ -366,24 +436,45 @@ settings-general-gesture_control-fullResetTaps = Nombre de tapes pour réinitial
settings-general-gesture_control-mountingResetEnabled = Tapoter pour réinitialisation de l'alignement
settings-general-gesture_control-mountingResetDelay = Délai de réinitialisation de l'alignement
settings-general-gesture_control-mountingResetTaps = Nombre de tapes pour la réinitialisation de l'alignement
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Capteurs au-dessus du seuil
settings-general-gesture_control-numberTrackersOverThreshold-description = Augmentez cette valeur si la détection des tapotements ne fonctionne pas. N'augmentez pas cette valeur au-delà de ce qui est nécessaire pour que la détection des tapotements fonctionne, car cela pourrait entraîner des faux positifs.
## Interface settings
## Appearance settings
settings-general-interface = Interface
settings-interface-appearance = Apparence
settings-general-interface-dev_mode = Mode développeur
settings-general-interface-dev_mode-description = Ce mode peut être utile pour avoir des données approfondies ou pour interagir avec des capteurs connectés à un niveau plus avancé.
settings-general-interface-dev_mode-label = Mode développeur
settings-general-interface-serial_detection = Détection de périphérique série
settings-general-interface-serial_detection-description = Cette option affichera une fenêtre chaque fois qu'un nouveau périphérique série qui pourrait être un capteur est connecté.
settings-general-interface-serial_detection-label = Détection de périphérique série
settings-general-interface-feedback_sound = Son de retour
settings-general-interface-feedback_sound-description = Cette option va jouer un son lorsqu'une réanitilisation est enclenchée
settings-general-interface-feedback_sound-label = Son de retour
settings-general-interface-feedback_sound-volume = Volume du son de retour
settings-general-interface-theme = Thème
settings-general-interface-lang = Langue
settings-general-interface-lang-description = Choisir la langue par défaut.
settings-general-interface-lang-placeholder = Langue
# Keep the font name untranslated
settings-interface-appearance-font = Police de l'interface
settings-interface-appearance-font-description = Cela change la police d'écriture utilisée par l'interface.
settings-interface-appearance-font-placeholder = Police par défaut
settings-interface-appearance-font-os_font = Police du système dexploitation
settings-interface-appearance-font-slime_font = Police par défaut
settings-interface-appearance-font_size = Agrandissement du texte
settings-interface-appearance-font_size-description = Cela affecte la taille du texte de toute l'interface, sauf de ce menu.
## Notification settings
settings-interface-notifications = Notifications
settings-general-interface-serial_detection = Détection de périphérique série
settings-general-interface-serial_detection-description = Cette option affichera une fenêtre chaque fois qu'un nouveau périphérique série qui pourrait être un capteur est connecté.
settings-general-interface-serial_detection-label = Détection de périphérique série
settings-general-interface-feedback_sound = Son de retour
settings-general-interface-feedback_sound-description = Cette option va jouer un son lorsqu'une réanitilisation est enclenchée.
settings-general-interface-feedback_sound-label = Son de retour
settings-general-interface-feedback_sound-volume = Volume du son de retour
settings-general-interface-connected_trackers_warning = Avertissement de capteurs connectés
settings-general-interface-connected_trackers_warning-description = Cette option affichera une fenêtre contextuelle chaque fois que vous essaierez de quitter SlimeVR tout en ayant un ou plusieurs capteurs connectés. Il vous rappelle déteindre vos capteurs lorsque vous avez terminé pour préserver la durée de vie de la batterie.
settings-general-interface-connected_trackers_warning-label = Avertissement de capteurs connectés en quittant
settings-general-interface-use_tray = Minimiser dans la zone de notifications
settings-general-interface-use_tray-description = Vous permet de fermer la fenêtre sans fermer le serveur SlimeVR afin que vous puissiez continuer à lutiliser sans linterface graphique.
settings-general-interface-use_tray-label = Minimiser dans la zone de notifications
## Serial settings
@@ -405,6 +496,7 @@ settings-serial-factory_reset-warning-cancel = Annuler
settings-serial-get_infos = Obtenir des informations
settings-serial-serial_select = Sélectionnez un port série
settings-serial-auto_dropdown_item = Automatique
settings-serial-get_wifi_scan = Obtenir scan WiFi
## OSC router settings
@@ -570,8 +662,8 @@ onboarding-done-close = Fermer le guide
onboarding-connect_tracker-back = Revenir aux informations d'identification Wi-Fi
onboarding-connect_tracker-title = Connecter les capteurs
onboarding-connect_tracker-description-p0 = Passons maintenant à la partie amusante: connecter tous les capteurs !
onboarding-connect_tracker-description-p1 = Connectez chaque capteur qui n'est pas encore connecté via un port USB.
onboarding-connect_tracker-description-p0-v1 = Passons maintenant à la partie amusante, connecter les capteurs!
onboarding-connect_tracker-description-p1-v1 = Connectez chaque capteur un par un via un port USB.
onboarding-connect_tracker-issue-serial = J'ai des problèmes de connexion !
onboarding-connect_tracker-usb = Capteur USB
onboarding-connect_tracker-connection_status-none = Recherche de capteurs
@@ -612,8 +704,8 @@ onboarding-assignment_tutorial = Comment préparer un capteur Slime avant de le
onboarding-assignment_tutorial-first_step = 1. Placez un autocollant de partie du corps (si vous en avez un) sur le capteur selon votre choix
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Autocollant
onboarding-assignment_tutorial-second_step = 2. Attachez la sangle à votre capteur en gardant le côté velcro de la sangle dans lorientation suivante:
onboarding-assignment_tutorial-second_step-continuation = La partie velcro pour lextension doit être dans cette orientation:
onboarding-assignment_tutorial-second_step-v2 = 2. Attachez la sangle à votre capteur en gardant le velcro de la sangle dans la même direction que le visage du capteur :
onboarding-assignment_tutorial-second_step-continuation-v2 = Le velcro de lextension doit être orienté vers le haut comme dans limage suivante :
onboarding-assignment_tutorial-done = J'ai mis les autocollants et les sangles !
## Tracker assignment setup
@@ -631,6 +723,7 @@ onboarding-assign_trackers-assigned =
}
onboarding-assign_trackers-advanced = Afficher les emplacements d'attribution avancés
onboarding-assign_trackers-next = J'ai attribué tous mes capteurs
onboarding-assign_trackers-mirror_view = Vue miroir
## Tracker assignment warnings
@@ -713,6 +806,13 @@ onboarding-choose_mounting-manual_mounting = Alignement manuel
# Italized text
onboarding-choose_mounting-manual_mounting-label = Recommendée
onboarding-choose_mounting-manual_mounting-description = Ceci vous permettra de choisir la direction de chaque capteur manuellement
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Êtes-vous sûr de vouloir faire
la calibration automatique de l'alignement ?
onboarding-choose_mounting-manual_modal-description = <b>La calibration manuel de l'alignement est recommandé pour les nouveaux utilisateurs</b>, car les poses de calibration automatique de l'alignement peuvent être difficiles à reproduire au départ et peuvent nécessiter un peu de pratique.
onboarding-choose_mounting-manual_modal-confirm = Je suis sûr de ce que je fais
onboarding-choose_mounting-manual_modal-cancel = Annuler
## Tracker manual mounting setup
@@ -747,18 +847,25 @@ onboarding-automatic_mounting-put_trackers_on-next = J'ai tous mes capteurs
onboarding-choose_proportions = Quelle méthode de calibration des proportions utiliser ?
# Multiline string
onboarding-choose_proportions-description =
Les proportions corporelles sont utilisées pour connaître les mesures de votre corps. Elles sont nécéssaires pour calculer les positions des capteurs.
Lorsque les proportions de votre corps ne correspondent pas à celles enregistrées, la précision des capteurs sera moins bonne et vous remarquerez des problèmes tel que le patinage, le glissage ou votre corps ne correspondant pas bien à votre avatar.
onboarding-choose_proportions-description-v1 =
Les proportions du corps sont utilisées pour connaître les mesures de votre corps. Elles sont requises pour calculer les positions des capteurs.
Lorsque les proportions de votre corps ne correspondent pas à celles enregistrées, la précision du suivi sera moins bonne et vous remarquerez certains problèmes comme du patinage ou de la glisse, ou votre corps ne correspondra pas bien à votre avatar.
<b>Vous navez besoin de mesurer les proportions de votre corps quune seule fois !</b> À moins quelle ne soient incorrectes ou que votre corps ait changé, vous navez pas besoin de les refaire.
onboarding-choose_proportions-auto_proportions = Proportions automatiques
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Recommendée
onboarding-choose_proportions-auto_proportions-description = Ceci estimera vos proportions en enregistrant un extrait de vos mouvements et en le faisant traiter par un algorithme
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Cela permettra d'estimer vos proportions en enregistrant un échantillon de vos mouvements et en le faisant passer par un algorithme.
<b>Cela nécessite davoir votre casque VR connecté à SlimeVR et sur votre tête !</b>
onboarding-choose_proportions-manual_proportions = Proportions manuelles
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Pour les retouches
onboarding-choose_proportions-manual_proportions-description = Ceci vous permettra d'ajuster vos proportions manuellement en les modifiant directement
onboarding-choose_proportions-export = Exporter les proportions
onboarding-choose_proportions-import = Importer les proportions
onboarding-choose_proportions-import-success = Importé
onboarding-choose_proportions-import-failed = Raté
onboarding-choose_proportions-file_type = Fichier de proportions
## Tracker manual proportions setup
@@ -781,14 +888,28 @@ onboarding-automatic_proportions-put_trackers_on-description = Pour calibrer vos
onboarding-automatic_proportions-put_trackers_on-next = J'ai tous mes capteurs
onboarding-automatic_proportions-requirements-title = Exigences
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
onboarding-automatic_proportions-requirements-descriptionv2 =
Vous avez au moins assez de capteurs pour capturer vos pieds (généralement 5 capteurs).
Vos capteurs et votre casque VR sont allumés.
Vous portez vos capteurs et votre casque VR.
Vos capteurs et votre casque VR sont connectés au serveur SlimeVR.
Vos capteurs et votre casque VR fonctionnent correctement au sein du serveur SlimeVR.
Votre casque envoie sa position au serveur SlimeVR (cela signifie généralement que SteamVR est ouvert et connecté à SlimeVR en utilisant le driver SteamVR de SlimeVR).
Vos capteurs et votre casque VR sont allumés et sur vous.
Vos capteurs et votre casque VR sont connectés au serveur SlimeVR et fonctionnent correctement (ex. pas de lag, déconnexions, etc).
Votre casque envoie sa position au serveur SlimeVR (cela signifie généralement que SteamVR est ouvert et connecté à SlimeVR en utilisant le pilote SteamVR de SlimeVR).
La capture des mouvements fonctionne et représente correctement vos mouvements (ex. vous avez effectué une réinitialisation complète des capteurs et ils bougent dans le bon sens lorsque vous donnez des coups de pieds, vous penchez, vous assoyez, etc).
onboarding-automatic_proportions-requirements-next = J'ai lu les exigences
onboarding-automatic_proportions-check_height-title = Vérifiez votre taille
onboarding-automatic_proportions-check_height-description = Nous utilisons votre taille comme la base de nos mesures en utilisant la hauteur de votre casque comme approximation de votre taille réelle, mais il est préférable de vérifier si elles sont correctes vous-même !
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Veuillez appuyer sur le bouton en vous <u>tenant debout</u> pour calculer votre taille. Vous avez un délais de 3 secondes après avoir appuyé sur le bouton !
onboarding-automatic_proportions-check_height-guardian_tip =
Si vous utilisez un casque VR sans-fil, assurez-vous davoir votre guardien/
limite activée pour que votre hauteur soit correcte !
onboarding-automatic_proportions-check_height-fetch_height = Je suis debout !
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Inconnu
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = La hauteur de votre casque est
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = donc votre taille est
onboarding-automatic_proportions-check_height-next_step = Ils sont bons
onboarding-automatic_proportions-start_recording-title = Préparez-vous à bouger
onboarding-automatic_proportions-start_recording-description = Nous allons maintenant enregistrer quelques positions et mouvements spécifiques. Ceux-ci seront inscris sur lécran suivant. Soyez prêt à commencer dès que vous appuyez sur le bouton !
onboarding-automatic_proportions-start_recording-next = Commencer l'enregistrement
@@ -818,11 +939,24 @@ onboarding-automatic_proportions-verify_results-redo = Refaire l'enregistrement
onboarding-automatic_proportions-verify_results-confirm = Les résultats sont corrects
onboarding-automatic_proportions-done-title = Calibration terminée
onboarding-automatic_proportions-done-description = La calibration de vos proportions est terminée !
onboarding-automatic_proportions-error_modal =
<b>Avertissement :</b> Une erreur a été détectée lors de lestimation des proportions !
Veuillez <docs>consulter la documentation</docs> ou rejoindre notre <discord>Discord</discord> pour obtenir de laide ^_^
onboarding-automatic_proportions-error_modal-confirm = Compris !
## Home
home-no_trackers = Aucun capteur détecté ou attribué
## Trackers Still On notification
trackers_still_on-modal-title = Capteurs encore allumés
trackers_still_on-modal-description =
Un ou plusieurs capteurs sont encore allumés.
Voulez-vous quand même quitter SlimeVR ?
trackers_still_on-modal-confirm = Quitter SlimeVR
trackers_still_on-modal-cancel = Annuler...
## Status system
status_system-StatusTrackerReset = Il est recommandé d'effectuer une réinitialisation complète vu que un ou plusieurs capteurs sont ne sont pas ajustés.
@@ -832,3 +966,30 @@ status_system-StatusSteamVRDisconnected =
*[other] Impossible de se connecter à SteamVR via le pilote SlimeVR.
}
status_system-StatusTrackerError = Le capteur { $trackerName } a une erreur.
## Tray Menu
tray_menu-show = Afficher
tray_menu-hide = Masquer
tray_menu-quit = Quitter
## First exit modal
tray_or_exit_modal-title = Que devrait faire le bouton de fermeture ?
# Multiline text
tray_or_exit_modal-description =
Cela permet de choisir entre quitter le serveur ou le réduire à la barre de notifications lorsque le bouton de fermeture est enfoncé.
Vous pouvez modifier cela plus tard dans les paramètres d'interface !
tray_or_exit_modal-radio-exit = Quitter à la fermeture
tray_or_exit_modal-radio-tray = Minimiser dans la zone de notifications
tray_or_exit_modal-submit = Sauvegarder
tray_or_exit_modal-cancel = Annuler
## Unknown device modal
unknown_device-modal-title = Un nouveau capteur a été trouvé !
unknown_device-modal-description =
Il y a un nouveau capteur avec ladresse MAC <b>{ $deviceId }</b>.
Voulez-vous le connecter à SlimeVR ?
unknown_device-modal-confirm = Oui!
unknown_device-modal-forget = Ignorer

View File

@@ -23,6 +23,8 @@ tips-find_tracker = Non sei sicurə quale tracker è quale? Agitalo e l'oggetto
tips-do_not_move_heels = Assicurati di non muovere i tuoi talloni durante la registrazione!
tips-file_select = Trascina qui i file da usare, o <u>sfoglia</u>.
tips-tap_setup = Puoi toccare lentamente 2 volte il tracker per sceglierlo invece di selezionarlo dal menu.
tips-turn_on_tracker = Stai utilizzando i tracker ufficiali di SlimeVR? Ricordati di <b><em>accendere il tuo tracker</em></b> dopo averlo collegato al PC!
tips-failed_webgl = Inizializzazione WebGL fallita.
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = Mano destra
body_part-RIGHT_UPPER_LEG = Coscia destra
body_part-RIGHT_LOWER_LEG = Caviglia destra
body_part-RIGHT_FOOT = Piede destro
body_part-UPPER_CHEST = Parte superiore del petto
body_part-CHEST = Petto
body_part-WAIST = Girovita
body_part-HIP = Bacino
@@ -53,8 +56,9 @@ skeleton_bone-NONE = Nessuna selezione
skeleton_bone-HEAD = Correzione per la testa
skeleton_bone-NECK = Lunghezza del collo
skeleton_bone-torso_group = Lunghezza del torso
skeleton_bone-CHEST = Lunghezza del torace
skeleton_bone-UPPER_CHEST = Lunghezza della parte superiore del petto
skeleton_bone-CHEST_OFFSET = Correzione per il petto
skeleton_bone-CHEST = Lunghezza del torace
skeleton_bone-WAIST = Lunghezza del girovita
skeleton_bone-HIP = Lunghezza del bacino
skeleton_bone-HIP_OFFSET = Correzione per il bacino
@@ -108,25 +112,29 @@ bvh-recording = Registrazione in corso...
## Tracking pause
tracking-unpaused = Pausa il tracking
tracking-paused = Riprendio il tracking
tracking-paused = Riprendi il tracking
## Widget: Overlay settings
widget-overlay = Overlay
widget-overlay-is_visible_label = Mostra Overlay in SteamVR
widget-overlay-is_mirrored_label = Includi uno specchio nel Overlay
widget-overlay-is_mirrored_label = Mostra Overlay come specchio
## Widget: Drift compensation
widget-drift_compensation-clear = Rimuovi compensazione per il drift
## Widget: Clear Reset Mounting
widget-clear_mounting = Ripristina impostazioni di reset posizionamento
## Widget: Developer settings
widget-developer_mode = Modalità sviluppatore
widget-developer_mode-high_contrast = Contrasto alto
widget-developer_mode-precise_rotation = Rotazione precisa
widget-developer_mode-fast_data_feed = Trasmissione veloce dei dati
widget-developer_mode-filter_slimes_and_hmd = Filtra gli slime e HMD
widget-developer_mode-filter_slimes_and_hmd = Filtra gli Slime e il visore
widget-developer_mode-sort_by_name = Ordina per nome
widget-developer_mode-raw_slime_rotation = Rotazione non processata
widget-developer_mode-more_info = Ulteriori informazioni
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = Non processato
widget-imu_visualizer-rotation_preview = Anteprima
widget-imu_visualizer-rotation_hide = Nascondi
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Anteprima dello scheletro
widget-skeleton_visualizer-hide = Nascondi
## Tracker status
tracker-status-none = Nessuno stato
@@ -146,6 +159,7 @@ tracker-status-error = Errore
tracker-status-disconnected = Disconnesso
tracker-status-occluded = Ostruito
tracker-status-ok = OK
tracker-status-timed_out = Tempo scaduto
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Davanti
tracker-rotation-front_left = Anteriore sinistra
tracker-rotation-front_right = Anteriore destra
tracker-rotation-left = Sinistra
tracker-rotation-right = Destra
tracker-rotation-back = Dietro
tracker-rotation-back_left = Posteriore sinistra
tracker-rotation-back_right = Posteriore destra
tracker-rotation-custom = Personalizzata
tracker-rotation-overriden = (sovrascritto dal reset posizionamento)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = Versione hardware
tracker-infos-hardware_identifier = Hardware ID
tracker-infos-imu = Sensore IMU
tracker-infos-board_type = Scheda principale
tracker-infos-network_version = Versione del protocollo
## Tracker settings
@@ -197,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = Consenti compensazione per il
tracker-settings-name_section = Nome del tracker
tracker-settings-name_section-description = Scegli un soprannome carino :)
tracker-settings-name_section-placeholder = Gamba destra di NightyQueer
tracker-settings-forget = Dimentica il tracker
tracker-settings-forget-description = Rimuove il tracker dal SlimeVR server e impedisce che si riconnetta ad fino al riavvio del server. Le impostazioni del tracker non andranno perse.
tracker-settings-forget-label = Dimentica il tracker
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } coscia dest
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } caviglia destra?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } piede destro?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } controller destro?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } parte superiore del petto?
tracker_selection_menu-CHEST = { -tracker_selection-part } petto?
tracker_selection_menu-WAIST = { -tracker_selection-part } girovita?
tracker_selection_menu-HIP = { -tracker_selection-part } bacino?
@@ -269,6 +294,8 @@ settings-sidebar-osc_router = Router OSC
settings-sidebar-osc_trackers = Tracker OSC per VRChat
settings-sidebar-utils = Strumenti
settings-sidebar-serial = Console seriale
settings-sidebar-appearance = Aspetto
settings-sidebar-notifications = Notifiche
## SteamVR settings
@@ -283,10 +310,22 @@ settings-general-steamvr-description =
Utile per alcuni giochi che utilizzano solo alcuni tracker di SteamVR.
settings-general-steamvr-trackers-waist = Girovita
settings-general-steamvr-trackers-chest = Petto
settings-general-steamvr-trackers-feet = Piedi
settings-general-steamvr-trackers-knees = Ginocchia
settings-general-steamvr-trackers-elbows = Gomiti
settings-general-steamvr-trackers-hands = Mani
settings-general-steamvr-trackers-left_foot = Piede sinistro
settings-general-steamvr-trackers-right_foot = Piede destro
settings-general-steamvr-trackers-left_knee = Ginocchio sinistro
settings-general-steamvr-trackers-right_knee = Ginocchio destro
settings-general-steamvr-trackers-left_elbow = Gomito sinistro
settings-general-steamvr-trackers-right_elbow = Gomito destro
settings-general-steamvr-trackers-left_hand = Mano sinistra
settings-general-steamvr-trackers-right_hand = Mano destra
settings-general-steamvr-trackers-tracker_toggling = Assegnazione tracker automatica
settings-general-steamvr-trackers-tracker_toggling-description = Gestisce automaticamente l'attivazione o la disattivazione dei tracker SteamVR a seconda delle assegnazioni correnti dei tracker
settings-general-steamvr-trackers-tracker_toggling-label = Assegnazione tracker automatica
settings-general-steamvr-trackers-hands-warning =
<b>Attenzione:</b> i tracker delle mani sostituiranno i controller.
Sei sicurə?
settings-general-steamvr-trackers-hands-warning-cancel = Annulla
settings-general-steamvr-trackers-hands-warning-done = Sì
## Tracker mechanics
@@ -304,12 +343,18 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Attenu
settings-general-tracker_mechanics-filtering-type-prediction = Predizione
settings-general-tracker_mechanics-filtering-type-prediction-description = Riduce ritardo e rende movimenti più istantanei, ma può introdurre tremolio.
settings-general-tracker_mechanics-filtering-amount = Quantità
settings-general-tracker_mechanics-yaw-reset-smooth-time = Tempo di attenuazione del reset orientamento (0 secondi disabilita l'attenuazione)
settings-general-tracker_mechanics-drift_compensation = Compensazione per il drift
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description = Compensa il drift degli IMU applicando una rotazione inversa. Modifica la forza della compensazione e il massimo numero di reset che sono presi in considerazione.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensazione per il drift
settings-general-tracker_mechanics-drift_compensation-amount-label = Grado di compensazione
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Utilizza fino a x ultimi reset
settings-general-tracker_mechanics-save_mounting_reset = Salva automaticamente la calibrazione del posizionamento
settings-general-tracker_mechanics-save_mounting_reset-description =
Salva in automatico la calibrazione del posizionamento per i tracker tra un riavvio e l'altro. Utile
quando si indossa una tuta in cui la posizione e orientamento dei tracker non cambia tra una sessione e l'altra. <b>Non raccomandato per gli utenti standard!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Salva reset posizionamento
## FK/Tracking settings
@@ -331,14 +376,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = "Compenetrazione
settings-general-fk_settings-leg_tweak-toe_snap-description = "Dita dei piedi piantate" prova ad indovinare la rotazione dei tuoi piedi quando non stai usando dei tracker per i piedi.
settings-general-fk_settings-leg_tweak-foot_plant-description = "Piedi piantati" ruota i piedi in modo tale che siano paralleli al terreno quando in contatto con esso.
settings-general-fk_settings-leg_fk = Tracking delle gambe
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Abilita Reset posizionamento dei piedi mettendosi in punta di piedi.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset posizionamento dei piedi
settings-general-fk_settings-arm_fk = Tracking delle braccia
settings-general-fk_settings-arm_fk-description = Cambia la modalità di tracking delle braccia.
settings-general-fk_settings-arm_fk-force_arms = Forza il calcolo della posizione delle braccia a utilizzare il HMD
settings-general-fk_settings-skeleton_settings = Impostazioni dello scheletro
settings-general-fk_settings-arm_fk-description = Forza il calcolo della posizione delle braccia a utilizzare il visore anche se la posizione delle mani é disponibile.
settings-general-fk_settings-arm_fk-force_arms = Forza il calcolo delle braccia dal visore
settings-general-fk_settings-arm_fk-reset_mode-description = Cambia la posa delle braccia usata per il reset posizionamento.
settings-general-fk_settings-arm_fk-back = Indietro
settings-general-fk_settings-arm_fk-back-description = La modalità predefinita, con la parte superiori delle braccia che vanno indietro e le parte inferiori delle braccia che vanno avanti.
settings-general-fk_settings-arm_fk-tpose_up = Posa a T (in alto)
settings-general-fk_settings-arm_fk-tpose_up-description = Si aspetta che le braccia siano abbassate sui lati durante il Reset Completo e a 90 gradi con il busto ai lati per il Reset Posizionamento.
settings-general-fk_settings-arm_fk-tpose_down = Posa a T (in basso)
settings-general-fk_settings-arm_fk-tpose_down-description = Si aspetta che le braccia siano a 90 gradi con il busto ai lati durante il Reset Completo e abbassate sui lati per il Reset Posizionamento.
settings-general-fk_settings-arm_fk-forward = Avanti
settings-general-fk_settings-arm_fk-forward-description = Si aspetta che le tue braccia siano alzate di 90 gradi in avanti. Utile per VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Interruttori per lo scheletro
settings-general-fk_settings-skeleton_settings-description = Abilita o disabilita le impostazioni dello scheletro. É raccomandato lasciare queste impostazioni attive.
settings-general-fk_settings-skeleton_settings-extended_spine = Colonna vertebrale estesa
settings-general-fk_settings-skeleton_settings-extended_pelvis = Bacino esteso
settings-general-fk_settings-skeleton_settings-extended_knees = Ginocchia estese
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modello di colonna vertebrale estesa
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = modello di bacino esteso
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modello di ginocchio esteso
settings-general-fk_settings-skeleton_settings-ratios = Proporzioni dello scheletro
settings-general-fk_settings-skeleton_settings-ratios-description = Modifica i valori delle impostazioni dello scheletro. Potrebbe essere necessario regolare le proporzioni dopo aver modificato queste impostazioni.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Imputazione dei valori del girovita dalla combinazione del petto e bacino
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Imputazione dei valori del girovita dalla combinazione del petto e gambe
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Imputazione dei valori del bacino dalla combinazione del petto e gambe
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Imputazione dei valori del bacino dalla combinazione del girovita e gambe
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Media dell'orientamento del bacino e la rotazione delle gambe
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Media dell'orientamento del ginocchio e la rotazione delle caviglie
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Media dell'orientamento delle ginocchia e la rotazione delle caviglie
settings-general-fk_settings-self_localization-title = Modalità Mocap
settings-general-fk_settings-self_localization-description = La modalità Mocap consente allo scheletro di tracciare approssimativamente la propria posizione senza visore o altri tracker. Si noti che questo richiede trakers per piedi e la testa per funzionare ed è ancora in fase sperimentale.
settings-general-fk_settings-vive_emulation-title = Imitazione Vive
settings-general-fk_settings-vive_emulation-description = Imita i problemi che hanno i Vive tracker utilizzati sul girovita. Questo è uno scherzo e peggiora il tracciamento.
settings-general-fk_settings-vive_emulation-label = Abilita l'imitazione Vive
@@ -355,6 +422,14 @@ settings-general-gesture_control-taps =
[one] 1 tocco
*[other] { $amount } tocchi
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 tracker
[many] { $amount } tracker
*[other] { $amount } tracker
}
settings-general-gesture_control-yawResetEnabled = Abilita tocco per il reset orientamento
settings-general-gesture_control-yawResetDelay = Ritardo per il reset orientamento
settings-general-gesture_control-yawResetTaps = Numero di tocchi per il reset orientamento
@@ -364,13 +439,32 @@ settings-general-gesture_control-fullResetTaps = Numero di tocchi per il reset c
settings-general-gesture_control-mountingResetEnabled = Abilita tocco per reset posizionamento
settings-general-gesture_control-mountingResetDelay = Ritardo per il reset posizionamento
settings-general-gesture_control-mountingResetTaps = Numero di tocchi per il reset posizionamento
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Tracker sopra il limite
settings-general-gesture_control-numberTrackersOverThreshold-description = Aumenta questo valore se il rilevamento del tocco non funziona. Non aumentarlo al di sopra di quanto necessario per far funzionare il rilevamento del tocco in quanto causerebbe più falsi positivi.
## Interface settings
## Appearance settings
settings-general-interface = Interfaccia
settings-interface-appearance = Aspetto
settings-general-interface-dev_mode = Modalità sviluppatore
settings-general-interface-dev_mode-description = Questa modalità è utile se hai bisogno di dati approfonditi o devi interagire in maniera più avanzata con i tracker connessi.
settings-general-interface-dev_mode-label = Modalità sviluppatore
settings-general-interface-theme = Colore di tema
settings-general-interface-lang = Seleziona la lingua
settings-general-interface-lang-description = Seleziona la lingua che vuoi utilizzare
settings-general-interface-lang-placeholder = Seleziona la lingua da utilizzare
# Keep the font name untranslated
settings-interface-appearance-font = Font della GUI
settings-interface-appearance-font-description = Questo cambia il font utilizzato dall'interfaccia.
settings-interface-appearance-font-placeholder = Font predefinito
settings-interface-appearance-font-os_font = Font di sistema
settings-interface-appearance-font-slime_font = Font predefinito
settings-interface-appearance-font_size = Ridimensionamento del font di base
settings-interface-appearance-font_size-description = Questo influisce sulla dimensione del font dell'intera interfaccia ad eccezione di questo pannello delle impostazioni.
## Notification settings
settings-interface-notifications = Notifiche
settings-general-interface-serial_detection = Rilevazione nuovi dispositivi seriali
settings-general-interface-serial_detection-description = Questa opzione mostrerà un pop-up ogni volta che colleghi un nuovo dispositivo seriale che potrebbe essere un tracker. Aiuta a facilitare la configurazione iniziale di un tracker
settings-general-interface-serial_detection-label = Rilevazione nuovi dispositivi seriali
@@ -378,10 +472,12 @@ settings-general-interface-feedback_sound = Suono di feedback
settings-general-interface-feedback_sound-description = Questa opzione riprodurrà un suono quando viene effettuato un reset
settings-general-interface-feedback_sound-label = Suono di feedback
settings-general-interface-feedback_sound-volume = Volume del suono di feedback
settings-general-interface-theme = Colore di tema
settings-general-interface-lang = Seleziona la lingua
settings-general-interface-lang-description = Seleziona la lingua che vuoi utilizzare
settings-general-interface-lang-placeholder = Seleziona la lingua da utilizzare
settings-general-interface-connected_trackers_warning = Avviso di tracker connessi
settings-general-interface-connected_trackers_warning-description = Questa opzione mostrerà un pop-up ogni volta che proverai ad uscire da SmileVR mentre uno o più tracker sono connessi. Ció ti permetterà di ricordarti di spegnere i tuoi tracker per preservarne la durata delle batterie.
settings-general-interface-connected_trackers_warning-label = Avviso di tracker connessi alla chiusura dell'applicazione
settings-general-interface-use_tray = Riduci a icona nella barra delle applicazioni
settings-general-interface-use_tray-description = Ti consente di chiudere la finestra senza chiudere il server SlimeVR in modo da poter continuare a usarlo senza che la GUI ti infastidisca.
settings-general-interface-use_tray-label = Riduci a icona nella barra delle applicazioni
## Serial settings
@@ -403,6 +499,7 @@ settings-serial-factory_reset-warning-cancel = Annulla
settings-serial-get_infos = Ottieni informazioni
settings-serial-serial_select = Seleziona una porta seriale
settings-serial-auto_dropdown_item = Automatico
settings-serial-get_wifi_scan = Elenca WiFi Network
## OSC router settings
@@ -525,7 +622,7 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = Torna alla calibrazione posizionamento
onboarding-reset_tutorial = Tutorial di reset
onboarding-reset_tutorial-description = Questa funzionalità non è completa, premi continua
onboarding-reset_tutorial-explanation = Mentre usi i tuoi tracker, potrebbero perdere l'allineamento a causa del drift dell'orientamento dell'IMU, o perché potresti averli spostati fisicamente. Hai diversi modi per risolvere questo problema.
onboarding-reset_tutorial-skip = Salta passaggio
# Cares about multiline
onboarding-reset_tutorial-0 =
@@ -568,8 +665,8 @@ onboarding-done-close = Chiudi la configurazione
onboarding-connect_tracker-back = Torna alle credenziali Wi-Fi
onboarding-connect_tracker-title = Connetti i tracker
onboarding-connect_tracker-description-p0 = Ora passiamo alla parte divertente, colleghiamo tutti i tracker!
onboarding-connect_tracker-description-p1 = Collega semplicemente tutti i tracker che non sono ancora collegati tramite una porta USB.
onboarding-connect_tracker-description-p0-v1 = Ora passiamo alla parte divertente, colleghiamo i tracker!
onboarding-connect_tracker-description-p1-v1 = Collega ogni tracker uno alla volta tramite una porta USB.
onboarding-connect_tracker-issue-serial = Sto avendo problemi nel connettermi!
onboarding-connect_tracker-usb = Tracker USB
onboarding-connect_tracker-connection_status-none = Ricerca dei tracker in corso
@@ -597,9 +694,22 @@ onboarding-connect_tracker-next = Ho collegato tutti i miei tracker
onboarding-calibration_tutorial = Tutorial di calibrazione IMU
onboarding-calibration_tutorial-subtitle = Ciò aiuterà a ridurre il drift del tracker!
onboarding-calibration_tutorial-description = Ogni volta che accendi i tracker, devono riposare per un momento su una superficie piana per calibrare. Facciamo la stessa cosa cliccando sul pulsante "{ onboarding-calibration_tutorial-calibrate }", <b>non muoverli!</b>
onboarding-calibration_tutorial-calibrate = Ho messo i miei tracker sul tavolo
onboarding-calibration_tutorial-status-waiting = Ti aspettiamo
onboarding-calibration_tutorial-status-calibrating = Calibrazione in corso
onboarding-calibration_tutorial-status-success = Bene!
onboarding-calibration_tutorial-status-error = Il tracker è stato mosso
## Tracker assignment tutorial
onboarding-assignment_tutorial = Come preparare uno Slime Tracker prima di indossarlo
onboarding-assignment_tutorial-first_step = 1. Posiziona un adesivo di una parte del corpo sul tracker in base alla tua scelta (se ne hai uno)
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Adesivo
onboarding-assignment_tutorial-second_step-v2 = 2. Fissare il cinturino al tracker, mantenendo il lato in velcro del cinturino rivolto nella stessa direzione del lato frontale del tuo slime tracker:
onboarding-assignment_tutorial-second_step-continuation-v2 = Il lato del velcro per l'estensione dovrebbe essere rivolto verso l'alto come nell'immagine seguente:
onboarding-assignment_tutorial-done = Ho messo gli adesivi e i cinturini!
## Tracker assignment setup
@@ -616,6 +726,7 @@ onboarding-assign_trackers-assigned =
}
onboarding-assign_trackers-advanced = Mostra impostazioni avanzate di assegnazione
onboarding-assign_trackers-next = Ho assegnato tutti i miei tracker
onboarding-assign_trackers-mirror_view = Inverti interfaccia
## Tracker assignment warnings
@@ -688,14 +799,23 @@ onboarding-assign_trackers-warning-WAIST =
## Tracker mounting method choose
onboarding-choose_mounting = Quale metodo di calibrazione del posizionamento vuoi usare?
# Multiline text
onboarding-choose_mounting-description = L'orientamento di posizionamento corregge la posizione dei tracker sul corpo.
onboarding-choose_mounting-auto_mounting = Posizionamento automatico
# Italized text
onboarding-choose_mounting-auto_mounting-subtitle = Raccomandato
onboarding-choose_mounting-auto_mounting-label = Sperimentale
onboarding-choose_mounting-auto_mounting-description = Questo processo identificherá automaticamente le direzioni per la posizione di montaggio di tutti i traker facendo 2 pose
onboarding-choose_mounting-manual_mounting = Posizionamento manuale
# Italized text
onboarding-choose_mounting-manual_mounting-subtitle = Se sai cosa stai facendo
onboarding-choose_mounting-manual_mounting-label = Raccomandato
onboarding-choose_mounting-manual_mounting-description = Questo processo ti lascerá scegliere manualmente le direzioni per la posizione di montaggio di tutti i tracker
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Sei sicuro di voler fare
la calibrazione automatica di posizionamento?
onboarding-choose_mounting-manual_modal-description = <b>La calibrazione manuale è raccomandata per i nuovi utenti</b>, considerando che le pose necessarie per la calibrazione automatica di posizionamento possono risultare complicate al primo tentativo e potrebbero richiedere un po' di pratica.
onboarding-choose_mounting-manual_modal-confirm = Sono sicurə di ciò che sto facendo.
onboarding-choose_mounting-manual_modal-cancel = Annulla
## Tracker manual mounting setup
@@ -729,14 +849,27 @@ onboarding-automatic_mounting-put_trackers_on-next = Sto indossando tutti i miei
## Tracker proportions method choose
onboarding-choose_proportions = Quale metodo di calibrazione delle proporzioni vuoi usare?
# Multiline string
onboarding-choose_proportions-description-v1 =
Le "Proporzioni del corpo" sono utilizzate per conoscere le esatte misure del tuo corpo. Sono necessarie per calcolare le posizioni dei tracker.
Quando le proporzioni del tuo corpo non corrispondono a quelle salvate, la precisione di tracciamento sarà peggiore e noterai cose come slittamento o come la posizione del tuo corpo che no corrisponde con quella del tuo avatar.
<b>Devi misurare il tuo corpo solo una volta!</b> A meno che non siano sbagliate o il tuo corpo non sia cambiato, non è necessario rifarlo.
onboarding-choose_proportions-auto_proportions = Proporzioni automatiche
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Raccomandato
onboarding-choose_proportions-auto_proportions-description = Questo processo indovinerá le tue proporzioni del corpo registrando alcuni specifici movimenti che sono poi elaborati tramite un algoritmo
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Questo indovinerà le tue proporzioni registrando un campione dei tuoi movimenti e passandolo attraverso un algoritmo.
<b>Ciò richiede che il tuo visore (HMD) sia collegato a SlimeVR e indossato correttaments sulla tua testa</b>
onboarding-choose_proportions-manual_proportions = Proporzioni manuali
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Per piccole modifiche
onboarding-choose_proportions-manual_proportions-description = Questo processo ti permetterà di regolare manualmente le proporzioni del corpo modificandole direttamente.
onboarding-choose_proportions-export = Esporta le proporzioni del corpo
onboarding-choose_proportions-import = Importa le proporzioni del corpo
onboarding-choose_proportions-import-success = Importate con successo
onboarding-choose_proportions-import-failed = Importaggio fallito
onboarding-choose_proportions-file_type = File delle proporzioni del corpo
## Tracker manual proportions setup
@@ -758,13 +891,29 @@ onboarding-automatic_proportions-put_trackers_on-description = Per calibrare le
onboarding-automatic_proportions-put_trackers_on-next = Sto indossando tutti i miei tracker
onboarding-automatic_proportions-requirements-title = Requisiti
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
onboarding-automatic_proportions-requirements-descriptionv2 =
Hai almeno abbastanza tracker per tracciare i tuoi piedi (generalmente 5 tracker).
Hai indossato i tuoi tracker e il visore.
I tuoi tracker e il visore sono connessi al server di SlimeVR.
I tuoi tracker e il visore stanno funzionando correttamente con il server di SlimeVR.
Hai i tuoi tracker e il visore accessi e li stai indossando.
I tuoi tracker e il visore sono connessi al server di SlimeVR e stanno funzionando correttamente (e.g. non si bloccano, disconnettono, etc.)
Il tuo visore sta riportando dati di posizione al server di SlimeVR (ciò significa generalmente avere SteamVR in esecuzione e connesso a SlimeVR usando il driver di SlimeVR per SteamVR).
Il tuo visore sta riportando dati di posizione al server di SlimeVR (ciò significa generalmente avere SteamVR in esecuzione e connesso a SlimeVR usando il driver di SlimeVR per SteamVR).
Il tuo tracciamento funziona e rappresenta accuratamente i tuoi movimenti (e.g. hai eseguito un reset completo e i traker si muovono nella giusta direzione quando calci, ti pieghi, ti siedi, ecc.).
onboarding-automatic_proportions-requirements-next = Ho letto i requisiti.
onboarding-automatic_proportions-check_height-title = Controlla la tua altezza
onboarding-automatic_proportions-check_height-description = Usiamo la tua altezza come base delle nostre misurazioni utilizzando l'altezza dell'HMD come approssimazione della tua altezza effettiva, ma è meglio controllare se il valore è giusto!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Si prega di premere il pulsante stando in piedi <u>in posizione eretta</u> per calcolare l'altezza. Hai 3 secondi dopo aver premuto il pulsante!
onboarding-automatic_proportions-check_height-guardian_tip =
Se stai utilizzando un visore VR standalone, assicurati di avere il tuo guardiano/
limiti attivato in modo che la tua altezza sia corretta!
onboarding-automatic_proportions-check_height-fetch_height = Sono in piedi!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Sconosciuto
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = L'altezza del tuo HMD è
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = quindi la tua altezza effettiva è
onboarding-automatic_proportions-check_height-next_step = Sono corretti
onboarding-automatic_proportions-start_recording-title = Preparati a muoverti
onboarding-automatic_proportions-start_recording-description = Ora registreremo alcune pose e movimenti specifici. Questi verranno descritte nelle schermate successive. Preparati a iniziare quando premi il pulsante!
onboarding-automatic_proportions-start_recording-next = Inizia registrazione
@@ -794,10 +943,58 @@ onboarding-automatic_proportions-verify_results-redo = Rifai registrazione
onboarding-automatic_proportions-verify_results-confirm = Sono corretti
onboarding-automatic_proportions-done-title = Corpo misurato e salvato.
onboarding-automatic_proportions-done-description = La calibrazione delle proporzioni del tuo corpo è completa!
onboarding-automatic_proportions-error_modal =
<b>Avvertimento:</b> È stato riscontrato un errore durante la stima delle proporzioni!
Per piacere, <docs>controlla la documentazione</docs> o unisciti al nostro <discord>Discord</discord> per ricevere aiuto ^_^
onboarding-automatic_proportions-error_modal-confirm = Ho capito!
## Home
home-no_trackers = Nessun tracker rilevato o assegnato
## Trackers Still On notification
trackers_still_on-modal-title = I tracker sono ancora accesi
trackers_still_on-modal-description =
Uno o più tracker ancora accesi.
Vuoi uscire comunque da SmileVR?
trackers_still_on-modal-confirm = Chiudi SlimeVR
trackers_still_on-modal-cancel = Attendi un momento...
## Status system
status_system-StatusTrackerReset = É consigliato eseguire un reset completo poiché uno o più tracker non sono regolati.
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] Attualmente non è connesso a SlimeVR Feeder App.
*[other] Attualmente non è connesso a SteamVR tramite il driver SlimeVR.
}
status_system-StatusTrackerError = Il tracker { $trackerName } ha un errore.
## Tray Menu
tray_menu-show = Mostra
tray_menu-hide = Nascondi
tray_menu-quit = Esci
## First exit modal
tray_or_exit_modal-title = Cosa dovrebbe fare il pulsante di chiusura?
# Multiline text
tray_or_exit_modal-description =
Questa opzione ti permette di scegliere se si desidera uscire dal server o ridurlo a icona nella barra delle applicationi quando si preme il pulsante di chiusura.
Puoi cambiare la tua scelta in seguito nelle impostazioni dell'interfaccia!
tray_or_exit_modal-radio-exit = Termina alla chiusura
tray_or_exit_modal-radio-tray = Riduci a icona nella barra delle applicazioni
tray_or_exit_modal-submit = Salva
tray_or_exit_modal-cancel = Annulla
## Unknown device modal
unknown_device-modal-title = È stato trovato un nuovo tracker!
unknown_device-modal-description =
C'è un nuovo tracker con indirizzo MAC <b>{ $deviceId }</b>.
Vuoi collegarlo a SlimeVR?
unknown_device-modal-confirm = Certo!
unknown_device-modal-forget = Ignoralo

View File

@@ -36,9 +36,10 @@ body_part-RIGHT_HAND = 右手
body_part-RIGHT_UPPER_LEG = 右膝
body_part-RIGHT_LOWER_LEG = 右足
body_part-RIGHT_FOOT = 右足先
body_part-UPPER_CHEST = 上胸
body_part-CHEST = 胸
body_part-WAIST =
body_part-HIP = ヒップ
body_part-WAIST = 胴体
body_part-HIP =
body_part-LEFT_SHOULDER = 左肩
body_part-LEFT_UPPER_ARM = 左上腕
body_part-LEFT_LOWER_ARM = 左前腕
@@ -53,6 +54,7 @@ skeleton_bone-NONE = 無し
skeleton_bone-HEAD = ヘッドシフト
skeleton_bone-NECK = 首長さ
skeleton_bone-torso_group = 胴体の長さ
skeleton_bone-UPPER_CHEST = 上胸の長さ
skeleton_bone-CHEST_OFFSET = 胸オフセット
skeleton_bone-CHEST = 胸囲
skeleton_bone-WAIST = ウエスト長さ
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = オーバーレイをミラーとして表示
widget-drift_compensation-clear = ドリフト補正をクリアする
## Widget: Clear Reset Mounting
widget-clear_mounting = リセットマウンティングをクリア
## Widget: Developer settings
widget-developer_mode = 開発者モード
@@ -138,6 +144,11 @@ widget-imu_visualizer-rotation_raw = 生
widget-imu_visualizer-rotation_preview = 生
widget-imu_visualizer-rotation_hide = 隠す
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = スケルトンプレビュー
widget-skeleton_visualizer-hide = 非表示
## Tracker status
tracker-status-none = ステータスなし
@@ -146,6 +157,7 @@ tracker-status-error = エラー
tracker-status-disconnected = 切断
tracker-status-occluded = Occluded
tracker-status-ok = 接続中
tracker-status-timed_out = タイムアウト
## Tracker status columns
@@ -163,9 +175,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = 前
tracker-rotation-front_left = 左前
tracker-rotation-front_right = 右前
tracker-rotation-left = 左
tracker-rotation-right = 右
tracker-rotation-back = 後
tracker-rotation-back_left = 左後
tracker-rotation-back_right = 右後
tracker-rotation-custom = カスタム
tracker-rotation-overriden = (マウンティングリセットによる上書き)
## Tracker information
@@ -230,6 +248,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part(body-part: "
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part(body-part: "右足首") }
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part(body-part: "右足先") }
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part(body-part: "右コントローラ") }
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } 上胸?
tracker_selection_menu-CHEST = { -tracker_selection-part(body-part: "胸") }
tracker_selection_menu-WAIST = { -tracker_selection-part(body-part: "腰") }
tracker_selection_menu-HIP = { -tracker_selection-part(body-part: "ヒップ") }
@@ -267,6 +286,8 @@ settings-sidebar-osc_router = OSCルーター
settings-sidebar-osc_trackers = VRChatOSCトラッカー
settings-sidebar-utils = ユーティリティ
settings-sidebar-serial = シリアルコンソール
settings-sidebar-appearance = 外観
settings-sidebar-notifications = 通知
## SteamVR settings
@@ -323,16 +344,36 @@ settings-general-fk_settings-leg_tweak-floor_clip = フロアクリップ
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
settings-general-fk_settings-leg_tweak-skating_correction = スケーティング補正
settings-general-fk_settings-leg_tweak-foot_plant = 足の着地
settings-general-fk_settings-leg_tweak-skating_correction-amount = スケーティング補正の強さ
settings-general-fk_settings-leg_tweak-skating_correction-description = スケート補正はアイススケートを補正しますが、特定の動きでは精度が低下する場合があります。これを有効にする際は、フルリセットし、ゲーム内で再校正してください。
settings-general-fk_settings-leg_tweak-floor_clip-description = フロアクリップを有効にすると、床を通り抜けることを減少させるか、完全に排除できます。これを有効にする際は、フルリセットし、ゲーム内で再校正してください。
settings-general-fk_settings-leg_tweak-toe_snap-description = 足指スナップは足トラッカーを使用していない場合、足の回転を推測しようとします。
settings-general-fk_settings-leg_tweak-foot_plant-description = 足の着地は足が地面に接触したときに足を地面に平行に回転させます。
settings-general-fk_settings-leg_fk = 足のトラッキング
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = つま先立ちで足のマウンティングリセットを有効にします。
settings-general-fk_settings-leg_fk-reset_mounting_feet = 足のマウンティングリセット
settings-general-fk_settings-arm_fk = アームトラッキング
settings-general-fk_settings-arm_fk-description = 腕の追従方法を変更する。
settings-general-fk_settings-arm_fk-force_arms = Force arms from HMD
settings-general-fk_settings-skeleton_settings = スケルトン設定
settings-general-fk_settings-arm_fk-reset_mode-description = マウンティングリセットのために期待される腕のポーズを変更します。
settings-general-fk_settings-arm_fk-back = 後ろ
settings-general-fk_settings-arm_fk-back-description = デフォルトモードで、上腕を後ろに、下腕を前にします。
settings-general-fk_settings-arm_fk-tpose_up = Tポーズ(上げ)
settings-general-fk_settings-arm_fk-tpose_up-description = 完全リセット時は腕を下げて立っている姿勢、マウンティングリセット時は腕を体の両側に90度上げる。
settings-general-fk_settings-arm_fk-tpose_down = Tポーズ(下げ)
settings-general-fk_settings-arm_fk-tpose_down-description = 完全リセット時は腕を体の両側に90度上げ、マウンティングリセット時は腕を下げて立っている姿勢。
settings-general-fk_settings-arm_fk-forward = 前方ポーズ
settings-general-fk_settings-arm_fk-forward-description = リセット時に腕を前方に90度上げる。Vチューバーとして座っている時に便利。
settings-general-fk_settings-skeleton_settings-toggles = スケルトン設定
settings-general-fk_settings-skeleton_settings-description = スケルトン設定のオン/オフを切り替えます。これらはオンのままにしておくことをお勧めします。
settings-general-fk_settings-skeleton_settings-extended_spine = Extended spine
settings-general-fk_settings-skeleton_settings-extended_pelvis = Extended pelvis
settings-general-fk_settings-skeleton_settings-extended_knees = Extended knee
settings-general-fk_settings-skeleton_settings-extended_spine_model = 拡張脊椎モデル
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = 拡張骨盤モデル
settings-general-fk_settings-skeleton_settings-extended_knees_model = 拡張膝モデル
settings-general-fk_settings-skeleton_settings-ratios = スケルトン比率
settings-general-fk_settings-skeleton_settings-ratios-description = スケルトン設定の値を変更する。これらを変更した後、体の比率を調整する必要があるかもしれません。
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = 胸から腰への推定
settings-general-fk_settings-self_localization-title = モーションキャプチャモード
settings-general-fk_settings-vive_emulation-title = Viveエミュレーション
settings-general-fk_settings-vive_emulation-description = Viveトラッカーが抱える腰トラッカーの問題をエミュレートします。
settings-general-fk_settings-vive_emulation-label = Viveエミュレーションの有効化
@@ -359,22 +400,28 @@ settings-general-gesture_control-mountingResetEnabled = タップによるマウ
settings-general-gesture_control-mountingResetDelay = マウントリセットディレイ
settings-general-gesture_control-mountingResetTaps = タップによるマウントリセット
## Interface settings
## Appearance settings
settings-general-interface = インターフェース
settings-general-interface-dev_mode = 開発者モード
settings-general-interface-dev_mode-description = このモードは、詳細なデータが必要な場合や、接続されたトラッカーをより高度なレベルで操作する場合に役立ちます。
settings-general-interface-dev_mode-label = 開発者モード
settings-general-interface-theme = カラーテーマ
settings-general-interface-lang = 言語を選択
settings-general-interface-lang-description = 使用したいデフォルトの言語を変更する
settings-general-interface-lang-placeholder = 使用する言語を選択する
# Keep the font name untranslated
settings-interface-appearance-font = GUIフォント
settings-interface-appearance-font-os_font = OSフォント
## Notification settings
settings-interface-notifications = 通知
settings-general-interface-serial_detection = シリアルデバイスの検出
settings-general-interface-serial_detection-description = このオプションは、トラッカーとなり得る新しいシリアルデバイスを接続するたびにポップアップを表示します。これはトラッカーの設定プロセスを改善するのに役立ちます。
settings-general-interface-serial_detection-label = シリアルデバイスの検出
settings-general-interface-feedback_sound = フィードバック音
settings-general-interface-feedback_sound-label = フィードバック音
settings-general-interface-feedback_sound-volume = フィードバック音量
settings-general-interface-theme = カラーテーマ
settings-general-interface-lang = 言語を選択
settings-general-interface-lang-description = 使用したいデフォルトの言語を変更する
settings-general-interface-lang-placeholder = 使用する言語を選択する
## Serial settings
@@ -515,8 +562,6 @@ onboarding-done-close = ガイドを閉じる
onboarding-connect_tracker-back = Wi-Fi認証に戻る
onboarding-connect_tracker-title = 接続中のトラッカー
onboarding-connect_tracker-description-p0 = さあ、楽しい部分に移りましょう。すべてのトラッカーを接続します!
onboarding-connect_tracker-description-p1 = まだ接続されていないトラッカーたちをUSBポートを通して接続するだけです。
onboarding-connect_tracker-issue-serial = 接続に問題があります!
onboarding-connect_tracker-usb = USBトラッカー
onboarding-connect_tracker-connection_status-none = トラッカーを探しています
@@ -570,6 +615,8 @@ onboarding-assign_trackers-next = すべてのトラッカーを割り当てま
## Tracker mounting method choose
# Italized text
onboarding-choose_mounting-auto_mounting-label = 実験的な
## Tracker manual mounting setup
@@ -650,6 +697,9 @@ onboarding-automatic_proportions-done-description = ボディプロポーショ
home-no_trackers = トラッカーを検出できません。もしくは割り当てられていません。
## Trackers Still On notification
## Status system
status_system-StatusTrackerReset = 一つ以上のトラッカーが調整されていないため、完全なリセットを実行することをお勧めします
@@ -659,3 +709,12 @@ status_system-StatusSteamVRDisconnected =
*[other] SlimeVRドライバ経由でSteamVRに接続されていません
}
status_system-StatusTrackerError = { $trackerName } トラッカーにエラーが発生しています
## Tray Menu
## First exit modal
## Unknown device modal

View File

@@ -19,10 +19,12 @@ version_update-close = 닫기
## Tips
tips-find_tracker = 트래커가 어떤 트래커인지 모르시겠다구요? 트래커를 흔들면 해당 항목이 빛날 거예요.
tips-find_tracker = 어떤 트래커가 어디에 대응되는지 모르겠나요? 트래커를 흔들면 해당 트래커에 해당되는 항목이 강조 표시됩니다.
tips-do_not_move_heels = 기록하는 동안 발뒤꿈치가 움직이지 않도록 조심하세요!
tips-file_select = 파일을 <u>열거나,</u> 여기에 드래그&드롭하세요.
tips-tap_setup = 목록에서 트래커를 선택하는 대신 할당할 트래커를 천천히 2번 탭해서 선택할 수 있어요.
tips-file_select = 파일을 <u>열거나</u>, 여기에 드래그&드롭하세요.
tips-tap_setup = 목록에서 트래커를 선택하는 대신 트래커를 천천히 2번 탭해서 선택할 수 있어요.
tips-turn_on_tracker = 공식 SlimeVR 트래커를 사용 중이신가요? 트래커를 <b><em>PC에 연결</em></b>하고 <b><em>전원을 키셔야</em></b> 해요.
tips-failed_webgl = WebGL 초기화에 실패했습니다.
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = 오른손
body_part-RIGHT_UPPER_LEG = 오른쪽 다리 위
body_part-RIGHT_LOWER_LEG = 오른쪽 다리 아래
body_part-RIGHT_FOOT = 오른발
body_part-UPPER_CHEST = 가슴 위
body_part-CHEST = 가슴
body_part-WAIST = 허리
body_part-HIP = 골반
@@ -53,8 +56,9 @@ skeleton_bone-NONE = 없음
skeleton_bone-HEAD = 머리 밀림
skeleton_bone-NECK = 목 길이
skeleton_bone-torso_group = 몸통 길이
skeleton_bone-CHEST = 가슴 길이
skeleton_bone-UPPER_CHEST = 가슴 위쪽 길이
skeleton_bone-CHEST_OFFSET = 가슴 오프셋
skeleton_bone-CHEST = 가슴 길이
skeleton_bone-WAIST = 허리 길이
skeleton_bone-HIP = 골반 길이
skeleton_bone-HIP_OFFSET = 골반 오프셋
@@ -83,7 +87,7 @@ reset-yaw = Yaw 정렬
## Serial detection stuff
serial_detection-new_device-p0 = 새로운 시리얼 디바이스를 찾았어요!
serial_detection-new_device-p0 = 새로운 시리얼 디바이스 감지됨!
serial_detection-new_device-p1 = Wi-Fi 자격 증명을 입력해주세요!
serial_detection-new_device-p2 = 원하는 작업을 선택하세요
serial_detection-open_wifi = Wi-Fi 연결
@@ -120,6 +124,10 @@ widget-overlay-is_mirrored_label = 오버레이 반전
widget-drift_compensation-clear = 틀어짐 보정 초기화
## Widget: Clear Reset Mounting
widget-clear_mounting = 착용 방향 정렬 초기화
## Widget: Developer settings
widget-developer_mode = 개발자 모드
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = Raw
widget-imu_visualizer-rotation_preview = 미리보기
widget-imu_visualizer-rotation_hide = 숨기기
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = 골격 비율 미리보기
widget-skeleton_visualizer-hide = 숨기기
## Tracker status
tracker-status-none = 알 수 없음
@@ -146,6 +159,7 @@ tracker-status-error = 오류
tracker-status-disconnected = 연결되지 않음
tracker-status-occluded = 사용할 수 없음
tracker-status-ok = 연결됨
tracker-status-timed_out = 시간 초과
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = 앞쪽
tracker-rotation-front_left = 왼쪽 앞
tracker-rotation-front_right = 오른쪽 앞
tracker-rotation-left = 왼쪽
tracker-rotation-right = 오른쪽
tracker-rotation-back = 뒤쪽
tracker-rotation-back_left = 왼쪽 뒤
tracker-rotation-back_right = 오른쪽 뒤
tracker-rotation-custom = 사용자 지정
tracker-rotation-overriden = (착용 방향 보정으로 재정의됨)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = 하드웨어 리비전
tracker-infos-hardware_identifier = 하드웨어 ID
tracker-infos-imu = IMU 센서
tracker-infos-board_type = 메인보드
tracker-infos-network_version = 프로토콜 버전
## Tracker settings
@@ -197,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = 틀어짐 보정 사용
tracker-settings-name_section = 트래커 이름
tracker-settings-name_section-description = 귀여운 이름을 지어주세요! >_<
tracker-settings-name_section-placeholder = NightyBeast's left leg
tracker-settings-forget = 트래커 삭제
tracker-settings-forget-description = SlimeVR 서버에서 트래커를 제거하고 서버를 다시 시작할 때까지 자동으로 연결하지 않아요. 트래커의 설정은 지워지지 않아요.
tracker-settings-forget-label = 트래커 삭제
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = 오른쪽 다리 위{ -tracker_selectio
tracker_selection_menu-RIGHT_LOWER_LEG = 오른쪽 다리 아래{ -tracker_selection-part }
tracker_selection_menu-RIGHT_FOOT = 오른쪽 발{ -tracker_selection-part }
tracker_selection_menu-RIGHT_CONTROLLER = 오른쪽 컨트롤러{ -tracker_selection-part }
tracker_selection_menu-UPPER_CHEST = 가슴 위{ -tracker_selection-part }
tracker_selection_menu-CHEST = 가슴{ -tracker_selection-part }
tracker_selection_menu-WAIST = 허리{ -tracker_selection-part }
tracker_selection_menu-HIP = 골반{ -tracker_selection-part }
@@ -262,13 +287,15 @@ mounting_selection_menu-close = 닫기
settings-sidebar-title = 설정
settings-sidebar-general = 일반
settings-sidebar-tracker_mechanics = 트래커 역학
settings-sidebar-fk_settings = FK 설정
settings-sidebar-fk_settings = 트래킹 설정
settings-sidebar-gesture_control = 제스처 제어
settings-sidebar-interface = 인터페이스
settings-sidebar-osc_router = OSC 라우터
settings-sidebar-osc_trackers = VRChat OSC 트래커
settings-sidebar-utils = 유틸리티
settings-sidebar-serial = 시리얼 콘솔
settings-sidebar-appearance = 모양
settings-sidebar-notifications = 알림
## SteamVR settings
@@ -281,12 +308,24 @@ settings-general-steamvr-subtitle = SteamVR 트래커
settings-general-steamvr-description =
SteamVR 트래커를 켜거나 끄세요
특정 트래커 구성만 허용하는 게임 또는 앱에서 유용해요.
settings-general-steamvr-trackers-waist = Waist
settings-general-steamvr-trackers-chest = Chest
settings-general-steamvr-trackers-feet = Feet
settings-general-steamvr-trackers-knees = Knees
settings-general-steamvr-trackers-elbows = Elbows
settings-general-steamvr-trackers-hands = Hands
settings-general-steamvr-trackers-waist = 허리
settings-general-steamvr-trackers-chest = 가슴
settings-general-steamvr-trackers-left_foot = 왼발
settings-general-steamvr-trackers-right_foot = 오른발
settings-general-steamvr-trackers-left_knee = 왼쪽 무릎
settings-general-steamvr-trackers-right_knee = 오른쪽 무릎
settings-general-steamvr-trackers-left_elbow = 왼쪽 팔꿈치
settings-general-steamvr-trackers-right_elbow = 오른쪽 팔꿈치
settings-general-steamvr-trackers-left_hand = 왼손
settings-general-steamvr-trackers-right_hand = 오른손
settings-general-steamvr-trackers-tracker_toggling = 자동 트래커 할당
settings-general-steamvr-trackers-tracker_toggling-description = 지정한 트래커 할당 상태에 따라 SteamVR 트래커를 자동으로 켜고 끄기
settings-general-steamvr-trackers-tracker_toggling-label = 자동 트래커 할당
settings-general-steamvr-trackers-hands-warning =
<b>경고:</b> 핸드 트래커를 사용하면 VR 컨트롤러가 작동하지 않아요.
그래도 사용할까요?
settings-general-steamvr-trackers-hands-warning-cancel = 취소
settings-general-steamvr-trackers-hands-warning-done = 확인
## Tracker mechanics
@@ -304,6 +343,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = 움직
settings-general-tracker_mechanics-filtering-type-prediction = Prediction
settings-general-tracker_mechanics-filtering-type-prediction-description = 대기 시간이 줄어들고 움직임이 더 빨라지지만 지터가 증가할 수 있어요.
settings-general-tracker_mechanics-filtering-amount = 강도
settings-general-tracker_mechanics-yaw-reset-smooth-time = 부드러운 Yaw 리셋 작용 시간 (0초는 부드러운 Yaw 리셋을 비활성화 합니다)
settings-general-tracker_mechanics-drift_compensation = 틀어짐 보정
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -312,10 +352,15 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = 틀어짐 보정
settings-general-tracker_mechanics-drift_compensation-amount-label = 보정 강도
settings-general-tracker_mechanics-drift_compensation-max_resets-label = 보정에 사용할 최근 정렬 횟수
settings-general-tracker_mechanics-save_mounting_reset = 자동 착용 방향 정렬 보정값 저장
settings-general-tracker_mechanics-save_mounting_reset-description =
트래커의 자동 마운팅 리셋 보정값을 저장합니다. 트래커들의 위치가 고정된
모션 캡처 슈트 같은 것을 사용할 때 유용합니다. <b>일반 사용자들에게는 권장되지 않아요!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = 착용 방향 정렬 저장
## FK/Tracking settings
settings-general-fk_settings = FK 설정
settings-general-fk_settings = 트래킹 설정
# Floor clip:
# why the name - came from the idea of noclip in video games, but is the opposite where clipping to the floor is a desired feature
# definition - Prevents the foot trackers from going lower than they where when a reset was performed
@@ -333,14 +378,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = 플로어 클립
settings-general-fk_settings-leg_tweak-toe_snap-description = 토 스냅은 발 트래커가 없을 때, 발 트래커가 있는 것처럼 예측해서 움직여주는 기능이에요.
settings-general-fk_settings-leg_tweak-foot_plant-description = 풋 플랜트는 발이 바닥에 닿았을 때 바닥과 평평하게 회전시켜 줘요.
settings-general-fk_settings-leg_fk = 발 트래킹
settings-general-fk_settings-arm_fk = 팔 운동학
settings-general-fk_settings-arm_fk-description = 팔이 추적되는 방식을 변경할 수 있어요.
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = 까치발을 들어 발 트래커의 착용 방향 정렬을 활성화하기
settings-general-fk_settings-leg_fk-reset_mounting_feet = 발 트래커 착용 방향 정렬
settings-general-fk_settings-arm_fk = 팔 트래킹
settings-general-fk_settings-arm_fk-description = 손 컨트롤러 위치 데이터를 사용할 수 없는 경우에도 VR 헤드셋(HMD)으로부터 팔을 추적하도록 할 수 있어요.
settings-general-fk_settings-arm_fk-force_arms = 팔을 HMD에서만 받아오기
settings-general-fk_settings-skeleton_settings = 골격 설정
settings-general-fk_settings-arm_fk-reset_mode-description = 착용 방향 정렬에 사용되는 팔 자세 설정
settings-general-fk_settings-arm_fk-back = 뒤쪽
settings-general-fk_settings-arm_fk-back-description = 기본값. 위쪽 팔은 뒤를 향하고 아래쪽 팔은 앞을 향하게 하는 자세.
settings-general-fk_settings-arm_fk-tpose_up = T-포즈(올리기)
settings-general-fk_settings-arm_fk-tpose_up-description = 전체 정렬을 수행할 때에는 팔을 차렷 자세로 내리고, 착용 방향 정렬 중에는 팔을 좌우로 나란히 동작으로 펼치는 자세.
settings-general-fk_settings-arm_fk-tpose_down = T-포즈(내리기)
settings-general-fk_settings-arm_fk-tpose_down-description = 전체 정렬에서는 좌우로 나란히 자세, 착용 방향 정렬에서는 팔을 차렷 동작으로 내리는 자세
settings-general-fk_settings-arm_fk-forward = 앞쪽
settings-general-fk_settings-arm_fk-forward-description = 앞으로 나란히 자세. 앉아있거나 버튜버 활동 등에서 유용해요.
settings-general-fk_settings-skeleton_settings-toggles = 골격 설정 제어
settings-general-fk_settings-skeleton_settings-description = 골격 설정을 설정하거나 해제해요. 이것들은 켜두는 게 좋아요.
settings-general-fk_settings-skeleton_settings-extended_spine = 척추 확장
settings-general-fk_settings-skeleton_settings-extended_pelvis = 골반 확장
settings-general-fk_settings-skeleton_settings-extended_knees = 무릎 확장
settings-general-fk_settings-skeleton_settings-extended_spine_model = 확장된 척추 모델
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = 확장된 골반 모델
settings-general-fk_settings-skeleton_settings-extended_knees_model = 확장된 무릎 모델
settings-general-fk_settings-skeleton_settings-ratios = 골격 비율
settings-general-fk_settings-skeleton_settings-ratios-description = 골격 비율을 변경하면 신체 비율 설정을 다시 조절해야 할 수 있어요.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = 가슴, 골반으로부터 추측한 허리 데이터
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = 가슴, 다리로부터 추측한 허리 데이터
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = 다리로부터 추측한 골반 데이터
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = 허리, 다리로부터 추측한 골반 데이터
settings-general-fk_settings-skeleton_settings-interp_hip_legs = 골반 각도를 계산할 때 다리 각도를 합산
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = 무릎 트래커 각도를 계산할 때 발목 각도를 합산
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = 무릎 각도를 계산할 때 발목 각도를 합산
settings-general-fk_settings-self_localization-title = Mocap 모드
settings-general-fk_settings-self_localization-description = Mocap 모드에서는 헤드셋이나 다른 트래커 없이 골격이 자신의 위치를 대략적으로 추적할 수 있어요. 발과 머리 트래커가 필요하고 아직 실험적이에요.
settings-general-fk_settings-vive_emulation-title = VIVE 에뮬레이션
settings-general-fk_settings-vive_emulation-description = 바이브 트래커가 가지고 있는 허리 트래커 문제를 따라해보세요! 사실 이건 장난이고 추적을 더 악화시켜요.
settings-general-fk_settings-vive_emulation-label = VIVE 에뮬레이션 활성화
@@ -356,6 +423,9 @@ settings-general-gesture_control-taps =
{ $amount ->
*[other] { $amount } 탭
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers = { $amount } 트래커
settings-general-gesture_control-yawResetEnabled = 탭해서 Yaw 정렬 활성화
settings-general-gesture_control-yawResetDelay = Yaw 정렬 딜레이
settings-general-gesture_control-yawResetTaps = Yaw 정렬 탭 횟수
@@ -365,13 +435,32 @@ settings-general-gesture_control-fullResetTaps = 탭해서 전체 정렬
settings-general-gesture_control-mountingResetEnabled = 탭해서 착용 방향 정렬 활성화
settings-general-gesture_control-mountingResetDelay = 착용 방향 정렬 딜레이
settings-general-gesture_control-mountingResetTaps = 탭해서 착용 방향 정렬
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = 트래커 감지 한계
settings-general-gesture_control-numberTrackersOverThreshold-description = 몸을 움직이면서 제스처 제어를 하고 싶은데 잘 작동하지 않는다면 이 값을 늘리세요. 탭 탐지가 작동하는 데 필요한 값 이상으로 늘리지 마세요. 더 많은 오작동이 발생할 수 있어요.
## Interface settings
## Appearance settings
settings-general-interface = 인터페이스
settings-interface-appearance = 모양
settings-general-interface-dev_mode = 개발자 모드
settings-general-interface-dev_mode-description = 이 모드는 더 많은 데이터가 필요하거나 고급 수준에서 연결된 트래커와 상호 작용하는 경우에 유용할 수 있어요.
settings-general-interface-dev_mode-label = 개발자 모드
settings-general-interface-theme = 컬러 테마
settings-general-interface-lang = 언어 선택
settings-general-interface-lang-description = 사용하고 싶은 기본 언어를 선택하세요.
settings-general-interface-lang-placeholder = 사용할 언어를 선택하세요
# Keep the font name untranslated
settings-interface-appearance-font = GUI 글꼴
settings-interface-appearance-font-description = 이렇게 하면 인터페이스에서 사용하는 글꼴이 변경돼요.
settings-interface-appearance-font-placeholder = 기본 글꼴
settings-interface-appearance-font-os_font = OS 글꼴
settings-interface-appearance-font-slime_font = 기본 글꼴
settings-interface-appearance-font_size = 글꼴 크기 조정
settings-interface-appearance-font_size-description = 변경하면 이 설정 패널을 제외하고 모든 인터페이스의 글꼴 크기가 달라져요.
## Notification settings
settings-interface-notifications = 알림
settings-general-interface-serial_detection = 시리얼 디바이스 감지
settings-general-interface-serial_detection-description = 이 옵션은 트래커일 수도 있는 새로운 시리얼 디바이스를 연결할 때마다 팝업을 표시해요. 트래커 설정 프로세스를 개선하는 데 도움이 될 거예요.
settings-general-interface-serial_detection-label = 시리얼 디바이스 감지
@@ -379,10 +468,12 @@ settings-general-interface-feedback_sound = 피드백 사운드
settings-general-interface-feedback_sound-description = 이 옵션을 켜면 트래커를 정렬할 때 효과음을 재생해요
settings-general-interface-feedback_sound-label = 피드백 사운드
settings-general-interface-feedback_sound-volume = 피드백 사운드 음량
settings-general-interface-theme = 컬러 테마
settings-general-interface-lang = 언어 선택
settings-general-interface-lang-description = 사용하고 싶은 기본 언어를 선택하세요.
settings-general-interface-lang-placeholder = 사용할 언어를 선택하세요
settings-general-interface-connected_trackers_warning = 작동 중인 트래커 경고
settings-general-interface-connected_trackers_warning-description = 이 옵션은 트래커가 연결되어 있는 채로 SlimeVR을 종료하려고 할 때 팝업을 표시합니다. 그렇게 하면 실수로 트래커를 끄지 않아 배터리가 방전되는 일을 예방할 수 있어요.
settings-general-interface-connected_trackers_warning-label = 종료 시 작동 중인 트래커 경고 활성화
settings-general-interface-use_tray = 작업 표시줄로 최소화
settings-general-interface-use_tray-description = SlimeVR 서버를 닫지 않고 창만 닫을 수 있게 하여 사용 시 항상 GUI를 띄워 놓을 필요가 없게 해요.
settings-general-interface-use_tray-label = 작업 표시줄로 최소화
## Serial settings
@@ -404,6 +495,7 @@ settings-serial-factory_reset-warning-cancel = 취소
settings-serial-get_infos = 정보 가져오기
settings-serial-serial_select = 시리얼 포트 선택
settings-serial-auto_dropdown_item = 자동
settings-serial-get_wifi_scan = WiFi 검색
## OSC router settings
@@ -419,7 +511,7 @@ settings-osc-router-network = 네트워크 포트
# This cares about multilines
settings-osc-router-network-description =
데이터 수신 및 전송을 위한 포트 설정
이들은 SlimeVR 서버에서 사용되는 다른 포트와 동일할 수 있어요.
이들은 SlimeVR 서버에서 사용되는 다른 포트와 동일해도 돼요.
settings-osc-router-network-port_in =
.label = 들어오는 포트
.placeholder = Port in (기본값: 9002)
@@ -435,10 +527,10 @@ settings-osc-router-network-address-placeholder = IPV4 주소
settings-osc-vrchat = VRChat OSC Trackers
# This cares about multilines
settings-osc-vrchat-description =
HMD 데이터 수신 및 전송을 위한 VRChat 관련 설정 변경
FBT용 트래커 데이터(Quest 단독에서 작동)
헤드셋 (HMD) 데이터 수신하고 SteamVR 없이도 (예: Quest 단독 사용)
트래커 정보를 전송하도록 VRChat 관련 설정을 변경
settings-osc-vrchat-enable = 활성화
settings-osc-vrchat-enable-description = 활성화해서 데이터 송수신
settings-osc-vrchat-enable-description = 데이터 송/수신 활성화
settings-osc-vrchat-enable-label = 활성화
settings-osc-vrchat-network = 네트워크 포트
settings-osc-vrchat-network-description = VRChat과 데이터를 주고받는 포트 설정
@@ -452,7 +544,7 @@ settings-osc-vrchat-network-address = 네트워크 주소
settings-osc-vrchat-network-address-description = VRChat으로 데이터를 보낼 주소를 선택하세요(장치의 Wi-Fi 설정 확인).
settings-osc-vrchat-network-address-placeholder = VRChat IP 주소
settings-osc-vrchat-network-trackers = 트래커
settings-osc-vrchat-network-trackers-description = 활성화해서 데이터 송수신
settings-osc-vrchat-network-trackers-description = OSC를 통한 특정 트래커의 전송 여부 설정
settings-osc-vrchat-network-trackers-chest = Chest
settings-osc-vrchat-network-trackers-hip = 골반
settings-osc-vrchat-network-trackers-knees = Knees
@@ -464,8 +556,8 @@ settings-osc-vrchat-network-trackers-elbows = Elbows
settings-osc-vmc = Virtual Motion Capture
# This cares about multilines
settings-osc-vmc-description =
SlimeVR의 데이터를 보내고 다른 앱에서 데이터를 수신하려면
VMC(Virtual Motion Capture) 프로토콜 설정을 변경하세요.
SlimeVR의 골격 데이터를 보내고 다른 앱에서 데이터를 수신하기 위해
VMC(Virtual Motion Capture) 프로토콜 설정을 변경합니다.
settings-osc-vmc-enable = 활성화
settings-osc-vmc-enable-description = 활성화해서 데이터 송수신
settings-osc-vmc-enable-label = 활성화
@@ -481,7 +573,7 @@ settings-osc-vmc-network-address = 네트워크 주소
settings-osc-vmc-network-address-description = 데이터를 받을 VMC 클라이언트의 주소
settings-osc-vmc-network-address-placeholder = IPV4 주소
settings-osc-vmc-vrm = VRM 모델
settings-osc-vmc-vrm-description = VRM 모델을 로드할 때 헤드 앵커를 허용하고 다른 애플리케이션과 더 높은 호환성을 가능하게 해요.
settings-osc-vmc-vrm-description = VRM 모델을 로드할 때 헤드 앵커를 허용하고 다른 애플리케이션과 호환성을 높여줘요.
settings-osc-vmc-vrm-model_unloaded = 로드된 모델이 없어요
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
@@ -500,8 +592,8 @@ onboarding-continue = 계속하기
onboarding-wip = 아직 공사중이에요!
onboarding-previous_step = 이전 단계
onboarding-setup_warning =
<b>주의:</b> SlimeVR을 처음 설정하고 계시다면...
트래커가 올바르게 움직이기 위해 이 초기 설정이 필요해요
<b>주의:</b> 더 좋은 추적을 위해서는 초기 설정이 필요해요.
SlimeVR을 처음 사용하는 경우에도 필요합니다.
onboarding-setup_warning-skip = 설정 건너뛰기
onboarding-setup_warning-cancel = 설정 계속하기
@@ -526,6 +618,26 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = 착용 방향 정렬로 돌아가기
onboarding-reset_tutorial = 정렬 튜토리얼
onboarding-reset_tutorial-explanation = 트래커를 사용하다 보면 IMU의 yaw 드리프트 또는 트래커의 위치가 달라져서 틀어짐이 발생할 수 있어요. 이러한 문제들을 해결하는 몇 가지 방법을 알려 드릴게요.
onboarding-reset_tutorial-skip = 무시하고 건너뛰기
# Cares about multiline
onboarding-reset_tutorial-0 =
Yaw 정렬을 시도하려면 강조된 트래커를 { $taps }번 탭하세요.
그러면 트래커는 HMD가 바라보는 면과 같은 방향으로 정렬될 거예요.
# Cares about multiline
onboarding-reset_tutorial-1 =
전체 정렬을 시도하려면 강조된 트래커를 { $taps }번 탭하세요.
탭한 다음 3초 뒤에(설정에서 변경 가능) 실제 보정이 이뤄지기 때문에 그 사이에 일어나서 차렷 자세로 보정을 기다리면 돼요.
전체 정렬은 모든 트래커의 위치와 각도를 원래대로 되돌리기 때문에 대부분의 틀어짐 문제를 해결할 수 있어요.
# Cares about multiline
onboarding-reset_tutorial-2 =
착용 방향 정렬을 시도하려면 강조된 트래커를 { $taps }번 탭하세요.
착용 방향 정렬은 실제로 몸에 있는 트래커의 위치를 감지할 수 있어요. 트래커를 정확한 방향으로 착용하지 않거나 실수로 움직여서 트래커가 미끄러져도 착용 방향 정렬을 통해 해결할 수 있어요.
자동 착용 방향 설정 마법사에서 봤던 것처럼 스키를 타는 듯한 자세로 몸을 구부리고 있으세요. 탭한 다음 3초 뒤에(설정에서 변경 가능) 보정이 시작될 거예요.
## Setup start
@@ -549,17 +661,17 @@ onboarding-done-close = 마법사 닫기
onboarding-connect_tracker-back = Wi-Fi 자격 증명으로 돌아가기
onboarding-connect_tracker-title = 트래커 연결
onboarding-connect_tracker-description-p0 = 이제 모든 트래커를 연결하는 재미있는 부분으로 가봐요!
onboarding-connect_tracker-description-p1 = 그냥 모든 트래커를 USB 포트에 연결하기만 하면 돼요
onboarding-connect_tracker-description-p0-v1 = 이제 트래커를 연결하는 재미있는 부분으로 가봐요!
onboarding-connect_tracker-description-p1-v1 = USB 포트를 통해 트래커들을 한 개씩 컴퓨터에 연결해 주세요.
onboarding-connect_tracker-issue-serial = 연결하는 데 문제가 생겼어요!
onboarding-connect_tracker-usb = USB 트래커
onboarding-connect_tracker-connection_status-none = 트래커 찾는 중
onboarding-connect_tracker-connection_status-serial_init = 시리얼 디바이스에 연결 중
onboarding-connect_tracker-connection_status-provisioning = Wi-Fi 자격 증명 전송 중
onboarding-connect_tracker-connection_status-connecting = Wi-Fi 자격증명 전송
onboarding-connect_tracker-connection_status-connecting = Wi-Fi 연결 시도
onboarding-connect_tracker-connection_status-looking_for_server = 서버 찾는 중
onboarding-connect_tracker-connection_status-connection_error = Wi-Fi에 연결할 수 없음
onboarding-connect_tracker-connection_status-could_not_find_server = 서버를 찾을 수 없어요
onboarding-connect_tracker-connection_status-could_not_find_server = 서버를 찾을 수 없
onboarding-connect_tracker-connection_status-done = 서버에 연결됨
# $amount (Number) - Amount of trackers connected (this is a number, but you can use CLDR plural rules for your language)
# More info on https://www.unicode.org/cldr/cldr-aux/charts/22/supplemental/language_plural_rules.html
@@ -571,22 +683,27 @@ onboarding-connect_tracker-connected_trackers =
[0] 연결된 트래커가 없어요.
*[other] 트래커 { $amount }개가 연결되었어요.
}
onboarding-connect_tracker-next = 모든 트래커를 연결했어요
onboarding-connect_tracker-next = 트래커를 모두 연결했어요
## Tracker calibration tutorial
onboarding-calibration_tutorial = IMU 캘리브레이션 튜토리얼
onboarding-calibration_tutorial = IMU 보정 튜토리얼
onboarding-calibration_tutorial-subtitle = 트래커 틀어짐을 줄이는 데 도움이 될 거예요!
onboarding-calibration_tutorial-status-calibrating = 캘리브레이팅
onboarding-calibration_tutorial-description = 매번 트래커의 전원을 켤 때마다 평평한 바닥에 트래커를 두고 잠시 기다려서 트래커를 보정해야 해요. 이번엔 "{ onboarding-calibration_tutorial-calibrate }"를 눌러서 직접 보정해 보죠. <b>(트래커를 움직이지 마세요!)</b>
onboarding-calibration_tutorial-calibrate = 트래커들을 모두 올려뒀어요
onboarding-calibration_tutorial-status-waiting = 대기 중
onboarding-calibration_tutorial-status-calibrating = 보정 중
onboarding-calibration_tutorial-status-success = 좋아요!
onboarding-calibration_tutorial-status-error = 트래커가 움직였습니다
## Tracker assignment tutorial
onboarding-assignment_tutorial = 슬라임 트래커를 착용하기 전에 준비하는 방법
onboarding-assignment_tutorial = Slime 트래커를 착용하기 전에 준비하는 방법
onboarding-assignment_tutorial-first_step = 1. 신체 부위가 적힌 스티커를 가지고 있다면 트래커에 붙여보세요
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = 스티커
onboarding-assignment_tutorial-second_step = 2. 스트랩의 벨크로 테이프 쪽을 그림과 같은 방향으로 유지하면서 스트랩을 트래커에 끼우세요:
onboarding-assignment_tutorial-second_step-continuation = 익스텐션 트래커의 벨크로 테이프는 다음과 같은 방향으로 끼워주세요:
onboarding-assignment_tutorial-second_step-v2 = 2. 스트랩을 트래커에 장착하되, 벨크로 접착면이 트래커의 Slime 얼굴과 같은 방향을 바라보도록 해 주세요:
onboarding-assignment_tutorial-second_step-continuation-v2 = 확장 모듈의 벨크로 접착면이 다음 이미지처럼 위를 바라봐야 합니다:
onboarding-assignment_tutorial-done = 스트랩과 스티커를 트래커에 잘 부착했어요!
## Tracker assignment setup
@@ -600,6 +717,7 @@ onboarding-assign_trackers-description = 이제, 어떤 트래커가 어디에
onboarding-assign_trackers-assigned = 트래커 { $trackers }개 중 { $assigned }개 연결됨
onboarding-assign_trackers-advanced = 고급 할당 위치 보기
onboarding-assign_trackers-next = 모든 트래커를 배치했어요
onboarding-assign_trackers-mirror_view = 좌우 반전
## Tracker assignment warnings
@@ -671,13 +789,22 @@ onboarding-assign_trackers-warning-WAIST =
## Tracker mounting method choose
onboarding-choose_mounting = 착용 방향을 정렬하기 위해 어떤 방법을 사용할요?
onboarding-choose_mounting = 착용 방향 보정을 위해 어떤 방법을 사용할요?
# Multiline text
onboarding-choose_mounting-description = 착용 방향 정렬은 트래커가 몸에 착용된 방향을 찾아 수정하도록 도와줘요.
onboarding-choose_mounting-auto_mounting = 자동으로 방향 설정
onboarding-choose_mounting-auto_mounting-description = 이렇게 하면 두 가지 자세로 모든 트래커의 착용 방향을 자동으로 설정할 수 있어요
# Italized text
onboarding-choose_mounting-auto_mounting-label = 실험적
onboarding-choose_mounting-auto_mounting-description = 이렇게 하면 2가지 자세로 모든 트래커의 착용 방향을 자동으로 설정할 수 있어요
onboarding-choose_mounting-manual_mounting = 수동으로 방향 설정
# Italized text
onboarding-choose_mounting-manual_mounting-label = 권장됨
onboarding-choose_mounting-manual_mounting-description = 이렇게 하면 각 트래커의 착용 방향을 직접 고를 수 있어요
# Multiline text
onboarding-choose_mounting-manual_modal-title = 자동으로 착용 방향을 설정하시겠어요?
onboarding-choose_mounting-manual_modal-description = 자동 착용 방향 정렬은 복잡한 자세와 올바르게 설정된 트래커가 필요하기 때문에 처음 사용하시는 분에게는 조금 어려울 수 있어요. <b>처음 이용하시는 분들께는 수동 착용 방향 정렬을 추천드려요!</b>
onboarding-choose_mounting-manual_modal-confirm = 네, 알고 있어요!
onboarding-choose_mounting-manual_modal-cancel = 취소
## Tracker manual mounting setup
@@ -691,7 +818,7 @@ onboarding-manual_mounting-next = 다음 단계
onboarding-automatic_mounting-back = VR 입장 페이지로 돌아가기
onboarding-automatic_mounting-title = 착용 방향 정렬
onboarding-automatic_mounting-description = SlimeVR 트래커가 작동하려면, 착용 방향을 정해야 해요. 이 단계에서는 실제 트래커의 회전과 맞게 착용 방향을 정렬할 거예요.
onboarding-automatic_mounting-description = SlimeVR 트래커가 작동하려면, 실제 트래커의 장착 위치와 맞게 트래커의 착용 방향을 설정해야 해요.
onboarding-automatic_mounting-manual_mounting = 수동으로 착용 방향 설정
onboarding-automatic_mounting-next = 다음 단계
onboarding-automatic_mounting-prev_step = 이전 단계
@@ -699,26 +826,38 @@ onboarding-automatic_mounting-done-title = 착용 방향이 정렬되었어요
onboarding-automatic_mounting-done-description = 트래커의 착용 방향이 잘 설정되었어요!
onboarding-automatic_mounting-done-restart = 다시 처음으로 돌아가기
onboarding-automatic_mounting-mounting_reset-title = 착용 방향 정렬
onboarding-automatic_mounting-mounting_reset-step-0 = 1. 팔, 다리를 구부린 다음 상체를 앞으로 기울여서 마치 스키를 타는 것처럼 쪼그리고 앉으세요.
onboarding-automatic_mounting-mounting_reset-step-0 = 1. 팔, 다리를 구부린 다음 상체를 앞으로 기울여서 마치 스키를 타는 것처럼 몸을 굽혀 낮추세요.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. "착용 방향 재설정" 버튼을 누르고 착용 방향이 재설정될 때 까지 3초간 기다려주세요.
onboarding-automatic_mounting-preparation-title = 준비
onboarding-automatic_mounting-preparation-step-0 = 1. 팔을 몸에 붙이고 똑바로 서 주세요
onboarding-automatic_mounting-preparation-step-1 = 2. "전체 정렬" 버튼을 누르고 트래커가 정렬될 때까지 3초간 기다려주세요.
onboarding-automatic_mounting-put_trackers_on-title = 트래커를 착용해주세요
onboarding-automatic_mounting-put_trackers_on-description = 트래커의 착용 방향이 돌아가는 것을 보정하기 위해 방금 할당한 트래커 사용할 거예요. 모든 트래커를 착용했다면 오른쪽 그림에서 어떤 트래커지 확인할 수 있어요.
onboarding-automatic_mounting-put_trackers_on-description = 트래커의 착용 방향을 보정하기 위해 방금 할당한 트래커들을 사용할 거예요. 모든 트래커를 착용했다면 오른쪽 그림에서 각각의 트래커가 어떤 위치에 있는지 확인할 수 있어요.
onboarding-automatic_mounting-put_trackers_on-next = 모든 트래커를 착용했어요
## Tracker proportions method choose
onboarding-choose_proportions = 신체 비율을 설정하기 위해 어떤 방법을 사용할래요?
# Multiline string
onboarding-choose_proportions-description-v1 =
신체 비율은 사용자의 신체 치수를 추산하기 위해 사용됩니다. 계산된 신체 치수는 트래커의 위치를 계산하는 데 사용됩니다.
설정된 신체 비율과 실제 신체 비율이 다를 경우, 트래킹 정확도가 훨씬 낮아질 수 있으며 사용 중 스케이팅, 슬라이딩, 또는 아바타와 신체 동작이 일치하지 않게 되는 경우가 발생할 수 있어요.
<b>신체 비율 측정은 한 번이면 충분해요!</b> 측정치가 부정확하거나 신체 비율이 달라진 경우를 제외하고는 다시 측정할 필요가 없어요.
onboarding-choose_proportions-auto_proportions = 자동으로 비율 설정
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = 권장
onboarding-choose_proportions-auto_proportions-description = 이렇게 하면 움직임 샘플을 기록하고 알고리즘을 통과해서 자동으로 신체 비율을 설정할 수 있어요
onboarding-choose_proportions-auto_proportions-descriptionv3 =
몸을 이리저리 움직여 샘플을 기록한 다음 알고리즘을 통해 연산하는 방식으로 신체 비율을 추산합니다.
<b>사용하기 위해서는 VR 헤드셋이 SlimeVR과 연결되어 있어야 해요</b>
onboarding-choose_proportions-manual_proportions = 수동으로 비율 설정
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = 정밀하게 설정하고 싶다면
onboarding-choose_proportions-manual_proportions-description = 이렇게 하면 신체 비율을 직접 수정하여 수동으로 조절할 수 있어요
onboarding-choose_proportions-manual_proportions-description = 이 옵션을 사용하면 신체 비율을 직접 입력해 수동으로 조절할 수 있어요.
onboarding-choose_proportions-export = 다른 이름으로 저장
onboarding-choose_proportions-import = 신체 비율 가져오기
onboarding-choose_proportions-import-success = 가져오기 완료
onboarding-choose_proportions-import-failed = 가져오기 실패
onboarding-choose_proportions-file_type = 신체 비율 파일
## Tracker manual proportions setup
@@ -737,18 +876,32 @@ onboarding-automatic_proportions-manual = 수동 신체 비율 설정
onboarding-automatic_proportions-prev_step = 뒤로
onboarding-automatic_proportions-put_trackers_on-title = 트래커를 착용하세요
onboarding-automatic_proportions-put_trackers_on-description = 비율을 조정하기 위해 방금 할당한 트래커를 사용할 거예요. 모든 트래커를 착용하면 오른쪽 그림에서 어떤 것이 있는지 알 수 있어요.
onboarding-automatic_proportions-put_trackers_on-next = 트래커를 착용했어요
onboarding-automatic_proportions-put_trackers_on-next = 트래커를 모두 착용했어요
onboarding-automatic_proportions-requirements-title = 요구사항
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
발까지 추적할 수 있는 적어도 5개의 트래커가 있어야 해요.
전원이 켜진 트래커와 헤드셋이 필요해요.
트래커와 헤드셋을 착용하고 있어야 해요.
트래커와 헤드셋이 SlimeVR 서버와 연결되어 있어야 해요.
트래커와 헤드셋이 SlimeVR 서버에서 제대로 작동하고 있어야 해요.
헤드셋이 SlimeVR 서버에 위치 데이터를 보고하고 있어야 해요. (SteamVR이 실행 중이고 SlimeVR의 SteamVR 드라이버를 사용하여 SlimeVR에 연결되어 있어야 해요).
onboarding-automatic_proportions-requirements-descriptionv2 =
다리를 추적하기 위해 최소 5개 이상의 트래커를 착용하세요.
VR 헤드셋을 착용하세요.
VR 헤드셋과 컨트롤러의 위치 정보가 SlimeVR 서버에 실시간으로 표시되는지 확인하세요.
SlimeVR 서버에 연결된 트래커와 VR 헤드셋이 끊김이나 렉 없이 제대로 표시되는지 확인하세요. (이것은 SteamVR이 실행 중이며 SlimeVR의 SteamVR 드라이버를 사용하여 SlimeVR에 올바르게 연결되어 있다는 것을 의미합니다)
트래커가 제대로 작동하고 나의 움직임을 올바르게 반영중인지 확인하세요. (예: 전체 정렬을 수행했으며 발차기, 허리 숙이기, 앉기 등 올바른 방향으로 움직임)
onboarding-automatic_proportions-requirements-next = 요구사항을 모두 읽었어요
onboarding-automatic_proportions-start_recording-title = 움직일 준비
onboarding-automatic_proportions-check_height-title = 키를 확인하세요
onboarding-automatic_proportions-check_height-description = 이 과정에서는 VR 헤드셋(HMD)의 높이를 사용하여 실제 키의 대략적인 값으로 삼고, 이를 측정의 기준으로 활용합니다. 하지만 직접 확인하는 것이 더 정확해요!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = 버튼을 누른 후 3초 이내에 <u>바르게 서서</u> 키를 측정해 주세요!
onboarding-automatic_proportions-check_height-guardian_tip =
독립형 VR 헤드셋을 사용하는 경우, 꼭 보호자와 함께하셔야 하고
높이가 정확하도록 플레이 영역을 설정하는 것을 잊지 말아주세요!
onboarding-automatic_proportions-check_height-fetch_height = 서 있어요!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = 알 수 없음
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = VR 헤드셋(HMD) 높이
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = 실제 키
onboarding-automatic_proportions-check_height-next_step = 괜찮아 보여요
onboarding-automatic_proportions-start_recording-title = 움직일 준비를 해요
onboarding-automatic_proportions-start_recording-description = 이제 몇 가지 특정 포즈와 동작을 기록할 거예요. 다음 화면에서 메시지가 표시되면 버튼을 눌러서 시작하세요!
onboarding-automatic_proportions-start_recording-next = 기록 시작하기
onboarding-automatic_proportions-recording-title = REC
@@ -757,7 +910,7 @@ onboarding-automatic_proportions-recording-description-p1 = 아래에 표시된
# Each line of text is a different list item
onboarding-automatic_proportions-recording-steps =
자리에서 똑바로 일어나서, 머리를 원을 그리듯이 움직이세요.
등을 앞으로 구부리고 쪼그리고 앉으세요. 그대로 왼쪽을 바라본 다음 오른쪽을 바라보세요.
등을 앞으로 구부리고 스쿼트를 하듯이 몸을 낮추세요. 그대로 왼쪽을 바라본 다음 오른쪽을 바라보세요.
상체를 왼쪽(시계 반대 방향)으로 비틀어서 바닥을 향해 손을 뻗으세요.
상체를 오른쪽(시계 방향)으로 비틀어서 바닥을 향해 손을 뻗으세요.
훌라후프를 사용하는 것처럼 골반을 원을 그리며 굴리세요.
@@ -776,10 +929,56 @@ onboarding-automatic_proportions-verify_results-redo = 다시 기록하기
onboarding-automatic_proportions-verify_results-confirm = 정확해요!
onboarding-automatic_proportions-done-title = 몸을 측정하고 저장했어요
onboarding-automatic_proportions-done-description = 신체 비율 보정이 완료되었어요!
onboarding-automatic_proportions-error_modal =
<b>경고:</b> 신체 비율을 계산하는 동안 오류가 발생했습니다!
<docs>도움말</docs>을 확인하거나 <discord>디스코드</discord> 서버에서 도움을 받으세요 ^_^
onboarding-automatic_proportions-error_modal-confirm = 이해했어요!
## Home
home-no_trackers = 감지되거나 할당된 트래커가 없어요.
## Trackers Still On notification
trackers_still_on-modal-title = 트래커가 아직 켜져 있어요!
trackers_still_on-modal-description = 하나 이상의 트래커가 여전히 켜져 있는 것으로 보여요. SlimeVR을 종료할까요?
trackers_still_on-modal-confirm = SlimeVR 종료
trackers_still_on-modal-cancel = 돌아가기
## Status system
status_system-StatusTrackerReset = 전체 정렬을 수행해 아직 정렬되지 않은 트래커를 정렬해주세요.
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] SlimeVR 피더와 연결되지 않음
*[other] SlimeVR 드라이버가 SteamVR과 연결되지 않음
}
status_system-StatusTrackerError = { $trackerName } 트래커에 문제가 발생했어요.
## Tray Menu
tray_menu-show = 열기
tray_menu-hide = 숨기기
tray_menu-quit = 종료
## First exit modal
tray_or_exit_modal-title = 닫기 버튼이 무엇을 하도록 할까요?
# Multiline text
tray_or_exit_modal-description =
이 옵션은 닫기 버튼을 누를 때 서버를 종료할지 또는 시스템 트레이로 최소화할지를 결정합니다.
언제든지 설정의 인터페이스 탭에서 변경하실 수 있어요!
tray_or_exit_modal-radio-exit = SlimeVR 종료하기
tray_or_exit_modal-radio-tray = 작업 표시줄로 최소화
tray_or_exit_modal-submit = 저장
tray_or_exit_modal-cancel = 취소
## Unknown device modal
unknown_device-modal-title = 새로운 트래커를 찾았어요!
unknown_device-modal-description =
<b>{ $deviceID }</b>의 MAC 주소를 가진 새로운 트래커를 발견했어요.
SlimeVR에 연결할까요?
unknown_device-modal-confirm = 당연하죠!
unknown_device-modal-forget = 무시할게요

View File

@@ -13,7 +13,7 @@ websocket-connection_lost = Verbinding met de server verbroken. Opniew verbindin
## Update notification
version_update-title = Nieuwe versie beschikbaar: { $version }
version_update-description = Als u op "Bijwerken" klikt, wordt het SlimeVR-installatieprogramma voor je gedownload.
version_update-description = Als je op "{ version_update-update }" klikt, wordt het SlimeVR-installatieprogramma voor je gedownload.
version_update-update = Bijwerken
version_update-close = Sluiten
@@ -23,12 +23,14 @@ tips-find_tracker = Weet je niet welke tracker welke is? Schud een tracker en he
tips-do_not_move_heels = Zorg ervoor dat je hielen niet bewegen tijdens de opname!
tips-file_select = Sleep bestanden naar hier om ze te gebruiken of <u>blader</u>.
tips-tap_setup = Je kan langzaam 2 keer op je tracker tikken om deze te kiezen in plaats van deze in het menu te selecteren.
tips-turn_on_tracker = Gebruik je officiële SlimeVR-trackers? Vergeet niet om <b><em>je tracker aan te zetten</em></b> nadat je deze op de pc hebt aangesloten!
tips-failed_webgl = WebGL initialiseren is gefaald.
## Body parts
body_part-NONE = Niet toegewezen
body_part-HEAD = Hoofd
body_part-NECK = Neck
body_part-NECK = Nek
body_part-RIGHT_SHOULDER = Rechterschouder
body_part-RIGHT_UPPER_ARM = Rechterbovenarm
body_part-RIGHT_LOWER_ARM = Rechteronderarm
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = Rechterhand
body_part-RIGHT_UPPER_LEG = Rechterdij
body_part-RIGHT_LOWER_LEG = Rechterenkel
body_part-RIGHT_FOOT = Rechtervoet
body_part-UPPER_CHEST = Bovenborst
body_part-CHEST = Borst
body_part-WAIST = Taille
body_part-HIP = Heup
@@ -51,11 +54,12 @@ body_part-LEFT_FOOT = Linkervoet
skeleton_bone-NONE = Geen
skeleton_bone-HEAD = Hoofdverschuiving
skeleton_bone-NECK = Necklengte
skeleton_bone-torso_group = Torso lengte
skeleton_bone-CHEST = Borstafstand
skeleton_bone-NECK = Neklengte
skeleton_bone-torso_group = Romp lengte
skeleton_bone-UPPER_CHEST = Bovenborst Lengte
skeleton_bone-CHEST_OFFSET = Borstoffset
skeleton_bone-WAIST = Tailleafstand
skeleton_bone-CHEST = Borstafstand
skeleton_bone-WAIST = Taille lengte
skeleton_bone-HIP = Heuplengte
skeleton_bone-HIP_OFFSET = Heupoffset
skeleton_bone-HIPS_WIDTH = Heupbreedte
@@ -64,7 +68,7 @@ skeleton_bone-UPPER_LEG = Bovenbeenlengte
skeleton_bone-LOWER_LEG = Onderbeenlengte
skeleton_bone-FOOT_LENGTH = Voetlengte
skeleton_bone-FOOT_SHIFT = Voetverschuiving
skeleton_bone-SKELETON_OFFSET = Skelettenoffset
skeleton_bone-SKELETON_OFFSET = Skelet offset
skeleton_bone-SHOULDERS_DISTANCE = Schoudersafstand
skeleton_bone-SHOULDERS_WIDTH = Schouderbreedte
skeleton_bone-arm_group = Armlengte
@@ -77,16 +81,16 @@ skeleton_bone-ELBOW_OFFSET = Elleboogoffset
## Tracker reset buttons
reset-reset_all = Alle afmetingen resetten
reset-full = Resetten
reset-mounting = Bevestiging resetten
reset-yaw = Horizontale reset
reset-full = Volledige reset
reset-mounting = Reset montage
reset-yaw = Yaw Reset
## Serial detection stuff
serial_detection-new_device-p0 = Nieuw serieel apparaat gedetecteerd!
serial_detection-new_device-p1 = Voer je WiFi-inloggegevens in!
serial_detection-new_device-p2 = Selecteer wat je wil doen
serial_detection-open_wifi = Verbinding maken met WiFi
serial_detection-open_wifi = Verbind met Wi-Fi
serial_detection-open_serial = Seriële console openen
serial_detection-submit = Verzenden!
serial_detection-close = Sluiten
@@ -94,10 +98,10 @@ serial_detection-close = Sluiten
## Navigation bar
navbar-home = Startpagina
navbar-body_proportions = Lichaams- verhoudingen
navbar-trackers_assign = Tracker- toewijzing
navbar-mounting = Bevestigings- kalibratie
navbar-onboarding = Setupgids
navbar-body_proportions = Lichaamsverhoudingen
navbar-trackers_assign = Tracker-toewijzing
navbar-mounting = Bevestigings-kalibratie
navbar-onboarding = Installatiewizard
navbar-settings = Instellingen
## Biovision hierarchy recording
@@ -108,7 +112,7 @@ bvh-recording = Opname bezig...
## Tracking pause
tracking-unpaused = Pauzeer tracking
tracking-paused = Herneem tracking
tracking-paused = Hervat tracking
## Widget: Overlay settings
@@ -118,7 +122,11 @@ widget-overlay-is_mirrored_label = Overlay weergeven als spiegel
## Widget: Drift compensation
widget-drift_compensation-clear = Reset huidige drift compensatie waarden
widget-drift_compensation-clear = Reset huidige drift compensatie
## Widget: Clear Reset Mounting
widget-clear_mounting = Reset montage legen
## Widget: Developer settings
@@ -127,7 +135,7 @@ widget-developer_mode-high_contrast = Hoog contrast
widget-developer_mode-precise_rotation = Precieze rotatie
widget-developer_mode-fast_data_feed = Snelle data feed
widget-developer_mode-filter_slimes_and_hmd = Filter slimes en HMD
widget-developer_mode-sort_by_name = Op naam sorteren
widget-developer_mode-sort_by_name = Sorteer op naam
widget-developer_mode-raw_slime_rotation = Ruwe rotatie
widget-developer_mode-more_info = Meer informatie
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = Rauw
widget-imu_visualizer-rotation_preview = Preview
widget-imu_visualizer-rotation_hide = Verbergen
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Skelet voorbeeld
widget-skeleton_visualizer-hide = Verbergen
## Tracker status
tracker-status-none = Geen status
@@ -146,6 +159,7 @@ tracker-status-error = Fout
tracker-status-disconnected = Verbinding verbroken
tracker-status-occluded = Verborgen
tracker-status-ok = OK
tracker-status-timed_out = Timed Out
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Voorzijde
tracker-rotation-front_left = Linksvoor
tracker-rotation-front_right = Rechtsvoor
tracker-rotation-left = Links
tracker-rotation-right = Rechts
tracker-rotation-back = Achterzijde
tracker-rotation-back_left = Linksachter
tracker-rotation-back_right = Rechtsachter
tracker-rotation-custom = Aangepast
tracker-rotation-overriden = (overschreven door montage reset)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = Hardware revisie
tracker-infos-hardware_identifier = Hardware-id
tracker-infos-imu = IMU-sensor
tracker-infos-board_type = Mainbord
tracker-infos-network_version = Protocol Versie
## Tracker settings
@@ -187,7 +208,7 @@ tracker-settings-assignment_section = Toewijzing
tracker-settings-assignment_section-description = Aan welk lichaamsdeel de tracker is toegewezen.
tracker-settings-assignment_section-edit = Toewijzing bewerken
tracker-settings-mounting_section = Bevestigingsorientatie
tracker-settings-mounting_section-description = Hoe is de tracker georiënteerd?
tracker-settings-mounting_section-description = Waar is de tracker gemonteerd?
tracker-settings-mounting_section-edit = Bevestiging bewerken
tracker-settings-drift_compensation_section = Laat drift compensatie toe
tracker-settings-drift_compensation_section-description = Moet deze tracker compenseren voor drift wanneer drift compensatie is ingeschakeld?
@@ -197,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = Laat drift compensatie toe
tracker-settings-name_section = Trackernaam
tracker-settings-name_section-description = Geef een schattige bijnaam :)
tracker-settings-name_section-placeholder = NightyBeast's linkerbeen
tracker-settings-forget = Vergeet tracker
tracker-settings-forget-description = Verwijdert de tracker van de SlimeVR Server en voorkomt dat deze verbinding kan maken totdat de server opnieuw wordt opgestart. De configuratie van de tracker blijft behouden.
tracker-settings-forget-label = Vergeet tracker
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } rechterdij?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } rechterenkel?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } rechtervoet?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } rechtercontroller?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } bovenborst?
tracker_selection_menu-CHEST = { -tracker_selection-part } borst?
tracker_selection_menu-WAIST = { -tracker_selection-part } taille?
tracker_selection_menu-HIP = { -tracker_selection-part } heup?
@@ -269,6 +294,8 @@ settings-sidebar-osc_router = OSC-router
settings-sidebar-osc_trackers = VRChat OSC Trackers
settings-sidebar-utils = Hulpmiddelen
settings-sidebar-serial = Serieel console
settings-sidebar-appearance = Uiterlijk
settings-sidebar-notifications = Notificaties
## SteamVR settings
@@ -283,10 +310,12 @@ settings-general-steamvr-description =
Handig voor games of apps die alleen bepaalde trackers ondersteunen.
settings-general-steamvr-trackers-waist = Taille
settings-general-steamvr-trackers-chest = Borst
settings-general-steamvr-trackers-feet = Voeten
settings-general-steamvr-trackers-knees = Knieën
settings-general-steamvr-trackers-elbows = Ellebogen
settings-general-steamvr-trackers-hands = Handen
settings-general-steamvr-trackers-tracker_toggling = Automatische tracker toewijzing
settings-general-steamvr-trackers-tracker_toggling-description = Zorgt automatisch voor het in- en uitschakelen van SteamVR-trackers, afhankelijk van je huidige tracker toewijzingen.
settings-general-steamvr-trackers-tracker_toggling-label = Automatische tracker toewijzing
settings-general-steamvr-trackers-hands-warning = <b>Waarschuwing:</b> hand trackers negeren je controllers. Weet je zeker dat je wilt doorgaan?
settings-general-steamvr-trackers-hands-warning-cancel = Annuleren
settings-general-steamvr-trackers-hands-warning-done = Ja
## Tracker mechanics
@@ -304,6 +333,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Maakt
settings-general-tracker_mechanics-filtering-type-prediction = Voorspelling
settings-general-tracker_mechanics-filtering-type-prediction-description = Verlaagt latentie en maakt bewegingen snappier, maar kan jitter verhogen.
settings-general-tracker_mechanics-filtering-amount = Hoeveelheid
settings-general-tracker_mechanics-yaw-reset-smooth-time = Yaw reset vertraging (0s schakelt afvlakking uit)
settings-general-tracker_mechanics-drift_compensation = Drift compensatie
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -312,6 +342,8 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Drift compensate
settings-general-tracker_mechanics-drift_compensation-amount-label = Compensatiesterkte
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Gebruik de laatste x resets
settings-general-tracker_mechanics-save_mounting_reset = Sla automatische mounting reset kalibratie op
settings-general-tracker_mechanics-save_mounting_reset-description = Slaat de automatische mounting reset kalibraties van de trackers op tussen herstarts. Nuttig als je een pak draagt waarbij trackers niet bewegen tussen sessies. <b>Niet aanbevolen voor normale gebruikers!</b>
## FK/Tracking settings
@@ -328,15 +360,43 @@ settings-general-fk_settings-leg_tweak-skating_correction = Skating-correctie
settings-general-fk_settings-leg_tweak-toe_snap = Teen snap
settings-general-fk_settings-leg_tweak-foot_plant = Voetplant
settings-general-fk_settings-leg_tweak-skating_correction-amount = Skating-correctie sterkte
settings-general-fk_settings-leg_tweak-skating_correction-description = Schaatscorrectie corrigeert voor schaatsen, maar kan de nauwkeurigheid van bepaalde bewegingspatronen verminderen. Zorg ervoor dat je bij het inschakelen een volledige reset uitvoert en opnieuw kalibreert in het spel.
settings-general-fk_settings-leg_tweak-floor_clip-description =
Floor-clip kan het doorknippen van de vloer verminderen of zelfs elimineren.
Zorg ervoor dat u bij het inschakelen een volledige reset uitvoert en opnieuw kalibreert in het spel.
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap probeert de rotatie van uw voeten te raden als voet-trackers niet worden gebruikt.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant roteert je voeten zodat ze evenwijdig aan de grond zijn wanneer ze in contact zijn.
settings-general-fk_settings-leg_fk = Been tracking
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Schakel Montage Reset voor de voeten in door op je tenen te staan.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Voeten montage reset.
settings-general-fk_settings-arm_fk = Arm tracking
settings-general-fk_settings-arm_fk-description = Verander de manier waarop de armen worden getrackt.
settings-general-fk_settings-arm_fk-force_arms = Dwing armen vanuit HMD
settings-general-fk_settings-skeleton_settings = Skeleton instellingen
settings-general-fk_settings-arm_fk-reset_mode-description = Pas de verwachte armhouding aan voor het resetten van de montage.
settings-general-fk_settings-arm_fk-back = Achterzijde
settings-general-fk_settings-arm_fk-back-description = De standaardmodus, waarbij de bovenarmen naar achteren gaan en de onderarmen naar voren.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (omhoog)
settings-general-fk_settings-arm_fk-tpose_up-description = Verwacht je armen langs je zeiden te hangen tijdens een volledige reset, en 90 graden omhoog langs je zeiden tijdens een Montage Reset.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (omlaag)
settings-general-fk_settings-arm_fk-tpose_down-description = Verwacht dat je armen 90 graden naar de zijkanten zijn tijdens een Volledige reset, en aan de zijkanten naar beneden tijdens een montage reset.
settings-general-fk_settings-arm_fk-forward = Voorwaards
settings-general-fk_settings-arm_fk-forward-description = Verwacht dat je armen 90 graden naar voren staan. Handig voor VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Skelet schakelaars
settings-general-fk_settings-skeleton_settings-description = Schakel skeleton instellingen in of uit. Het is aanbevolen om deze aan te laten.
settings-general-fk_settings-skeleton_settings-extended_spine = Uitgebreide rug
settings-general-fk_settings-skeleton_settings-extended_pelvis = Uitgebreide bekken
settings-general-fk_settings-skeleton_settings-extended_knees = Uitgebreide knieën
settings-general-fk_settings-skeleton_settings-extended_spine_model = Uitgebreid ruggengraat model
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Uitgebreid bekken model
settings-general-fk_settings-skeleton_settings-extended_knees_model = Uitgebreid knie model
settings-general-fk_settings-skeleton_settings-ratios = skelet verhoudingen
settings-general-fk_settings-skeleton_settings-ratios-description = Pas de waardes van de skelet instellingen aan. Het kan zijn dat je hierna je lichaams proporties moet aanpassen.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Bereken taille van borst naar heup
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Bereken taille van borst naar benen
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Bereken heup van borst naar benen
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Bereken heup van taille naar benen
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Bereken het gemiddelde van de 'yaw en roll van de heup met die van de benen'
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Bereken het gemiddelde van de 'yaw en roll van de knie trackers met die van de enkels'
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Bereken het gemiddelde van de 'yaw en roll van de knie trackers met die van de enkels'
settings-general-fk_settings-self_localization-title = Mocap modus
settings-general-fk_settings-self_localization-description = Mocap modus staat het skelet model toe om zijn eigen positie te bepalen zonder het gebruik van een headset of andere trackers. Dit vergt wel het gebruik van voet en hoofd trackers, dit is momenteel nog expirimenteel.
settings-general-fk_settings-vive_emulation-title = Vive-emulatie
settings-general-fk_settings-vive_emulation-description = Emuleer de problemen met de taille van Vive trackers. Dit is een mop en maakt tracking slechter.
settings-general-fk_settings-vive_emulation-label = Vive-emulatie inschakelen
@@ -353,6 +413,13 @@ settings-general-gesture_control-taps =
[one] 1 tik
*[other] { $amount } tikken
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] één
*[other] anders
}
settings-general-gesture_control-yawResetEnabled = Activeer tikken voor horizontale reset
settings-general-gesture_control-yawResetDelay = Vertraging horizontale reset
settings-general-gesture_control-yawResetTaps = Hoeveelheid tikken voor horizontale reset
@@ -362,13 +429,32 @@ settings-general-gesture_control-fullResetTaps = Hoeveelheid tikken voor volledi
settings-general-gesture_control-mountingResetEnabled = Activeer tikken voor bevestigingskalibratie
settings-general-gesture_control-mountingResetDelay = Vertraging bevestigingskalibratie
settings-general-gesture_control-mountingResetTaps = Hoeveelheid tikken voor bevestigingskalibratie
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Trackers over drempelwaarde
settings-general-gesture_control-numberTrackersOverThreshold-description = Verhoog deze waarde als de tik detectie niet werkt. Zet deze waarde niet te hoog om tik detectie te laten werken, dit kan vals positieve resultaten creëren.
## Interface settings
## Appearance settings
settings-general-interface = Interface
settings-interface-appearance = Uiterlijk
settings-general-interface-dev_mode = Ontwikkelaarsmodus
settings-general-interface-dev_mode-description = Deze modus kan nuttig zijn als je diepgaande gegevens nodig hebt of op een geavanceerd niveau wilt communiceren met aangesloten trackers.
settings-general-interface-dev_mode-label = Ontwikkelaarsmodus
settings-general-interface-theme = Themakleur
settings-general-interface-lang = Selecteer taal
settings-general-interface-lang-description = Verander de standaardtaal die je wilt gebruiken.
settings-general-interface-lang-placeholder = Selecteer de te gebruiken taal
# Keep the font name untranslated
settings-interface-appearance-font = GUI lettertype
settings-interface-appearance-font-description = Dit past het lettertype aan welke gebruikt wordt binnen het interface
settings-interface-appearance-font-placeholder = Standaard lettertype
settings-interface-appearance-font-os_font = Besturingssysteem lettertype
settings-interface-appearance-font-slime_font = Standaard lettertype
settings-interface-appearance-font_size = Standaard lettertype grote
settings-interface-appearance-font_size-description = Dit past het lettertype grote aan voor het gehele interfeace, behalve voor deze instellingen pagina.
## Notification settings
settings-interface-notifications = Notificaties
settings-general-interface-serial_detection = Detectie van seriële apparaten
settings-general-interface-serial_detection-description = Met deze optie verschijnt er elke keer dat je een nieuw serieel apparaat aansluit dat mogelijk een tracker is, een pop-up. Dit helpt bij het verbeteren van het instelproces van een tracker.
settings-general-interface-serial_detection-label = Detectie van seriële apparaten
@@ -376,10 +462,11 @@ settings-general-interface-feedback_sound = Feedback geluid
settings-general-interface-feedback_sound-description = Speelt een geluid telkens de reset wordt uitgevoerd
settings-general-interface-feedback_sound-label = Feedback geluid
settings-general-interface-feedback_sound-volume = Feedback geluid volume
settings-general-interface-theme = Themakleur
settings-general-interface-lang = Selecteer taal
settings-general-interface-lang-description = Verander de standaardtaal die je wilt gebruiken.
settings-general-interface-lang-placeholder = Selecteer de te gebruiken taal
settings-general-interface-connected_trackers_warning = Waarschuwing voor verbonden trackers
settings-general-interface-connected_trackers_warning-label = Waarschuwing voor verbonden trackers bij het afsluiten
settings-general-interface-use_tray = Minimaliseren naar systeem vak
settings-general-interface-use_tray-description = Hiermee kun je het venster sluiten zonder de SlimeVR server te beëindigen, zodat je deze op de achtergrond kunt blijven gebruiken zonder dat de GUI in de weg zit.
settings-general-interface-use_tray-label = Minimaliseren naar systeem vak
## Serial settings
@@ -401,6 +488,7 @@ settings-serial-factory_reset-warning-cancel = Annuleren
settings-serial-get_infos = Informatie ophalen
settings-serial-serial_select = Selecteer een seriële poort
settings-serial-auto_dropdown_item = Automatisch
settings-serial-get_wifi_scan = WiFi-scan uitvoeren
## OSC router settings
@@ -523,7 +611,26 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = Ga terug naar de bevestigingskalibratie
onboarding-reset_tutorial = Reset tutorial
onboarding-reset_tutorial-explanation = Terwijl je jouw trackers gebruikt, kunnen ze uit de lijn raken vanwege IMU-yaw-drift, of omdat je ze fysiek hebt verplaatst. Je hebt verschillende manieren om dit op te lossen.
onboarding-reset_tutorial-skip = Stap overslaan
# Cares about multiline
onboarding-reset_tutorial-0 =
Tik { $taps } keer op de gemarkeerde tracker om de yaw-reset te activeren.
Hierdoor staan de trackers in dezelfde richting als je HMD.
# Cares about multiline
onboarding-reset_tutorial-1 =
Tik { $taps } keer op de gemarkeerde tracker om een volledige reset uit te voeren.
Hiervoor moet je staan (i-pose). Er is een vertraging van 3 seconden (instelbaar) voordat het daadwerkelijk gebeurt.
Hiermee wordt de positie en rotatie van al je trackers volledig gereset. Dit zou de meeste problemen moeten oplossen.
# Cares about multiline
onboarding-reset_tutorial-2 =
Tik { $taps } keer op de gemarkeerde tracker om de montage opnieuw in te stellen.
Montage-reset helpt bij hoe de trackers daadwerkelijk op je worden geplaatst, dus als je ze per ongeluk hebt verplaatst en de oriëntatie ervan voor een groot deel hebt veranderd, zal dit helpen.
Je moet in een houding staan alsof je aan het skiën bent, zoals wordt weergegeven in de Automatische montage wizard, je hebt een vertraging van 3 seconden (instelbaar) voordat deze wordt geactiveerd.
## Setup start
@@ -547,8 +654,8 @@ onboarding-done-close = Sluit de gids
onboarding-connect_tracker-back = Ga terug naar de instellingen voor WiFi-configuratie
onboarding-connect_tracker-title = Trackers verbinden
onboarding-connect_tracker-description-p0 = Nu het leuke gedeelte, verbind al je trackers!
onboarding-connect_tracker-description-p1 = Gebruik een USB-kabel om alle trackers te verbinden die nog niet verbonden zijn.
onboarding-connect_tracker-description-p0-v1 = Op naar het leukste gedeelte, trackers verbinden!
onboarding-connect_tracker-description-p1-v1 = Sluit elke tracker één voor één aan via een USB poort.
onboarding-connect_tracker-issue-serial = Ik heb problemen met verbinden!
onboarding-connect_tracker-usb = USB Tracker
onboarding-connect_tracker-connection_status-none = Op zoek naar trackers
@@ -585,6 +692,13 @@ onboarding-calibration_tutorial-status-error = De tracker werd verplaatst
## Tracker assignment tutorial
onboarding-assignment_tutorial = Hoe een Slime Tracker voor te bereiden voordat u deze aantrekt
onboarding-assignment_tutorial-first_step = 1. Plaats een lichaamsdeelsticker (als je die hebt) op de tracker naar keuze
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Sticker
onboarding-assignment_tutorial-second_step-v2 = Bevestig de strap aan de tracker met de klittenbandzijde in dezelfde richting als de voorzijde van de tracker:
onboarding-assignment_tutorial-second_step-continuation-v2 = De klittenbandzijde van de extensie moet naar boven gericht zijn, zoals in de foto afgebeeld:
onboarding-assignment_tutorial-done = Ik heb stickers en riemen geplaatst!
## Tracker assignment setup
@@ -601,6 +715,7 @@ onboarding-assign_trackers-assigned =
} toegewezen
onboarding-assign_trackers-advanced = Geavanceerde toewijzingslocaties weergeven
onboarding-assign_trackers-next = Ik heb alle trackers toegewezen
onboarding-assign_trackers-mirror_view = Gespiegelde weergave
## Tracker assignment warnings
@@ -673,6 +788,8 @@ onboarding-assign_trackers-warning-WAIST =
## Tracker mounting method choose
onboarding-choose_mounting = Welke montagekalibratiemethode moet worden gebruikt?
# Multiline text
onboarding-choose_mounting-description = De oriëntatie van de montage corrigeert de plaatsing van trackers op uw lichaam.
onboarding-choose_mounting-auto_mounting = Automatische bevestiging
# Italized text
onboarding-choose_mounting-auto_mounting-label = Experimenteel
@@ -681,6 +798,10 @@ onboarding-choose_mounting-manual_mounting = Handmatige bevestiging
# Italized text
onboarding-choose_mounting-manual_mounting-label = Aanbevolen
onboarding-choose_mounting-manual_mounting-description = Hiermee kunt u de montagerichting handmatig kiezen voor elke tracker
# Multiline text
onboarding-choose_mounting-manual_modal-title = Ben je zeker dat je de automatische kalibratie wilt uitvoeren?
onboarding-choose_mounting-manual_modal-confirm = Ik weet zeker wat ik doe
onboarding-choose_mounting-manual_modal-cancel = Annuleren
## Tracker manual mounting setup
@@ -714,14 +835,26 @@ onboarding-automatic_mounting-put_trackers_on-next = Ik heb al mijn trackers aan
## Tracker proportions method choose
onboarding-choose_proportions = Welke verhoudingskalibratiemethode moet worden gebruikt?
# Multiline string
onboarding-choose_proportions-description-v1 =
Lichaamsverhoudingen worden gebruikt om de afmetingen van je lichaam te bepalen. Deze informatie is nodig om de posities van de trackers te berekenen.
Als de verhoudingen van je lichaam niet overeenkomen met de opgeslagen waarden, zal de tracking-precisie slechter zijn. Je kunt dan last krijgen van ongemakkelijke effecten zoals schuiven of glijden, of kan je lichaam niet goed overeenkomen met je avatar in VR.
<b>Je hoeft je lichaam maar één keer te meten!</b> Tenzij de metingen onjuist zijn of je lichaam is veranderd, hoef je dit niet opnieuw te doen.
onboarding-choose_proportions-auto_proportions = Automatische verhoudingen
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Aanbevolen
onboarding-choose_proportions-auto_proportions-description = We kunnen je verhoudingen proberen approximeren door middel van jouw bewegingen
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Deze functie zal je lichaamsverhoudingen schatten door een sample van je bewegingen op te nemen en deze door een algoritme te laten analyseren.
<b>Hiervoor moet je headset (HMD) verbonden zijn met SlimeVR en op je hoofd zitten!</b>
onboarding-choose_proportions-manual_proportions = Handmatige lichaamsverhoudingen
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Voor kleine details
onboarding-choose_proportions-manual_proportions-description = Hier kan je jouw verhoudingen handmatig aanpassen
onboarding-choose_proportions-export = Export proporties
onboarding-choose_proportions-import = Importeer proporties
onboarding-choose_proportions-import-success = geïmporteerd
onboarding-choose_proportions-import-failed = Mislukt
onboarding-choose_proportions-file_type = Lichaamsproporties bestand
## Tracker manual proportions setup
@@ -742,15 +875,21 @@ onboarding-automatic_proportions-put_trackers_on-title = Doe je trackers aan
onboarding-automatic_proportions-put_trackers_on-description = Om je verhoudingen te kalibreren, gaan we gebruik maken van de trackers die je net hebt toegewezen. Doe al je trackers aan, je kunt zien welke trackers welke zijn in de figuur rechts.
onboarding-automatic_proportions-put_trackers_on-next = Ik heb al mijn trackers aan
onboarding-automatic_proportions-requirements-title = Vereisten
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
Je hebt in ieder geval genoeg trackers om je voeten te volgen (over het algemeen 5 trackers).
Je hebt je trackers en headset op.
Je draagt je trackers en headset.
Je trackers en headset zijn verbonden met de SlimeVR server.
Je trackers en headset werken goed binnen de SlimeVR server.
Je headset rapporteert positiegegevens aan de SlimeVR-server (dit betekent over het algemeen dat SteamVR wordt uitgevoerd en verbonden met SlimeVR met behulp van SlimeVR's SteamVR-stuurprogramma).
onboarding-automatic_proportions-requirements-next = Ik heb de vereisten gelezen
onboarding-automatic_proportions-check_height-title = Controleer je lengte
onboarding-automatic_proportions-check_height-description =
We gebruiken je lengte als een basis voor onze metingen middels de HMD's hoogte, hiermee bepalen we je echte lengte.
Maar het is beter om zelf te controleren of dit klopt.
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Druk op de knop terwijl je <u>rechtop</u> staat om je lengte te berekenen. Je hebt 3 seconden na dat je op de knop drukt!
onboarding-automatic_proportions-check_height-fetch_height = Ik sta!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Onbekend
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Je HMD lengte is
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = Je echte lengte is
onboarding-automatic_proportions-check_height-next_step = Ze zijn goed
onboarding-automatic_proportions-start_recording-title = Zorg dat je klaar bent om te bewegen
onboarding-automatic_proportions-start_recording-description = We gaan nu enkele specifieke houdingen en bewegingen opnemen. Deze worden in het volgende scherm geprompt. Zorg dat je klaar bent om te beginnen als de knop wordt ingedrukt!
onboarding-automatic_proportions-start_recording-next = Start opname
@@ -780,10 +919,56 @@ onboarding-automatic_proportions-verify_results-redo = Opname opnieuw doen
onboarding-automatic_proportions-verify_results-confirm = Ze zijn correct
onboarding-automatic_proportions-done-title = Lichaam gemeten en opgeslagen.
onboarding-automatic_proportions-done-description = Je kalibratie voor lichaamsverhoudingen is voltooid!
onboarding-automatic_proportions-error_modal =
<b>Waarschuwing:</b> Er is een error ontstaan bij het schatten van de proporties!
Check alsjeblieft <docs>de docs</docs> of join onze <discord>Discord</Discord> voor hulp ^_^
onboarding-automatic_proportions-error_modal-confirm = Begrepen!
## Home
home-no_trackers = Geen trackers gedetecteerd of toegewezen
## Trackers Still On notification
trackers_still_on-modal-title = Trackers staan nog steeds aan
trackers_still_on-modal-description =
Een of meer trackers staan nog aan.
Wil je SlimeVR toch afsluiten?
trackers_still_on-modal-confirm = SlimeVR afsluiten
trackers_still_on-modal-cancel = Wacht even...
## Status system
status_system-StatusTrackerReset = Het wordt aanbevolen om een volledige reset uit te voeren omdat een of meer trackers niet zijn aangepast.
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] Momenteel niet verbonden naar de SlimeVR Feeder App.
*[other] Momenteel niet verbonden naar SteamVR via de SlimeVR driver.
}
status_system-StatusTrackerError = De { $trackerName } tracker heeft een error.
## Tray Menu
tray_menu-show = Weergeven
tray_menu-hide = Verbergen
tray_menu-quit = Beëindigen
## First exit modal
tray_or_exit_modal-title = Wat is de actie van de sluitknop?
# Multiline text
tray_or_exit_modal-description =
Hiermee kun je kiezen wat er gebeurt als je op de sluitknop klikt: het programma afsluiten of minimaliseren naar het systeemvak.
Deze instelling kun je later altijd nog wijzigen in de interface instellingen!
tray_or_exit_modal-radio-exit = Afsluiten bij sluiten
tray_or_exit_modal-radio-tray = Minimaliseren naar systeemvak
tray_or_exit_modal-submit = Opslaan
tray_or_exit_modal-cancel = Annuleren
## Unknown device modal
unknown_device-modal-title = Er is een nieuwe tracker gevonden!
unknown_device-modal-description = Er is een nieuwe tracker gevonden met MAC-adres <b>{ $deviceId }</b>. Wil je deze verbinden met SlimeVR?
unknown_device-modal-confirm = Tuurlijk!
unknown_device-modal-forget = Negeer het

View File

@@ -19,77 +19,79 @@ version_update-close = Zamknij
## Tips
tips-find_tracker = Nie wiesz który tracker to który? Obracaj Trackerem , podczas obracania będzie sie on podświetlał w serwerze.
tips-do_not_move_heels = Upewnij się aby pięty pozostały w bezruchu podczas nagrywania.
tips-find_tracker = Nie wiesz który tracker to który? Poruszaj trackerem, a będzie sie on podświetlał na serwerze.
tips-do_not_move_heels = Upewnij się, aby pięty pozostały w bezruchu podczas nagrywania.
tips-file_select = Przeciągnij i upuść pliki, których chcesz użyć, lub <u>przeglądaj</u>.
tips-tap_setup = Możesz powoli stuknąć 2 razy tracker, aby go wybrać, zamiast wybierać go z menu.
tips-turn_on_tracker = Używasz oficjalnych trackerów SlimeVR? Pamiętaj, <b><em>aby włączyć tracker</em></b> po podłączeniu go do komputera!
tips-failed_webgl = Nie udało się zainicjalizować WebGL.
## Body parts
body_part-NONE = Nie Przypisano
body_part-NONE = Nieprzypisany
body_part-HEAD = Głowa
body_part-NECK = Szyja
body_part-RIGHT_SHOULDER = Prawe Ramie
body_part-RIGHT_UPPER_ARM = Prawy Biceps
body_part-RIGHT_LOWER_ARM = Prawe PrzedRamie
body_part-RIGHT_HAND = Prawa Dłoń
body_part-RIGHT_UPPER_LEG = Prawe Udo
body_part-RIGHT_LOWER_LEG = Prawe Podudzie
body_part-RIGHT_FOOT = Prawa Stopa
body_part-RIGHT_SHOULDER = Prawe ramię
body_part-RIGHT_UPPER_ARM = Prawy biceps
body_part-RIGHT_LOWER_ARM = Prawe przedramię
body_part-RIGHT_HAND = Prawa dłoń
body_part-RIGHT_UPPER_LEG = Prawe udo
body_part-RIGHT_LOWER_LEG = Prawa kostka
body_part-RIGHT_FOOT = Prawa stopa
body_part-UPPER_CHEST = Górna część klatki piersiowej
body_part-CHEST = Klatka Piersiowa
body_part-CHEST = Klatka piersiowa
body_part-WAIST = Talia
body_part-HIP = Biodra
body_part-LEFT_SHOULDER = Lewe Ramie
body_part-LEFT_UPPER_ARM = Lewy Biceps
body_part-LEFT_LOWER_ARM = Lewe PrzedRamie
body_part-LEFT_HAND = Lewa Dłoń
body_part-LEFT_UPPER_LEG = Lewe Udo
body_part-LEFT_LOWER_LEG = Lewe Podudzie
body_part-LEFT_FOOT = Lewa Stopa
body_part-LEFT_SHOULDER = Lewe ramię
body_part-LEFT_UPPER_ARM = Lewy biceps
body_part-LEFT_LOWER_ARM = Lewe przedramię
body_part-LEFT_HAND = Lewa dłoń
body_part-LEFT_UPPER_LEG = Lewe udo
body_part-LEFT_LOWER_LEG = Lewe podudzie
body_part-LEFT_FOOT = Lewa stopa
## Proportions
skeleton_bone-NONE = Brak
skeleton_bone-HEAD = Przesunięcie Głowy
skeleton_bone-NECK = Długość Szyi
skeleton_bone-HEAD = Przesunięcie głowy
skeleton_bone-NECK = Długość szyi
skeleton_bone-torso_group = Długość torsu
skeleton_bone-UPPER_CHEST = Górna długość klatki piersiowej
skeleton_bone-CHEST_OFFSET = Przesunięcie Klatki Piersiowej
skeleton_bone-CHEST = Długość Klatki Piersiowej
skeleton_bone-WAIST = Długość Talii
skeleton_bone-HIP = Długość Bioder
skeleton_bone-HIP_OFFSET = Przesunięcie Bioder
skeleton_bone-HIPS_WIDTH = Szerokość Bioder
skeleton_bone-UPPER_CHEST = Długość górnej części klatki piersiowej
skeleton_bone-CHEST_OFFSET = Przesunięcie klatki piersiowej
skeleton_bone-CHEST = Długość klatki piersiowej
skeleton_bone-WAIST = Długość talii
skeleton_bone-HIP = Długość bioder
skeleton_bone-HIP_OFFSET = Przesunięcie bioder
skeleton_bone-HIPS_WIDTH = Szerokość bioder
skeleton_bone-leg_group = Długość nóg
skeleton_bone-UPPER_LEG = Długość Górnej Części Nogi
skeleton_bone-LOWER_LEG = Długość Dolnej Części Nogi
skeleton_bone-FOOT_LENGTH = Długość Stopy
skeleton_bone-FOOT_SHIFT = Przesunięcie Stopy
skeleton_bone-SKELETON_OFFSET = Przesunięcie Szkieletu
skeleton_bone-SHOULDERS_DISTANCE = Odległość Ramion
skeleton_bone-SHOULDERS_WIDTH = Szerokość Ramion
skeleton_bone-UPPER_LEG = Długość górnej części nogi
skeleton_bone-LOWER_LEG = Długość dolnej części nogi
skeleton_bone-FOOT_LENGTH = Długość stopy
skeleton_bone-FOOT_SHIFT = Przesunięcie stopy
skeleton_bone-SKELETON_OFFSET = Przesunięcie szkieletu
skeleton_bone-SHOULDERS_DISTANCE = Odległość ramion
skeleton_bone-SHOULDERS_WIDTH = Szerokość ramion
skeleton_bone-arm_group = Długość ramienia
skeleton_bone-UPPER_ARM = Długość Bicepsa
skeleton_bone-LOWER_ARM = Długość PrzedRamienia
skeleton_bone-HAND_Y = Odległość ręki Y
skeleton_bone-HAND_Z = Odległość ręki Z
skeleton_bone-ELBOW_OFFSET = Przesunięcie Łokcia
skeleton_bone-UPPER_ARM = Długość bicepsa
skeleton_bone-LOWER_ARM = Długość przedramienia
skeleton_bone-HAND_Y = Odległość dłoni w osi Y
skeleton_bone-HAND_Z = Odległość dłoni w osi Z
skeleton_bone-ELBOW_OFFSET = Przesunięcie łokcia
## Tracker reset buttons
reset-reset_all = Zresetuj wszystkie wymiary
reset-full = Reset
reset-mounting = Zresetuj Położenie
reset-yaw = Reset Odchylenia
reset-full = Pełny Reset
reset-mounting = Zresetuj położenie
reset-yaw = Reset odchylenia
## Serial detection stuff
serial_detection-new_device-p0 = Wykryto Nowe Urządzenie.
serial_detection-new_device-p0 = Wykryto nowe urządzenie!
serial_detection-new_device-p1 = Wprowadź dane Wi-Fi!
serial_detection-new_device-p2 = Wybierz co chcesz z nim zrobić.
serial_detection-open_wifi = Połącz z Wi-Fi
serial_detection-open_serial = Otwórz Konsole
serial_detection-open_serial = Otwórz Konsolę
serial_detection-submit = Potwierdź!
serial_detection-close = Zamknij
@@ -99,7 +101,7 @@ navbar-home = Strona Główna
navbar-body_proportions = Proporcje Ciała
navbar-trackers_assign = Przydzielenie Trackerów
navbar-mounting = Kalibracja Pozycji
navbar-onboarding = Wstępna Konfiguracja
navbar-onboarding = Wstępna konfiguracja
navbar-settings = Ustawienia
## Biovision hierarchy recording
@@ -114,21 +116,25 @@ tracking-paused = Wznów śledzenie
## Widget: Overlay settings
widget-overlay = Overlay
widget-overlay-is_visible_label = Pokaż Overlay w SteamVR
widget-overlay-is_mirrored_label = Pokaż Overlay jako Lustro
widget-overlay = Nakładka
widget-overlay-is_visible_label = Wyświetlaj nakładkę w SteamVR
widget-overlay-is_mirrored_label = Wyświetlaj nakładkę w lustrzanym odbiciu
## Widget: Drift compensation
widget-drift_compensation-clear = Wyczyść kompensację dryfu
## Widget: Clear Reset Mounting
widget-clear_mounting = Wyczyść resetowanie montażu
## Widget: Developer settings
widget-developer_mode = Tryb Dewelopera
widget-developer_mode = Tryb deweloperski
widget-developer_mode-high_contrast = Wysoki kontrast
widget-developer_mode-precise_rotation = Precise rotation
widget-developer_mode-precise_rotation = Wyświetlanie dokładniejszej rotacji
widget-developer_mode-fast_data_feed = Szybkie przesyłanie danych
widget-developer_mode-filter_slimes_and_hmd = Filtruj slimy i HMD
widget-developer_mode-filter_slimes_and_hmd = Filtruj Slime i HMD
widget-developer_mode-sort_by_name = Sortuj według nazwy
widget-developer_mode-raw_slime_rotation = Surowa rotacja
widget-developer_mode-more_info = Więcej info
@@ -140,14 +146,20 @@ widget-imu_visualizer-rotation_raw = Raw
widget-imu_visualizer-rotation_preview = Podgląd
widget-imu_visualizer-rotation_hide = Ukryj
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Podgląd szkieletu
widget-skeleton_visualizer-hide = Ukryj
## Tracker status
tracker-status-none = Brak Statusu
tracker-status-busy = Zajęty
tracker-status-error = Error
tracker-status-error = Błąd
tracker-status-disconnected = Rozłączono
tracker-status-occluded = Zablokowany
tracker-status-ok = Połączono
tracker-status-occluded = Zasłonięty
tracker-status-ok = OK
tracker-status-timed_out = Wygasły
## Tracker status columns
@@ -165,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Przód
tracker-rotation-left = Lewa
tracker-rotation-right = Prawa
tracker-rotation-front_left = Przedni lewy
tracker-rotation-front_right = Przedni prawy
tracker-rotation-left = Lewy
tracker-rotation-right = Prawy
tracker-rotation-back = Tył
tracker-rotation-back_left = Lewy tył
tracker-rotation-back_right = Prawy tył
tracker-rotation-custom = Własne
tracker-rotation-overriden = (nadpisany przez reset montażu)
## Tracker information
@@ -175,39 +193,43 @@ tracker-infos-manufacturer = Producent
tracker-infos-display_name = Wyświetlana Nazwa
tracker-infos-custom_name = Niestandardowa Nazwa
tracker-infos-url = Tracker URL
tracker-infos-version = Wersja Oprogramowania
tracker-infos-hardware_rev = Wersja Sprzętu
tracker-infos-version = Wersja oprogramowania
tracker-infos-hardware_rev = Rewizja sprzętu
tracker-infos-hardware_identifier = Identyfikator sprzętu
tracker-infos-imu = Czujnik IMU
tracker-infos-board_type = Płyta główna
tracker-infos-network_version = Wersja protokołu
## Tracker settings
tracker-settings-back = Wróć do listy trackerów
tracker-settings-title = Ustawienia Trackerów
tracker-settings-assignment_section = Przydzielanie
tracker-settings-assignment_section-description = Do jakiej części ciała jest przydzielony tracker.
tracker-settings-assignment_section-description = Do jakiej części ciała przydzielony jest tracker.
tracker-settings-assignment_section-edit = Edytuj
tracker-settings-mounting_section = Położenie Trackera
tracker-settings-mounting_section-description = Gdzie jest Tracker zamontowany?
tracker-settings-mounting_section-description = Gdzie zamontowany jest tracker?
tracker-settings-mounting_section-edit = Edytuj
tracker-settings-drift_compensation_section = Allow drift compensation
tracker-settings-drift_compensation_section-description = Czy ten tracker powinien kompensować dryf, gdy kompensacja dryfu jest włączona?
tracker-settings-drift_compensation_section-edit = Allow drift compensation
tracker-settings-drift_compensation_section = Pozwalaj na kompensację dryfu
tracker-settings-drift_compensation_section-description = Czy ten tracker powinien być korygowany, gdy kompensacja dryfu jest włączona?
tracker-settings-drift_compensation_section-edit = Pozwalaj na kompensację dryfu
# The .<name> means it's an attribute and it's related to the top key.
# In this case that is the settings for the assignment section.
tracker-settings-name_section = Nazwa Trackera
tracker-settings-name_section-description = Daj mu słodką nazwę :)
tracker-settings-name_section-placeholder = Lewa noga Yexo
tracker-settings-forget = Zapomnij o trackerze
tracker-settings-forget-description = Usuwa moduł śledzący z serwera SlimeVR i uniemożliwia mu połączenie się z nim do czasu ponownego uruchomienia serwera. Konfiguracja modułu śledzącego nie zostanie utracona.
tracker-settings-forget-label = Zapomnij o trackerze
## Tracker part card info
tracker-part_card-no_name = Brak Nazwy
tracker-part_card-no_name = Bez nazwy
tracker-part_card-unassigned = Nieprzydzielony
## Body assignment menu
body_assignment_menu = Gdzie chcesz żeby ten tracker był?
body_assignment_menu = Gdzie chcesz przypisać ten tracker?
body_assignment_menu-description = Wybierz miejsce gdzie tracker będzie przydzielony. Alternatywnie możesz ustawić wszystkie na raz.
body_assignment_menu-show_advanced_locations = Pokaż zaawansowane położenia
body_assignment_menu-manage_trackers = Zarządzaj wszystkimi trackerami
@@ -272,6 +294,8 @@ settings-sidebar-osc_router = OSC router
settings-sidebar-osc_trackers = Śledzenie VRChat OSC
settings-sidebar-utils = Narzędzia
settings-sidebar-serial = Konsola Seryjna
settings-sidebar-appearance = Wygląd
settings-sidebar-notifications = Powiadomienia
## SteamVR settings
@@ -286,10 +310,22 @@ settings-general-steamvr-description =
Przydatne jeżeli chcesz więcej kontroli nad SlimeVR.
settings-general-steamvr-trackers-waist = Talia
settings-general-steamvr-trackers-chest = Klatka Piersiowa
settings-general-steamvr-trackers-feet = Stopy
settings-general-steamvr-trackers-knees = Kolana
settings-general-steamvr-trackers-elbows = Łokcie
settings-general-steamvr-trackers-hands = Ręce
settings-general-steamvr-trackers-left_foot = Lewa stopa
settings-general-steamvr-trackers-right_foot = Prawa stopa
settings-general-steamvr-trackers-left_knee = Lewe kolano
settings-general-steamvr-trackers-right_knee = Prawe kolano
settings-general-steamvr-trackers-left_elbow = Lewy łokieć
settings-general-steamvr-trackers-right_elbow = Prawy łokieć
settings-general-steamvr-trackers-left_hand = Lewa dłoń
settings-general-steamvr-trackers-right_hand = Prawa dłoń
settings-general-steamvr-trackers-tracker_toggling = Automatyczne przypisanie wirtualnych trackerów
settings-general-steamvr-trackers-tracker_toggling-description = Automatycznie obsługuje włączanie i wyłączanie wirtualnych trackerów SteamVR w zależności od bieżących przypisań fizycznych trackerów
settings-general-steamvr-trackers-tracker_toggling-label = Automatyczne przypisanie wirtualnych trackerów SteamVR
settings-general-steamvr-trackers-hands-warning =
<b>Ostrzeżenie:</b> trackery na dłoniach zastąpią kontrolery.¶
Nie jest to typowa konfiguracja. Czy kontynuować?
settings-general-steamvr-trackers-hands-warning-cancel = Anuluj
settings-general-steamvr-trackers-hands-warning-done = Tak
## Tracker mechanics
@@ -301,12 +337,13 @@ settings-general-tracker_mechanics-filtering-description =
Przewidywanie przewiduje ruchy a Wygładzanie stara się wygładzić ruchy.
settings-general-tracker_mechanics-filtering-type = Filtry
settings-general-tracker_mechanics-filtering-type-none = Brak Filtrów
settings-general-tracker_mechanics-filtering-type-none-description = Używa rotacji takimi jakimi są.
settings-general-tracker_mechanics-filtering-type-none-description = Używa rotacji w niezmienionej formie. Wszystkie filtry są wyłączone.
settings-general-tracker_mechanics-filtering-type-smoothing = Wygładzanie
settings-general-tracker_mechanics-filtering-type-smoothing-description = Wygładza ruchy lecz dodaje trochę opóźnienia.
settings-general-tracker_mechanics-filtering-type-prediction = Przewidywanie
settings-general-tracker_mechanics-filtering-type-prediction-description = Zmniejsza opóźnienie i robi ruchy trochę ostrzejszymi, ale może dodać trochę drgań.
settings-general-tracker_mechanics-filtering-type-prediction-description = Zmniejsza opóźnienie i zwiększa dynamikę ruchów, ale może dodać trochę drgań.
settings-general-tracker_mechanics-filtering-amount = Ilość
settings-general-tracker_mechanics-yaw-reset-smooth-time = Czas wygładzania resetu odchylenia (0s wyłącza wygładzanie)
settings-general-tracker_mechanics-drift_compensation = Kompensacja dryfu
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -315,6 +352,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Kompensacja dryfu
settings-general-tracker_mechanics-drift_compensation-amount-label = Compensation amount
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Użyj maksymalnie x ostatnich resetów
settings-general-tracker_mechanics-save_mounting_reset = Zapisz pozycję trackerów na ciele
settings-general-tracker_mechanics-save_mounting_reset-description =
Zapisuje kalibrację pozycji trackerów na ciele pomiędzy ponownymi uruchomieniami. Użyteczne¶
podczas noszenia stroju, w którym trackery przymocowane sa na stałe. <b>Niezalecane dla zwykłych użytkowników z odpinanymi trackerami!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Zapisz pozycję trackerów
## FK/Tracking settings
@@ -330,20 +372,42 @@ settings-general-fk_settings-leg_tweak-floor_clip = Klip podłogowy
settings-general-fk_settings-leg_tweak-skating_correction = Korekta jazdy na łyżwach
settings-general-fk_settings-leg_tweak-toe_snap = Pstryknięcie palcem
settings-general-fk_settings-leg_tweak-foot_plant = Korekta stopy
settings-general-fk_settings-leg_tweak-skating_correction-amount = Skating correction strength
settings-general-fk_settings-leg_tweak-skating_correction-amount = Siła korekcji efektu jazdy na łyżwach
settings-general-fk_settings-leg_tweak-skating_correction-description = Korekta jazdy na łyżwach koryguje jazdę na łyżwach, ale może zmniejszyć dokładność niektórych wzorców ruchu. Włączając tę opcję, pamiętaj o pełnym zresetowaniu i ponownej kalibracji w grze.
settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip może zmniejszyć lub nawet wyeliminować przecinanie podłogi. Włączając tę opcję, pamiętaj o pełnym zresetowaniu i ponownej kalibracji w grze.
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap próbuje odgadnąć obrót twoich stóp, jeśli trackery stóp nie są używane.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant obraca stopy, aby były równoległe do podłoża podczas kontaktu.
settings-general-fk_settings-leg_fk = Śledzenie nóg
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Włącz resetowanie montażu stóp, chodząc na palcach.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset mocowania stóp
settings-general-fk_settings-arm_fk = Śledzenie ramienia
settings-general-fk_settings-arm_fk-description = Zmień sposób śledzenia ramion.
settings-general-fk_settings-arm_fk-force_arms = Śledź ramiona z gogli VR
settings-general-fk_settings-skeleton_settings = Ustawienia szkieletu
settings-general-fk_settings-arm_fk-reset_mode-description = Zmień pozycję ramienia oczekiwaną przy resetowaniu montażu.
settings-general-fk_settings-arm_fk-back = Wstecz
settings-general-fk_settings-arm_fk-back-description = Tryb domyślny, w którym górne ramiona cofają się, a dolne ramiona przesuwają się do przodu.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (w górę)
settings-general-fk_settings-arm_fk-tpose_up-description = Oczekuje, że twoje ręcę będą opuszczone podczas pelnego resetu i wystawione pod kątem 90 stopni na boki podczas resetu montażu.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (w dół)
settings-general-fk_settings-arm_fk-tpose_down-description = Oczekuje, że Twoje ramiona będą ustawione pod kątem w 90 stopni na boki podczas Pełnego Resetu i w dół po bokach podczas Resetu Montażowego.
settings-general-fk_settings-arm_fk-forward = Do przodu
settings-general-fk_settings-arm_fk-forward-description = Oczekuje, że Twoje ramiona będą uniesione pod kątem 90 stopni do przodu. Przydatne w VTubingu.
settings-general-fk_settings-skeleton_settings-toggles = Przełączniki szkieletowe
settings-general-fk_settings-skeleton_settings-description = Włącz lub wyłącz ustawienia szkieletu. Zaleca się pozostawienie ich włączonych.
settings-general-fk_settings-skeleton_settings-extended_spine = Wydłużony kręgosłup
settings-general-fk_settings-skeleton_settings-extended_pelvis = Rozszerzona miednica
settings-general-fk_settings-skeleton_settings-extended_knees = Wydłużone kolano
settings-general-fk_settings-skeleton_settings-extended_spine_model = Wydłużony model kręgosłupa
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Rozszerzony model miednicy
settings-general-fk_settings-skeleton_settings-extended_knees_model = Model z przedłużonym kolanem
settings-general-fk_settings-skeleton_settings-ratios = Współczynniki szkieletu
settings-general-fk_settings-skeleton_settings-ratios-description = Zmień wartości ustawień szkieletu. Po zmianie może być konieczne dostosowanie proporcji.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Przypisz talię od klatki piersiowej do bioder
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Przypisz talię od klatki piersiowej do nóg
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Przypisz biodro od klatki piersiowej do nóg
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Przypisz biodro od pasa do nóg
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Średnie odchylenie biodra i przetoczenie nogami
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Uśrednij odchylenie i przechylenie nakolanników za pomocą kostek
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Średnie odchylenie kolan i przechylenie kostek
settings-general-fk_settings-self_localization-title = Tryb Mocap
settings-general-fk_settings-self_localization-description = Tryb Mocap pozwala szkieletowi z grubsza śledzić własną pozycję bez headsetu lub innych trackerów. Pamiętaj, że wymaga to śledzenia stóp i głowy do działania i nadal jest eksperymentalne.
settings-general-fk_settings-vive_emulation-title = Emulacja Vive
settings-general-fk_settings-vive_emulation-description = Naśladuj problemy z trackerem talii, które mają trackery Vive. To żart i pogarsza śledzenie.
settings-general-fk_settings-vive_emulation-label = Włącz emulację Vive
@@ -362,6 +426,15 @@ settings-general-gesture_control-taps =
[many] { $amount } dotknięć
*[other] { $amount } dotknięć
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 tracker
[few] 2 trackery
[many] { $amount } trackery
*[other] { $amount } trackery
}
settings-general-gesture_control-yawResetEnabled = Włącz stuknięcie, aby zresetować odchylanie
settings-general-gesture_control-yawResetDelay = Opóźnienie resetowania odchylenia
settings-general-gesture_control-yawResetTaps = Stuknięcie do resetowania odchylenia
@@ -371,24 +444,45 @@ settings-general-gesture_control-fullResetTaps = Stuknij do pełnego resetu
settings-general-gesture_control-mountingResetEnabled = Włącz stuknięcie, aby zresetować położenie
settings-general-gesture_control-mountingResetDelay = Opóźnienie resetowania położenia
settings-general-gesture_control-mountingResetTaps = Stuknięcie do resetowania położenia
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Trackery ponad progiem
settings-general-gesture_control-numberTrackersOverThreshold-description = Zwiększ tę wartość, jeśli wykrywanie stukniecia nie działa. Nie zwiększaj go ponad to, co konieczne, ponieważ wygeneruje to fałszywe stuknięcia.
## Interface settings
## Appearance settings
settings-general-interface = Interfejs
settings-interface-appearance = Wygląd
settings-general-interface-dev_mode = Tryb Dewelopera
settings-general-interface-dev_mode-description = Ten tryb przydaje się do sprawdzania większej ilości danych.
settings-general-interface-dev_mode-label = Tryb Dewelopera
settings-general-interface-serial_detection = Wykrywanie urządzeń
settings-general-interface-serial_detection-description = Ta opcja daje powiadomienia jeżeli serwer wykryje urządzenie które może być trackerem
settings-general-interface-serial_detection-label = Wykrywanie urządzeń
settings-general-interface-feedback_sound = Dźwięk Informacji
settings-general-interface-feedback_sound-description = Ta opcja odtworzy dźwięk, gdy reset zostanie uruchomiony
settings-general-interface-feedback_sound-label = Dźwięk Informacji
settings-general-interface-feedback_sound-volume = Poziom głośności sprzężenia zwrotnego
settings-general-interface-theme = Motyw kolorystyczny
settings-general-interface-lang = Wybierz Język
settings-general-interface-lang-description = Zmień podstawowy język jaki chcesz używać
settings-general-interface-lang-placeholder = Wybierz Język który będziesz używać
# Keep the font name untranslated
settings-interface-appearance-font = Czcionka interfejsu użytkownika
settings-interface-appearance-font-description = Spowoduje to zmianę czcionki używanej przez interfejs
settings-interface-appearance-font-placeholder = Domyślna czcionka
settings-interface-appearance-font-os_font = Czcionka systemu operacyjnego
settings-interface-appearance-font-slime_font = Domyślna czcionka
settings-interface-appearance-font_size = Skalowanie czcionki bazowej
settings-interface-appearance-font_size-description = Wpływa to na rozmiar czcionki całego interfejsu z wyjątkiem tego panelu ustawień
## Notification settings
settings-interface-notifications = Powiadomienia
settings-general-interface-serial_detection = Wykrywanie urządzeń
settings-general-interface-serial_detection-description = Ta opcja otworzy okienko, jeżeli serwer wykryje podłaczenie urządzenia, które może być trackerem.
settings-general-interface-serial_detection-label = Wykrywanie urządzeń
settings-general-interface-feedback_sound = Dźwięk zwrotny
settings-general-interface-feedback_sound-description = Ta opcja odtworzy dźwięk, gdy reset zostanie uruchomiony
settings-general-interface-feedback_sound-label = Dźwięk Informacji
settings-general-interface-feedback_sound-volume = Poziom głośności sprzężenia zwrotnego
settings-general-interface-connected_trackers_warning = Ostrzeżenie o podłączonych trackerach
settings-general-interface-connected_trackers_warning-description = Ta opcja wyświetli wyskakujące okienko za każdym razem, gdy spróbujesz wyjść ze SlimeVR, mając jeden lub więcej podłączonych trackerów. Przypomina o wyłączeniu trackerów, gdy skończysz, aby wydłużyć żywotność baterii.
settings-general-interface-connected_trackers_warning-label = Ostrzeżenie o podłączonych trackerach przy wyjściu
settings-general-interface-use_tray = Minimalizuj do zasobnika systemowego
settings-general-interface-use_tray-description = Pozwala zamknąć okno bez wyłączania serwera SlimeVR, aby używać trackerów bez interfejsu graficznego.
settings-general-interface-use_tray-label = Minimalizuj do zasobnika systemowego
## Serial settings
@@ -410,6 +504,7 @@ settings-serial-factory_reset-warning-cancel = Anuluj
settings-serial-get_infos = Uzyskaj informacje
settings-serial-serial_select = Wybierz port szeregowy
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Skanuj sieci WiFi
## OSC router settings
@@ -427,11 +522,11 @@ settings-osc-router-network-description =
Ustaw porty do odbierania i wysyłania danych.
Mogą to być takie same porty, jak inne porty używane na serwerze SlimeVR.
settings-osc-router-network-port_in =
.label = Port In
.placeholder = Port in (default: 9002)
.label = Port wejściowy
.placeholder = Port wejściowy (domyślnie: 9002)
settings-osc-router-network-port_out =
.label = Port Out
.placeholder = Port out (default: 9000)
.label = Port wyjściowy
.placeholder = Port wyjściowy (domyślnie: 9000)
settings-osc-router-network-address = Adres sieciowy
settings-osc-router-network-address-description = Ustaw adres, na który mają być wysyłane dane.
settings-osc-router-network-address-placeholder = IPV4 address
@@ -456,7 +551,7 @@ settings-osc-vrchat-network-port_out =
.placeholder = Port out (default: 9000)
settings-osc-vrchat-network-address = Adres sieciowy
settings-osc-vrchat-network-address-description = Wybierz adres, na który chcesz wysłać dane do VRChat (sprawdź ustawienia Wi-Fi na swoim urządzeniu).
settings-osc-vrchat-network-address-placeholder = VRChat ip address
settings-osc-vrchat-network-address-placeholder = Adres IP VRChata
settings-osc-vrchat-network-trackers = Trackers
settings-osc-vrchat-network-trackers-description = Przełącz wysyłanie określonych trackerów przez OSC.
settings-osc-vrchat-network-trackers-chest = Klatka piersiowa
@@ -556,7 +651,7 @@ onboarding-reset_tutorial-2 =
## Setup start
onboarding-home = Witamy w SlimeVR
onboarding-home-start = Zaczynajmny!
onboarding-home-start = Zaczynajmy!
## Enter VR part of setup
@@ -575,8 +670,8 @@ onboarding-done-close = Zamknij Poradnik
onboarding-connect_tracker-back = Cofnij się do ustawień Wi-Fi
onboarding-connect_tracker-title = Połącz trackery
onboarding-connect_tracker-description-p0 = Teraz czas na zabawę, połączenie wszystkich trackerów!
onboarding-connect_tracker-description-p1 = Po prostu połącz wszystkie dotychczas nie połączone trackery za pomocą USB
onboarding-connect_tracker-description-p0-v1 = A teraz czas na najfajniejszą część: łączenie trackerów!
onboarding-connect_tracker-description-p1-v1 = Podłącz każdy tracker pojedynczo przez port USB.
onboarding-connect_tracker-issue-serial = Mam problemy z połączeniem!
onboarding-connect_tracker-usb = USB Tracker
onboarding-connect_tracker-connection_status-none = Szukanie Trackerów
@@ -619,8 +714,8 @@ onboarding-assignment_tutorial = Jak przygotować Slime Tracker przed założeni
onboarding-assignment_tutorial-first_step = 1. Umieść naklejkę z częścią ciała (jeśli ją posiadasz) na trackerze według własnego uznania
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Naklejka
onboarding-assignment_tutorial-second_step = 2. Przymocuj pasek do trackera, utrzymując stronę paska z haczykiem i pętelką w następującej orientacji:
onboarding-assignment_tutorial-second_step-continuation = Strona z haczykiem i pętelką dla przedłużenia powinna być w tej orientacji:
onboarding-assignment_tutorial-second_step-v2 = 2. Przymocuj pasek do trackera, tak aby rzep paska był skierowany w tę samą stronę, co slime face część trackera:
onboarding-assignment_tutorial-second_step-continuation-v2 = Strona z rzepem dla przedłużenia powinna być skierowana do góry, jak na poniższym obrazku:
onboarding-assignment_tutorial-done = Umieszczam naklejki i paski!
## Tracker assignment setup
@@ -640,6 +735,7 @@ onboarding-assign_trackers-assigned =
}
onboarding-assign_trackers-advanced = Pokaż zaawansowane ustawienia pozycji
onboarding-assign_trackers-next = Przydzieliłem już wszystkie trackery
onboarding-assign_trackers-mirror_view = Widok lustrzany
## Tracker assignment warnings
@@ -722,6 +818,13 @@ onboarding-choose_mounting-manual_mounting = Montaż ręczny
# Italized text
onboarding-choose_mounting-manual_mounting-label = Zalecany
onboarding-choose_mounting-manual_mounting-description = Umożliwi to ręczne wybranie kierunku montażu dla każdego trackera
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Czy na pewno chcesz to zrobić
automatyczna kalibracja montażu?
onboarding-choose_mounting-manual_modal-description = <b> Ręczna kalibracja montażu jest zalecana dla nowych użytkowników </b> , ponieważ prawidłowe ustawienie pozycji automatycznej kalibracji montażu może być trudne i może wymagać pewnej praktyki.
onboarding-choose_mounting-manual_modal-confirm = Jestem pewien tego, co robię
onboarding-choose_mounting-manual_modal-cancel = Anuluj
## Tracker manual mounting setup
@@ -743,31 +846,38 @@ onboarding-automatic_mounting-done-title = Rotacja trackerów została skalibrow
onboarding-automatic_mounting-done-description = Kalibracja skończona!
onboarding-automatic_mounting-done-restart = Cofnij się na początek
onboarding-automatic_mounting-mounting_reset-title = Kalibracja Pozycji
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Zrób pozycje "na Małysza" z wygiętymi nogami, tułów pochylony do przodu z wygiętymi rękami.
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Zrób pozycje "na Małysza" z wygiętymi nogami, tułowiem pochylonym do przodu z wygiętymi rękami.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Naciśnij "Zresetuj Położenie" i poczekaj 3 sekundy zanim trackery się zresetują.
onboarding-automatic_mounting-preparation-title = Przygotowania
onboarding-automatic_mounting-preparation-step-0 = 1. Stań prosto z rękami wyciągniętymi na bok.
onboarding-automatic_mounting-preparation-step-1 = 2. Naciśnij "Reset" i poczekaj 3 sekundy zanim trackery się zresetują.
onboarding-automatic_mounting-put_trackers_on-title = Załóż trackery
onboarding-automatic_mounting-put_trackers_on-description = Aby skalibrować rotacje, użyjemy trackerów które przed chwilą przypisałeś. Załóż wszystkie trackery, będziesz widział który to który na postaci po prawej.
onboarding-automatic_mounting-put_trackers_on-next = Mam wszystkie trackery założone
onboarding-automatic_mounting-put_trackers_on-description = Aby skalibrować rotacje, użyjemy trackerów które przypisano przed chwilą. Załóż wszystkie trackery, możesz je odróznić na postaci po prawej.
onboarding-automatic_mounting-put_trackers_on-next = Wszystkie trackery założone
## Tracker proportions method choose
onboarding-choose_proportions = Jakiej metody kalibracji proporcji użyć?
# Multiline string
onboarding-choose_proportions-description =
Proporcje ciała służą do poznania wymiarów twojego ciała. Są wymagane do obliczenia pozycji trackerów.
Kiedy proporcje twojego ciała nie odpowiada zapisanym, precyzja śledzenia będzie gorsza i zauważysz takie rzeczy, jak jazda na łyżwach lub ślizganie się, lub twoje ciało nie pasuje dobrze do twojego awatara.
onboarding-choose_proportions-description-v1 =
Proporcje ciała służą do określenia wymiarów Twojego ciała. Są niezbędne do obliczenia właściwej pozycji trackerów.
Gdy proporcje Twojego ciała nie będą odpowiadać zapisanym, Twoja precyzja śledzenia będzie gorsza i zauważysz takie problemy jak niedopasowanie awatara do Twojego ciała, efekt jazdy na łyżwach i ślizgania się.¶
<b>Wystarczy zmierzyć swoje ciało tylko raz!</b> O ile proporcje są poprawne i Twoje ciało się nie zmieniło, nie musisz powtarzać żadnych pomiarów.
onboarding-choose_proportions-auto_proportions = Proporcje automatyczne
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Zalecana
onboarding-choose_proportions-auto_proportions-description = To odgadnie twoje proporcje, rejestrując próbkę twoich ruchów i przepuszczając ją przez sztuczną inteligencję
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Spowoduje to estymację Twoich proporcji poprzez zarejestrowanie nagrania Twoich ruchów i przetworzenie ich przez algorytm.¶
<b>Wymaga to podłączenia headsetu (HMD) do SlimeVR i założenia go na głowę!</b>
onboarding-choose_proportions-manual_proportions = Ręczne proporcje
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Drobne detale
onboarding-choose_proportions-manual_proportions-description = Umożliwi to ręczne dostosowanie proporcji poprzez ich bezpośrednią modyfikację
onboarding-choose_proportions-export = Eksportuj proporcje
onboarding-choose_proportions-import = Importuj proporcje
onboarding-choose_proportions-import-success = Importowane
onboarding-choose_proportions-import-failed = Niepowodzenie
onboarding-choose_proportions-file_type = Proporcje ciała
## Tracker manual proportions setup
@@ -790,14 +900,28 @@ onboarding-automatic_proportions-put_trackers_on-description = Aby skalibrować
onboarding-automatic_proportions-put_trackers_on-next = Mam wszystkie trackery założone
onboarding-automatic_proportions-requirements-title = Wymagania
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
Masz co najmniej wystarczającą liczbę trackerów do śledzenia twoich stóp (zazwyczaj 5 trackerów).
Masz włączone trackery i zestaw VR.
Masz na sobie trackery i zestaw VR.
Twoje urządzenia śledzące i zestaw VR są połączone z serwerem SlimeVR.
Twoje urządzenia śledzące i zestaw VR działają poprawnie na serwerze SlimeVR.
Twój zestaw VR przesyła dane pozycyjne do serwera SlimeVR (oznacza to ogólnie, że SteamVR działa i jest połączony ze SlimeVR za pomocą sterownika SlimeVR dla SteamVR).
onboarding-automatic_proportions-requirements-descriptionv2 =
Masz wystarczającą liczbę trackerów, aby śledzić swoje stopy (zwykle 5 trackerów).
Masz włączone i założone trackery oraz headset.¶
Twoje trackery i heaset są połączone z serwerem SlimeVR i działają poprawnie (np. nie ma przycięć, rozłączeń itp.).¶
Twój headset raportuje dane o pozycji do serwera SlimeVR (zazwyczaj oznacza to, że SteamVR jest uruchomiony i podłączony do SlimeVR za pomocą sterownika SteamVR SlimeVR).¶
Twoje śledzenie działa i dokładnie odzwierciedla Twoje ruchy (wykonałeś pełny reset i poruszają się we właściwym kierunku podczas kopania, schylania się, siedzenia itp.).
onboarding-automatic_proportions-requirements-next = Zapoznałem się z wymaganiami
onboarding-automatic_proportions-check_height-title = Sprawdź swój wzrost
onboarding-automatic_proportions-check_height-description = Używamy Twojego wzrostu jako podstawy naszych pomiarów, używając wzrostu HMD jako przybliżenia Twojego rzeczywistego wzrostu, ale lepiej samemu sprawdzić, czy są prawidłowe!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Naciśnij przycisk stojąc <u>wyprostowany</u>, aby obliczyć swój wzrost. Masz 3 sekundy po naciśnięciu przycisku!
onboarding-automatic_proportions-check_height-guardian_tip =
Jeśli korzystasz z samodzielnego zestawu VR, upewnij się, że twoja granica¶
bezpieczeństwa (guardian) jest włączona, aby poprawnie rozpoznać Twój wzrost!
onboarding-automatic_proportions-check_height-fetch_height = Stoję!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Nieznany
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Twoja wysokość HMD to
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = więc twój rzeczywisty wzrost to
onboarding-automatic_proportions-check_height-next_step = Są w porządku
onboarding-automatic_proportions-start_recording-title = Bądź gotowy żeby się ruszać
onboarding-automatic_proportions-start_recording-description = Będziemy teraz nagrywać specyficzne pozycje i ruchy. Będą one pokazane w następnym okienku. Bądź gotowy po naciśnięciu przycisku!
onboarding-automatic_proportions-start_recording-next = Uruchom nagrywanie
@@ -821,19 +945,32 @@ onboarding-automatic_proportions-recording-timer =
[many] Pozostało { $time } sekund
*[other] Pozostało { $time } sekund
}
onboarding-automatic_proportions-verify_results-title = Zweryfikuj Wyniki
onboarding-automatic_proportions-verify_results-title = Zweryfikuj wyniki
onboarding-automatic_proportions-verify_results-description = Sprawdź wyniki poniżej, czy są prawidłowe?
onboarding-automatic_proportions-verify_results-results = Wyniki Nagrywania
onboarding-automatic_proportions-verify_results-results = Wyniki nagrywania
onboarding-automatic_proportions-verify_results-processing = Przetwarzanie wyniku
onboarding-automatic_proportions-verify_results-redo = Powtórz Nagrywanie
onboarding-automatic_proportions-verify_results-confirm = Są Prawidłowe
onboarding-automatic_proportions-done-title = Zmierzono oraz Zapisano.
onboarding-automatic_proportions-verify_results-redo = Powtórz nagranie
onboarding-automatic_proportions-verify_results-confirm = Wyniki prawidłowe
onboarding-automatic_proportions-done-title = Zmierzono oraz zapisano.
onboarding-automatic_proportions-done-description = Twoja kalibracja ciała została zakończona!
onboarding-automatic_proportions-error_modal =
<b>Ostrzeżenie:</b> Wykryto błąd podczas szacowania proporcji!
Proszę <docs>sprawdź dokumentację</docs> lub dołącz do naszego <discord>Discord</discord>, aby uzyskać pomoc ^_^
onboarding-automatic_proportions-error_modal-confirm = Zrozumiano!
## Home
home-no_trackers = Nie wykryto trackerów
## Trackers Still On notification
trackers_still_on-modal-title = Trackery nadal włączone
trackers_still_on-modal-description =
Jeden lub więcej modułów śledzących jest nadal włączonych.
Czy nadal chcesz wyjść ze SlimeVR?
trackers_still_on-modal-confirm = Wyjdź ze SlimeVR
trackers_still_on-modal-cancel = Poczekaj!
## Status system
status_system-StatusTrackerReset = Zaleca się wykonanie pełnego resetu, ponieważ jeden lub więcej trackerów nie jest wyregulowanych.
@@ -842,4 +979,32 @@ status_system-StatusSteamVRDisconnected =
[steamvr_feeder] Nie można połączyć się z aplikacją SlimeVR Feeder.
*[other] Nie można połączyć się ze SteamVR przez sterownik SlimeVR.
}
status_system-StatusTrackerError = Moduł śledzący { $trackerName } ma błąd.
status_system-StatusTrackerError = Tracker { $trackerName } ma błąd.
## Tray Menu
tray_menu-show = Pokaż
tray_menu-hide = Ukryj
tray_menu-quit = Zakończ
## First exit modal
tray_or_exit_modal-title = Co powinien robić przycisk zamykania?
# Multiline text
tray_or_exit_modal-description =
Dzięki temu możesz wybrać, czy chcesz opuścić serwer, czy zminimalizować go do zasobnika po naciśnięciu przycisku zamykania.¶
Możesz to później zmienić w ustawieniach interfejsu!
tray_or_exit_modal-radio-exit = Wyjdź po zamknięciu
tray_or_exit_modal-radio-tray = Minimalizuj do zasobnika systemowego
tray_or_exit_modal-submit = Zachowaj
tray_or_exit_modal-cancel = Anuluj
## Unknown device modal
unknown_device-modal-title = Znaleziono nowy tracker!
unknown_device-modal-description =
Dostępny jest nowy tracker z adresem MAC b { $deviceId } /b .¶
Czy chcesz podłączyć go do SlimeVR?
unknown_device-modal-confirm = Jasne!
unknown_device-modal-forget = Ignoruj

View File

@@ -23,6 +23,8 @@ tips-find_tracker = Não tem certeza qual tracker é qual? Balance o tracker e e
tips-do_not_move_heels = Tenha certeza de não mexer seus calcanhares durante a gravação!
tips-file_select = Arraste e solte arquivos para usar, ou <u>pesquise</u>.
tips-tap_setup = Pode tocar lentamente 2 vezes no seu tracker para o escolher em vez de o selecionar no menu.
tips-turn_on_tracker = Está usando trackers oficiais do SlimeVR? Lembre-se de <b><em> ligar o seu tracker </em></b> após conecta-lo ao computador!
tips-failed_webgl = Falha ao inicializar o WebGL.
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = Mão Direita
body_part-RIGHT_UPPER_LEG = Coxa direita
body_part-RIGHT_LOWER_LEG = Canela direita
body_part-RIGHT_FOOT = Pé direito
body_part-UPPER_CHEST = Peito Superior
body_part-CHEST = Peito
body_part-WAIST = Cintura
body_part-HIP = Quadril
@@ -52,12 +55,15 @@ body_part-LEFT_FOOT = Pé esquerdo
skeleton_bone-NONE = Nada
skeleton_bone-HEAD = Deslocamento da Cabeça
skeleton_bone-NECK = Tamanho do Pescoço
skeleton_bone-CHEST = Chest Length
skeleton_bone-torso_group = Tamanho do Tronco
skeleton_bone-UPPER_CHEST = Tamanho do Peito Superior
skeleton_bone-CHEST_OFFSET = Chest Offset
skeleton_bone-CHEST = Chest Length
skeleton_bone-WAIST = Waist Length
skeleton_bone-HIP = Hip Length
skeleton_bone-HIP_OFFSET = Compensação do Quadril
skeleton_bone-HIPS_WIDTH = Largura do Quadril
skeleton_bone-leg_group = Tamanho da Perna
skeleton_bone-UPPER_LEG = Upper Leg Length
skeleton_bone-LOWER_LEG = Lower Leg Length
skeleton_bone-FOOT_LENGTH = Tamanho do Pé
@@ -65,6 +71,7 @@ skeleton_bone-FOOT_SHIFT = Compensação do Pé
skeleton_bone-SKELETON_OFFSET = Compensação do Esqueleto
skeleton_bone-SHOULDERS_DISTANCE = Distância dos Ombros
skeleton_bone-SHOULDERS_WIDTH = Largura dos Ombros
skeleton_bone-arm_group = Tamanho do Braço
skeleton_bone-UPPER_ARM = Tamanho do Braço Superior
skeleton_bone-LOWER_ARM = Distância do Antebraço
skeleton_bone-HAND_Y = Distância da mão Y
@@ -74,8 +81,9 @@ skeleton_bone-ELBOW_OFFSET = Compensação do Cotovelo
## Tracker reset buttons
reset-reset_all = Redefinir todas as proporções
reset-full = Reset
reset-full = Reset Completo
reset-mounting = Reset de Posição
reset-yaw = Reset de guinada (yaw)
## Serial detection stuff
@@ -103,6 +111,8 @@ bvh-recording = Gravando...
## Tracking pause
tracking-unpaused = Pausar tracking
tracking-paused = Resumir tracking
## Widget: Overlay settings
@@ -114,6 +124,10 @@ widget-overlay-is_mirrored_label = Mostrar Overlay como espelho
widget-drift_compensation-clear = Refazer compensação de drift
## Widget: Clear Reset Mounting
widget-clear_mounting = Limpar reset de posição
## Widget: Developer settings
widget-developer_mode = Modo de desenvolvedor
@@ -130,6 +144,12 @@ widget-developer_mode-more_info = More info
widget-imu_visualizer = Rotation
widget-imu_visualizer-rotation_raw = Raw
widget-imu_visualizer-rotation_preview = Preview
widget-imu_visualizer-rotation_hide = Esconder
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Visualizar esqueleto
widget-skeleton_visualizer-hide = Esconder
## Tracker status
@@ -139,6 +159,7 @@ tracker-status-error = Erro
tracker-status-disconnected = Desconectado
tracker-status-occluded = Ocluso
tracker-status-ok = Conectado
tracker-status-timed_out = Tempo esgotado
## Tracker status columns
@@ -156,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Frente
tracker-rotation-front_left = Frente-Esquerda
tracker-rotation-front_right = Frente-direita
tracker-rotation-left = Esquerda
tracker-rotation-right = Direita
tracker-rotation-back = Atrás
tracker-rotation-back_left = Trás-esquerda
tracker-rotation-back_right = Trás-direita
tracker-rotation-custom = Personalizado
tracker-rotation-overriden = (substituído por reset de posição)
## Tracker information
@@ -168,6 +195,10 @@ tracker-infos-custom_name = Nome personalizado
tracker-infos-url = URL do Tracker
tracker-infos-version = Versão do firmware
tracker-infos-hardware_rev = Revisão do hardware
tracker-infos-hardware_identifier = ID do Hardware
tracker-infos-imu = Sensor IMU
tracker-infos-board_type = Placa principal
tracker-infos-network_version = Versão do protocolo
## Tracker settings
@@ -187,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = Ligar a compensação de drif
tracker-settings-name_section = Nome do tracker
tracker-settings-name_section-description = Dê um apelido fofo :)
tracker-settings-name_section-placeholder = Coxa esquerda de NightyBeast
tracker-settings-forget = Esquecer o tracker
tracker-settings-forget-description = Remove o tracker do servidor SlimeVR e impede que ele se conecte a ele até que o servidor seja reiniciado. A configuração do tracker não será perdida.
tracker-settings-forget-label = Esquecer o tracker
## Tracker part card info
@@ -220,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } right thigh
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } right ankle?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } right foot?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } right controller?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } peito superior?
tracker_selection_menu-CHEST = { -tracker_selection-part } chest?
tracker_selection_menu-WAIST = { -tracker_selection-part } waist?
tracker_selection_menu-HIP = { -tracker_selection-part } hip?
@@ -256,8 +291,11 @@ settings-sidebar-fk_settings = Opções de Tracker
settings-sidebar-gesture_control = Controle de Gestos
settings-sidebar-interface = Interface
settings-sidebar-osc_router = Roteador OSC
settings-sidebar-osc_trackers = Trackers OSC do VRChat
settings-sidebar-utils = Utilidades
settings-sidebar-serial = Console Serial
settings-sidebar-appearance = Aparência
settings-sidebar-notifications = Notificações
## SteamVR settings
@@ -272,10 +310,22 @@ settings-general-steamvr-description =
Útil se você quer mais controle do que o SlimeVR faz.
settings-general-steamvr-trackers-waist = Cintura
settings-general-steamvr-trackers-chest = Peito
settings-general-steamvr-trackers-feet = Pés
settings-general-steamvr-trackers-knees = Joelhos
settings-general-steamvr-trackers-elbows = Cotovelos
settings-general-steamvr-trackers-hands = Mãos
settings-general-steamvr-trackers-left_foot = Pé esquerdo
settings-general-steamvr-trackers-right_foot = Pé direito
settings-general-steamvr-trackers-left_knee = Joelho esquerdo
settings-general-steamvr-trackers-right_knee = Joelho direito
settings-general-steamvr-trackers-left_elbow = Cotovelo esquerdo
settings-general-steamvr-trackers-right_elbow = Cotovelo direito
settings-general-steamvr-trackers-left_hand = Mão esquerda
settings-general-steamvr-trackers-right_hand = Mão direita
settings-general-steamvr-trackers-tracker_toggling = Atribuição automática de trackers
settings-general-steamvr-trackers-tracker_toggling-description = Liga ou desliga automaticamente os trackers SteamVR dependendo das suas configurações atuais dos trackers
settings-general-steamvr-trackers-tracker_toggling-label = Atribuição automática de trackers
settings-general-steamvr-trackers-hands-warning =
<b>Aviso:</b> os trackers de mão substituirão seus controles.
Tem certeza?
settings-general-steamvr-trackers-hands-warning-cancel = Cancelar
settings-general-steamvr-trackers-hands-warning-done = Sim
## Tracker mechanics
@@ -293,6 +343,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Suaviz
settings-general-tracker_mechanics-filtering-type-prediction = Predição
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduz latência e torna os movimentos mais responsivos, porém aumenta tremulação (Jitter).
settings-general-tracker_mechanics-filtering-amount = Quantidade
settings-general-tracker_mechanics-yaw-reset-smooth-time = Suavisação do reset de guinada (yaw). (0s desativa a suavização)
settings-general-tracker_mechanics-drift_compensation = Compensação de drift
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -301,6 +352,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensação de drift
settings-general-tracker_mechanics-drift_compensation-amount-label = Quantidade de compensação
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Use até x últimos resets
settings-general-tracker_mechanics-save_mounting_reset = Salvar a calibragem automática de posição
settings-general-tracker_mechanics-save_mounting_reset-description =
Salva as calibrações automáticas de reset de posição para os trackers entre as reinicializações. Útil
ao usar uma roupa em que os trackers não se movem entre as sessões. <b>Não recomendado para usuários normais!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Salvar reset de Posição
## FK/Tracking settings
@@ -308,21 +364,50 @@ settings-general-fk_settings = Opções de Tracker
# Floor clip:
# why the name - came from the idea of noclip in video games, but is the opposite where clipping to the floor is a desired feature
# definition - Prevents the foot trackers from going lower than they where when a reset was performed
settings-general-fk_settings-leg_tweak-floor_clip = Atravessar o chão
settings-general-fk_settings-leg_tweak-floor_clip = Clipping de chão
# Skating correction:
# why the name - without this enabled the feet will often slide across the ground as if your skating across the ground,
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
settings-general-fk_settings-leg_tweak-skating_correction = Correção de deslize
settings-general-fk_settings-leg_tweak-toe_snap = Encaixar os dedos do pé
settings-general-fk_settings-leg_tweak-foot_plant = Pé plantado
settings-general-fk_settings-leg_tweak-skating_correction-amount = Força da correção de deslize
settings-general-fk_settings-leg_tweak-skating_correction-description = A correção de deslize corrige o efeito de patinar, mas pode diminuir a precisão em certos padrões de movimento. Ativando essa correção, certifique-se de redefinir totalmente e recalibrar no jogo.
settings-general-fk_settings-leg_tweak-floor_clip-description = Clipping de chão pode reduzir e até eliminar o clipping através do chão. Ao ativar isso, certifique-se de redefinir completamente e recalibrar no jogo.
settings-general-fk_settings-leg_tweak-toe_snap-description = Encaixar os dedos do pé, tenta adivinhar a rotação dos seus pés se os trackers dos pés não estiverem em uso.
settings-general-fk_settings-leg_tweak-foot_plant-description = Pé plantado gira os pés para ficarem paralelos ao chão quando em contato.
settings-general-fk_settings-leg_fk = Tracking de pernas
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Ativar o Reset de Posição dos pés ao ficar nas pontas dos pés.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset de Posição dos pés
settings-general-fk_settings-arm_fk = Opções do Braço
settings-general-fk_settings-arm_fk-description = Muda o jeito que os braços são rastreados.
settings-general-fk_settings-arm_fk-force_arms = Forçar braços do HMD
settings-general-fk_settings-skeleton_settings = Opções do esqueleto
settings-general-fk_settings-arm_fk-reset_mode-description = Mudar a pose do braço esperada para o reset de posição.
settings-general-fk_settings-arm_fk-back = Atrás
settings-general-fk_settings-arm_fk-back-description = O modo padrão, com os braços voltados para trás e os antebraços para frente.
settings-general-fk_settings-arm_fk-tpose_up = T-pose (cima)
settings-general-fk_settings-arm_fk-tpose_up-description = Espera que seus braços fiquem para baixo nas laterais durante o reset completo e 90 graus para os lados durante o reset de posição.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (baixo)
settings-general-fk_settings-arm_fk-tpose_down-description = Espera que seus braços fiquem 90 graus para os lados durante o reset completo e para baixo nas laterais durante o reset de posição.
settings-general-fk_settings-arm_fk-forward = Frente
settings-general-fk_settings-arm_fk-forward-description = Espera que seus braços estejam 90 graus à frente. Útil para VTubing.
settings-general-fk_settings-skeleton_settings-toggles = Opções do esqueleto
settings-general-fk_settings-skeleton_settings-description = Ligar ou desligar opções do esqueleto. É recomendado deixar eles ligados.
settings-general-fk_settings-skeleton_settings-extended_spine = Estender coluna
settings-general-fk_settings-skeleton_settings-extended_pelvis = Estender pélvis
settings-general-fk_settings-skeleton_settings-extended_knees = Estender joelho
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modelo de coluna estendida
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Modelo de pélvis estendida
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modelo de joelho estendido
settings-general-fk_settings-skeleton_settings-ratios = Proporções do esqueleto
settings-general-fk_settings-skeleton_settings-ratios-description = Mude os valores das configurações do esqueleto. Pode ser necessário ajustar suas proporções depois de alterá-las.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Imputar cintura do peito ao quadril
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Imputar cintura do peito às pernas
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Imputar o quadril do peito às pernas
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Imputar quadril da cintura às pernas
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Calcular a média da guinada e rolamento do quadril com as pernas
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Calcular a média da guinada e rolamento dos trackers dos joelhos com os tornozelos
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Calcular a média da guinada e rolamento do joelho com os tornozelos
settings-general-fk_settings-self_localization-title = Modo mocap
settings-general-fk_settings-self_localization-description = O modo mocap permite que o esqueleto rastreie aproximadamente sua própria posição sem um headset ou outros trackers. Observe que isso requer trackers de pés e cabeça para funcionar e ainda é experimental.
settings-general-fk_settings-vive_emulation-title = Emulação de Vive
settings-general-fk_settings-vive_emulation-description = Emule o problema de tracker da cintura que o Vive tracker tem. Isso é uma piada e faz o tracking ficar pior.
settings-general-fk_settings-vive_emulation-label = Ativar emulação de Vive
@@ -339,22 +424,62 @@ settings-general-gesture_control-taps =
[one] 1 tap
*[other] { $amount } taps
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] tracker
[many] trackers
*[other] trackers
}
settings-general-gesture_control-yawResetEnabled = Ativar toque para reset de guinada
settings-general-gesture_control-yawResetDelay = Atraso do reset de guinada
settings-general-gesture_control-yawResetTaps = Toques para reset de guinada
settings-general-gesture_control-fullResetEnabled = Habilitar toque para reset completo
settings-general-gesture_control-fullResetDelay = Atraso no reset completo
settings-general-gesture_control-fullResetTaps = Toques para reset completo
settings-general-gesture_control-mountingResetEnabled = Toques para o reset de posição
settings-general-gesture_control-mountingResetDelay = Delay do reset de posição
settings-general-gesture_control-mountingResetTaps = Toques para o reset de posição
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Trackers acima do limite
settings-general-gesture_control-numberTrackersOverThreshold-description = Aumente esse valor se a detecção de toque não estiver funcionando. Não aumente o valor acima do necessário para que a detecção de toque funcione, pois isso causaria mais falsos positivos.
## Interface settings
## Appearance settings
settings-general-interface = Interface
settings-interface-appearance = Aparênia
settings-general-interface-dev_mode = Modo de desenvolvedor
settings-general-interface-dev_mode-description = Este modo pode ser útil se precisar de dados específicos ou para interagir com trackers conectados a um nível mais avançado
settings-general-interface-dev_mode-label = Modo de desenvolvedor
settings-general-interface-serial_detection = Detecção de dispositivo serial
settings-general-interface-serial_detection-description = Esta opção mostrará um pop-up toda vez que você conectar um novo dispositivo serial que pode ser um tracker. Ajuda a melhorar o processo de configuração de um tracker
settings-general-interface-serial_detection-label = Detecção de dispositivo serial
settings-general-interface-theme = Cor do tema
settings-general-interface-lang = Selecione o idioma
settings-general-interface-lang-description = Alterar o idioma padrão que pretende utilizar
settings-general-interface-lang-placeholder = Selecione o idioma que vai usar
# Keep the font name untranslated
settings-interface-appearance-font = Fonte da interface
settings-interface-appearance-font-description = Isso altera a fonte usada pela interface.
settings-interface-appearance-font-placeholder = Fonte padrão
settings-interface-appearance-font-os_font = Fonte do sistema
settings-interface-appearance-font-slime_font = Fonte padrão
settings-interface-appearance-font_size = Escala da fonte
settings-interface-appearance-font_size-description = Isso afeta o tamanho da fonte de toda a interface, exceto neste painel de configurações.
## Notification settings
settings-interface-notifications = Notificações
settings-general-interface-serial_detection = Detecção de dispositivo serial
settings-general-interface-serial_detection-description = Esta opção mostrará um pop-up toda vez que você conectar um novo dispositivo serial que pode ser um tracker. Ajuda a melhorar o processo de configuração de um tracker
settings-general-interface-serial_detection-label = Detecção de dispositivo serial
settings-general-interface-feedback_sound = Som de feedback
settings-general-interface-feedback_sound-description = Essa opção reproduzirá um som quando um reset for acionado.
settings-general-interface-feedback_sound-label = Som de feedback
settings-general-interface-feedback_sound-volume = Volume do som de feedback
settings-general-interface-connected_trackers_warning = Aviso de trackers conectados
settings-general-interface-connected_trackers_warning-description = Essa opção exibirá um pop-up toda vez que você tentar fechar o SlimeVR enquanto tiver um ou mais trackers conectados. Ela o lembrará de desligar os trackers quando você terminar para preservar a vida útil da bateria.
settings-general-interface-connected_trackers_warning-label = Aviso de trackers conectados ao fechar
settings-general-interface-use_tray = Minimizar para bandeja do sistema
settings-general-interface-use_tray-description = Permite que você feche a janela sem fechar o servidor do SlimeVR, para que possa continuar usando-o sem que a interface gráfica o incomode.
settings-general-interface-use_tray-label = Minimizar para a bandeja do sistema
## Serial settings
@@ -376,6 +501,7 @@ settings-serial-factory_reset-warning-cancel = Cancelar
settings-serial-get_infos = Obter informações
settings-serial-serial_select = Selecione uma porta serial
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Obter varredura WiFi
## OSC router settings
@@ -426,18 +552,56 @@ settings-osc-vrchat-network-address-placeholder = Endereço de ip do VRChat
settings-osc-vrchat-network-trackers = Trackers
settings-osc-vrchat-network-trackers-description = Ligar ou desligar o envio e recepção de dados.
settings-osc-vrchat-network-trackers-chest = Peito
settings-osc-vrchat-network-trackers-hip = Quadril
settings-osc-vrchat-network-trackers-knees = Joelhos
settings-osc-vrchat-network-trackers-feet = Pés
settings-osc-vrchat-network-trackers-elbows = Cotovelos
## VMC OSC settings
settings-osc-vmc = Captura virtual de movimentos
# This cares about multilines
settings-osc-vmc-description =
Altere as configurações específicas do protocolo VMC (Virtual Motion Capture)
para enviar dados de esqueleto do SlimeVR e receber dados de esqueleto de outros aplicativos.
settings-osc-vmc-enable = Ativar
settings-osc-vmc-enable-description = Ative o envio e o recebimento de dados.
settings-osc-vmc-enable-label = Ativar
settings-osc-vmc-network = Portas de rede
settings-osc-vmc-network-description = Defina as portas para escutar e enviar dados via VMC (Virtual Motion Capture).
settings-osc-vmc-network-port_in =
.label = Porta de entrada
.placeholder = Porta de entrada (padrão: 39540)
settings-osc-vmc-network-port_out =
.label = Porta de saída
.placeholder = Porta de saída (padrão: 39539)
settings-osc-vmc-network-address = Endereço de rede
settings-osc-vmc-network-address-description = Escolha o endereço para envio de dados via VMC (Virtual Motion Capture).
settings-osc-vmc-network-address-placeholder = Endereço IPV4
settings-osc-vmc-vrm = Modelo VRM
settings-osc-vmc-vrm-description = Carregue um modelo de VRM para permitir ancoragem de cabeça e possibilitar uma maior compatibilidade com outras aplicações.
settings-osc-vmc-vrm-model_unloaded = Nenhum modelo carregado
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] Modelo carregado: { $name }
*[other] Modelo sem título carregado
}
settings-osc-vmc-vrm-file_select = Arraste e solte um modelo para usar, ou <u>navegue</u>
settings-osc-vmc-anchor_hip = Ancorar no quadril
settings-osc-vmc-anchor_hip-description = Ancorar o rastreamento no quadril, útil para VTubing sentado. Se desativar, carregue um modelo VRM.
settings-osc-vmc-anchor_hip-label = Ancorar no quadril
## Setup/onboarding menu
onboarding-skip = Pular configurações
onboarding-continue = Continuar
onboarding-wip = Trabalho em progresso
onboarding-previous_step = Passo anterior
onboarding-setup_warning =
<b>Aviso:</b> A configuração inicial é necessária para um rastreamento adequado,
isso é necessário se for a primeira vez usando o SlimeVR.
onboarding-setup_warning-skip = Pular configurações
onboarding-setup_warning-cancel = Continuar configurações
## Wi-Fi setup
@@ -460,7 +624,26 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = Voltar para a Calibragem de Posição
onboarding-reset_tutorial = Resetar Tutorial
onboarding-reset_tutorial-description = Esse recurso não está concluído, apenas aperte continue
onboarding-reset_tutorial-explanation = Enquanto você usa os trackers, eles podem ficar desalinhados devido ao drift de guinada (yaw) da IMU ou porque você pode ter movido os trackers fisicamente. Há várias maneiras de corrigir isso.
onboarding-reset_tutorial-skip = Pular passo
# Cares about multiline
onboarding-reset_tutorial-0 =
Toque { $taps } vezes no tracker destacado para acionar o reset de guinada.
Isso fará com que os trackers fiquem na mesma direção que o seu headset (HMD).
# Cares about multiline
onboarding-reset_tutorial-1 =
Toque { $taps } vezes no tracker destacado para acionar o reset completo.
Você precisa estar em pé para isso (pose-i). Há um atraso de 3 segundos (configurável) antes que realmente aconteça.
Isso reseta completamente a posição e rotação de todos os seus trackers. Deve corrigir a maioria dos problemas.
# Cares about multiline
onboarding-reset_tutorial-2 =
Toque { $taps } vezes no tracker destacado para acionar o reset de posição.
O reset de posição ajuda a ajustar como os trackers estão realmente colocados em você, então, se você os moveu acidentalmente e alterou significativamente a orientação, isso ajudará.
Você precisa estar em uma pose como se estivesse esquiando, como é mostrado no Assistente de Posição Automática, e há um atraso de 3 segundos (configurável) antes que seja acionado.
## Setup start
@@ -484,8 +667,8 @@ onboarding-done-close = Fechar o guia
onboarding-connect_tracker-back = Voltar para as credenciais de Wi-Fi
onboarding-connect_tracker-title = Conectar os trackers
onboarding-connect_tracker-description-p0 = Agora para a parte divertida, conectando todos os seus trackers!
onboarding-connect_tracker-description-p1 = Simplesmente conecte todos que ainda não estão conectados, via porta USB.
onboarding-connect_tracker-description-p0-v1 = Agora vamos à parte divertida, conectar os trackers!
onboarding-connect_tracker-description-p1-v1 = Conecte cada tracker, um de cada vez, por meio de uma porta USB.
onboarding-connect_tracker-issue-serial = Estou tendo problemas para conectar!
onboarding-connect_tracker-usb = Tracker USB
onboarding-connect_tracker-connection_status-none = Procurando por trackers
@@ -511,9 +694,24 @@ onboarding-connect_tracker-next = Eu conectei todos os meus trackers
## Tracker calibration tutorial
onboarding-calibration_tutorial = Tutorial de Calibração IMU.
onboarding-calibration_tutorial-subtitle = Isso ajudará a reduzir o drift dos trackers!
onboarding-calibration_tutorial-description = Cada vez que ligar seus trackers, eles precisam ficar parados por um momento em uma superfície plana para calibrar. Vamos fazer a mesma coisa clicando no botão "{ onboarding-calibration_tutorial-calibrate }", <b>não os mova!</b>
onboarding-calibration_tutorial-calibrate = Eu coloquei meus trackers na mesa
onboarding-calibration_tutorial-status-waiting = Esperando por você
onboarding-calibration_tutorial-status-calibrating = Calibrando
onboarding-calibration_tutorial-status-success = Legal!
onboarding-calibration_tutorial-status-error = O tracker foi movido
## Tracker assignment tutorial
onboarding-assignment_tutorial = Como preparar um Slime Tracker antes de colocá-lo.
onboarding-assignment_tutorial-first_step = 1. Coloque um adesivo de parte do corpo (se tiver um) no tracker de acordo com sua escolha
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Adesivo
onboarding-assignment_tutorial-second_step-v2 = 2. Prenda a strap ao seu tracker, mantendo o lado de velcro da strap virado na mesma direção que o lado do rosto do slime em seu tracker:
onboarding-assignment_tutorial-second_step-continuation-v2 = O lado de velcro para a extensão deve estar virado para cima, como na imagem a seguir:
onboarding-assignment_tutorial-done = Eu coloquei os adesivos e as straps!
## Tracker assignment setup
@@ -530,6 +728,7 @@ onboarding-assign_trackers-assigned =
} assigned
onboarding-assign_trackers-advanced = Mostrar locais de atribuição avançados
onboarding-assign_trackers-next = Atribui todos os trackers
onboarding-assign_trackers-mirror_view = Inverter visão
## Tracker assignment warnings
@@ -601,6 +800,24 @@ onboarding-assign_trackers-warning-WAIST =
## Tracker mounting method choose
onboarding-choose_mounting = Qual método de calibração de posição você deseja usar?
# Multiline text
onboarding-choose_mounting-description = A orientação de posição corrige a colocação dos trackers no seu corpo.
onboarding-choose_mounting-auto_mounting = Posição automática
# Italized text
onboarding-choose_mounting-auto_mounting-label = Experimental
onboarding-choose_mounting-auto_mounting-description = Isso detectará automaticamente as direções de posição para todos os seus trackers a partir de 2 poses
onboarding-choose_mounting-manual_mounting = Posição manual
# Italized text
onboarding-choose_mounting-manual_mounting-label = Recomendado
onboarding-choose_mounting-manual_mounting-description = Isso permitirá que você escolha manualmente a direção de posição para cada tracker
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Você tem certeza de que deseja fazer
a calibração automática de posição?
onboarding-choose_mounting-manual_modal-description = <b>A calibração manual de posição é recomendada para novos usuários</b>, pois as poses da calibração automática podem ser difíceis de acertar no início e podem exigir certa prática.
onboarding-choose_mounting-manual_modal-confirm = Estou certo do que estou fazendo.
onboarding-choose_mounting-manual_modal-cancel = Cancelar
## Tracker manual mounting setup
@@ -633,6 +850,28 @@ onboarding-automatic_mounting-put_trackers_on-next = Coloquei todos os meus trac
## Tracker proportions method choose
onboarding-choose_proportions = Qual método de calibração de proporções você deseja usar?
# Multiline string
onboarding-choose_proportions-description-v1 =
As proporções do corpo são usadas para saber as dimensões do seu corpo. Elas são necessárias para calcular as posições dos trackers.
Quando as proporções do seu corpo não corresponderem às que estão salvas, a precisão do rastreamento será pior e você observará problemas como efeito de patinação ou deslizamento, ou que seu corpo não corresponde bem ao seu avatar.
<b>Você precisará medir seu corpo apenas uma vez!</b> Se as medições estiverem corretas e o seu corpo não tiver passado por mudanças significativas, não há necessidade de repeti-las.
onboarding-choose_proportions-auto_proportions = Proporções automáticas
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Recomendado
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Isso irá estimar suas proporções gravando uma amostra de seus movimentos e passando-a por um algoritmo.
<b>Isso requer ter seu headset (HMD) conectado ao SlimeVR e na sua cabeça!</b>
onboarding-choose_proportions-manual_proportions = Proporções manuais
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Para pequenos ajustes
onboarding-choose_proportions-manual_proportions-description = Isso permitirá que você ajuste suas proporções manualmente, modificando-as diretamente
onboarding-choose_proportions-export = Exportar proporções
onboarding-choose_proportions-import = Importar proporções
onboarding-choose_proportions-import-success = Importado
onboarding-choose_proportions-import-failed = Falhou
onboarding-choose_proportions-file_type = Arquivo de proporções do corpo
## Tracker manual proportions setup
@@ -640,6 +879,7 @@ onboarding-manual_proportions-back = Voltar para o tutorial de reset
onboarding-manual_proportions-title = Proporções de corpo manuais
onboarding-manual_proportions-precision = Ajuste de precisão
onboarding-manual_proportions-auto = Calibragem Automática
onboarding-manual_proportions-ratio = Ajustar por grupos de proporções
## Tracker automatic proportions setup
@@ -651,12 +891,44 @@ onboarding-automatic_proportions-prev_step = Passo anterior
onboarding-automatic_proportions-put_trackers_on-title = Coloque seus trackers
onboarding-automatic_proportions-put_trackers_on-description = Para calibrar suas proporções, usaremos os trackers que você atribuiu. Coloque todos os seus trackers, você pode ver quais são quais na figura à direita.
onboarding-automatic_proportions-put_trackers_on-next = Coloquei todos os meus trackers
onboarding-automatic_proportions-requirements-title = Requisitos
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-descriptionv2 =
Você possui pelo menos trackers suficientes para rastrear seus pés (geralmente 5 trackers).
Você está com os trackers e o headset ligados, e os está usando.
Seus trackers e o headset estão conectados ao servidor SlimeVR e estão funcionando corretamente (sem travamentos, desconexões, etc.).
Seu headset está enviando dados de posição para o servidor SlimeVR (isso geralmente significa ter o SteamVR em execução e conectado ao SlimeVR usando o driver SteamVR do SlimeVR).
Seu rastreamento está funcionando e representa com precisão seus movimentos (por exemplo, você realizou uma reinicialização completa e eles se movem na direção certa ao chutar, se inclinar, sentar, etc.).
onboarding-automatic_proportions-requirements-next = Eu li os requisitos.
onboarding-automatic_proportions-check_height-title = Cheque sua altura
onboarding-automatic_proportions-check_height-description = Usamos sua altura como base para nossas medições, usando a altura do headset (HMD) como uma aproximação de sua altura real, mas é melhor verificar se estão corretas por conta própria!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Por favor, pressione o botão enquanto estiver em pé <u>reto</u> para calcular sua altura. Você tem 3 segundos depois de pressionar o botão!
onboarding-automatic_proportions-check_height-guardian_tip =
Se você estiver usando um óculos VR standalone, certifique-se de que seu guardião /
limite esteja ligado para que sua altura seja a correta!
onboarding-automatic_proportions-check_height-fetch_height = Estou em pé!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Desconhecido
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = A altura do seu HMD é
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = então, sua altura real é
onboarding-automatic_proportions-check_height-next_step = Estão bem
onboarding-automatic_proportions-start_recording-title = Esteja preparado para se mexer
onboarding-automatic_proportions-start_recording-description = Começaremos a gravar algumas poses e movimentos específicos. Estes serão solicitados na próxima tela. Esteja preparado para começar quando o botão for pressionado!
onboarding-automatic_proportions-start_recording-next = Começar Gravação
onboarding-automatic_proportions-recording-title = GRAVAR
onboarding-automatic_proportions-recording-description-p0 = Gravação em progresso...
onboarding-automatic_proportions-recording-description-p1 = Faça os movimentos apresentados abaixo:
# Each line of text is a different list item
onboarding-automatic_proportions-recording-steps =
Fique em pé, gire sua cabeça em um círculo.
Incline as costas para a frente e agache. Enquanto agacha, olhe para a esquerda e depois para a direita.
Gire o tronco para a esquerda (sentido anti-horário) e incline-se em direção ao chão.
Gire o tronco para a direita (sentido horário) e incline-se em direção ao chão.
Gire os quadris em um movimento circular como se estivesse usando um bambolê.
Se houver tempo restante na gravação, você pode repetir esses passos até que termine.
onboarding-automatic_proportions-recording-processing = Processando o resultado
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
@@ -672,10 +944,58 @@ onboarding-automatic_proportions-verify_results-redo = Refazer a gravação
onboarding-automatic_proportions-verify_results-confirm = Eles estão corretos
onboarding-automatic_proportions-done-title = Corpo medido e salvo.
onboarding-automatic_proportions-done-description = Sua calibragem de proporção de corpo está completa!
onboarding-automatic_proportions-error_modal =
<b>Aviso:</b> Um erro foi encontrado ao estimar proporções!
Por favor, <docs>verifique a documentação</docs> ou junte-se ao nosso <discord>Discord</discord> para obter ajuda ^_^
onboarding-automatic_proportions-error_modal-confirm = Entendido!
## Home
home-no_trackers = Nenhum tracker detectado ou atribuído
## Trackers Still On notification
trackers_still_on-modal-title = Trackers ainda ligados.
trackers_still_on-modal-description =
Um ou mais trackers ainda estão ligados.
Você ainda deseja sair do SlimeVR?
trackers_still_on-modal-confirm = Sair do SlimeVR
trackers_still_on-modal-cancel = Aguarde...
## Status system
status_system-StatusTrackerReset = É recomendado realizar um reset completo, pois um ou mais trackers estão desajustados.
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] Atualmente não conectado ao aplicativo SlimeVR Feeder.
*[other] Atualmente não conectado ao SteamVR via driver SlimeVR.
}
status_system-StatusTrackerError = O tracker { $trackerName } tem um erro.
## Tray Menu
tray_menu-show = Mostrar
tray_menu-hide = Esconder
tray_menu-quit = Sair
## First exit modal
tray_or_exit_modal-title = Qual deve ser a função do botão Fechar?
# Multiline text
tray_or_exit_modal-description =
Isso permite que você escolha se deseja sair do servidor ou minimizá-lo na bandeja ao pressionar o botão Fechar.
Você pode alterar isso depois nas configurações da interface!
tray_or_exit_modal-radio-exit = Sair ao Fechar
tray_or_exit_modal-radio-tray = Minimizar para a bandeja do sistema
tray_or_exit_modal-submit = Salvar
tray_or_exit_modal-cancel = Cancelar
## Unknown device modal
unknown_device-modal-title = Um novo tracker foi encontrado!
unknown_device-modal-description =
Há um novo tracker com o endereço MAC <b>{ $deviceId }</b>.
Deseja conectá-lo ao SlimeVR?
unknown_device-modal-confirm = Claro!
unknown_device-modal-forget = Ignore-o

View File

@@ -19,10 +19,12 @@ version_update-close = Закрыть
## Tips
tips-find_tracker = Не уверены, какой это трекер? Встряхните его, и трекер выделится в списке.
tips-find_tracker = Не уверены, какой трекер какой? Встряхните его, и трекер выделится в списке.
tips-do_not_move_heels = Убедитесь, что ваши пятки не двигаются во время записи!
tips-file_select = Выберите или перетащите файлы для использования <u>выбрать</u>.
tips-tap_setup = Вы можете медленно нажать 2 раза на свой трекер, чтобы выбрать его, вместо того чтобы выбирать его из меню.
tips-turn_on_tracker = Используете официальные трекеры SlimeVR? Не забудьте <b><em>включить трекер</em></b> после его подключения к ПК!
tips-failed_webgl = Не удалось инициализировать WebGL.
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = Правая рука
body_part-RIGHT_UPPER_LEG = Правое бедро
body_part-RIGHT_LOWER_LEG = Правая голень
body_part-RIGHT_FOOT = Правая ступня
body_part-UPPER_CHEST = Верхняя часть груди
body_part-CHEST = Грудь
body_part-WAIST = Талия
body_part-HIP = Таз
@@ -53,8 +56,9 @@ skeleton_bone-NONE = Пусто
skeleton_bone-HEAD = Голова
skeleton_bone-NECK = Длина шеи
skeleton_bone-torso_group = Длина туловища
skeleton_bone-CHEST = Длина груди
skeleton_bone-UPPER_CHEST = Длина верхней части груди
skeleton_bone-CHEST_OFFSET = Смещение груди
skeleton_bone-CHEST = Длина груди
skeleton_bone-WAIST = Длина талии
skeleton_bone-HIP = Длина таза
skeleton_bone-HIP_OFFSET = Смещение таза
@@ -120,6 +124,10 @@ widget-overlay-is_mirrored_label = Показывать оверлей как з
widget-drift_compensation-clear = Очистить компенсацию дрифта
## Widget: Clear Reset Mounting
widget-clear_mounting = Обнулить сброс выравнивания
## Widget: Developer settings
widget-developer_mode = Режим разработчика
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = RAW
widget-imu_visualizer-rotation_preview = Предпросмотр
widget-imu_visualizer-rotation_hide = Скрыть
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Предпросмотр скелета
widget-skeleton_visualizer-hide = Скрыть
## Tracker status
tracker-status-none = Без Статуса
@@ -146,6 +159,7 @@ tracker-status-error = Ошибка
tracker-status-disconnected = Отключен
tracker-status-occluded = Закрыт
tracker-status-ok = ОК
tracker-status-timed_out = Истекло время ожидания
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Спереди
tracker-rotation-front_left = Левая сторона передней части
tracker-rotation-front_right = Правая сторона передней части
tracker-rotation-left = Слева
tracker-rotation-right = Справа
tracker-rotation-back = Сзади
tracker-rotation-back_left = Левая сторона задней части
tracker-rotation-back_right = Правая сторона задней части
tracker-rotation-custom = Пользовательское
tracker-rotation-overriden = (перезаписан крепёжным сбросом)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = Ревизия устройства
tracker-infos-hardware_identifier = ID оборудования
tracker-infos-imu = Датчик IMU
tracker-infos-board_type = Основная плата
tracker-infos-network_version = Версия Протокола
## Tracker settings
@@ -189,14 +210,17 @@ tracker-settings-assignment_section-edit = Изменить привязку
tracker-settings-mounting_section = Положение крепления
tracker-settings-mounting_section-description = Где прикреплен трекер?
tracker-settings-mounting_section-edit = Изменить прикрепление
tracker-settings-drift_compensation_section = Разрешить компенсацию дрифта
tracker-settings-drift_compensation_section = Разрешить компенсацию дрейфа
tracker-settings-drift_compensation_section-description = Должен ли этот трекер компенсировать свой дрифт?
tracker-settings-drift_compensation_section-edit = Разрешить компенсацию дрифта
tracker-settings-drift_compensation_section-edit = Разрешить компенсацию дрейфа
# The .<name> means it's an attribute and it's related to the top key.
# In this case that is the settings for the assignment section.
tracker-settings-name_section = Имя трекера
tracker-settings-name_section-description = Дай ему милое имя :)
tracker-settings-name_section-placeholder = Левая нога NightyBeast'а
tracker-settings-forget = Забыть трекер
tracker-settings-forget-description = Убирает трекер с SlimeVR Сервер и запрещает ему подключаться к серверу до того как он будет перезапущен. Конфигурация трекера не будет потеряна.
tracker-settings-forget-label = Забыть трекер
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } право
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } правой лодышке?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } правой ступне?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } правому контроллеру?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } верхняя часть груди?
tracker_selection_menu-CHEST = { -tracker_selection-part } груди?
tracker_selection_menu-WAIST = { -tracker_selection-part } талии?
tracker_selection_menu-HIP = { -tracker_selection-part } тазу?
@@ -261,14 +286,16 @@ mounting_selection_menu-close = Закрыть
settings-sidebar-title = Настройки
settings-sidebar-general = Общие
settings-sidebar-tracker_mechanics = Механики трекеров
settings-sidebar-fk_settings = Настройки трекеров
settings-sidebar-tracker_mechanics = Механика трекеров
settings-sidebar-fk_settings = Настройки отслеживания
settings-sidebar-gesture_control = Настройки жестов
settings-sidebar-interface = Интерфейс
settings-sidebar-osc_router = OSC роутер
settings-sidebar-osc_trackers = VRChat OSC Трекеры
settings-sidebar-utils = Утилиты
settings-sidebar-serial = Консоль
settings-sidebar-appearance = Внешний вид
settings-sidebar-notifications = Уведомление
## SteamVR settings
@@ -283,35 +310,45 @@ settings-general-steamvr-description =
Полезно для игр или приложений, которые поддерживают только определенные трекеры.
settings-general-steamvr-trackers-waist = Талия
settings-general-steamvr-trackers-chest = Грудь
settings-general-steamvr-trackers-feet = Ступни
settings-general-steamvr-trackers-knees = Колени
settings-general-steamvr-trackers-elbows = Локти
settings-general-steamvr-trackers-hands = Руки
settings-general-steamvr-trackers-tracker_toggling = Автоматическое назначение трекеров
settings-general-steamvr-trackers-tracker_toggling-description = Автоматически занимается включением и выключением трекеров SlimeVR в зависимости от текущих назначений ваших трекеров
settings-general-steamvr-trackers-tracker_toggling-label = Автоматическое назначение трекеров
settings-general-steamvr-trackers-hands-warning =
<b>Внимание:</b> трекеры рук переопределят ваши контроллеры.
Вы уверены?
settings-general-steamvr-trackers-hands-warning-cancel = Отмена
settings-general-steamvr-trackers-hands-warning-done = Да
## Tracker mechanics
settings-general-tracker_mechanics = Механики трекеров
settings-general-tracker_mechanics-filtering = Фильтр
settings-general-tracker_mechanics-filtering = Фильтрация
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Выберите тип фильтрации для ваших трекеров.
Прогнозирование предсказывает движение, в то время как сглаживание сглаживает движение.
settings-general-tracker_mechanics-filtering-type = Тип фильтра
settings-general-tracker_mechanics-filtering-type-none = Нет фильтра
settings-general-tracker_mechanics-filtering-type = Тип фильтрации
settings-general-tracker_mechanics-filtering-type-none = Нет фильтрации
settings-general-tracker_mechanics-filtering-type-none-description = Используется вращение как есть. Нет никакой фильтрации.
settings-general-tracker_mechanics-filtering-type-smoothing = Сглаживание
settings-general-tracker_mechanics-filtering-type-smoothing-description = Сглаживает движения, но добавляет некоторую задержку.
settings-general-tracker_mechanics-filtering-type-prediction = Предсказывание
settings-general-tracker_mechanics-filtering-type-prediction-description = Уменьшает задержку и делает движения более быстрыми, но может увеличить дрожание.
settings-general-tracker_mechanics-filtering-amount = Количество
settings-general-tracker_mechanics-drift_compensation = Компенсация дрифта
settings-general-tracker_mechanics-yaw-reset-smooth-time = Время сглаживания сброса отклонения от курса (0 сек. отключает сглаживание)
settings-general-tracker_mechanics-drift_compensation = Компенсация дрейфа
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Компенсирует дрифт по рысканию IMU путем применения обратного вращения.
Измените размер компенсации и до скольких сбросов учитывается.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Компенсация дрифта
Компенсирует дрейф IMU по рысканию путем применения обратного вращения.
Измените количество компенсации и до скольких сбросов учитывается.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Компенсация дрейфа
settings-general-tracker_mechanics-drift_compensation-amount-label = Кол-во компенсации
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Используйте до x последних сбросов
settings-general-tracker_mechanics-save_mounting_reset = Сохранить калибровку автоматического сброса крепления
settings-general-tracker_mechanics-save_mounting_reset-description =
Сохраняет автоматические калибровки сброса крепления для трекеров между перезапусками. Полезный
при ношении костюма, в котором трекеры не перемещаются между сессиями. <b>Не рекомендуется для обычных пользователей!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Сохранить сброс крепления
## FK/Tracking settings
@@ -332,22 +369,43 @@ settings-general-fk_settings-leg_tweak-skating_correction-description = Сила
settings-general-fk_settings-leg_tweak-floor_clip-description = Привязка к полу может уменьшить или даже полностью исключить прохождение через пол. При включении обязательно выполните полный сброс и повторную калибровку в игре.
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap пытается угадать вращение ваших ступней, если трекеры для них не используются.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-Plant поворачивает ваши ступни так, чтобы они были параллельны земле при контакте.
settings-general-fk_settings-leg_fk = Трекинг ноги
settings-general-fk_settings-arm_fk = Трекинг руки
settings-general-fk_settings-leg_fk = Отслеживание ног
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Включение сброса крепления ног при стоянии на цыпочках.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Сброс крепления ног
settings-general-fk_settings-arm_fk = Отслеживание рук
settings-general-fk_settings-arm_fk-description = Измените способ отслеживания рук.
settings-general-fk_settings-arm_fk-force_arms = Руки от HMD
settings-general-fk_settings-skeleton_settings = Настройки скелета
settings-general-fk_settings-arm_fk-reset_mode-description = Изменение ожидаемой позы руки для сброса крепления.
settings-general-fk_settings-arm_fk-back = Назад
settings-general-fk_settings-arm_fk-back-description = Режим по умолчанию, в котором плечи идут назад, а предплечья — вперед.
settings-general-fk_settings-arm_fk-tpose_up = Т-Поза (вверх)
settings-general-fk_settings-arm_fk-tpose_up-description = Ожидает, что ваши руки будут опущены во время Полного Сброса, и на 90 градусов вверх в стороны во время сброса крепления.
settings-general-fk_settings-arm_fk-tpose_down = Т-Поза (вниз)
settings-general-fk_settings-arm_fk-tpose_down-description = Ожидает, что ваши руки будут подняты на 90 градусов вверх во время Полного Сброса, и опущены во время сброса крепления.
settings-general-fk_settings-arm_fk-forward = Вперёд
settings-general-fk_settings-arm_fk-forward-description = Ожидает, что ваши руки будут подняты на 90 градусов вперед. Полезно для VTube'инга.
settings-general-fk_settings-skeleton_settings-toggles = Переключатели скелета
settings-general-fk_settings-skeleton_settings-description = Включите или выключите настройки скелета. Рекомендуется оставить их включенными.
settings-general-fk_settings-skeleton_settings-extended_spine = Удлиненный позвоночник
settings-general-fk_settings-skeleton_settings-extended_pelvis = Расширенный таз
settings-general-fk_settings-skeleton_settings-extended_knees = Вытянутое колено
settings-general-fk_settings-skeleton_settings-extended_spine_model = Модель вытянутого позвоночника
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Модель удлиненного таза
settings-general-fk_settings-skeleton_settings-extended_knees_model = Модель с удлиненным коленом
settings-general-fk_settings-skeleton_settings-ratios = Соотношения скелета
settings-general-fk_settings-skeleton_settings-ratios-description = Измените значения параметров скелета. Возможно, вам придется скорректировать пропорции после их изменения.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Рассчитать талию от груди до бёдер
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Рассчитать талию от груди до ног
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Рассчитать бедро от груди до ног
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Рассчитать бедро от талии до ног
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Усредните рыскание и перекат бедра c рысканьем и перекатом ног
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Усредните рыскание и крен коленных трекеров с рысканьем и креном трекеров лодыжек
settings-general-fk_settings-self_localization-title = Режим Mocap
settings-general-fk_settings-self_localization-description = Режим Mocap позволяет скелету примерно отслеживать свое собственное положение без использования гарнитуры или других трекеров. Обратите внимание, что для работы этого требуются трекеры ног и головы, и это все еще экспериментальный метод.
settings-general-fk_settings-vive_emulation-title = Эмуляция Vive
settings-general-fk_settings-vive_emulation-description = Имитируйте проблемы с отслеживанием талии, которые возникают у трекеров Vive. Это шутка, и она ухудшает отслеживание.
settings-general-fk_settings-vive_emulation-label = Включить эмуляцию Vive
## Gesture control settings (tracker tapping)
settings-general-gesture_control = Контроль жестами
settings-general-gesture_control = Управление жестами
settings-general-gesture_control-subtitle = Сброс после нажатия
settings-general-gesture_control-description = Позволяет запускать сброс настроек нажатием на трекер. Трекер, расположенный выше всего на вашем торсе, используется для быстрого сброса, трекер, расположенный выше всего на вашей левой ноге, используется для сброса, а трекер, расположенный выше всего на вашей правой ноге, используется для сброса установок. Следует отметить, что для регистрации нажатия должны происходить в течение 0,6 секунды.
# This is a unit: 3 taps, 2 taps, 1 tap
@@ -359,6 +417,15 @@ settings-general-gesture_control-taps =
[many] { $amount } нажатий
*[other] { $amount } нажатий
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers =
{ $amount ->
[one] 1 трекер
[few] { $amount } трекера
[many] { $amount } трекеров
*[other] { $amount } трекеров
}
settings-general-gesture_control-yawResetEnabled = Включить нажатие для сброса
settings-general-gesture_control-yawResetDelay = Задержка сброса
settings-general-gesture_control-yawResetTaps = Нажатия для сброса
@@ -368,13 +435,32 @@ settings-general-gesture_control-fullResetTaps = Нажатия для полн
settings-general-gesture_control-mountingResetEnabled = Включить нажатия для сброса крепления
settings-general-gesture_control-mountingResetDelay = Задержка сброса крепления
settings-general-gesture_control-mountingResetTaps = Нажатия для сброса крепления
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Трекеры превышают порог
settings-general-gesture_control-numberTrackersOverThreshold-description = Увеличьте это значение, если обнаружение касания не работает. Не увеличивайте его выше того, что необходимо для работы обнаружения касания, так как это приведет к большему количеству ложных срабатываний.
## Interface settings
## Appearance settings
settings-general-interface = Интерфейс
settings-interface-appearance = Внешний вид
settings-general-interface-dev_mode = Режим разработчика
settings-general-interface-dev_mode-description = Этот режим может быть полезен, если вам нужны подробные данные или для взаимодействия с подключенными трекерами на более продвинутом уровне.
settings-general-interface-dev_mode-label = Режим разработчика
settings-general-interface-theme = Варианты оформления
settings-general-interface-lang = Выбрать язык
settings-general-interface-lang-description = Измените язык по умолчанию, который вы хотите использовать.
settings-general-interface-lang-placeholder = Выберите язык для использования
# Keep the font name untranslated
settings-interface-appearance-font = Шрифт GUI
settings-interface-appearance-font-description = Это изменяет шрифт, используемый интерфейсом.
settings-interface-appearance-font-placeholder = Шрифт по умолчанию
settings-interface-appearance-font-os_font = Шрифт ОС
settings-interface-appearance-font-slime_font = Шрифт по умолчанию
settings-interface-appearance-font_size = Базовое масштабирование шрифта
settings-interface-appearance-font_size-description = Это влияет на размер шрифта всего интерфейса, за исключением этой панели настроек.
## Notification settings
settings-interface-notifications = Уведомления
settings-general-interface-serial_detection = Обнаружение серийного устройства
settings-general-interface-serial_detection-description = Эта опция будет показывать всплывающее окно каждый раз, когда вы подключаете новое серийное устройство, которое может быть трекером. Это помогает улучшить процесс настройки трекера.
settings-general-interface-serial_detection-label = Обнаружение серийного устройства
@@ -382,10 +468,12 @@ settings-general-interface-feedback_sound = Звук обратной связи
settings-general-interface-feedback_sound-description = Эта опция будет воспроизводить звук при срабатывании сброса.
settings-general-interface-feedback_sound-label = Звук обратной связи
settings-general-interface-feedback_sound-volume = Громкость реакции интерфейса на косание треккера
settings-general-interface-theme = Варианты оформления
settings-general-interface-lang = Выбрать язык
settings-general-interface-lang-description = Измените язык по умолчанию, который вы хотите использовать.
settings-general-interface-lang-placeholder = Выберите язык для использования
settings-general-interface-connected_trackers_warning = Предупреждение о подключенных трекерах
settings-general-interface-connected_trackers_warning-description = Эта опция будет показывать предупреждение каждый раз, когда вы пытаетесь выйти из SlimeVR с одним или несколькими подключенными трекерами. Он напомнит вам о необходимости выключить трекеры, когда вы закончите, чтобы продлить срок службы батареи.
settings-general-interface-connected_trackers_warning-label = Предупреждение о подключенных трекеров при выходе
settings-general-interface-use_tray = Свернуть в системный трей
settings-general-interface-use_tray-description = Позволяет закрыть окно, не закрывая сервер SlimeVR, так что вы можете продолжать использовать его, не беспокоясь о графическом интерфейсе.
settings-general-interface-use_tray-label = Свернуть в системный трей
## Serial settings
@@ -407,6 +495,7 @@ settings-serial-factory_reset-warning-cancel = Отмена
settings-serial-get_infos = Получить информацию
settings-serial-serial_select = Выбрать серийный порт
settings-serial-auto_dropdown_item = Авто
settings-serial-get_wifi_scan = Получить сканирование Wi-Fi
## OSC router settings
@@ -572,8 +661,8 @@ onboarding-done-close = Закрыть гид
onboarding-connect_tracker-back = Вернуться к учетным данным Wi-Fi
onboarding-connect_tracker-title = Подключить трекеры
onboarding-connect_tracker-description-p0 = Теперь самое интересное - подключение всех трекеров!
onboarding-connect_tracker-description-p1 = Просто подключите все, что еще не подключены, через USB-порт.
onboarding-connect_tracker-description-p0-v1 = Теперь самое интересное - подключение трекеров!
onboarding-connect_tracker-description-p1-v1 = Подключите каждый трекер по одному через USB-порт.
onboarding-connect_tracker-issue-serial = У меня проблемы с подключением!
onboarding-connect_tracker-usb = USB Трекер
onboarding-connect_tracker-connection_status-none = Поиск трекеров
@@ -602,7 +691,7 @@ onboarding-connect_tracker-next = Я подключил все трекеры!
## Tracker calibration tutorial
onboarding-calibration_tutorial = Учебное пособие по калибровке IMU
onboarding-calibration_tutorial-subtitle = Это поможет уменьшить дрифт трекера!
onboarding-calibration_tutorial-subtitle = Это поможет уменьшить дрейф трекера!
onboarding-calibration_tutorial-description = Каждый раз, когда вы включаете трекеры, они должны на мгновение отдохнуть на плоской поверхности для калибровки. Давайте сделаем то же самое, нажав кнопку «{ onboarding-calibration_tutorial-calibrate }», <b>не перемещайте их!</b>
onboarding-calibration_tutorial-calibrate = Я положил свои трекеры на стол
onboarding-calibration_tutorial-status-waiting = Ждем вас
@@ -616,8 +705,8 @@ onboarding-assignment_tutorial = Как подготовить Slime Треке
onboarding-assignment_tutorial-first_step = 1. Наклейте стикер с частью тела (если он у вас есть) на трекер по вашему выбору.
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Стикер
onboarding-assignment_tutorial-second_step = 2. Прикрепите ремешок к вашему трекеру, придерживая лицевую сторону ремешка со стороны крючка и петли в следующем положении:
onboarding-assignment_tutorial-second_step-continuation = Сторона крючка и петли для удлинителя должна быть в этой ориентации:
onboarding-assignment_tutorial-second_step-v2 = 2. Прикрепите ремешок к трекеру, держа липучку в том же направлении, что и верхняя сторона трекера:
onboarding-assignment_tutorial-second_step-continuation-v2 = Липучка расширения должна смотреть вверх, как показано на следующей картинке:
onboarding-assignment_tutorial-done = Я наклеил стикеры и ремешки!
## Tracker assignment setup
@@ -637,6 +726,7 @@ onboarding-assign_trackers-assigned =
}
onboarding-assign_trackers-advanced = Показать дополнительные места привязки
onboarding-assign_trackers-next = Я привязал все трекеры
onboarding-assign_trackers-mirror_view = Зеркальный вид
## Tracker assignment warnings
@@ -708,7 +798,7 @@ onboarding-assign_trackers-warning-WAIST =
## Tracker mounting method choose
onboarding-choose_mounting = Какой метод калибровки монтажа использовать?
onboarding-choose_mounting = Какой метод калибровки крепления использовать?
# Multiline text
onboarding-choose_mounting-description = Ориентация крепления корректирует размещение трекеров на вашем теле.
onboarding-choose_mounting-auto_mounting = Автоматическая привязка
@@ -719,6 +809,13 @@ onboarding-choose_mounting-manual_mounting = Ручная привязка
# Italized text
onboarding-choose_mounting-manual_mounting-label = Рекомендованный
onboarding-choose_mounting-manual_mounting-description = Это позволит вам выбрать направление монтажа вручную для каждого трекера
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Вы уверены, что хотите сделать
Автоматическую калибровку крепления?
onboarding-choose_mounting-manual_modal-description = <b>Ручная калибровка крепления рекомендуется для новых пользователей</b>, так как позы автоматической калибровки крепления могут быть трудными для повторения и могут потребовать некоторой практики.
onboarding-choose_mounting-manual_modal-confirm = Я уверен в том, что делаю
onboarding-choose_mounting-manual_modal-cancel = Отмена
## Tracker manual mounting setup
@@ -753,18 +850,25 @@ onboarding-automatic_mounting-put_trackers_on-next = Я включил и над
onboarding-choose_proportions = Какой метод калибровки пропорций использовать?
# Multiline string
onboarding-choose_proportions-description =
Пропорции тела используются для определения размеров вашего тела. Они необходимы для расчета местоположения трекеров.
Если пропорции вашего тела не соответствуют сохраненным, точность отслеживания будет хуже, и вы заметите такие вещи, как катание на коньках или скольжение, или ваше тело не совсем соответствует вашему аватару.
onboarding-choose_proportions-description-v1 =
Пропорции тела используются для определения размеров вашего тела. Они необходимы для вычисления позиций трекеров.
Когда пропорции вашего тела не совпадают с сохраненными, точность отслеживания будет хуже, и вы заметите такие вещи, как скольжение или дрифт, или ваше тело не очень хорошо соответствует вашему аватару.
<b>Вам нужно измерить свое тело только один раз!</b> Если они не неправильны или ваше тело не изменилось, то вам не нужно делать их снова.
onboarding-choose_proportions-auto_proportions = Автоматическая привязка
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Рекомендуется
onboarding-choose_proportions-auto_proportions-description = Это позволит угадать ваши пропорции, записав образец ваших движений и передав его через алгоритм.
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Это попробует угадать ваши пропорции, записывая образец ваших движений и пропуская его через алгоритм.
<b>Для этого необходимо, чтобы ваш Шлем (HMD) был подключен к SlimeVR и был надет на голову!</b>
onboarding-choose_proportions-manual_proportions = Ручные пропорции
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Для небольших штрихов
onboarding-choose_proportions-manual_proportions-description = Это позволит вам настроить пропорции вручную, изменив их напрямую.
onboarding-choose_proportions-export = Экспорт пропорций
onboarding-choose_proportions-import = Ввод пропорций
onboarding-choose_proportions-import-success = Введён
onboarding-choose_proportions-import-failed = Неудача
onboarding-choose_proportions-file_type = Файл пропорций тела
## Tracker manual proportions setup
@@ -787,14 +891,26 @@ onboarding-automatic_proportions-put_trackers_on-description = Чтобы отк
onboarding-automatic_proportions-put_trackers_on-next = Я надел все свои трекеры
onboarding-automatic_proportions-requirements-title = Требования
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
У вас есть как минимум достаточно трекеров, чтобы отслеживать ваши ноги (обычно 5 трекеров).
У вас есть трекеры и гарнитура.
Вы носите трекеры и гарнитуру.
Ваши трекеры и гарнитура подключены к серверу SlimeVR.
Ваши трекеры и гарнитура правильно работают на сервере SlimeVR.
Ваша гарнитура передает данные о местоположении на сервер SlimeVR (обычно это означает, что SteamVR запущен и подключен к SlimeVR с помощью драйвера SlimeVR SteamVR).
onboarding-automatic_proportions-requirements-descriptionv2 =
У вас достаточно трекеров, чтобы отслеживать ваши ноги (обычно 5 трекеров).
У вас есть трекеры и гарнитура, и они на вас надеты.
Ваши трекеры и гарнитура подключены к серверу SlimeVR, и правильно функционируют (например, отсутствие лагов, отключений и т. д.)
Ваша гарнитура передает данные о местоположении на сервер SlimeVR (обычно это означает, что SteamVR запущен и подключен к SlimeVR с помощью драйвера SteamVR).
Ваше отслеживание работает и точно отражает ваши движения (например, вы выполнили полный сброс, и они движутся в правильном направлении при ударах ногами, наклонах, сидении и т. д.).
onboarding-automatic_proportions-requirements-next = Я прочитал требования
onboarding-automatic_proportions-check_height-title = Проверьте ваш рост
onboarding-automatic_proportions-check_height-description = Мы используем ваш рост в качестве основы для наших измерений, используя высоту HMD как приблизительное значение к вашему фактическому росту, но лучше проверить, верны ли эти значения самому!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Для рассчёта вашего роста, пожалуйста, нажимите кнопку стоя, <u>смотря вперёд</u>. У вас будут 3 секунды после того, как вы нажмете кнопку!
onboarding-automatic_proportions-check_height-guardian_tip = Если вы используете автономную гарнитуру виртуальной реальности, убедитесь, что у вас включена Граница, чтобы ваш рост был верным!
onboarding-automatic_proportions-check_height-fetch_height = Я стою!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Неизвестно
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Высота вашего HMD равна
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = поэтому ваш реальный рост равен
onboarding-automatic_proportions-check_height-next_step = С ними всё хорошо
onboarding-automatic_proportions-start_recording-title = Будьте готовы к движению
onboarding-automatic_proportions-start_recording-description = Теперь мы собираемся записать некоторые конкретные позы и движения. Они будут запрошены на следующем экране. Будьте готовы начать, когда кнопка будет нажата!
onboarding-automatic_proportions-start_recording-next = Начать запись
@@ -826,11 +942,24 @@ onboarding-automatic_proportions-verify_results-redo = Перезаписать
onboarding-automatic_proportions-verify_results-confirm = Они правильные
onboarding-automatic_proportions-done-title = Тело измерено и сохранено.
onboarding-automatic_proportions-done-description = Калибровка пропорций вашего тела завершена!
onboarding-automatic_proportions-error_modal =
<b>Предупреждение:</b> Была обнаружена ошибка при расчёте пропорций!
Пожалуйста, <docs>ознакомьтесь с документацией</docs>, или присоединитесь к нашему <discord>Discord серверу</discord> для получения помощи ^_^
onboarding-automatic_proportions-error_modal-confirm = Принято!
## Home
home-no_trackers = Трекеры не обнаружены и не привязаны
## Trackers Still On notification
trackers_still_on-modal-title = Трекеры все еще включены
trackers_still_on-modal-description =
Один или несколько трекеров все еще включены.
Вы точно хотите выйти из SlimeVR?
trackers_still_on-modal-confirm = Выйти из SlimeVR
trackers_still_on-modal-cancel = Погоди...
## Status system
status_system-StatusTrackerReset = Рекомендуется выполнить полный сброс, так как один или несколько трекеров не настроены.
@@ -840,3 +969,31 @@ status_system-StatusSteamVRDisconnected =
*[other] В настоящее время не подключен к SteamVR через драйвер SlimeVR.
}
status_system-StatusTrackerError = В трекере { $trackerName } обнаружена ошибка.
## Tray Menu
tray_menu-show = Показать
tray_menu-hide = Скрыть
tray_menu-quit = Выйти
## First exit modal
tray_or_exit_modal-title = Что должна делать кнопка закрытия?
# Multiline text
tray_or_exit_modal-description =
Это позволяет вам выбрать, хотите ли вы выйти из сервера или свернуть его в трей при нажатии кнопки закрытия.
Вы можете изменить это позже в настройках интерфейса!
tray_or_exit_modal-radio-exit = Выход при закрытии
tray_or_exit_modal-radio-tray = Свернуть в системный трей
tray_or_exit_modal-submit = Сохранить
tray_or_exit_modal-cancel = Отмена
## Unknown device modal
unknown_device-modal-title = Новый трекер был найден!
unknown_device-modal-description =
Появился новый трекер с MAC-адресом <b>{ $deviceId }</b>.
Хотите подключить его к SlimeVR?
unknown_device-modal-confirm = Конечно!
unknown_device-modal-forget = Игнорировать

View File

@@ -13,15 +13,19 @@ websocket-connection_lost = ขาดการเชื่อมต่อกั
## Update notification
version_update-title = มีเวอใหม่พร้อมแล้ว: { $version }
version_update-description = คลิกที่ "{ version_update-update }" จะดาวน์โหลดตัวติดตั้ง SlimeVR ให้คุณ
version_update-update = อัพเดท
version_update-close = ปิด
## Tips
tips-find_tracker = ไม่แน่ใจว่าแทร็กเก้อตัวไหน? เขย่าแทร็กเก้อและจะไฮไลท์ตัวที่เกี่ยวข้อง
tips-do_not_move_heels = ให้แน่ใจว่าเท้าไม่ขยับระหว่างการอัด/บันทึก
tips-file_select = ลากและวางไฟล์ที่จะใช้ หรือ<u>เรียกดู</u>
## Body parts
body_part-NONE = ไม่ได้มอบหมาย
body_part-HEAD = หัว
body_part-NECK = คอ
body_part-RIGHT_SHOULDER = ใหล่ขวา
@@ -31,6 +35,7 @@ body_part-RIGHT_HAND = มือขวา
body_part-RIGHT_UPPER_LEG = น่องขาขวา
body_part-RIGHT_LOWER_LEG = ข้อเท้าขวา
body_part-RIGHT_FOOT = เท้าขวา
body_part-UPPER_CHEST = หน้าอกส่วนบน
body_part-CHEST = หน้าอก
body_part-WAIST = เอว
body_part-HIP = สะโพก
@@ -46,51 +51,92 @@ body_part-LEFT_FOOT = เท้าขวา
skeleton_bone-NONE = ไม่มี
skeleton_bone-NECK = ความยาวขอ
skeleton_bone-torso_group = ความยาวลําตัว
skeleton_bone-UPPER_CHEST = ความยาวหน้าอกส่วนบน
skeleton_bone-CHEST_OFFSET = ออฟเซ็ตหน้าอก
skeleton_bone-CHEST = ความยาวหน้าอก
skeleton_bone-WAIST = ความยาวเอว
skeleton_bone-HIP = ความยาวสะโพก
skeleton_bone-HIP_OFFSET = ออฟเซ็ตสะโพก
skeleton_bone-HIPS_WIDTH = ความกว้างสะโพก
skeleton_bone-leg_group = ความยาวขา
skeleton_bone-UPPER_LEG = ความยาวขาส่วนบน
skeleton_bone-LOWER_LEG = ความยาวขาส่วนล่าง
skeleton_bone-FOOT_LENGTH = ความยาวเท้า
skeleton_bone-SHOULDERS_DISTANCE = ระยะไหล่
skeleton_bone-SHOULDERS_WIDTH = ความกว่างไหล่
skeleton_bone-arm_group = ความยาวแขน
skeleton_bone-UPPER_ARM = ความยาวแขนส่วนบน
skeleton_bone-LOWER_ARM = ความยาวแขนส่วนล่าง
skeleton_bone-HAND_Y = ระยะมือ Y
skeleton_bone-HAND_Z = ระยะมือ Z
skeleton_bone-ELBOW_OFFSET = ออฟเซ็ตข้อศอก
## Tracker reset buttons
reset-reset_all = รีเซ็ตสัดส่วนร้างกายทั้งหมด
reset-full = รีเซ็ตทั้งหมด
reset-mounting = รีเซ็ตการสวมใส่
## Serial detection stuff
serial_detection-new_device-p2 = โปรดเลือกสิ่งที่คุณต้องการทํากับมัน
serial_detection-open_wifi = เชื่อมต่อ Wi-Fi
serial_detection-submit = ส่ง
serial_detection-close = ปิด
## Navigation bar
navbar-home = หน้าหลัก
navbar-body_proportions = สัดส่วนร่างกาย
navbar-trackers_assign = การกำหนดแทรกเก้อ
navbar-onboarding = Setup Wizard
navbar-settings = ตั้งค่า
## Biovision hierarchy recording
bvh-start_recording = อัด BVH
bvh-recording = กำลังอัดบันทึก
## Tracking pause
tracking-unpaused = หยุดการติดตามชั่วคราว
tracking-paused = ยกเลิกการหยุดการติดตาม
## Widget: Overlay settings
widget-overlay = โอเวอร์เลย์.
widget-overlay-is_visible_label = แสดงโอเวอร์เลย์ ใน SteamVR
widget-overlay-is_mirrored_label = แสดงโอเวอร์เลย์เป็นกระจก
## Widget: Drift compensation
widget-drift_compensation-clear = เคลียร์การชดเชยดริฟ
## Widget: Clear Reset Mounting
## Widget: Developer settings
widget-developer_mode = โหมดนักพัฒนา
widget-developer_mode-high_contrast = คอนทราสต์สูง
widget-developer_mode-fast_data_feed = ฟีดข้อมูลเร็ว
widget-developer_mode-filter_slimes_and_hmd = แยก Slime ออกจาก HMD
widget-developer_mode-sort_by_name = เรียงด้วยชื่อ
widget-developer_mode-more_info = ข้อมูลเพิ่มเติม
## Widget: IMU Visualizer
widget-imu_visualizer = การหมุน
widget-imu_visualizer-rotation_raw = ดิบ
widget-imu_visualizer-rotation_preview = ดูตัวอย่าง
widget-imu_visualizer-rotation_hide = ซ่อน
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = ตัวอย่างโครงกระดูก
widget-skeleton_visualizer-hide = ซ่อน
## Tracker status
tracker-status-none = ไม่มีสถานะ
@@ -105,32 +151,56 @@ tracker-table-column-name = ชื่อ
tracker-table-column-type = พิมพ์
tracker-table-column-battery = แบตเตอรี่
tracker-table-column-ping = ความหน่วง
tracker-table-column-tps = TPS
tracker-table-column-temperature = อุณหภูมิ °C
tracker-table-column-linear-acceleration = อัตราเร่ง X/Y/Z
tracker-table-column-rotation = การหมุน X/Y/Z
tracker-table-column-position = ตําแหน่ง X/Y/Z
tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = หน้า
tracker-rotation-front_left = หน้าซ้าย
tracker-rotation-front_right = หน้าขวา
tracker-rotation-left = ซ้าย
tracker-rotation-right = ขวา
tracker-rotation-back = หลัง
tracker-rotation-back_left = หลังซ้าย
tracker-rotation-back_right = หลังขวา
tracker-rotation-custom = กำหนดเอง
## Tracker information
tracker-infos-manufacturer = ผู้ผลิต
tracker-infos-display_name = ชื่อที่ใช้แสดง
tracker-infos-custom_name = ชื่อที่กําหนดเอง
tracker-infos-url = URL แทรกเก้อ
tracker-infos-version = เวอร์ชั่นของเฟิร์มแวร์
tracker-infos-hardware_identifier = รหัสฮาร์ดแวร์
tracker-infos-imu = เซ็นเซอร์ IMU
tracker-infos-board_type = เมนบอร์ด
## Tracker settings
tracker-settings-title = การตั้งค่าแทรกเก้อ
tracker-settings-assignment_section = กำหนด
tracker-settings-assignment_section-edit = เปลี่ยนการกำหนด
tracker-settings-drift_compensation_section = อนุญาตชดเชยการดริฟ
tracker-settings-drift_compensation_section-edit = อนุญาตชดเชยการดริฟ
# The .<name> means it's an attribute and it's related to the top key.
# In this case that is the settings for the assignment section.
tracker-settings-name_section = ชื่อแทรกเก้อ
tracker-settings-name_section-description = ใส่ชื่อน่ารักๆให้ :)
## Tracker part card info
tracker-part_card-no_name = ไม่มีชื่อ
tracker-part_card-unassigned = ไม่ได้กำหนด
## Body assignment menu
body_assignment_menu-manage_trackers = จัดการแทรเก้อทั้งหมด
## Tracker assignment menu
@@ -144,21 +214,35 @@ mounting_selection_menu-close = ปิด
## Sidebar settings
settings-sidebar-title = การตั้งค่า
settings-sidebar-general = ทั่วไป
settings-sidebar-interface = อินเทอร์เฟซ
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = แทรกเก้อ SteamVR
settings-general-steamvr-trackers-waist = เอว
settings-general-steamvr-trackers-chest = หน้าอก
settings-general-steamvr-trackers-feet = เท้า
settings-general-steamvr-trackers-knees = หัวเข่า
settings-general-steamvr-trackers-elbows = ข้อศอก
settings-general-steamvr-trackers-hands = มือ
## Tracker mechanics
settings-general-tracker_mechanics-filtering-amount = จำนวน
settings-general-tracker_mechanics-drift_compensation = การชดเชยดริฟท์
settings-general-tracker_mechanics-drift_compensation-enabled-label = การชดเชยดริฟท์
settings-general-tracker_mechanics-drift_compensation-amount-label = จํานวนชดเชยดริฟ
## FK/Tracking settings
settings-general-fk_settings-arm_fk-back = หลัง
## Gesture control settings (tracker tapping)
## Interface settings
## Appearance settings
settings-general-interface-dev_mode = โหมดนักพัฒนา
settings-general-interface-dev_mode-label = โหมดนักพัฒนา
@@ -167,6 +251,9 @@ settings-general-interface-lang = เลือกภาษา
settings-general-interface-lang-description = เลือกภาษาตั้งต้นที่คุณต้องการใช้
settings-general-interface-lang-placeholder = เลือกภาษาที่ใช้
## Notification settings
## Serial settings
settings-serial-reboot = เริ่มการทำงานใหม่
@@ -285,5 +372,17 @@ onboarding-automatic_proportions-verify_results-description = ตรวจสอ
## Home
## Trackers Still On notification
## Status system
## Tray Menu
## First exit modal
## Unknown device modal

View File

@@ -1,6 +1,3 @@
### SlimeVR complete GUI translations
# Please developers (not translators) don't reuse a key inside another key
# or concat text with a translation string in the code, use the appropriate
# features like variables and selectors in each appropriate case!
@@ -13,10 +10,19 @@
websocket-connecting = Đang kết nối với máy chủ
websocket-connection_lost = Kết nối với máy chủ đã mất. Đang kết nối lại...
## Update notification
version_update-title = Phiên bản mới có thể cập nhật:
version_update-description = Nhấp vào "{ version_update-update }" sẽ tải xuống trình cài đặt SlimeVR cho bạn.
version_update-update = Cập nhật
version_update-close = Đóng
## Tips
tips-find_tracker = Không rõ tracker nào đang được chọn? Di chuyển nó và trong menu sẽ sáng lên tracker đó
tips-do_not_move_heels = Không di chuyển gót chân trong khi đo
tips-file_select = Kéo và thả tệp để sử dụng hoặc <u>duyệt</u>.
tips-tap_setup = Bạn có thể từ từ nhấn vào 2 lần trình theo dõi của mình để chọn nó thay vì chọn nó từ menu.
## Body parts
@@ -30,7 +36,7 @@ body_part-RIGHT_HAND = Tay phải
body_part-RIGHT_UPPER_LEG = Bắp chân phải
body_part-RIGHT_LOWER_LEG = Cẳng chân phải
body_part-RIGHT_FOOT = Bàn chân phải
body_part-RIGHT_CONTROLLER = Tay cầm bên phải
body_part-UPPER_CHEST = Ngực trên
body_part-CHEST = Ngực
body_part-WAIST = Eo
body_part-HIP = Hông
@@ -41,19 +47,21 @@ body_part-LEFT_HAND = Tay trái
body_part-LEFT_UPPER_LEG = Bắp chân trái
body_part-LEFT_LOWER_LEG = Cẳng chân trái
body_part-LEFT_FOOT = Bàn chân trái
body_part-LEFT_CONTROLLER = Tay cầm bên trái
## Proportions
skeleton_bone-NONE = Chưa được gán
skeleton_bone-HEAD = Sai số đầu
skeleton_bone-NECK = Chiều dài cổ
skeleton_bone-CHEST = Khoảng cách ngực
skeleton_bone-torso_group = Độ dài thân
skeleton_bone-UPPER_CHEST = Độ dài ngực trên
skeleton_bone-CHEST_OFFSET = Sai số ngực
skeleton_bone-CHEST = Khoảng cách ngực
skeleton_bone-WAIST = Khoảng cách eo
skeleton_bone-HIP = Khoảng cách hông
skeleton_bone-HIP_OFFSET = Sai số hông
skeleton_bone-HIPS_WIDTH = Chiều rộng hông
skeleton_bone-leg_group = Chiều dài chân
skeleton_bone-UPPER_LEG = Chiều dài bắp chân
skeleton_bone-LOWER_LEG = Chiều dài cẳng chân
skeleton_bone-FOOT_LENGTH = Chiều dài bàn chân
@@ -61,10 +69,11 @@ skeleton_bone-FOOT_SHIFT = Sai số bàn chân
skeleton_bone-SKELETON_OFFSET = Sai số thân
skeleton_bone-SHOULDERS_DISTANCE = Khoảng cách vai
skeleton_bone-SHOULDERS_WIDTH = Chiều rộng vai
skeleton_bone-arm_group = Chiều dài cánh tay
skeleton_bone-UPPER_ARM = Chiều dài bắp tay
skeleton_bone-LOWER_ARM = Chiều dài cẳng tay
skeleton_bone-CONTROLLER_Y = Khoảng cách tay cầm theo trục Y
skeleton_bone-CONTROLLER_Z = Khoảng cách tay cầm theo trục Z
skeleton_bone-HAND_Y = Khoảng cách tay Y
skeleton_bone-HAND_Z = Khoảng cách tay Z
skeleton_bone-ELBOW_OFFSET = Sai số khuỷu tay
## Tracker reset buttons
@@ -72,7 +81,7 @@ skeleton_bone-ELBOW_OFFSET = Sai số khuỷu tay
reset-reset_all = Đặt lại tất cả bộ phận
reset-full = Đặt lại
reset-mounting = Đặt lại hướng gắn tracker
reset-quick = Đặt lại nhanh
reset-yaw = Reset Yaw
## Serial detection stuff
@@ -93,17 +102,30 @@ navbar-mounting = Cân chỉnh hướng gắn tracker
navbar-onboarding = Trình thiết lập
navbar-settings = Cài đặt
## Bounding volume hierarchy recording
## Biovision hierarchy recording
bvh-start_recording = Ghi BVH
bvh-recording = Đang ghi...
## Tracking pause
tracking-unpaused = Tạm dừng tracking
tracking-paused = Bỏ dừng theo dõi
## Widget: Overlay settings
widget-overlay = Overlay
widget-overlay-is_visible_label = Xem overlay trên SteamVR
widget-overlay-is_mirrored_label = Xem overlay trong gương
## Widget: Drift compensation
widget-drift_compensation-clear = Xóa sai số
## Widget: Clear Reset Mounting
widget-clear_mounting = Đặt lại hướng gắn tracker
## Widget: Developer settings
widget-developer_mode = Chế độ nhà phát triển
@@ -120,6 +142,12 @@ widget-developer_mode-more_info = Thêm thông tin
widget-imu_visualizer = Góc quay
widget-imu_visualizer-rotation_raw = Gốc
widget-imu_visualizer-rotation_preview = Qua xử lí
widget-imu_visualizer-rotation_hide = Ẩn
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = Xem trước khung xương
widget-skeleton_visualizer-hide = Ẩn
## Tracker status
@@ -129,6 +157,7 @@ tracker-status-error = Lỗi
tracker-status-disconnected = Đã ngắt kết nối
tracker-status-occluded = Nghẽn
tracker-status-ok = Đã kết nối
tracker-status-timed_out = Hết thời gian chờ
## Tracker status columns
@@ -146,9 +175,15 @@ tracker-table-column-url = Đường dẫn
## Tracker rotation
tracker-rotation-front = Trước
tracker-rotation-front_left = Phía trước-Bên trái
tracker-rotation-front_right = Phía trước-Bên phải
tracker-rotation-left = Trái
tracker-rotation-right = Phải
tracker-rotation-back = Sau
tracker-rotation-back_left = Phía sau-Bên trái
tracker-rotation-back_right = Phía sau-Bên phải
tracker-rotation-custom = Tùy chọn
tracker-rotation-overriden = (được ghi đè bởi reset hướng gắn tracker)
## Tracker information
@@ -156,6 +191,11 @@ tracker-infos-manufacturer = Nhà sản xuất
tracker-infos-display_name = Tên hiển thị
tracker-infos-custom_name = Tên gọi
tracker-infos-url = Đường dẫn
tracker-infos-version = Phiên bản firmware
tracker-infos-hardware_rev = Revision phần cứng
tracker-infos-hardware_identifier = Hardware ID
tracker-infos-imu = Cảm biến IMU (IMU Sensor)
tracker-infos-board_type = Bảng mạch chính
## Tracker settings
@@ -208,6 +248,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } bắp chân
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } cẳng chân phải?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } bàn chân phải?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } tay cầm bên phải?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } ngực trên?
tracker_selection_menu-CHEST = { -tracker_selection-part } ngực?
tracker_selection_menu-WAIST = { -tracker_selection-part } eo?
tracker_selection_menu-HIP = { -tracker_selection-part } hông?
@@ -222,6 +263,13 @@ tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } tay cầm b
tracker_selection_menu-unassigned = Chưa gắn vị trí
tracker_selection_menu-assigned = Đã gán vị trí
tracker_selection_menu-dont_assign = Không gắn
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Cảnh báo:</b> Tracker ở cổ rất nguy hiểm và có thể gây tử vong nếu điều chỉnh quá chặt,
Dây đeo có thể cắt lưu thông máu đến đầu của bạn!
tracker_selection_menu-neck_warning-done = Tôi hiểu những rủi ro
tracker_selection_menu-neck_warning-cancel = Hủy
## Mounting menu
@@ -237,8 +285,11 @@ settings-sidebar-fk_settings = Cài đặt tracker
settings-sidebar-gesture_control = Cử chỉ điều khiển
settings-sidebar-interface = Giao diện
settings-sidebar-osc_router = Router OSC
settings-sidebar-osc_trackers = Trình theo dõi VRChat OSC
settings-sidebar-utils = Công cụ
settings-sidebar-serial = Cổng Serial
settings-sidebar-appearance = Giao diện
settings-sidebar-notifications = Thông báo
## SteamVR settings
@@ -286,8 +337,6 @@ settings-general-tracker_mechanics-drift_compensation-max_resets-label = Số l
## FK/Tracking settings
settings-general-fk_settings = Cài đặt nâng cao
settings-general-fk_settings-leg_tweak = Chân
settings-general-fk_settings-leg_tweak-description = "Ngăn xuyên sàn" có thể giảm thiểu khả năng chân xuống thấp hơn sàn sau khi đặt lại vị trí tracker, có thể gây vấn đề nếu đang đứng bằng đầu gối. "Sửa trượt" giúp giảm thiểu tình trạng chân có chuyển động nhỏ so với sàn khi đứng yên, có thể làm giảm độ chính xác với một số chuyển động cụ thể
# Floor clip:
# why the name - came from the idea of noclip in video games, but is the opposite where clipping to the floor is a desired feature
# definition - Prevents the foot trackers from going lower than they where when a reset was performed
@@ -297,15 +346,30 @@ settings-general-fk_settings-leg_tweak-floor_clip = Ngăn xuyên sàn
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
settings-general-fk_settings-leg_tweak-skating_correction = Sửa trượt
settings-general-fk_settings-leg_tweak-toe_snap = Đoán hướng xoay chân
settings-general-fk_settings-leg_tweak-foot_plant = Cân bằng chân
settings-general-fk_settings-leg_tweak-skating_correction-amount = Mức độ sửa
settings-general-fk_settings-leg_tweak-skating_correction-description = Sửa trượt sẽ điều chỉnh nhằm giảm thiểu hiện tượng trượt băng nhưng có thể làm giảm độ chính xác trong một vài kiểu chuyển động nhất định. Khi bật tính năng này, vui lòng đảm bảo thực hiện thao tác đặt lại hoàn toàn và hiệu chỉnh lại trong trò chơi.
settings-general-fk_settings-leg_tweak-floor_clip-description = Ngăn xuyên sàn có thể giảm hoặc loại bỏ khả năng tracker của bạn đi xuyên sàn nhà. Khi bật tính năng này, vui lòng đảm bảo thực hiện thao tác đặt lại hoàn toàn và hiệu chỉnh lại trong trò chơi.
settings-general-fk_settings-leg_tweak-toe_snap-description = Đoán hướng xoay chân sẽ đoán hướng xoay của chân đồng thời khóa ngón chân của bạn vào mặt sàn bạn nếu bạn không sử dụng tracker cho chân.
settings-general-fk_settings-leg_tweak-foot_plant-description = Cân bằng chân sẽ xoay chân song song với mặt đất khi lại gần.
settings-general-fk_settings-leg_fk = Track chân
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Đặt lại hướng gắn tracker bàn chân bằng cách nhón chân.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Đặt lại hướng gắn tracker bàn chân
settings-general-fk_settings-arm_fk = Track cánh tay
settings-general-fk_settings-arm_fk-description = Thay đổi cách cánh tay được track
settings-general-fk_settings-arm_fk-force_arms = Lấy dữ liệu cánh tay từ kính
settings-general-fk_settings-skeleton_settings = Cài đặt khung cơ thể
settings-general-fk_settings-arm_fk-reset_mode-description = Thay đổi tư thế cánh tay để đặt lại hướng gắn tracker.
settings-general-fk_settings-arm_fk-back = Khuỷu tay ra sau
settings-general-fk_settings-arm_fk-back-description = Chế độ mặc định, với cánh tay trên trỏ về phía sau và cánh tay dưới hướng về phía trước.
settings-general-fk_settings-arm_fk-tpose_up = T-pose
settings-general-fk_settings-arm_fk-tpose_up-description = Hai tay của bạn sẽ hướng xuống ở hai bên khi đặt lại hoàn toàn, và đưa lên 90 độ sang hai bên khi đặt lại hướng gắn tracker.
settings-general-fk_settings-arm_fk-tpose_down = T-pose (ngược lại)
settings-general-fk_settings-arm_fk-tpose_down-description = Hai tay của bạn sẽ đưa lên 90 độ sang hai bên khi đặt lại hoàn toàn, và hai tay hướng xuống hai bên khi đặt lại hướng gắn tracker.
settings-general-fk_settings-arm_fk-forward = Hai tay ra trước
settings-general-fk_settings-arm_fk-forward-description = Hai cánh tay của bạn nâng lên 90 độ về phía trước. Hữu dụng cho việc VTubing.
settings-general-fk_settings-skeleton_settings-description = Bật hoặc tắt các cài đặt về khung cơ thể. Các lựa chọn này nên được giữ bật
settings-general-fk_settings-skeleton_settings-extended_spine = Xương sống kéo dài
settings-general-fk_settings-skeleton_settings-extended_pelvis = Xương chậu kéo dài
settings-general-fk_settings-skeleton_settings-extended_knees = Đầu gối kéo dài
settings-general-fk_settings-self_localization-title = Chế độ Mocap
settings-general-fk_settings-vive_emulation-title = Giả lập tracker Vive
settings-general-fk_settings-vive_emulation-description = Giả lập cách tracker của Vive gặp vấn đề với việc theo dõi eo, đây là 1 tính năng được làm cho vui và sẽ làm giảm độ chính xác
settings-general-fk_settings-vive_emulation-label = Giả lập tracker Vive
@@ -322,28 +386,36 @@ settings-general-gesture_control-taps =
[one] 1 tap
*[other] { $amount } lần
}
settings-general-gesture_control-quickResetEnabled = Chạm để đặt lại nhanh
settings-general-gesture_control-quickResetDelay = Thời gian delay trước khi đặt lại nhanh
settings-general-gesture_control-quickResetTaps = Số lần chạm cho đặt lại nhanh
settings-general-gesture_control-resetEnabled = Chạm để đặt lại
settings-general-gesture_control-resetDelay = Thời gian delay trước khi đặt lại
settings-general-gesture_control-resetTaps = Số lần chạm cho đặt lại
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers = { $amount } trackers
settings-general-gesture_control-mountingResetEnabled = Chạm để đặt lại hướng gắn tracker
settings-general-gesture_control-mountingResetDelay = Thời gian delay trước khi đặt lại hướng gắn tracker
settings-general-gesture_control-mountingResetTaps = Số lần chạm cho đặt lại hướng gắn tracker
## Interface settings
## Appearance settings
settings-general-interface = Giao diện
settings-interface-appearance = Giao diện
settings-general-interface-dev_mode = Chế độ nhà phát triển
settings-general-interface-dev_mode-description = Hữu dụng nếu cần thêm thông tin chi tiết của tracker hay can thiệp sâu hơn vào tracker
settings-general-interface-dev_mode-label = Chế độ nhà phát triển
settings-general-interface-serial_detection = Nhận dạng thiết bị Serial mới
settings-general-interface-serial_detection-description = Hiển thị pop-up mỗi lần một thiết bị Serial mới được kết nối qua USB (có thể là tracker), giúp cải thiện quá trình thiết lập tracker
settings-general-interface-serial_detection-label = Nhận dạng thiết bị Serial mới
settings-general-interface-theme = Màu giao diện
settings-general-interface-lang = Thay đổi ngôn ngữ (Change language)
settings-general-interface-lang-description = Đổi ngôn ngữ hiển thị (Change the default language you want to use)
settings-general-interface-lang-placeholder = Chọn ngôn ngữ để sử dụng (Select the language to use)
# Keep the font name untranslated
settings-interface-appearance-font = Phông chữ cho GUI
settings-interface-appearance-font-placeholder = Phông chữ mặc định
settings-interface-appearance-font-os_font = Phông chữ hệ điều hành
settings-interface-appearance-font-slime_font = Phông chữ mặc định
## Notification settings
settings-interface-notifications = Thông báo
settings-general-interface-serial_detection = Nhận dạng thiết bị Serial mới
settings-general-interface-serial_detection-description = Hiển thị pop-up mỗi lần một thiết bị Serial mới được kết nối qua USB (có thể là tracker), giúp cải thiện quá trình thiết lập tracker
settings-general-interface-serial_detection-label = Nhận dạng thiết bị Serial mới
settings-general-interface-feedback_sound-description = Tùy chọn này sẽ phát âm thanh khi thiết lập lại được kích hoạt.
## Serial settings
@@ -355,6 +427,8 @@ settings-serial-description =
settings-serial-connection_lost = Kết nối đến Serial đã mất, đang kết nối lại...
settings-serial-reboot = Khởi động lại
settings-serial-factory_reset = Khôi phục cài đặt gốc
settings-serial-factory_reset-warning-ok = Tôi biết mình đang làm gì
settings-serial-factory_reset-warning-cancel = Hủy
settings-serial-get_infos = Lấy thông tin
settings-serial-serial_select = Chọn cổng Serial
settings-serial-auto_dropdown_item = Tự động
@@ -408,16 +482,46 @@ settings-osc-vrchat-network-address-placeholder = Địa chỉ IP của thiết
settings-osc-vrchat-network-trackers = Cấu hình Tracker
settings-osc-vrchat-network-trackers-description = Chọn các tracker mà SlimeVR sẽ gửi dữ liệu OSC đến VRChat
settings-osc-vrchat-network-trackers-chest = Ngực
settings-osc-vrchat-network-trackers-waist = Eo
settings-osc-vrchat-network-trackers-hip = Hông
settings-osc-vrchat-network-trackers-knees = Đầu gối
settings-osc-vrchat-network-trackers-feet = Bàn chân
settings-osc-vrchat-network-trackers-elbows = Khuỷu tay
## VMC OSC settings
settings-osc-vmc = Virtual Motion Capture
settings-osc-vmc-enable = Bật
settings-osc-vmc-enable-description = Cho phép nhận và gửi dữ liệu OSC
settings-osc-vmc-enable-label = Chuyển tiếp dữ liệu OSC
settings-osc-vmc-network = Cổng mạng (Network ports)
settings-osc-vmc-network-description = Đặt các cổng để nghe và gửi dữ liệu qua VMC.
settings-osc-vmc-network-port_in =
.label = Cổng vào (Port In)
.placeholder = Port in (default: 39540)
settings-osc-vmc-network-port_out =
.label = Cổng ra (Port out)
.placeholder = Port out (default: 39539)
settings-osc-vmc-network-address = Địa chỉ mạng (Network address)
settings-osc-vmc-network-address-description = Chọn địa chỉ để gửi dữ liệu qua VMC.
settings-osc-vmc-network-address-placeholder = Địa chỉ IPV4
settings-osc-vmc-vrm = Model VRM
settings-osc-vmc-vrm-description = Tải mô hình VRM để cho phép neo đầu và cho phép khả năng tương thích cao hơn với các ứng dụng khác.
settings-osc-vmc-vrm-model_unloaded = Chưa có mô hình tải lên
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] Mô hình đã được tải: { $name }
*[other] Mô hình chưa có tiêu đề đã được tải
}
settings-osc-vmc-vrm-file_select = Kéo và thả mô hình để sử dụng hoặc <u>duyệt file</u>
## Setup/onboarding menu
onboarding-skip = Bỏ qua cài đặt
onboarding-continue = Tiếp tục
onboarding-wip = Chưa hoàn thiện
onboarding-previous_step = Quay lại
onboarding-setup_warning-skip = Bỏ qua cài đặt
onboarding-setup_warning-cancel = Tiếp tục thiết lập
## Wi-Fi setup
@@ -440,15 +544,12 @@ onboarding-wifi_creds-password =
onboarding-reset_tutorial-back = Quay lại cân chỉnh vị trí gắn tracker
onboarding-reset_tutorial = Làm lại
onboarding-reset_tutorial-description = Tính năng này chưa hoàn thiện, vui lòng bấm tiếp tục và quay lại sau
onboarding-reset_tutorial-explanation = Trong khi bạn sử dụng trình theo dõi của mình, tracker có thể bị lệch khỏi căn chỉnh do IMU bị trượt, trôi dạt hoặc vì bạn có thể đã di chuyển chúng về mặt vật lý. Bạn có một số cách để khắc phục điều này.
onboarding-reset_tutorial-skip = Bỏ qua bước
## Setup start
onboarding-home = Chào mừng bạn đến với SlimeVR!
# This cares about multilines and it's centered!!
onboarding-home-description =
Mang FBT đến
với mọi người
onboarding-home-start = Bắt đầu thiết lập!
## Enter VR part of setup
@@ -472,11 +573,14 @@ onboarding-connect_tracker-description-p0 = Cập nhật thông tin Wi-Fi cho tr
onboarding-connect_tracker-description-p1 = Hãy kết nối các tracker chưa thiết lập qua cổng USB
onboarding-connect_tracker-issue-serial = Có vấn đề với việc kết nối? Kiểm tra thông tin qua cổng Serial
onboarding-connect_tracker-usb = USB Tracker
onboarding-connect_tracker-connection_status-none = Đang tìm tracker
onboarding-connect_tracker-connection_status-serial_init = Kết nối với thiết bị nối tiếp serial
onboarding-connect_tracker-connection_status-provisioning = Đang gửi thông tin Wi-Fi
onboarding-connect_tracker-connection_status-connecting = Đang gửi thông tin Wi-Fi
onboarding-connect_tracker-connection_status-connected = Đã kết nối đến Wi-Fi
onboarding-connect_tracker-connection_status-error = Không thể kết nối đến Wi-Fi
onboarding-connect_tracker-connection_status-start_connecting = Đang tìm tracker
onboarding-connect_tracker-connection_status-handshake = Đã kết nối đến máy chủ SlimeVR
onboarding-connect_tracker-connection_status-looking_for_server = Đang tìm máy chủ
onboarding-connect_tracker-connection_status-connection_error = Không thể kết nối đến Wi-Fi
onboarding-connect_tracker-connection_status-could_not_find_server = Không thể tìm thấy máy chủ
onboarding-connect_tracker-connection_status-done = Đã kết nối đến máy chủ SlimeVR
# $amount (Number) - Amount of trackers connected (this is a number, but you can use CLDR plural rules for your language)
# More info on https://www.unicode.org/cldr/cldr-aux/charts/22/supplemental/language_plural_rules.html
# English in this case only has 2 plural rules, which are "one" and "other",
@@ -490,6 +594,21 @@ onboarding-connect_tracker-connected_trackers =
} đã giao
onboarding-connect_tracker-next = Đã kết nối với tất cả tracker
## Tracker calibration tutorial
onboarding-calibration_tutorial-subtitle = Cái này sẽ giúp giảm trôi trượt theo dõi!
onboarding-calibration_tutorial-calibrate = Tôi đã đặt thiết bị theo dõi của mình lên bàn
onboarding-calibration_tutorial-status-waiting = Đang chờ bạn hoàn thành
onboarding-calibration_tutorial-status-success = Nice!
## Tracker assignment tutorial
onboarding-assignment_tutorial = Làm thế nào để chuẩn bị một Slime Tracker trước khi đưa nó vào
onboarding-assignment_tutorial-first_step = 1. Đặt nhãn dán bộ phận cơ thể (nếu có) trên tracker theo lựa chọn của bạn
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = Sticker
onboarding-assignment_tutorial-done = Tôi đã dán nhãn dán và dây đai!
## Tracker assignment setup
onboarding-assign_trackers-back = Quay lại cài đặt Wi-Fi
@@ -506,6 +625,15 @@ onboarding-assign_trackers-assigned =
onboarding-assign_trackers-advanced = Xem thêm vị trí đặt
onboarding-assign_trackers-next = Hoàn thành
## Tracker assignment warnings
## Tracker mounting method choose
# Italized text
onboarding-choose_mounting-auto_mounting-label = Thử nghiệm
onboarding-choose_mounting-manual_modal-cancel = Hủy
## Tracker manual mounting setup
onboarding-manual_mounting-back = Quay lại chuẩn bị cân chỉnh
@@ -535,6 +663,25 @@ onboarding-automatic_mounting-put_trackers_on-title = Đeo tracker lên người
onboarding-automatic_mounting-put_trackers_on-description = Để cân chỉnh hướng gắn của tracker, SlimeVR sẽ tiến hành đo góc nghiêng của tracker khi đang đeo để cân chỉnh hướng gắn, hãy đeo tracker theo đúng vị trí đã thiết lập
onboarding-automatic_mounting-put_trackers_on-next = Tiếp tục
## Tracker proportions method choose
onboarding-choose_proportions-auto_proportions = Đo kích thước cơ thể tự động
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Khuyến khích dùng
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Tính năng này sẽ đoán tỷ lệ cơ thể của bạn bằng cách ghi lại một mẫu chuyển động của bạn và chuyển nó qua một thuật toán.
<b>Tính năng này sẽ yêu cầu headset của bạn (HMD) được kết nối với SlimeVR và đang nằm ở trên đầu của bạn!</b>
onboarding-choose_proportions-manual_proportions = Đo kích thước cơ thể thủ công
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = Cho chính xác
onboarding-choose_proportions-manual_proportions-description = Tính năng này sẽ cho phép bạn điều chỉnh tỉ lệ cơ thể của mình theo cách thủ công bằng cách chỉnh sửa các con số một cách trực tiếp
onboarding-choose_proportions-export = Xuất tỉ lệ cơ thể
onboarding-choose_proportions-import = Nhập tỉ lệ cơ thể
onboarding-choose_proportions-import-success = Đã được nhập
onboarding-choose_proportions-import-failed = Thất bại
onboarding-choose_proportions-file_type = File tỉ lệ cơ thể
## Tracker manual proportions setup
onboarding-manual_proportions-back = Quay lại cân chỉnh hướng gắn
@@ -552,22 +699,43 @@ onboarding-automatic_proportions-prev_step = Quay lại
onboarding-automatic_proportions-put_trackers_on-title = Đeo tracker lên người
onboarding-automatic_proportions-put_trackers_on-description = Để đo kích thước cơ thể, SlimeVR sẽ sử dụng một thuật toán để dự đoán kích thước của các bộ phận, hãy đeo tracker theo đúng vị trí đã thiết lập như hình bên
onboarding-automatic_proportions-put_trackers_on-next = Tiếp tục
onboarding-automatic_proportions-preparation-title = Chuẩn bị
onboarding-automatic_proportions-preparation-description = Chuẩn bị một chiếc ghế trong khu vực chơi vì quá trình đo sẽ yêu cầu đến việc ngồi xuống
onboarding-automatic_proportions-preparation-next = Đã có ghế ngồi sau lưng
onboarding-automatic_proportions-requirements-title = Yêu cầu
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-descriptionv2 =
Bạn có ít nhất đủ tracker để theo dõi bàn chân của mình (thường là 5 tracker).
Bạn đã bật tracker và headset và đang đeo chúng.
Tracker và headset của bạn được kết nối với máy chủ SlimeVR và đang hoạt động bình thường (ví dụ: không bị lag, ngắt kết nối, v.v.).
Headset của bạn đang báo cáo dữ liệu vị trí cho máy chủ SlimeVR (điều này thường có nghĩa là SteamVR đang chạy và kết nối với SlimeVR bằng driver SteamVR của SlimeVR).
Tracking của bạn đang hoạt động và thể hiện chính xác các chuyển động của bạn (ví dụ: bạn đã thực hiện thiết đặt lại hoàn toàn và chúng di chuyển đúng hướng khi đá, cúi xuống, ngồi, v.v.).
onboarding-automatic_proportions-requirements-next = Tôi đã đọc các yêu cầu
onboarding-automatic_proportions-check_height-title = Kiểm tra chiều cao của bạn
onboarding-automatic_proportions-check_height-description = Chúng tôi sử dụng chiều cao của bạn làm cơ sở cho các phép đo của chúng tôi bằng cách sử dụng chiều cao của headset (HMD) làm chiều cao ước tính thực tế của bạn, nhưng tốt hơn hết bạn nên tự kiểm tra xem chúng có đúng không!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Vui lòng nhấn nút trong khi đứng <u>thẳng</u> để tính chiều cao của bạn. Bạn có 3 giây sau khi nhấn nút!
onboarding-automatic_proportions-check_height-fetch_height = Tôi đang đứng!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Không rõ
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Chiều cao của HMD là
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = vậy chiều cao thật của bạn là
onboarding-automatic_proportions-check_height-next_step = Những chỉ số này là đúng
onboarding-automatic_proportions-start_recording-title = Chuẩn bị đo
onboarding-automatic_proportions-start_recording-description = Phần mềm sẽ đo một số chuyển động, cử chỉ cụ thể, hãy chuẩn bị cho việc di chuyển theo yêu cầu trong phần tiếp theo
onboarding-automatic_proportions-start_recording-next = Bắt đầu
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = Đang ghi...
onboarding-automatic_proportions-recording-description-p1 = Thực hiện các thao tác sau:
onboarding-automatic_proportions-recording-steps-0 = Uốn duỗi chân vài lần (squat)
onboarding-automatic_proportions-recording-steps-1 = Ngồi lên ghế rồi đứng lên
onboarding-automatic_proportions-recording-steps-2 = Vặn thân sang trái và uốn người sang phải
onboarding-automatic_proportions-recording-steps-3 = Vặn thân sang phải và uốn người sang trái
onboarding-automatic_proportions-recording-steps-4 = Làm thêm các chuyển đng khác đến khi hết thời gian
# Each line of text is a different list item
onboarding-automatic_proportions-recording-steps =
Đứng thẳng, xoay đầu một vòng tròn.
Cong lưng về phía trước và ngồi xổm. Trong khi ngồi xổm, nhìn sang trái, sau đó sang phải.
Xoay phần thân trên của bạn sang trái (ngược chiều kim đng hồ), sau đó đưa tay xuống đất.
Xoay phần thân trên của bạn sang phải (theo chiều kim đồng hồ), sau đó với tay xuống đất.
Xoay hông của bạn theo chuyển động tròn như thể bạn đang xoay vòng hula.
Nếu còn thời gian, bạn có thể lặp lại các bước này cho đến khi kết thúc.
onboarding-automatic_proportions-recording-processing = Đang xử lí kết quả...
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 15)
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] 1 second
@@ -581,7 +749,30 @@ onboarding-automatic_proportions-verify_results-redo = Thử lại
onboarding-automatic_proportions-verify_results-confirm = Kết quả tương đối chính xác
onboarding-automatic_proportions-done-title = Đã lưu chỉ số đo
onboarding-automatic_proportions-done-description = Quá trình đo đã hoàn tất
onboarding-automatic_proportions-error_modal =
<b>Cảnh báo:</b> Một lỗi đã được tìm thấy trong khi ước tính tỷ lệ cơ thể!
Vui lòng <docs>kiểm tra tài liệu</docs> hoặc tham gia <discord>Discord</discord> của chúng tôi để được trợ giúp ^_^
onboarding-automatic_proportions-error_modal-confirm = Đã hiểu!
## Home
home-no_trackers = Không tìm thấy tracker / Tracker chưa được gán
## Trackers Still On notification
trackers_still_on-modal-title = Tracker vẫn còn bật
trackers_still_on-modal-description =
Vẫn còn một hoặc nhiều tracker vẫn đang bật.
Bạn vẫn muốn thoát khỏi SlimeVR?
trackers_still_on-modal-confirm = Thoát SlimeVR
trackers_still_on-modal-cancel = Vui lòng đợi...
## Status system
status_system-StatusTrackerReset = Bạn nên thực hiện thiết lập lại toàn bộ vì một hoặc nhiều trình theo dõi không được điều chỉnh.
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] Hiện đang không kết nối với SteamVR thông qua trình điều khiển SlimeVR Feeder App.
*[other] Hiện đang không kết nối với SteamVR thông qua driver SlimeVR.
}
status_system-StatusTrackerError = Tracker { $trackerName } có lỗi.

View File

@@ -19,10 +19,12 @@ version_update-close = 关闭
## Tips
tips-find_tracker = 不确定哪个追踪器是哪个?在现实中摇动一个追踪器,对应的那个将在屏幕上高亮显示。
tips-find_tracker = 分不清哪个追踪器是哪个了?摇一摇它,对应的那个将高亮显示。
tips-do_not_move_heels = 确保你的脚跟在录制的时候不会发生移动!
tips-file_select = 拖放文档或 <u>浏览文档</u> 以使用
tips-tap_setup = 你可以缓慢地敲击2次追踪器来选中它而不是从菜单中选取。
tips-turn_on_tracker = 如果使用的是 SlimeVR 官方的追踪器,请在将追踪器连接到电脑后再<b><em>打开追踪器的电源</em></b>
tips-failed_webgl = WebGL初始化失败
## Body parts
@@ -36,6 +38,7 @@ body_part-RIGHT_HAND = 右手
body_part-RIGHT_UPPER_LEG = 右大腿
body_part-RIGHT_LOWER_LEG = 右小腿
body_part-RIGHT_FOOT = 右脚
body_part-UPPER_CHEST = 上胸
body_part-CHEST = 胸部
body_part-WAIST = 腰部
body_part-HIP = 髋部
@@ -53,6 +56,7 @@ skeleton_bone-NONE = 无
skeleton_bone-HEAD = 头部偏移
skeleton_bone-NECK = 颈部长度
skeleton_bone-torso_group = 躯干长度
skeleton_bone-UPPER_CHEST = 上胸长度
skeleton_bone-CHEST_OFFSET = 胸部偏移
skeleton_bone-CHEST = 胸部长度
skeleton_bone-WAIST = 腰部长度
@@ -64,7 +68,7 @@ skeleton_bone-UPPER_LEG = 大腿长度
skeleton_bone-LOWER_LEG = 小腿长度
skeleton_bone-FOOT_LENGTH = 脚部长度
skeleton_bone-FOOT_SHIFT = 脚部偏移
skeleton_bone-SKELETON_OFFSET = 骨偏移
skeleton_bone-SKELETON_OFFSET = 骨偏移
skeleton_bone-SHOULDERS_DISTANCE = 肩膀距离
skeleton_bone-SHOULDERS_WIDTH = 肩膀宽度
skeleton_bone-arm_group = 手臂长度
@@ -120,6 +124,10 @@ widget-overlay-is_mirrored_label = 镜像显示覆盖层
widget-drift_compensation-clear = 清除漂移补偿数据
## Widget: Clear Reset Mounting
widget-clear_mounting = 清除重置佩戴
## Widget: Developer settings
widget-developer_mode = 开发者选项
@@ -138,6 +146,11 @@ widget-imu_visualizer-rotation_raw = 原始旋转
widget-imu_visualizer-rotation_preview = 预览
widget-imu_visualizer-rotation_hide = 隐藏
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = 骨架预览
widget-skeleton_visualizer-hide = 隐藏
## Tracker status
tracker-status-none = 无状态
@@ -146,6 +159,7 @@ tracker-status-error = 错误
tracker-status-disconnected = 断开连接
tracker-status-occluded = 被遮挡
tracker-status-ok = 已连接
tracker-status-timed_out = 连接超时
## Tracker status columns
@@ -163,9 +177,15 @@ tracker-table-column-url = 地址
## Tracker rotation
tracker-rotation-front = 前
tracker-rotation-front_left = 左前
tracker-rotation-front_right = 右前
tracker-rotation-left = 左
tracker-rotation-right = 右
tracker-rotation-back = 后
tracker-rotation-back_left = 左后
tracker-rotation-back_right = 右后
tracker-rotation-custom = 自定义
tracker-rotation-overriden = (被重置佩戴覆盖)
## Tracker information
@@ -178,6 +198,7 @@ tracker-infos-hardware_rev = 硬件版本
tracker-infos-hardware_identifier = 硬件ID
tracker-infos-imu = IMU型号
tracker-infos-board_type = 主板型号
tracker-infos-network_version = 协议版本
## Tracker settings
@@ -197,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = 允许漂移补偿
tracker-settings-name_section = 追踪器名称
tracker-settings-name_section-description = 给它起一个可爱的名字吧=w=~
tracker-settings-name_section-placeholder = CC 封印着漆黑之力的漆黑左臂
tracker-settings-forget = 忘记追踪器
tracker-settings-forget-description = 从 SlimeVR 服务器中移除该追踪器,并在服务器重启前不再连接这一追踪器。追踪器的配置信息不会被清除。
tracker-settings-forget-label = 忘记追踪器
## Tracker part card info
@@ -230,6 +254,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part }右大腿?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part }右小腿?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part }右脚?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part }右控制器?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part }上胸?
tracker_selection_menu-CHEST = { -tracker_selection-part }胸部?
tracker_selection_menu-WAIST = { -tracker_selection-part }腰部?
tracker_selection_menu-HIP = { -tracker_selection-part }髋部?
@@ -269,6 +294,8 @@ settings-sidebar-osc_router = OSC 路由
settings-sidebar-osc_trackers = VRChat OSC 追踪器
settings-sidebar-utils = 工具
settings-sidebar-serial = 串口控制台
settings-sidebar-appearance = 外观
settings-sidebar-notifications = 通知
## SteamVR settings
@@ -279,14 +306,26 @@ settings-general-steamvr-subtitle = SteamVR 追踪器
# The first spaces (not tabs) for indentation will be ignored, just to make the file look nice when writing.
# This one is one of this cases that cares about multilines
settings-general-steamvr-description =
启用或禁用特定的追踪器
对于只支持特定追踪器的应用会很有用。
启用或禁用特定的 SteamVR 追踪器
对于只支持特定追踪器的游戏或应用会很有用。
settings-general-steamvr-trackers-waist = 腰部
settings-general-steamvr-trackers-chest = 胸部
settings-general-steamvr-trackers-feet = 脚
settings-general-steamvr-trackers-knees = 膝盖
settings-general-steamvr-trackers-elbows = 肘部
settings-general-steamvr-trackers-hands = 手部
settings-general-steamvr-trackers-left_foot =
settings-general-steamvr-trackers-right_foot = 右脚
settings-general-steamvr-trackers-left_knee = 左膝
settings-general-steamvr-trackers-right_knee = 右膝
settings-general-steamvr-trackers-left_elbow = 左手肘
settings-general-steamvr-trackers-right_elbow = 右手肘
settings-general-steamvr-trackers-left_hand = 左手
settings-general-steamvr-trackers-right_hand = 右手
settings-general-steamvr-trackers-tracker_toggling = 自动开关追踪器
settings-general-steamvr-trackers-tracker_toggling-description = 根据当前已分配的追踪器自动选择可用的SteamVR虚拟追踪器
settings-general-steamvr-trackers-tracker_toggling-label = 自动开关追踪器
settings-general-steamvr-trackers-hands-warning =
<b>警告:</b>开启手部虚拟追踪器将覆盖手柄的追踪信息。
是否确定?
settings-general-steamvr-trackers-hands-warning-cancel = 取消
settings-general-steamvr-trackers-hands-warning-done = 是
## Tracker mechanics
@@ -304,6 +343,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = 让运
settings-general-tracker_mechanics-filtering-type-prediction = 预测型
settings-general-tracker_mechanics-filtering-type-prediction-description = 减少延迟并使移动更敏捷,但可能会增加一些抖动。
settings-general-tracker_mechanics-filtering-amount = 滤波强度
settings-general-tracker_mechanics-yaw-reset-smooth-time = 重置航向轴平滑过渡时长0s时关闭平滑瞬移到位
settings-general-tracker_mechanics-drift_compensation = 漂移补偿
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -312,6 +352,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = 漂移补偿
settings-general-tracker_mechanics-drift_compensation-amount-label = 补偿量
settings-general-tracker_mechanics-drift_compensation-max_resets-label = 使用几次的重置结果?
settings-general-tracker_mechanics-save_mounting_reset = 保存佩戴重置结果
settings-general-tracker_mechanics-save_mounting_reset-description =
在SlimeVR服务器关闭时保留追踪器自动佩戴重置结果。适用于一体式动捕服等
追踪器佩戴位置保持不变的场景。<b>不建议普通用户使用!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = 保存佩戴重置
## FK/Tracking settings
@@ -333,14 +378,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = 地板限制可
settings-general-fk_settings-leg_tweak-toe_snap-description = 脚趾着地可以在没有脚部追踪器的情况下尝试猜测脚部的俯仰。
settings-general-fk_settings-leg_tweak-foot_plant-description = 脚掌着地会在脚与地面接触时保持脚掌与地板平行。
settings-general-fk_settings-leg_fk = 腿部追踪
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = 开启脚部佩戴重置。(佩戴重置时需要踮起脚尖)
settings-general-fk_settings-leg_fk-reset_mounting_feet = 脚部佩戴重置
settings-general-fk_settings-arm_fk = 手臂追踪
settings-general-fk_settings-arm_fk-description = 即使有手臂位置数据可用,也强制使用头显的数据追踪手臂。
settings-general-fk_settings-arm_fk-force_arms = 强制使用头显数据追踪手臂
settings-general-fk_settings-skeleton_settings = 骨架设置
settings-general-fk_settings-arm_fk-reset_mode-description = 更改佩戴重置时使用的手臂姿势。
settings-general-fk_settings-arm_fk-back = 向后弯折
settings-general-fk_settings-arm_fk-back-description = 默认,重置时大臂向后,小臂向前,类似滑雪。
settings-general-fk_settings-arm_fk-tpose_up = T-pose抬起
settings-general-fk_settings-arm_fk-tpose_up-description = 完整重置时手臂垂下,呈立正姿势;佩戴重置时手臂向两侧伸平。
settings-general-fk_settings-arm_fk-tpose_down = T-pose放下
settings-general-fk_settings-arm_fk-tpose_down-description = 完整重置时手臂向两侧伸平;佩戴重置时手臂垂下,呈立正姿势。
settings-general-fk_settings-arm_fk-forward = 向前伸平
settings-general-fk_settings-arm_fk-forward-description = 重置时手臂向前伸平,有利于坐姿进行虚拟直播。
settings-general-fk_settings-skeleton_settings-toggles = 骨架设置
settings-general-fk_settings-skeleton_settings-description = 打开或关闭骨架设置。建议保持这些设置不变。
settings-general-fk_settings-skeleton_settings-extended_spine = 脊柱延伸
settings-general-fk_settings-skeleton_settings-extended_pelvis = 骨盆延伸
settings-general-fk_settings-skeleton_settings-extended_knees = 膝盖延伸
settings-general-fk_settings-skeleton_settings-extended_spine_model = 延伸脊柱模型
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = 延伸骨盆模型
settings-general-fk_settings-skeleton_settings-extended_knees_model = 伸展膝盖模型
settings-general-fk_settings-skeleton_settings-ratios = 骨架比例
settings-general-fk_settings-skeleton_settings-ratios-description = 更改骨架设置的参数。您可能需要在更改后调整身体比例。
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = 用胸部到髋部的数据推算腰部
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = 用胸部到腿部的数据推算腰部
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = 用胸部到腿部的数据推算髋部
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = 用腰部到腿部的数据推算髋部
settings-general-fk_settings-skeleton_settings-interp_hip_legs = 平均髋部与腿部间航向轴和横滚轴的数值
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = 平均膝盖追踪器与小腿间航向轴和横滚轴的数值
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = 平均膝盖与小腿间航向轴和横滚轴的数值
settings-general-fk_settings-self_localization-title = 动作捕捉模式
settings-general-fk_settings-self_localization-description = 动作捕捉模式允许在没有头戴设备或其他追踪器的情况下粗略地跟踪骨架姿态。请注意,本功能需要脚部和头部追踪器,且现阶段依然是实验性的。
settings-general-fk_settings-vive_emulation-title = Vive 模拟
settings-general-fk_settings-vive_emulation-description = 模拟Vive追踪器的腰部丢追问题。 注:这是一个玩笑功能,会劣化追踪质量。)
settings-general-fk_settings-vive_emulation-label = 开启 Vive 模拟
@@ -356,6 +423,9 @@ settings-general-gesture_control-taps =
{ $amount ->
*[other] { $amount }次敲击
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers = { $amount } 个追踪器
settings-general-gesture_control-yawResetEnabled = 开启敲击重置航向轴
settings-general-gesture_control-yawResetDelay = 敲击重置航向轴延迟
settings-general-gesture_control-yawResetTaps = 重置航向轴敲击次数
@@ -365,13 +435,32 @@ settings-general-gesture_control-fullResetTaps = 完整重置敲击次数
settings-general-gesture_control-mountingResetEnabled = 开启敲击重置佩戴
settings-general-gesture_control-mountingResetDelay = 敲击重置佩戴延迟
settings-general-gesture_control-mountingResetTaps = 重置佩戴敲击次数
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = 可触发敲击重置的追踪器数量
settings-general-gesture_control-numberTrackersOverThreshold-description = 如敲击重置不起作用请增加此值。请在保证敲击重置可用的情况下将此值设置的尽可能低,否则会导致误报。
## Interface settings
## Appearance settings
settings-general-interface = 交互界面
settings-interface-appearance = 外观
settings-general-interface-dev_mode = 开发者模式
settings-general-interface-dev_mode-description = 如果你需要深入的数据或更深入地与连接的追踪器进行交互,打开此模式将会非常有用。
settings-general-interface-dev_mode-description = 如果你需要深入的资料或对连接的追踪器进行进阶调整,开启此模式将会非常有用。
settings-general-interface-dev_mode-label = 开发者模式
settings-general-interface-theme = 主题颜色
settings-general-interface-lang = 选择语言
settings-general-interface-lang-description = 更改要使用的默认语言
settings-general-interface-lang-placeholder = 选择要使用的语言
# Keep the font name untranslated
settings-interface-appearance-font = 字体
settings-interface-appearance-font-description = 修改使用的字体。
settings-interface-appearance-font-placeholder = 默认字体
settings-interface-appearance-font-os_font = 系统字体
settings-interface-appearance-font-slime_font = 默认字体
settings-interface-appearance-font_size = 字体缩放
settings-interface-appearance-font_size-description = 这会影响除此设置面板外所有界面的字体大小。
## Notification settings
settings-interface-notifications = 通知
settings-general-interface-serial_detection = 串口设备检测
settings-general-interface-serial_detection-description = 每次插入可能是追踪器的新串口设备时,此选项都会显示一个弹出窗口。这有助于改进追踪器的设置过程。
settings-general-interface-serial_detection-label = 串口设备检测
@@ -379,10 +468,12 @@ settings-general-interface-feedback_sound = 声音反馈
settings-general-interface-feedback_sound-description = 开启此选项会在触发重置时发出提示音
settings-general-interface-feedback_sound-label = 声音反馈
settings-general-interface-feedback_sound-volume = 提示音音量
settings-general-interface-theme = 主题颜色
settings-general-interface-lang = 选择语言
settings-general-interface-lang-description = 更改要使用的默认语言
settings-general-interface-lang-placeholder = 选择要使用的语言
settings-general-interface-connected_trackers_warning = 已连接追踪器警告
settings-general-interface-connected_trackers_warning-description = 启用本选项后,每次当退出 SlimeVR 时仍有追踪器连接着会显示通知,提醒你在使用完毕时关闭追踪器电源来节省电池电量。
settings-general-interface-connected_trackers_warning-label = 退出时,有追踪器连接中则显示警告
settings-general-interface-use_tray = 最小化至任务栏
settings-general-interface-use_tray-description = 关闭 SlimeVR 窗口时SlimeVR 服务器将会隐藏至任务栏图标而不会直接退出,可以继续使用。
settings-general-interface-use_tray-label = 最小化至任务栏
## Serial settings
@@ -404,6 +495,7 @@ settings-serial-factory_reset-warning-cancel = 取消
settings-serial-get_infos = 获取信息
settings-serial-serial_select = 选择串行端口
settings-serial-auto_dropdown_item = 自动
settings-serial-get_wifi_scan = 扫描可用WiFi
## OSC router settings
@@ -411,7 +503,7 @@ settings-osc-router = OSC 路由
# This cares about multilines
settings-osc-router-description =
从另一个程序转发 OSC 信息。
使用另一个 VRChat OSC 程序时会很有用
例如需要在 VRChat 同时使用另一个 OSC 程序。
settings-osc-router-enable = 启用
settings-osc-router-enable-description = 控制信息转发功能的开关。
settings-osc-router-enable-label = 启用
@@ -569,8 +661,8 @@ onboarding-done-close = 关闭向导
onboarding-connect_tracker-back = 返回到 Wi-Fi 凭据设置
onboarding-connect_tracker-title = 连接追踪器
onboarding-connect_tracker-description-p0 = 来到了我第二喜欢的环节,连接所有的追踪器!
onboarding-connect_tracker-description-p1 = 只需通过 USB 连接所有尚未连接的设备即可
onboarding-connect_tracker-description-p0-v1 = 来到了我第二喜欢的环节,连接追踪器!
onboarding-connect_tracker-description-p1-v1 = 一次一个,将所有追踪器依次通过USB连接至电脑
onboarding-connect_tracker-issue-serial = QAQ 我在连接时遇到问题!
onboarding-connect_tracker-usb = USB 追踪器
onboarding-connect_tracker-connection_status-none = 正在寻找追踪器
@@ -610,8 +702,8 @@ onboarding-assignment_tutorial = 在佩戴 Slime 追踪器之前的准备工作
onboarding-assignment_tutorial-first_step = 1. 根据您分配的情况在追踪器上粘贴标识身体部位的贴纸(如果有)
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = 贴纸
onboarding-assignment_tutorial-second_step = 2. 将绑带追踪器连接,调整绑带粘扣朝向到如下图所示(如果有)
onboarding-assignment_tutorial-second_step-continuation = 扩展追踪器的粘扣朝向:
onboarding-assignment_tutorial-second_step-v2 = 2. 将绑带穿过追踪器,确保绑带粘扣面的朝向与追踪器上的笑脸标志同向
onboarding-assignment_tutorial-second_step-continuation-v2 = 扩展追踪器的粘扣朝向应如下图所示
onboarding-assignment_tutorial-done = 我把贴纸和绑带都弄好了!
## Tracker assignment setup
@@ -625,6 +717,7 @@ onboarding-assign_trackers-description = 让我们选择哪个追踪器在哪里
onboarding-assign_trackers-assigned = { $assigned }/{ $trackers } 个追踪器已分配
onboarding-assign_trackers-advanced = 显示高级分配部位
onboarding-assign_trackers-next = 所有的追踪器都分配好了
onboarding-assign_trackers-mirror_view = 镜像显示
## Tracker assignment warnings
@@ -707,6 +800,11 @@ onboarding-choose_mounting-manual_mounting = 手动设置佩戴方向
# Italized text
onboarding-choose_mounting-manual_mounting-label = 推荐
onboarding-choose_mounting-manual_mounting-description = 这将需要你手动选择每个追踪器的佩戴方向
# Multiline text
onboarding-choose_mounting-manual_modal-title = 确定要进行自动佩戴校准?
onboarding-choose_mounting-manual_modal-description = <b>我们建议新手使用手动佩戴校准</b>,因为自动佩戴校准的姿势要一次做正确比较困难,可能需要一些练习。
onboarding-choose_mounting-manual_modal-confirm = 我已知晓
onboarding-choose_mounting-manual_modal-cancel = 取消
## Tracker manual mounting setup
@@ -741,18 +839,25 @@ onboarding-automatic_mounting-put_trackers_on-next = 所有的追踪器都已开
onboarding-choose_proportions = 使用哪种方法校准身体比例?
# Multiline string
onboarding-choose_proportions-description =
身体比例校准用于了解您身体的测量值。它们被需要用于计算追踪器的位置。
当你的身体比例与保存的不匹配时,你的追踪精度会变差,而且你会注意到诸如脚滑溜冰、不正常的滑动等情况,或者是你的身体与你的虚拟形象对不上
onboarding-choose_proportions-description-v1 =
身体比例记录了你身体各部分的尺寸。它们被用来计算虚拟追踪器的位置。
如果保存的身体比例和实际身体尺寸不匹配,追踪精度将会下降,并且会出现脚在地面滑动,或是身体和虚拟形象动作不一致的情况
<b>身体比例设置只要进行一次!</b> 除非身体比例存在错误或是身体尺寸发生了改变,否则不需要重复进行身体比例设置。
onboarding-choose_proportions-auto_proportions = 自动调整身体比例
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = 推荐
onboarding-choose_proportions-auto_proportions-description = 这将录制你的运动样本并通过AI来猜测你的身体比例
onboarding-choose_proportions-auto_proportions-descriptionv3 =
这将录制你的运动样本并通过算法来推测你的身体比例。
<b>需要戴上头戴设备,并确保设备已连接到 SlimeVR</b>
onboarding-choose_proportions-manual_proportions = 手动调整身体比例
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = 用于精细调整
onboarding-choose_proportions-manual_proportions-description = 这将需要你手动修改以调整你的身体比例
onboarding-choose_proportions-export = 导出身体比例
onboarding-choose_proportions-import = 导入身体比例
onboarding-choose_proportions-import-success = 导入成功
onboarding-choose_proportions-import-failed = 导入失败
onboarding-choose_proportions-file_type = 身体比例文件
## Tracker manual proportions setup
@@ -775,14 +880,28 @@ onboarding-automatic_proportions-put_trackers_on-description = 为了校准你
onboarding-automatic_proportions-put_trackers_on-next = 所有的追踪器都已开启!
onboarding-automatic_proportions-requirements-title = 准备工作
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
你需要足够的追踪器以追踪脚部(通常为 5 个)。
你已经打开追踪器和头戴设备的电源。
已经穿戴好追踪器和头戴设备。
你的追踪器和头戴设备都已经连接到 SlimeVR 服务器
你的追踪器和头戴设备在 SlimeVR 服务器中工作正常
你的头戴设备在回报位置信息给 SlimeVR 服务器(通常需要 SteamVR 正在运行且通过 SlimeVR 的 SteamVR 驱动连接到 SlimeVR
onboarding-automatic_proportions-requirements-descriptionv2 =
你需要足够的追踪器以追踪脚部(通常至少为 5 个)。
你已经穿戴好并打开追踪器和头戴设备的电源。
追踪器和头戴设备都已经连接到 SlimeVR 服务器并正常工作(没有卡顿、断联等问题)
你的头戴设备正在向 SlimeVR 服务器回报位置信息(通常需要 SteamVR 正在运行且通过 SlimeVR 的 SteamVR 驱动连接到 SlimeVR
你的追踪器正常工作并能反应实际运动(进行过完整重置和佩戴重置,踢腿、弯腰、坐下等动作时虚拟骨骼向正确的方向弯曲)
onboarding-automatic_proportions-requirements-next = 我已阅读
onboarding-automatic_proportions-check_height-title = 检查你的身高
onboarding-automatic_proportions-check_height-description = 我们会使用头戴设备回报的高度来推算您的实际身高,但我们仍建议您检查一下数值是否正确。
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = 请<u>站直</u>后按下按钮以计算身高,按下后您有 3 秒钟来调整姿势。
onboarding-automatic_proportions-check_height-guardian_tip =
如果你正在使用一体机进行串流,请确保开启并设置了安全边界,
以获取正确的高度信息。
onboarding-automatic_proportions-check_height-fetch_height = 我站好了!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = 未知
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = 你的头戴设备的高度是
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = 所以你的实际身高是
onboarding-automatic_proportions-check_height-next_step = 数值没问题
onboarding-automatic_proportions-start_recording-title = 准备录制运动
onboarding-automatic_proportions-start_recording-description = 我们现在要记录一些特定的姿势和动作。这些将在下一个屏幕中提示。当按钮被按下时,准备好开始!
onboarding-automatic_proportions-start_recording-next = 开始录制
@@ -808,11 +927,24 @@ onboarding-automatic_proportions-verify_results-redo = 重新录制
onboarding-automatic_proportions-verify_results-confirm = 他们是正确的!
onboarding-automatic_proportions-done-title = 身体数据已测量并保存。
onboarding-automatic_proportions-done-description = 你的身体比例校准已完成!
onboarding-automatic_proportions-error_modal =
<b>警告:</b> 推算身体比例时发生错误!
请 <docs>阅读文档</docs> 或加入我们的 <discord>Discord</discord> 寻求帮助 ^_^
onboarding-automatic_proportions-error_modal-confirm = 了解!
## Home
home-no_trackers = 未检测到或未分配追踪器
## Trackers Still On notification
trackers_still_on-modal-title = 有追踪器的电源还开着
trackers_still_on-modal-description =
至少有一个追踪器的电源还开着。
确定要退出 SlimeVR 吗?
trackers_still_on-modal-confirm = 退出 SlimeVR
trackers_still_on-modal-cancel = 等会…
## Status system
status_system-StatusTrackerReset = 建议执行完整重置,因为有至少一个追踪器未被调整。
@@ -822,3 +954,30 @@ status_system-StatusSteamVRDisconnected =
*[other] 尚未通过 SlimeVR 驱动程序连接到 SteamVR
}
status_system-StatusTrackerError = { $trackerName } 追踪器发生错误
## Tray Menu
tray_menu-show = 显示窗口
tray_menu-hide = 隐藏窗口
tray_menu-quit = 退出 SlimeVR
## First exit modal
tray_or_exit_modal-title = 选择关闭按钮的功能
# Multiline text
tray_or_exit_modal-description =
你可以选择在按下关闭按钮时,是退出 SlimeVR 服务器,还是仅将窗口最小化至任务栏图标。
你也可以在设置-交互界面中修改这个选项
tray_or_exit_modal-radio-exit = 退出 SlimeVR
tray_or_exit_modal-radio-tray = 最小化至任务栏
tray_or_exit_modal-submit = 保存
tray_or_exit_modal-cancel = 取消
## Unknown device modal
unknown_device-modal-title = 发现了一个新的追踪器!
unknown_device-modal-description =
发现一个MAC地址为 <b>{ $deviceId }</b> 的新追踪器。
要将它连接到 SlimeVR 吗?
unknown_device-modal-confirm = 是的!
unknown_device-modal-forget = 忽略它

View File

@@ -19,10 +19,12 @@ version_update-close = 關閉
## Tips
tips-find_tracker = 若你不確定手上的追蹤器是哪一個,搖一搖它,對應的項目就會顯示出來
tips-find_tracker = 若你不確定手上的追蹤器是哪一個,搖一搖它,對應的項目就會顯示出來
tips-do_not_move_heels = 確保你的腳跟在測量過程時不會發生移動!
tips-file_select = 拖曳檔案或 <u>瀏覽檔案</u> 以使用
tips-tap_setup = 除了從列表挑選追蹤器以外,您也可以慢慢敲擊 2 次追蹤器來選擇它。
tips-turn_on_tracker = 您使用的是官方的 SlimeVR 追蹤器嗎?記得要在連接到電腦以後<b><em>打開追蹤器的電源</em></b>喔!
tips-failed_webgl = 初始化 WebGL 失敗。
## Body parts
@@ -34,7 +36,7 @@ body_part-RIGHT_UPPER_ARM = 右上臂
body_part-RIGHT_LOWER_ARM = 右前臂
body_part-RIGHT_HAND = 右手
body_part-RIGHT_UPPER_LEG = 右大腿
body_part-RIGHT_LOWER_LEG = 右小腿
body_part-RIGHT_LOWER_LEG = 右腳踝
body_part-RIGHT_FOOT = 右腳
body_part-UPPER_CHEST = 上胸
body_part-CHEST = 胸部
@@ -45,7 +47,7 @@ body_part-LEFT_UPPER_ARM = 左上臂
body_part-LEFT_LOWER_ARM = 左前臂
body_part-LEFT_HAND = 左手
body_part-LEFT_UPPER_LEG = 左大腿
body_part-LEFT_LOWER_LEG = 左小腿
body_part-LEFT_LOWER_LEG = 左腳踝
body_part-LEFT_FOOT = 左腳
## Proportions
@@ -122,6 +124,10 @@ widget-overlay-is_mirrored_label = 鏡像顯示內嵌介面
widget-drift_compensation-clear = 清除偏移補償數據
## Widget: Clear Reset Mounting
widget-clear_mounting = 清除配戴重置
## Widget: Developer settings
widget-developer_mode = 開發者選項
@@ -140,6 +146,11 @@ widget-imu_visualizer-rotation_raw = 原始旋轉
widget-imu_visualizer-rotation_preview = 預覽
widget-imu_visualizer-rotation_hide = 隱藏
## Widget: Skeleton Visualizer
widget-skeleton_visualizer-preview = 骨架預覽
widget-skeleton_visualizer-hide = 隱藏
## Tracker status
tracker-status-none = 無
@@ -148,6 +159,7 @@ tracker-status-error = 錯誤
tracker-status-disconnected = 連線中斷
tracker-status-occluded = 被遮擋
tracker-status-ok = 已連線
tracker-status-timed_out = 已逾時
## Tracker status columns
@@ -165,9 +177,15 @@ tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = 前
tracker-rotation-front_left = 左前方
tracker-rotation-front_right = 右前方
tracker-rotation-left = 左
tracker-rotation-right = 右
tracker-rotation-back = 後
tracker-rotation-back_left = 左後方
tracker-rotation-back_right = 右後方
tracker-rotation-custom = 自訂
tracker-rotation-overriden = (本設定已被配戴重置覆蓋)
## Tracker information
@@ -180,6 +198,7 @@ tracker-infos-hardware_rev = 硬體版本
tracker-infos-hardware_identifier = 硬體 ID
tracker-infos-imu = 慣性測量單元 (IMU)
tracker-infos-board_type = 主板
tracker-infos-network_version = 通訊協定版本
## Tracker settings
@@ -199,6 +218,9 @@ tracker-settings-drift_compensation_section-edit = 允許偏移補償
tracker-settings-name_section = 追蹤器名稱
tracker-settings-name_section-description = 給它起一個可愛的名字吧 ^^
tracker-settings-name_section-placeholder = ↖★煞氣a黑貓☆↘的美味右腿
tracker-settings-forget = 忘記追蹤器
tracker-settings-forget-description = 從 SlimeVR 伺服器程式中移除該追蹤器,且直到重新啟動伺服器前不會再次連接。該追蹤器的設定不會遺失。
tracker-settings-forget-label = 忘記追蹤器
## Tracker part card info
@@ -229,7 +251,7 @@ tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part }右上臂?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part }右前臂?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part }右手?
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part }右大腿?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part }右小腿
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part }右腳踝
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part }右腳?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part }右控制器?
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part }上胸?
@@ -241,7 +263,7 @@ tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part }左上臂?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part }左前臂?
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part }左手?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part }左大腿?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part }左小腿
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part }左腳踝
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part }左腳?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part }左控制器?
tracker_selection_menu-unassigned = 尚未分配的追蹤器
@@ -272,6 +294,8 @@ settings-sidebar-osc_router = OSC 路由
settings-sidebar-osc_trackers = VRChat OSC 追蹤器
settings-sidebar-utils = 工具
settings-sidebar-serial = 串列埠終端
settings-sidebar-appearance = 外觀
settings-sidebar-notifications = 通知
## SteamVR settings
@@ -282,14 +306,26 @@ settings-general-steamvr-subtitle = SteamVR 追蹤器
# The first spaces (not tabs) for indentation will be ignored, just to make the file look nice when writing.
# This one is one of this cases that cares about multilines
settings-general-steamvr-description =
開啟或關閉特定的 SteamVR 追蹤器
對於只支援特定追蹤器的遊戲或應用程式會很有用
開啟或關閉特定的 SteamVR 追蹤器
對於只支援特定追蹤器的遊戲或應用程式,本功能會有所幫助
settings-general-steamvr-trackers-waist = 腰部
settings-general-steamvr-trackers-chest = 胸部
settings-general-steamvr-trackers-feet = 腳
settings-general-steamvr-trackers-knees = 膝蓋
settings-general-steamvr-trackers-elbows = 肘部
settings-general-steamvr-trackers-hands = 手部
settings-general-steamvr-trackers-left_foot =
settings-general-steamvr-trackers-right_foot = 右腳
settings-general-steamvr-trackers-left_knee = 左膝
settings-general-steamvr-trackers-right_knee = 右膝
settings-general-steamvr-trackers-left_elbow = 左手肘
settings-general-steamvr-trackers-right_elbow = 右手肘
settings-general-steamvr-trackers-left_hand = 左手
settings-general-steamvr-trackers-right_hand = 右手
settings-general-steamvr-trackers-tracker_toggling = 自動追蹤器分配
settings-general-steamvr-trackers-tracker_toggling-description = 根據目前的追蹤器分配,自動處理 SteamVR 的追蹤器的啟用與停用
settings-general-steamvr-trackers-tracker_toggling-label = 自動追蹤器分配
settings-general-steamvr-trackers-hands-warning =
<b>警告:</b>手部追蹤器將會取代控制器的追蹤。
您確定嗎?
settings-general-steamvr-trackers-hands-warning-cancel = 取消
settings-general-steamvr-trackers-hands-warning-done = 確定
## Tracker mechanics
@@ -307,6 +343,7 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = 讓運
settings-general-tracker_mechanics-filtering-type-prediction = 預測型
settings-general-tracker_mechanics-filtering-type-prediction-description = 減少延遲並使移動更敏捷,但可能會增加一些抖動。
settings-general-tracker_mechanics-filtering-amount = 濾波強度
settings-general-tracker_mechanics-yaw-reset-smooth-time = 左右偏擺重置平滑過渡時間0秒為關閉
settings-general-tracker_mechanics-drift_compensation = 偏移補償
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
@@ -315,6 +352,11 @@ settings-general-tracker_mechanics-drift_compensation-description =
settings-general-tracker_mechanics-drift_compensation-enabled-label = 偏移補償
settings-general-tracker_mechanics-drift_compensation-amount-label = 補償量
settings-general-tracker_mechanics-drift_compensation-max_resets-label = 使用幾次的重置結果?
settings-general-tracker_mechanics-save_mounting_reset = 儲存自動配戴重置的校正
settings-general-tracker_mechanics-save_mounting_reset-description =
儲存自動配戴重置的校正,重新啟動 SlimeVR 後不需要再進行校正。
本設定適用於動捕服,因為多次穿戴後追蹤器的位置不會變化。<b>不建議一般使用者使用!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = 儲存自動配戴重置的校正
## FK/Tracking settings
@@ -336,14 +378,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = 地板限制功
settings-general-fk_settings-leg_tweak-toe_snap-description = 腳趾跟地功能在沒有腳部的追蹤器時,會嘗試猜測腳掌的旋轉角度。
settings-general-fk_settings-leg_tweak-foot_plant-description = 腳底貼地功能會在腳底與地面接觸時,將腳部旋轉成與地板平行。
settings-general-fk_settings-leg_fk = 腿部追蹤
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = 開啟腳部配戴重置,進行配戴重置時需要踮起腳尖。
settings-general-fk_settings-leg_fk-reset_mounting_feet = 腳部配戴重置
settings-general-fk_settings-arm_fk = 手臂追蹤
settings-general-fk_settings-arm_fk-description = 強制透過頭戴顯示器來追蹤手臂,即使有手部的定位資料。
settings-general-fk_settings-arm_fk-force_arms = 強制從頭戴顯示器進行手臂追蹤
settings-general-fk_settings-skeleton_settings = 骨架設定
settings-general-fk_settings-arm_fk-reset_mode-description = 更改配戴重置時,手臂需要做出的姿勢。
settings-general-fk_settings-arm_fk-back = 收肘姿勢
settings-general-fk_settings-arm_fk-back-description = 預設模式,重置時手肘朝後,前臂向前。
settings-general-fk_settings-arm_fk-tpose_up = T 型姿勢(抬起)
settings-general-fk_settings-arm_fk-tpose_up-description = 完整重置時手臂向下,呈立正姿勢;配戴重置時手臂向兩側伸展,與身體呈 90 度。
settings-general-fk_settings-arm_fk-tpose_down = T 型姿勢(放下)
settings-general-fk_settings-arm_fk-tpose_down-description = 完整重置時手臂向兩側伸展,與身體呈 90 度;配戴重置時手臂向下,呈立正姿勢。
settings-general-fk_settings-arm_fk-forward = 向前伸展
settings-general-fk_settings-arm_fk-forward-description = 重置時手臂向前伸展,與身體呈 90 度,可用於坐姿進行虛擬直播。
settings-general-fk_settings-skeleton_settings-toggles = 骨架設定
settings-general-fk_settings-skeleton_settings-description = 開啟或關閉骨架設定。建議保持這些設定開啟。
settings-general-fk_settings-skeleton_settings-extended_spine = 脊椎延伸
settings-general-fk_settings-skeleton_settings-extended_pelvis = 骨盆延伸
settings-general-fk_settings-skeleton_settings-extended_knees = 膝蓋延伸
settings-general-fk_settings-skeleton_settings-extended_spine_model = 延伸脊椎模型
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = 延伸骨盆模型
settings-general-fk_settings-skeleton_settings-extended_knees_model = 延伸膝蓋模型
settings-general-fk_settings-skeleton_settings-ratios = 骨架比例
settings-general-fk_settings-skeleton_settings-ratios-description = 修改骨架設定的參數,您可能需要在修改後調整軀幹比例。
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = 推算腰部定位時,胸部與臀部定位使用的比例
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = 推算腰部定位時,胸部與腿部定位使用的比例
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = 推算臀部定位時,胸部與腿部定位使用的比例
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = 推算臀部定位時, 腰部與腿部定位使用的比例
settings-general-fk_settings-skeleton_settings-interp_hip_legs = 臀部的偏航軸與翻滾軸,與腿部定位平均的比例
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = 膝部的偏航軸與翻滾軸,與腳踝定位平均的比例
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = 膝部的偏航軸與翻滾軸,與腳踝定位平均的比例
settings-general-fk_settings-self_localization-title = 動作捕捉模式
settings-general-fk_settings-self_localization-description = 動作捕捉模式允許在沒有頭戴顯示器或其他追蹤器時,粗略的追蹤身體骨架的定位。請注意,本功能需要腳部與頭部的追蹤器,並且本功能仍在實驗階段。
settings-general-fk_settings-vive_emulation-title = Vive 模擬
settings-general-fk_settings-vive_emulation-description = 模擬 Vive 追蹤器的腰部追蹤失效問題。( 註:這是一個玩笑功能,會降低追蹤品質。)
settings-general-fk_settings-vive_emulation-label = 開啟 Vive 模擬
@@ -352,13 +416,16 @@ settings-general-fk_settings-vive_emulation-label = 開啟 Vive 模擬
settings-general-gesture_control = 手勢控制
settings-general-gesture_control-subtitle = 敲擊重置
settings-general-gesture_control-description = 使用敲擊追蹤器的方法觸發重置。敲擊軀幹所配戴的最高的追蹤器會啟用左右偏擺重置,敲擊左腳配戴最高的追蹤器會觸發完整重置,敲擊右腳配戴最高的追蹤器會觸發配戴重置。請注意,需要在 0.6 秒內滿足敲擊次數才會觸發。
settings-general-gesture_control-description = 使用敲擊追蹤器的方法觸發重置。敲擊軀幹所配戴的最高的追蹤器會啟用左右偏擺重置,敲擊左腳配戴最高的追蹤器會觸發完整重置,敲擊右腳配戴最高的追蹤器會觸發配戴重置。請注意,需要在 0.3 秒內滿足敲擊次數才會觸發。
# This is a unit: 3 taps, 2 taps, 1 tap
# $amount (Number) - Amount of taps (touches to the tracker's case)
settings-general-gesture_control-taps =
{ $amount ->
*[other] { $amount } 次敲擊
}
# This is a unit: 3 trackers, 2 trackers, 1 tracker
# $amount (Number) - Amount of trackers
settings-general-gesture_control-trackers = { $amount } 個追蹤器
settings-general-gesture_control-yawResetEnabled = 敲擊以左右偏擺重置
settings-general-gesture_control-yawResetDelay = 左右偏擺重置延遲
settings-general-gesture_control-yawResetTaps = 左右偏擺重置敲擊次數
@@ -368,30 +435,51 @@ settings-general-gesture_control-fullResetTaps = 完整重置敲擊次數
settings-general-gesture_control-mountingResetEnabled = 敲擊以配戴重置
settings-general-gesture_control-mountingResetDelay = 重置佩戴延遲
settings-general-gesture_control-mountingResetTaps = 重置佩戴敲擊次數
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = 觸發敲擊判定的最多追蹤器數量
settings-general-gesture_control-numberTrackersOverThreshold-description = 如果敲擊偵測無法作動,請嘗試增加此值以降低敲擊判定的門檻。為避免誤判,請勿設定超過所需要的數值。
## Interface settings
## Appearance settings
settings-general-interface = 使用者介面
settings-interface-appearance = 外觀
settings-general-interface-dev_mode = 開發者模式
settings-general-interface-dev_mode-description = 如果你需要深入的資料或與連線的追蹤器進行進階互動,開啟此模式將會非常有用
settings-general-interface-dev_mode-description = 本功能會提供更深入的資料,也能與已連線的追蹤器進行更進一步的控制
settings-general-interface-dev_mode-label = 開發者模式
settings-general-interface-theme = 佈景主題色彩
settings-general-interface-lang = 選擇語言
settings-general-interface-lang-description = 更改所使用的介面語言。
settings-general-interface-lang-placeholder = 選擇要使用的語言
# Keep the font name untranslated
settings-interface-appearance-font = UI 字體
settings-interface-appearance-font-description = 本設定會修改 UI 所使用的字體。
settings-interface-appearance-font-placeholder = 預設字體
settings-interface-appearance-font-os_font = 作業系統字體
settings-interface-appearance-font-slime_font = 預設字體
settings-interface-appearance-font_size = 文字縮放
settings-interface-appearance-font_size-description = 本設定會影響整個 UI 的文字大小,除了本設定面板以外。
## Notification settings
settings-interface-notifications = 通知
settings-general-interface-serial_detection = 串列埠裝置檢測
settings-general-interface-serial_detection-description = 每次插入新串列埠的裝置(可能是追蹤器)時,此選項會顯示一個彈出視窗。這有助於改進追蹤器的設定流程。
settings-general-interface-serial_detection-label = 串列埠裝置檢測
settings-general-interface-feedback_sound = 聲音回饋
settings-general-interface-feedback_sound-description = 啟用本選項後,觸發重置時會發出提示音
settings-general-interface-feedback_sound-description = 啟用本選項後,觸發重置時會發出提示音
settings-general-interface-feedback_sound-label = 聲音回饋
settings-general-interface-feedback_sound-volume = 聲音回饋音量
settings-general-interface-theme = 佈景主題色彩
settings-general-interface-lang = 選擇語言
settings-general-interface-lang-description = 更改要使用的預設語言
settings-general-interface-lang-placeholder = 選擇要使用的語言
settings-general-interface-connected_trackers_warning = 已連接追蹤器警告
settings-general-interface-connected_trackers_warning-description = 啟用本選項後,每次當退出 SlimeVR 時仍有追蹤器連接著會顯示通知,提醒你在使用完畢時關閉追蹤器電源來節省電池電量。
settings-general-interface-connected_trackers_warning-label = 當退出程式時,有追蹤器連接中則顯示警告
settings-general-interface-use_tray = 最小化到系統列
settings-general-interface-use_tray-description = 本選項可以讓您在關閉視窗時不會關閉 SlimeVR 的伺服器程式,讓您在不受圖形介面的打擾下繼續使用追蹤器。
settings-general-interface-use_tray-label = 最小化到系統列
## Serial settings
settings-serial = 串列埠終端
# This cares about multilines
settings-serial-description = 這裡用於顯示串列埠的即時資訊,有助於瞭解韌體是否發生問題。
settings-serial-description = 這裡用於顯示串列埠的即時資訊,可能有助於瞭解韌體是否發生問題。
settings-serial-connection_lost = 串列埠連線中斷,正在重新連線……
settings-serial-reboot = 重新啟動
settings-serial-factory_reset = 恢復出廠設定
@@ -405,6 +493,7 @@ settings-serial-factory_reset-warning-cancel = 取消
settings-serial-get_infos = 取得資訊
settings-serial-serial_select = 選擇串列埠
settings-serial-auto_dropdown_item = 自動
settings-serial-get_wifi_scan = 取得 Wi-Fi 掃描
## OSC router settings
@@ -412,7 +501,7 @@ settings-osc-router = OSC 路由
# This cares about multilines
settings-osc-router-description =
從另一個程式轉發 OSC 訊息。
例如在 VRChat 同時使用另一個 OSC 程式時,此功能會有幫助
例如需要在 VRChat 同時使用另一個 OSC 程式時,可以使用本功能
settings-osc-router-enable = 啟用
settings-osc-router-enable-description = 切換轉發 OSC 訊息。
settings-osc-router-enable-label = 啟用
@@ -465,13 +554,13 @@ settings-osc-vrchat-network-trackers-elbows = 肘部
settings-osc-vmc = Virtual Motion Capture
# This cares about multilines
settings-osc-vmc-description =
修改 VMC (Virtual Motion Capture) 協定的相關設定
以傳送 SlimeVR 的骨骼資料,並接收來自其他應用程式的骨骼資料
修改 VMC (Virtual Motion Capture) 協定的相關設定
以傳送 SlimeVR 的骨骼資料,並接收來自其他應用程式的骨骼資料
settings-osc-vmc-enable = 啟用
settings-osc-vmc-enable-description = 切換資料的傳送和接收。
settings-osc-vmc-enable-label = 啟用
settings-osc-vmc-network = 連接埠
settings-osc-vmc-network-description = 設定用於監聽和傳送 VMC 資料的連接埠
settings-osc-vmc-network-description = 設定用於監聽和傳送 VMC 資料的連接埠
settings-osc-vmc-network-port_in =
.label = 輸入埠
.placeholder = 輸入埠預設39540
@@ -479,10 +568,10 @@ settings-osc-vmc-network-port_out =
.label = 輸出埠
.placeholder = 輸出埠預設39539
settings-osc-vmc-network-address = 網路地址
settings-osc-vmc-network-address-description = 設定用來發送 VMC 資料的位址
settings-osc-vmc-network-address-description = 設定用來發送 VMC 資料的位址
settings-osc-vmc-network-address-placeholder = IPV4 地址
settings-osc-vmc-vrm = VRM 模型
settings-osc-vmc-vrm-description = 載入 VRM 模型以允許頭部錨定,並增進與其他應用程式的相容性
settings-osc-vmc-vrm-description = 載入 VRM 模型以允許頭部錨定,並與其他應用程式有更高的相容性
settings-osc-vmc-vrm-model_unloaded = 未載入模型
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
@@ -544,7 +633,7 @@ onboarding-reset_tutorial-1 =
onboarding-reset_tutorial-2 =
對所標記之追蹤器敲擊 { $taps } 次即可觸發配戴重置。
配戴校正能對追蹤器實際的配戴方式進行調整,因此若您不小心移動到追蹤器,或是大幅度的變更配戴方向,這個功能會有所幫助。
配戴重置能對追蹤器實際的配戴方式進行調整,因此若您不小心移動到追蹤器,或是大幅度的變更配戴方向,這個功能會有所幫助。
做此校正時需要進行滑雪姿勢,如自動配戴校正的畫面所示。在觸發 3 秒後(可修改)才會真正進行重置。
@@ -570,8 +659,8 @@ onboarding-done-close = 關閉設定
onboarding-connect_tracker-back = 返回到 Wi-Fi 認證資訊設定
onboarding-connect_tracker-title = 連接追蹤器
onboarding-connect_tracker-description-p0 = 來到了我第二喜歡的環節,連線所有的追蹤器!
onboarding-connect_tracker-description-p1 = 只需透過 USB 連線所有尚未連線的裝置即可
onboarding-connect_tracker-description-p0-v1 = 來到了我第二喜歡的環節,連追蹤器!
onboarding-connect_tracker-description-p1-v1 = 透過 USB,一次連接一個追蹤器
onboarding-connect_tracker-issue-serial = 我在連接時碰到問題了!
onboarding-connect_tracker-usb = USB 追蹤器
onboarding-connect_tracker-connection_status-none = 正在尋找追蹤器
@@ -611,8 +700,8 @@ onboarding-assignment_tutorial = 戴上 Slime 追蹤器前的準備事項
onboarding-assignment_tutorial-first_step = 1. 若有標示身體部位的貼紙,可在您所要分配使用的追蹤器上貼上。
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = 貼紙
onboarding-assignment_tutorial-second_step = 2. 將綁帶有魔鬼氈(魔術貼)的一面,依照下圖所示的方向穿過追蹤器:
onboarding-assignment_tutorial-second_step-continuation = 延伸追蹤器應照下圖所示:
onboarding-assignment_tutorial-second_step-v2 = 2. 將綁帶有魔鬼氈(魔術貼)的一面朝向臉部標誌穿過追蹤器:
onboarding-assignment_tutorial-second_step-continuation-v2 = 延伸追蹤器的穿法應照下圖所示:
onboarding-assignment_tutorial-done = 我把貼紙跟綁帶都弄上了
## Tracker assignment setup
@@ -626,6 +715,7 @@ onboarding-assign_trackers-description = 這些追蹤器要放在身上的哪個
onboarding-assign_trackers-assigned = { $assigned }/{ $trackers } 個追蹤器已分配
onboarding-assign_trackers-advanced = 顯示進階分配部位
onboarding-assign_trackers-next = 所有的追蹤器都分配好了
onboarding-assign_trackers-mirror_view = 鏡像顯示
## Tracker assignment warnings
@@ -708,6 +798,11 @@ onboarding-choose_mounting-manual_mounting = 手動配戴校正
# Italized text
onboarding-choose_mounting-manual_mounting-label = 推薦使用
onboarding-choose_mounting-manual_mounting-description = 本選項可以讓你選擇每個追蹤器的配戴方位
# Multiline text
onboarding-choose_mounting-manual_modal-title = 確定要進行自動配戴校正?
onboarding-choose_mounting-manual_modal-description = <b>我們建議新手使用手動配戴校正</b>,因為自動配戴校正的姿勢要一次做正確比較困難,可能需要一些練習。
onboarding-choose_mounting-manual_modal-confirm = 我確定要這樣做
onboarding-choose_mounting-manual_modal-cancel = 取消
## Tracker manual mounting setup
@@ -721,7 +816,7 @@ onboarding-manual_mounting-next = 下一步
onboarding-automatic_mounting-back = 返回到進入 VR
onboarding-automatic_mounting-title = 配戴校正
onboarding-automatic_mounting-description = 為了讓 SlimeVR 追蹤器正常運作,我們需要為你的追蹤器設定一個配戴方向,以使其與你的物理追蹤器配戴方式對齊
onboarding-automatic_mounting-description = 為了讓 SlimeVR 追蹤器正常運作,我們需要為每個追蹤器設定配戴方向,以符合您實際的追蹤器配戴方式。
onboarding-automatic_mounting-manual_mounting = 進行手動設定
onboarding-automatic_mounting-next = 下一步
onboarding-automatic_mounting-prev_step = 上一步
@@ -742,18 +837,25 @@ onboarding-automatic_mounting-put_trackers_on-next = 我所有的追蹤器都戴
onboarding-choose_proportions = 要使用哪一種軀幹比例的校正方式?
# Multiline string
onboarding-choose_proportions-description =
onboarding-choose_proportions-description-v1 =
軀幹比例用於取得身體各個部位的長短,為計算追蹤器的位置而有所必要。
當您的軀幹比例與設定的比例有差異時,追蹤精確度會變差,您可能會注意到出現腳滑溜冰的情形,或者你的身體與你的虛擬角色對不太上。
<b>軀幹比例的測量只需要進行一次!</b>除非設定有誤,或是身材有明顯變化,本設定不需要重複進行。
onboarding-choose_proportions-auto_proportions = 自動軀幹比例校正
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = 推薦使用
onboarding-choose_proportions-auto_proportions-description = 本選項會透過演算法,分析身體的移動來推算軀幹比例
onboarding-choose_proportions-auto_proportions-descriptionv3 =
本選項會從您的身體動作錄製一段樣本,並通過演算法來推算您的軀幹比例。
<b>使用本功能需要連接頭戴顯示器到 SlimeVR並且配戴在頭部</b>
onboarding-choose_proportions-manual_proportions = 手動軀幹比例校正
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = 適合進行微調
onboarding-choose_proportions-manual_proportions-description = 本選項可以讓你直接修改軀幹比例的設定值
onboarding-choose_proportions-export = 匯出軀幹比例
onboarding-choose_proportions-import = 匯入軀幹比例
onboarding-choose_proportions-import-success = 匯入成功
onboarding-choose_proportions-import-failed = 匯入失敗
onboarding-choose_proportions-file_type = 軀幹比例描述檔
## Tracker manual proportions setup
@@ -776,14 +878,28 @@ onboarding-automatic_proportions-put_trackers_on-description = 為了校準你
onboarding-automatic_proportions-put_trackers_on-next = 我所有的追蹤器都戴好了!
onboarding-automatic_proportions-requirements-title = 使用需求
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-description =
onboarding-automatic_proportions-requirements-descriptionv2 =
你需要足夠的追蹤器以進行足部追蹤(通常為 5 個)。
你已經打開追蹤器與頭戴顯示器的電源
追蹤器的電源已經打開並已經穿著在身上
你需要穿戴上追蹤器與頭戴顯示器。
你的追蹤器與頭戴顯示器都已經連接到 SlimeVR 伺服器。
你的追蹤器與頭戴顯示器在 SlimeVR 伺服器中運作正常。
你的頭戴顯示器會回報定位資料給 SlimeVR 伺服器(通常為執行 SteamVR 並透過 SlimeVR 的 SteamVR 驅動程式來連接 SlimeVR
追蹤器與頭戴顯示器都已經連接到 SlimeVR 伺服器,並且正常運作(亦即沒有卡頓或斷線等狀況)
追蹤器與頭戴顯示器在 SlimeVR 伺服器中運作正常。
頭戴顯示器會回報定位資料給 SlimeVR 伺服器(通常為執行 SteamVR 並透過 SlimeVR 的 SteamVR 驅動程式來連接 SlimeVR
追蹤狀態正常且能反映你的移動姿態(例如,進行完全重置後,踢腿、彎曲、坐下時的肢體方向是正確的)。
onboarding-automatic_proportions-requirements-next = 我已閱讀使用需求
onboarding-automatic_proportions-check_height-title = 檢查您的身高
onboarding-automatic_proportions-check_height-description = 我們會透過頭戴顯示器回報的高度來推算您的實際身高,但我們仍建議您檢查一下數值是否正確。
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = 請<u>站直</u>並按下按鈕以計算身高,按下按鈕後您有 3 秒鐘來調整姿勢。
onboarding-automatic_proportions-check_height-guardian_tip = 如果您使用的是一體式 VR 頭盔,請確認頭盔的守護神/邊界設定已經開啟,以確保身高能正確測量。
onboarding-automatic_proportions-check_height-fetch_height = 我站著了!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = 不明
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = 您的頭戴顯示器高度是
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = 所以您的實際身高是
onboarding-automatic_proportions-check_height-next_step = 數值沒問題
onboarding-automatic_proportions-start_recording-title = 準備擺動作囉
onboarding-automatic_proportions-start_recording-description = 我們現在要記錄一些特定的姿勢和動作,將會在下一個畫面中提示。當按鈕被按下時,準備好開始!
onboarding-automatic_proportions-start_recording-next = 開始錄製
@@ -800,7 +916,7 @@ onboarding-automatic_proportions-recording-steps =
如果進度條還沒走完,可以重複以上動作直到錄製結束。
onboarding-automatic_proportions-recording-processing = 正在處理結果
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer = 剩餘 { $time } 秒
onboarding-automatic_proportions-recording-timer = 倒數 { $time } 秒
onboarding-automatic_proportions-verify_results-title = 檢查結果
onboarding-automatic_proportions-verify_results-description = 檢查下面的結果,它們看起來是正確的嗎?
onboarding-automatic_proportions-verify_results-results = 錄製結果
@@ -809,17 +925,58 @@ onboarding-automatic_proportions-verify_results-redo = 重新錄製
onboarding-automatic_proportions-verify_results-confirm = 他們是正確的!
onboarding-automatic_proportions-done-title = 身體資料已測量並儲存。
onboarding-automatic_proportions-done-description = 你的身體比例校正已完成!
onboarding-automatic_proportions-error_modal =
<b>警告:</b> 推算軀幹比例時發生錯誤。
請<docs>閱讀文件</docs>或加入我們的 <discord>Discord</discord> 伺服器以尋求協助 ^_^
onboarding-automatic_proportions-error_modal-confirm = 瞭解!
## Home
home-no_trackers = 未偵測到或未分配追蹤器
## Trackers Still On notification
trackers_still_on-modal-title = 有追蹤器的電源還開著
trackers_still_on-modal-description =
至少有一個追蹤器的電源還開著。
確定要退出 SlimeVR 嗎?
trackers_still_on-modal-confirm = 退出 SlimeVR
trackers_still_on-modal-cancel = 先不要…
## Status system
status_system-StatusTrackerReset = 建議執行完全重置,因為有至少一個追蹤器尚未調整
status_system-StatusTrackerReset = 有至少一個追蹤器尚未進行調整,建議執行完整重置。
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] 尚未連接 SlimeVR 資料迴送程式
*[other] 尚未透過 SlimeVR 驅動程式連接到 SteamVR
}
status_system-StatusTrackerError = { $trackerName } 追蹤器發生錯誤
## Tray Menu
tray_menu-show = 顯示
tray_menu-hide = 隱藏
tray_menu-quit = 離開
## First exit modal
tray_or_exit_modal-title = 關閉視窗的動作是什麼?
# Multiline text
tray_or_exit_modal-description =
您可以選擇在關閉視窗時,一併退出伺服器程式,或是將視窗最小化到系統列圖示中。
本設定之後也可以在使用者介面設定中更改。
tray_or_exit_modal-radio-exit = 退出 SlimeVR
tray_or_exit_modal-radio-tray = 最小化到系統列
tray_or_exit_modal-submit = 儲存
tray_or_exit_modal-cancel = 取消
## Unknown device modal
unknown_device-modal-title = 找到了新的追蹤器!
unknown_device-modal-description =
偵測到新的追蹤器,其 MAC 位址為 <b>{ $deviceId }</b>。
要將它連接到 SlimeVR 嗎?
unknown_device-modal-confirm = 好喔!
unknown_device-modal-forget = 別管它

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

1
gui/public/logo.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-miterlimit="10" clip-rule="evenodd" version="1.1" viewBox="0 0 380 380" xml:space="preserve"><style>svg{background-color:#663499}</style><rect id="bg" width="100%" height="100%" fill="#663499"/><g id="logo" fill="none" stroke="#fff"><path id="left" stroke-width="13.62" d="m72.867 191.74 37-39 39 36"/><path id="right" stroke-width="13.62" d="m208.87 187.74 38-35 36 38"/><path id="outer" stroke-linecap="square" stroke-width="17" d="m56.867 253.74s130.61-31.182 248 5c13.45 4.146 20.244 2.975 20-8s1.909-126.06-46-131"/></g></svg>

After

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,7 +1,16 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"name": "SlimeVR GUI",
"short_name": "SlimeVR GUI",
"description": "A web interface for controlling the SlimeVR Server software",
"display": "standalone",
"theme_color": "#663499",
"background_color": "#663499",
"icons": [
{
"src": "logo.svg",
"type": "image/svg+xml",
"sizes": "any 512x512 192x192"
},
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
@@ -17,9 +26,5 @@
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
]
}

Binary file not shown.

View File

@@ -3,3 +3,4 @@
/target/
WixTools
src/JavaVersion.class
/gen/schemas

View File

@@ -0,0 +1,3 @@
export default {
'**/*.rs': 'cargo fmt --',
};

View File

@@ -21,30 +21,37 @@ default = ["custom-protocol"]
custom-protocol = ["tauri/custom-protocol"]
[build-dependencies]
tauri-build = { version = "1.2", features = [] }
cfg_aliases = "0.1"
shadow-rs = "0.23"
tauri-build = { version = "=2.0.0-beta.11", features = [] }
cfg_aliases = "0.2"
shadow-rs = "0.27"
[dependencies]
serde_json = "1"
serde = { version = "1", features = ["derive"] }
tauri = { version = "1.4", features = ["devtools", "dialog", "dialog-save", "fs-all", "os-all", "path-all", "shell-execute", "shell-open", "window-close", "window-maximize", "window-minimize", "window-set-resizable", "window-set-size", "window-set-title", "window-start-dragging", "window-unmaximize", "window-unminimize"] }
tauri-runtime = "0.14"
flexi_logger = "0.25"
tauri = { version = "=2.0.0-beta.14", features = ["devtools", "tray-icon", "image-png"] }
tauri-runtime = "=2.0.0-beta.11"
tauri-plugin-dialog = "=2.0.0-beta.4"
tauri-plugin-fs = "=2.0.0-beta.4"
tauri-plugin-os = "=2.0.0-beta.3"
tauri-plugin-shell = "=2.0.0-beta.3"
tauri-plugin-store = "=2.0.0-beta.4"
flexi_logger = "0.28"
log-panics = { version = "2", features = ["with-backtrace"] }
log = "0.4"
clap = { version = "4.0.29", features = ["derive"] }
clap-verbosity-flag = "2"
rand = "0.8.5"
tempfile = "3"
which = "4.3"
which = "6.0"
glob = "0.3"
open = "5"
shadow-rs = { version = "0.23", default-features = false }
shadow-rs = { version = "0.27", default-features = false }
const_format = "0.2.30"
cfg-if = "1"
color-eyre = "0.6"
rfd = { version = "0.14", features = ["gtk3"], default-features = false }
dirs-next = "2.0.0"
[target.'cfg(windows)'.dependencies]
win32job = "1"
winreg = "0.50"
winreg = "0.52"

View File

@@ -0,0 +1,33 @@
{
"identifier": "migrated",
"description": "permissions that were migrated from v1",
"local": true,
"windows": [
"main"
],
"permissions": [
"path:default",
"event:default",
"window:default",
"app:default",
"resources:default",
"menu:default",
"tray:default",
"store:default",
"os:allow-os-type",
"webview:default",
"dialog:allow-save",
"window:allow-close",
"window:allow-toggle-maximize",
"window:allow-minimize",
"window:allow-start-dragging",
"window:allow-hide",
"window:allow-show",
"window:allow-set-focus",
"shell:allow-open",
"store:allow-get",
"store:allow-set",
"store:allow-save",
"fs:allow-write-text-file"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 B

View File

@@ -11,16 +11,15 @@ use std::time::Instant;
use clap::Parser;
use color_eyre::Result;
use state::WindowState;
use tauri::api::process::{Command, CommandChild};
use tauri::Manager;
use tauri::RunEvent;
use tauri::WindowEvent;
use tauri::{Manager, RunEvent, WindowEvent};
use tauri_plugin_shell::process::CommandChild;
use crate::util::{
get_launch_path, show_error, valid_java_paths, Cli, JAVA_BIN, MINIMUM_JAVA_VERSION,
};
mod state;
mod tray;
mod util;
#[tauri::command]
@@ -71,12 +70,24 @@ fn main() -> Result<()> {
use flexi_logger::{
Age, Cleanup, Criterion, Duplicate, FileSpec, Logger, Naming, WriteMode,
};
use tauri::api::path::app_log_dir;
use tauri::Error;
// Based on https://docs.rs/tauri/2.0.0-alpha.10/src/tauri/path/desktop.rs.html#238-256
#[cfg(target_os = "macos")]
let path = dirs_next::home_dir().ok_or(Error::UnknownPath).map(|dir| {
dir.join("Library/Logs")
.join(&tauri_context.config().identifier)
});
#[cfg(not(target_os = "macos"))]
let path = dirs_next::data_dir()
.ok_or(Error::UnknownPath)
.map(|dir| dir.join(&tauri_context.config().identifier).join("logs"));
Logger::try_with_env_or_str("info")?
.log_to_file(FileSpec::default().directory(
app_log_dir(tauri_context.config()).expect("We need a log dir"),
))
.log_to_file(
FileSpec::default().directory(path.expect("We need a log dir")),
)
.format_for_files(util::logger_format)
.format_for_stderr(util::logger_format)
.rotate(
@@ -109,15 +120,17 @@ fn main() -> Result<()> {
if !webview2_exists() {
// This makes a dialog appear which let's you press Ok or Cancel
// If you press Ok it will open the SlimeVR installer documentation
use tauri::api::dialog::{
blocking::MessageDialogBuilder, MessageDialogButtons, MessageDialogKind,
use rfd::{
MessageButtons, MessageDialog, MessageDialogResult, MessageLevel,
};
let confirm = MessageDialogBuilder::new("SlimeVR", "Couldn't find WebView2 installed. You can install it with the SlimeVR installer")
.buttons(MessageDialogButtons::OkCancel)
.kind(MessageDialogKind::Error)
let confirm = MessageDialog::new()
.set_title("SlimeVR")
.set_description("Couldn't find WebView2 installed. You can install it with the SlimeVR installer")
.set_buttons(MessageButtons::OkCancel)
.set_level(MessageLevel::Error)
.show();
if confirm {
if confirm == MessageDialogResult::Ok {
open::that("https://docs.slimevr.dev/server-setup/installing-and-connecting.html#install-the-latest-slimevr-installer").unwrap();
}
return Ok(());
@@ -126,10 +139,11 @@ fn main() -> Result<()> {
// Spawn server process
let exit_flag = Arc::new(AtomicBool::new(false));
let mut backend: Option<CommandChild> = None;
let backend = Arc::new(Mutex::new(Option::<CommandChild>::None));
let backend_termination = backend.clone();
let run_path = get_launch_path(cli);
let stdout_recv = if let Some(p) = run_path {
let server_info = if let Some(p) = run_path {
log::info!("Server found on path: {}", p.to_str().unwrap());
// Check if any Java already installed is compatible
@@ -144,13 +158,7 @@ fn main() -> Result<()> {
};
log::info!("Using Java binary: {:?}", java_bin);
let (recv, child) = Command::new(java_bin.to_str().unwrap())
.current_dir(p)
.args(["-Xmx512M", "-jar", "slimevr.jar", "run"])
.spawn()
.expect("Unable to start the server jar");
backend = Some(child);
Some(recv)
Some((java_bin, p))
} else {
log::warn!("No server found. We will not start the server.");
None
@@ -158,46 +166,75 @@ fn main() -> Result<()> {
let exit_flag_terminated = exit_flag.clone();
let build_result = tauri::Builder::default()
.plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_fs::init())
.plugin(tauri_plugin_os::init())
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_store::Builder::default().build())
.invoke_handler(tauri::generate_handler![
update_window_state,
logging,
erroring,
warning
warning,
tray::update_translations,
tray::update_tray_text
])
.setup(move |app| {
let window_state =
WindowState::open_state(app.path_resolver().app_config_dir().unwrap())
WindowState::open_state(app.path().app_config_dir().unwrap())
.unwrap_or_default();
let window = tauri::WindowBuilder::new(
let window = tauri::WebviewWindowBuilder::new(
app,
"local",
tauri::WindowUrl::App("index.html".into()),
"main",
tauri::WebviewUrl::App("index.html".into()),
)
.title("SlimeVR")
.inner_size(1289.0, 709.0)
.min_inner_size(393.0, 667.0)
.min_inner_size(util::MIN_WINDOW_SIZE_WIDTH, util::MIN_WINDOW_SIZE_HEIGHT)
.resizable(true)
.visible(true)
.decorations(false)
.fullscreen(false)
.disable_file_drop_handler()
.build()?;
if window_state.is_old() {
window_state.update_window(&window, false)?;
window_state.update_window(&window.as_ref().window(), false)?;
}
#[cfg(desktop)]
{
let handle = app.handle();
tray::create_tray(&handle)?;
}
app.manage(Mutex::new(window_state));
if let Some(mut recv) = stdout_recv {
let app_handle = app.app_handle();
if let Some((java_bin, p)) = server_info {
let app_handle = app.app_handle().clone();
tauri::async_runtime::spawn(async move {
use tauri::api::process::CommandEvent;
use tauri_plugin_shell::{process::CommandEvent, ShellExt};
while let Some(cmd_event) = recv.recv().await {
let (mut rx, child) = app_handle
.shell()
.command(java_bin.to_str().unwrap())
.current_dir(p)
.args(["-Xmx512M", "-jar", "slimevr.jar", "run"])
.spawn()
.expect("Unable to start the server jar");
{
let mut lock = backend.lock().unwrap();
*lock = Some(child)
}
while let Some(cmd_event) = rx.recv().await {
let emit_me = match cmd_event {
CommandEvent::Stderr(s) => ("stderr", s),
CommandEvent::Stdout(s) => ("stdout", s),
CommandEvent::Stderr(v) => {
("stderr", String::from_utf8(v).unwrap_or_default())
}
CommandEvent::Stdout(v) => {
("stdout", String::from_utf8(v).unwrap_or_default())
}
CommandEvent::Error(s) => ("error", s),
CommandEvent::Terminated(s) => {
exit_flag_terminated.store(true, Ordering::Relaxed);
@@ -206,21 +243,21 @@ fn main() -> Result<()> {
_ => ("other", "".to_string()),
};
app_handle
.emit_all("server-status", emit_me)
.expect("Failed to emit");
.emit("server-status", emit_me)
.expect("Check server log files. \nFailed to emit");
}
log::error!("Java server receiver died");
app_handle
.emit_all("server-status", ("other", "receiver cancelled"))
.emit("server-status", ("other", "receiver cancelled"))
.expect("Failed to emit");
});
}
Ok(())
})
.on_window_event(|e| match e.event() {
.on_window_event(|w, e| match e {
WindowEvent::CloseRequested { .. } => {
let window_state = e.window().state::<Mutex<WindowState>>();
if let Err(e) = update_window_state(e.window().clone(), window_state) {
let window_state = w.state::<Mutex<WindowState>>();
if let Err(e) = update_window_state(w.clone(), window_state) {
log::error!("failed to update window state {}", e)
}
}
@@ -236,19 +273,19 @@ fn main() -> Result<()> {
RunEvent::ExitRequested { .. } => {
let window_state = app_handle.state::<Mutex<WindowState>>();
let lock = window_state.lock().unwrap();
let config_dir =
app_handle.path_resolver().app_config_dir().unwrap();
let config_dir = app_handle.path().app_config_dir().unwrap();
let window_state_res = lock.save_state(config_dir);
match window_state_res {
Ok(()) => log::info!("saved window state"),
Err(e) => log::error!("failed to save window state: {}", e),
}
let Some(ref mut child) = backend else { return };
let mut lock = backend_termination.lock().unwrap();
let Some(ref mut child) = *lock else { return };
let write_result = child.write(b"exit\n");
match write_result {
Ok(()) => log::info!("send exit to backend"),
Err(_) => log::info!("fail to send exit to backend"),
Err(_) => log::error!("fail to send exit to backend"),
}
let ten_seconds = Duration::from_secs(10);
let start_time = Instant::now();
@@ -268,15 +305,17 @@ fn main() -> Result<()> {
// I should log this anyways, don't want to dig a grave by not logging the error.
log::error!("CreateWebview error {}", error);
use tauri::api::dialog::{
blocking::MessageDialogBuilder, MessageDialogButtons, MessageDialogKind,
use rfd::{
MessageButtons, MessageDialog, MessageDialogResult, MessageLevel,
};
let confirm = MessageDialogBuilder::new("SlimeVR", "You seem to have a faulty installation of WebView2. You can check a guide on how to fix that in the docs!")
.buttons(MessageDialogButtons::OkCancel)
.kind(MessageDialogKind::Error)
let confirm = MessageDialog::new()
.set_title("SlimeVR")
.set_description("You seem to have a faulty installation of WebView2. You can check a guide on how to fix that in the docs!")
.set_buttons(MessageButtons::OkCancel)
.set_level(MessageLevel::Error)
.show();
if confirm {
if confirm == MessageDialogResult::Ok {
open::that("https://docs.slimevr.dev/common-issues.html#webview2-is-missing--slimevr-gui-crashes-immediately--panicked-at--webview2error").unwrap();
}
}

View File

@@ -4,6 +4,8 @@ use color_eyre::Result;
use serde::{Deserialize, Serialize};
use tauri::{LogicalSize, Monitor, PhysicalPosition, PhysicalSize, Window};
use crate::util;
static STATE_FILENAME: &str = ".window-state.json";
#[derive(Serialize, Deserialize, Debug, Default)]
@@ -73,7 +75,11 @@ impl WindowState {
window.unmaximize()?;
}
window.set_size(LogicalSize::new(self.width, self.height))?;
if self.width > util::MIN_WINDOW_SIZE_WIDTH
&& self.height > util::MIN_WINDOW_SIZE_HEIGHT
{
window.set_size(LogicalSize::new(self.width, self.height))?;
}
let pos = PhysicalPosition::new(self.x, self.y);
for monitor in window.available_monitors()? {

120
gui/src-tauri/src/tray.rs Normal file
View File

@@ -0,0 +1,120 @@
use std::{collections::HashMap, sync::Mutex};
use tauri::{
image::Image,
menu::{Menu, MenuBuilder, MenuItemBuilder, MenuItemKind},
tray::{ClickType, TrayIconBuilder},
AppHandle, Manager, Runtime, State,
};
pub struct TrayMenu<R: Runtime>(Menu<R>);
pub struct TrayTranslations {
store: Mutex<HashMap<String, String>>,
}
impl TrayTranslations {
fn get(&self, key: &str) -> String {
let lock = self.store.lock().unwrap();
lock.get(key)
.map_or_else(|| key.to_string(), |v| v.to_string())
}
}
#[tauri::command]
pub fn update_translations<R: Runtime>(
app: AppHandle<R>,
i18n: State<TrayTranslations>,
menu: State<TrayMenu<R>>,
new_i18n: HashMap<String, String>,
) -> color_eyre::Result<(), String> {
{
let mut lock = i18n.store.lock().map_err(|e| e.to_string())?;
for (new_key, new_value) in new_i18n {
lock.insert(new_key, new_value);
}
}
update_tray_text(app, i18n, menu)?;
Ok(())
}
#[tauri::command]
pub fn update_tray_text<R: Runtime>(
app: AppHandle<R>,
i18n: State<TrayTranslations>,
menu: State<TrayMenu<R>>,
) -> color_eyre::Result<(), String> {
if let Some((window, MenuItemKind::MenuItem(toggle_i))) =
app.get_webview_window("main").zip(menu.0.get("toggle"))
{
let new_title = if window.is_visible().unwrap_or_default() {
i18n.get("tray_menu-hide")
} else {
i18n.get("tray_menu-show")
};
toggle_i.set_text(new_title).map_err(|e| e.to_string())?;
}
if let Some(MenuItemKind::MenuItem(quit_i)) = menu.0.get("quit") {
quit_i
.set_text(i18n.get("tray_menu-quit"))
.map_err(|e| e.to_string())?;
}
Ok(())
}
pub fn create_tray<R: Runtime>(app: &tauri::AppHandle<R>) -> tauri::Result<()> {
let toggle_i = MenuItemBuilder::with_id("toggle", "Hide").build(app)?;
let quit_i = MenuItemBuilder::with_id("quit", "Quit").build(app)?;
let menu1 = MenuBuilder::new(app).items(&[&toggle_i, &quit_i]).build()?;
let _ = TrayIconBuilder::with_id("tray-1")
.menu(&menu1)
.title("SlimeVR")
.tooltip("SlimeVR")
.icon_as_template(true)
.menu_on_left_click(false)
.icon(if cfg!(target_os = "macos") {
Image::from_bytes(include_bytes!("../icons/appleTrayIcon.png"))
} else {
Image::from_bytes(include_bytes!("../icons/128x128.png"))
}?)
.on_menu_event(move |app, event| match event.id.as_ref() {
"quit" => app.emit("try-close", "tray").unwrap(),
"toggle" => {
let i18n = app.state::<TrayTranslations>();
if let Some(window) = app.get_webview_window("main") {
let new_title = if window.is_visible().unwrap_or_default() {
let _ = window.hide();
i18n.get("tray_menu-show")
} else {
let _ = window.show();
let _ = window.set_focus();
i18n.get("tray_menu-hide")
};
toggle_i.set_text(new_title).unwrap();
}
}
_ => {}
})
.on_tray_icon_event(|tray, event| {
if event.click_type == ClickType::Left {
let app = tray.app_handle();
if let Some(window) = app.get_webview_window("main") {
let _ = window.show();
let _ = window.set_focus();
}
}
})
.build(app)?;
app.manage(TrayMenu(menu1));
app.manage(TrayTranslations {
store: Default::default(),
});
Ok(())
}

View File

@@ -10,7 +10,7 @@ use std::{
use clap::Parser;
use const_format::concatcp;
use flexi_logger::{DeferredNow, style};
use flexi_logger::{style, DeferredNow};
use log::Record;
use shadow_rs::shadow;
use tempfile::Builder;
@@ -28,6 +28,8 @@ pub static POSSIBLE_TITLES: &[&str] = &[
"never gonna let you down",
"uwu sowwy",
];
pub const MIN_WINDOW_SIZE_WIDTH: f64 = 393.0;
pub const MIN_WINDOW_SIZE_HEIGHT: f64 = 667.0;
shadow!(build);
// Tauri has a way to return the package.json version, but it's not a constant...
@@ -95,20 +97,17 @@ pub fn spawn_java(java: &OsStr, java_version: &OsStr) -> std::io::Result<Child>
#[cfg(desktop)]
pub fn show_error(text: &str) -> bool {
use rand::{seq::SliceRandom, thread_rng};
use tauri::api::dialog::{
blocking::MessageDialogBuilder, MessageDialogButtons, MessageDialogKind,
};
use rfd::{MessageButtons, MessageDialog, MessageDialogResult, MessageLevel};
MessageDialogBuilder::new(
format!(
MessageDialog::new()
.set_title(format!(
"SlimeVR GUI crashed - {}",
POSSIBLE_TITLES.choose(&mut thread_rng()).unwrap()
),
text,
)
.buttons(MessageDialogButtons::Ok)
.kind(MessageDialogKind::Error)
.show()
))
.set_description(text)
.set_buttons(MessageButtons::Ok)
.set_level(MessageLevel::Error)
.show() == MessageDialogResult::Ok
}
#[cfg(mobile)]
@@ -220,11 +219,11 @@ pub fn valid_java_paths() -> Vec<(OsString, i32)> {
}
pub fn logger_format(
w: &mut dyn std::io::Write,
_now: &mut DeferredNow,
record: &Record,
w: &mut dyn std::io::Write,
_now: &mut DeferredNow,
record: &Record,
) -> Result<(), std::io::Error> {
let level = record.level();
let level = record.level();
let module_path = record.module_path().unwrap_or("<unnamed>");
// optionally print target
let target = if module_path.starts_with(record.target()) {
@@ -232,11 +231,11 @@ pub fn logger_format(
} else {
format!(", {}", record.target())
};
write!(
w,
"{} [{}{target}] {}",
style(level).paint(level.to_string()),
record.module_path().unwrap_or("<unnamed>"),
style(level).paint(record.args().to_string())
)
write!(
w,
"{} [{}{target}] {}",
style(level).paint(level.to_string()),
record.module_path().unwrap_or("<unnamed>"),
style(level).paint(record.args().to_string())
)
}

View File

@@ -1,90 +1,83 @@
{
"package": {
"productName": "slimevr",
"version": "../package.json"
},
"build": {
"distDir": "../dist",
"devPath": "http://localhost:5173",
"beforeDevCommand": "npm run start",
"beforeBuildCommand": "npm run build"
"beforeBuildCommand": "pnpm run build",
"beforeDevCommand": "pnpm run start",
"frontendDist": "../dist",
"devUrl": "http://localhost:5173"
},
"tauri": {
"bundle": {
"active": true,
"targets": "all",
"identifier": "dev.slimevr.SlimeVR",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"resources": [],
"externalBin": [],
"copyright": "",
"category": "DeveloperTool",
"shortDescription": "",
"longDescription": "",
"bundle": {
"active": true,
"linux": {
"deb": {
"depends": ["openjdk-17-jre-headless"],
"depends": [
"openjdk-17-jre-headless"
],
"files": {
"/usr/share/slimevr/slimevr.jar": "../../server/desktop/build/libs/slimevr.jar"
}
},
"appimage": {
"bundleMediaFramework": true
},
"macOS": {
"frameworks": [],
"exceptionDomain": "localhost",
"signingIdentity": null,
"providerShortName": null,
"entitlements": null,
"license": "../../LICENSE-MIT"
},
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": ""
}
},
"updater": {
"active": false
"category": "DeveloperTool",
"copyright": "",
"targets": "all",
"externalBin": [],
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": ""
},
"allowlist": {
"dialog": {
"all": false,
"save": true
},
"shell": {
"all": false,
"execute": true,
"open": true
},
"fs": {
"scope": ["$APP/*", "$APP"],
"all": true
},
"path": {
"all": true
},
"os": {
"all": true
},
"window": {
"setResizable": true,
"setTitle": true,
"maximize": true,
"unmaximize": true,
"minimize": true,
"unminimize": true,
"close": true,
"startDragging": true,
"setSize": true
}
"longDescription": "",
"macOS": {
"entitlements": null,
"exceptionDomain": "localhost",
"frameworks": [],
"signingIdentity": null,
"providerShortName": null
},
"resources": [],
"shortDescription": "",
"licenseFile": "../../LICENSE-MIT"
},
"plugins": {
"fs": {
"all": true,
"scope": [
"$APP/*",
"$APP"
]
},
"os": {
"all": true
},
"shell": {
"open": true
},
"window": {
"close": true,
"maximize": true,
"minimize": true,
"setResizable": true,
"setSize": true,
"setTitle": true,
"startDragging": true,
"unmaximize": true,
"unminimize": true
}
},
"productName": "slimevr",
"version": "../package.json",
"identifier": "dev.slimevr.SlimeVR",
"app": {
"security": {
"csp": null
}

View File

@@ -1,9 +0,0 @@
import React from 'react';
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});

View File

@@ -35,10 +35,9 @@ import { SerialDetectionModal } from './components/SerialDetectionModal';
import { VRCOSCSettings } from './components/settings/pages/VRCOSCSettings';
import { TopBar } from './components/TopBar';
import { TrackerSettingsPage } from './components/tracker/TrackerSettings';
import { useConfig } from './hooks/config';
import { OSCRouterSettings } from './components/settings/pages/OSCRouterSettings';
import { useLocalization } from '@fluent/react';
import { os } from '@tauri-apps/api';
import * as os from '@tauri-apps/plugin-os';
import { VMCSettings } from './components/settings/pages/VMCSettings';
import { MountingChoose } from './components/onboarding/pages/mounting/MountingChoose';
import { ProportionsChoose } from './components/onboarding/pages/body-proportions/ProportionsChoose';
@@ -46,12 +45,15 @@ import { StatusProvider } from './components/providers/StatusSystemContext';
import { VersionUpdateModal } from './components/VersionUpdateModal';
import { CalibrationTutorialPage } from './components/onboarding/pages/CalibrationTutorial';
import { AssignmentTutorialPage } from './components/onboarding/pages/assignment-preparation/AssignmentTutorial';
import { open } from '@tauri-apps/api/shell';
import { open } from '@tauri-apps/plugin-shell';
import semver from 'semver';
import { useBreakpoint } from './hooks/breakpoint';
import { useBreakpoint, useIsTauri } from './hooks/breakpoint';
import { VRModePage } from './components/vr-mode/VRModePage';
import { InterfaceSettings } from './components/settings/pages/InterfaceSettings';
import { error, log } from './utils/logging';
import { AppLayout } from './AppLayout';
import { Preload } from './components/Preload';
import { UnknownDeviceModal } from './components/UnknownDeviceModal';
export const GH_REPO = 'SlimeVR/SlimeVR-Server';
export const VersionContext = createContext('');
@@ -59,92 +61,95 @@ export const DOCS_SITE = 'https://docs.slimevr.dev';
export const SLIMEVR_DISCORD = 'https://discord.gg/slimevr';
function Layout() {
const { loading } = useConfig();
if (loading) return <></>;
const { isMobile } = useBreakpoint('mobile');
return (
<>
<SerialDetectionModal></SerialDetectionModal>
<VersionUpdateModal></VersionUpdateModal>
<UnknownDeviceModal></UnknownDeviceModal>
<Routes>
<Route
path="/"
element={
<MainLayoutRoute isMobile={isMobile}>
<Home />
</MainLayoutRoute>
}
/>
<Route
path="/vr-mode"
element={
<MainLayoutRoute isMobile={isMobile}>
<VRModePage />
</MainLayoutRoute>
}
/>
<Route
path="/tracker/:trackernum/:deviceid"
element={
<MainLayoutRoute background={false} isMobile={isMobile}>
<TrackerSettingsPage />
</MainLayoutRoute>
}
/>
<Route
path="/settings"
element={
<SettingsLayoutRoute>
<Outlet></Outlet>
</SettingsLayoutRoute>
}
>
<Route path="trackers" element={<GeneralSettings />} />
<Route path="serial" element={<Serial />} />
<Route path="osc/router" element={<OSCRouterSettings />} />
<Route path="osc/vrchat" element={<VRCOSCSettings />} />
<Route path="osc/vmc" element={<VMCSettings />} />
<Route path="interface" element={<InterfaceSettings />} />
<Route element={<AppLayout />}>
<Route
path="/"
element={
<MainLayoutRoute isMobile={isMobile}>
<Home />
</MainLayoutRoute>
}
/>
<Route
path="/vr-mode"
element={
<MainLayoutRoute isMobile={isMobile}>
<VRModePage />
</MainLayoutRoute>
}
/>
<Route
path="/tracker/:trackernum/:deviceid"
element={
<MainLayoutRoute background={false} isMobile={isMobile}>
<TrackerSettingsPage />
</MainLayoutRoute>
}
/>
<Route
path="/settings"
element={
<SettingsLayoutRoute>
<Outlet />
</SettingsLayoutRoute>
}
>
<Route path="trackers" element={<GeneralSettings />} />
<Route path="serial" element={<Serial />} />
<Route path="osc/router" element={<OSCRouterSettings />} />
<Route path="osc/vrchat" element={<VRCOSCSettings />} />
<Route path="osc/vmc" element={<VMCSettings />} />
<Route path="interface" element={<InterfaceSettings />} />
</Route>
<Route
path="/onboarding"
element={
<OnboardingLayout>
<Outlet />
</OnboardingLayout>
}
>
<Route path="home" element={<HomePage />} />
<Route path="wifi-creds" element={<WifiCredsPage />} />
<Route path="connect-trackers" element={<ConnectTrackersPage />} />
<Route
path="calibration-tutorial"
element={<CalibrationTutorialPage />}
/>
<Route
path="assign-tutorial"
element={<AssignmentTutorialPage />}
/>
<Route path="trackers-assign" element={<TrackersAssignPage />} />
<Route path="enter-vr" element={<EnterVRPage />} />
<Route path="mounting/choose" element={<MountingChoose />}></Route>
<Route path="mounting/auto" element={<AutomaticMountingPage />} />
<Route path="mounting/manual" element={<ManualMountingPage />} />
<Route path="reset-tutorial" element={<ResetTutorialPage />} />
<Route
path="body-proportions/choose"
element={<ProportionsChoose />}
/>
<Route
path="body-proportions/auto"
element={<AutomaticProportionsPage />}
/>
<Route
path="body-proportions/manual"
element={<ManualProportionsPage />}
/>
<Route path="done" element={<DonePage />} />
</Route>
<Route path="*" element={<TopBar></TopBar>}></Route>
</Route>
<Route
path="/onboarding"
element={
<OnboardingLayout>
<Outlet></Outlet>
</OnboardingLayout>
}
>
<Route path="home" element={<HomePage />} />
<Route path="wifi-creds" element={<WifiCredsPage />} />
<Route path="connect-trackers" element={<ConnectTrackersPage />} />
<Route
path="calibration-tutorial"
element={<CalibrationTutorialPage />}
/>
<Route path="assign-tutorial" element={<AssignmentTutorialPage />} />
<Route path="trackers-assign" element={<TrackersAssignPage />} />
<Route path="enter-vr" element={<EnterVRPage />} />
<Route path="mounting/choose" element={<MountingChoose />}></Route>
<Route path="mounting/auto" element={<AutomaticMountingPage />} />
<Route path="mounting/manual" element={<ManualMountingPage />} />
<Route path="reset-tutorial" element={<ResetTutorialPage />} />
<Route
path="body-proportions/choose"
element={<ProportionsChoose />}
/>
<Route
path="body-proportions/auto"
element={<AutomaticProportionsPage />}
/>
<Route
path="body-proportions/manual"
element={<ManualProportionsPage />}
/>
<Route path="done" element={<DonePage />} />
</Route>
<Route path="*" element={<TopBar></TopBar>}></Route>
</Routes>
</>
);
@@ -154,6 +159,24 @@ export default function App() {
const websocketAPI = useProvideWebsocketApi();
const { l10n } = useLocalization();
const [updateFound, setUpdateFound] = useState('');
const isTauri = useIsTauri();
useEffect(() => {
const onKeydown: (arg0: KeyboardEvent) => void = function (event) {
// prevent search bar keybind
if (
event.key === 'F3' ||
(event.ctrlKey && event.key === 'f') ||
(event.metaKey && event.key === 'f')
) {
event.preventDefault();
}
};
window.addEventListener('keydown', onKeydown);
return () => window.removeEventListener('keydown', onKeydown);
}, []);
useEffect(() => {
async function fetchReleases() {
const releases = await fetch(
@@ -173,7 +196,7 @@ export default function App() {
fetchReleases().catch(() => error('failed to fetch releases'));
}, []);
if (window.__TAURI_METADATA__) {
if (isTauri) {
useEffect(() => {
os.type()
.then((type) => document.body.classList.add(type.toLowerCase()))
@@ -187,7 +210,7 @@ export default function App() {
}, []);
}
if (window.__TAURI_METADATA__) {
if (isTauri) {
useEffect(() => {
const unlisten = listen(
'server-status',
@@ -224,8 +247,7 @@ export default function App() {
}
);
return () => {
// eslint-disable-next-line @typescript-eslint/no-empty-function
unlisten.then(() => {});
unlisten.then((fn) => fn());
};
}, []);
}
@@ -250,6 +272,7 @@ export default function App() {
<StatusProvider>
<VersionContext.Provider value={updateFound}>
<div className="h-full w-full text-standard bg-background-80 text-background-10">
<Preload />
<div className="flex-col h-full">
{!websocketAPI.isConnected && (
<>

51
gui/src/AppLayout.tsx Normal file
View File

@@ -0,0 +1,51 @@
import { useLayoutEffect } from 'react';
import { useConfig } from './hooks/config';
import { Outlet, useNavigate } from 'react-router-dom';
export function AppLayout() {
const { loading, config } = useConfig();
const navigate = useNavigate();
useLayoutEffect(() => {
if (loading || !config) return;
if (config.theme !== undefined) {
document.documentElement.dataset.theme = config.theme;
}
if (config.fonts !== undefined) {
document.documentElement.style.setProperty(
'--font-name',
config.fonts.map((x) => `"${x}"`).join(',')
);
}
if (config.textSize !== undefined) {
document.documentElement.style.setProperty(
'--font-size',
`${config.textSize}rem`
);
}
}, [config, loading]);
useLayoutEffect(() => {
if (config && !config.doneOnboarding) {
navigate('/onboarding/home');
}
}, [config?.doneOnboarding]);
// const location = useLocation();
// const navigationType = useNavigationType();
// useEffect(() => {
// if (import.meta.env.PROD) return;
// console.log('The current URL is', { ...location });
// console.log('The last navigation action was', navigationType);
// }, [location, navigationType]);
if (loading) return <></>;
return (
<>
<Outlet />
</>
);
}

View File

@@ -5,7 +5,7 @@ import {
RecordBVHStatusT,
RpcMessage,
} from 'solarxr-protocol';
import { useWebsocketAPI } from '../hooks/websocket-api';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { BigButton } from './commons/BigButton';
import { RecordIcon } from './commons/icon/RecordIcon';

View File

@@ -1,6 +1,6 @@
import { useLocalization } from '@fluent/react';
import { ClearDriftCompensationRequestT, RpcMessage } from 'solarxr-protocol';
import { useWebsocketAPI } from '../hooks/websocket-api';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { BigButton } from './commons/BigButton';
import { TrashIcon } from './commons/icon/TrashIcon';
@@ -16,7 +16,7 @@ export function ClearDriftCompensationButton() {
return (
<BigButton
text={l10n.getString('widget-drift_compensation-clear')}
icon={<TrashIcon width={20} />}
icon={<TrashIcon size={20} />}
onClick={clearDriftCompensation}
>
{}

View File

@@ -1,12 +1,32 @@
import { useLocalization } from '@fluent/react';
import { ClearMountingResetRequestT, RpcMessage } from 'solarxr-protocol';
import { useWebsocketAPI } from '../hooks/websocket-api';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { BigButton } from './commons/BigButton';
import { TrashIcon } from './commons/icon/TrashIcon';
import { useTrackers } from '@/hooks/tracker';
import { Quaternion } from 'three';
import { QuaternionFromQuatT, similarQuaternions } from '@/maths/quaternion';
import { useMemo } from 'react';
const _q = new Quaternion();
export function ClearMountingButton() {
const { l10n } = useLocalization();
const { sendRPCPacket } = useWebsocketAPI();
const { useAssignedTrackers } = useTrackers();
const assignedTrackers = useAssignedTrackers();
const trackerWithMounting = useMemo(
() =>
assignedTrackers.some(
(d) =>
!similarQuaternions(
QuaternionFromQuatT(d?.tracker.info?.mountingResetOrientation),
_q
)
),
[assignedTrackers]
);
const clearMounting = () => {
const record = new ClearMountingResetRequestT();
@@ -16,10 +36,9 @@ export function ClearMountingButton() {
return (
<BigButton
text={l10n.getString('widget-clear_mounting')}
icon={<TrashIcon width={20} />}
icon={<TrashIcon size={20} />}
onClick={clearMounting}
>
{}
</BigButton>
disabled={!trackerWithMounting}
/>
);
}

View File

@@ -6,10 +6,10 @@ import {
RpcMessage,
SettingsRequestT,
} from 'solarxr-protocol';
import { useElemSize, useLayout } from '../hooks/layout';
import { useElemSize, useLayout } from '@/hooks/layout';
import { Navbar } from './Navbar';
import { TopBar } from './TopBar';
import { useWebsocketAPI } from '../hooks/websocket-api';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { WidgetsComponent } from './WidgetsComponent';
export function MainLayoutRoute({

View File

@@ -8,7 +8,7 @@ import { HumanIcon } from './commons/icon/HumanIcon';
import { RulerIcon } from './commons/icon/RulerIcon';
import { SparkleIcon } from './commons/icon/SparkleIcon';
import { WrenchIcon } from './commons/icon/WrenchIcons';
import { useBreakpoint } from '../hooks/breakpoint';
import { useBreakpoint } from '@/hooks/breakpoint';
export function NavButton({
to,

View File

@@ -0,0 +1,50 @@
import { Helmet } from 'react-helmet';
export function Preload() {
return (
<Helmet>
<link rel="preload" href="/images/front-standing-pose.webp" as="image" />
<link rel="preload" href="/images/slime-girl.webp" as="image" />
<link rel="preload" href="/images/mounting-reset-pose.webp" as="image" />
<link rel="preload" href="/images/reset-pose.webp" as="image" />
<link rel="preload" href="/images/slimes.webp" as="image" />
<link rel="preload" href="/videos/autobone.webm" as="video" />
<link
rel="preload"
href="/sounds/quick-reset-started-sound.mp3"
as="audio"
/>
<link
rel="preload"
href="/sounds/full-reset-started-sound.mp3"
as="audio"
/>
<link
rel="preload"
href="/sounds/mounting-reset-started-sound.mp3"
as="audio"
/>
<link rel="preload" href="/sounds/first-tap.mp3" as="audio" />
<link rel="preload" href="/sounds/second-tap.mp3" as="audio" />
<link rel="preload" href="/sounds/third-tap.mp3" as="audio" />
<link rel="preload" href="/sounds/fourth-tap.mp3" as="audio" />
<link rel="preload" href="/sounds/fifth-tap.mp3" as="audio" />
<link rel="preload" href="/sounds/end-tap.mp3" as="audio" />
<link rel="preload" href="/sounds/tapextrasetup.mp3" as="audio" />
<link
rel="preload"
href="/models/tracker.gltf"
as="fetch"
crossOrigin="anonymous"
/>
<link
rel="preload"
href="/models/extension.gltf"
as="fetch"
crossOrigin="anonymous"
/>
</Helmet>
);
}

View File

@@ -6,9 +6,9 @@ import {
RpcMessage,
SerialDeviceT,
} from 'solarxr-protocol';
import { useConfig } from '../hooks/config';
import { useWebsocketAPI } from '../hooks/websocket-api';
import { useWifiForm, WifiFormData } from '../hooks/wifi-form';
import { useConfig } from '@/hooks/config';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { useWifiForm, WifiFormData } from '@/hooks/wifi-form';
import { BaseModal } from './commons/BaseModal';
import { Button } from './commons/Button';
import { BulbIcon } from './commons/icon/BulbIcon';

View File

@@ -1,12 +1,13 @@
import { appWindow } from '@tauri-apps/api/window';
import { getCurrent } from '@tauri-apps/api/webviewWindow';
import { ReactNode, useContext, useEffect, useState } from 'react';
import { NavLink, useMatch } from 'react-router-dom';
import {
RpcMessage,
ServerInfosRequestT,
ServerInfosResponseT,
TrackerStatus,
} from 'solarxr-protocol';
import { useWebsocketAPI } from '../hooks/websocket-api';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { CloseIcon } from './commons/icon/CloseIcon';
import { MaximiseIcon } from './commons/icon/MaximiseIcon';
import { MinimiseIcon } from './commons/icon/MinimiseIcon';
@@ -14,13 +15,18 @@ import { SlimeVRIcon } from './commons/icon/SimevrIcon';
import { ProgressBar } from './commons/ProgressBar';
import { Typography } from './commons/Typography';
import { DownloadIcon } from './commons/icon/DownloadIcon';
import { open } from '@tauri-apps/api/shell';
import { GH_REPO, VersionContext, DOCS_SITE } from '../App';
import { open } from '@tauri-apps/plugin-shell';
import { DOCS_SITE, GH_REPO, VersionContext } from '@/App';
import classNames from 'classnames';
import { QuestionIcon } from './commons/icon/QuestionIcon';
import { useBreakpoint, useIsTauri } from '../hooks/breakpoint';
import { useBreakpoint, useIsTauri } from '@/hooks/breakpoint';
import { GearIcon } from './commons/icon/GearIcon';
import { invoke } from '@tauri-apps/api';
import { invoke } from '@tauri-apps/api/core';
import { useTrackers } from '@/hooks/tracker';
import { TrackersStillOnModal } from './TrackersStillOnModal';
import { useConfig } from '@/hooks/config';
import { listen } from '@tauri-apps/api/event';
import { TrayOrExitModal } from './TrayOrExitModal';
export function VersionTag() {
return (
@@ -49,11 +55,54 @@ export function TopBar({
const isTauri = useIsTauri();
const { isMobile } = useBreakpoint('mobile');
const { useRPCPacket, sendRPCPacket } = useWebsocketAPI();
const { useConnectedIMUTrackers } = useTrackers();
const connectedIMUTrackers = useConnectedIMUTrackers();
const { config, setConfig } = useConfig();
const version = useContext(VersionContext);
const [localIp, setLocalIp] = useState<string | null>(null);
const [showConnectedTrackersWarning, setConnectedTrackerWarning] =
useState(false);
const [showTrayOrExitModal, setShowTrayOrExitModal] = useState(false);
const doesMatchSettings = useMatch({
path: '/settings/*',
});
const closeApp = async () => {
await invoke('update_window_state');
await getCurrent().close();
};
const tryCloseApp = async (dontTray = false) => {
if (isTauri && config?.useTray === null) {
setShowTrayOrExitModal(true);
return;
}
if (config?.useTray && !dontTray) {
await getCurrent().hide();
await invoke('update_tray_text');
} else if (
config?.connectedTrackersWarning &&
connectedIMUTrackers.filter(
(t) => t.tracker.status !== TrackerStatus.TIMED_OUT
).length > 0
) {
setConnectedTrackerWarning(true);
} else {
await closeApp();
}
};
useEffect(() => {
const unlisten = listen('try-close', async () => {
const window = getCurrent();
await window.show();
await window.setFocus();
await invoke('update_tray_text');
await tryCloseApp(true);
});
return () => {
unlisten.then((fn) => fn());
};
}, [config?.useTray, config?.connectedTrackersWarning]);
useEffect(() => {
sendRPCPacket(RpcMessage.ServerInfosRequest, new ServerInfosRequestT());
@@ -185,22 +234,19 @@ export function TopBar({
<>
<div
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
onClick={() => appWindow.minimize()}
onClick={() => getCurrent().minimize()}
>
<MinimiseIcon></MinimiseIcon>
</div>
<div
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
onClick={() => appWindow.toggleMaximize()}
onClick={() => getCurrent().toggleMaximize()}
>
<MaximiseIcon></MaximiseIcon>
</div>
<div
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
onClick={async () => {
await invoke('update_window_state');
appWindow.close();
}}
onClick={() => tryCloseApp()}
>
<CloseIcon></CloseIcon>
</div>
@@ -214,6 +260,32 @@ export function TopBar({
</div>
)}
</div>
<TrayOrExitModal
isOpen={showTrayOrExitModal}
accept={async (useTray) => {
await setConfig({ useTray });
setShowTrayOrExitModal(false);
// Doing this in here just in case config doesn't get updated in time
if (useTray) {
await getCurrent().hide();
await invoke('update_tray_text');
} else if (
config?.connectedTrackersWarning &&
connectedIMUTrackers.length > 0
) {
setConnectedTrackerWarning(true);
} else {
await closeApp();
}
}}
cancel={() => setShowTrayOrExitModal(false)}
/>
<TrackersStillOnModal
isOpen={showConnectedTrackersWarning}
accept={() => closeApp()}
cancel={() => setConnectedTrackerWarning(false)}
></TrackersStillOnModal>
</>
);
}

View File

@@ -0,0 +1,51 @@
import { useLocalization } from '@fluent/react';
import { BaseModal } from './commons/BaseModal';
import { Button } from './commons/Button';
import { Typography } from './commons/Typography';
export function TrackersStillOnModal({
isOpen = true,
cancel,
accept,
}: {
/**
* Is the parent/sibling component opened?
*/
isOpen: boolean;
/**
* Function to trigger when you still want to close the app
*/
accept: () => void;
/**
* Function to trigger when cancelling app close
*/
cancel?: () => void;
}) {
const { l10n } = useLocalization();
return (
<BaseModal isOpen={isOpen} onRequestClose={cancel}>
<div className="flex flex-col gap-3">
<>
<div className="flex flex-col items-center gap-3 fill-accent-background-20">
<div className="flex flex-col items-center gap-2">
<Typography variant="main-title">
{l10n.getString('trackers_still_on-modal-title')}
</Typography>
<Typography variant="standard">
{l10n.getString('trackers_still_on-modal-description')}
</Typography>
</div>
</div>
<Button variant="primary" onClick={accept}>
{l10n.getString('trackers_still_on-modal-confirm')}
</Button>
<Button variant="tertiary" onClick={cancel}>
{l10n.getString('trackers_still_on-modal-cancel')}
</Button>
</>
</div>
</BaseModal>
);
}

View File

@@ -1,7 +1,12 @@
import { useLocalization } from '@fluent/react';
import { useState } from 'react';
import { SetPauseTrackingRequestT, RpcMessage } from 'solarxr-protocol';
import { useWebsocketAPI } from '../hooks/websocket-api';
import {
SetPauseTrackingRequestT,
RpcMessage,
TrackingPauseStateResponseT,
TrackingPauseStateRequestT,
} from 'solarxr-protocol';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { BigButton } from './commons/BigButton';
import { PlayIcon } from './commons/icon/PlayIcon';
import { PauseIcon } from './commons/icon/PauseIcon';
@@ -10,16 +15,26 @@ export function TrackingPauseButton(
props: React.HTMLAttributes<HTMLButtonElement>
) {
const { l10n } = useLocalization();
const { sendRPCPacket } = useWebsocketAPI();
const { useRPCPacket, sendRPCPacket } = useWebsocketAPI();
const [trackingPause, setTrackingPause] = useState(false);
const toggleTracking = () => {
const pause = new SetPauseTrackingRequestT();
pause.pauseTracking = !trackingPause;
setTrackingPause(pause.pauseTracking);
const pause = new SetPauseTrackingRequestT(!trackingPause);
sendRPCPacket(RpcMessage.SetPauseTrackingRequest, pause);
};
useRPCPacket(
RpcMessage.TrackingPauseStateResponse,
(data: TrackingPauseStateResponseT) => {
setTrackingPause(data.trackingPaused);
}
);
sendRPCPacket(
RpcMessage.TrackingPauseStateRequest,
new TrackingPauseStateRequestT()
);
return (
<BigButton
text={l10n.getString(

View File

@@ -0,0 +1,78 @@
import { useLocalization } from '@fluent/react';
import { BaseModal } from './commons/BaseModal';
import { Button } from './commons/Button';
import { Typography } from './commons/Typography';
import { useForm } from 'react-hook-form';
import { Radio } from './commons/Radio';
interface TrayOrExitForm {
exitType: string;
}
export function TrayOrExitModal({
isOpen = true,
cancel,
accept,
}: {
/**
* Is the parent/sibling component opened?
*/
isOpen: boolean;
/**
* Function to trigger when you still want to close the app
* @param tray If asked for close to tray
*/
accept: (tray: boolean) => void;
/**
* Function to trigger when cancelling app close
*/
cancel?: () => void;
}) {
const { l10n } = useLocalization();
const { control, handleSubmit } = useForm<TrayOrExitForm>({
defaultValues: {
exitType: '0',
},
});
return (
<BaseModal isOpen={isOpen} onRequestClose={cancel}>
<form
className="flex flex-col gap-3 w-[27rem]"
onSubmit={handleSubmit((form) => accept(form.exitType === '1'))}
>
<div className="flex flex-col items-center gap-3 fill-accent-background-20">
<div className="flex flex-col items-center gap-2">
<Typography variant="main-title">
{l10n.getString('tray_or_exit_modal-title')}
</Typography>
<div>
<Typography variant="standard" whitespace="whitespace-pre-line">
{l10n.getString('tray_or_exit_modal-description')}
</Typography>
</div>
</div>
<Radio
control={control}
name="exitType"
label={l10n.getString('tray_or_exit_modal-radio-exit')}
value="0"
></Radio>
<Radio
control={control}
name="exitType"
label={l10n.getString('tray_or_exit_modal-radio-tray')}
value="1"
></Radio>
</div>
<Button type="submit" variant="primary">
{l10n.getString('tray_or_exit_modal-submit')}
</Button>
<Button variant="tertiary" onClick={cancel}>
{l10n.getString('tray_or_exit_modal-cancel')}
</Button>
</form>
</BaseModal>
);
}

View File

@@ -0,0 +1,104 @@
import { useState } from 'react';
import { BaseModal } from './commons/BaseModal';
import { Typography } from './commons/Typography';
import { Button } from './commons/Button';
import { Localized, useLocalization } from '@fluent/react';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { useLocation } from 'react-router-dom';
import {
AddUnknownDeviceRequestT,
RpcMessage,
UnknownDeviceHandshakeNotificationT,
} from 'solarxr-protocol';
import { useDebouncedEffect } from '@/hooks/timeout';
import { useAppContext } from '@/hooks/app';
export function UnknownDeviceModal() {
const { l10n } = useLocalization();
const [open, setOpen] = useState(0);
const { pathname } = useLocation();
const { state, dispatch } = useAppContext();
const [currentTracker, setCurrentTracker] = useState<string | null>(null);
const { useRPCPacket, sendRPCPacket } = useWebsocketAPI();
useRPCPacket(
RpcMessage.UnknownDeviceHandshakeNotification,
({ macAddress }: UnknownDeviceHandshakeNotificationT) => {
if (
['/onboarding/connect-trackers'].includes(pathname) ||
state.ignoredTrackers.has(macAddress as string) ||
(currentTracker !== null && currentTracker !== macAddress)
)
return;
setCurrentTracker(macAddress as string);
setOpen((old) => old + 1);
}
);
useDebouncedEffect(
() => {
setOpen(0);
setCurrentTracker(null);
},
[open],
3000
);
const closeModal = () => {
setCurrentTracker(null);
setOpen(0);
};
return (
<BaseModal isOpen={open !== 0}>
<div className="flex flex-col gap-3">
<div className="flex flex-col items-center gap-3 fill-accent-background-20">
<div className="flex flex-col items-center gap-2">
<Typography variant="main-title">
{l10n.getString('unknown_device-modal-title')}
</Typography>
<Localized
id="unknown_device-modal-description"
elems={{ b: <b></b> }}
vars={{ deviceId: currentTracker ?? 'ERROR' }}
>
<Typography
variant="standard"
textAlign="text-center"
whitespace="whitespace-pre-line"
>
There is a new device in here!
</Typography>
</Localized>
</div>
</div>
<Button
variant="primary"
onClick={() => {
sendRPCPacket(
RpcMessage.AddUnknownDeviceRequest,
new AddUnknownDeviceRequestT(currentTracker)
);
closeModal();
}}
>
{l10n.getString('unknown_device-modal-confirm')}
</Button>
<Button
variant="tertiary"
onClick={() => {
dispatch({
type: 'ignoreTracker',
value: currentTracker as string,
});
closeModal();
}}
>
{l10n.getString('unknown_device-modal-forget')}
</Button>
</div>
</BaseModal>
);
}

View File

@@ -3,10 +3,10 @@ import { useContext, useState } from 'react';
import { BaseModal } from './commons/BaseModal';
import { Button } from './commons/Button';
import { Typography } from './commons/Typography';
import { open } from '@tauri-apps/api/shell';
import { open } from '@tauri-apps/plugin-shell';
import semver from 'semver';
import { GH_REPO, VersionContext } from '../App';
import { error } from '../utils/logging';
import { GH_REPO, VersionContext } from '@/App';
import { error } from '@/utils/logging';
export function VersionUpdateModal() {
const { l10n } = useLocalization();

View File

@@ -6,7 +6,7 @@ import { ResetButton } from './home/ResetButton';
import { OverlayWidget } from './widgets/OverlayWidget';
import { TipBox } from './commons/TipBox';
import { DeveloperModeWidget } from './widgets/DeveloperModeWidget';
import { useConfig } from '../hooks/config';
import { useConfig } from '@/hooks/config';
import {
ResetType,
RpcMessage,
@@ -15,10 +15,11 @@ import {
StatusData,
} from 'solarxr-protocol';
import { useEffect, useMemo, useState } from 'react';
import { parseStatusToLocale, useStatusContext } from '../hooks/status-system';
import { useWebsocketAPI } from '../hooks/websocket-api';
import { useAppContext } from '../hooks/app';
import { parseStatusToLocale, useStatusContext } from '@/hooks/status-system';
import { useWebsocketAPI } from '@/hooks/websocket-api';
import { useAppContext } from '@/hooks/app';
import { ClearMountingButton } from './ClearMountingButton';
import { ToggleableSkeletonVisualizerWidget } from './widgets/SkeletonVisualizerWidget';
export function WidgetsComponent() {
const { config } = useConfig();
@@ -58,6 +59,9 @@ export function WidgetsComponent() {
<div className="w-full">
<OverlayWidget></OverlayWidget>
</div>
<div className="mb-2">
<ToggleableSkeletonVisualizerWidget height={400} />
</div>
<div className="w-full flex flex-col gap-3 mb-2">
{unprioritizedStatuses.map((status) => (
<Localized

View File

@@ -1,4 +1,4 @@
import { open } from '@tauri-apps/api/shell';
import { open } from '@tauri-apps/plugin-shell';
import { ReactNode } from 'react';
export function A({ href, children }: { href: string; children?: ReactNode }) {

View File

@@ -8,8 +8,8 @@ import {
useState,
} from 'react';
import { BodyPart, TrackerDataT } from 'solarxr-protocol';
import { FlatDeviceTracker } from '../../hooks/app';
import { useTracker } from '../../hooks/tracker';
import { FlatDeviceTracker } from '@/hooks/app';
import { useTracker } from '@/hooks/tracker';
import { PersonFrontIcon } from './PersonFrontIcon';
interface SlotDot {

View File

@@ -2,7 +2,7 @@ import classNames from 'classnames';
import { ReactNode, useLayoutEffect, useRef, useState } from 'react';
import { BodyPart } from 'solarxr-protocol';
import { PersonFrontIcon } from './PersonFrontIcon';
import { useBreakpoint } from '../../hooks/breakpoint';
import { useBreakpoint } from '@/hooks/breakpoint';
export function BodyInteractions({
leftControls,
@@ -12,6 +12,7 @@ export function BodyInteractions({
width = 228,
dotsSize = 15,
variant = 'tracker-select',
mirror,
onSelectRole,
}: {
leftControls?: ReactNode;
@@ -22,6 +23,7 @@ export function BodyInteractions({
assignedRoles: BodyPart[];
onSelectRole: (role: BodyPart) => void;
highlightedRoles: BodyPart[];
mirror: boolean;
}) {
const { isMobile } = useBreakpoint('mobile');
@@ -166,7 +168,7 @@ export function BodyInteractions({
variant === 'tracker-select' && 'mobile:mx-0 xs:mx-10'
)}
>
<PersonFrontIcon width={width}></PersonFrontIcon>
<PersonFrontIcon width={width} mirror={mirror}></PersonFrontIcon>
{slotsButtonsPos.map(
({ top, left, height, width, id, hidden, buttonOffset }) => (
<div

View File

@@ -1,5 +1,5 @@
import { BodyPart } from 'solarxr-protocol';
import { useLocaleConfig } from '../../i18n/config';
import { useLocaleConfig } from '@/i18n/config';
import { AnkleIcon } from './icon/AnkleIcon';
import { ChestIcon } from './icon/ChestIcon';
import { ControllerIcon } from './icon/ControllerIcon';
@@ -33,6 +33,8 @@ export const mapPart: Record<
[BodyPart.CHEST]: ({ width }) => <ChestIcon width={width}></ChestIcon>,
[BodyPart.HEAD]: ({ width }) => <HeadsetIcon width={width}></HeadsetIcon>,
[BodyPart.HIP]: ({ width }) => <HipIcon width={width}></HipIcon>,
[BodyPart.LEFT_HIP]: ({ width }) => <HipIcon width={width}></HipIcon>, // Unused
[BodyPart.RIGHT_HIP]: ({ width }) => <HipIcon width={width}></HipIcon>, // Unused
[BodyPart.LEFT_FOOT]: ({ width, currentLocales }) =>
currentLocales.includes('en-x-owo') ? (
<PawIcon></PawIcon>
@@ -84,6 +86,9 @@ export const mapPart: Record<
<UpperLegIcon width={width} flipped></UpperLegIcon>
),
[BodyPart.WAIST]: ({ width }) => <WaistIcon width={width}></WaistIcon>,
[BodyPart.PLAYSPACE]: ({ width }) => (
<SlimeVRIcon width={width}></SlimeVRIcon>
), // TODO
};
export function BodyPartIcon({

View File

@@ -47,7 +47,7 @@ export function Button({
rounded = false,
...props
}: {
children: ReactNode;
children?: ReactNode;
icon?: ReactNode;
variant: 'primary' | 'secondary' | 'tertiary' | 'quaternary';
to?: string;

View File

@@ -5,6 +5,7 @@ import { Control, Controller } from 'react-hook-form';
export function CheckBox({
label,
variant = 'checkbox',
color = 'primary',
control,
outlined,
name,
@@ -16,6 +17,7 @@ export function CheckBox({
control: Control<any>;
name: string;
variant?: 'checkbox' | 'toggle';
color?: 'primary' | 'secondary' | 'tertiary';
outlined?: boolean;
} & React.HTMLProps<HTMLInputElement>) {
const classes = useMemo(() => {
@@ -44,8 +46,11 @@ export function CheckBox({
<div
className={classNames(
{
'bg-background-60 rounded-lg text-background-10': outlined,
'text-background-30': !outlined,
'rounded-lg': outlined,
'text-background-30': !outlined || disabled,
'bg-background-60': outlined && color === 'primary',
'bg-background-70': outlined && color === 'secondary',
'bg-background-50': outlined && color === 'tertiary',
},
'flex items-center gap-2 w-full'
)}
@@ -66,19 +71,24 @@ export function CheckBox({
name={name}
className={classes.checkbox}
type="checkbox"
disabled={disabled}
{...props}
/>
{variant === 'toggle' && (
<div
className={classNames(classes.toggle, {
'bg-accent-background-30': value,
'bg-background-50': !value,
'bg-accent-background-30': value && !disabled,
'bg-accent-background-50': value && disabled,
'bg-background-50':
(!value && color == 'primary') || color == 'secondary',
'bg-background-40': !value && color == 'tertiary',
})}
>
<div
className={classNames(classes.pin, {
'left-0': !value,
'right-0': value,
'bg-background-30': disabled,
})}
></div>
</div>

View File

@@ -1,12 +1,33 @@
import classNames from 'classnames';
import { useEffect, useState } from 'react';
import {
Control,
Controller,
UseFormGetValues,
useWatch,
} from 'react-hook-form';
import { a11yClick } from '../../utils/a11y';
import { useEffect, useRef, useState } from 'react';
import { Control, Controller, UseControllerProps } from 'react-hook-form';
import { a11yClick } from '@/utils/a11y';
import { createPortal } from 'react-dom';
import { useElemSize } from '@/hooks/layout';
import { ArrowDownIcon } from './icon/ArrowIcons';
interface DropdownProps {
direction?: DropdownDirection;
variant?: 'primary' | 'secondary' | 'tertiary';
alignment?: 'right' | 'left';
display?: 'fit' | 'block';
placeholder: string;
control: Control<any>;
name: string;
items: DropdownItem[];
maxHeight?: string | number;
rules?: UseControllerProps<any>['rules'];
}
type DropdownItemsProps = Pick<
DropdownProps,
'direction' | 'variant' | 'alignment' | 'display' | 'items' | 'maxHeight'
> & {
onSelectItem: (item: DropdownItem) => void;
onBackdropClick: () => void;
value: string;
dropdownBounds: DOMRect;
};
export interface DropdownItem {
label: string;
@@ -16,200 +37,188 @@ export interface DropdownItem {
export type DropdownDirection = 'up' | 'down';
export function DropdownItems({
display,
direction,
variant,
alignment,
items,
maxHeight,
value,
dropdownBounds,
onSelectItem,
onBackdropClick,
}: DropdownItemsProps) {
const { height, width, ref } = useElemSize<HTMLDivElement>();
const GAP = 8;
return (
<>
<div
className="z-[999] fixed top-0 w-full h-full"
onClick={onBackdropClick}
></div>
<div
ref={ref}
className={classNames(
'z-[1000] fixed rounded shadow',
'overflow-y-auto dropdown-scroll overflow-x-hidden text-background-10',
variant == 'primary' && 'bg-background-60',
variant == 'secondary' && 'bg-background-70',
variant == 'tertiary' && 'bg-accent-background-30',
height == 0 && 'opacity-0' // Avoid flicker while the component find its position
)}
style={{
maxHeight: maxHeight,
left:
alignment === 'left'
? dropdownBounds.left
: dropdownBounds.left + dropdownBounds.width - width,
top:
direction == 'down'
? dropdownBounds.bottom + GAP
: dropdownBounds.top - height - GAP,
minWidth: display === 'block' ? dropdownBounds.width : 'inherit',
}}
>
<ul className="py-1 text-sm flex flex-col">
{items.map((item) => (
<li
style={item.fontName ? { fontFamily: item.fontName } : {}}
className={classNames(
'py-2 px-4 min-w-max cursor-pointer',
variant == 'primary' &&
'checked-hover:bg-background-50 text-background-20 ' +
'checked-hover:text-background-10',
variant == 'secondary' &&
'checked-hover:bg-background-60 text-background-20 ' +
'checked-hover:text-background-10',
variant == 'tertiary' &&
'bg-accent-background-30 checked-hover:bg-accent-background-20'
)}
onClick={() => {
onSelectItem(item);
}}
onKeyDown={(ev) => {
if (!a11yClick(ev)) return;
onSelectItem(item);
}}
key={item.value}
tabIndex={0}
data-checked={item.value === value}
>
{item.label}
</li>
))}
</ul>
</div>
</>
);
}
export function Dropdown({
direction = 'up',
variant = 'primary',
alignment = 'right',
display = 'fit',
maxHeight = '50vh',
placeholder,
control,
getValues,
rules,
name,
items = [],
}: {
direction?: DropdownDirection;
variant?: 'primary' | 'secondary' | 'tertiary';
alignment?: 'right' | 'left';
display?: 'fit' | 'block';
placeholder: string;
control: Control<any>;
getValues: UseFormGetValues<any>;
name: string;
items: DropdownItem[];
}) {
const itemRefs: Record<string, HTMLLIElement> = {};
const [isOpen, setOpen] = useState(false);
const formValue = {
...{ value: useWatch({ control, name }) as string },
...{ value: getValues(name) as string },
}: DropdownProps) {
const ref = useRef<HTMLDivElement | null>(null);
const [isOpen, setOpenState] = useState(false);
const [dropdownBounds, setDropdownBounds] = useState<DOMRect>();
const updateBounds = () => {
if (!ref.current) return;
setDropdownBounds(ref.current?.getBoundingClientRect());
};
const onResize = () => {
// We could have two behaviours here:
// 1 - We update the bounds of the dropdown so the size and position match.
// Works but have a slight delay when resizing, kinda looks laggy
// 2 - We close the dropdown on resize.
// We could consider this as the same as clicking outside of the dropdown
// This is the approach choosen RN
setOpen(false);
};
useEffect(() => {
if (!isOpen) return;
const curItem = itemRefs[formValue.value];
const dropdownParent = curItem
? (curItem.closest('.dropdown-scroll') as HTMLElement | null)
: null;
if (curItem && dropdownParent) {
dropdownParent.scroll({
top: curItem.offsetTop - dropdownParent.offsetHeight / 2,
});
}
function onWheelEvent() {
if (isOpen && !document.querySelector('div.dropdown-scroll:hover')) {
setOpen(false);
}
}
function onTouchEvent(event: TouchEvent) {
// Check if we touch scroll outside of the dropdown
if (
isOpen &&
!document
.querySelector('div.dropdown-scroll')
?.contains(event.target as HTMLDivElement)
) {
setOpen(false);
}
}
function onClick(event: MouseEvent) {
const isInDropdownScroll = document
.querySelector('div.dropdown-scroll')
?.contains(event.target as HTMLDivElement);
const isInDropdown = !!(event.target as HTMLDivElement).closest(
'.dropdown'
);
if (isOpen && !isInDropdownScroll && !isInDropdown) {
setOpen(false);
}
}
document.addEventListener('click', onClick, false);
document.addEventListener('touchmove', onTouchEvent, false);
// TS doesn't let me specify { passive: true }, but I believe it will work anyways
document.addEventListener('wheel', onWheelEvent, { passive: true });
window.addEventListener('resize', onResize);
return () => {
document.removeEventListener('wheel', onWheelEvent);
document.removeEventListener('click', onClick);
document.removeEventListener('touchmove', onTouchEvent);
window.removeEventListener('resize', onResize);
};
}, [isOpen]);
}, []);
const setOpen = (open: boolean | ((prevState: boolean) => boolean)) => {
updateBounds();
setOpenState(open);
};
return (
<Controller
control={control}
name={name}
rules={rules}
render={({ field: { onChange, value } }) => (
<>
{isOpen && (
<div
className="absolute top-0 left-0 w-full h-full bg-transparent"
onClick={() => setOpen(false)}
></div>
)}
<div
ref={ref}
className={classNames(
'relative',
'min-h-[42px] text-background-10 px-5 py-3 rounded-md focus:ring-4 text-center dropdown',
'flex cursor-pointer',
variant == 'primary' && 'bg-background-60 hover:bg-background-50',
variant == 'secondary' &&
'bg-background-70 hover:bg-background-60',
variant == 'tertiary' &&
'bg-accent-background-30 hover:bg-accent-background-20',
display === 'fit' && 'w-fit',
display === 'block' && 'w-full'
)}
onClick={() => setOpen((open) => !open)}
onKeyDown={(ev) => a11yClick(ev) && setOpen((open) => !open)}
tabIndex={0}
>
<div className="flex-grow text-standard">
{items.find((i) => i.value == value)?.label || placeholder}
</div>
<div
className={classNames(
'min-h-[35px] text-background-10 px-5 py-2.5 rounded-md focus:ring-4 text-center dropdown',
'flex cursor-pointer',
variant == 'primary' &&
'bg-background-60 hover:bg-background-50',
variant == 'secondary' &&
'bg-background-70 hover:bg-background-60',
variant == 'tertiary' &&
'bg-accent-background-30 hover:bg-accent-background-20'
'ml-2 fill-background-10',
direction == 'up' && 'rotate-180',
direction == 'down' && 'rotate-0'
)}
onClick={() => setOpen((open) => !open)}
onKeyDown={(ev) => a11yClick(ev) && setOpen((open) => !open)}
tabIndex={0}
>
<div className="flex-grow text-standard">
{items.find((i) => i.value == value)?.label || placeholder}
</div>
<div
className={classNames(
'ml-2',
direction == 'up' && 'rotate-180',
direction == 'down' && 'rotate-0'
)}
>
<svg
className="justify-end w-4 h-4 "
aria-hidden="true"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
d="M19 9l-7 7-7-7"
></path>
</svg>
</div>
<ArrowDownIcon size={16}></ArrowDownIcon>
</div>
{isOpen && (
<div
className={classNames(
'absolute z-10 rounded shadow min-w-max max-h-[50vh]',
'overflow-y-auto dropdown-scroll overflow-x-hidden',
display === 'fit' && 'w-fit',
display === 'block' && 'w-full',
direction === 'up' && 'bottom-[45px]',
direction === 'down' && 'top-[45px]',
variant == 'primary' && 'bg-background-60',
variant == 'secondary' && 'bg-background-70',
variant == 'tertiary' && 'bg-accent-background-30',
alignment === 'right' && 'right-0',
alignment === 'left' && 'left-0'
)}
>
<ul className="py-1 text-sm flex flex-col">
{items.map((item) => (
<li
style={item.fontName ? { fontFamily: item.fontName } : {}}
className={classNames(
'py-2 px-4 min-w-max cursor-pointer',
variant == 'primary' &&
'checked-hover:bg-background-50 text-background-20 ' +
'checked-hover:text-background-10',
variant == 'secondary' &&
'checked-hover:bg-background-60 text-background-20 ' +
'checked-hover:text-background-10',
variant == 'tertiary' &&
'bg-accent-background-30 checked-hover:bg-accent-background-20'
)}
onClick={() => {
onChange(item.value);
setOpen(false);
}}
onKeyDown={(ev) => {
if (!a11yClick(ev)) return;
onChange(item.value);
setOpen(false);
}}
ref={(ref) => (ref ? (itemRefs[item.value] = ref) : {})}
key={item.value}
tabIndex={0}
data-checked={item.value === value}
>
{item.label}
</li>
))}
</ul>
</div>
)}
</div>
{isOpen &&
dropdownBounds &&
createPortal(
<DropdownItems
items={items}
dropdownBounds={dropdownBounds}
direction={direction}
display={display}
alignment={alignment}
maxHeight={maxHeight}
variant={variant}
value={value}
onSelectItem={(item) => {
setOpen(false);
onChange(item.value);
}}
onBackdropClick={() => {
setOpen(false);
}}
></DropdownItems>,
document.body
)}
</>
)}
/>

View File

@@ -1,6 +1,11 @@
import classNames from 'classnames';
import { forwardRef, MouseEvent, useMemo, useState } from 'react';
import { Control, Controller, UseControllerProps } from 'react-hook-form';
import {
Control,
Controller,
FieldError,
UseControllerProps,
} from 'react-hook-form';
import { EyeIcon } from './icon/EyeIcon';
interface InputProps {
@@ -14,6 +19,7 @@ export const InputInside = forwardRef<
{
variant?: 'primary' | 'secondary' | 'tertiary';
label?: string;
error?: FieldError;
onChange: () => void;
} & Partial<HTMLInputElement>
>(function AppInput(
@@ -21,10 +27,12 @@ export const InputInside = forwardRef<
type,
placeholder,
label,
disabled,
autocomplete,
name,
onChange,
value,
error,
variant = 'primary',
},
ref
@@ -38,16 +46,40 @@ export const InputInside = forwardRef<
const classes = useMemo(() => {
const variantsMap = {
primary: classNames('bg-background-60 border-background-60'),
secondary: classNames('bg-background-50 border-background-50'),
tertiary: classNames('bg-background-40 border-background-40'),
primary: classNames({
'placeholder:text-background-30 bg-background-60 border-background-60':
!disabled,
'text-background-30 placeholder:text-background-30 border-background-70 bg-background-70':
disabled,
}),
secondary: classNames({
'placeholder:text-background-30 bg-background-50 border-background-50':
!disabled,
'text-background-40 placeholder:text-background-40 border-background-70 bg-background-70':
disabled,
}),
tertiary: classNames({
'placeholder:text-background-30 bg-background-40 border-background-40':
!disabled,
'text-background-30 placeholder:text-background-30 border-background-70 bg-background-70':
disabled,
}),
};
return classNames(
variantsMap[variant],
'w-full focus:ring-transparent focus:ring-offset-transparent focus:outline-transparent rounded-md focus:border-accent-background-40 placeholder:text-background-30 text-standard relative'
'w-full focus:ring-transparent focus:ring-offset-transparent min-h-[42px] z-10',
'focus:outline-transparent rounded-md focus:border-accent-background-40',
'text-standard relative transition-colors',
error && 'border-status-critical border-1'
);
}, [variant]);
}, [variant, disabled, error]);
const computedValue = disabled
? placeholder
: value !== undefined
? value
: '';
return (
<label className="flex flex-col gap-1">
@@ -60,15 +92,21 @@ export const InputInside = forwardRef<
autoComplete={autocomplete ? 'off' : 'on'}
onChange={onChange}
name={name}
value={value || ''}
value={computedValue} // Do we want that behaviour ?
disabled={disabled}
ref={ref}
></input>
{type === 'password' && (
<div
className="fill-background-10 absolute top-0 h-full flex flex-col justify-center right-0 p-4"
className="fill-background-10 absolute inset-y-0 right-0 pr-6 z-10 my-auto w-[16px] h-[16px]"
onClick={togglePassword}
>
<EyeIcon></EyeIcon>
<EyeIcon width={16} closed={forceText}></EyeIcon>
</div>
)}
{error?.message && (
<div className="absolute top-[38px] z-0 pt-1.5 bg-background-70 px-1 w-full rounded-b-md text-status-critical">
{error.message}
</div>
)}
</div>
@@ -77,12 +115,13 @@ export const InputInside = forwardRef<
});
export const Input = ({
type,
type = 'text',
control,
name,
placeholder,
label,
autocomplete,
disabled,
variant = 'primary',
rules,
}: {
@@ -95,7 +134,10 @@ export const Input = ({
control={control}
name={name}
rules={rules}
render={({ field: { onChange, value, ref, name } }) => (
render={({
field: { onChange, value, ref, name },
fieldState: { error },
}) => (
<InputInside
type={type}
autocomplete={autocomplete}
@@ -103,6 +145,8 @@ export const Input = ({
placeholder={placeholder}
variant={variant}
value={value}
disabled={disabled}
error={error}
onChange={onChange}
ref={ref}
name={name}

View File

@@ -1,8 +1,8 @@
import { useLocalization } from '@fluent/react';
import { useEffect, useMemo, useContext } from 'react';
import { useForm } from 'react-hook-form';
import { useConfig } from '../../hooks/config';
import { langs, LangContext } from '../../i18n/config';
import { useConfig } from '@/hooks/config';
import { langs, LangContext } from '@/i18n/config';
import { Dropdown, DropdownDirection } from './Dropdown';
export function LangSelector({
@@ -15,11 +15,9 @@ export function LangSelector({
const { changeLocales } = useContext(LangContext);
const { l10n } = useLocalization();
const { config, setConfig } = useConfig();
const { control, watch, handleSubmit, getValues } = useForm<{ lang: string }>(
{
defaultValues: { lang: config?.lang || 'en' },
}
);
const { control, watch, handleSubmit } = useForm<{ lang: string }>({
defaultValues: { lang: config?.lang || 'en' },
});
const languagesItems = useMemo(
() => langs.map(({ key, name }) => ({ label: name, value: key })),
@@ -39,7 +37,6 @@ export function LangSelector({
return (
<Dropdown
control={control}
getValues={getValues}
name="lang"
placeholder={l10n.getString(
'settings-general-interface-lang-placeholder'

View File

@@ -12,7 +12,7 @@ export function NumberSelector({
step,
disabled = false,
}: {
label: string;
label?: string;
valueLabelFormat?: (value: number) => string;
control: Control<any>;
name: string;
@@ -34,7 +34,7 @@ export function NumberSelector({
render={({ field: { onChange, value } }) => (
<div className="flex flex-col gap-1 w-full">
<Typography bold>{label}</Typography>
<div className="flex gap-2 bg-background-60 p-2 rounded-lg">
<div className="flex gap-5 bg-background-60 p-2 rounded-lg">
<div className="flex">
<Button
variant="tertiary"

View File

@@ -1,7 +1,36 @@
import { BodyPart } from 'solarxr-protocol';
export function PersonFrontIcon({ width }: { width?: number }) {
export const SIDES = [
{
shoulder: BodyPart.LEFT_SHOULDER,
upperArm: BodyPart.LEFT_UPPER_ARM,
lowerArm: BodyPart.LEFT_LOWER_ARM,
hand: BodyPart.LEFT_HAND,
upperLeg: BodyPart.LEFT_UPPER_LEG,
lowerLeg: BodyPart.LEFT_LOWER_LEG,
foot: BodyPart.LEFT_FOOT,
},
{
shoulder: BodyPart.RIGHT_SHOULDER,
upperArm: BodyPart.RIGHT_UPPER_ARM,
lowerArm: BodyPart.RIGHT_LOWER_ARM,
hand: BodyPart.RIGHT_HAND,
upperLeg: BodyPart.RIGHT_UPPER_LEG,
lowerLeg: BodyPart.RIGHT_LOWER_LEG,
foot: BodyPart.RIGHT_FOOT,
},
];
export function PersonFrontIcon({
width,
mirror = true,
}: {
width?: number;
mirror?: boolean;
}) {
const CIRCLE_RADIUS = 0.0001;
const left = +!mirror;
const right = +mirror;
return (
<svg
@@ -62,49 +91,49 @@ export function PersonFrontIcon({ width }: { width?: number }) {
cx="128"
cy="218"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.RIGHT_HAND]}
id={BodyPart[SIDES[right].hand]}
/>
<circle
className="body-part-circle"
cx="115"
cy="140"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.RIGHT_UPPER_ARM]}
id={BodyPart[SIDES[right].upperArm]}
/>
<circle
className="body-part-circle"
cx="105"
cy="105"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.RIGHT_SHOULDER]}
id={BodyPart[SIDES[right].shoulder]}
/>
<circle
className="body-part-circle"
cx="125"
cy="194"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.RIGHT_LOWER_ARM]}
id={BodyPart[SIDES[right].lowerArm]}
/>
<circle
className="body-part-circle"
cx="97.004"
cy="360"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.RIGHT_LOWER_LEG]}
id={BodyPart[SIDES[right].lowerLeg]}
/>
<circle
className="body-part-circle"
cx="97"
cy="250"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.RIGHT_UPPER_LEG]}
id={BodyPart[SIDES[right].upperLeg]}
/>
<circle
className="body-part-circle"
cx="97.004"
cy="380"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.RIGHT_FOOT]}
id={BodyPart[SIDES[right].foot]}
/>
<circle
@@ -112,7 +141,7 @@ export function PersonFrontIcon({ width }: { width?: number }) {
cx="36"
cy="218"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.LEFT_HAND]}
id={BodyPart[SIDES[left].hand]}
/>
<circle
@@ -120,28 +149,28 @@ export function PersonFrontIcon({ width }: { width?: number }) {
cx="50"
cy="140"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.LEFT_UPPER_ARM]}
id={BodyPart[SIDES[left].upperArm]}
/>
<circle
className="body-part-circle"
cx="58"
cy="105"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.LEFT_SHOULDER]}
id={BodyPart[SIDES[left].shoulder]}
/>
<circle
className="body-part-circle"
cx="39"
cy="194"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.LEFT_LOWER_ARM]}
id={BodyPart[SIDES[left].lowerArm]}
/>
<circle
className="body-part-circle"
cx="67.004"
cy="360"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.LEFT_LOWER_LEG]}
id={BodyPart[SIDES[left].lowerLeg]}
/>
<circle
@@ -149,14 +178,14 @@ export function PersonFrontIcon({ width }: { width?: number }) {
cx="67"
cy="250"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.LEFT_UPPER_LEG]}
id={BodyPart[SIDES[left].upperLeg]}
/>
<circle
className="body-part-circle"
cx="67.004"
cy="380"
r={CIRCLE_RADIUS}
id={BodyPart[BodyPart.LEFT_FOOT]}
id={BodyPart[SIDES[left].foot]}
/>
</svg>
);

View File

@@ -7,7 +7,7 @@ export function Radio({
name,
label,
value,
desciption,
description,
// input props
disabled,
...props
@@ -15,8 +15,8 @@ export function Radio({
control: Control<any>;
name: string;
label: string;
value: string | number;
desciption?: string | null;
value: string;
description?: string | null;
} & React.HTMLProps<HTMLInputElement>) {
return (
<Controller
@@ -24,14 +24,12 @@ export function Radio({
name={name}
render={({ field: { onChange, ref, name, value: checked } }) => (
<label
className={classNames(
'w-full bg-background-60 p-3 rounded-md flex gap-3 border-2',
{
'border-accent-background-30': value == checked,
'border-transparent': value != checked,
'cursor-pointer': !disabled,
}
)}
className={classNames('w-full p-3 rounded-md flex gap-3 border-2', {
'border-accent-background-30': value == checked,
'border-transparent': value != checked,
'bg-background-60 cursor-pointer': !disabled,
'bg-background-80 cursor-not-allowed': disabled,
})}
>
<input
type="radio"
@@ -43,14 +41,15 @@ export function Radio({
ref={ref}
onChange={onChange}
value={value}
disabled={disabled}
checked={value == checked}
{...props}
/>
<div className="flex flex-col gap-2">
<Typography bold>{label}</Typography>
{desciption && (
{description && (
<Typography variant="standard" color="secondary">
{desciption}
{description}
</Typography>
)}
</div>

View File

@@ -13,7 +13,7 @@ export function ThemeSelector({
control: Control<any>;
name: string;
colors: string | undefined;
value: string | number;
value: string;
} & React.HTMLProps<HTMLInputElement>) {
return (
<Controller

View File

@@ -8,13 +8,20 @@ export function TipBox({
children,
hideIcon = false,
whitespace = false,
className,
}: {
children: ReactNode;
hideIcon?: boolean;
whitespace?: boolean;
className?: string;
}) {
return (
<div className="flex flex-row gap-4 bg-accent-background-50 p-4 rounded-md">
<div
className={classNames(
'flex flex-row gap-4 bg-accent-background-50 p-4 rounded-md',
className
)}
>
<div
className={classNames(
'fill-accent-background-20 flex flex-col justify-center',

View File

@@ -8,6 +8,7 @@ export function Typography({
whitespace = 'whitespace-normal',
children,
italic = false,
textAlign,
}: {
variant?:
| 'main-title'
@@ -25,7 +26,14 @@ export function Typography({
| 'whitespace-pre'
| 'whitespace-pre-line'
| 'whitespace-pre-wrap';
children: ReactNode;
textAlign?:
| 'text-left'
| 'text-center'
| 'text-right'
| 'text-justify'
| 'text-start'
| 'text-end';
children?: ReactNode;
}) {
const tag = useMemo(() => {
const tags = {
@@ -55,9 +63,10 @@ export function Typography({
color === 'secondary' && 'text-background-30',
typeof color === 'string' && color,
whitespace,
textAlign,
italic && 'italic',
]),
},
children
children || []
);
}

View File

@@ -13,7 +13,7 @@ export function ArrowDownIcon({ size = 24 }: { size?: number }) {
);
}
export function ArrowUpIcon({ size = 24 }: { size: number }) {
export function ArrowUpIcon({ size = 24 }: { size?: number }) {
return (
<svg
xmlns="http://www.w3.org/2000/svg"

View File

@@ -1,12 +1,36 @@
export function EyeIcon() {
return (
export function EyeIcon({
width = 14,
closed = false,
}: {
width?: number;
closed?: boolean;
}) {
return closed ? (
<svg
width="14"
height="10"
viewBox="0 0 14 10"
xmlns="http://www.w3.org/2000/svg"
width={width}
height={width}
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M9.09817 4.99914C9.09817 6.11133 8.15709 7.01294 6.9962 7.01294C5.83532 7.01294 4.89424 6.11133 4.89424 4.99914C4.89424 3.88693 5.83532 2.98533 6.9962 2.98533C8.15709 2.98532 9.09817 3.88694 9.09817 4.99914ZM7 0.806091C5.79804 0.811423 4.55217 1.10403 3.37279 1.66426C2.49711 2.09735 1.64372 2.70838 0.90293 3.46257C0.539093 3.84756 0.0750283 4.40501 0 4.99979C0.00886667 5.515 0.561517 6.15093 0.90293 6.53703C1.5976 7.2616 2.42877 7.85557 3.37279 8.33578C4.47262 8.86954 5.68997 9.17685 7 9.19395C8.2031 9.18853 9.44869 8.89255 10.6268 8.33578C11.5024 7.90269 12.3563 7.29122 13.0971 6.53703C13.4609 6.15204 13.925 5.59457 14 4.99979C13.9911 4.48458 13.4385 3.84863 13.0971 3.46254C12.4024 2.73797 11.5708 2.14446 10.6268 1.66423C9.52751 1.13088 8.30716 0.82568 7 0.806091ZM6.99911 1.84732C8.8205 1.84732 10.297 3.25891 10.297 5.00025C10.297 6.74157 8.8205 8.15316 6.99911 8.15316C5.17773 8.15316 3.70124 6.74156 3.70124 5.00025C3.70124 3.25891 5.17773 1.84732 6.99911 1.84732Z" />
<path d="M3.53 2.47a.75.75 0 0 0-1.06 1.06l18 18a.75.75 0 1 0 1.06-1.06l-18-18ZM22.676 12.553a11.249 11.249 0 0 1-2.631 4.31l-3.099-3.099a5.25 5.25 0 0 0-6.71-6.71L7.759 4.577a11.217 11.217 0 0 1 4.242-.827c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113Z" />
<path d="M15.75 12c0 .18-.013.357-.037.53l-4.244-4.243A3.75 3.75 0 0 1 15.75 12ZM12.53 15.713l-4.243-4.244a3.75 3.75 0 0 0 4.244 4.243Z" />
<path d="M6.75 12c0-.619.107-1.213.304-1.764l-3.1-3.1a11.25 11.25 0 0 0-2.63 4.31c-.12.362-.12.752 0 1.114 1.489 4.467 5.704 7.69 10.675 7.69 1.5 0 2.933-.294 4.242-.827l-2.477-2.477A5.25 5.25 0 0 1 6.75 12Z" />
</svg>
) : (
<svg
xmlns="http://www.w3.org/2000/svg"
width={width}
height={width}
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" />
<path
fillRule="evenodd"
d="M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z"
clipRule="evenodd"
/>
</svg>
);
}

Some files were not shown because too many files have changed in this diff Show More