Compare commits

...

1409 Commits

Author SHA1 Message Date
Uriel
439f60b89e New Pontoon translations (#1076) 2024-09-20 16:43:07 +02:00
Meow Wei
21f4468c00 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: JaydenHa <jayden@jaydenha.uk>
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2024-09-20 16:33:41 +02:00
VocalFan
00f46f01b1 Pontoon: Update Japanese (ja) localization of GUI
Co-authored-by: beq <beqbdean@gmail.com>
Co-authored-by: VocalFan <auronhines@gmail.com>
2024-09-20 16:33:41 +02:00
Iris
af8e6fc3f3 Pontoon: Update Finnish (fi) localization of GUI
Co-authored-by: Iris <vakotoneva@gmail.com>
2024-09-20 16:33:41 +02:00
VocalFan
28d4199f12 Pontoon: Update Czech (cs) localization of GUI
Co-authored-by: VocalFan <auronhines@gmail.com>
2024-09-20 16:33:41 +02:00
Flar
0c309da528 Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: viberbread <panfilov.iva2015@yandex.ru>
Co-authored-by: VocalFan <auronhines@gmail.com>
Co-authored-by: SummerArtz <summerpzmail@gmail.com>
Co-authored-by: Flar <kani.dragonflar@gmail.com>
2024-09-20 16:33:41 +02:00
Renka
3c765dbd8a Pontoon: Update Spain Spanish (es-ES) localization of GUI
Co-authored-by: adriangoldenhero <adriangoldenhero@gmail.com>
Co-authored-by: Renka <lunastarletvr@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2024-09-20 16:33:41 +02:00
Uriel
eb9928ad08 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Renka <lunastarletvr@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Alejandro <moctezumaalejandro25@gmail.com>
2024-09-20 16:33:41 +02:00
Mama-Gen
90dcf986f8 Pontoon: Update Brazilian Portuguese (pt-BR) localization of GUI
Co-authored-by: Mama-Gen <tiodapamonha145@gmail.com>
2024-09-20 16:33:41 +02:00
SebastianZ
eb602df452 Pontoon: Update German (de) localization of GUI
Co-authored-by: SebastianZ <sebastianzockt@gmail.com>
Co-authored-by: Piranja <info@hollihn.ch>
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
Co-authored-by: unlogisch <unlogisch@gmx.ch>
2024-09-20 16:33:41 +02:00
michael091
e157fe7ed5 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
Co-authored-by: michael091 <michael_m1@o2.pl>
Co-authored-by: stronzo <adam_skur@wp.pl>
Co-authored-by: MenacingExiler <menacingexiler@gmail.com>
Co-authored-by: Tailsy <tailsy13@gmail.com>
2024-09-20 16:33:41 +02:00
Vyolex
e3e48d3b0f Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: timovandegriend <timovandegriend@gmail.com>
Co-authored-by: SaabAerospace <SaabAerospace@hotmail.com>
Co-authored-by: Rat. <staf.dierickx@gmail.com>
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2024-09-20 16:33:41 +02:00
infopcgood
018056b728 Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: infopcgood <sshs_student_412@outlook.kr>
Co-authored-by: Kamilake <exjang0@gmail.com>
2024-09-20 16:33:41 +02:00
MenacingExiler
d1b21f2f17 Pontoon: Update Vietnamese (vi) localization of GUI
Co-authored-by: MenacingExiler <menacingexiler@gmail.com>
2024-09-20 16:33:41 +02:00
beq
8eeaa62760 Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: beq <beqbdean@gmail.com>
Co-authored-by: infopcgood <sshs_student_412@outlook.kr>
Co-authored-by: Mini <alexanderawatson64@gmail.com>
2024-09-20 16:33:41 +02:00
namakeingo
564e99c52c Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: Etch9 <mario.mazzara30@gmail.com>
2024-09-20 16:33:41 +02:00
VocalFan
b483699cf0 Pontoon: Update French (fr) localization of GUI
Co-authored-by: VocalFan <auronhines@gmail.com>
Co-authored-by: Erimel <loukalemire@gmail.com>
2024-09-20 16:33:34 +02:00
Uriel
7cea1c7b47 remove fastutil as it has weird behavior and its not used 2024-09-13 23:20:29 +02:00
Uriel
7c96ee89c1 Fix audio/video issues not playing on Linux (#1151) 2024-09-13 11:19:50 -03:00
Butterscotch!
1c867efe16 Fix tracker reset logic (#1150) 2024-09-13 02:41:56 +02:00
Uriel
2c146169ac Add scripts for checking licenses (#1099) 2024-08-28 16:51:11 +02:00
John Marshall
5c0d3e9932 Fix SlimeVR server from not working reliably on Quest standalone (#1141) 2024-08-28 15:19:15 +02:00
Uriel
456485071b Convert to WebP in mounting reset once again (#1146) 2024-08-21 19:32:32 -03:00
Uriel
e2d268df2d Update mounting reset image to a newer one (#1145) 2024-08-20 16:19:58 +02:00
dependabot[bot]
2beb449171 Bump gradle/actions from 3 to 4 (#1143)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-20 15:52:58 +02:00
dependabot[bot]
49865f8e2e Bump pnpm/action-setup from 3 to 4 (#1144)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-20 15:45:00 +02:00
Butterscotch!
25f7d8fe95 Add dependabot for GitHub Actions (#1137) 2024-08-20 09:17:16 -03:00
Uriel
62563ab1c2 remove discord log that includes user information (#1139) 2024-08-20 09:11:57 -03:00
Ondrej Hruska
9bec98f8f5 Add small top padding to show highlighting on tracker assignment page (#1138) 2024-08-20 13:29:19 +02:00
Ondrej Hruska
60f8db7079 show current direction on manual mounting (#1108)
Co-authored-by: Uriel <imurx@proton.me>
2024-08-14 00:20:49 +02:00
Uriel
b06f038777 Change automatic mounting pose image to new one (#1135) 2024-08-13 15:43:43 +02:00
Butterscotch!
1fba4e67ab Fix Android build & OSC support (#1133) 2024-08-12 22:44:06 -03:00
Erimel
1950a419a8 Reset upper chest tracker (#1134) 2024-08-12 22:31:58 -03:00
Uriel
9238c7211b Fix many GUI bugs found (#1129) 2024-08-07 19:03:18 -03:00
Butterscotch!
518fe8d2ef Fix skeleton issues (#1132) 2024-08-07 17:41:01 -03:00
Butterscotch!
8b97c0eb27 Change Android webserver port to 34536 (#1131) 2024-08-07 20:14:34 +02:00
Uriel
9bf7f1fa5c Fix git version script trimming wrong command (#1128) 2024-08-01 18:55:27 -03:00
Butterscotch!
4abd171efc Use default security attributes for named pipes (#1116) 2024-08-01 23:35:08 +02:00
Erimel
af4f9a96bf Computed head reset (#1057) 2024-08-01 00:05:34 -03:00
Erimel
58ca3fe8c1 OSCQuery support (#958)
Co-authored-by: Uriel <imurx@proton.me>
2024-07-31 18:01:38 +02:00
gale
0859abf08d Update flake nixpkgs revision (#1121) 2024-07-24 22:13:33 -03:00
Uriel
b32e1cad50 Add a way to save serial logs as a file (#1029) 2024-07-24 22:00:55 -03:00
Butterscotch!
c2566afa5e Update jSerialComm library (#1117) 2024-07-23 20:32:53 -03:00
VocalFan
7a9a23c3d4 Improvement on firewall batch scripts (#1030) 2024-07-23 20:27:16 -03:00
Uriel
76b29c4af6 Update to latest tauri again (#1097) 2024-07-19 20:38:51 -03:00
ShineBrightMeow
0be9b34320 Updated IMU Constants (#1100) 2024-07-12 17:38:04 +02:00
Ondrej Hruska
0b01a4d67a Issue#1079 - Add a background to the 3d preview skeleton (#1107) 2024-07-11 21:37:24 -03:00
Ondrej Hruska
c316313d2a Issue#1082 - The Exit Modals does not go on top of other (#1105) 2024-07-11 21:30:20 +03:00
Uriel
d8695d3e88 Add missing head tracker status (#962) 2024-07-11 17:50:18 +02:00
Ondrej Hruska
6e942780de Issue#1092 - White theme has correct manual mounting colors (#1103) 2024-07-11 05:02:05 +02:00
Erimel
0d9f9289fb Don't use neck length if head tracker doesn't have position (#1019) 2024-07-03 16:46:27 +02:00
Erimel
a6d0517a5b Fix VMC foot offset (#1020) 2024-07-03 16:37:07 +02:00
AxisAngles
708135ff4c Fix Quaternion biAlign (#1094) 2024-07-03 16:23:40 +02:00
JovannMC
1f434e1c88 Sync server constants with firmware (#1093) 2024-07-02 16:09:20 +02:00
lucas lelievre
7ab8435595 assignments enhancements (#1083)
Co-authored-by: Ondrej Hruska <11602729+ZycaR@users.noreply.github.com>
2024-06-26 16:39:46 +02:00
lucas lelievre
94aec1f4ba Remove useLayout (#1080) 2024-06-25 12:10:34 +02:00
Ondrej Hruska
6a268fbbad Issue#1066 - Show the current selected direction on the tracker mounting radial menu (#1077) 2024-06-18 11:15:01 -07:00
Ondrej Hruska
5ade5eb626 Issue#1074 - Icon of the body part in correct color (#1075) 2024-06-18 00:06:11 +02:00
Uriel
63384f40b5 Update to latest Tauri v2 (#1023) 2024-06-17 18:18:51 +02:00
Ondrej Hruska
d9da5544bb GUI - Tracker assignment options (#1009)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
Co-authored-by: loucass003 <loucass003@gmail.com>
2024-06-17 08:45:06 -07:00
rcelyte
cfd9223390 Fix WebSocketVRBridge HMD (#1072) 2024-06-17 08:18:59 -07:00
Uriel
a135ca3459 Add Futura back to codeowners 2024-06-17 13:22:29 +02:00
Uriel
9bcccc6c36 Delete old resources from java (#984) 2024-06-17 13:02:48 +02:00
Uriel
00ef667c58 Add Discord Rich Presence support (#1027)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2024-06-14 18:32:00 +02:00
Uriel
fbb0b8a460 Override tauri config version with git tag (#994) 2024-06-14 17:55:09 +02:00
Zhenfu Shi
6626cabeaa macOS app naming improvements (#991) 2024-06-14 17:50:25 +02:00
nekomona
d23c92dec2 De-duplicate repeated HID packets (#1036) 2024-06-14 17:36:38 +02:00
Uriel
1356e7fbe6 Create tarball of GUI bundle on release (#1004) 2024-06-14 17:31:28 +02:00
Uriel
ec2909406b fix waitUntil failing with arrays and objects (#1028) 2024-06-14 17:21:16 +02:00
Uriel
37de960c1b Update how Linux bundling is done (#983) 2024-06-14 17:03:09 +02:00
Uriel
638d4e3fb1 Update metainfo to latest (#1024) 2024-06-14 15:40:39 +02:00
Uriel
a6f377992d Don't check for waist or hip on hasChest (#1031) 2024-06-14 14:51:27 +02:00
Uriel
27386d5b29 Use `Exit event instead of ExitRequested` (#1062) 2024-06-13 18:50:49 +02:00
Uriel
d67acf6c28 keep up with quality guidelines in Flathub (#1063) 2024-06-13 18:22:32 +02:00
Erimel
4471aaaa49 Add VMC toggle to mirror tracking (#1065) 2024-06-13 18:12:19 +02:00
Erimel
a3faad4a72 Update serial console description (#1064) 2024-06-13 17:13:55 +02:00
Uriel
4e4edc24da Add padding to tracker list on onboarding (#1058) 2024-06-13 16:20:36 +02:00
Collin
e64edb76dd Fix mocap mode breaking on startup (#1046) 2024-06-07 01:25:57 +03:00
Erimel
721a74aacc Fix VMC floating (#1039) 2024-06-06 01:25:01 +03:00
Erimel
775f5e9f30 Fix update button not redirecting to the installer directly on Windows (#1037) 2024-06-06 01:22:35 +03:00
VocalFan
6ca2eb6905 Begone Slimevr-ui.exe (#1018) 2024-06-06 01:21:47 +03:00
sctanf
9808ea8709 Use assigned vid/pid for HID tracker (#1044) 2024-05-31 12:31:10 -03: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
0forks
06520b9baa Implement packet bundling (#794) 2023-08-02 14:13:56 +03:00
Erimel
23dd9aab18 avoid Git tags breaking (#802) 2023-07-31 16:00:55 +03:00
Collin
0367e3a62d Fix tap to assign and other bugs (#795) 2023-07-31 15:25:49 +03:00
Uriel
f84efc413d Move serial communication to desktop subproject (#756)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2023-07-30 17:48:42 +03:00
Erimel
414482c139 Fix updateTrackersDriftCompensation condition (#796) 2023-07-30 17:46:32 +03:00
Butterscotch!
a6b3465ea5 Quick fix for BVH issues (#798) 2023-07-30 17:45:56 +03:00
Erimel
dddedd9a60 fix upper chest mounting null (#799) 2023-07-30 17:45:20 +03:00
Erimel
d89a4c2704 Send any computed tracker via VMC for props (#719)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-07-27 15:43:34 +03:00
Erimel
0ad237a219 Improve defaults SkeletonValues & add ratios in gui (#743) 2023-07-27 15:42:28 +03:00
Uriel
9c980f06f9 Make manual proportion list grow if there is space (#784)
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2023-07-27 15:41:47 +03:00
Collin
f607693d83 Fix toe snap (#793) 2023-07-25 02:53:46 -04:00
Butterscotch!
27faa1908c Fix Autobone comment on the wrong line (#791) 2023-07-23 13:19:33 -04:00
Uriel
39cd1f9ba9 Autobone config migration is in wrong version (#792) 2023-07-22 03:49:27 -04:00
Erimel
c59f20a79a make sentences consistents (#789) 2023-07-20 16:30:58 -04:00
Erimel
e7de25dfab Clarify "extended" skeleton toggles in GUI (#779) 2023-07-20 15:39:24 -04:00
Erimel
74f1d8ed61 Drift compensation tracker and HMD requirement (#750) 2023-07-20 15:32:52 -04:00
Erimel
ad41c46092 Bundle & Receive OSCTrackers (#773) 2023-07-20 15:25:14 -04:00
Erimel
f3346bbeee Make displayName consistent via hash (#775) 2023-07-20 15:14:52 -04:00
Erimel
ca6f82492d Refresh headShift when setting trackers (#781) 2023-07-20 15:10:08 -04:00
Uriel
02acc6ede1 Improvements on the Autobone GUI (#776)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-07-20 11:19:43 +03:00
Uriel
d9c631fcf6 Fix CI release bundling (#777) 2023-07-20 11:15:55 +03:00
Uriel
ea9df2c31f Add accessibility settings (#774) 2023-07-20 11:14:51 +03:00
Collin
e18bd2d382 Better tap detection (#778) 2023-07-20 11:06:48 +03:00
Uriel
b6a681b1bb Save config and logs on appdata folder (#770) 2023-07-20 11:02:52 +03:00
Uriel
793dd374f8 Update appstream metadata (#762) 2023-07-20 11:00:52 +03:00
Uriel
97b617bb24 Add me to GUI codeowners (#782) 2023-07-20 10:59:47 +03:00
lucas lelievre
1aa32b8264 Fix Scroll on mobile (#785) 2023-07-20 10:59:23 +03:00
Uriel
5c2c6749c3 Move SteamVR code to desktop subproject (#755) 2023-07-19 16:32:00 -04:00
Uriel
e472b12e83 Add rust file logging (#752) 2023-07-19 16:11:48 -04:00
MarcoM
75fc1c37d3 fix: filter non imu in connected tracker (#763) 2023-07-17 17:54:16 -04:00
Erimel
9c4b9b401e Don't create new skeletons (#761) 2023-07-15 23:37:14 -04:00
Erimel
4243951214 Prioritize non-computed head tracker (#751)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-07-15 23:07:39 -04:00
Collin
2f61d5b4b8 Mocap mode (#749)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: Erimel <marioluigivideo@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-07-14 22:45:18 +03:00
Uriel
35e6b8b721 Manual mounting overhaul (#745) 2023-07-14 22:30:26 +03:00
Eiren Rain
82db6a1ff5 Separate the server in subprojects (#727) 2023-07-14 20:22:49 +02:00
Uriel
17be65d2a2 Merge branch 'main' into subprojects 2023-07-10 15:21:02 -03:00
Erimel
db2f7fbd49 Don't log non-imu trackers' drift (#759) 2023-07-09 20:36:12 -04:00
Uriel
95f1bfd52f Merge branch 'main' into subprojects 2023-07-09 21:30:10 -03:00
Erimel
7511e0098e Fix chest tracker SteamVR battery (#772)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-07-09 20:17:46 -04:00
Uriel
f0f2731387 second fix 2023-07-07 21:47:16 -03:00
Uriel
5f3182e2c6 fix merge 2023-07-07 21:43:53 -03:00
Uriel
8b4a2843a1 Merge branch 'main' into subprojects 2023-07-07 19:54:50 -03:00
Collin Kees
d227b97843 Adjusted com calcs (#769) 2023-07-07 14:16:12 -04:00
Eiren Rain
7f11534fc1 Fix status not working (#765) 2023-07-04 21:26:25 +02:00
Uriel
af2cf10c16 thats weird... 2023-07-04 16:19:58 -03:00
Eiren Rain
055fd78d4d New Pontoon translations (#739) 2023-07-04 19:28:05 +02:00
phoebe
26b472893d Pontoon: Update Turkish (tr) localization of GUI
Co-authored-by: Stupid <dfgfdgrwEHRE@gmail.com>
Co-authored-by: phoebe <brnjyhvmn@gmail.com>
2023-07-04 17:24:55 +00:00
Kamilake
26fbbebb89 Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-07-04 17:24:55 +00:00
FennT
2eba83411c Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-07-04 17:24:55 +00:00
Vyolex
80ffa1a9b4 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-07-04 17:24:55 +00:00
Uriel
1b06799315 fix extra space on Norwegian 2023-07-04 17:24:55 +00:00
Erimel
046b0b8be3 Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-07-04 17:24:55 +00:00
Meow Wei
f4b16f2cdb Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-07-04 17:24:55 +00:00
HappyTownCats
b266afedea Pontoon: Update Ukrainian (uk) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: HappyTownCats <HappyTownCats@gmail.com>
Co-authored-by: nyarl <nyarl@outlook.com>
2023-07-04 17:24:55 +00:00
Kaiera huzu
646eb94f72 Pontoon: Update Thai (th) localization of GUI
Co-authored-by: Kaiera huzu <patsakorn9090@gmail.com>
2023-07-04 17:24:55 +00:00
Hornil
1bf79fc72d Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: SummerArtz <summerpzmail@gmail.com>
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-07-04 17:24:55 +00:00
ReDoX
cddbb93c99 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-07-04 17:24:55 +00:00
beq
5463eee217 Pontoon: Update Japanese (ja) localization of GUI
Co-authored-by: 白貓 <yen.max@gmail.com>
Co-authored-by: beq <beqbdean@gmail.com>
Co-authored-by: 空影/Sorakage <sorakage033@gmail.com>
2023-07-04 17:24:55 +00:00
namakeingo
c93709f80f Pontoon: Update Hebrew (he) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
2023-07-04 17:24:55 +00:00
namakeingo
f6b915a88e Pontoon: Update Greek (el) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: odydoubouridis <odydoubouridis@gmail.com>
2023-07-04 17:24:55 +00:00
thearxari
9231356638 Pontoon: Update Czech (cs) localization of GUI
Co-authored-by: thearxari <thearxari@gmail.com>
2023-07-04 17:24:55 +00:00
TheDevMinerTV
7bb32a382a Pontoon: Update German (de) localization of GUI
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
Co-authored-by: unlogisch <unlogisch@gmx.ch>
Co-authored-by: Zahnatom <zahnatomletsplay@gmail.com>
2023-07-04 17:24:55 +00:00
Disappear9
a17f651f64 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Disappear9 <disappear9@outlook.com>
2023-07-04 17:24:55 +00:00
Gaabbu
c9f0f6e27c Pontoon: Update Portuguese (pt-BR) localization of GUI
Co-authored-by: Gaabbu <gabrielsonada@outlook.com.br>
2023-07-04 17:24:55 +00:00
Erimel
3defd47c29 Improve Autobone upperChest and fix VMC upperChest (#754) 2023-07-04 20:24:50 +03:00
Erimel
3068fada17 Don't ask twice to reset non-imu trackers (#760)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-07-04 20:24:16 +03:00
Uriel
efd20ee7b2 Merge branch 'main' into subprojects 2023-07-03 23:10:19 -03:00
Collin Kees
e71ed5cf6c Acceleration alignment fix (#737)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-07-03 19:43:28 -04:00
ImUrX
c076ebabb3 Merge branch 'main' into subprojects 2023-07-02 17:06:53 -03:00
Erimel
0ccd7e260c Add upper chest tracking point (#716) 2023-07-02 14:33:36 +03:00
Uriel
9e650dad08 Merge branch 'main' into subprojects 2023-07-01 23:05:57 -07:00
lucas lelievre
36c4889d75 mobile body proportions (#718)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-07-01 20:29:31 -04:00
Uriel
8da9e63c45 Fix Dropdown not opening (#744) 2023-07-01 19:59:21 -04:00
Uriel
dc22b503e8 Merge branch 'main' into subprojects 2023-06-29 19:04:07 -03:00
Butterscotch!
5e81e3ac4c Make AutoBone more modular and readable (#684) 2023-06-30 00:44:14 +03:00
Uriel
0bd6a9002a Merge branch 'main' into subprojects 2023-06-26 20:26:28 -03:00
Uriel
9c7558cae8 it works then 2023-06-26 23:07:10 +00:00
Uriel
dabb78e545 Fix mobile bugs (#740)
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2023-06-27 00:49:16 +03:00
Evgeniy Zhabotinskiy
582618ee72 Stop unconditionally hogging serial ports (#692) 2023-06-27 00:47:15 +03:00
ImUrX
d89a53ef44 Merge branch 'main' into subprojects 2023-06-26 17:51:22 -03:00
ImUrX
525f29f3c5 add copy script 2023-06-26 17:50:11 -03:00
Erimel
047667432c That's cringe (#742) 2023-06-26 23:10:23 +03:00
Erimel
f4261d5bc2 Clear untranslated keys (#741) 2023-06-24 23:20:40 -04:00
Butterscotch!
c94d71c24f Disable gradle config cache 2023-06-24 21:50:37 -04:00
Butterscotch!
31ff3f4868 Re-revert broken dependency update 2023-06-24 21:25:14 -04:00
Butterscotch!
a6911e072c Fix workflow targeting wrong build directory 2023-06-24 20:43:26 -04:00
Butterscotch!
bf062c9b65 Merge remote-tracking branch 'upstream/main' into pr/727 2023-06-24 20:12:21 -04:00
Erimel
a0e4096701 Merge pull request #738 from SlimeVR/pontoon
New Pontoon translations
2023-06-20 18:53:18 -04:00
Uriel
5c7c7423cc Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-06-20 22:47:14 +00:00
namakeingo
a715818421 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
2023-06-20 22:47:09 +00:00
Erimel
1f947965dc Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-06-20 22:47:05 +00:00
Uriel
366a255887 Finally fix small window (#731) 2023-06-20 14:14:33 +03:00
Uriel
d6862f13aa Fix trackerError status returning empty object on null device (#735) 2023-06-20 14:11:15 +03:00
Lena
dcfa5ede78 Updates the recommended mounting method to manual (#734) 2023-06-20 14:10:08 +03:00
Butterscotch!
652b44d50b PoseFrame fix & AutoBone change (#736) 2023-06-19 17:32:13 +03:00
ImUrX
8945e05354 just delete it then lol 2023-06-16 16:15:12 -03:00
ImUrX
ea3cdb7658 pls work? 2023-06-16 16:07:45 -03:00
ImUrX
ae40121a31 pls work 2023-06-16 15:01:17 -03:00
ImUrX
f64a45fb2e fix unresolved reference from merge 2023-06-16 14:50:25 -03:00
ImUrX
cb19aa17cc forgot server folder 2023-06-16 14:48:56 -03:00
ImUrX
4564671b38 Merge branch 'main' into subprojects 2023-06-16 14:45:26 -03:00
ImUrX
60f74d6d5c fix tests 2023-06-16 14:44:14 -03:00
Lena
3e2d7bb1f2 Rename save proportions to export proportion (#732) 2023-06-16 16:06:17 +03:00
Uriel
ce3731f381 fix trackerName logic for error status (#715) 2023-06-16 00:27:47 +03:00
Uriel
28b37b73e7 Fix reset status on yaw reset (#730) 2023-06-16 00:20:12 +03:00
Butterscotch!
f7b4a60448 Tracking pause fixes (#721) 2023-06-16 00:16:50 +03:00
ImUrX
4450260dd0 make softlink valid 2023-06-15 18:02:19 -03:00
ImUrX
55f030a145 spotless 2023-06-15 17:52:09 -03:00
ImUrX
3038de8a5f Merge branch 'main' into subprojects 2023-06-15 17:39:25 -03:00
ImUrX
338e153834 keep fixing gradle script 2023-06-15 16:33:07 -03:00
Erimel
66214bae76 Fix allowDriftCompensation setting to false on mounting or assign (#717) 2023-06-15 22:17:34 +03:00
Collin Kees
25cb8cc9c6 Potential floorclip fixes (#728)
* maybe fix floor clip randomly breaking

* spotless
2023-06-15 15:10:30 -04:00
ImUrX
544efb6efe fetch tags in gh actions 2023-06-15 15:59:43 -03:00
ImUrX
0e64f1241f Merge branch 'main' into subprojects 2023-06-15 15:38:23 -03:00
ImUrX
ffe530dc94 move bridges to desktop 2023-06-15 15:37:21 -03:00
SlimeVR-bot
379084493b New Pontoon translations (#703)
* Pontoon: Update German (de) localization of GUI

Co-authored-by: unlogisch <unlogisch@gmx.ch>
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>

* Pontoon: Update French (fr) localization of GUI

Co-authored-by: Toonmomo <anthony.maurice.pro@gmail.com>
Co-authored-by: Erimel <loukalemire@gmail.com>
Co-authored-by: jojos38000 <jojos38000@hotmail.com>

* Pontoon: Update Engwish (en-x-owo) localization of GUI

Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>

* Pontoon: Update Latinamerican Spanish (es-419) localization of GUI

Co-authored-by: Arc#8355 <tikkodesign@hotmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Pontoon: Update Polish (pl) localization of GUI

Co-authored-by: ReDoX <redox01@o2.pl>

* Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI

Co-authored-by: Disappear9 <disappear9@outlook.com>

* Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI

Co-authored-by: Meow Wei <medicalwei@gmail.com>

* Pontoon: Update Japanese (ja) localization of GUI

Co-authored-by: beq <beqbdean@gmail.com>

* Pontoon: Update Arabic (ar) localization of GUI

Co-authored-by: Uriel <urielfontan2002@gmail.com>

---------

Co-authored-by: unlogisch <unlogisch@gmx.ch>
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
Co-authored-by: Erimel <loukalemire@gmail.com>
Co-authored-by: Toonmomo <anthony.maurice.pro@gmail.com>
Co-authored-by: jojos38000 <jojos38000@hotmail.com>
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Arc#8355 <tikkodesign@hotmail.com>
Co-authored-by: ReDoX <redox01@o2.pl>
Co-authored-by: Disappear9 <disappear9@outlook.com>
Co-authored-by: Meow Wei <medicalwei@gmail.com>
Co-authored-by: beq <beqbdean@gmail.com>
2023-06-15 09:01:16 -04:00
ImUrX
a8ce510f70 fix soft link 2023-06-15 01:16:32 -03:00
ImUrX
1b17fcbec3 android 2023-06-15 01:16:32 -03:00
ImUrX
01f1d2ee56 im having so much fun 2023-06-15 01:16:31 -03:00
ImUrX
d14a7bb5e7 it runs 2023-06-15 01:16:30 -03:00
ImUrX
a14a2ea253 im ruining everything 2023-06-15 01:16:27 -03:00
NWB
5fe2480662 Do Not Send Erroneous Battery Readings to SteamVR (#712)
* Potential SteamVR Low Battery Fix

May fix low battery icon issue with DIY trackers that use internal battery sensing.

* Small change & Comments

More comments on expected battery range and adjustments on what battery voltages to use.

* minor changes

changed battery battery voltages

* changed voltages again

* High battery reading rejection

Don't send very high battery readings

* Updated comments

updated comments a bit
2023-06-14 09:49:26 -04:00
Butterscotch!
fc13a8385c [AutoBone] Fix player trackers not being found or assigned in HumanSkeleton (#722) 2023-06-13 22:54:45 -04:00
Butterscotch!
b67de108e7 Bump versions 2023-06-13 20:30:44 -04:00
Butterscotch!
e4a4f38c15 Disable cache on WebView 2023-06-13 20:30:44 -04:00
Butterscotch!
858354eee8 Revert broken dependency update 2023-06-13 20:30:44 -04:00
Butterscotch!
fcb736d371 Fix gradle build somewhat 2023-06-13 20:30:44 -04:00
Butterscotch!
f6d8026761 Don't cache & try more to allow zooming on GUI 2023-06-13 20:30:44 -04:00
Butterscotch!
cb5e27875c Update Gradle stuff & fix compilation + proguard 2023-06-13 20:30:44 -04:00
Butterscotch!
72f506822a Update Gradle stuff 2023-06-13 20:30:43 -04:00
Butterscotch!
4e942fded5 Revert "Work around TransformNode race condition"
This reverts commit 23a2abbbdcc9a070c6fe907ec56bc2d10a607b27.
2023-06-13 20:30:43 -04:00
Butterscotch!
463e558e7f Enable WebView debugging 2023-06-13 20:30:43 -04:00
Butterscotch!
a1db52144a Work around TransformNode race condition 2023-06-13 20:30:43 -04:00
Butterscotch!
81b7ea0967 Fix screen rotation crashing 2023-06-13 20:30:43 -04:00
Butterscotch!
a489e32828 Fix Gradle build 2023-06-13 20:30:43 -04:00
Butterscotch!
6eaf04ba64 Update version code 2023-06-13 20:30:42 -04:00
Butterscotch!
b8ceaa6bc0 Fix OSC Android fuckery 2023-06-13 20:30:42 -04:00
Butterscotch!
6b7c47d36c Add GUI webview & remove titlebar 2023-06-13 20:30:42 -04:00
Butterscotch!
c0f8fb1758 Add locally hosted web GUI 2023-06-13 20:30:42 -04:00
Butterscotch!
07600f0133 Set version number and add icons 2023-06-13 20:30:42 -04:00
Butterscotch!
3634bedef1 Reduce minimum SDK version to 26 2023-06-13 20:30:42 -04:00
Butterscotch!
e864487246 Add basic support for Android
- Add Android build scripts
- Add Android GUI and `MainActivity`
- Fix Java records
- Fix `Path.of` errors
- Update Main and MainActivity to match better
2023-06-13 20:30:42 -04:00
lucas lelievre
5d9d545346 Fix width of Tracker assign in desktop + Fix min height of the window (#720) 2023-06-13 18:18:00 -04:00
lucas lelievre
91c0ea85a6 Mobile gui basics (#713)
* Mobile implementation without settings and widgets

* Working Settings and widgets + Few tweaks for responsive

* Make linter happy

* Update gui/src/components/Navbar.tsx

Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Update gui/src/components/onboarding/pages/CalibrationTutorial.tsx

Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Update gui/src/components/onboarding/pages/CalibrationTutorial.tsx

Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Update gui/src/components/onboarding/pages/CalibrationTutorial.tsx

Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Update gui/src/components/onboarding/pages/CalibrationTutorial.tsx

Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Update gui/src/components/settings/pages/Serial.tsx

Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Apply review changes

* Revert removing full height in body

* Fix onboarding manual body proportions on mobile

* make connect trackers page work on mobile

* Apply suggestions from code review

Co-authored-by: DevMiner <devminer@devminer.xyz>

* Applie required changes

* rollback server ip

* Remove placeholder string

* Remove unused isMobile

* Remove unused isMobile

* error on unused vars

* make it warn but make the lint script error on warnings

---------

Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: DevMiner <devminer@devminer.xyz>
2023-06-11 18:50:54 -04:00
Uriel
841ea8ee94 add lots of stuff (#704) 2023-06-12 00:07:35 +03:00
Uriel
788414f8f6 fix nix errors (#714) 2023-06-11 17:36:11 +03:00
Uriel
f944a07377 Fix bundling for mac (#711) 2023-06-09 17:47:32 +03:00
Erimel
8d328e1a27 Add niche option to always use floorclip (#710) 2023-06-07 14:54:20 +03:00
Uriel
4ba2bb0dca Fix GUI bugs (#707) 2023-06-07 14:53:32 +03:00
Eiren Rain
011f31a64d Update README about translation 2023-06-04 19:52:42 +02:00
Uriel
c0e42c2d45 Add more tutorials on setup (#696)
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2023-06-01 21:42:02 +03:00
NWB
6a9b5cda1d Send Tracker Battery Info to SteamVR (#668)
* implement battery support

Co-authored-by: NWB <n3rt46@gmail.com>

* undo solarxr

* spotless

* Improved battery level aggregation

When chest and knee trackers are disabled in SteamVR, they should now aggregate their battery level with waist and foot trackers respectively.

Moved SteamVR-specific writeBatteryUpdate() and batteryReceived() to SteamVRBridge. Some battery stuff is still left in ProtobufBridge, but only what's necessary.

* Aggregate Waist and Hip with Chest

When waist is disabled, and chest is enabled, waist and hip battery levels will aggregate with the chest tracker.

* Comments & Minor Fixes

Added descriptive comments, and fixed lowestLevel not checking for >= 200. Also fixed right knee aggregating with right ankle/foot.

* Spotless

Applied spotless.

* Spotless

Applied spotless >_>

---------

Co-authored-by: ImUrX <urielfontan2002@gmail.com>
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2023-05-31 20:37:46 -04:00
Butterscotch!
760f775d60 Fix height calculation and targetHeight order (#705) 2023-05-31 19:34:45 -04:00
Uriel
309e78e47c Some more random improvements (#695) 2023-05-29 20:29:01 +03:00
Uriel
1f2fbfc101 Status system (#689)
Co-authored-by: Louka <marioluigivideo@gmail.com>
2023-05-29 20:10:27 +03:00
Butterscotch!
88dbb15ae2 Add tracking pausing (#697) 2023-05-29 19:21:54 +03:00
Collin Kees
eb91878257 Better foot plant (#691)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-05-29 19:19:43 +03:00
Uriel
d1cd7776f3 Require the use of run command for running server (#701)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-05-29 19:06:09 +03:00
Uriel
797fcab208 Add minimization (#700) 2023-05-29 19:05:12 +03:00
Butterscotch!
1fc3c95711 Fix BVH translation comment (#698) 2023-05-29 00:20:20 -04:00
Erimel
8ac0de0601 Fix legtweaks knees condition (#702) 2023-05-28 02:33:21 +03:00
Erimel
c3e2396ed6 Merge pull request #659 from SlimeVR/pontoon
New Pontoon translations
2023-05-26 18:54:19 -04:00
TheDevMinerTV
40ea2656c2 Pontoon: Update German (de) localization of GUI
Co-authored-by: rex <rexvizsla@gmail.com>
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
Co-authored-by: Piranja <info@hollihn.ch>
2023-05-26 12:45:25 -03:00
ImUrX
c5bc2ef55b Add Danish language option 2023-05-26 12:45:24 -03:00
viwas45hu978ot
c54e1ac79b Pontoon: Update Danish (da) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: viwas45hu978ot <viwashuot@gmail.com>
Co-authored-by: Sacchi <therollocat@gmail.com>
2023-05-26 12:45:23 -03:00
patsakorn9090
7832ff7488 Pontoon: Update Thai (th) localization of GUI
Co-authored-by: patsakorn9090 <patsakorn9090@gmail.com>
2023-05-26 12:45:22 -03:00
Vyolex
6ab54098d9 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-05-26 12:45:15 -03:00
Siofra
48e3dd363e Pontoon: Update Finnish (fi) localization of GUI
Co-authored-by: Siofra <maradaichides@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-05-26 12:45:12 -03:00
Kamilake
2b26983d0b Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-05-26 12:45:11 -03:00
Uriel
b4cbe18e28 Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-05-26 12:45:10 -03:00
Erimel
cc75128acf Pontoon: Update French (fr) localization of GUI
Co-authored-by: the1pigeon <the1pigeon@gmail.com>
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-05-26 12:45:09 -03:00
Meow Wei
920670ac1b Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
Co-authored-by: 白貓 <yen.max@gmail.com>
2023-05-26 12:45:03 -03:00
Disappear9
2689b06523 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Disappear9 <disappear9@outlook.com>
Co-authored-by: Meow Wei <medicalwei@gmail.com>
Co-authored-by: Antenna <vv03A24@foxmail.com>
2023-05-26 12:44:55 -03:00
ReDoX
cbcd2dc8ce Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-05-26 12:44:44 -03:00
FennT
eb266ac2a4 Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-05-21 23:36:38 -03:00
Butterscotch!
8f1aa5c016 Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-05-21 23:36:21 -03:00
namakeingo
c24cf1ed81 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: Etch9 <mario.mazzara30@gmail.com>
2023-05-21 23:35:59 -03:00
Erimel
a1b91ee111 Log yaw drift and reset all trackers (#682)
Cauthored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: ImUrX <urielfontan2002@gmail.com>
2023-05-21 17:42:01 +03:00
NWB
9af7fecd88 Additional Theme Options (#671) 2023-05-19 20:23:09 +03:00
Erimel
64b0dceb50 Basic version update checking (#690)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-05-19 20:21:30 +03:00
Uriel
d652c3eb9b Calibration tutorial (#687) 2023-05-19 20:19:09 +03:00
Uriel
8bc8be9b90 Fix the reason of my suffering (#693) 2023-05-17 15:50:17 +03:00
Uriel
2b4676676d Tap setup (#667)
Co-authored-by: Stermere <collin@kees.net>
2023-05-17 15:36:55 +03:00
Uriel
2c62e0bd72 Convert UDP Server stuff to Kotlin (#683)
Co-authored-by: Louka <marioluigivideo@gmail.com>
2023-05-17 15:18:29 +03:00
Erimel
d4068e7ccb Trackers rewrite & Switch to new math lib (#647)
Co-authored-by: ImUrX <urielfontan2002@gmail.com>
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-05-17 01:55:52 +03:00
Erimel
e570943ec5 Update contributing information (#673)
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-05-10 20:57:23 +03:00
Uriel
2486121ede More GUI fixes (#678)
Co-authored-by: ButterscotchV <bscotchvanilla@gmail.com>
2023-05-02 19:33:57 +03:00
Ryan Butler
1c9fe71829 Update VRServer.java with important change (#685)
furries run SlimeVR
2023-04-25 00:42:11 +03:00
Erimel
09fc604a53 Improve vrchat osctrackers text (#675)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-04-25 00:31:46 +03:00
Erimel
a20abb9abe fix left foot icon being reversed (#672) 2023-04-15 15:44:02 +03:00
Erimel
d6255cf713 Make config migration more robust (#670) 2023-04-14 16:17:18 +03:00
Butterscotch!
a3a331a9a6 Change AutoBone's decay function to be more standard (#630) 2023-04-14 14:26:05 +03:00
MarcoM
ccef1dff6b feat: VRServer gracefully shutdown (#632)
Co-authored-by: ImUrX <urielfontan2002@gmail.com>
2023-04-11 19:09:01 +03:00
Uriel
0ad3b9f095 Theme support (#663)
Co-authored-by: ButterscotchV <bscotchvanilla@gmail.com>
2023-04-08 22:52:52 +03:00
Uriel
30adeb2ed5 repair icons for linux (#664) 2023-04-08 22:52:24 +03:00
imgbot[bot]
61843db39d [ImgBot] Optimize images (#662)
Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-04-07 16:57:50 +03:00
Erimel
7c7ee21dcb Fix lower arm icon being hidden to the right (#660) 2023-04-07 16:38:57 +03:00
Butterscotch!
5ecfac31a1 Fix AutoBone wording (not an AI ;3) (#661) 2023-04-07 16:38:41 +03:00
Eiren Rain
d0dc2a940d Merge pull request #633 from SlimeVR/pontoon
New Pontoon translations
2023-04-06 19:41:04 +02:00
beq
1f2271d1db Pontoon: Update Japanese (ja) localization of GUI
Co-authored-by: beq <beqbdean@gmail.com>
2023-04-06 17:10:49 +00:00
FennT
87d23f226f Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-04-06 17:10:49 +00:00
Meow Wei
7baa9a0403 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
Co-authored-by: 白貓 <yen.max@gmail.com>
2023-04-06 17:10:49 +00:00
Disappear9
ef5ccfb1e0 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Disappear9 <disappear9@outlook.com>
2023-04-06 17:10:49 +00:00
ReDoX
7b0d252e9a Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-04-06 17:10:49 +00:00
Vyolex
37c407669d Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-04-06 17:10:49 +00:00
Uriel
583eb7b299 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: Arc#8355 <tikkodesign@hotmail.com>
2023-04-06 17:10:49 +00:00
namakeingo
727de9afd6 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
2023-04-06 17:10:49 +00:00
Butterscotch!
3ff457693a Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-04-06 17:10:49 +00:00
Erimel
c4b4928ea8 Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
Co-authored-by: the1pigeon <the1pigeon@gmail.com>
2023-04-06 17:10:49 +00:00
TheDevMinerTV
b84a540441 Pontoon: Update German (de) localization of GUI
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
2023-04-06 17:10:49 +00:00
Hornil
756fddc5a5 Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-04-06 17:10:49 +00:00
Erimel
d550c14b06 Replace butt icon by hip (#658) 2023-04-06 20:10:11 +03:00
0forks
a92864d6ff Fix TPS display for devices with >1 tracker (#657) 2023-04-06 18:41:43 +03:00
Uriel
f8c26b80a6 Add more style to the GUI with icons (#652) 2023-04-06 18:40:46 +03:00
Eiren Rain
65891edb10 Fix default tracker mounting state to be front correctly (#651) 2023-04-06 01:26:22 +03:00
Butterscotch!
d231b5079d Simplify code and fix Android crash (#645) 2023-04-06 01:26:07 +03:00
Uriel
e4994f5c24 Start including media framework on appimage (#650) 2023-04-06 01:25:34 +03:00
Uriel
52768270ed remove line (#646) 2023-04-01 18:12:22 +03:00
0forks
b9904d3e25 Revert VRServer tick interval (#644) 2023-03-31 17:04:51 +03:00
Uriel
a2a3aa4648 Improve setup wizard (#639)
Co-authored-by: Spazznyan <98095416+Spazzwanjunk@users.noreply.github.com>
Co-authored-by: ButterscotchV <bscotchvanilla@gmail.com>
Co-authored-by: Erimel <marioluigivideo@gmail.com>
2023-03-31 17:03:13 +03:00
Butterscotch!
06a9937b75 Mounting reset improvements (#641) 2023-03-31 17:01:50 +03:00
Eiren Rain
c27b66f716 WiFi provisioning and serial fixes (#590)
Co-authored-by: ImUrX <urielfontan2002@gmail.com>
Co-authored-by: DevMiner <devminer@devminer.xyz>
2023-03-31 17:01:24 +03:00
Erimel
bb2b8abcb5 Increase maximum smoothing (#643)
Now that we have VMC and lower SteamVR latency, I think smoothing should be stronger.
2023-03-30 14:07:46 +03:00
Butterscotch!
65fd0be400 Update AutoBone steps on the GUI to match the docs (#636) 2023-03-26 00:43:18 +03:00
Butterscotch!
e47a9d465f Separate MacOS artifact and label Windows artifact (#640) 2023-03-26 00:41:48 +03:00
Collin Kees
ab425f41cd Disable leg tweaks on proportions (#627) 2023-03-26 00:41:10 +03:00
Butterscotch!
56d47996f0 Fix skeleton config loading (#635) 2023-03-26 00:39:49 +03:00
0forks
f64c72f1d8 Fixes for sound feedback PR (#637) 2023-03-26 00:39:34 +03:00
0forks
d630b1b253 gui: Volume slider for feedback sound (#638) 2023-03-26 00:39:18 +03:00
0forks
e9553b4ded server: Implement non-blocking IO for VR bridges (#629) 2023-03-26 00:37:28 +03:00
Eiren Rain
9d90186472 Merge pull request #608 from SlimeVR/pontoon
New Pontoon translations
2023-03-17 17:45:49 +01:00
Butterscotch!
40a9e30b5a Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: namakeingo <namakeingo@gmail.com>
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: SummerArtz <summerpzmail@gmail.com>
2023-03-17 13:35:40 -03:00
Lae_Dev
811945f50a Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Lae_Dev <rlarlqja51267178@gmail.com>
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-03-17 13:35:28 -03:00
FennT
cb576b73a5 Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-03-17 13:35:19 -03:00
Hornil
030f68c8c4 Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Hornil <vixlyaev@gmail.com>
Co-authored-by: SummerArtz <summerpzmail@gmail.com>
2023-03-17 13:35:08 -03:00
muumi
4bd9c47e5c Pontoon: Update Estonian (et) localization of GUI
Co-authored-by: muumi <chrisrobin.soon@gmail.com>
2023-03-17 13:35:08 -03:00
ReDoX
49b4d39532 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-03-17 13:34:54 -03:00
Meow Wei
00a1a254ae Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: 白貓 <yen.max@gmail.com>
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-03-17 13:34:41 -03:00
Meow Wei
82eebde36f Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
Co-authored-by: disappear9 <disappear9@outlook.com>
2023-03-17 13:34:32 -03:00
namakeingo
42bebe3fc8 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
Co-authored-by: Etch9 <mario.mazzara30@gmail.com>
2023-03-17 13:34:14 -03:00
Vyolex
6534dfd731 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-03-17 13:34:02 -03:00
Erimel
a0daae7aca Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-03-17 13:33:52 -03:00
unlogisch
e492d3d214 Pontoon: Update German (de) localization of GUI
Co-authored-by: unlogisch <unlogisch@gmx.ch>
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz>
2023-03-17 13:33:25 -03:00
MarcoM
242cfd5fe5 feat: feedback sound when reset triggered (#576)
Co-authored-by: @EvaSachkova
2023-03-14 16:34:45 +02:00
Uriel
5f8eaf432b Add a ratio mode for manual offsets (#615) 2023-03-14 00:10:06 +03:00
Erimel
7c1fd5b6ab Rename resets (#611) 2023-03-02 19:37:03 +02:00
imgbot[bot]
233a754d20 [ImgBot] Optimize images (#618)
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-03-02 18:25:34 +02:00
Collin Kees
2a65dc1086 Toesnap and Footplant (#609) 2023-03-02 18:22:35 +02:00
Butterscotch!
4ff29861aa Convert AutoBone config to Kotlin and fix config loading (#614) 2023-03-02 18:20:21 +02:00
Ryan Butler
c733314c67 Bump deps, sleep on resize (#616) 2023-03-01 17:55:25 +02:00
Erimel
c4f5a5d249 Fix vrconfig crashing (#613) 2023-03-01 04:39:50 +03:00
TheDevMinerTV
69c175c810 Add prettier to check formatting during CI linting (#557) 2023-02-26 17:15:29 +03:00
Butterscotch!
8efbb90ded Convert AutoBone to Kotlin and extend PoseFrame data functionality (#581) 2023-02-26 15:19:08 +03:00
0forks
ea9dc0b0ec server: Log resets from all sources (#604) 2023-02-26 15:18:33 +03:00
Uriel
a0f3515981 Use CSS selectors instead of an if in react for MainLayout buttons (#605) 2023-02-25 17:29:16 +03:00
Erimel
2473b0ef95 VMC Support (#606)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: ImUrX <urielfontan2002@gmail.com>
2023-02-25 17:23:49 +03:00
0forks
4d8c8aa10d server: Fix frame drops in SteamVR/Windows (#607) 2023-02-24 17:21:44 +02:00
Erimel
c91b7f14f7 Merge pull request #597 from SlimeVR/pontoon
New Pontoon translations
2023-02-22 17:01:52 -05:00
Gabriel
290b5cdb78 Pontoon: Update Portuguese (pt-BR) localization of GUI
Co-authored-by: Gabriel <gabrielsonada@outlook.com.br>
2023-02-22 18:57:48 -03:00
Uriel
9a8b728928 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-02-22 18:57:48 -03:00
namakeingo
df8dc744bb Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-02-22 18:57:48 -03:00
Vyolex
3ff8f591db Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-02-22 18:57:44 -03:00
Hornil
46ea91410f Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-02-22 18:57:39 -03:00
ReDoX
3fb55f4fc9 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-02-22 21:55:08 +00:00
odydoubouridis
57929a79de Pontoon: Update Greek (el) localization of GUI
Co-authored-by: odydoubouridis <odydoubouridis@gmail.com>
2023-02-22 21:55:08 +00:00
FennT
1a726fd20e Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-02-22 21:55:08 +00:00
disappear9
9615087720 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: disappear9 <disappear9@outlook.com>
2023-02-22 21:55:08 +00:00
Erimel
9656663e7c Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-02-22 21:55:08 +00:00
白貓
b56ad7cbd9 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: 白貓 <yen.max@gmail.com>
2023-02-22 21:55:08 +00:00
Uriel
f313e9625d Upload artifacts to draft when new tag (#599) 2023-02-23 00:54:28 +03:00
Uriel
9b774d768c Add localStorage migration script (#598)
Co-authored-by: ButterscotchV <bscotchvanilla@gmail.com>
2023-02-23 00:53:36 +03:00
lucas lelievre
6c28e18788 fix row height (#601) 2023-02-23 00:46:41 +03:00
Erimel
9c7ccac5ff make offset go the right direction (#602) 2023-02-23 00:46:19 +03:00
Erimel
020ee98e47 wtf Java (#603) 2023-02-23 00:45:53 +03:00
Ryan Butler
cd5c4dc219 Merge pull request #600 from SlimeVR/578-gui-hide-overlay-settings-if-its-not-subscribing-to-solarxr
hide overlay when no initial response fronm it
2023-02-21 13:19:38 -05:00
lucas lelievre
04a777a98e hide overlay when no initial response fronm it 2023-02-19 23:38:45 +01:00
Uriel
c64d9b979d Start catching tauri stuff (#587) 2023-02-17 13:05:34 +02:00
Erimel
1f25d9cf54 Use hands everywhere instead of controller (#588) 2023-02-17 13:03:28 +02:00
Uriel
053263c30a add linux feeder socket (#592) 2023-02-17 13:02:12 +02:00
Erimel
615a5b74f0 Load default values and toggles (#595) 2023-02-17 13:01:30 +02:00
Eiren Rain
5f1b409fe5 Merge pull request #596 from SlimeVR/more-tracker-info
Add more tracker info
2023-02-17 12:00:56 +01:00
ImUrX
783df8475c add more tracker data 2023-02-17 00:19:47 -03:00
ImUrX
750bb9c4da add charging icon 2023-02-17 00:19:47 -03:00
Erimel
2133c459da Merge pull request #586 from SlimeVR/pontoon
New Pontoon translations
2023-02-16 21:28:30 -05:00
白貓
9b4455bf4d Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: 白貓 <yen.max@gmail.com>
2023-02-16 23:23:21 -03:00
Hornil
9d2a6a1e0a Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-02-16 23:23:21 -03:00
ReDoX
6294d010b7 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-02-16 23:23:21 -03:00
Kamilake
2eb4ac77c1 Pontoon: Update Korean (ko) localization of GUI
Co-authored-by: Kamilake <exjang0@gmail.com>
2023-02-16 23:23:21 -03:00
Daniel
5644c03593 Pontoon: Update Hebrew (he) localization of GUI
Co-authored-by: origalili123 <origalili123@gmail.com>
Co-authored-by: Daniel <danielkariv98@gmail.com>
2023-02-16 23:23:21 -03:00
unlogisch
d7b48328f5 Pontoon: Update German (de) localization of GUI
Co-authored-by: unlogisch <unlogisch@gmx.ch>
2023-02-16 23:23:17 -03:00
disappear9
4f131bec1a Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: disappear9 <disappear9@outlook.com>
2023-02-16 23:23:17 -03:00
Butterscotch!
4e5ea8029e Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2023-02-16 23:23:17 -03:00
FennT
ab0e6b9d6e Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-02-16 23:23:12 -03:00
Gabriel
d6c82a8ba0 Pontoon: Update Portuguese (pt-BR) localization of GUI
Co-authored-by: vinny_the_turtle <oliveira1brother@gmail.com>
Co-authored-by: Gabriel <gabrielsonada@outlook.com.br>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-02-16 23:23:12 -03:00
Erimel
fe3612214d Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-02-16 23:23:12 -03:00
Elias
ba5bb5c353 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Elias <xicovalle@gmail.com>
2023-02-16 23:23:12 -03:00
namakeingo
7e4611da68 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-02-16 23:23:07 -03:00
Vyolex
5de497af34 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-02-12 23:00:07 +00:00
Eiren Rain
823ef86151 Merge pull request #584 from SlimeVR/fix/connect-tracker
fix: ConnectTracker has wrong import
2023-02-12 22:18:10 +02:00
DevMiner
757e748743 fix: ConnectTracker has wrong import 2023-02-12 20:10:42 +01:00
Eiren Rain
dc94febc3d Make solarxr-protocol point to proper commit 2023-02-12 19:06:18 +01:00
Eiren Rain
4d1da34826 Merge pull request #574 from SlimeVR/pontoon
New Pontoon translations
2023-02-12 19:56:51 +02:00
slimevr-bot
0976abb0a8 update 2023-02-12 17:56:28 +00:00
Hornil
1ada4326cb Pontoon: Update Russian (ru) localization of GUI
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-02-12 17:56:28 +00:00
Jeeko
4e843e9558 Pontoon: Update Czech (cs) localization of GUI
Co-authored-by: Jeeko <d.safarik06@gmail.com>
2023-02-12 17:56:28 +00:00
namakeingo
618e05802a Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-02-12 17:56:28 +00:00
Erimel
de5665002a Fix trackers overflow in dev mode (#575) 2023-02-12 20:56:02 +03:00
0forks
17474cd6a9 gui: Display raw rotation if no ref/ident-adjusted (#569) 2023-02-12 20:55:36 +03:00
0forks
22a50feb93 gui: Fix undefined in temperature column (#568) 2023-02-12 20:55:24 +03:00
0forks
ead6402d46 gui: Fix text wrapping in TrackerTable (#567) 2023-02-12 20:55:10 +03:00
lucas lelievre
58b1fbba1f Moving wifi provisioning and new device detection to the server (#542) 2023-02-12 20:54:40 +03:00
Uriel
fcb38292fa Fix lang select being too long (#571) 2023-02-12 17:25:02 +03:00
lucas lelievre
2b7b5dcb91 Add warnings to the tracker selection page (#547)
Co-authored-by: ImUrX <urielfontan2002@gmail.com>
Co-authored-by: Louka <marioluigivideo@gmail.com>
2023-02-12 17:20:50 +03:00
Uriel
b4d6881a70 Add macOS builds (#573) 2023-02-11 19:20:08 +03:00
Erimel
dcedd22c7f Update README (#572) 2023-02-10 01:15:12 +03:00
Erimel
a7c22b85cd Merge pull request #561 from SlimeVR/pontoon
New Pontoon translations
2023-02-09 12:59:18 -05:00
ImUrX
7f61067c30 add Finnish and Czech options 2023-02-09 14:53:55 -03:00
Vyolex
d3a43077fb Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-02-09 14:36:07 -03:00
Siofra
d346924795 Pontoon: Update Finnish (fi) localization of GUI
Co-authored-by: Siofra <maradaichides@gmail.com>
2023-02-09 14:36:07 -03:00
Meow Wei
49a07831d5 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-02-09 14:36:07 -03:00
vinny_the_turtle
37c6de36e5 Pontoon: Update Portuguese (pt-BR) localization of GUI
Co-authored-by: vinny_the_turtle <oliveira1brother@gmail.com>
2023-02-09 14:36:07 -03:00
ReDoX
e5a5ced343 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-02-09 14:36:07 -03:00
Elias
b7ee861fec Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Elias <xicovalle@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-02-09 14:36:07 -03:00
namakeingo
38b5628468 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-02-09 14:36:07 -03:00
Jeeko
65fec6e9b7 Pontoon: Update Czech (cs) localization of GUI
Co-authored-by: Jeeko <d.safarik06@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-02-09 14:36:07 -03:00
SummerArtz
cd756a9aa6 SlimeVR russian translation (#500)
Co-authored-by: Eiren Rain <Eirenliel@users.noreply.github.com>
Co-authored-by: Hornil <vixlyaev@gmail.com>
2023-02-09 14:36:07 -03:00
Uriel
ebc6cb7a78 fix solarxr module (#570) 2023-02-09 19:22:39 +02:00
Eiren Rain
cbb99fc531 Merge pull request #560 from marcozzxx810/feat_log_file_size
feat: log file size limiter
2023-02-09 17:51:02 +02:00
Eiren Rain
259897173e Merge pull request #552 from SlimeVR/315-gui-show-ip-address
Add server infos request. And show local ip address inside gui settings
2023-02-09 17:50:25 +02:00
Eiren Rain
98f550efcc Merge pull request #534 from ButterscotchV/remove-mounting-button
Remove the mounting reset button on the homepage
2023-02-09 17:50:14 +02:00
Eiren Rain
1948b7136f Merge pull request #517 from AxisAngles/ktmath
Added package io.github.axisangles.ktmath
2023-02-09 17:49:38 +02:00
Eiren Rain
7301b87a07 Merge branch 'main' into 315-gui-show-ip-address 2023-02-09 17:42:46 +02:00
Eiren Rain
0a90f33a09 Merge pull request #553 from ImUrX/eslint-actions
ESLint action for GUI
2023-02-09 17:41:50 +02:00
Eiren Rain
1b6033d408 Merge pull request #559 from SlimeVR/tauri-webview
Add error for faulty Webview installation
2023-02-09 17:41:35 +02:00
Eiren Rain
5e6aefea2a Merge pull request #566 from SlimeVR/vrtracker-protocol-rotation
Support VRTrackers for protocol rotations
2023-02-09 17:35:38 +02:00
Eiren Rain
43045fc8fb Merge pull request #565 from SlimeVR/imu-id-1
Make IMU trackers start at # 1
2023-02-09 17:34:08 +02:00
Eiren Rain
4061e93c1c Merge pull request #564 from SlimeVR/5-proportions-adjust
Make offsets increments 5 instead of 10
2023-02-09 17:33:38 +02:00
Eiren Rain
cc3fe16c29 Merge pull request #562 from SlimeVR/codeowners-locks
add lock files in CODEOWNERS
2023-02-09 17:33:14 +02:00
Louka
beb382506f Support VRTrackers for protocol rotations 2023-02-09 00:01:34 -05:00
Louka
dc8a734210 Make IMU trackers start at #1 2023-02-08 20:59:57 -05:00
Louka
99a13505ba Make offsets increments 5 instead of 10 2023-02-07 17:44:43 -05:00
marcozzxx810
7a7b2ed060 fix: mainlogdir path 2023-02-07 20:41:40 +08:00
Uriel
c1380d3f69 add lock files in CODEOWNERS 2023-02-06 16:16:56 -03:00
marcozzxx810
11ef2c13a8 feat: log file size limiter 2023-02-06 22:03:41 +08:00
Uriel
8cf0a73a6f Update gui/src-tauri/src/main.rs
Co-authored-by: Ryan Butler <thebutlah@gmail.com>
2023-02-05 21:42:37 -03:00
ImUrX
bc31ad4f09 add comments 2023-02-05 18:48:56 -03:00
Uriel
54b04e5dd7 Update index.css 2023-02-05 18:46:12 -03:00
Uriel
ed02388f85 Merge branch 'main' into eslint-actions 2023-02-05 18:45:05 -03:00
ImUrX
03b2c15a15 add error of faulty webview 2023-02-05 18:38:09 -03:00
Eiren Rain
2185eb6a35 Merge pull request #549 from ImUrX/twemoji
Twemoji emojis
2023-02-05 15:46:22 +02:00
Eiren Rain
b9bb1428a8 Merge pull request #545 from SlimeVR/pontoon
New Pontoon translations
2023-02-05 15:45:43 +02:00
slimevr-bot
3217e9c6c9 update 2023-02-05 13:42:14 +00:00
rwrdetenrl
6fb7849056 Pontoon: Update Turkish (tr) localization of GUI
Co-authored-by: topualev <topualev@gmail.com>
Co-authored-by: rwrdetenrl <NightAniMer@hotmail.com>
2023-02-05 13:42:14 +00:00
Meow Wei
5ab023ba81 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-02-05 13:42:14 +00:00
disappear9
2718fafa9f Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: disappear9 <disappear9@outlook.com>
2023-02-05 13:42:14 +00:00
ReDoX
7b151e3e20 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2023-02-05 13:42:14 +00:00
Jeeko
6e3e5462ea Pontoon: Update Czech (cs) localization of GUI
Co-authored-by: Jeeko <d.safarik06@gmail.com>
2023-02-05 13:42:14 +00:00
Louka
5f7a4b2d56 add arabic config 2023-02-05 13:42:14 +00:00
unlogisch
2be0406d60 Pontoon: Update German (de) localization of GUI
Co-authored-by: unlogisch <unlogisch@gmx.ch>
2023-02-05 13:42:14 +00:00
FennT
8bb8e0c3cb Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-02-05 13:42:14 +00:00
namakeingo
c34bb3b849 Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-02-05 13:42:14 +00:00
MarcoM
ee8dfb548f docs: include java version (#556) 2023-02-05 16:41:40 +03:00
MarcoM
687f214623 fix: websocket fail to bind to address due to time_wait (#554) 2023-02-05 16:18:57 +03:00
MarcoM
6962ff36f4 refactor: remove full log and daily log (#555) 2023-02-05 16:13:35 +03:00
ImUrX
836dc5473d eslint fixes 2023-02-05 01:42:13 -03:00
ImUrX
14de051f0c rename to lint 2023-02-05 01:17:08 -03:00
ImUrX
33b48d7f41 eslint action 2023-02-05 01:15:10 -03:00
Butterscotch!
71d8d59192 Merge branch 'main' into remove-mounting-button 2023-02-04 19:51:17 -05:00
ImUrX
b97e7822a6 emojis appear on linux if you have a emoji font 2023-02-04 18:24:41 -03:00
ImUrX
fda0b1f20a remove old flag 2023-02-04 18:08:18 -03:00
ImUrX
e8e152865f twemoji emojis 2023-02-04 18:08:18 -03:00
Uriel
24c142b4ca Add a way to override current locale (#543) 2023-02-04 19:37:19 +03:00
lucas lelievre
62a72b2463 Fix input/checkbox default values (#550) 2023-02-04 19:37:03 +03:00
lucas lelievre
212afc03bf Save last body proportions page used (#551) 2023-02-04 19:36:31 +03:00
Uriel
85362c9964 add nix support for dev (#548) 2023-02-04 19:35:56 +03:00
loucass003
8f4684b6f9 Add server infos request. And show local ip address inside gui settings 2023-02-04 16:22:46 +01:00
Eiren Rain
39603e0d6c Merge pull request #546 from SlimeVR/llelievr/fix-stepper-number
Llelievr/fix stepper number
2023-02-03 12:52:03 +02:00
loucass003
5a71339934 Fix stepper number 2023-02-03 11:29:11 +01:00
Eiren Rain
120c76b1f6 Merge pull request #539 from SlimeVR/pontoon
New Pontoon translations
2023-02-03 00:01:03 +02:00
bubblesolaris
ceb9eb3c0c Pontoon: Update French (fr) localization of GUI
Co-authored-by: bubblesolaris <bubblesolaris@gmail.com>
2023-02-02 17:49:24 -03:00
FennT
8d4d10bda0 Pontoon: Update Arabic (ar) localization of GUI
Co-authored-by: FennT <0094falcon@gmail.com>
2023-02-02 17:49:16 -03:00
ImUrX
b5cb01eec3 add norwegian bokmål to menu 2023-02-02 17:49:16 -03:00
Meow Wei
8bafa95b56 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-02-02 17:49:16 -03:00
disappear9
a470a566f8 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: disappear9 <disappear9@outlook.com>
2023-02-02 17:49:16 -03:00
Gabriel
840e60eb62 Pontoon: Update Portuguese (pt-BR) localization of GUI
Co-authored-by: Gabriel <gabrielsonada@outlook.com.br>
2023-02-02 17:49:16 -03:00
darkowsness
b5fe91e288 Pontoon: Update Norwegian Bokmål (nb-NO) localization of GUI
Co-authored-by: Uriel <urielfontan2002@gmail.com>
Co-authored-by: darkowsness <darkowsness@gmail.com>
2023-02-02 17:48:57 -03:00
Darye
773704bce4 Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Darye <darioperez047@gmail.com>
Co-authored-by: Fowels <contact@forels.me>
Co-authored-by: Elias <xicovalle@gmail.com>
2023-02-02 17:45:54 -03:00
beq
98056a9fbe Pontoon: Update Japanese (ja) localization of GUI
Co-authored-by: kaisukoj1111 <kaisukoj1111@gmail.com>
Co-authored-by: beq <beqbdean@gmail.com>
2023-02-02 17:44:39 -03:00
namakeingo
a02bb55104 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-02-02 17:44:39 -03:00
unlogisch
d3f27b561c Pontoon: Update German (de) localization of GUI
Co-authored-by: unlogisch <unlogisch@gmx.ch>
2023-02-02 17:44:39 -03:00
Eiren Rain
39e3ddad22 Merge pull request #526 from ButterscotchV/gui-websocket-target-dev
Add query options for targeting an address
2023-02-02 22:36:43 +02:00
Eiren Rain
4ef4120605 Merge pull request #504 from SlimeVR/shoulders-improv
Fix switching between HMD and controller arm tracking
2023-02-02 22:36:18 +02:00
Eiren Rain
3750930c9a Merge pull request #505 from SlimeVR/clear-drift
Add a "clear drift compensation" button
2023-02-02 22:35:57 +02:00
Eiren Rain
3d63d8a685 Merge pull request #535 from SlimeVR/pontoon-fix2
Configure user for rebase script
2023-02-02 22:34:47 +02:00
Eiren Rain
b7b11ad1bc Merge pull request #536 from ImUrX/battery-remember
Make battery percentage persist after tracker disconnect
2023-02-02 22:34:28 +02:00
AxisAngles
bc69532d9a Improved conditions for toEulerAngles mathematics
Added comment justifying orthonormalize method
2023-02-01 23:30:01 -08:00
ImUrX
202146172f only show voltage on dev mode 2023-02-02 04:22:50 -03:00
ImUrX
3f532506a7 do maximum instead of minimum 2023-02-02 03:58:17 -03:00
ImUrX
2d74376c0f remove comment 2023-02-02 03:58:17 -03:00
ImUrX
c2d9c05b8b more simple 2023-02-02 03:58:17 -03:00
ImUrX
afc6ff1e4a add battery memory 2023-02-02 03:58:17 -03:00
Louka
aec3e9b4ae remove translation in other languages 2023-01-31 20:50:17 -05:00
Louka
af9c9f6cc0 Merge branch 'main' into clear-drift 2023-01-31 20:48:07 -05:00
Eiren Rain
5e88f1fe48 Remove Loucas from code owners of i18n 2023-01-31 20:05:13 +02:00
Eiren Rain
56e451eca3 Merge pull request #528 from ImUrX/linux-openvr-tmp
Use XDG_RUNTIME_DIR for socket
2023-01-31 20:01:41 +02:00
Eiren Rain
4b6928df00 Merge pull request #524 from SlimeVR/pontoon
New Pontoon translations
2023-01-31 19:52:06 +02:00
SlimeVR-bot
5b5eea3b19 Pontoon: Update Polish (pl) localization of GUI 2023-01-31 14:36:04 -03:00
Uriel
b98fa6dd57 Update CODEOWNERS 2023-01-31 14:36:04 -03:00
menacingexiler
56b92c9c5f Pontoon: Update Vietnamese (vi) localization of GUI
Co-authored-by: menacingexiler <menacingexiler@gmail.com>
2023-01-31 14:36:04 -03:00
bubblesolaris
7efc2a35c0 Pontoon: Update French (fr) localization of GUI
Co-authored-by: bubblesolaris <bubblesolaris@gmail.com>
Co-authored-by: Erimel <loukalemire@gmail.com>
2023-01-31 14:36:04 -03:00
vyolex
82098e4a97 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2023-01-31 14:35:50 -03:00
白貓
bd2c9f0689 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: 白貓 <yen.max@gmail.com>
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-01-31 14:35:49 -03:00
ImUrX
aec302956e Add Traditional Chinese 2023-01-31 14:35:49 -03:00
namakeingo
75866b651c Pontoon: Update Engwish (en-x-owo) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-01-31 14:35:41 -03:00
Yao
71038b52dc Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2023-01-31 04:33:14 +00:00
namakeingo
3c2f3e3147 Pontoon: Update Italian (it) localization of GUI
Co-authored-by: namakeingo <pzzdave95@gmail.com>
2023-01-31 04:33:14 +00:00
muumi
b685855b0d Pontoon: Update Estonian (et) localization of GUI
Co-authored-by: muumi <chrisrobin.soon@gmail.com>
2023-01-31 04:33:14 +00:00
Uriel
7329746d51 fix server not building (#538) 2023-01-30 23:32:35 -05:00
ImUrX
5e98fdb4ab stretch bvh button optionally 2023-01-31 00:47:12 -03:00
TheDevMinerTV
eb56fb0652 i18n: add missing german translations (#495)
Co-authored-by: unlogisch04 <98281608+unlogisch04@users.noreply.github.com>
Co-authored-by: Philip6294 <18615404+Philip6294@users.noreply.github.com>
2023-01-30 16:13:16 -05:00
Uriel
03e10f6095 more metadata info (#529) 2023-01-30 16:20:29 +02:00
ImUrX
261b9e6b5d remove debug logmanager 2023-01-30 10:48:46 -03:00
Uriel
d888c1b7c6 Configure user for rebase 2023-01-30 04:11:06 -03:00
Butterscotch!
254e5aa6e4 Re-add mounting reset for dev mode 2023-01-29 19:59:11 -05:00
Butterscotch!
51169d9c7b Remove the mounting reset button on the homepage
Use the mounting calibration tab!!
2023-01-29 19:26:40 -05:00
Uriel
3dc8fa3c30 this should work now (#533) 2023-01-30 00:19:48 +02:00
Louka
dea9f9d3cd fix merge 2023-01-29 17:15:58 -05:00
Louka
e4b204b971 Merge branch 'main' into clear-drift 2023-01-29 17:15:00 -05:00
Uriel
7e65d02431 Lots of misc gui fixes (#516)
Co-authored-by: Louka <marioluigivideo@gmail.com>
2023-01-29 18:57:25 +02:00
lucas lelievre
7455c308e8 Use new drawings (#532) 2023-01-29 18:44:19 +02:00
lucas lelievre
6277194ae1 Current progress (#531) 2023-01-29 18:43:31 +02:00
lucas lelievre
1c4b2f4b14 Better tracker velocity display (#530) 2023-01-29 15:46:18 +02:00
AxisAngles
b45e37ce4b how 2023-01-28 23:26:12 -08:00
AxisAngles
cfd405c1d0 Clean up
Renamed all base Quaternion function with R variant (IE angle and angleR) to have a Q at the end (angle -> angleQ)
Cleaned up the matrices which are otherwise hard to read without special formatting
2023-01-28 22:38:04 -08:00
ImUrX
be28de3703 use XDG_RUNTIME_DIR for socket 2023-01-28 23:45:19 -03:00
ImUrX
f2cf6dffcf linting 2023-01-28 20:13:20 -03:00
Butterscotch!
b7eb93f6c0 Add query options for targeting an address
Keep targetIp and targetPort values
2023-01-28 10:42:50 -05:00
Louka
1b538f5007 fix merge 2023-01-27 16:06:58 -05:00
Louka
c053ad7e18 Merge branch 'main' into shoulders-improv 2023-01-27 16:03:09 -05:00
Eiren Rain
5437f209f0 Udpate pantoon actions 2023-01-27 20:26:00 +02:00
Eiren Rain
5d4b0e98f7 Update pontoon actions 2023-01-27 20:22:58 +02:00
Uriel
3d0d390e45 Add pontoon actions (#521) 2023-01-27 20:13:22 +02:00
Uriel
f05ffe637c Add linux metadata (#506) 2023-01-27 19:52:24 +02:00
albanobattistella
0862e6be35 Update Italian translation (#522) 2023-01-27 11:56:47 -05:00
Erimel
86f7c0d471 Skeleton Separation Refactor (#442) 2023-01-27 14:13:32 +02:00
Uriel
f55f3e8afc add l10n (#519) 2023-01-27 14:01:51 +02:00
AxisAngles
2cf7d6b2d3 Changed ONE to IDENTITY and ZERO to NULL. Added Quaternion.fromRotationVector(x, y, z) 2023-01-26 19:32:57 -08:00
AxisAngles
07d97e0d77 Added more Quaternion tests, Changed toRotationVector to return values (-pi < x <= pi) in line with other rotation space conversions 2023-01-26 18:09:52 -08:00
Louka
e1d8b34af3 Merge branch 'main' into clear-drift 2023-01-26 17:56:21 -05:00
Louka
381cf13459 move clearTrackersDriftCompensation to vrserver 2023-01-26 17:55:32 -05:00
Louka
32853fe590 Merge branch 'main' into shoulders-improv 2023-01-26 17:49:24 -05:00
Louka
0bc2904810 clarify cloning 2023-01-26 17:48:25 -05:00
AxisAngles
bed94a9ed8 Fixed Quaternion angleAboutR, Added FloatMath, Quaternion.fromTo, switched to atan(co, si), Added more Quaternion tests 2023-01-26 13:53:30 -08:00
Kamilake
74351dbb00 Maintain compatibility with Java 19 (#508) 2023-01-26 18:22:56 +02:00
Erimel
ec541685a2 Mirror tracker assignment (#518) 2023-01-26 18:22:12 +02:00
Uriel
cd4388e605 Fix translations (#513) 2023-01-26 11:10:35 -05:00
ImUrX
c5733069c1 add tests and spotlessfix 2023-01-25 21:21:29 -03:00
AxisAngles
5cecb3ed17 Added package io.github.axisangles.ktmath 2023-01-25 14:13:22 -08:00
Erimel
a36a6bceee fix osctracker id going out of bound (#512) 2023-01-25 13:39:43 +02:00
Kamilake
0043c30c36 Korean: Improved untranslated parts (#507) 2023-01-24 20:40:26 +02:00
Uriel
f030496659 Better JVM detection (#494) 2023-01-24 20:39:48 +02:00
Louka
3ee4e19a92 Update solarxr-protocol 2023-01-23 22:44:54 -05:00
Louka
a0c0cfa978 add missing translations 2023-01-23 21:27:38 -05:00
Louka
0ef42d01bb Add clear drift compensation 2023-01-23 21:15:56 -05:00
Erimel
662232bda6 Merge branch 'main' into shoulders-improv 2023-01-23 20:01:04 -05:00
Louka
7d1d53ab98 fuck it, undoes your math 2023-01-23 19:37:03 -05:00
Erimel
3e308b222f Fix OwO language not being furry enough OWO (#499) 2023-01-23 15:42:49 +02:00
Louka
a562029f7d yayyy math! 2023-01-23 00:58:40 -05:00
Louka
c407582609 fixing shoulders + improv wip 2023-01-23 00:58:40 -05:00
Disappear9
a8a5a5c93c Add Developer settings & IMU Visualizer translation for Chinese (#498) 2023-01-22 20:43:20 -05:00
tamakiti
d87514a9ea Some text was translated into Japanese. (#496) 2023-01-22 10:15:29 -05:00
Eiren Rain
4dac09e61e Let code owners merge PRs (#479) 2023-01-21 23:06:23 +02:00
Erimel
995c07dc08 Add french translation to 0.'s IMU debug (#491) 2023-01-21 23:05:51 +02:00
0forks
961c32a8da gui: Fix battery indicator always full (#492) 2023-01-21 23:05:00 +02:00
JINODK
87ba356fb0 Update Vietnamese translation (#488) 2023-01-20 08:31:43 -05:00
unlogisch04
580178de05 Adding some missing deutsch translations (#493) 2023-01-20 02:11:06 -05:00
Vyolex
0e8b8dc500 Translating new lines in dutch (#490)
* Translating new lines

* Update gui/public/i18n/nl/translation.ftl

Co-authored-by: Uriel <urielfontan2002@gmail.com>

* Fix key

Co-authored-by: Uriel <urielfontan2002@gmail.com>
2023-01-20 01:04:00 -05:00
Erimel
9415eceb85 Improve reset code and make it so VRTrackers can reset (#480) 2023-01-19 04:33:33 +03:00
Fredrik Hansson
03f9115f75 send messages to steamvr-driver on linux (#489) 2023-01-19 02:54:49 +03:00
Philip6294
30ca65e875 Add German Translations to GUI (#354) 2023-01-19 02:53:37 +03:00
Butterscotch!
9cde4058ad Add BVHSettings and allow writing end nodes (#483) 2023-01-18 21:23:56 +02:00
0forks
564be6112a gui: More info in tracker table and IMU visualizer (#450) 2023-01-18 21:22:36 +02:00
Elias Valle Cortes
3374e45d62 Spanish new lines translated (#473) 2023-01-18 21:20:58 +02:00
Erimel
48493c8c15 Fix some translation comments and language order (#482) 2023-01-18 21:20:10 +02:00
Vyolex
e858464064 Dutch translation fixes (#486) 2023-01-18 21:10:10 +02:00
Disappear9
64a8b1aab0 Translate new line (#487) 2023-01-18 20:58:00 +02:00
Erimel
0c787b6675 Bring back elbow offset (#470) 2023-01-17 02:39:49 +03:00
Uriel
6c7550ee56 Add .editorconfig (#469) 2023-01-16 17:27:08 +03:00
Fredrik Hansson
c5d666d335 update unixsocketbridge to handle more than one message at a time (#461) 2023-01-16 17:24:13 +03:00
Erimel
6b042ff903 fixit fox (#471) 2023-01-16 17:23:42 +03:00
Butterscotch!
0dd5ec7dfe Use cache-apt-pkgs-action for apt instead (#474) 2023-01-16 17:22:52 +03:00
0forks
50eef6ea7f server: Send accel and ref-adjusted rotations (#449) 2023-01-16 17:21:41 +03:00
0forks
db64d48bfe gui: Fix websocket send crash on reconnect (#463) 2023-01-16 17:21:01 +03:00
Erimel
a008958f37 Rename "wifi" to "Wi-Fi" and "SSID" to "Wi-Fi" name (#468) 2023-01-16 17:20:31 +03:00
Vyolex
148a1edeac Dutch translation (#465) 2023-01-16 17:20:12 +03:00
Carl Andersson
03eeb87498 Support arbitrary sensor id's for devices (#464) 2023-01-16 17:19:45 +03:00
0forks
c3d8eba264 gui: Fix UI wrapping in settings (#467) 2023-01-16 17:19:28 +03:00
Butterscotch!
269a79c87a Improve config reliability (#476) 2023-01-16 17:18:30 +03:00
Erimel
de995bbc15 Offsets refactor + add chest offset (#443) 2023-01-08 17:14:40 +03:00
Uriel
773372ef95 Do actions on creation of tag/branch (#454) 2023-01-08 17:13:16 +03:00
Uriel
5789f6ac92 update estonian translation (#455) 2023-01-08 17:12:49 +03:00
Disappear9
f762c641ec Update Chinese translations (#459) 2023-01-08 17:12:20 +03:00
Ryan Butler
cbbd499391 Finished relicense (#428) 2023-01-06 23:26:32 +03:00
Carl Andersson
93f7a7482b Add User Action packet. Allows for reset buttons on trackers and not just tap detection to reset. (#457) 2023-01-06 20:55:21 +03:00
Eiren Rain
4d7c931b69 Add workflow dispatch to server build 2023-01-05 16:45:31 +02:00
Erimel
ac6c7da1be Yaw drift compensation (#436) 2023-01-05 17:12:47 +03:00
Uriel
3c5dc4d8b5 try updating vite to latest (#438) 2023-01-05 17:11:02 +03:00
muumi
caac02975c translation in Estonian (#452) 2023-01-05 17:10:15 +03:00
Collin Kees
77858e11f3 Improve tap detection (#432) 2023-01-05 17:09:38 +03:00
MenacingExiler
af807aa9c1 Update Vietnamese (#448)
Updating newly added descriptions
2023-01-05 01:17:35 +03:00
Uriel
3826a49837 Fix some fluent stuff (#447) 2023-01-05 01:17:12 +03:00
Erimel
2450bb0abe fix translation header typos (#451) 2023-01-05 01:15:00 +03:00
Uriel
2d297d6622 only check on main push (#445) 2023-01-03 23:18:41 +03:00
Uriel
2afc2d1c58 fix a little typo that broke everything (#444) 2023-01-03 20:55:37 +03:00
Uriel
8dfeedaf2b make macos gui work (#412) 2023-01-03 20:39:29 +03:00
Uriel
3b75b5168f Start using fluent syntaxing (#423) 2023-01-03 20:18:23 +03:00
Erimel
97818e1504 Switch rotation to orientation (#435) 2023-01-03 19:13:53 +03:00
Erimel
003bb61dfb remove java WindowConfig (#434) 2023-01-03 19:12:35 +03:00
Uriel
c6b9d2b0e0 Fix bug on window state save (#439) 2023-01-03 19:07:37 +03:00
Uriel
8c1061adca Make spotless actually do stuff on kotlin (#437) 2023-01-03 19:06:44 +03:00
Erimel
95b2cb15e4 Rename GUI title to "SlimeVR" instead of "Slimevr UI" (#441) 2023-01-03 19:06:11 +03:00
Uriel
f35da6557b Fix artifact not uploading in linux (#430) 2022-12-28 16:04:39 +02:00
Uriel
1be691e045 update to main (#431) 2022-12-28 02:53:49 +03:00
Uriel
5dd5399e99 Kotlin revolution (#401) 2022-12-27 21:53:05 +03:00
Gabriel S
34818e925c Gesture control new keys & overall changes (calibração > calibragem, Montagem > Posicição/Posicionamento) (#429) 2022-12-27 21:33:10 +03:00
tamakiti
f93d165d6e Controller Translation (#426) 2022-12-27 21:30:32 +03:00
Uriel
25b69f2ca9 Change emoji for latinamerican spanish (#425)
We discussed it on the spanish translation group and ended up choosing this emoji for now
2022-12-27 21:28:16 +03:00
Uriel
84735029f6 Improve developer experience on translation changes (#416) 2022-12-25 14:51:44 +02:00
Uriel
7790e0fdac Add feeder translation keys (#417) 2022-12-25 14:51:26 +02:00
Uriel
f4e13f837b Linux bundling with the jar (#413) 2022-12-25 03:06:28 +03:00
MaxEvil47
b912e0003a Spanish Translation in Fluent (#415)
Co-Authored-By: Fowels <91481489+fowels@users.noreply.github.com>
Co-authored-by: Uriel <urielfontan2002@gmail.com>
2022-12-25 03:05:12 +03:00
Collin Kees
a8fa180ab7 Vive tracker emulation toggle (#418) 2022-12-25 03:03:19 +03:00
Uriel
1ca3980e90 small PR with dialect integrated in the keys (#419) 2022-12-25 03:01:48 +03:00
Uriel
9130b9911a Use fluent format for translations (#414) 2022-12-21 22:02:28 +02:00
namakeingo
f16827eb52 minor italian traslation fix (#409) 2022-12-20 21:14:09 +02:00
Naexen Chen
66d679ef70 typo&grammar fix (#410) 2022-12-20 21:13:49 +02:00
Uriel
9cfde38cdf Fix git versioning (#411) 2022-12-20 00:08:43 +03:00
Uriel
80b24486b3 it was with max (#408) 2022-12-19 21:46:52 +02:00
Disappear9
3c2ee9278c Add and improve some Chinese translations (#403) 2022-12-18 22:58:11 +02:00
TheDevMinerTV
e4667b384a fix: Vietnamese translation key for amount (#407) 2022-12-18 22:54:03 +02:00
Erimel
81c58a8ce4 Fix config.ts and tracker assignment goto (#399) 2022-12-18 22:51:15 +02:00
Erimel
8ce06e4c8b Improve French translation (#402) 2022-12-18 22:49:54 +02:00
Uriel
2c24e4d335 fix languages not fitting (#406) 2022-12-18 22:48:12 +02:00
Uriel
d6218a240a fix npe (#404) 2022-12-18 22:47:29 +02:00
Uriel
76de35e28c Show git commit in version (#351) 2022-12-16 19:14:33 +03:00
Erimel
e7cf1a3008 Remove ReferenceAdjustedTracker (#394) 2022-12-16 18:37:28 +03:00
Collin Kees
88f649ae5c add additional functionality to tap detection (#375) 2022-12-16 16:37:36 +03:00
Butterscotch!
f273d3a9bb Add trackerPort config, defaults to 6969 (#383) 2022-12-16 16:32:52 +03:00
namakeingo
79a0df7b28 Add Italian Translation (#382) 2022-12-16 16:26:40 +03:00
Erimel
ad9e5e0060 Filtering amount check (#378) 2022-12-16 16:25:50 +03:00
Erimel
48c35d9a78 make front the default mounting orientation (#384) 2022-12-16 16:25:05 +03:00
Ryan Butler
9407c6f0d4 Fixed NPE in catch of UDP Server (#388) 2022-12-16 16:24:30 +03:00
Ryan Butler
3dd94b3aa3 Fixed index out of bounds on data feed configs (#389) 2022-12-16 16:24:01 +03:00
Yexo
fbf509ec79 Fixed some polish translations (#387) 2022-12-16 16:23:40 +03:00
Kamilake
5a231ba9ef Korean translation improved and words replaced (#391) 2022-12-16 16:22:54 +03:00
Uriel
9a8c1f1d7b fixes socket not being deleted on exit (#392) 2022-12-16 16:22:33 +03:00
Carl Andersson
871a62e0a5 Include font for colour flags on Windows (#377) 2022-12-16 16:21:44 +03:00
tamakiti
372031ad42 Create new Japanese translation (#374) 2022-12-16 16:21:00 +03:00
Ryan Butler
9227ee4820 Update README.md (#386) 2022-12-16 14:51:16 +03:00
Erimel
4ffbc86588 sort steamvr trackers top-down (#379) 2022-12-13 19:14:37 +03:00
maclux
df43e5fcdf Fix page not opening (#359) 2022-12-13 19:14:09 +03:00
Gabriel S
7bc208fec3 Fix of Brazilian Portuguese translation of the Server GUI (#376) 2022-12-13 19:12:46 +03:00
Erimel
2ee9d5080f log server version on startup (#380) 2022-12-13 19:12:07 +03:00
Eiren Rain
47c76c9c9e Bump version to 0.5.1 2022-12-12 18:11:16 +02:00
Kamilake
88db845f0e Add Korean translation (#372) 2022-12-12 19:09:43 +03:00
Yexo
efe5b006c3 fix and added hands because yeah (#370) 2022-12-12 19:04:14 +03:00
Carl Andersson
3a59325797 Fix language config for pl, zh & pt-BR languages (#367) 2022-12-12 19:03:52 +03:00
Erimel
30d4869217 rename leg parts to something understandable (#366) 2022-12-12 19:03:19 +03:00
Erimel
03f68a598f add key for hands translation (#369) 2022-12-12 19:02:48 +03:00
Colanns
ba362e0098 Add and fix some Chinese translations (#371) 2022-12-12 19:02:20 +03:00
Eiren Rain
410e5901e6 More build fixes 2022-12-11 16:46:03 +02:00
Eiren Rain
5ee67480da Fix build error 2022-12-11 16:41:09 +02:00
Erimel
60e7c9c098 Add OSCRouter (#349) 2022-12-11 17:39:13 +03:00
Gabriel
b4bff05723 Brazilian Portuguese translation for the SlimeVR Server GUI (#361) 2022-12-11 17:34:30 +03:00
Colanns
0eb986b342 Add Chinese translation (#363) 2022-12-11 17:33:16 +03:00
Yexo
04006b1caa Adding Polish Translation as i was saying (#360) 2022-12-11 17:32:01 +03:00
Uriel
aa6eb9ffb1 fix broken message receiving in linux (#344) 2022-12-11 17:29:54 +03:00
Erimel
7e2ed8380c Rename slimevr gui artifact to slimevr.exe (#358) 2022-12-11 17:29:08 +03:00
MenacingExiler
51506b88b6 Added Vietnamese translation (#350) 2022-12-11 17:28:19 +03:00
Erimel
1b16cb84a5 Fix OSC rotations, using OSC with SteamVR and reduce error logging spam (#330) 2022-12-10 13:42:46 +03:00
Collin Kees
645331657f Add keys and French translation for legtweaks+gesture-control (#346) 2022-12-10 13:42:07 +03:00
Carl Andersson
ac30bfaaeb Right align some text for body proportions. (#352) 2022-12-10 13:41:25 +03:00
Ryan Butler
072d6d6661 Update config.ts (#355) 2022-12-10 13:40:49 +03:00
Butterscotch!
f04f833939 Add Engwish~ (OwO) translation (#348)
* Add OwO English

* Update with missing entries
2022-12-08 23:35:00 +03:00
Ryan Butler
6218b5808e Tacker - tracker (#347) 2022-12-08 23:15:41 +03:00
Erimel
8eba520090 some french translation fixes (#343) 2022-12-07 23:11:29 +03:00
Eiren Rain
05c421f51f Bump versison to 0.5.0 2022-12-07 21:47:43 +02:00
lucas lelievre
629310f953 Make the modal reset state when closing (#341) 2022-12-07 13:19:30 +03:00
Uriel
e7e0ee9d7d Fix launching Java from the launcher (#337) 2022-12-07 13:15:21 +03:00
Ryan Butler
c9e82adda2 Create .node-version (#342) 2022-12-07 13:14:43 +03:00
lucas lelievre
4b237d0b1b Feature/gui i18n (#335) 2022-12-07 13:13:13 +03:00
lucas lelievre
2dda66bc55 Fix/gui mounting rotation (#333)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2022-12-05 12:36:08 +03:00
Collin Kees
6a25a584b2 Add double tap detection and skating correction settings (#328) 2022-12-05 12:35:29 +03:00
Butterscotch!
90fddbf66a Mounting reset workflow GUI (#326) 2022-12-04 00:17:43 +03:00
Uriel
7d0f2b0e08 Unix socket support (#273) 2022-12-03 09:23:03 +03:00
Erimel
3f022cd09e add hands to gui steamvr checkboxes (#331) 2022-12-03 09:13:47 +03:00
Erimel
78f9780147 Only write changed toggles and values to config (#316)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2022-12-03 09:13:07 +03:00
Erimel
aa9d9486f3 Fix tracker rotations breaking gui (#327) 2022-12-03 09:12:20 +03:00
Uriel
aeae54d39e dont reinstall rustup and etc (#329) 2022-12-03 09:11:49 +03:00
Uriel
c972bb005d Add more readable errors for the launcher (#319) 2022-12-03 09:10:51 +03:00
Ryan Butler
7913b2e839 Fix Capitalization in Titles (#320) 2022-11-30 21:04:07 +03:00
Erimel
51e9ecfd72 properly yaw reset vrc (#314) 2022-11-27 23:49:33 +03:00
lucas lelievre
9b624f5d9a Serial Selection and detection (#312) 2022-11-27 21:13:46 +03:00
0forks
c3e2987e82 Improve GUI consistency/UX (#313) 2022-11-27 18:51:54 +03:00
Uriel
f7d34480de Make a dialog appear when rust app panics (#310) 2022-11-27 00:15:23 +03:00
lucas lelievre
5247891ff0 Fix scrollbars (#309) 2022-11-26 23:26:39 +03:00
Ryan Butler
e5c05fc864 Switch to tabs (#304) 2022-11-25 18:21:58 +03:00
Ryan Butler
b33d3cd41f Clarify Licensing (#306) 2022-11-25 18:07:59 +03:00
TheDevMinerTV
e88357fb40 refactor(gui): webpack -> vite (#307) 2022-11-25 18:05:36 +03:00
Ryan Butler
49994286fc Improve rust CI and developer experience (#303) 2022-11-25 08:35:00 +03:00
lucas lelievre
cae2573a98 Add Reboot, Factory Reset and Get infos (#302) 2022-11-25 03:33:57 +03:00
Eiren Rain
18aae19573 Bump versison to 0.4.0 2022-11-24 23:28:17 +02:00
lucas lelievre
def3da6580 Fix/Optimize OSC IP address saving (#300) 2022-11-25 00:12:39 +03:00
Butterscotch!
b5f12b46e0 Fix Windows bridge exceptions on other OSes and handle serial exceptions better (#297) 2022-11-25 00:05:19 +03:00
Butterscotch!
5c59c4e385 Linux GUI CI and run GUI CI when workflow file is changed (#294) 2022-11-25 00:00:53 +03:00
Erimel
7fd94c36f5 remove excssive osc logging (#299) 2022-11-25 00:00:42 +03:00
lucas lelievre
bb4861635d Fix/gui reset all (#298) 2022-11-24 23:59:50 +03:00
Erimel
0a2d5674f7 GUI: Fix filtering not being clamped properly (#296) 2022-11-24 23:32:38 +03:00
lucas lelievre
1ac0a380db Feature/gui osc implem (#290) 2022-11-24 22:54:34 +03:00
Erimel
171877ee49 update java 17 download link in run.bat (#292) 2022-11-24 22:02:22 +03:00
Butterscotch!
e45da2b979 appDir() causes GUI config to not be loaded :c (#295) 2022-11-24 22:02:05 +03:00
Eiren Rain
46fedc2d3a Update build-gui.yml 2022-11-23 04:21:02 +03:00
Eiren Rain
6f8037f9f9 Don't crash on unrecognized arguments (#287) 2022-11-23 04:15:09 +03:00
lucas lelievre
9d63191ff3 Fix osc settings (#289) 2022-11-23 04:15:01 +03:00
lucas lelievre
1bcf8467a6 Fix typo (#288) 2022-11-23 04:14:31 +03:00
Eiren Rain
eb55a3e1d4 Fix CI artifact upload (#286) 2022-11-22 23:11:52 +03:00
Eiren Rain
57e220ac34 Merge pull request #285 from SlimeVR/old-gui-cleanup
Old gui cleanup
2022-11-22 19:01:39 +03:00
Eiren Rain
584f3b6afe Fix line endings. Thanks github.dev! 2022-11-22 18:06:07 +03:00
Eiren Rain
b959ac56af Post-merge fixes 2022-11-22 16:01:49 +01:00
Eiren Rain
32a3a010cf Fix keybindings class 2022-11-22 15:50:21 +01:00
Eiren Rain
1624ed3282 Update solarxr-protocol 2022-11-22 15:34:14 +01:00
Eiren Rain
1b27ea6940 Delete old gui, cleanup after new gui merge, bump version to 0.3.1 2022-11-22 17:30:08 +03:00
Eiren Rain
70fb9b4a5a Merge pull request #268 from SlimeVR/merge-gui-and-server
Merge gui and server
2022-11-22 17:20:10 +03:00
Eiren Rain
c0229e107b Merge branch 'main' of https://github.com/SlimeVR/SlimeVR-Server into merge-gui-and-server 2022-11-22 15:09:35 +01:00
Erimel
45d11ba176 bump version to 0.3.,0 (#279) 2022-11-22 16:53:45 +03:00
lucas lelievre
d0b117ab36 Merge branch 'main' of github.com:SlimeVR/SlimeVR-Server into merge-gui-and-server 2022-11-22 10:42:42 +01:00
Erimel
3d3e6faad7 Add config delays for reset/quickreset keybindings (#278) 2022-11-22 05:02:16 +03:00
Butterscotch!
5b44eaddfa Add mounting reset (two-pose reset) (#251) 2022-11-22 04:40:13 +03:00
Erimel
85ea2a0d06 OSC Support (#274) 2022-11-22 04:36:43 +03:00
Collin Kees
ba146e0fb7 Upgrades to legtweaks (#260) 2022-11-22 04:33:04 +03:00
lucas lelievre
6dbe80050f Syncronise with main 2022-11-21 21:36:30 +01:00
lucas lelievre
1dd11ce579 Fix extentions files formatting 2022-11-21 21:32:59 +01:00
williammb
317630628f Remove org/json from jackson (#272) 2022-11-21 23:29:57 +03:00
lucas lelievre
d1f72c9280 Use workspaces modules, update ci, update solarxr 2022-11-19 23:27:04 +01:00
Ryan Butler
e349440ce0 Fixed NPE in tracker ip addr (#269) 2022-11-14 18:02:04 +03:00
lucas lelievre
ae94de39b1 Merge remote-tracking branch 'gui/main' into merge-gui-and-server 2022-11-13 02:27:28 +01:00
lucas lelievre
813c1340a8 Preparing merge with server repo 2022-11-13 02:00:31 +01:00
Erimel
d8a7fa978b Add third party notices with releases (#262) 2022-11-12 18:33:18 +03:00
Uriel
d9988cc658 Refactor code to Java 17 (#244) 2022-11-12 03:14:08 +03:00
lucas lelievre
f38360e4f1 Do not send position or rotation if not available (#265) 2022-11-09 20:18:46 +03:00
lucas lelievre
a6e17c96b8 Hide position if not sent (#33) 2022-11-09 18:10:37 +01:00
lucas lelievre
b149b87fa7 Pub sub implementation (#263) 2022-11-07 23:34:52 +03:00
lucas lelievre
79b1a96e8c add glow effect (#30) 2022-11-07 03:11:32 +01:00
lucas lelievre
cef818b430 Fix min hieight of table row (#29) 2022-11-07 02:57:20 +01:00
lucas lelievre
dd8e9a623f Kepp wifi between pages (#28) 2022-11-07 02:49:47 +01:00
lucas lelievre
fcad1142b0 Tauri update (#27)
* Rust cache

* Update tauri to v1.1.1
2022-11-07 02:25:17 +01:00
lucas lelievre
af629007e1 Rust cache (#26)
* Rust cache

* Add node cache also and update rust-cache version
2022-11-07 02:22:18 +01:00
lucas lelievre
25374a1d6a Implement pubsub protocol + Use it for the overlay 2022-11-07 00:59:08 +01:00
Butterscotch!
2f2f57a46f Add a mounting rotation button to the GUI (#22)
* Add support for mounting reset

* Add reset mounting button

* Don't display negative timer on reset buttons

* Fix reset button timer going negative

* Update package-lock.json
2022-11-03 21:35:25 +01:00
TheDevMinerTV
eed7dd98af docs: add rust to build prereqs (#21) 2022-11-03 21:34:24 +01:00
Butterscotch!
660599b5e1 Replace ip-bigint with ip-num (#23) 2022-11-03 21:33:53 +01:00
Butterscotch!
3d2aa988a0 Better AutoBone body proportion error (#258) 2022-10-27 16:00:04 +03:00
lucas lelievre
f3d32da4cd Bring back device ip (#256) 2022-10-20 18:10:31 +03:00
lucas lelievre
9f9d45c450 Fix lock 2022-10-18 07:11:01 +02:00
lucas lelievre
85671f5497 Add device ip (#18)
* Add device ip

* Use ip address instead of hardware address
2022-10-18 04:42:20 +02:00
Collin Kees
081c2eb191 Add Toggles to settings page (#15)
* add settings for legtweaks

* change settings over flatbuffer

* add toggle control

* bug fix and cleanup

* removed horrific gramatical issues

* made FK settings

* add other toggles

* grammatical corrections

* change text to be in line with style

* Make it work :p

* Remove console log

Co-authored-by: lucas lelievre <loucass003@gmail.com>
2022-10-17 07:47:17 +02:00
Erimel
c3225c10c6 Update for Better Filtering (#17)
* rename filtering stuff

* fix description error

* Make it compile

Co-authored-by: lucas lelievre <loucass003@gmail.com>
2022-10-13 23:49:47 +02:00
Erimel
d5059ed48c Better filtering (#241) 2022-10-13 16:17:32 +03:00
unlogisch04
8b1e4cb21a Adding more Serial Commands to the Server (#245) 2022-10-05 19:36:08 +03:00
Erimel
6242afda42 fix crashing when converting zoom (#242) 2022-09-17 00:09:53 +03:00
Erimel
4f44e6c7c7 fix arms from controllers (#240) 2022-09-13 03:14:29 +03:00
Butterscotch!
6fec8c6d07 Autobone cleanup, logging improvements, and restoring functionality (#237) 2022-09-13 03:14:02 +03:00
Erimel
1348f9f5ef fix trackers not loading none/null (#239) 2022-09-13 03:13:45 +03:00
Eiren Rain
1b5a4bf369 Remove Slime Java Commons submodule, (#236) 2022-09-13 03:13:06 +03:00
Collin Kees
426f914f4d Leg tweaks (#223) 2022-08-30 19:50:15 +03:00
Eiren Rain
caa11f9dfc Bump version to v0.2.1 2022-08-24 23:04:09 +02:00
Butterscotch!
d1ed22d3d3 Add a recurring AutoBone recording for user debug info (#235) 2022-08-24 23:54:03 +03:00
Kitlith
67ea5edda6 Add "fast reset" user action to protobuf bridge. (#232) 2022-08-17 18:16:03 +03:00
lucas lelievre
8c6d5e2369 Fix NPE on config converter. (#234) 2022-08-16 22:38:00 +03:00
lucas lelievre
c5e05d2940 Fix Tracker config not being saved properly (#231) 2022-08-11 21:31:58 +03:00
lucas lelievre
8adf3fe591 Implement overlay toggle (#230) 2022-08-09 21:49:07 +03:00
Loler920a
101c403138 Make elbows track from HMD by default (#228) 2022-08-09 21:32:43 +03:00
lucas lelievre
5d1dbb27e1 Config refactor round 2 (#229) 2022-08-09 21:27:28 +03:00
lucas lelievre
0e73480e8a Overlay settings (#13)
* Overlay settings

* remove console log
2022-08-09 06:35:41 -07:00
lucas lelievre
58b0153cdc Reindent + Fix reponsive on the preparation step 2022-08-09 15:33:24 +02:00
Spazzwan
378cc12401 Autobone edits (#12)
* Update Recording.tsx

* Update Preparation.tsx

* Update Preparation.tsx

* Update Recording.tsx

* Update Recording.tsx

* Update Recording.tsx

* Update StartRecording.tsx

* Update Done.tsx

* Update Done.tsx

* Update Recording.tsx

* Update Preparation.tsx

* Update StartRecording.tsx

* Update StartRecording.tsx

* Update Preparation.tsx

* Update StartRecording.tsx

* Update Preparation.tsx

* Update Recording.tsx

* Update StartRecording.tsx
2022-08-09 06:30:55 -07:00
lucas lelievre
0146c5825c Reindent + Fix reponsive on the preparation step 2022-08-09 15:29:22 +02:00
Spazzwan
5cc2b391f8 Merge branch 'SlimeVR:main' into main 2022-08-09 22:13:17 +10:00
Spazzwan
80bced317c Update StartRecording.tsx 2022-08-09 22:09:47 +10:00
Spazzwan
3f51170be7 Update Recording.tsx 2022-08-09 22:09:03 +10:00
Spazzwan
ad7bd26577 Update Preparation.tsx 2022-08-09 22:08:08 +10:00
Spazzwan
820b8b21ec Update StartRecording.tsx 2022-08-09 21:33:07 +10:00
Spazzwan
12fc9f0377 Update Preparation.tsx 2022-08-09 21:31:58 +10:00
lucas lelievre
b475099b58 fix window not showing up" 2022-08-09 13:18:37 +02:00
Spazzwan
3ea3fbcd99 Update StartRecording.tsx 2022-08-09 20:23:50 +10:00
Spazzwan
28fae6f8db Update StartRecording.tsx 2022-08-09 19:40:55 +10:00
Spazzwan
d466871762 Update Preparation.tsx 2022-08-09 19:39:08 +10:00
Spazzwan
87850ee485 Update Recording.tsx 2022-08-09 19:29:51 +10:00
Spazzwan
86cfa7ce4d Update Done.tsx 2022-08-09 19:18:16 +10:00
Spazzwan
0315e523b5 Update Done.tsx 2022-08-09 19:17:59 +10:00
Spazzwan
ad99dfb439 Update StartRecording.tsx 2022-08-09 19:12:54 +10:00
Spazzwan
c7bf9a6d24 Update Recording.tsx 2022-08-09 19:09:31 +10:00
Spazzwan
38ffa9bb6d Update Recording.tsx 2022-08-09 19:07:27 +10:00
Spazzwan
1ac0191964 Update Recording.tsx 2022-08-09 19:06:39 +10:00
Spazzwan
75fab32a32 Update Preparation.tsx 2022-08-09 19:03:25 +10:00
Spazzwan
cf3eccde64 Update Preparation.tsx 2022-08-09 19:00:28 +10:00
Spazzwan
5a0240a01a Update Recording.tsx 2022-08-09 18:56:15 +10:00
Ryan Butler
390d6f3b51 Model settings (#226) 2022-08-04 20:34:33 +03:00
Erimel
29121913fd Add Skeleton settings to config and change some FK averaging logic. (#215) 2022-08-04 20:02:58 +03:00
lucas lelievre
7489d6ed34 Autobone tracker highlight 2022-08-04 16:14:48 +02:00
lucas lelievre
5d288063ad Fix Typos, window position, tracker list and missign links 2022-08-03 13:12:56 +02:00
lucas lelievre
efce9d3748 Window position save + Window controls button hover effect 2022-08-03 11:34:37 +02:00
lucas lelievre
e9c0b79b73 Better big buttons 2022-08-03 02:13:16 +02:00
lucas lelievre
29268da5c0 First round of fixes 2022-08-03 01:46:41 +02:00
lucas lelievre
41a87b1c9b update to new protocol 2022-07-30 09:08:36 +02:00
lucas lelievre
612d99ae70 Update solarxr dep 2022-07-30 08:56:00 +02:00
lucas lelievre
d878789fcf Fix build 2022-07-30 08:51:18 +02:00
lucas lelievre
2674da1185 New look (#10)
* WIP

* Current progress for erimel

* basic components + Typography

* Current progress  + formating

* Settings ok

* Small Tracker cards + progress on onboarding

* git attributes

* Fix lf

* change some settings naming stuff (#8)

* change some settings naming stuff

* rename legs label to feet

* Body proportions begin

* Serial console + Tracker settings

* interactions on cards

* Body proportions adjust

* Standalone body proportions + some responsive changes

* Dev mode + uniform ui

* Serial layout fix

* Remove old code / cleaning

* make dev table interactable

* Autobone

Co-authored-by: Erimel <marioluigivideo@gmail.com>
2022-07-30 08:46:27 +02:00
lucas lelievre
8d90663799 Add set tracker name in the rpc (#222) 2022-07-30 00:38:15 +03:00
lucas lelievre
bc3cc4ce14 Send manufacturer through the protocol (#221) 2022-07-30 00:37:42 +03:00
lucas lelievre
b5159c9776 Catch flatbuffers errors (#218) 2022-07-30 00:37:11 +03:00
Erimel
9ee09319d7 Skeleton arms rework and cleaning up (#214) 2022-07-15 02:24:21 +03:00
lucas lelievre
7818582f3f Implement Tracker names (#210) 2022-07-15 02:06:22 +03:00
lucas lelievre
2ed0726b76 New readme (#2)
* New readme

* Update README.md

Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>

* Update README.md

Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>

* Update README.md

Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>

* Addressing TheButlah's Feedbacks

* Update README.md

Co-authored-by: Ryan Butler <thebutlah@gmail.com>

* Update README.md

Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>
Co-authored-by: Ryan Butler <thebutlah@gmail.com>
2022-07-05 21:03:34 +02:00
Erimel
0b7f79340b Set disconnected TrackerStatus (#211) 2022-07-04 16:35:08 +03:00
lucas lelievre
c22b5ce421 Implement devices in the protocol (#205) 2022-07-04 00:57:21 +03:00
Erimel
078b140966 Rename hmd bodypart to head (#209) 2022-07-04 00:54:29 +03:00
Erimel
c3e4e86c4e Fixing skeleton stuff (#206) 2022-07-04 00:53:29 +03:00
Erimel
d0b1a9c822 remove waist_tracker, only use hip_tracker (#208) 2022-07-04 00:50:05 +03:00
lucas lelievre
531503f789 Merge pull request #7 from SlimeVR/fix-build
Fix build
2022-07-03 11:26:56 +02:00
lucas lelievre
3abf984d19 Fix build 2022-07-03 10:51:53 +02:00
Erimel
e875cbbcbc Place tracker at origin when disabled (#207) 2022-07-01 02:14:17 +03:00
lucas lelievre
e0dff69d7c Merge pull request #4 from Louka3000/foot_shift
rename foot_offset to foot_shift
2022-06-29 05:55:23 +02:00
Louka
23141305c1 update packages 2022-06-28 16:09:08 -04:00
Louka
04b5bfac9d owo 2022-06-28 16:08:41 -04:00
Eiren Rain
663170681a Bump version to 0.2.0 2022-06-28 21:09:27 +02:00
Butterscotch!
b1318567e3 AutoBone: Adjust bone offsets for directly and implement new contribution based error calculation (#204) 2022-06-28 22:00:57 +03:00
Eiren Rain
d1a02c52a9 Monor changes, added comments 2022-06-28 20:36:04 +02:00
lucas lelievre
b3efcd19db Remove realTracker checks for cleaner code (#203) 2022-06-28 21:33:43 +03:00
Erimel
66e4e4e0a0 Basic shoulder tracking support (#200) 2022-06-28 21:32:11 +03:00
Erimel
7c37fdb24e Use split offsets and rename foot_offset to foot_shift (#199) 2022-06-28 21:20:31 +03:00
Eiren Rain
ceb1cc77d8 Minor cleanup and comments from last PRs 2022-06-28 20:11:08 +02:00
Ryan Butler
8df4726d22 [Feature] Add support for bones in DataFeedUpdate (#196) 2022-06-28 20:57:09 +03:00
Ryan Butler
408df5273d Fix NPE in Websocket logging (#202) 2022-06-28 20:21:38 +03:00
Ryan Butler
7a4d087be2 Prevent logs in gitignore (#201) 2022-06-28 20:21:01 +03:00
Louka
f7249a883f rename foot_offset to foot_shift 2022-06-23 20:49:17 -04:00
lucas lelievre
b1ef647819 Merge pull request #3 from ButterscotchV/github-actions
Add GitHub Actions workflow and update npm packages
2022-06-21 22:44:02 +02:00
Erimel
11a15ab5b1 Cleaning up the skeleton a bit (#197) 2022-06-21 17:22:53 +03:00
Eiren Rain
f6ffd63b05 Fix left arm tracker not resetting (#198) 2022-06-21 01:13:09 +03:00
Butterscotch!
879065f420 Use npm ci instead of install 2022-06-20 16:30:05 -04:00
Butterscotch!
1169f68eb2 Add CI workflow and update npm packages
Create build-gui.yml

Update build-gui.yml

Force install in GitHub Actions

Update SolarXR-Protocol

Update packages to not need to force

Fix CI env declaration
2022-06-20 16:11:07 -04:00
lucas lelievre
0afe9d2ef8 Fix optional in the feeder and bring back none option in the gui (#194) 2022-06-11 20:15:27 +03:00
lucas lelievre
738bf20dc6 Merge pull request #1 from ButterscotchV/autobone-gui
Add basic AutoBone interface
2022-06-11 18:46:07 +02:00
Erimel
c02b95346f Extended knee model + temporary fix for null/optional (#193) 2022-06-09 13:21:40 +03:00
Erimel
db33c561ab fix minor typo in firewall.bat (#192) 2022-06-06 21:08:58 +03:00
Eiren Rain
df2cfa1e57 Skeleton data (#189) 2022-06-05 01:04:07 +03:00
Ryan Butler
d40e2c2ce2 Refactored TrackerPosition (#181) 2022-06-01 17:08:56 +03:00
Butterscotch!
215f3b9f44 Implement AutoBone into the protocol (#187)
Implement event-based AutoBoneHandler & more
2022-06-01 16:59:17 +03:00
Ryan Butler
766cf9ae72 Update instructions for spotless on IntelliJ (#183) 2022-05-31 13:42:57 +03:00
Kamilake
26d808deb7 Handling exception thrown when closing WiFiWindow (#185) 2022-05-30 17:43:43 +03:00
Butterscotch!
4b887332ef Add basic AutoBone interface & export body part labels 2022-05-30 01:46:04 -04:00
Eiren Rain
f9259c976d Update commons version 2022-05-24 17:17:32 +03:00
Erimel
39c3285a0a Fix getting previous rotations (#180) 2022-05-24 01:09:00 +03:00
Ryan Butler
57f3624ee7 CI & Formatting improvements (#178)
* CI & Formatting improvements

+ Added spotlessCheck to CI
+ Now formatting .yaml files (with spaces)
* Bumped version numbers of actions

* Renamed .yml to .yaml in accordance with yaml.org/faq
2022-05-23 15:54:10 +03:00
Eiren Rain
5a4b656a74 WIP of skeleton data 2022-05-19 19:03:38 +03:00
Eiren Rain
bf7e13d923 Update spotless 2022-05-19 18:08:57 +03:00
Ryan Butler
dedec668e1 Added spotless and CONTRIBUTING.md (#172) 2022-05-19 17:51:46 +03:00
Eiren Rain
1e4013be98 This time it should work 2022-05-16 20:52:28 +03:00
Eiren Rain
76c3210788 Should be the last one for gradle or I give up... 2022-05-16 20:48:42 +03:00
Eiren Rain
4a99eff854 Fix gradle build (hopefully) 2022-05-16 20:46:18 +03:00
Eiren Rain
237dabce17 Update commons with formatted code 2022-05-16 20:41:42 +03:00
Eiren Rain
6f36f7624a Update commons 2022-05-16 20:36:26 +03:00
Eiren Rain
1dea626422 Eclipse formatting (#176)
* Make eclipse formatter better follow our conventions and format all of it
* Don't join wrapped lines to allow for hand-formatting
* Fix formatting of switch statements and add breaks in enum declarations
* Use new formatter by @thebutlah, adjust formatter more
2022-05-16 20:05:46 +03:00
Eiren Rain
c74cc539c9 Clarify README regarding licencing 2022-05-08 17:56:53 +03:00
Eiren Rain
910e32bb3e Merge pull request #166 from Futurabeast/clean-get-tracker-by-id
Change getTrackerById
2022-05-03 15:33:18 +03:00
Eiren Rain
6ad3c862ce Merge pull request #171 from TheButlah/fix_concurrent_modification_datafeed
Fix concurrent modification in DataFeedHandler
2022-05-03 15:27:43 +03:00
Eiren Rain
05819baf97 Merge pull request #173 from TheButlah/trackerpos_from_role
Computed trackers use TrackerRole to determine TrackerPosition, if null
2022-05-03 15:25:52 +03:00
Eiren Rain
d84ba2aef5 Merge pull request #174 from TheButlah/fix_more_fbs_bugs
Fix position and rotation getting mixed up in flatbuffer
2022-05-03 15:24:20 +03:00
Ryan Butler
ec9e7d94bc Fix position and rotation getting mixed up in flatbuffer 2022-05-03 03:24:22 -04:00
Ryan Butler
a800749b87 Fix concurrent modification in DataFeedHandler 2022-05-03 00:41:25 -04:00
lucas lelievre
675c69af60 WIP 2022-05-03 06:41:23 +02:00
Ryan Butler
76fe83452e Computed trackers use TrackerRole to determine TrackerPosition, if null 2022-05-02 23:45:57 -04:00
Eiren Rain
6d940503af Merge pull request #169 from TheButlah/gitignore_eclipse
.gitignore eclipse stuff
2022-05-02 23:17:21 +03:00
Ryan Butler
0ea5b58b50 .gitignoring most eclipse stuff 2022-05-02 13:38:50 -04:00
Eiren Rain
94c079815f Merge pull request #168 from TheButlah/fix_computed_tracker_num
Computed trackers should use their tracker id as their num
2022-05-02 13:47:43 +03:00
Eiren Rain
11ab7a6cb6 Merge pull request #167 from TheButlah/fix_invalid_fb_serialization
Fix invalid flatbuffer offsets
2022-05-02 13:47:15 +03:00
Ryan Butler
7f67135e69 Computed trackers should use their tracker id as their num 2022-05-02 02:58:24 -04:00
Ryan Butler
a1717bbf7a Fix invalid flatbuffer offsets 2022-05-02 02:09:33 -04:00
Eiren Rain
c99375364d Merge pull request #165 from deiteris/use-foreach
Refactor for to foreach
2022-05-01 16:02:24 +03:00
Eiren Rain
94460ed7ab Merge pull request #163 from Futurabeast/fix-index-error-datafeed
Fix iteration on the sensors, i used the key of the map instead of the index of the array
2022-05-01 01:07:18 +03:00
lucas lelievre
413332462f more readable version of it 2022-04-30 23:06:14 +02:00
lucas lelievre
18386d57d6 Better tracker id with no possible null pointer exception 2022-04-30 22:50:32 +02:00
lucas lelievre
f72045438e Change getTrackerById 2022-04-30 21:58:26 +02:00
Yury
17f74c693c Refactor for to foreach 2022-04-30 20:34:13 +03:00
lucas lelievre
fb3057b80a I don't know what this does, but I'm gonna merge it anyway
add filtering description
2022-04-30 07:55:51 +02:00
lucas lelievre
4eec83e5f4 Merge pull request #9 from Louka3000/main
Better tracker rotation slider
2022-04-30 07:54:52 +02:00
Louka
f94850c120 better tracker rotation slider 2022-04-30 01:50:39 -04:00
lucas lelievre
3fb87a4688 Fix iteration on the sensors, i used the key of the map instead of the index of the array 2022-04-30 04:03:53 +02:00
Erimel
488c3ec22c add filtering description 2022-04-29 18:48:36 -04:00
lucas lelievre
cccf57d37a new palette 2022-04-29 00:56:01 +02:00
lucas lelievre
8f1be283a4 rename extensions file 2022-04-28 19:24:38 +02:00
lucas lelievre
049465fc41 Add recomended extensions 2022-04-28 19:21:25 +02:00
lucas lelievre
00be864bbf Change event name on front side to match rust changes 2022-04-28 17:13:25 +02:00
lucas lelievre
494d362ec6 Merge pull request #5 from TheButlah/more_err
Added "terminated" and "other" events to "server-status", fixed icon
2022-04-28 17:12:07 +02:00
lucas lelievre
2c3ac89844 new process events + fallback to current folder if no arguments 2022-04-28 17:10:32 +02:00
Eiren Rain
9205f6cab7 Merge pull request #162 from Futurabeast/format-all
Format all files based on .editorconfig
2022-04-28 15:32:48 +03:00
lucas lelievre
d0ee364fb9 Fix conflicts with main 2022-04-28 14:30:40 +02:00
lucas lelievre
3a80ad0632 Change the formating to tabs 2022-04-28 03:44:24 +02:00
lucas lelievre
93c353bbc6 Fix crlf 2022-04-27 23:20:14 +02:00
Eiren Rain
9f883dccec Fix eclipse prefs 2022-04-27 23:42:16 +03:00
lucas lelievre
ad3b697517 New formatting rules 2022-04-27 22:40:03 +02:00
Eiren Rain
5f3097185e Merge pull request #161 from Futurabeast/fix-forward-to-front
Fix Converting FORWARD rotation to FRONT
2022-04-27 23:33:11 +03:00
lucas lelievre
7ac7f7d424 New formatting rules 2022-04-27 22:29:09 +02:00
lucas lelievre
ba58f4df6a Reformat the formatter 2022-04-27 22:25:28 +02:00
lucas lelievre
297bfddf6c Update src/main/java/dev/slimevr/NetworkProtocol.java
Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>
2022-04-27 22:21:09 +02:00
lucas lelievre
e4d0aca744 Update src/main/java/dev/slimevr/bridge/BridgeThread.java
Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>
2022-04-27 22:21:05 +02:00
lucas lelievre
8b5ac226c3 Update src/main/java/dev/slimevr/bridge/BridgeThread.java
Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>
2022-04-27 22:21:00 +02:00
lucas lelievre
cfc264fa33 Update src/main/java/dev/slimevr/bridge/BridgeThread.java
Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>
2022-04-27 22:20:49 +02:00
lucas lelievre
9e12958ca6 reformat all 2022-04-27 21:39:54 +02:00
lucas lelievre
8609fb9e97 Fix Converting FORWARD rotation to FRON 2022-04-27 21:30:54 +02:00
Eiren Rain
9d6dda8b17 Use https for solarxr module 2022-04-27 19:38:36 +03:00
Eiren Rain
92b64f0f12 Merge pull request #159 from Futurabeast/main
Headless Server / SolarXR Protocol implementation
2022-04-27 19:33:59 +03:00
Ryan Butler
ffda9f6b2e Added "terminated" and "other" events to "server-status", fixed icon 2022-04-26 23:51:17 -04:00
lucas lelievre
ae881565e8 Prepare for beta 2022-04-27 02:40:10 +02:00
lucas lelievre
2b46032329 Add icon 2022-04-26 23:50:51 +02:00
lucas lelievre
f4ee1ff73d Remove icon 2022-04-26 23:50:43 +02:00
lucas lelievre
a54e850de8 Merge console stdio with some minor improvements 2022-04-26 23:47:23 +02:00
lucas lelievre
3e554c1b8a new settings 2022-04-26 21:19:28 +02:00
Ryan Butler
a7c442d785 Events now get sent to frontend 2022-04-26 00:19:19 -04:00
lucas lelievre
677fa71ba1 Cancel change to .settings 2022-04-26 02:08:56 +02:00
lucas lelievre
9f3f34ce70 Reformat protocol 2022-04-26 02:07:45 +02:00
lucas lelievre
2d2b6588b3 Sync with main solarxr 2022-04-26 02:04:59 +02:00
lucas lelievre
f6e1cc7747 update default dependency 2022-04-25 20:47:25 +02:00
Ryan Butler
e04357c815 Added clap 2022-04-25 14:31:44 -04:00
lucas lelievre
17d75cfee0 New settings layout + update solarxr 2022-04-25 20:06:25 +02:00
lucas lelievre
44fa266697 remove slimevr_protocol from submodules 2022-04-25 00:39:37 +02:00
lucas lelievre
57f7ea6745 clean useless stuff 2022-04-25 00:38:50 +02:00
lucas lelievre
326c7e969a remove ignored files 2022-04-25 00:37:29 +02:00
lucas lelievre
23f9b3b276 Sync with lastest server 2022-04-25 00:21:32 +02:00
lucas lelievre
1e74deede3 Current progress 2022-04-24 19:53:56 +02:00
lucas lelievre
4906d9551e New icons 2022-04-24 16:41:23 +02:00
lucas lelievre
83b40d3351 Config stuff 2022-04-24 16:28:35 +02:00
lucas lelievre
ce8929af04 rename to solarxr 2022-04-24 16:09:35 +02:00
lucas lelievre
c2a51e4d57 Merge pull request #2 from TheButlah/add_license
Add LICENSE
2022-04-24 14:04:15 +02:00
lucas lelievre
5fae72fb03 Merge branch 'master' into add_license 2022-04-24 14:03:57 +02:00
lucas lelievre
1b6b6e30ad Merge pull request #1 from TheButlah/fix_child_proc
fix: Child process termination, workspaces, gitignore, logger
2022-04-24 14:03:18 +02:00
Ryan Butler
451d687198 Add LICENSE 2022-04-24 01:35:25 -04:00
Ryan Butler
90144f13c8 fix: Child process termination, workspaces, gitignore, logger
* Now using cargo workspaces, means you can `cargo run` from toplevel.
* Command execution now is cwd independent.
+ Added pretty_env_logger which lets us leverage log crate for easy
  logging.
* Windows now uses the win32job crate to ensure that all child processes
  will properly terminate when the parent process does.
+ Added empty rustfmt.toml to ensure everyone uses default rustfmt
  settings.
* Gitignore now ignores more stuff.
2022-04-24 01:18:00 -04:00
lucas lelievre
9fc9b66745 Rust stuff 2022-04-24 03:55:39 +02:00
loucass003
2317ad94f5 Update submodule to solarxr-protocol 2022-04-24 01:20:55 +02:00
Eiren Rain
58d1f2de96 Merge pull request #158 from Louka3000/skeloff-fix
Fix hip when not using legs
2022-04-23 19:03:15 +03:00
Louka
de101b3576 Fix hip when not using legs
disables pelvis averaging if user isn't using knee trackers.
2022-04-20 21:26:36 -04:00
lucas lelievre
9fbfc43655 Clean packages 2022-04-16 16:40:30 +02:00
loucass003
e3e37023e8 More rpc stuff 2022-04-15 01:17:16 +02:00
Eiren Rain
63409b61ea Merge pull request #157 from mgschwan/main
Change variable naming of configPath
2022-04-14 17:15:20 +03:00
Michael Gschwandtner
c827e7725b Revert changed files 2022-04-14 16:10:35 +02:00
Michael Gschwandtner
0bcaed719b Merge branch 'SlimeVR:main' into main 2022-04-14 16:06:17 +02:00
Michael Gschwandtner
c77d73c460 Rename configPath variable 2022-04-14 16:04:37 +02:00
loucass003
9fc5d41e1b protocol rework Sets -> Map 2022-04-14 09:15:01 +02:00
Eiren Rain
ac0cb9e9cb Merge pull request #149 from Louka3000/hand-tracking
Hand tracking support + elbows without controllers
2022-04-12 20:22:32 +03:00
lucas lelievre
f961318035 update submodule 2022-04-12 09:09:29 +02:00
lucas lelievre
52fa670293 Datafeed almost done 2022-04-12 09:07:18 +02:00
Eiren Rain
d0c3e0ae8d Merge pull request #155 from mgschwan/main
Make VRServer config path variable
2022-04-12 01:57:10 +03:00
Louka
0b2491ead5 Properly handle elbows with hand tracking
Instead of moving the controller chains to the slimevr hand, now just make the computed elbows affected by the elbow from the slimevr hand chain.

Also refactored some stuff to replace "upper arm distance" by "elbow offset". Idek if it's useful but it may be so I'm keeping it.
2022-04-11 18:39:30 -04:00
Michael Gschwandtner
1723d19882 Make VRServer config path variable
Add a constructor that accepts a path to the config file
2022-04-12 00:37:46 +02:00
Louka
416f96fe44 Merge branch 'main' into hand-tracking 2022-04-11 17:41:32 -04:00
Eiren Rain
7b700b4a0c Merge pull request #154 from mgschwan/main
Make WebSocketVRBridge compatible with Android
2022-04-11 21:37:50 +03:00
Eiren Rain
bde578fb9d Merge pull request #151 from Louka3000/neck-tracking
Neck tracking support owo
2022-04-11 21:05:37 +03:00
Michael Gschwandtner
c41dc490ed Make WebSocketVRBridge compatible with Android
Change JSONObject.optFloat (does not exist on Android) to optDouble
2022-04-11 16:00:42 +02:00
Eiren Rain
6d9e816d19 Merge pull request #153 from Louka3000/filters-fix
Make filter dependent on tracker tps
2022-04-08 00:59:28 +03:00
Erimel
8f19afee88 Merge branch 'SlimeVR:main' into hand-tracking 2022-04-07 01:18:50 -04:00
Louka
784ec877d8 Make filter dependent on tracker tps
Why was this in the wrong place wth
2022-04-06 20:35:47 -04:00
Eiren Rain
48c509ef54 Merge pull request #152 from mgschwan/main
Add full reset command to WebSocket bridge
2022-04-06 15:43:56 +03:00
Eiren Rain
0a5f06816d Merge pull request #150 from Louka3000/patch-1
Null check on designation I forgor
2022-04-06 15:42:06 +03:00
Louka
ecbeaf10ed Remove unnecessary code
Also makes my code a whole lot clearer damn.
Now I can understand it myself!!! :P
2022-04-05 18:02:30 -04:00
Michael Gschwandtner
c8e4918b4e Merge branch 'SlimeVR:main' into main 2022-04-05 22:17:55 +02:00
Michael Gschwandtner
4ab5609dbd Add full reset command to WebSocket bridge 2022-04-05 22:11:40 +02:00
Louka
cfe8eb62e7 Neck tracking support owo
This is not a joke.
As I suspected, adding a neck tracker does help with reducing sliding. I tested it in VRChat myself.
Think of it like adding a fourth spine tracker.
Anyway, this can be useful to mocap suits and furries, pls merge ty owo.
2022-04-05 00:11:43 -04:00
Erimel
f2ceb84969 Null check on designation I forgor
sowwy, this completely breaks the server whenever a new tracker (never connected before) connects.  

;-;
2022-04-04 23:41:51 -04:00
Louka
039628d7e4 Hand tracking support + elbows without controllers
This extends the HMD skeleton to support arm tracking. We do end up with kinda duplicate bones tho.

If user has controllers: elbows go from controllers with tracker on lower arm and possibility for upper arm tracker.

If user has no controller (or no feeder app) and enables Elbow SteamVR trackers: elbows go from chest.

If user has no controllers and enables Hand SteamVR trackers: SteamVR trackers on the users hand appear using upper arm, forearm and hand trackers. Use chest tracker as well for more precision.

This also adds a lot of body proportions...
2022-04-04 22:21:18 -04:00
Eiren Rain
91fb4bc035 Merge pull request #146 from Louka3000/legs-fix
Fix ambiguous usage of "Legs"
2022-04-04 16:07:59 +03:00
Eiren Rain
d89ccc3401 Merge pull request #147 from TheDevMinerTV/fix/pingpongpacket
Fix "could not parse packet" warning for PingPongPackets
2022-04-04 16:02:21 +03:00
loucass003
7ab9a37989 Started implementing new protocol 2022-04-04 07:37:26 +02:00
TheDevMinerTV
cf7054b6da Fix "could not parse packet" warning for PingPongPackets 2022-04-04 00:29:22 +02:00
Louka
758f9e8f2f support old configs + rename in skeleton 2022-04-03 11:44:40 -04:00
Louka
fef21906f5 Fix ambiguous usage of "Legs"
- Leg in tracker roles is now knee
- Legs in SteamVR trackers to enable is now Feet
2022-04-03 11:18:44 -04:00
loucass003
4ae37944d9 Everything 2022-04-02 22:36:25 +02:00
loucass003
37ce6a69c1 update submodule 2022-04-02 22:35:45 +02:00
loucass003
aaed8fbd49 Body proportions 2022-04-02 22:33:32 +02:00
loucass003
5fbac9d861 More data 2022-04-02 08:39:31 +02:00
lucas lelievre
c54298709f update submodules url 2022-04-01 05:32:25 +02:00
lucas lelievre
b7d1637b18 Add more tracker data 2022-04-01 04:57:51 +02:00
lucas lelievre
56402526f7 new layout 2022-03-31 18:10:10 +02:00
lucas lelievre
015fa551b7 slimevr_protocol submodules 2022-03-31 16:05:34 +02:00
lucas lelievre
a681f0e5b3 rm folder 2022-03-31 16:05:03 +02:00
lucas lelievre
281810dfbb begin websocket api 2022-03-31 16:00:13 +02:00
lucas lelievre
9482e60dfa Initialize project using Create React App 2022-03-30 18:02:12 +02:00
Eiren Rain
38b8e65d53 Merge pull request #137 from Louka3000/main
Basic Interpolation and Extrapolation
2022-03-28 16:56:05 +03:00
Louka
74ccaa6cf1 fix size/capacity of circle buffer 2022-03-28 00:07:43 -04:00
Louka
4d2083df27 Use circle buffer to get previous rotations
Should help with performance.
2022-03-27 23:58:23 -04:00
Louka
98068232a6 don't create as many quaternions 2022-03-27 06:33:36 -04:00
Eiren Rain
60711df671 Merge pull request #128 from ButterscotchV/autobone-work
Consolidate PoseFrames functionality and add documentation
2022-03-24 14:05:55 +02:00
Erimel
c6b7c11418 Merge branch 'SlimeVR:main' into main 2022-03-23 21:47:52 -04:00
Eiren Rain
ece8811293 Merge pull request #138 from Louka3000/issue61
Align spine yaw with HMD when no spine trackers are present
2022-03-24 02:10:03 +02:00
Louka
8c95c491b9 use GetYaw() 2022-03-23 18:53:43 -04:00
Erimel
45091565b4 Merge branch 'SlimeVR:main' into issue61 2022-03-23 18:42:36 -04:00
Erimel
7c0222189a Merge branch 'SlimeVR:main' into main 2022-03-23 18:42:26 -04:00
Eiren Rain
a84c735761 Update commons 2022-03-24 00:40:20 +02:00
Louka
946c5d4527 calculate hmd yaw better 2022-03-23 18:34:47 -04:00
Louka
2ac6208302 / 2 * 4 = *2 2022-03-23 18:05:58 -04:00
Louka
0cd65c825c Align spine yaw with HMD when no spine tracker
issue https://github.com/SlimeVR/SlimeVR-Server/issues/61
2022-03-23 18:04:09 -04:00
Eiren Rain
43d97a7b97 Merge pull request #136 from Louka3000/upper-arms
Upper arm tracking support for VRC shoulders
2022-03-23 18:38:02 +02:00
Louka
9923556212 removed bad code lol
Code I stole was bad and did unncessery things that made extrapolation wonky
2022-03-22 21:44:29 -04:00
Louka
0a65783637 Make bone
bone yes
2022-03-22 19:58:52 -04:00
Louka
b5bd7e0a26 changed default values for filters 2022-03-22 18:35:00 -04:00
Louka
82779d101b fixed a NullPointerException
When the type was null oops
2022-03-22 01:20:40 -04:00
Louka
9c18d349dd upper arms support
for vrchat's shoulder tracking.
Not recommended since that's 2 trackers PER ARM, but good to have the option.
2022-03-22 00:46:38 -04:00
Louka
8c74071e30 Small adjustments to filter
-renamed frame to tick
- increased max intensity
2022-03-19 13:33:54 -04:00
Louka
256e5079cf Tracker filters GUI and config
I am now master at GUI.
(never again).
Might have done some dumb things like giving IMUTracker VRServer idk, tell me if there's something to fix <3
2022-03-19 03:02:06 -04:00
Louka
4263e86189 Basic interpolation and extrapolation
only the logic. Need to make config and GUI
2022-03-18 22:36:06 -04:00
Eiren Rain
dadb0bb378 Merge pull request #135 from Louka3000/main
Prettier changing proportions
2022-03-15 14:56:26 +02:00
Erimel
8ba25ca840 Merge branch 'SlimeVR:main' into main 2022-03-14 18:12:01 -04:00
Louka
09ac04331f Prettier changing proportions
- Now removes the .0 if the value is whole (only see decimal if is .5)
- Add precision adjust button unselected by default to toggle between 1 and 0.5 adjustment.
2022-03-14 18:11:29 -04:00
Eiren Rain
c21caa76d5 Bump version number to 0.1.6 2022-03-14 20:02:10 +02:00
Eiren Rain
4073d8fc32 Merge pull request #134 from Louka3000/main
Change default proportions and allow half-decimal editing
2022-03-14 15:33:49 +02:00
Erimel
f8b7be8572 Merge branch 'SlimeVR:main' into main 2022-03-13 18:27:01 -04:00
Louka
d6ab811de0 Change default proportions and allow half-decimal editing
- Better initial and default body proportions for people that don't want to calibrate
- Now changes bone length to half decimal (0.5). Rounds up to the nearest 0.5.
2022-03-13 18:25:43 -04:00
Eiren Rain
9fa6722f2b Merge pull request #133 from Blixtdraken/main
Changed the scroll speed for the ui
2022-03-13 18:21:35 +02:00
Blixtdraken
c51204e9cd Changed the scroll speed for the ui. 2022-03-13 17:12:40 +01:00
Eiren Rain
74794d8610 Merge pull request #132 from Louka3000/main
Elbow tracking support OwO
2022-03-12 12:56:49 +02:00
Louka
16978f5acd change default elbow distance
25cm to 22cm
2022-03-11 21:15:49 -05:00
Louka
71e24d0cb9 oops Mighty <3
fix FORWARD being renamed to FRONT
2022-03-10 19:47:28 -05:00
Louka
9a45f99b0e Vertical controllet offset 2022-03-10 18:45:36 -05:00
Louka
7f829f56a3 Fix reset and fix pipe creation order
owo
2022-03-10 18:35:51 -05:00
Erimel
347531f4fe Merge branch 'SlimeVR:main' into main 2022-03-10 18:21:08 -05:00
Eiren Rain
a1c33a0852 Merge pull request #131 from MightyGood/patch-1
Change FORWARD to FRONT for tracker mounting
2022-03-10 17:55:01 +02:00
MightyGood
9cd441654e Change FORWARD to FRONT for tracker mounting
Front fits better with the other options, and should cause less confusion about what the drop-down items mean.
2022-03-10 09:46:24 -06:00
Eiren Rain
88c866a735 Merge pull request #130 from kitlith/feeder_app_protobuf
Switch feeder app from old protocol to new protocol.
2022-03-10 16:00:55 +02:00
Louka
b11492c3f3 minor cleanup
removed skeleton offset for arms; useless
2022-03-10 01:07:35 -05:00
Erimel
52e30b6323 Merge pull request #3 from kitlith/feeder_app_protobuf
Switch feeder app from old protocol to new protocol.
2022-03-10 00:37:47 -05:00
Louka
1ebad806f9 Fix reset and wrist
oh wow, it works.
2022-03-09 19:24:35 -05:00
Louka
51129d3b5d Wrists
doesn't work as intended but does something
2022-03-09 01:27:13 -05:00
Louka
379e1cdcf0 Get all nodes better
for SkeletonList
2022-03-09 01:08:26 -05:00
Louka
0a8f76cfd4 Initial elbows commit
testing
2022-03-08 00:13:49 -05:00
Kitlith
a382698c32 Switch feeder app from old protocol to new protocol. 2022-03-07 20:56:22 -08:00
Butterscotch!
d43002952c Consolidate PoseFrames functionality & add documentation 2022-02-17 22:51:15 -05:00
Eiren Rain
718f1d02c6 Merge pull request #127 from ColdIce1605/ignore-runtime-created-files
Ignore runtime created files
2022-02-17 08:40:52 +02:00
ColdIce
542de22550 Revert "restart branch"
This reverts commit e18ce338e9.
2022-02-16 21:16:22 -06:00
ColdIce
327d458f00 update .gitignore 2022-02-16 21:14:49 -06:00
Eiren Rain
5f206dd12e Merge pull request #125 from Louka3000/patch-2
waist tracker will default to hip before chest
2022-02-16 12:33:09 +02:00
ColdIce
e18ce338e9 restart branch 2022-02-16 01:25:15 -06:00
Erimel
51e6255e9d waist tracker will default to hip before chest
If user has chest + waist but uses chest + hip in the server, chest would be chest+waist and waist would be hip.
This can be fixed by a better explanation of “waist vs hip” in the new GUI, or just defaulting waist to hip instead of chest when no waist tracker is found.
2022-02-15 14:48:21 -05:00
Eiren Rain
7fa7e6c2cc Merge pull request #124 from ColdIce1605/platform-package-fix
Platform Package Fix
2022-02-15 10:19:34 +02:00
ColdIce
710d154817 remove files 2022-02-15 02:17:55 -06:00
ColdIce
f354a10a81 fix .idea related things
sadly can't get rid of the one Magneto change do to LF :P
2022-02-15 02:17:14 -06:00
ColdIce
8bb8135f41 Move windows related code to its own package
Ah no more git history issues
2022-02-15 02:12:20 -06:00
Eiren Rain
e7b9968519 Better tracker timeout handling 2022-02-15 09:59:27 +02:00
Eiren Rain
bfc58d51f2 Merge pull request #122 from Kamilake/patch-1
Change the minimum compatible Java version
2022-02-11 07:14:10 +02:00
Eiren Rain
c158022da5 Merge pull request #123 from Kamilake/patch-2
Add a hide password option
2022-02-11 05:56:55 +02:00
Kamilake
9e010b0026 Add a hide password option 2022-02-11 11:44:18 +09:00
Kamilake
a085b09e07 Change the minimum compatible Java version 2022-02-11 09:36:11 +09:00
Kamilake
37da4ab7fe Change the minimum compatible Java version 2022-02-11 09:22:28 +09:00
Eiren Rain
c5945d784b Merge pull request #121 from ButterscotchV/spell-fix
Fix spelling mistakes
2022-02-09 21:09:33 +02:00
Butterscotch!
16ca08446b Fix spelling mistakes 2022-02-09 04:44:05 -05:00
Eiren Rain
b487350714 Update version to 0.1.5 2022-02-07 20:31:19 +02:00
Eiren Rain
753b12b49e Merge pull request #120 from ButterscotchV/bvh-recording
Add simple BVH recording button
2022-02-07 20:01:45 +02:00
Butterscotch!
0d90cf9c20 Add simple BVH recording button 2022-02-07 01:40:11 -05:00
Eiren Rain
658fd2916d Merge pull request #118 from deiteris/main
Switch to latest gradle and update dependencies
2022-02-05 17:43:00 +02:00
Yury
ed4ea675fb Keep JavaOSC package and remove slf4j package 2022-02-05 18:39:10 +03:00
Yury
2746fd7a67 Remove guava 2022-02-05 18:37:25 +03:00
Eiren Rain
a6b92c60b0 Update commons 2022-02-05 17:33:40 +02:00
Eiren Rain
d4d36a65ec Merge pull request #119 from ButterscotchV/bvh-fix
Fix BVH local angle calculations and abstract PoseStreamer
2022-02-05 17:25:34 +02:00
Butterscotch!
97df8ee12f Simplify PoseFrameStreamer constructor 2022-02-05 07:21:14 -05:00
Butterscotch!
2ab637b4e8 Improve PoseFrameStreamer functionality 2022-02-05 07:08:45 -05:00
Butterscotch!
9a821b051f Abstract PoseStreamer 2022-02-05 07:08:44 -05:00
Butterscotch!
e2f09fc93d Add fake root method & fix local angle calculation 2022-02-05 06:01:07 -05:00
Butterscotch!
891d8e0468 Fix BVH angles 2022-02-05 05:04:31 -05:00
Yury
494e31e41f Switch to latest gradle and update dependencies 2022-02-05 13:02:46 +03:00
Eiren Rain
b369ae6a2a Fix battery reading compatibility with owoTrack 2022-02-02 18:39:53 +02:00
Eiren Rain
5c22ef0192 Fix backwards compatibility with extensions on old firmware 2022-01-29 00:45:28 +02:00
Eiren Rain
d99cbb9c85 Fix backwards compatibility with old firmware and owoTrack 2022-01-28 02:53:08 +02:00
Eiren Rain
4f14f01830 Merge pull request #114 from SlimeVR/test
Network refactoring
2022-01-27 21:51:56 +02:00
Eiren Rain
930b5c701a Cleanup UDP responses 2022-01-27 21:38:49 +02:00
Eiren Rain
bd9e2c47a3 Merge branch 'main' into test 2022-01-27 21:30:39 +02:00
Eiren Rain
53ca2cf881 Move UDP packets and parsing to own calsses
Cleanup UDP networking significantly
2022-01-27 21:30:25 +02:00
Eiren Rain
55e17e7625 Minor network fixes 2022-01-27 19:52:30 +02:00
Eiren Rain
13b37aa2a9 Improved debug, added checkbox to display sensors debug info 2022-01-27 19:31:13 +02:00
Eiren Rain
fe4dde69ea Merge pull request #113 from Louka3000/patch-1
fix link setup
2022-01-27 02:21:07 +02:00
Erimel
0268a5a3ec fix link setup 2022-01-26 19:13:52 -05:00
Eiren Rain
4bddb529d4 Fix ping not working 2022-01-25 22:00:02 +02:00
Eiren Rain
435f5d1751 Don't create new trackers if tracker's IP changed while server is running, hand over old trackers to the new connection
Implements #70
2022-01-25 21:46:50 +02:00
Eiren Rain
af8ce60dbe Fix signal strength reading 2022-01-20 20:57:03 +02:00
Eiren Rain
25f53232cd Fix packet number reading 2022-01-20 20:27:23 +02:00
Eiren Rain
012cb518b3 Fix merge issues, track packets order, improve logging in UDP server 2022-01-20 18:03:53 +02:00
Eiren Rain
2d1ffbc5b0 Merge branch 'main' into test
# Conflicts:
#	src/main/java/dev/slimevr/vr/trackers/TrackersUDPServer.java
2022-01-20 17:54:56 +02:00
Eiren Rain
c88a6802a9 Minor debug stuff 2022-01-20 17:50:08 +02:00
Eiren Rain
f5d608ac6a Merge pull request #111 from ButterscotchV/autobone-fix
Fix AutoBone overwriting configs & improve code documentation
2022-01-20 14:19:46 +03:00
Butterscotch!
5d49bbfb29 Fix AutoBone overwriting configs & improve code documentation 2022-01-19 19:20:47 -05:00
Eiren Rain
5ce520a316 Merge pull request #110 from deiteris/main
Fix decimal places for battery voltage
2022-01-20 00:44:49 +03:00
Yury
98c2c6e202 Merge branch 'main' of https://github.com/deiteris/SlimeVR-Server 2022-01-20 00:25:12 +03:00
Yury
a2fc809d71 Fix decimal places for battery voltage 2022-01-20 00:24:47 +03:00
Eiren Rain
eb302aaef1 Merge pull request #107 from Louka3000/main
Updated default body proportions (again
2022-01-16 02:12:36 +03:00
Louka
3b354f103a Update SkeletonConfigValue.java 2022-01-15 18:00:50 -05:00
Eiren Rain
03c24a5d39 Merge pull request #106 from deiteris/main
Fix log in firewall_uninstall.bat
2022-01-13 01:11:38 +03:00
Yury
a8f13bb570 Fix log in firewall_uninstall.bat 2022-01-13 00:56:08 +03:00
Eiren Rain
f8e35e0a72 Merge pull request #105 from deiteris/main
Show battery level reported by tracker
2022-01-13 00:32:10 +03:00
Yury
27c153f5d3 Show battery level reported by tracker 2022-01-12 19:30:51 +03:00
Eiren Rain
82fdedfa14 Minor changes 2022-01-10 12:54:25 +02:00
Eiren Rain
f5bfbb13e2 Added contributions notice to the README 2022-01-10 12:50:02 +02:00
Eiren Rain
80de578334 Fix missing refactoring changes 2022-01-09 12:27:32 +02:00
Eiren Rain
3b0acbe406 Create new trackers only when sensor info packet received 2022-01-09 12:25:57 +02:00
Eiren Rain
1062361612 Merge pull request #99 from deiteris/main
Add RSSI to trackers
2022-01-09 13:17:57 +03:00
Eiren Rain
7d81fe6f92 Merge pull request #102 from Louka3000/main
Skeleton offset
2022-01-09 11:13:42 +03:00
Eiren Rain
0285eca613 Merge pull request #103 from ColdIce1605/fix-typos
Fix typos
2022-01-08 09:03:10 +03:00
James R
b0aea9ba89 fix typos 2022-01-07 20:54:34 -06:00
Louka
b98eafb66f Remove vertical foot offset
Only keep skeleton offset
2022-01-07 09:12:06 -05:00
Louka
566df6793c fixed foot rotation (I broke it)
I still think there's a better way to do this horizontal foot offset thing
2022-01-06 23:43:26 -05:00
Louka
4949e0a7f3 Skeleton offset and vertical foot offset 2022-01-06 22:30:20 -05:00
Yury
572dcdf1bb Add RSSI to trackers 2022-01-02 23:25:56 +03:00
Eiren Rain
80ce825494 Merge pull request #97 from carl-anders/keybindings-wrap-even-more-no-more-panics-plz
Keybindings: Catch even more errors, and manually check that operating system is Windows
2021-12-27 02:23:13 +03:00
Carl Andersson
bdc3b1971c Fix accidental inversion of check 2021-12-26 21:49:46 +01:00
Carl Andersson
cee400a4c6 Simplify OS & error checks 2021-12-26 21:48:52 +01:00
Carl Andersson
e58706d212 Keybindings: Catch even more errors, and manually check that operating system is Windows 2021-12-26 06:05:27 +01:00
Eiren Rain
ad03caa064 Bump version to 0.1.3 2021-12-24 21:26:03 +02:00
Eiren Rain
e2d6189547 Code formatting 2021-12-24 21:25:40 +02:00
Eiren Rain
7b15d242f7 Move rest of the classes to dev.slimev package, comment out wrong unit-test, minor cleanups 2021-12-24 21:18:58 +02:00
Eiren Rain
b81458d034 Merge pull request #95 from ButterscotchVanilla/skeleton-refactor
Skeleton refactor
2021-12-24 22:09:57 +03:00
Eiren Rain
0595422f69 Merge pull request #96 from deiteris/main
Send empty packets when there are no active trackers
2021-12-18 20:46:43 +03:00
Yury
8e58adb279 Send empty packets when there are no active trackers 2021-12-18 16:33:49 +03:00
ButterscotchVanilla
a5e4b4d8e2 Fix all config "Reset" buttons being timed 2021-12-16 21:33:48 -05:00
ButterscotchVanilla
be2c010b5a Remove comment, this was fixed 2021-12-16 19:14:37 -05:00
ButterscotchVanilla
e107326fee Fix merge conflict 2021-12-16 18:54:20 -05:00
Eiren Rain
4da54f6dec Merge pull request #94 from Louka3000/main
Changed default body proportions
2021-12-16 18:15:42 +03:00
ButterscotchVanilla
1a3a955e10 Change StringBuilder.isEmpty() to length check instead for Java 8 compatibility 2021-12-16 02:26:02 -05:00
ButterscotchVanilla
3f304f7275 Optimize offset calculation for bulk config set & finish AutoBone implementation 2021-12-16 02:06:55 -05:00
ButterscotchVanilla
0690d742c7 Properly save SkeletonConfig values 2021-12-16 01:38:16 -05:00
ButterscotchVanilla
43bbd4b4dd Update config defaults from @Louka3000 2021-12-16 00:27:19 -05:00
ButterscotchVanilla
77fa27a698 Remove String skeleton config & fix null exception with SkeletonConfig 2021-12-15 23:00:08 -05:00
Louka
8991e4f9f8 Changed default body proportions 2021-12-15 20:43:13 -05:00
ButterscotchVanilla
c9740651ba Remove other HumanSkeleton implementations 2021-12-08 23:35:21 -05:00
ButterscotchVanilla
473550ba07 Move skeleton namespace 2021-12-08 23:12:43 -05:00
ButterscotchVanilla
a7cbe91e73 Make SimpleSkeleton compatible with HumanSkeleton 2021-12-08 23:10:54 -05:00
ButterscotchVanilla
40281f68b9 Use config enum instead of strings for AutoBone 2021-12-08 22:00:43 -05:00
ButterscotchVanilla
d3049751ba Update AutoBone to use SkeletonConfig 2021-12-08 21:26:32 -05:00
ButterscotchVanilla
68164756c2 Add more ways to set SkeletonConfig values 2021-12-08 19:53:07 -05:00
ButterscotchVanilla
91c0ddef28 Add new SkeletonConfig class for configuring bone lengths and toggles 2021-12-08 17:57:53 -05:00
Eiren Rain
0641ca1b7b Bump version to 0.1.2 2021-12-07 14:26:20 +02:00
ButterscotchVanilla
e3d9eb6ac9 Add new config for offset slide error & disable dist scaling 2021-12-06 19:37:47 -05:00
ButterscotchVanilla
7eec89bd53 AutoBone: Add offset slide error 2021-12-04 20:59:42 -05:00
ButterscotchVanilla
289a7f8313 AutoBone: Scale distances by height difference 2021-12-04 02:55:18 -05:00
ButterscotchVanilla
f49b2556ae Add full tracker functionality to SimpleSkeleton 2021-12-04 00:45:37 -05:00
Eiren Rain
318c43077c Merge pull request #89 from ButterscotchVanilla/bvh-standard
Add functional BVH recording
2021-12-02 23:54:10 +03:00
Eiren Rain
5691b68166 Merge pull request #90 from ButterscotchVanilla/patch-1
Update GitHub Actions workflow
2021-12-02 23:52:31 +03:00
Butterscotch!
0ea44f988c Update GitHub Actions workflow 2021-12-02 15:45:11 -05:00
ButterscotchVanilla
59e2f796eb Add reference to ViRe in a comment 2021-12-02 12:14:45 -05:00
ButterscotchVanilla
f1a75a98d0 Add extra Spine node for rotation 2021-12-02 03:37:13 -05:00
ButterscotchVanilla
76ac3fcf55 Fix angle calculations 2021-12-01 23:50:47 -05:00
ButterscotchVanilla
6cc3c8e84b Add attempted Euler conversion 2021-12-01 23:19:00 -05:00
ButterscotchVanilla
36907c3244 Add closeOutput for specific stream 2021-12-01 20:21:55 -05:00
ButterscotchVanilla
dfeb02c1a7 Add local rotation calculations to TransformNodeWrapper 2021-12-01 20:17:36 -05:00
ButterscotchVanilla
6adf5f4090 Move node hierarchy wrapping to TransformNodeWrapper 2021-12-01 20:17:36 -05:00
ButterscotchVanilla
e44ce3fb0b Add getParent to TransformNode and add StdBVHFileStream 2021-12-01 20:17:36 -05:00
ButterscotchVanilla
76ab69e44e Wrap TransformNodes for different PoseStream hierarchy requirements 2021-12-01 20:17:35 -05:00
Eiren Rain
57d009df5c Fix bug with wrong trackers being read in skeleton if no leg trackers are attached 2021-12-02 02:11:01 +02:00
Eiren Rain
b4d07b0b7e Merge pull request #88 from deiteris/main
Improve bat script error checking
2021-12-01 16:46:07 +03:00
Yury
da3afa6f8e Improve bat script error checking 2021-12-01 11:43:35 +03:00
Eiren Rain
ec1c491e93 Merge pull request #87 from Louka3000/main
autobone hip-only doesn't affect waist distance anymore
2021-12-01 10:27:45 +03:00
Louka
baccb556e8 autobone hip-only doesn't affect waist distance anymore
- Now autobone checks if user has BOTH waist and hip tracker to add the waist distance value.
- Also renamed certain variable, replacing "hip" by "torso"
2021-11-29 20:08:08 -05:00
Eiren Rain
eedfa61d74 Merge pull request #85 from deiteris/main
Prevent path change when running as admin
2021-11-24 08:39:44 +03:00
Eiren Rain
2a9225178f Merge pull request #84 from Louka3000/main
Changed body proportions: Torso, Chest, Waist
2021-11-23 23:36:31 +03:00
Louka
259190e478 Changed body proportions: Torso, Chest, Waist
Body proportions have been changed: - Torso length is now the base value, replacing waist length in earlier versions.
- Hip length is now waist distance. Waist distance is only used when using a hip tracker
- Chest distance/length is the same. It is only used when using a chest tracker
- Autobone support with any mix-n-match configuration :)
- Virtual Waist changed its name to "Hip offset". It still behaves the same.
2021-11-23 15:11:16 -05:00
Yury
24a0c3b136 Prevent path change when running as admin 2021-11-23 12:11:09 +03:00
Louka
f46f2bc913 Tries to get the waist first for the rotation node for Autobone
When you want the rotation node, it should give the node that has the rotation that affects the bone you want
2021-11-22 22:48:43 -05:00
Eiren Rain
77f048c48e Merge pull request #83 from Louka3000/hip-tracker
Hip tracker support
2021-11-23 04:00:14 +03:00
Louka
4055d51758 Autobone support
Added basic autobone support for the hip tracker, fixed "allTracekrs" and changed initial values of upper body.
2021-11-21 18:14:19 -05:00
Louka
21eff5e1ba Better reset and initial values
owo
2021-11-20 21:32:47 -05:00
Louka
34174b442f Virtual waist affected by kneebuf 2021-11-20 20:49:32 -05:00
Louka
77d37ab2a7 Cleanup and support for hip tracker alone/
why would you want hip alone instead of waist? idk
2021-11-20 16:35:22 -05:00
Louka
350fdbce9d Can use chest tracker alone
hip tracker will default to the waist tracker's position (waist or chest) if no hip tracker is found
2021-11-20 15:03:33 -05:00
Louka
e19cec4d3e Initial commit
added hip tracking support.
Independent from waist.
Has a hip length value going from waist to hip.
Legs depend on hip instead of waist
should work normally without hip tracker.
Should work just fine with a virtual waist offset.
2021-11-20 00:04:33 -05:00
Eiren Rain
e56d7665ed Merge pull request #81 from carl-anders/softer-keybinding-failure-mode
Keybinding: If JIntellitype fails to load, still allow server to run
2021-11-12 02:59:46 +02:00
Carl Andersson
a0e23bfbe9 Keybinding: Be even better at catching errors from JIntellitype 2021-11-12 00:35:41 +01:00
Carl Andersson
b7dc33f79e Keybinding: If JIntellitype fails to load, still allow server to run 2021-11-11 06:31:35 +01:00
Eiren Rain
d8c31eec81 Merge pull request #80 from deiteris/main
Display information message in case Java is not installed
2021-11-08 20:32:42 +02:00
Yury
e84ee760b1 Display information message in case Java is not installed 2021-11-08 21:25:26 +03:00
Eiren Rain
6ba1cc6bdb Merge pull request #79 from deiteris/main
Add forgotten imports
2021-11-08 17:22:31 +02:00
Yury
1b5e534592 Add forgotten imports 2021-11-08 18:01:43 +03:00
Eiren Rain
1a3e21007b Merge pull request #78 from deiteris/main
Prevent server from running if required ports are busy
2021-11-06 20:26:58 +02:00
Yury
55e11ffb5c Prevent server from running if required ports are busy 2021-11-06 21:22:24 +03:00
726 changed files with 97927 additions and 16068 deletions

View File

@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="bin/main" path="src/main/java">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/main" path="src/main/resources">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/test" path="src/test/java">
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/test" path="src/test/resources">
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk-11.0.1"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry combineaccessrules="false" kind="src" path="/slime-java-commons"/>
<classpathentry kind="output" path="bin/default"/>
</classpath>

View File

@@ -1,13 +1,24 @@
# This file is for unifying the coding style for different editors and IDEs
# See editorconfig.org
root = true
[*]
indent_style = tab
end_of_line = lf
charset = utf-8
# This line causes problems with VSCode and potentially with other editors where all purely
# whitespace lines are trimmed to be empty when saved, causing excessive worthless changes with Git
#trim_trailing_whitespace = true
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
# Fluent files only support spaces for indentation
[*.ftl]
indent_size = 4
indent_style = space
# Current config in eslint uses 2 spaces for indentation
[*.{.tsx,ts,jsx,js}]
indent_size = 2
indent_style = space
max_line_length = 88
# This is how everything should actually be
[*.{kt,kts,java,rs}]
indent_size = 4
indent_style = tab
max_line_length = 88
ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlin.math.*

10
.envrc Normal file
View File

@@ -0,0 +1,10 @@
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

38
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,38 @@
# Global code owner
* @Eirenliel
# Make everyone be able to approve SolarXR submodule changes
/solarxr-protocol @ButterscotchV @Erimelowo @ImUrX @loucass003
# Make Loucas and Uriel the owners of all GUI stuff
/gui/ @ImUrX @loucass003
/pnpm-lock.yaml @ImUrX @loucass003
/pnpm-workspace.yaml @ImUrX @loucass003
# Uriel and Erimel responsible for i18n
/gui/public/i18n/ @ImUrX @Erimelowo
/gui/src/i18n/ @ImUrX @Erimelowo
/l10n.toml @ImUrX @Erimelowo
/gui/src/components/settings/ @Erimelowo @ImUrX
# Rust part of the GUI
/gui/src-tauri/ @ImUrX
/Cargo.lock @ImUrX
# Some server code~
/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/ @Erimelowo
/server/src/main/java/dev/slimevr/tracking/processor/ @Erimelowo
/server/src/main/java/dev/slimevr/filtering/ @Erimelowo
# 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

8
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"

113
.github/workflows/build-gui.yml vendored Normal file
View File

@@ -0,0 +1,113 @@
name: Build GUI
on:
push:
branches:
- main
paths:
- .github/workflows/build-gui.yml
- gui/**
- package*.json
pull_request:
paths:
- .github/workflows/build-gui.yml
- gui/**
- package*.json
workflow_dispatch:
create:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: pnpm/action-setup@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- name: Build
run: |
pnpm i
cd gui
pnpm run lint
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
env:
# Don't mark warnings as errors
CI: false
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- 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.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
execute_install_scripts: true
# Disables uploading logs as a build artifact
debug: false
- name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "${{ matrix.os }}"
- uses: pnpm/action-setup@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- name: Build
shell: bash
run: |
pnpm i
pnpm run skipbundler --config $( ./gui/scripts/gitversion.mjs )
- if: matrix.os == 'windows-latest'
name: Upload a Build Artifact (Windows)
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-22.04'
name: Upload a Build Artifact (Linux)
uses: actions/upload-artifact@v4
with:
# Artifact name
name: SlimeVR-GUI-Linux
# A file, directory or wildcard pattern that describes what to upload
path: target/release/slimevr
- if: matrix.os == 'macos-latest'
name: Upload a Build Artifact (macOS)
uses: actions/upload-artifact@v4
with:
# Artifact name
name: SlimeVR-GUI-macOS
# A file, directory or wildcard pattern that describes what to upload
path: target/release/slimevr

357
.github/workflows/gradle.yaml vendored Normal file
View File

@@ -0,0 +1,357 @@
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: SlimeVR Server
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
create:
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- 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@v4
- run: mkdir ./gui/dist && touch ./gui/dist/somefile
shell: bash
- name: Check code formatting
run: ./gradlew spotlessCheck
- name: Test with Gradle
run: ./gradlew test
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- 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@v4
- name: Build with Gradle
run: ./gradlew shadowJar
- name: Upload the Server JAR as a Build Artifact
uses: actions/upload-artifact@v4
with:
# Artifact name
name: "SlimeVR-Server" # optional, default is artifact
# A file, directory or wildcard pattern that describes what to upload
path: server/desktop/build/libs/*
- 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: |
server/desktop/build/libs/*
bundle-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- 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@v4
- uses: pnpm/action-setup@v4
- 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/
- name: Set up Linux dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
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
execute_install_scripts: true
# Disables uploading logs as a build artifact
debug: false
- name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "ubuntu-22.04"
- uses: pnpm/action-setup@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- name: Build
run: |
pnpm i
pnpm run tauri build --config $( ./gui/scripts/gitversion.mjs )
- name: Make GUI tarball
run: |
tar czf slimevr-gui-dist.tar.gz -C gui/dist/ .
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-Dist
path: ./slimevr-gui-dist.tar.gz
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-Deb
path: target/release/bundle/deb/slimevr*.deb
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-AppImage
path: target/release/bundle/appimage/slimevr*.AppImage
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-RPM
path: target/release/bundle/rpm/slimevr*.rpm
- name: Prepare for release
if: startsWith(github.ref, 'refs/tags/')
run: |
cp target/release/bundle/appimage/slimevr*.AppImage ./SlimeVR-amd64.appimage
cp target/release/bundle/deb/slimevr*.deb ./SlimeVR-amd64.deb
cp target/release/bundle/rpm/slimevr*.rpm ./SlimeVR-amd64.rpm
- 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-gui-dist.tar.gz
./SlimeVR-amd64.appimage
./SlimeVR-amd64.deb
./SlimeVR-amd64.rpm
bundle-mac:
runs-on: macos-latest
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/
- name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "macos-latest"
- uses: pnpm/action-setup@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- name: Build
run: |
rustup target add x86_64-apple-darwin
pnpm i
pnpm run tauri build --target universal-apple-darwin --config $( ./gui/scripts/gitversion.mjs )
- name: Modify Application
run: |
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 ../../../
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName SlimeVR" slimevr.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleName SlimeVR" slimevr.app/Contents/Info.plist
codesign --sign - --deep --force slimevr.app
mv slimevr.app SlimeVR.app
cd ../dmg/
./bundle_dmg.sh --volname SlimeVR --icon slimevr 180 170 --app-drop-link 480 170 \
--window-size 660 400 --hide-extension ../macos/SlimeVR.app \
--volicon ../macos/SlimeVR.app/Contents/Resources/icon.icns --skip-jenkins \
--eula ../../../../LICENSE-MIT slimevr.dmg ../macos/SlimeVR.app
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-MacApp
path: target/universal-apple-darwin/release/bundle/macos/SlimeVR*.app
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-MacDmg
path: target/universal-apple-darwin/release/bundle/dmg/slimevr.dmg
- name: Prepare for release
if: startsWith(github.ref, 'refs/tags/')
run: |
cp target/universal-apple-darwin/release/bundle/dmg/slimevr.dmg ./SlimeVR-mac.dmg
- 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-mac.dmg
bundle-windows:
runs-on: windows-latest
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/
- name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "windows-latest"
- uses: pnpm/action-setup@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- name: Build
shell: bash
run: |
pnpm i
pnpm run skipbundler --config $( ./gui/scripts/gitversion.mjs )
- name: Bundle to zips
shell: bash
run: |
mkdir SlimeVR
cp gui/src-tauri/icons/icon.ico ./SlimeVR/run.ico
cp server/desktop/build/libs/slimevr.jar ./SlimeVR/slimevr.jar
cp server/core/resources/* ./SlimeVR/
cp target/release/slimevr.exe ./SlimeVR/
7z a -tzip SlimeVR-win64.zip ./SlimeVR/
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-Windows
path: ./SlimeVR*.zip
- 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-win64.zip

View File

@@ -1,57 +0,0 @@
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: SlimeVR Server
on: [ push, pull_request ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
with:
submodules: recursive
- name: Set up JDK 11
uses: actions/setup-java@v2.1.0
with:
java-version: '11'
distribution: 'adopt'
cache: 'gradle' # will restore cache of dependencies and wrappers
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Test with Gradle
run: ./gradlew clean test
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
with:
submodules: recursive
- name: Set up JDK 11
uses: actions/setup-java@v2.1.0
with:
java-version: '11'
distribution: 'adopt'
cache: 'gradle' # will restore cache of dependencies and wrappers
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew clean shadowJar
- name: Upload the Server JAR as a Build Artifact
uses: actions/upload-artifact@v2.2.4
with:
# Artifact name
name: "SlimeVR-Server" # optional, default is artifact
# A file, directory or wildcard pattern that describes what to upload
path: build/libs/*

24
.github/workflows/pontoon-pr.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: Update translations in main
on:
push:
branches:
- pontoon
jobs:
pull_request:
if: ${{ github.repository == 'SlimeVR/SlimeVR-Server' }}
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: repo-sync/pull-request@v2
with:
destination_branch: "main"
pr_title: "New Pontoon translations"
pr_body: "Please don't squash me 🥺"
pr_label: "Area: Translation"
github_token: ${{ secrets.PONTOON_BOT_KEY }}

39
.github/workflows/rebase.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
# This workflow will rebase `pontoon` with `main` changes, it's for making the
# Pontoon bot not try making commits to main
name: Rebase pontoon branch to main
on:
push:
branches:
- main
jobs:
rebase:
if: ${{ github.repository == 'SlimeVR/SlimeVR-Server' }}
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
ref: pontoon
submodules: recursive
# Get all the git history for rebasing
fetch-depth: 0
- name: Rebase
run: |
git config --local user.name "slimevr-bot"
git config --local user.email 'pantoon@slimevr.dev'
git fetch origin main
git rebase origin/main
git submodule update
- name: Push rebase
uses: github-actions-x/commit@v2.9
with:
github-token: ${{ secrets.PONTOON_BOT_KEY }}
push-branch: "pontoon"
commit-message: "update"
force-push: "true"
name: "slimevr-bot"
email: "pantoon@slimevr.dev"

43
.gitignore vendored
View File

@@ -1,12 +1,43 @@
# Ignore Gradle project-specific cache directory
.gradle
# Ignore Gradle build output directory
build
/bin/
# Syncthing ignore file
.stignore
MagnetoLib.dll
# Ignore .idea
.idea
# Ignore .fleet
.fleet
# Ignore eclipse stuff
.project
.classpath
.settings
# VSCode stuff
/.vscode/settings.json
/.vscode/launch.json
# Ignore eclipse stuff
.project
.classpath
.settings
# Node Stuff
/node_modules
.husky
# ignore gradle build folder
build/
# Rust build artifacts
/target
# direnv has been claimed for Nix usage
.direnv/
.devenv
# Ignore Android local properties
local.properties

6
.gitmodules vendored
View File

@@ -1,3 +1,3 @@
[submodule "slime-java-commons"]
path = slime-java-commons
url = https://github.com/Eirenliel/slime-java-commons.git
[submodule "solarxr-protocol"]
path = solarxr-protocol
url = https://github.com/SlimeVR/SolarXR-Protocol.git

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

3
.imgbotconfig Normal file
View File

@@ -0,0 +1,3 @@
{
"ignoredFiles": ["gui/src-tauri/icons/*"]
}

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}"`
),
};

1
.node-version Normal file
View File

@@ -0,0 +1 @@
18.12.1

6
.prettierrc Normal file
View File

@@ -0,0 +1,6 @@
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": true
}

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SlimeVR Server</name>
<comment>SlimeVR Server</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>

View File

@@ -1,2 +0,0 @@
connection.project.dir=
eclipse.preferences.version=1

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
line.separator=\r\n

View File

@@ -1,416 +0,0 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=ignore
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=info
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=info
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=error
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=48
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=48
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=48
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
org.eclipse.jdt.core.formatter.comment.format_block_comments=false
org.eclipse.jdt.core.formatter.comment.format_header=false
org.eclipse.jdt.core.formatter.comment.format_html=true
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
org.eclipse.jdt.core.formatter.comment.format_line_comments=false
org.eclipse.jdt.core.formatter.comment.format_source_code=true
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
org.eclipse.jdt.core.formatter.comment.line_length=80
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
org.eclipse.jdt.core.formatter.compact_else_if=true
org.eclipse.jdt.core.formatter.continuation_indentation=2
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_empty_lines=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=false
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
org.eclipse.jdt.core.formatter.lineSplit=200
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter

View File

@@ -1,3 +0,0 @@
eclipse.preferences.version=1
formatter_profile=_Essentia
formatter_settings_version=13

18
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,18 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"richardwillis.vscode-spotless-gradle",
"gaborv.flatbuffers",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"rust-lang.rust-analyzer",
"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": []
}

117
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,117 @@
# Contributing to SlimeVR
This document describes essential knowledge required to contribute to the SlimeVR Server.
### Prerequisites
- [Git](https://git-scm.com/downloads)
- [Java v17+](https://adoptium.net/temurin/releases/)
- [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)
## Cloning the code
First, clone the codebase using git in a terminal in the folder you want.
```bash
git clone --recursive https://github.com/SlimeVR/SlimeVR-Server.git
```
Now you can open the codebase in [IDEA](https://www.jetbrains.com/idea/download/) (Recommended; VSCode and Eclipse also work but have limited Kotlin support).
## Building the code
### Java (server)
The Java code is built with `gradle`, a CLI tool that manages java projects and their
dependencies.
- You can run the server by running `./gradlew run` in your IDE's terminal.
- To compile the code, run `./gradlew shadowJar`. The result will
be at `server/build/libs/slimevr.jar` (you can ignore `server.jar`).
(Note: Your IDE may be able to do all of the above for you.)
### Tauri (gui)
- 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
### Java (server)
The Java code is auto-formatted with [spotless](https://github.com/diffplug/spotless/tree/main/plugin-gradle).
Code is checked for autoformatting whenever you build, but you can also run
`./gradlew spotlessCheck` if you prefer.
To auto-format your Java and Kotlin code from the command line, you can run `./gradlew spotlessApply`.
We recommend installing support for spotless in your IDE, and formatting
whenever you save a file to make things easy.
If you need to prevent autoformatting for a select region of code, use
`// @formatter:off` and `// @formatter:on`
#### Setting up spotless for IntelliJ IDEA
* Install https://plugins.jetbrains.com/plugin/18321-spotless-gradle
* Add a keyboard shortcut for `Code` > `Reformat Code with Spotless`
* They are working on support to do this on save without a keybind
[here](https://github.com/ragurney/spotless-intellij-gradle/issues/8)
#### Setting up spotless for VSCode
* Install the `richardwillis.vscode-spotless-gradle` extension
* Add the following to your workspace settings, at `.vscode/settings.json`:
```json
"spotlessGradle.format.enable": true,
"editor.formatOnSave": true,
"[java]": {
"editor.defaultFormatter": "richardwillis.vscode-spotless-gradle"
}
```
#### Setting up Eclipse autoformatting
Import the formatting settings defined in `spotless.xml`, like this:
* Go to `File > Properties`, then `Java Code Style > Formatter`
* Check `Enable project specific settings`
* Click `Import`, then open `spotless.xml`, then `Apply`
* Go to `Java Editor > Save Actions`
* Select `Enable project specific settings`, `Perform the selected actions on save`,
`Format source code`, `Format all lines`
Eclipse will only do a subset of the checks in `spotless`, so you may still want to do
`./gradlew spotlessApply` if you ever see an error from spotless.
### Tauri (gui)
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 `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.
## SolarXR Protocol
SolarXR is used to communicate between the server (backend) and GUI (frontend).
It can also be used to communicate to third party applications.
When touching SolarXR:
- You will need `flatc`. To know which version to get, refer to
[SolarXR's README](https://github.com/SlimeVR/SolarXR-Protocol/blob/main/README.md#flatc)
- The only files you should edit are in the `schema` directory.
- After editing files, you should run `cd solarxr-protocol`, then either run
`./generate-flatbuffer.ps1` (Windows) or `./generate-flatbuffer.sh` (Linux/OSX)
- Make sure to commit your changes inside the submodule.
## Code Licensing
SlimeVR uses dual MIT and Apache-2.0 license. Be sure that any code that you reference,
or dependencies you add, are compatible with these licenses. For example, `GPL-v3` is
not compatible because it requires any and all code that depends on it to *also* be
licensed under `GPL-v3`.
## Discord
We use discord *a lot* to coordinate and discuss development. Come join us at
https://discord.gg/SlimeVR!

5487
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

16
Cargo.toml Normal file
View File

@@ -0,0 +1,16 @@
[workspace]
# Use 2021 edition resolver, better resolves crate features.
resolver = "2"
# A list of all rust crates in the workspace.
members = ["gui/src-tauri"]
# These settings can be inherited by workspace members
[workspace.package]
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.75" # Tauri's MSRV
repository = "https://github.com/SlimeVR/SlimeVR-Server"
[profile.release]
lto = "thin"

201
LICENSE-APACHE Normal file
View File

@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2020 Eiren Rain and SlimeVR Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2021 Eiren Rain, SlimeVR
Copyright (c) 2020 Eiren Rain and SlimeVR Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -5,43 +5,62 @@ Server orchestrates communication between multiple sensors and integrations, lik
Sensors implementations:
* [SlimeVR Tracker for ESP](https://github.com/SlimeVR/SlimeVR-Tracker-ESP) - ESP microcontrollers and multiple IMUs are supported
* [owoTrack Mobile App](https://github.com/abb128/owoTrackVRSyncMobile) - use phone as a tracker (limited functionality and compatibility)
* [owoTrack Mobile App](https://github.com/abb128/owoTrackVRSyncMobile) - use phones as trackers (limited functionality and compatibility)
* [SlimeVR Wrangler](https://github.com/carl-anders/slimevr-wrangler) - use Nintendo Switch Joycon controllers as trackers
Integrations:
* Use [SlimeVR OpenVR Driver](https://github.com/SlimeVR/SlimeVR-OpenVR-Driver) as a driver for SteamVR
* Integrations with other systems will be added later
* Use [SlimeVR OpenVR Driver](https://github.com/SlimeVR/SlimeVR-OpenVR-Driver) as a driver for SteamVR.
* Use built-in OSC Trackers support for FBT integration with VRChat, PCVR or Standalone.
* Use built-in VMC support for sending and receiving tracking data to and from other apps such as VSeeFace.
* Export recordings as .BVH files to integrate motion capture data into 3d applications such as Blender.
## How to use
## Installing
It's highly recommended to install using the installer downloadable here: https://github.com/SlimeVR/SlimeVR-Installer/releases/latest/download/slimevr_web_installer.exe
It's recommended to download installer from here: https://github.com/SlimeVR/SlimeVR-Installer/releases/latest/download/slimevr_web_installer.exe
Latest setup instructions are [in our docs](https://docs.slimevr.dev/server/index.html).
Latest instructions are [on our site](https://docs.slimevr.dev/slimevr-setup.html).
## Building & Contributing
For information on building and contributing to the codebase, see [CONTRIBUTING.md](CONTRIBUTING.md).
## How to build
## Translating
You need to execute these commands in the folder where you want this project.
Translation is done via Pontoon at [i18n.slimevr.dev](https://i18n.slimevr.dev/). Please join our [Discord translation forum](https://discord.com/channels/817184208525983775/1050413434249949235) to coordinate.
```bash
# Clone repositories
git clone --recursive https://github.com/SlimeVR/SlimeVR-Server.git
## License clarification
**SlimeVR software** (including server, firmware, drivers, installer, documents, and others - see
licence for each case specifically) **is distributed under a dual MIT/Apache 2.0 License
([LICENSE-MIT] and [LICENSE-APACHE]). The software is the copyright of the SlimeVR
contributors.**
# Enter the directory and build the runnable server JAR
cd SlimeVR-Server
gradlew shadowJar
```
**However, these licenses have some limits, and if you wish to distribute software based
on SlimeVR, you need to be aware of them:**
Open Slime VR Server project in Eclipse or Intellij Idea
* When distributing any software that uses or is based on SlimeVR, you have to provide
to the end-user at least one of the original, unmodified [LICENSE-MIT] or
[LICENSE-APACHE] files from SlimeVR. This includes the `Copyright (c) 2020 Eiren Rain
and SlimeVR Contributors` part of the license. It is insufficient to use a generic MIT
or Apache-2.0 License, **it must be the original license file**.
* This applies even if you distribute software without the source code. In this case,
one way to provide it to the end-user is to have a menu in your application that lists
all the open source licenses used, including SlimeVR's.
run gradle command `shadowJar` to build a runnable server JAR
Please refer to the [LICENSE-MIT] and [LICENSE-APACHE] files if you are at any point
uncertain what the exact requirements are.
## License Clarifications
## Contributions
Any contributions submitted for inclusion in this repository will be dual-licensed under
either:
**SlimeVR software** (including server, firmware, drivers, installator, documents, and others - see licence for each case specifically) **is distributed under MIT License and is copyright of Eiren Rain and SlimeVR.** MIT Licence is a permissive license giving you rights to modify and distribute the software with little strings attached.
- MIT License ([LICENSE-MIT])
- Apache License, Version 2.0 ([LICENSE-APACHE])
**However, there are some limits, and if you wish to distribute software based on SlimeVR, you need to be aware of them:**
Unless you explicitly state otherwise, any contribution intentionally submitted for
inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual
licensed as above, without any additional terms or conditions.
* When distributing any software based on SlimeVR, you have to clarify to the end user that your software is based on SlimeVR that is distributed under MIT License and is subject to copyright of Eiren Rain
* You must clarify either which parts of original software you're using, or what changes you did to the original software (i.e. clarify which parts of your software is covered by MIT License)
* You must provide a copy of the original license (see LICENSE file)
* You don't have to release your own software under MIT License or even open source at all, but you have to state that it's based on SlimeVR
* This applies even if you distribute software without the source code
You also certify that the code you have used is compatible with those licenses or is
authored by you. If you're doing so on your work time, you certify that your employer is
okay with this and that you are authorized to provide the above licenses.
[LICENSE-MIT]: LICENSE-MIT
[LICENSE-APACHE]: LICENSE-APACHE

BIN
assets/img/onboarding.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 KiB

View File

@@ -1,79 +0,0 @@
/*
* This file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java Library project to get you started.
* For more details take a look at the Java Libraries chapter in the Gradle
* User Manual available at https://docs.gradle.org/6.3/userguide/java_library_plugin.html
*/
plugins {
id 'application'
id "com.github.johnrengelman.shadow" version "6.1.0"
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
// Set compiler to use UTF-8
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
javadoc.options.encoding = 'UTF-8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
if (JavaVersion.current().isJava9Compatible()) {
// TODO: Gradle 6.6
// options.release = 8
options.compilerArgs.addAll(['--release', '8'])
}
}
tasks.withType(Test) {
systemProperty('file.encoding', 'UTF-8')
}
tasks.withType(Javadoc) {
options.encoding = 'UTF-8'
}
allprojects {
repositories {
// Use jcenter for resolving dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
mavenCentral()
}
}
dependencies {
compile project(':slime-java-commons')
// This dependency is exported to consumers, that is to say found on their compile classpath.
compile 'org.apache.commons:commons-math3:3.6.1'
compile 'org.yaml:snakeyaml:1.25'
compile 'net.java.dev.jna:jna:5.6.0'
compile 'net.java.dev.jna:jna-platform:5.6.0'
compile 'com.illposed.osc:javaosc-core:0.8'
compile 'com.fazecast:jSerialComm:[2.0.0,3.0.0)'
compile 'com.google.protobuf:protobuf-java:3.17.3'
compile "org.java-websocket:Java-WebSocket:1.5.1"
compile 'com.melloware:jintellitype:1.4.0'
// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:28.2-jre'
// Use JUnit test framework
testImplementation platform('org.junit:junit-bom:5.7.2')
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation 'org.junit.platform:junit-platform-launcher'
}
test {
useJUnitPlatform()
}
shadowJar {
archiveBaseName.set('slimevr')
archiveClassifier.set('')
archiveVersion.set('')
}
application {
mainClassName = 'io.eiren.vr.Main'
}

3
build.gradle.kts Normal file
View File

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

242
deny.toml Normal file
View File

@@ -0,0 +1,242 @@
# This template contains all of the possible sections and their default values
# Note that all fields that take a lint level have these possible values:
# * deny - An error will be produced and the check will fail
# * warn - A warning will be produced, but the check will not fail
# * allow - No warning or error will be produced, though in some cases a note
# will be
# The values provided in this template are the default values that will be used
# when any section or field is not specified in your own configuration
# Root options
# The graph table configures how the dependency graph is constructed and thus
# which crates the checks are performed against
[graph]
# If 1 or more target triples (and optionally, target_features) are specified,
# only the specified targets will be checked when running `cargo deny check`.
# This means, if a particular package is only ever used as a target specific
# dependency, such as, for example, the `nix` crate only being used via the
# `target_family = "unix"` configuration, that only having windows targets in
# this list would mean the nix crate, as well as any of its exclusive
# dependencies not shared by any other crates, would be ignored, as the target
# list here is effectively saying which targets you are building for.
targets = [
# The triple can be any string, but only the target triples built in to
# rustc (as of 1.40) can be checked against actual config expressions
#"x86_64-unknown-linux-musl",
# You can also specify which target_features you promise are enabled for a
# particular target. target_features are currently not validated against
# the actual valid features supported by the target architecture.
#{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
]
# When creating the dependency graph used as the source of truth when checks are
# executed, this field can be used to prune crates from the graph, removing them
# from the view of cargo-deny. This is an extremely heavy hammer, as if a crate
# is pruned from the graph, all of its dependencies will also be pruned unless
# they are connected to another crate in the graph that hasn't been pruned,
# so it should be used with care. The identifiers are [Package ID Specifications]
# (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html)
#exclude = []
# If true, metadata will be collected with `--all-features`. Note that this can't
# be toggled off if true, if you want to conditionally enable `--all-features` it
# is recommended to pass `--all-features` on the cmd line instead
all-features = false
# If true, metadata will be collected with `--no-default-features`. The same
# caveat with `all-features` applies
no-default-features = false
# If set, these feature will be enabled when collecting metadata. If `--features`
# is specified on the cmd line they will take precedence over this option.
#features = []
# The output table provides options for how/if diagnostics are outputted
[output]
# When outputting inclusion graphs in diagnostics that include features, this
# option can be used to specify the depth at which feature edges will be added.
# This option is included since the graphs can be quite large and the addition
# of features from the crate(s) to all of the graph roots can be far too verbose.
# This option can be overridden via `--feature-depth` on the cmd line
feature-depth = 1
# This section is considered when running `cargo deny check advisories`
# More documentation for the advisories section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
[advisories]
# The path where the advisory databases are cloned/fetched into
#db-path = "$CARGO_HOME/advisory-dbs"
# The url(s) of the advisory databases to use
#db-urls = ["https://github.com/rustsec/advisory-db"]
# A list of advisory IDs to ignore. Note that ignored advisories will still
# output a note when they are encountered.
ignore = [
#"RUSTSEC-0000-0000",
#{ id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" },
#"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish
#{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" },
]
# If this is true, then cargo deny will use the git executable to fetch advisory database.
# If this is false, then it uses a built-in git library.
# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
# See Git Authentication for more information about setting up git authentication.
#git-fetch-with-cli = true
# This section is considered when running `cargo deny check licenses`
# More documentation for the licenses section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
[licenses]
# List of explicitly allowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
allow = [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"Unicode-3.0",
"Unicode-DFS-2016",
"MIT-0",
"ISC",
"BSD-3-Clause",
"Zlib",
"MPL-2.0",
]
# The confidence threshold for detecting a license from license text.
# The higher the value, the more closely the license text must be to the
# canonical license text of a valid SPDX license file.
# [possible values: any between 0.0 and 1.0].
confidence-threshold = 0.8
# Allow 1 or more licenses on a per-crate basis, so that particular licenses
# aren't accepted for every possible crate as with the normal allow list
exceptions = [
# Each entry is the crate and version constraint, and its specific allow
# list
#{ allow = ["Zlib"], crate = "adler32" },
]
# Some crates don't have (easily) machine readable licensing information,
# adding a clarification entry for it allows you to manually specify the
# licensing information
#[[licenses.clarify]]
# The package spec the clarification applies to
#crate = "ring"
# The SPDX expression for the license requirements of the crate
#expression = "MIT AND ISC AND OpenSSL"
# One or more files in the crate's source used as the "source of truth" for
# the license expression. If the contents match, the clarification will be used
# when running the license check, otherwise the clarification will be ignored
# and the crate will be checked normally, which may produce warnings or errors
# depending on the rest of your configuration
#license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
#{ path = "LICENSE", hash = 0xbd0eed23 }
#]
[licenses.private]
# If true, ignores workspace crates that aren't published, or are only
# published to private registries.
# To see how to mark a crate as unpublished (to the official registry),
# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
ignore = false
# One or more private registries that you might publish crates to, if a crate
# is only published to private registries, and ignore is true, the crate will
# not have its license(s) checked
registries = [
#"https://sekretz.com/registry
]
# This section is considered when running `cargo deny check bans`.
# More documentation about the 'bans' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
[bans]
# Lint level for when multiple versions of the same crate are detected
multiple-versions = "warn"
# Lint level for when a crate version requirement is `*`
wildcards = "allow"
# The graph highlighting used when creating dotgraphs for crates
# with multiple versions
# * lowest-version - The path to the lowest versioned duplicate is highlighted
# * simplest-path - The path to the version with the fewest edges is highlighted
# * all - Both lowest-version and simplest-path are used
highlight = "all"
# The default lint level for `default` features for crates that are members of
# the workspace that is being checked. This can be overridden by allowing/denying
# `default` on a crate-by-crate basis if desired.
workspace-default-features = "allow"
# The default lint level for `default` features for external crates that are not
# members of the workspace. This can be overridden by allowing/denying `default`
# on a crate-by-crate basis if desired.
external-default-features = "allow"
# List of crates that are allowed. Use with care!
allow = [
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" },
]
# List of crates to deny
deny = [
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" },
# Wrapper crates can optionally be specified to allow the crate when it
# is a direct dependency of the otherwise banned crate
#{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] },
]
# List of features to allow/deny
# Each entry the name of a crate and a version range. If version is
# not specified, all versions will be matched.
#[[bans.features]]
#crate = "reqwest"
# Features to not allow
#deny = ["json"]
# Features to allow
#allow = [
# "rustls",
# "__rustls",
# "__tls",
# "hyper-rustls",
# "rustls",
# "rustls-pemfile",
# "rustls-tls-webpki-roots",
# "tokio-rustls",
# "webpki-roots",
#]
# If true, the allowed features must exactly match the enabled feature set. If
# this is set there is no point setting `deny`
#exact = true
# Certain crates/versions that will be skipped when doing duplicate detection.
skip = [
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason why it can't be updated/removed" },
]
# Similarly to `skip` allows you to skip certain crates during duplicate
# detection. Unlike skip, it also includes the entire tree of transitive
# dependencies starting at the specified crate, up to a certain depth, which is
# by default infinite.
skip-tree = [
#"ansi_term@0.11.0", # will be skipped along with _all_ of its direct and transitive dependencies
#{ crate = "ansi_term@0.11.0", depth = 20 },
]
# This section is considered when running `cargo deny check sources`.
# More documentation about the 'sources' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
[sources]
# Lint level for what to happen when a crate from a crate registry that is not
# in the allow list is encountered
unknown-registry = "warn"
# Lint level for what to happen when a crate from a git repository that is not
# in the allow list is encountered
unknown-git = "warn"
# List of URLs for allowed crate registries. Defaults to the crates.io index
# if not specified. If it is specified but empty, no registries are allowed.
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
# List of URLs for allowed Git repositories
allow-git = []
[sources.allow-org]
# 1 or more github.com organizations to allow git sources for
github = [""]
# 1 or more gitlab.com organizations to allow git sources for
gitlab = [""]
# 1 or more bitbucket.org organizations to allow git sources for
bitbucket = [""]

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
dev.slimevr.SlimeVR.metainfo.xml by SlimeVR contributors
To the extent possible under law, the person who associated CC0 with
dev.slimevr.SlimeVR.metainfo.xml has waived all copyright and related or neighboring rights
to dev.slimevr.SlimeVR.metainfo.xml.
You should have received a copy of the CC0 legalcode along with this
work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
-->
<component type="desktop-application">
<id>dev.slimevr.SlimeVR</id>
<name>SlimeVR</name>
<summary>Accessible full-body tracking in VR</summary>
<developer_name>SlimeVR Team</developer_name>
<!-- CC0 so attribution is not required -->
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT OR Apache-2.0</project_license>
<content_rating type="oars-1.1" />
<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>
<url type="contribute">https://github.com/SlimeVR/SlimeVR-Server/blob/main/CONTRIBUTING.md</url>
<url type="contact">https://discord.gg/SlimeVR</url>
<recommends>
<display_length compare="ge">300</display_length>
</recommends>
<supports>
<control>pointing</control>
<control>keyboard</control>
<control>touch</control>
</supports>
<branding>
<color type="primary" scheme_preference="light">#BB8AE5</color>
<color type="primary" scheme_preference="dark">#663499</color>
</branding>
<description>
<p>
SlimeVR is a set of open hardware sensors and open source software that facilitates full-body
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>
<screenshots>
<screenshot type="default" xml:lang="en">
<caption>The onboarding for the GUI</caption>
<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.12.1" date="2024-04-29"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.1</url></release>
<release version="0.12.0" date="2024-04-26"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0</url></release>
<release version="0.12.0~rc.4" type="development" date="2024-04-21"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.4</url></release>
<release version="0.12.0~rc.3" type="development" date="2024-04-14"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.3</url></release>
<release version="0.12.0~rc.2" type="development" date="2024-04-09"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.2</url></release>
<release version="0.12.0~rc.1" type="development" date="2024-04-04"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.1</url></release>
<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.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.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>
<release version="0.6.2" date="2023-02-17"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.2</url></release>
<release version="0.6.1" date="2023-02-12"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.1</url></release>
<release version="0.6.0" date="2023-01-05"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.0</url></release>
<release version="0.5.1" date="2022-12-12"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.5.1</url></release>
<release version="0.5.0" date="2022-12-07"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.5.0</url></release>
<release version="0.4.0" date="2022-11-24"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.4.0</url></release>
<release version="0.3.1" date="2022-11-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.3.1</url></release>
<release version="0.3.0" date="2022-11-16"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.3.0</url></release>
<release version="0.2.1" date="2022-08-24"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.2.1</url></release>
<release version="0.2.0" date="2022-06-28"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.2.0</url></release>
</releases>
</component>

419
flake.lock generated Normal file
View File

@@ -0,0 +1,419 @@
{
"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"
],
"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"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"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"
]
},
"locked": {
"lastModified": 1685908677,
"narHash": "sha256-E4zUPEUFyVWjVm45zICaHRpfGepfkE9Z2OECV9HXfA4=",
"owner": "guibou",
"repo": "nixGL",
"rev": "489d6b095ab9d289fe11af0219a9ff00fe87c7c5",
"type": "github"
},
"original": {
"owner": "guibou",
"repo": "nixGL",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1678875422,
"narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
},
"original": {
"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": 1721562059,
"narHash": "sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "68c9ed8bbed9dfce253cc91560bf9043297ef2fe",
"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_2"
}
},
"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"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

152
flake.nix Normal file
View File

@@ -0,0 +1,152 @@
{
description = "Affordable full-body tracking for VR!";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
devenv.url = "github:cachix/devenv";
nix2container = {
url = "github:nlewo/nix2container";
inputs.nixpkgs.follows = "nixpkgs";
};
mk-shell-bin.url = "github:rrbutani/nix-mk-shell-bin";
nixgl = {
url = "github:guibou/nixGL";
inputs.nixpkgs.follows = "nixpkgs";
};
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
nixConfig = {
extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
extra-substituters = "https://devenv.cachix.org";
};
outputs = inputs @ {
self,
flake-parts,
nixgl,
...
}:
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];
};
devenv.shells.default = let
fenixpkgs = inputs'.fenix.packages;
rust_toolchain = lib.importTOML ./rust-toolchain.toml;
in {
name = "slimevr";
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
];
# 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
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
])
++ lib.optionals pkgs.stdenv.isDarwin [
pkgs.darwin.apple_sdk.frameworks.Security
];
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-Ngiz76YP4HTY75GGdH2P+APE/DEIx2R/Dn+BwwOyzZU=";
};
components = rust_toolchain.toolchain.components;
};
env = {
GIO_EXTRA_MODULES = "${pkgs.glib-networking}/lib/gio/modules:${pkgs.dconf.lib}/lib/gio/modules";
};
enterShell = with pkgs; ''
# Export a LD_LIBRARY_PATH without libudev-zero as libgudev not likey
export SLIMEVR_RUST_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="${libudev-zero}/lib:$LD_LIBRARY_PATH"
# GStreamer plugins won't be found without this
export GST_PLUGIN_SYSTEM_PATH_1_0="${pkgs.gst_all_1.gstreamer.out}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-base}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-good}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-bad}/lib/gstreamer-1.0"
'';
};
};
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.
};
};
}

20
gradle.properties Normal file
View File

@@ -0,0 +1,20 @@
# Fixes bug with spotless. See https://github.com/diffplug/spotless/issues/834#issuecomment-819118761
org.gradle.jvmargs=--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
kotlin.code.style=official
# https://github.com/Kotlin/kotlinx-atomicfu#atomicfu-compiler-plugin
kotlinx.atomicfu.enableJvmIrTransformation=true
android.useAndroidX=true
android.nonTransitiveRClass=true
org.gradle.unsafe.configuration-cache=false
kotlinVersion=1.9.23
spotlessVersion=6.25.0
shadowJarVersion=8.1.1
buildconfigVersion=5.3.5
grgitVersion=5.2.2

Binary file not shown.

View File

@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

285
gradlew vendored Normal file → Executable file
View File

@@ -1,7 +1,7 @@
#!/usr/bin/env sh
#!/bin/sh
#
# Copyright 2015 the original author or authors.
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,78 +17,113 @@
#
##############################################################################
##
## Gradle start up script for UN*X
##
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
MAX_FD=maximum
warn () {
echo "$*"
}
} >&2
die () {
echo
echo "$*"
echo
exit 1
}
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD="$JAVA_HOME/bin/java"
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -97,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
@@ -105,79 +140,105 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

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

@@ -14,7 +14,7 @@
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -25,7 +25,8 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -54,7 +55,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -64,38 +65,26 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal

51
gui/.eslintrc.json Normal file
View File

@@ -0,0 +1,51 @@
{
"env": {
"browser": true,
"es2021": true,
"jest": true
},
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@dword-design/import-alias/recommended"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["react-hooks", "@typescript-eslint"],
"rules": {
"react/react-in-jsx-scope": "off",
"react/prop-types": "off",
"spaced-comment": "error",
"quotes": ["error", "single"],
"no-duplicate-imports": "error",
"no-inline-styles": "off",
"@typescript-eslint/no-explicit-any": "off",
"react/no-unescaped-entities": "off",
"camelcase": "error",
"@typescript-eslint/no-unused-vars": [
"warn",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_"
}
],
"@dword-design/import-alias/prefer-alias": [
"error",
{
"alias": {
"@": "./src/"
}
}
]
},
"settings": {
"import/resolver": {
"typescript": {}
},
"react": {
"version": "detect"
}
}
}

1
gui/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto eol=lf

33
gui/.gitignore vendored Normal file
View File

@@ -0,0 +1,33 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# JS/TS dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# Build artifacts
/build
/target
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
*.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',
};

20
gui/index.html Normal file
View File

@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, minimum-scale=1.0" />
<meta name="theme-color" content="#000000" />
<link rel="apple-touch-icon" href="/logo192.png" />
<link rel="manifest" href="/manifest.json" />
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="module" src="/src/index.tsx"></script>
</body>
</html>

81
gui/package.json Normal file
View File

@@ -0,0 +1,81 @@
{
"name": "slimevr-ui",
"version": "0.5.1",
"private": true,
"dependencies": {
"@fluent/bundle": "^0.18.0",
"@fluent/react": "^0.15.2",
"@fontsource/poppins": "^5.0.14",
"@formatjs/intl-localematcher": "^0.2.32",
"@react-three/drei": "^9.107.0",
"@react-three/fiber": "^8.16.8",
"@tauri-apps/api": "2.0.0-beta.14",
"@tauri-apps/plugin-dialog": "2.0.0-beta.6",
"@tauri-apps/plugin-fs": "2.0.0-beta.6",
"@tauri-apps/plugin-os": "2.0.0-beta.6",
"@tauri-apps/plugin-shell": "2.0.0-beta.7",
"@tauri-apps/plugin-store": "2.0.0-beta.6",
"browser-fs-access": "^0.35.0",
"classnames": "^2.5.1",
"flatbuffers": "22.10.26",
"intl-pluralrules": "^2.0.1",
"ip-num": "^1.5.1",
"prompts": "^2.4.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-error-boundary": "^4.0.13",
"react-helmet": "^6.1.0",
"react-hook-form": "^7.52.0",
"react-modal": "^3.16.1",
"react-responsive": "^10.0.0",
"react-router-dom": "^6.23.1",
"semver": "^7.6.2",
"solarxr-protocol": "file:../solarxr-protocol",
"three": "^0.163.0",
"ts-pattern": "^5.2.0",
"typescript": "^5.4.5"
},
"scripts": {
"start": "vite --force",
"build": "vite build",
"dev": "tauri dev",
"skipbundler": "tauri build --no-bundle",
"tauri": "tauri",
"lint": "tsc --noEmit && eslint --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && prettier --check \"src/**/*.{js,jsx,ts,tsx,css,scss,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,scss,md,json}\"",
"preview-vite": "vite preview",
"javaversion-build": "cd src-tauri/src/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class"
},
"devDependencies": {
"@dword-design/eslint-plugin-import-alias": "^4.0.9",
"@tailwindcss/forms": "^0.5.7",
"@tauri-apps/cli": "2.0.0-beta.21",
"@types/file-saver": "^2.0.7",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@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.13.0",
"@typescript-eslint/parser": "^7.13.0",
"@vitejs/plugin-react": "^4.3.1",
"autoprefixer": "^10.4.19",
"cross-env": "^7.0.3",
"eslint": "^8.57.0",
"eslint-config-airbnb": "^19.0.4",
"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.2",
"eslint-plugin-react-hooks": "^4.6.2",
"prettier": "^3.3.2",
"rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.77.5",
"spdx-satisfies": "^5.0.1",
"tailwind-gradient-mask-image": "^1.2.0",
"tailwindcss": "^3.4.4",
"vite": "^5.3.1"
}
}

6
gui/postcss.config.cjs Normal file
View File

@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

BIN
gui/public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,881 @@
# 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 = Připojování k serveru
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 = 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
body_part-NONE = Nepřiřazeno
body_part-HEAD = Hlava
body_part-NECK = Krk
body_part-RIGHT_SHOULDER = Pravé rameno
body_part-RIGHT_UPPER_ARM = Pravé nadloktí
body_part-RIGHT_LOWER_ARM = Pravé podloktí
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
body_part-LEFT_SHOULDER = Levé rameno
body_part-LEFT_UPPER_ARM = Levé nadloktí
body_part-LEFT_LOWER_ARM = Levé podloktí
body_part-LEFT_HAND = Levá ruka
body_part-LEFT_UPPER_LEG = Levé stehno
body_part-LEFT_LOWER_LEG = Levý kotník
body_part-LEFT_FOOT = Levá noha
## Proportions
skeleton_bone-NONE = Žádný
skeleton_bone-HEAD = Posun hlavy
skeleton_bone-NECK = Délka krku
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
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 = Obnovit nastavení proporcí
reset-full = Plný Reset
reset-mounting = Znovu nastavit nasazení
reset-yaw = Rychlý reset
## Serial detection stuff
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 akci kterou chcete vykonat.
serial_detection-open_wifi = Připojit se k Wi-Fi
serial_detection-open_serial = Otevřít sériovou konzoly
serial_detection-submit = Odeslat!
serial_detection-close = Zavřít
## Navigation bar
navbar-home = Domů
navbar-body_proportions = Tělesné proporce
navbar-trackers_assign = Přiřazení trackerů
navbar-mounting = Kalibrace nasazení
navbar-onboarding = Průvodce nastavením
navbar-settings = Nastavení
## Biovision hierarchy recording
bvh-start_recording = Nahrát BVH
bvh-recording = Nahrávání...
## Tracking pause
tracking-unpaused = Pozastavit sledování
tracking-paused = Pokračovat se sledováním
## Widget: Overlay settings
widget-overlay = Překrytí
widget-overlay-is_visible_label = Zobrazit překrytí v SteamVR
widget-overlay-is_mirrored_label = Zobrazit překrytí jako zrcadlo
## Widget: Drift compensation
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 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í
## Widget: IMU Visualizer
widget-imu_visualizer = Rotace
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
tracker-status-busy = Zaneprázdněný
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
tracker-table-column-name = Název
tracker-table-column-type = Typ
tracker-table-column-battery = Baterie
tracker-table-column-ping = Ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Teplota °C
tracker-table-column-linear-acceleration = Akcel. X/Y/Z
tracker-table-column-rotation = Rotace X/Y/Z
tracker-table-column-position = Pozice X/Y/Z
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 = 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 = Na kterou část těla je tracker přiřazen?
tracker-settings-assignment_section-edit = Upravit přiřazení
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 = 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
tracker-part_card-no_name = Bez jména
tracker-part_card-unassigned = Nepřiřazeno
## Body assignment menu
body_assignment_menu = Kde chcete, aby tento tracker byl?
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
## 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 = { "Který tracker přiřadit k" }
tracker_selection_menu-NONE = Který tracker chcete aby byl nezařazený?
tracker_selection_menu-HEAD = { -tracker_selection-part } hlavě?
tracker_selection_menu-NECK = { -tracker_selection-part } krku?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } pravému rameni?
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } pravýmu nadloktí?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } pravýmu podloktí?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } pravé ruce?
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } pravému stehnu?
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 = { -tracker_selection-part } kyčle?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } levému rameni?
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } levýmu nadloktí?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } levýmu podloktí?
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } levé ruce?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } levému stehnu?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } levému kotníku?
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } levému chodidlu?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } levému ovladači?
tracker_selection_menu-unassigned = Nepřiřazené Trackery
tracker_selection_menu-assigned = Přiřazené Trackery
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> 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
mounting_selection_menu = Kde chcete, aby byl tento tracker umístěn?
mounting_selection_menu-close = Zavřít
## Sidebar settings
settings-sidebar-title = Nastavení
settings-sidebar-general = Obecné
settings-sidebar-tracker_mechanics = Mechanika trackerů
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
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = Trackery 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 =
Povolit nebo zakázat určité trackery SteamVR.
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-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
settings-general-tracker_mechanics = Mechanika trackerů
settings-general-tracker_mechanics-filtering = Filtrování
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Vyberte typ filtrování pro své trackery.
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 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á mírné zpoždění.
settings-general-tracker_mechanics-filtering-type-prediction = Predikce
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
settings-general-tracker_mechanics-drift_compensation-description =
Kompenzuje vychýlení IMU použitím inverzní rotace.
Změňte velikost kompenzace a počet resetů, které jsou brány v úvahu.
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
settings-general-fk_settings = Nastavení trackování
# 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 = Podlahovej clip
# 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 = 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 = 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-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 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)
settings-general-gesture_control = Ovládání gesty
settings-general-gesture_control-subtitle = Resetování na základě klepnutí
settings-general-gesture_control-description = Umožňuje spouštět resetování klepnutím na tracker. Sledovací zařízení umístěné nejvýše na vašem hrudníku slouží k Rychlému-Resetování, tracker umístěný nejvýše na levé noze se používá pro Resetování, a tracker umístěný nejvýše na pravé noze se používá pro Resetování Montáže. Je třeba zmínit, že aby bylo klepnutí zaregistrováno, klepnutí musí být provedena do 0.6 vteřin.
# 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] { $amount } klepnutí
[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í.
## Appearance settings
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-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
settings-serial = Sériová Konzole
# This cares about multilines
settings-serial-description =
Jedná se o přímý informační kanál pro sériovou komunikaci.
Může být užitečné, pokud potřebujete zjistit, zda se firmware chová špatně.
settings-serial-connection_lost = Ztráta připojení k seriálu, Připojení se obnovuje...
settings-serial-reboot = Restartovat
settings-serial-factory_reset = Obnovení továrního nastavení
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>Varování</b> Toto obnoví tovární nastavení trackeru.
To znamená, že nastavení Wi-Fi a kalibrace <b>budou ztracena!</b>
settings-serial-factory_reset-warning-ok = Vím, co dělám
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
settings-osc-router = OSC router
# This cares about multilines
settings-osc-router-description =
Přeposlat zprávy OSC z jiného programu.
Užitečné například pro použití jiného OSC programu s VRChat.
settings-osc-router-enable = Zapnout
settings-osc-router-enable-description = Vypnutí nebo zapnutí přeposílání zpráv.
settings-osc-router-enable-label = Zapnout
settings-osc-router-network = Síťové porty
# This cares about multilines
settings-osc-router-network-description =
Nastavení portů pro naslouchání a odesílání dat.
Tyto porty mohou být stejné jako ostatní porty používané v serveru SlimeVR.
settings-osc-router-network-port_in =
.label = Vstup portu
.placeholder = Vstup portu (výchozí: 9002)
settings-osc-router-network-port_out =
.label = Výstup z portu
.placeholder = Výstup z portu (výchozí: 9000)
settings-osc-router-network-address = Síťová adresa
settings-osc-router-network-address-description = Nastavte adresu pro odesílání dat.
settings-osc-router-network-address-placeholder = Adresa IPV4
## OSC VRChat settings
settings-osc-vrchat = Trackery VRChat OSC
settings-osc-vrchat-enable = Zapnout
settings-osc-vrchat-enable-description = Vypnutí a zapnutí odesílání a přijímání dat.
settings-osc-vrchat-enable-label = Zapnout
settings-osc-vrchat-network = Síťové porty
settings-osc-vrchat-network-port_in =
.label = Vstup portu
.placeholder = Vstup portu (výchozí: 9001)
settings-osc-vrchat-network-port_out =
.label = Výstup portu
.placeholder = Výstup portu (výchozí: 9000)
settings-osc-vrchat-network-address = Síťová adresa
settings-osc-vrchat-network-address-placeholder = VRChat ip adresa
settings-osc-vrchat-network-trackers = Trackery
settings-osc-vrchat-network-trackers-description = Vypnuti a zapnutí odesílání konkrétních trackerů přes OSC.
settings-osc-vrchat-network-trackers-chest = Hrudník
settings-osc-vrchat-network-trackers-hip = Kyčel
settings-osc-vrchat-network-trackers-knees = Kolena
settings-osc-vrchat-network-trackers-feet = Chodidla
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
onboarding-wifi_creds-back = Zpět na úvod
onboarding-wifi_creds = Zadání přihlašovacích údajů k Wi-Fi
# This cares about multilines
onboarding-wifi_creds-description =
Sledovací zařízení budou tato přihlašovací údaje používat k připojení.
Použijte prosím přihlašovací údaje, ke kterým jste aktuálně připojeni.
onboarding-wifi_creds-skip = Přeskočit nastavení Wi-Fi
onboarding-wifi_creds-submit = Odeslat!
onboarding-wifi_creds-ssid =
.label = Název Wi-Fi
.placeholder = Zadejte název Wi-Fi
onboarding-wifi_creds-password =
.label = Heslo
.placeholder = Zadejte heslo
## Mounting setup
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
onboarding-home = Vítejte k SlimeVR
onboarding-home-start = Pusťme se do toho!
## Enter VR part of setup
onboarding-enter_vr-back = Zpět na přiřazení trackerů
onboarding-enter_vr-title = Čas vstoupit do VR!
onboarding-enter_vr-description = Nasaďte si všechny trackery a pak vstupte do VR!
onboarding-enter_vr-ready = Jsem připraven
## Setup done
onboarding-done-title = Vše je připraveno!
onboarding-done-description = Užijte si zážitek s full body tracking
onboarding-done-close = Zavřít průvodce
## Tracker connection setup
onboarding-connect_tracker-back = Zpět na přihlašovací údaje Wi-Fi
onboarding-connect_tracker-title = Připojení trackerů
onboarding-connect_tracker-issue-serial = Mám potíže s připojením!
onboarding-connect_tracker-usb = USB Tracker
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",
# 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] Žádné připojené trackery
[one] 1 připojený tracker
[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 = 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ů 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 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í
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í
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 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 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 = 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 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 tutoriál
onboarding-manual_proportions-title = Manuální proporce těla
onboarding-manual_proportions-precision = Přesná úprava
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 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 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 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 = Připravte se na nahrání 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 = 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:
# 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 ->
[one] Zbývá 1 sekunda
[few] Zbývají { $time } sekundy
*[other] Zbývá { $time } sekund
}
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ý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

@@ -0,0 +1,626 @@
### 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!
# 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 = Tilslutter til serveren
websocket-connection_lost = Forbindelse mistet til serveren. Forsøger at oprette forbindelse igen...
## Update notification
version_update-title = Ny version tilgængelig: { $version }
version_update-description = Ved at klikke på "Opdater" downloades SlimeVR-installationsprogrammet for dig.
version_update-update = Opdater
version_update-close = Luk
## Tips
tips-find_tracker = Ikke sikker på, hvilken tracker er hvilken? Ryst trackeren, og den vil fremhæve det tilsvarende element.
tips-do_not_move_heels = Sørg for, at dine hæle ikke bevæger sig under optagelsen!
tips-file_select = Træk og slip filer for at bruge, eller <u>gennemse</u>.
tips-tap_setup = Du kan trykke langsomt 2 gange på din tracker for at vælge den i stedet for at vælge den i menuen.
## Body parts
body_part-NONE = Ikke tildelt
body_part-HEAD = Hoved
body_part-NECK = Nakke
body_part-RIGHT_SHOULDER = Højre skulder
body_part-RIGHT_UPPER_ARM = Højre overarm
body_part-RIGHT_LOWER_ARM = Højre underarm
body_part-RIGHT_HAND = Højre hånd
body_part-RIGHT_UPPER_LEG = Højre lår
body_part-RIGHT_LOWER_LEG = Højre ankel
body_part-RIGHT_FOOT = Højre fod
body_part-CHEST = Bryst
body_part-WAIST = Talje
body_part-HIP = Hofte
body_part-LEFT_SHOULDER = Venstre skulder
body_part-LEFT_UPPER_ARM = Venstre overarm
body_part-LEFT_LOWER_ARM = Venstre underarm
body_part-LEFT_HAND = Venstre hånd
body_part-LEFT_UPPER_LEG = Venstre lår
body_part-LEFT_LOWER_LEG = Venstre ankel
body_part-LEFT_FOOT = Venstre fod
## Proportions
skeleton_bone-NONE = Ingen
skeleton_bone-HEAD = Hoved skift
skeleton_bone-NECK = Hals længde
skeleton_bone-torso_group = Torso Længde
skeleton_bone-CHEST = Bryst Længde
skeleton_bone-CHEST_OFFSET = Bryst Juster
skeleton_bone-WAIST = Taljelængde
skeleton_bone-HIP = Hoftelængde
skeleton_bone-HIP_OFFSET = Hofte Juster
skeleton_bone-HIPS_WIDTH = Hoftebredde
skeleton_bone-leg_group = Benlængde
skeleton_bone-UPPER_LEG = Øvre benlængde
skeleton_bone-LOWER_LEG = Underbenslængde
skeleton_bone-FOOT_LENGTH = Fodlængde
skeleton_bone-FOOT_SHIFT = Fodskift
skeleton_bone-SKELETON_OFFSET = Skelet Juster
skeleton_bone-SHOULDERS_DISTANCE = Skulder Afstand
skeleton_bone-SHOULDERS_WIDTH = Skulder Bredde
skeleton_bone-arm_group = Armlængde
skeleton_bone-UPPER_ARM = Overarmslængde
skeleton_bone-LOWER_ARM = Nedre armlængde
skeleton_bone-HAND_Y = Håndafstand Y
skeleton_bone-HAND_Z = Håndafstand Z
skeleton_bone-ELBOW_OFFSET = Albuer Juster
## Tracker reset buttons
reset-reset_all = Nulstil alle proportioner
reset-full = Fuld nulstilling
reset-mounting = Nulstil Montage
reset-yaw = Yaw Nulstil
## Serial detection stuff
serial_detection-new_device-p0 = Ny seriel enhed fundet!
serial_detection-new_device-p1 = Indtast dine Wi-Fi-legitimationsoplysninger!
serial_detection-new_device-p2 = Vælg venligst hvad du vil gøre med det
serial_detection-open_wifi = Opret forbindelse til Wi-Fi
serial_detection-open_serial = Åbn seriel konsol
serial_detection-submit = Indsend!
serial_detection-close = Tæt
## Navigation bar
navbar-home = Hjem
navbar-body_proportions = Kropsforhold
navbar-trackers_assign = Tracker opgave
navbar-mounting = Montage Kalibrering
navbar-onboarding = Opsætningsguide
navbar-settings = Indstillinger
## Bounding volume hierarchy recording
bvh-start_recording = Optag BVH
bvh-recording = Optager...
## Widget: Overlay settings
widget-overlay = Overlejring
widget-overlay-is_visible_label = Vis Overlejring i SteamVR
widget-overlay-is_mirrored_label = Vis Overlejring som Spejl
## Widget: Drift compensation
widget-drift_compensation-clear = Klar afdriftskompensation
## Widget: Developer settings
widget-developer_mode = Udviklertilstand
widget-developer_mode-high_contrast = Høj kontrast
widget-developer_mode-precise_rotation = Præcis rotation
widget-developer_mode-fast_data_feed = Hurtig datatilførsel
widget-developer_mode-filter_slimes_and_hmd = Filter slimes og HMD
widget-developer_mode-sort_by_name = Sorter efter navn
widget-developer_mode-raw_slime_rotation = Rå rotation
widget-developer_mode-more_info = Mere info
## Widget: IMU Visualizer
widget-imu_visualizer = Rotation
widget-imu_visualizer-rotation_raw = Rå
widget-imu_visualizer-rotation_preview = Forhåndsvisning
widget-imu_visualizer-rotation_hide = Skjul
## Tracker status
tracker-status-none = Ingen status
tracker-status-busy = Travl
tracker-status-error = Fejl
tracker-status-disconnected = Afbrudt
tracker-status-occluded = Okkluderet
tracker-status-ok = Okay
## Tracker status columns
tracker-table-column-name = Navn
tracker-table-column-type = Type
tracker-table-column-battery = Batteri
tracker-table-column-ping = Ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Temp. °C
tracker-table-column-linear-acceleration = Accel. X/Y/Z
tracker-table-column-rotation = Rotation X/Y/Z
tracker-table-column-position = Position X/Y/Z
tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Forrest
tracker-rotation-left = Venstre
tracker-rotation-right = Højre
tracker-rotation-back = Tilbage
## Tracker information
tracker-infos-manufacturer = Fabrikant
tracker-infos-display_name = Display navn
tracker-infos-custom_name = Brugerdefineret navn
tracker-infos-url = Tracker URL
tracker-infos-version = Firmware Version
tracker-infos-hardware_rev = Hardware Revision
tracker-infos-hardware_identifier = Hardware ID
tracker-infos-imu = IMU-sensor
## Tracker settings
tracker-settings-back = Gå tilbage til trackerlisten
tracker-settings-title = Tracker indstillinger
tracker-settings-assignment_section = Opgave
tracker-settings-assignment_section-description = Hvilken del af kroppen trackeren er tildelt.
tracker-settings-assignment_section-edit = Rediger opgave
tracker-settings-mounting_section = Monteringsposition
tracker-settings-mounting_section-description = Hvor er trackeren monteret?
tracker-settings-mounting_section-edit = Rediger montering
tracker-settings-drift_compensation_section = Tillad afdriftskompensation
tracker-settings-drift_compensation_section-description = Skal denne tracker kompensere for dens drift, når driftkompensation er aktiveret?
tracker-settings-drift_compensation_section-edit = Tillad afdriftskompensation
# 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 navn
tracker-settings-name_section-description = Giv den et sødt kælenavn :)
tracker-settings-name_section-placeholder = NightyBeast's venstre ben
## Tracker part card info
tracker-part_card-no_name = Intet navn
tracker-part_card-unassigned = Ikke tildelt
## Body assignment menu
body_assignment_menu = Hvor vil du have denne tracker til at være?
body_assignment_menu-description = Vælg en placering, hvor du ønsker, at denne tracker skal tildeles. Alternativt kan du vælge at administrere alle trackere på én gang i stedet for én efter én.
body_assignment_menu-show_advanced_locations = Vis avancerede placeringer
body_assignment_menu-manage_trackers = Administrer alle trackere
body_assignment_menu-unassign_tracker = Fjern tildeling af 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 = Hvilken tracker skal tildeles til din
tracker_selection_menu-NONE = Hvilken tracker vil du fjerne tildelingen af?
tracker_selection_menu-HEAD = { -tracker_selection-part } hoved?
tracker_selection_menu-NECK = { -tracker_selection-part } hals?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } højre skulder?
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } højre overarm?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } højre underarm?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } højre hånd?
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } højre lår?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } højre ankel?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } højre fod?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } højre controller?
tracker_selection_menu-CHEST = { -tracker_selection-part } brystet?
tracker_selection_menu-WAIST = { -tracker_selection-part } talje?
tracker_selection_menu-HIP = { -tracker_selection-part } hofte?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } venstre skulder?
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } venstre overarm?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } venstre underarm?
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } venstre hånd?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } venstre lår?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } venstre ankel?
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } venstre fod?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } venstre controller?
tracker_selection_menu-unassigned = Ikke-tildelte trackere
tracker_selection_menu-assigned = Tildelte trackere
tracker_selection_menu-dont_assign = Tildel ikke
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Advarsel:</b> En halstracker kan være dødbringende, hvis den justeres for stramt,
Remmen kunne fjerne blodcirkulationen til dit hoved!
tracker_selection_menu-neck_warning-done = Jeg forstår risiciene
tracker_selection_menu-neck_warning-cancel = Annuller
## Mounting menu
mounting_selection_menu = Hvor vil du have denne tracker til at være?
mounting_selection_menu-close = Luk
## Sidebar settings
settings-sidebar-title = Indstillinger
settings-sidebar-general = Generel
settings-sidebar-tracker_mechanics = Tracker mekanik
settings-sidebar-fk_settings = Tracking indstillinger
settings-sidebar-interface = Brugergrænseflade
settings-sidebar-osc_router = OSC-router
settings-sidebar-osc_trackers = VRChat OSC trackere
settings-sidebar-utils = Hjælpeprogrammer
settings-sidebar-serial = Seriel konsol
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = SteamVR-trackere
# 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 =
Aktivér eller deaktiver specifikke SteamVR-trackere.
Nyttig til spil eller apps, der kun understøtter bestemte trackere.
settings-general-steamvr-trackers-waist = Talje
settings-general-steamvr-trackers-chest = Bryst
settings-general-steamvr-trackers-feet = Fødder
settings-general-steamvr-trackers-knees = Knæ
settings-general-steamvr-trackers-elbows = Albuer
settings-general-steamvr-trackers-hands = Hænder
## Tracker mechanics
settings-general-tracker_mechanics-filtering = Filtrering
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Vælg filtreringstypen for dine trackere.
Forudsigelse forudsiger bevægelse, mens udjævning udjævner bevægelse.
settings-general-tracker_mechanics-filtering-type = Filtrerings type
settings-general-tracker_mechanics-filtering-type-none = Ingen filtrering
settings-general-tracker_mechanics-filtering-type-none-description = Brug rotationer, som de er. Vil ikke foretage nogen filtrering.
settings-general-tracker_mechanics-filtering-type-smoothing = Udjævning
settings-general-tracker_mechanics-filtering-type-smoothing-description = Udjævner bevægelser, men tilføjer en smule latens.
settings-general-tracker_mechanics-filtering-type-prediction = Forudsigelse
settings-general-tracker_mechanics-filtering-type-prediction-description = Reducerer latens og gør bevægelser hutigere, men kan forårsage rystelser.
settings-general-tracker_mechanics-filtering-amount = Mængde
settings-general-tracker_mechanics-drift_compensation = Drift kompensation
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Kompenserer IMU yaw drift ved at anvende en omvendt rotation.
Skift kompensationsbeløb og hvor mange nulstillinger der skal tages i betragtning.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Drift kompensation
settings-general-tracker_mechanics-drift_compensation-amount-label = Kompensationsmængde
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Brug op til x seneste nulstillinger
## FK/Tracking settings
settings-general-fk_settings = Trackingsindstillinger
# 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 = Skate korrektion
settings-general-fk_settings-leg_tweak-toe_snap = Tå snap
settings-general-fk_settings-leg_tweak-skating_correction-amount = Skate korrektionsstyrke
settings-general-fk_settings-leg_tweak-skating_correction-description = Skate-korrektion korrigerer for skate, men kan reducere nøjagtigheden i visse bevægelsesmønstre. Når du aktiverer dette, skal du sørge for at nulstille og kalibrere i spillet.
settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip kan reducere eller endda eliminere klipning gennem gulvet. Når du aktiverer dette, skal du sørge for at nulstille og kalibrere i spillet.
settings-general-fk_settings-leg_tweak-toe_snap-description = Tå-snap forsøger at gætte rotationen af dine fødder, hvis fodtrackere ikke er i brug.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant roterer dine fødder så de er parallelle med jorden, når de er i kontakt med jorden.
settings-general-fk_settings-leg_fk = Bensporing
settings-general-fk_settings-arm_fk = Arm sporing
settings-general-fk_settings-arm_fk-description = Tving arme til spore fra HMD, selvom positionshånddata er tilgængelige.
settings-general-fk_settings-arm_fk-force_arms = Tving arme fra HMD
settings-general-fk_settings-skeleton_settings = Indstillinger for skelet
settings-general-fk_settings-skeleton_settings-description = Slå skeletindstillinger til eller fra. Det anbefales at lade disse være på.
settings-general-fk_settings-skeleton_settings-extended_spine = Udvidet rygsøjle
settings-general-fk_settings-skeleton_settings-extended_pelvis = Forlænget pelvis
settings-general-fk_settings-skeleton_settings-extended_knees = Forlænget knæ
settings-general-fk_settings-vive_emulation-title = Vive emulering
settings-general-fk_settings-vive_emulation-description = Emuler de taljetrackerproblemer, som Vive-trackere har. Dette er en joke og gør sporing værre.
settings-general-fk_settings-vive_emulation-label = Aktivér Vive-emulering
## Gesture control settings (tracker tapping)
settings-general-gesture_control-subtitle = Tryk baseret nulstilling
# 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] tryk
*[other] tryk
}
settings-general-gesture_control-yawResetEnabled = Aktivér tryk for at yaw resette
## Interface settings
settings-general-interface = Brugergrænseflade
settings-general-interface-dev_mode = Udvikler-tilstand
settings-general-interface-dev_mode-description = Denne tilstand kan være nyttig, hvis du har brug for dybdegående data eller for at interagere med tilsluttede trackere på et mere avanceret niveau.
settings-general-interface-dev_mode-label = Udvikler-tilstand
settings-general-interface-serial_detection = Seriel enhedsregistrering
settings-general-interface-serial_detection-description = Denne mulighed viser en pop-up, hver gang du tilslutter en ny seriel enhed, der kan være en tracker. Det hjælper med at forbedre opsætningsprocessen for en tracker.
settings-general-interface-serial_detection-label = Seriel enhedsregistrering
settings-general-interface-feedback_sound = Feedback lyd
settings-general-interface-feedback_sound-description = Denne indstilling afspiller en lyd, når du nulstiller
settings-general-interface-feedback_sound-label = Feedback lyd
settings-general-interface-feedback_sound-volume = Feedback lydstyrke
settings-general-interface-theme = Farvetema
settings-general-interface-lang = Vælg sprog
settings-general-interface-lang-description = Skift det standardsprog, du vil bruge.
settings-general-interface-lang-placeholder = Vælg det sprog, der skal bruges
## Serial settings
settings-serial = Seriel konsol
settings-serial-connection_lost = Forbindelse til seriel mistet, Genopretter forbindelse...
settings-serial-reboot = Genstart
settings-serial-factory_reset = Nulstil til fabriksindstillinger
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>Advarsel:</b> Dette nulstiller trackeren til fabriksindstillingerne.
Hvilket betyder, at alle Wi-Fi- og kalibreringsindstillinger <b>går tabt!</b>
settings-serial-factory_reset-warning-ok = Jeg ved hvad jeg laver
settings-serial-factory_reset-warning-cancel = Annuller
settings-serial-get_infos = Hent oplysninger
settings-serial-serial_select = Vælg en seriel port
settings-serial-auto_dropdown_item = Auto
## OSC router settings
settings-osc-router = OSC-router
# This cares about multilines
settings-osc-router-description =
Videresend OSC-meddelelser fra et andet program.
Nyttig til brug af et andet OSC-program med VRChat, for eksempel.
settings-osc-router-enable = Aktiver
settings-osc-router-enable-label = Aktiver
settings-osc-router-network = Netværksporte
# This cares about multilines
settings-osc-router-network-description =
Vælg de porte der skal bruges til at lytte og sende data.
Disse kan være de samme som de andre porte der bruges på SlimeVR-serveren.
settings-osc-router-network-port_in =
.label = Port ind
.placeholder = Port ind (standard: 9002)
settings-osc-router-network-port_out =
.label = Port ud
.placeholder = Port ud (standard: 9000)
settings-osc-router-network-address = Netværksadresse
settings-osc-router-network-address-description = Indstil den adresse, der skal sendes data på.
settings-osc-router-network-address-placeholder = IPV4-adresse
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC trackere
# This cares about multilines
settings-osc-vrchat-description =
Skift VRChat-specifikke indstillinger for at modtage HMD-data og sende
trackerdata til FBT uden SteamVR (f.eks. Quest standalone).
settings-osc-vrchat-enable = Aktiver
settings-osc-vrchat-enable-label = Aktiver
settings-osc-vrchat-network = Netværksporte
settings-osc-vrchat-network-description = Indstil portene til at lytte og sende data til VRChat.
settings-osc-vrchat-network-port_in =
.label = Port ind
.placeholder = Port ind (standard: 9001)
settings-osc-vrchat-network-port_out =
.label = Port ud
.placeholder = Port ud (standard: 9000)
settings-osc-vrchat-network-address = Netværksadresse
settings-osc-vrchat-network-address-description = Vælg hvilken adresse der skal sende data til VRChat (tjek dine Wi-Fi-indstillinger på din enhed).
settings-osc-vrchat-network-address-placeholder = VRChat ip-adresse
settings-osc-vrchat-network-trackers = Trackere
settings-osc-vrchat-network-trackers-description = Skift afsendelse af specifikke trackere via OSC.
settings-osc-vrchat-network-trackers-chest = Bryst
settings-osc-vrchat-network-trackers-hip = Hofte
settings-osc-vrchat-network-trackers-knees = Knæ
settings-osc-vrchat-network-trackers-feet = Fødder
settings-osc-vrchat-network-trackers-elbows = Albuer
## VMC OSC settings
settings-osc-vmc = Virtual Motion Capture
# This cares about multilines
settings-osc-vmc-description =
Skift indstillinger, der er specifikke for VMC-protokollen (Virtual Motion Capture)
for at sende SlimeVRs data og modtage data fra andre apps.
settings-osc-vmc-enable = Aktiver
settings-osc-vmc-enable-description = Skift afsendelse og modtagelse af data.
settings-osc-vmc-enable-label = Aktiver
settings-osc-vmc-network = Netværksporte
settings-osc-vmc-network-description = Vælg portene til at lytte og sende data via VMC
settings-osc-vmc-network-port_in =
.label = Port ind
.placeholder = Port ind (standard: 39540)
settings-osc-vmc-network-port_out =
.label = Port ud
.placeholder = Port ud (standard: 39539)
settings-osc-vmc-network-address = Netværksadresse
settings-osc-vmc-network-address-description = Vælg hvilken adresse du vil sende data på via VMC
settings-osc-vmc-network-address-placeholder = IPV4-adresse
settings-osc-vmc-vrm = VRM-model
settings-osc-vmc-vrm-description = Indlæs en VRM-model for at tillade hovedanker og muliggøre en højere kompatibilitet med andre applikationer
settings-osc-vmc-vrm-model_unloaded = Ingen model indlæst
settings-osc-vmc-vrm-file_select = Træk og slip en model, du vil bruge, eller <u>gennemse</u>
## Setup/onboarding menu
onboarding-skip = Spring opsætning over
onboarding-continue = Fortsæt
onboarding-previous_step = Forrige trin
onboarding-setup_warning =
<b>Advarsel:</b> Den indledende opsætning er nødvendig for god tracking,
det er nødvendigt, hvis det er første gang, du bruger SlimeVR.
onboarding-setup_warning-skip = Spring opsætning over
onboarding-setup_warning-cancel = Fortsæt konfigurationen
## Wi-Fi setup
onboarding-wifi_creds-back = Gå tilbage til introduktion
onboarding-wifi_creds = Indtast Wi-Fi-oplysninger
# This cares about multilines
onboarding-wifi_creds-description =
Trackerne bruger disse oplysninger til at oprette forbindelse trådløst.
Brug de oplysninger, du i øjeblikket har forbindelse til.
onboarding-wifi_creds-skip = Spring Wi-Fi-indstillinger over
onboarding-wifi_creds-submit = Færdig!
onboarding-wifi_creds-ssid =
.label = Wi-Fi-navn
.placeholder = Indtast Wi-Fi-navn
onboarding-wifi_creds-password =
.label = Kodeord
.placeholder = Indtast Wi-Fi-kodeord
## Mounting setup
onboarding-reset_tutorial-back = Gå tilbage til monteringskalibrering
onboarding-reset_tutorial = Start forfra
onboarding-reset_tutorial-description = Denne funktion er ikke færdig, bare tryk på fortsæt
## Setup start
onboarding-home = Velkommen til SlimeVR
onboarding-home-start = Lad os komme i gang!
## Enter VR part of setup
onboarding-enter_vr-back = Gå tilbage til Tracker-tildeler
onboarding-enter_vr-title = Tid til at gå ind i VR!
onboarding-enter_vr-description = Tag alle dine trackere på, og gå derefter på VR!
onboarding-enter_vr-ready = Jeg er klar
## Setup done
onboarding-done-title = Du er klar!
onboarding-done-description = Nyd din full-body oplevelse
onboarding-done-close = Luk opsætning
## Tracker connection setup
onboarding-connect_tracker-back = Gå tilbage til Wi-Fi-oplysninger
onboarding-connect_tracker-title = Tilslut trackere
onboarding-connect_tracker-description-p0 = Nu til den sjove del, forbind alle trackere!
onboarding-connect_tracker-description-p1 = Du skal blot tilslutte alle, der ikke er tilsluttet endnu, via en USB-port.
onboarding-connect_tracker-issue-serial = Jeg har problemer med at oprette forbindelse!
onboarding-connect_tracker-usb = USB-tracker
onboarding-connect_tracker-connection_status-none = Leder efter trackere
onboarding-connect_tracker-connection_status-serial_init = Tilslutter seriel enhed
onboarding-connect_tracker-connection_status-provisioning = Sender Wi-Fi-oplysninger
onboarding-connect_tracker-connection_status-connecting = Forsøger at oprette forbindelse til Wi-Fi
onboarding-connect_tracker-connection_status-looking_for_server = Leder efter server
onboarding-connect_tracker-connection_status-connection_error = Kan ikke oprette forbindelse til Wi-Fi
onboarding-connect_tracker-connection_status-could_not_find_server = Kunne ikke finde serveren
onboarding-connect_tracker-connection_status-done = Tilsluttet serveren
# $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] Ingen trackere tilsluttet
[one] En tracker tilsluttet
*[other] { $amount } trackere tilsluttet
}
onboarding-connect_tracker-next = Jeg har tilsluttet alle mine trackere
## Tracker calibration tutorial
## Tracker assignment setup
onboarding-assign_trackers-back = Gå tilbage til Wi-Fi-oplysninger
onboarding-assign_trackers-title = Tildel trackere
onboarding-assign_trackers-description = Lad os vælge, hvilken tracker der skal hvorhen. Klik på et sted, hvor du vil placere en 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 } af en tracker tildelt
*[other] { $assigned } af { $trackers } trackere tildelt
}
onboarding-assign_trackers-advanced = Vis avancerede trackerplaceringer
onboarding-assign_trackers-next = Jeg har tildelt alle trackerene
## Tracker assignment warnings
## Tracker mounting method choose
onboarding-choose_mounting = Hvilken monteringskalibreringsmetode vil du bruge?
onboarding-choose_mounting-auto_mounting = Automatisk montering
# Italized text
onboarding-choose_mounting-auto_mounting-subtitle = Anbefalet
onboarding-choose_mounting-auto_mounting-description = Dette registrerer automatisk monteringsretningerne til alle dine trackere fra 2 stillinger
onboarding-choose_mounting-manual_mounting = Manuel montering
# Italized text
onboarding-choose_mounting-manual_mounting-subtitle = Hvis du ved hvad du laver
onboarding-choose_mounting-manual_mounting-description = Dette giver dig mulighed for manuelt at vælge monteringsretningen for hver tracker
## Tracker manual mounting setup
onboarding-manual_mounting = Manuel montering
onboarding-manual_mounting-description = Klik på hver tracker og vælg hvilken vej de er monteret
onboarding-manual_mounting-auto_mounting = Automatisk montering
onboarding-manual_mounting-next = Næste trin
## Tracker automatic mounting setup
onboarding-automatic_mounting-next = Næste trin
onboarding-automatic_mounting-prev_step = Forrige trin
onboarding-automatic_mounting-done-restart = Prøv igen
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Sæt dig på hug i en "skiløb" -stilling med bøjede ben, din overkrop vippet fremad og dine arme bøjet.
onboarding-automatic_mounting-preparation-title = Forberedelse
onboarding-automatic_mounting-put_trackers_on-title = Tag dine trackere på
onboarding-automatic_mounting-put_trackers_on-description = For at kalibrere rotationer bruger vi de trackere, du lige har tildelt. Tag alle dine trackere på du kan se hvilke der er hvilke i figuren til højre.
onboarding-automatic_mounting-put_trackers_on-next = Jeg har alle mine trackere på
## Tracker proportions method choose
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = Anbefalet
## Tracker manual proportions setup
## Tracker automatic proportions setup
onboarding-automatic_proportions-requirements-next = Jeg har læst kravene
onboarding-automatic_proportions-start_recording-next = Start optagelse
onboarding-automatic_proportions-recording-description-p0 = Optagelse i gang...
onboarding-automatic_proportions-recording-description-p1 = Foretag de bevægelser, der er vist nedenfor:
onboarding-automatic_proportions-recording-processing = Behandler resultatet
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] { $time } sekund tilbage
*[other] { $time } sekunder tilbage
}
onboarding-automatic_proportions-verify_results-title = Bekræft resultater
onboarding-automatic_proportions-verify_results-description = Tjek resultaterne nedenfor, ser de korrekte ud?
onboarding-automatic_proportions-verify_results-processing = Behandler resultatet
onboarding-automatic_proportions-verify_results-redo = prøv igen
onboarding-automatic_proportions-done-title = Krop målt og gemt.
onboarding-automatic_proportions-done-description = Kalibreringen af dine kropsproportioner er fuldført!
## Home
home-no_trackers = Ingen trackere registreret eller tildelt

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,318 @@
# 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 = Σύνδεση με τον διακομιστή
websocket-connection_lost = Η σύνδεση μεταξύ του διακομιστή χάθηκε. Προσπαθώντας να επανασυνδεθεί...
## Update notification
## Tips
tips-find_tracker = Δεν είστε σίγουροι ποιος ανιχνευτής είναι ποιος; Κουνήστε έναν ανιχνευτή και θα επισημάνει το αντίστοιχο στοιχείο.
tips-do_not_move_heels = Βεβαιωθείτε ότι οι φτέρνες σας δεν κινούνται κατά την εγγραφή!
## Body parts
body_part-NONE = Μη εκχωρημένο
body_part-HEAD = Κεφάλι
body_part-NECK = Λαιμός
body_part-RIGHT_SHOULDER = Δεξιός ώμος
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_FOOT = Δεξί πόδι
body_part-CHEST = Στήθος
body_part-WAIST = Μέση
body_part-HIP = Γοφοί
body_part-LEFT_SHOULDER = Αριστερός ώμος
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_FOOT = Αριστερό πόδι
## Proportions
skeleton_bone-NONE = Τίποτα
skeleton_bone-HEAD = Μετατόπιση κεφαλής
skeleton_bone-NECK = Μήκος λαιμού
skeleton_bone-CHEST = Μήκος στήθους
skeleton_bone-CHEST_OFFSET = Μετατόπιση στήθους
skeleton_bone-WAIST = Μήκος μέσης
skeleton_bone-HIP = Μήκος γοφών
skeleton_bone-HIP_OFFSET = Μετατόπιση γοφών
skeleton_bone-HIPS_WIDTH = Πλάτος γοφών
skeleton_bone-UPPER_LEG = Μήκος άνω ποδιού
skeleton_bone-LOWER_LEG = Μήκος κάτω ποδιού
skeleton_bone-FOOT_LENGTH = Μήκος ποδιού
skeleton_bone-FOOT_SHIFT = Μετατόπιση ποδιών
skeleton_bone-SKELETON_OFFSET = Μετατόπιση σκελετού
skeleton_bone-SHOULDERS_DISTANCE = Απόσταση ώμων
skeleton_bone-SHOULDERS_WIDTH = Πλάτος ώμων
skeleton_bone-UPPER_ARM = Μήκος μπράτσου
skeleton_bone-LOWER_ARM = Μήκος αγγόνα
skeleton_bone-ELBOW_OFFSET = Μετατόπιση αγκώνα
## Tracker reset buttons
reset-reset_all = Επαναφορά όλων των αναλογιών
reset-full = Επαναφορά
reset-mounting = Επαναφορά τοποθέτησης
## Serial detection stuff
serial_detection-new_device-p0 = Εντοπίστηκε νέα σειριακή συσκευή!
serial_detection-new_device-p1 = Εισαγάγετε τα στοιχεία Wi-Fi σας !
serial_detection-new_device-p2 = Επιλέξτε τι θέλετε να κάνετε με αυτό
serial_detection-open_wifi = Συνδέστε στο δίκτυο Wi-Fi
serial_detection-open_serial = Ανοίξτε της σειριακής κονσόλας
serial_detection-submit = Υπόβαλλε!
serial_detection-close = Κλείσιμο
## Navigation bar
navbar-home = Αρχική σελίδα
navbar-body_proportions = Αναλογίες Σώματος
navbar-trackers_assign = Ανάθεση ανιχνευτή
navbar-mounting = Βαθμονόμηση τοποθέτησης
navbar-onboarding = Οδηγός εγκατάστασης
navbar-settings = Ρυθμίσεις
## Biovision hierarchy recording
bvh-start_recording = Εγγραφή BVH
bvh-recording = Γίνεται εγγραφή...
## Tracking pause
## Widget: Overlay settings
widget-overlay = Υπέρθεση
widget-overlay-is_visible_label = Εμφάνιση υπέρθεσης στο SteamVR
widget-overlay-is_mirrored_label = Εμφάνιση υπέρθεσης ως καθρέφτη
## Widget: Drift compensation
widget-drift_compensation-clear = Επαναφορά αντιστάθμισης drift
## Widget: Developer settings
widget-developer_mode = Λειτουργία προγραμματιστή
widget-developer_mode-high_contrast = Υψηλή αντίθεση
widget-developer_mode-precise_rotation = Ακριβής περιστροφή
widget-developer_mode-fast_data_feed = Γρήγορη ροή δεδομένων
widget-developer_mode-filter_slimes_and_hmd = Φιλτράρετε τους αισθητήρες SlimeVR και το HMD
widget-developer_mode-sort_by_name = Ταξινόμηση κατά όνομα
widget-developer_mode-raw_slime_rotation = Ακατέργαστη περιστροφή
widget-developer_mode-more_info = Περισσότερες πληροφορίες
## Widget: IMU Visualizer
widget-imu_visualizer = Περιστροφή
widget-imu_visualizer-rotation_raw = Ακατέργαστο
widget-imu_visualizer-rotation_preview = Προεπισκόπηση
## Tracker status
tracker-status-none = Χωρίς κατάσταση
tracker-status-busy = Απασχολημένο
tracker-status-error = σφάλμα
tracker-status-disconnected = αποσυνδεδεμένο
tracker-status-occluded = Αποφραγμένo
tracker-status-ok = OK
## Tracker status columns
tracker-table-column-name = Όνομα
tracker-table-column-type = τύπος
tracker-table-column-battery = Μπαταρία
tracker-table-column-ping = ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Θερμοκρασία °C
tracker-table-column-linear-acceleration = Eπιταχυνσιόμετρο X/Y/Z
tracker-table-column-rotation = Περιστροφή Χ/Υ/Ζ
tracker-table-column-position = Θέση Χ/Υ/Ζ
tracker-table-column-url = διεύθυνση URL
## Tracker rotation
tracker-rotation-front = Μπροστά
tracker-rotation-left = Αριστερά
tracker-rotation-right = Δεξιά
tracker-rotation-back = Πίσω
## Tracker information
tracker-infos-manufacturer = Παραγωγός
tracker-infos-display_name = Εμφανιζόμενο όνομα
tracker-infos-custom_name = Προσαρμοσμένο όνομα
tracker-infos-url = Διεύθυνση URL ανιχνευτή
## Tracker settings
tracker-settings-back = Επιστροφή στη λίστα ανιχνευτών
tracker-settings-title = Ρυθμίσεις ανιχνευτή
tracker-settings-assignment_section = Εκχώρηση
tracker-settings-assignment_section-description = Σε ποιο μέρος του σώματος έχει ανατεθεί ο ανιχνευτής.
tracker-settings-assignment_section-edit = Επεξεργασία ανάθεσης
tracker-settings-mounting_section = Θέση τοποθέτησης
tracker-settings-mounting_section-description = Πού είναι τοποθετημένος ο ανιχνευτής;
tracker-settings-mounting_section-edit = Επεξεργασία τοποθέτησης
tracker-settings-drift_compensation_section = Να επιτρέπεται η αντιστάθμιση drift
tracker-settings-drift_compensation_section-description = Θα πρέπει αυτός ο ανιχνευτής να αντισταθμίζει στο drift του όταν είναι ενεργοποιημένη η αντιστάθμιση drift;
tracker-settings-drift_compensation_section-edit = Να επιτρέπεται η αντιστάθμιση 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 = Όνομα ανιχνευτή
tracker-settings-name_section-description = Δώστε του ένα χαριτωμένο ψευδώνυμο :)
tracker-settings-name_section-placeholder = Το αριστερό πόδι του NightyBeast
## Tracker part card info
tracker-part_card-no_name = Χωρίς όνομα
tracker-part_card-unassigned = Μη εκχωρημένο
## Body assignment menu
body_assignment_menu = Πού θέλετε να είναι αυτός ο ανιχνευτής;
body_assignment_menu-description = Επιλέξτε μια θέση στην οποία θέλετε να εκχωρηθεί ο ανιχνευτής. Εναλλακτικά, μπορείτε να επιλέξετε να διαχειριστείτε όλους τους ανιχνευτές ταυτόχρονα αντί για έναν προς έναν.
body_assignment_menu-show_advanced_locations = Εμφάνιση σύνθετων τοποθεσιών εκχώρησης
body_assignment_menu-manage_trackers = Διαχείριση όλων των ανιχνευτών
body_assignment_menu-unassign_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 = Ποιος ιχνηλάτης πρέπει να αντιστοιχίσετε στο σας
tracker_selection_menu-NONE = Ποιος ανιχνευτή θέλετε να είναι μη εκχωρημένος;
tracker_selection_menu-HEAD = { -tracker_selection-part } κεφάλι;
tracker_selection_menu-NECK = { -tracker_selection-part } λαιμός;
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } δεξιός ώμος;
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_FOOT = { -tracker_selection-part } δεξί πόδι?
tracker_selection_menu-CHEST = { -tracker_selection-part } στήθος?
tracker_selection_menu-WAIST = { -tracker_selection-part } μέση?
tracker_selection_menu-HIP = { -tracker_selection-part } γοφοί?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } αριστερός ώμος?
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_FOOT = { -tracker_selection-part } αριστερό πόδι?
## Mounting menu
## Sidebar settings
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-trackers-waist = Μέση
settings-general-steamvr-trackers-chest = Στήθος
settings-general-steamvr-trackers-feet = Πόδια
settings-general-steamvr-trackers-hands = Χέρια
## Tracker mechanics
## FK/Tracking settings
## Gesture control settings (tracker tapping)
## Interface settings
## Serial settings
## OSC router settings
## OSC VRChat settings
settings-osc-vrchat-network-trackers-chest = Στήθος
settings-osc-vrchat-network-trackers-feet = Πόδια
## VMC OSC settings
## Setup/onboarding menu
## Wi-Fi setup
## Mounting setup
## Setup start
## Enter VR part of setup
## Setup done
## Tracker connection setup
## Tracker calibration tutorial
## Tracker assignment tutorial
## Tracker assignment setup
## Tracker assignment warnings
## Tracker mounting method choose
## Tracker manual mounting setup
## Tracker automatic mounting setup
## Tracker proportions method choose
## Tracker manual proportions setup
## Tracker automatic proportions setup
## Home
## Status system

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,959 @@
# 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 = Connecting to the server
websocket-connection_lost = Connection lost to the server. Trying to reconnect...
## Update notification
version_update-title = New version available: { $version }
version_update-description = Clicking "{ version_update-update }" will download the SlimeVR installer for you.
version_update-update = Update
version_update-close = Close
## Tips
tips-find_tracker = Not sure which tracker is which? Shake a tracker and it will highlight the corresponding item.
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
body_part-HEAD = Head
body_part-NECK = Neck
body_part-RIGHT_SHOULDER = Right shoulder
body_part-RIGHT_UPPER_ARM = Right upper arm
body_part-RIGHT_LOWER_ARM = Right lower arm
body_part-RIGHT_HAND = Right hand
body_part-RIGHT_UPPER_LEG = Right thigh
body_part-RIGHT_LOWER_LEG = Right ankle
body_part-RIGHT_FOOT = Right foot
body_part-UPPER_CHEST = Upper chest
body_part-CHEST = Chest
body_part-WAIST = Waist
body_part-HIP = Hip
body_part-LEFT_SHOULDER = Left shoulder
body_part-LEFT_UPPER_ARM = Left upper arm
body_part-LEFT_LOWER_ARM = Left lower arm
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
## Proportions
skeleton_bone-NONE = None
skeleton_bone-HEAD = Head Shift
skeleton_bone-NECK = Neck Length
skeleton_bone-torso_group = Torso length
skeleton_bone-UPPER_CHEST = Upper Chest Length
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 = Hip Offset
skeleton_bone-HIPS_WIDTH = Hips Width
skeleton_bone-leg_group = Leg length
skeleton_bone-UPPER_LEG = Upper Leg Length
skeleton_bone-LOWER_LEG = Lower Leg Length
skeleton_bone-FOOT_LENGTH = Foot Length
skeleton_bone-FOOT_SHIFT = Foot Shift
skeleton_bone-SKELETON_OFFSET = Skeleton Offset
skeleton_bone-SHOULDERS_DISTANCE = Shoulders Distance
skeleton_bone-SHOULDERS_WIDTH = Shoulders Width
skeleton_bone-arm_group = Arm length
skeleton_bone-UPPER_ARM = Upper Arm Length
skeleton_bone-LOWER_ARM = Lower Arm Length
skeleton_bone-HAND_Y = Hand Distance Y
skeleton_bone-HAND_Z = Hand Distance Z
skeleton_bone-ELBOW_OFFSET = Elbow Offset
## Tracker reset buttons
reset-reset_all = Reset all proportions
reset-full = Full Reset
reset-mounting = Reset Mounting
reset-yaw = Yaw Reset
## Serial detection stuff
serial_detection-new_device-p0 = New serial device detected!
serial_detection-new_device-p1 = Enter your Wi-Fi credentials!
serial_detection-new_device-p2 = Please select what you want to do with it
serial_detection-open_wifi = Connect to Wi-Fi
serial_detection-open_serial = Open Serial Console
serial_detection-submit = Submit!
serial_detection-close = Close
## Navigation bar
navbar-home = Home
navbar-body_proportions = Body Proportions
navbar-trackers_assign = Tracker Assignment
navbar-mounting = Mounting Calibration
navbar-onboarding = Setup Wizard
navbar-settings = Settings
## Biovision hierarchy recording
bvh-start_recording = Record BVH
bvh-recording = Recording...
## Tracking pause
tracking-unpaused = Pause tracking
tracking-paused = Unpause tracking
## Widget: Overlay settings
widget-overlay = Overlay
widget-overlay-is_visible_label = Show Overlay in SteamVR
widget-overlay-is_mirrored_label = Display Overlay as Mirror
## Widget: Drift compensation
widget-drift_compensation-clear = Clear drift compensation
## Widget: Clear Reset Mounting
widget-clear_mounting = Clear reset mounting
## Widget: Developer settings
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-sort_by_name = Sort by name
widget-developer_mode-raw_slime_rotation = Raw rotation
widget-developer_mode-more_info = More info
## Widget: IMU Visualizer
widget-imu_visualizer = Rotation
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
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
tracker-table-column-type = Type
tracker-table-column-battery = Battery
tracker-table-column-ping = Ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Temp. °C
tracker-table-column-linear-acceleration = Accel. X/Y/Z
tracker-table-column-rotation = Rotation X/Y/Z
tracker-table-column-position = Position X/Y/Z
tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Front
tracker-rotation-front_left = Front-Left
tracker-rotation-front_right = Front-Right
tracker-rotation-left = Left
tracker-rotation-right = Right
tracker-rotation-back = Back
tracker-rotation-back_left = Back-Left
tracker-rotation-back_right = Back-Right
tracker-rotation-custom = Custom
tracker-rotation-overriden = (overriden by mounting reset)
## Tracker information
tracker-infos-manufacturer = Manufacturer
tracker-infos-display_name = Display Name
tracker-infos-custom_name = Custom Name
tracker-infos-url = Tracker URL
tracker-infos-version = Firmware Version
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
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 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
tracker-settings-drift_compensation_section-description = Should this tracker compensate for its drift when drift compensation is enabled?
tracker-settings-drift_compensation_section-edit = Allow drift compensation
# 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 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
tracker-part_card-unassigned = Unassigned
## Body assignment menu
body_assignment_menu = Where do you want this tracker to be?
body_assignment_menu-description = Choose a location where you want this tracker to be assigned. Alternatively you can choose to manage all trackers at once instead of one by one.
body_assignment_menu-show_advanced_locations = Show advanced assign locations
body_assignment_menu-manage_trackers = Manage all trackers
body_assignment_menu-unassign_tracker = Unassign 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 = Which tracker to assign to your
tracker_selection_menu-NONE = Which tracker do you want to be unassigned?
tracker_selection_menu-HEAD = { -tracker_selection-part } head?
tracker_selection_menu-NECK = { -tracker_selection-part } neck?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } right shoulder?
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } right upper arm?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } right lower arm?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } right hand?
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 } upper chest?
tracker_selection_menu-CHEST = { -tracker_selection-part } chest?
tracker_selection_menu-WAIST = { -tracker_selection-part } waist?
tracker_selection_menu-HIP = { -tracker_selection-part } hip?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } left shoulder?
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } left upper arm?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } left lower arm?
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } left hand?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } left thigh?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } left ankle?
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } left foot?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } left controller?
tracker_selection_menu-unassigned = Unassigned Trackers
tracker_selection_menu-assigned = Assigned Trackers
tracker_selection_menu-dont_assign = Unassign
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Warning:</b> A neck tracker can be deadly if adjusted too tightly,
the strap could cut the circulation to your head!
tracker_selection_menu-neck_warning-done = I understand the risks
tracker_selection_menu-neck_warning-cancel = Cancel
## Mounting menu
mounting_selection_menu = Where do you want this tracker to be?
mounting_selection_menu-close = Close
## Sidebar settings
settings-sidebar-title = Settings
settings-sidebar-general = General
settings-sidebar-tracker_mechanics = Tracker mechanics
settings-sidebar-fk_settings = Tracking settings
settings-sidebar-gesture_control = Gesture control
settings-sidebar-interface = Interface
settings-sidebar-osc_router = OSC router
settings-sidebar-osc_trackers = VRChat OSC Trackers
settings-sidebar-utils = Utilities
settings-sidebar-serial = Serial console
settings-sidebar-appearance = Appearance
settings-sidebar-notifications = Notifications
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = SteamVR trackers
# 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 =
Enable or disable specific SteamVR trackers.
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-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
settings-general-tracker_mechanics-filtering = Filtering
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Choose the filtering type for your trackers.
Prediction predicts movement while smoothing smoothens movement.
settings-general-tracker_mechanics-filtering-type = Filtering type
settings-general-tracker_mechanics-filtering-type-none = No filtering
settings-general-tracker_mechanics-filtering-type-none-description = Use rotations as is. Will not do any filtering.
settings-general-tracker_mechanics-filtering-type-smoothing = Smoothing
settings-general-tracker_mechanics-filtering-type-smoothing-description = Smooths movements but adds some latency.
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 =
Compensates IMU yaw drift by applying an inverse rotation.
Change amount of compensation and up to how many resets are taken into account.
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
# 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 = Floor clip
# 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 = Skating correction
settings-general-fk_settings-leg_tweak-toe_snap = Toe snap
settings-general-fk_settings-leg_tweak-foot_plant = Foot plant
settings-general-fk_settings-leg_tweak-skating_correction-amount = Skating correction strength
settings-general-fk_settings-leg_tweak-skating_correction-description = Skating-correction corrects for ice skating but can decrease accuracy in certain movement patterns. When enabling this make sure to full reset and recalibrate in game.
settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip can Reduce or even eliminates clipping through the floor. When enabling this, make sure to full reset and recalibrate in game.
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 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-reset_settings = Reset settings
settings-general-fk_settings-reset_settings-reset_hmd_pitch-description = Reset the HMD's pitch (vertical rotation) upon doing a full reset. Useful if wearing an HMD on the forehead for VTubing or mocap. Do not enable for VR.
settings-general-fk_settings-reset_settings-reset_hmd_pitch = Reset HMD pitch
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
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Extended pelvis model
settings-general-fk_settings-skeleton_settings-extended_knees_model = Extended knee model
settings-general-fk_settings-skeleton_settings-ratios = Skeleton ratios
settings-general-fk_settings-skeleton_settings-ratios-description = Change the values of skeleton settings. You may need to adjust your proportions after changing these.
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Impute waist from chest to hip
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Impute waist from chest to legs
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Impute hip from chest to legs
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.
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 = Enable Vive emulation
## Gesture control settings (tracker tapping)
settings-general-gesture_control = Gesture control
settings-general-gesture_control-subtitle = Tap based resets
settings-general-gesture_control-description = Allows for resets to be triggered by tapping a tracker. The tracker highest up on your torso is used for Yaw Reset, the tracker highest up on your left leg is used for Full Reset, and the tracker highest up on your right leg is used for Mounting Reset. Taps must occur within the time limit of 0.3 seconds times the number of taps to be recognized.
# 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
}
# 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 = Enable tap to yaw reset
settings-general-gesture_control-yawResetDelay = Yaw reset delay
settings-general-gesture_control-yawResetTaps = Taps for yaw reset
settings-general-gesture_control-fullResetEnabled = Enable tap to full reset
settings-general-gesture_control-fullResetDelay = Full reset delay
settings-general-gesture_control-fullResetTaps = Taps for full reset
settings-general-gesture_control-mountingResetEnabled = Enable tap to reset mounting
settings-general-gesture_control-mountingResetDelay = Mounting reset delay
settings-general-gesture_control-mountingResetTaps = Taps for mounting reset
# The number of trackers that can have higher acceleration before a tap is rejected
settings-general-gesture_control-numberTrackersOverThreshold = Trackers over threshold
settings-general-gesture_control-numberTrackersOverThreshold-description = Increase this value if tap detection is not working. Do not increase it above what is needed to make tap detection work as it would cause more false positives.
## Appearance settings
settings-interface-appearance = Appearance
settings-general-interface-dev_mode = Developer Mode
settings-general-interface-dev_mode-description = This mode can be useful if you need in-depth data or to interact with connected trackers on a more advanced level.
settings-general-interface-dev_mode-label = Developer Mode
settings-general-interface-theme = Color theme
settings-general-interface-lang = Select language
settings-general-interface-lang-description = Change the default language you want to use.
settings-general-interface-lang-placeholder = Select the language to use
# Keep the font name untranslated
settings-interface-appearance-font = GUI font
settings-interface-appearance-font-description = This changes the font used by the interface.
settings-interface-appearance-font-placeholder = Default font
settings-interface-appearance-font-os_font = OS font
settings-interface-appearance-font-slime_font = Default font
settings-interface-appearance-font_size = Base font scaling
settings-interface-appearance-font_size-description = This affects the font size of the whole interface except this settings panel.
## Notification settings
settings-interface-notifications = Notifications
settings-general-interface-serial_detection = Serial device detection
settings-general-interface-serial_detection-description = This option will show a pop-up every time you plug a new serial device that could be a tracker. It helps improving the setup process of a tracker.
settings-general-interface-serial_detection-label = Serial device detection
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
settings-general-interface-discord_presence = Share activity on Discord
settings-general-interface-discord_presence-description = Tells your Discord client that you are using SlimeVR along with the number of IMU trackers you are using.
settings-general-interface-discord_presence-label = Share activity on Discord
settings-general-interface-discord_presence-message = { $amount ->
[0] Sliming around
[one] Using 1 tracker
*[other] Using { $amount } trackers
}
## Serial settings
settings-serial = Serial Console
# This cares about multilines
settings-serial-description =
This is a live information feed for serial communication.
May be useful to debug firmware or hardware issues.
settings-serial-connection_lost = Connection to serial lost, Reconnecting...
settings-serial-reboot = Reboot
settings-serial-factory_reset = Factory Reset
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>Warning:</b> This will reset the tracker to factory settings.
Which means Wi-Fi and calibration settings <b>will all be lost!</b>
settings-serial-factory_reset-warning-ok = I know what I'm doing
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
settings-serial-file_type = Plain text
settings-serial-save_logs = Save To File
## OSC router settings
settings-osc-router = OSC router
# This cares about multilines
settings-osc-router-description =
Forward OSC messages from another program.
Useful for using another OSC program with VRChat for example.
settings-osc-router-enable = Enable
settings-osc-router-enable-description = Toggle the forwarding of messages.
settings-osc-router-enable-label = Enable
settings-osc-router-network = Network ports
# This cares about multilines
settings-osc-router-network-description =
Set the ports for listening and sending data.
These can be the same as other ports used in the SlimeVR server.
settings-osc-router-network-port_in =
.label = Port In
.placeholder = Port in (default: 9002)
settings-osc-router-network-port_out =
.label = Port Out
.placeholder = Port out (default: 9000)
settings-osc-router-network-address = Network address
settings-osc-router-network-address-description = Set the address to send out data at.
settings-osc-router-network-address-placeholder = IPV4 address
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC Trackers
# This cares about multilines
settings-osc-vrchat-description-v1 =
Change settings specific to the OSC Trackers standard used for sending
tracking data to applications without SteamVR (ex. Quest standalone).
Make sure to enable OSC in VRChat via the Action Menu under OSC > Enabled.
To allow receiving HMD and controller data from VRChat, go in your main menu's
settings under Tracking & IK > Allow Sending Head and Wrist VR Tracking OSC Data.
settings-osc-vrchat-enable = Enable
settings-osc-vrchat-enable-description = Toggle the sending and receiving of data.
settings-osc-vrchat-enable-label = Enable
settings-osc-vrchat-network = Network ports
settings-osc-vrchat-network-description-v1 = Set the ports for listening and sending data. Can be left untouched for VRChat.
settings-osc-vrchat-network-port_in =
.label = Port In
.placeholder = Port in (default: 9001)
settings-osc-vrchat-network-port_out =
.label = Port Out
.placeholder = Port out (default: 9000)
settings-osc-vrchat-network-address = Network address
settings-osc-vrchat-network-address-description-v1 = Choose which address to send out data to. Can be left untouched for VRChat.
settings-osc-vrchat-network-address-placeholder = VRChat ip address
settings-osc-vrchat-network-trackers = Trackers
settings-osc-vrchat-network-trackers-description = Toggle the sending of specific trackers via OSC.
settings-osc-vrchat-network-trackers-chest = Chest
settings-osc-vrchat-network-trackers-hip = Hip
settings-osc-vrchat-network-trackers-knees = Knees
settings-osc-vrchat-network-trackers-feet = Feet
settings-osc-vrchat-network-trackers-elbows = Elbows
## VMC OSC settings
settings-osc-vmc = Virtual Motion Capture
# This cares about multilines
settings-osc-vmc-description =
Change settings specific to the VMC (Virtual Motion Capture) protocol
to send SlimeVR's bone data and receive bone data from other apps.
settings-osc-vmc-enable = Enable
settings-osc-vmc-enable-description = Toggle the sending and receiving of data.
settings-osc-vmc-enable-label = Enable
settings-osc-vmc-network = Network ports
settings-osc-vmc-network-description = Set the ports for listening and sending data via VMC.
settings-osc-vmc-network-port_in =
.label = Port In
.placeholder = Port in (default: 39540)
settings-osc-vmc-network-port_out =
.label = Port Out
.placeholder = Port out (default: 39539)
settings-osc-vmc-network-address = Network address
settings-osc-vmc-network-address-description = Choose which address to send out data at via VMC.
settings-osc-vmc-network-address-placeholder = IPV4 address
settings-osc-vmc-vrm = VRM Model
settings-osc-vmc-vrm-description = Load a VRM model to allow head anchor and enable a higher compatibility with other applications.
settings-osc-vmc-vrm-model_unloaded = No model loaded
settings-osc-vmc-vrm-model_loaded = { $titled ->
*[false] Untitled model loaded
[true] Model loaded: { $name }
}
settings-osc-vmc-vrm-file_select = Drag & drop a model to use, or <u>browse</u>
settings-osc-vmc-anchor_hip = Anchor at hips
settings-osc-vmc-anchor_hip-description = Anchor the tracking at the hips, useful for seated VTubing. If disabling, load a VRM model.
settings-osc-vmc-anchor_hip-label = Anchor at hips
settings-osc-vmc-mirror_tracking = Mirror tracking
settings-osc-vmc-mirror_tracking-description = Mirror the tracking horizontally.
settings-osc-vmc-mirror_tracking-label = Mirror tracking
## Setup/onboarding menu
onboarding-skip = Skip setup
onboarding-continue = Continue
onboarding-wip = Work in progress
onboarding-previous_step = Previous step
onboarding-setup_warning =
<b>Warning:</b> The initial setup is required for good tracking,
it is needed if this is your first time using SlimeVR.
onboarding-setup_warning-skip = Skip setup
onboarding-setup_warning-cancel = Continue setup
## Wi-Fi setup
onboarding-wifi_creds-back = Go Back to introduction
onboarding-wifi_creds = Input Wi-Fi credentials
# This cares about multilines
onboarding-wifi_creds-description =
The Trackers will use these credentials to connect wirelessly.
Please use the credentials that you are currently connected to.
onboarding-wifi_creds-skip = Skip Wi-Fi settings
onboarding-wifi_creds-submit = Submit!
onboarding-wifi_creds-ssid =
.label = Wi-Fi name
.placeholder = Enter Wi-Fi name
onboarding-wifi_creds-password =
.label = Password
.placeholder = Enter password
## Mounting setup
onboarding-reset_tutorial-back = Go Back to Mounting calibration
onboarding-reset_tutorial = Reset tutorial
onboarding-reset_tutorial-explanation = While you use your trackers they might get out of alignment because of IMU yaw drift, or because you might have moved them physically. You have several ways to fix this.
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 headset (HMD).
# Cares about multiline
onboarding-reset_tutorial-1 = Tap { $taps } times the highlighted tracker for triggering full reset.
You need to be standing for this (i-pose). There is a 3 seconds delay (configurable) before it actually happens.
This fully resets the position and rotation of all your trackers. It should fix most issues.
# Cares about multiline
onboarding-reset_tutorial-2 = Tap { $taps } times the highlighted tracker for triggering mounting reset.
Mounting reset helps on how the trackers are actually put on you, so if you accidentally moved them and changed how they are oriented by a big amount, this will help.
You need to be on a pose like you are skiing like it's shown on the Automatic Mounting wizard and you have a 3 second delay (configurable) before it gets triggered.
## Setup start
onboarding-home = Welcome to SlimeVR
onboarding-home-start = Let's get set up!
## Enter VR part of setup
onboarding-enter_vr-back = Go Back to Tracker assignent
onboarding-enter_vr-title = Time to enter VR!
onboarding-enter_vr-description = Put on all your trackers and then enter VR!
onboarding-enter_vr-ready = I'm ready
## Setup done
onboarding-done-title = You're all set!
onboarding-done-description = Enjoy your full-body experience
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-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
onboarding-connect_tracker-connection_status-serial_init = Connecting to serial device
onboarding-connect_tracker-connection_status-provisioning = Sending Wi-Fi credentials
onboarding-connect_tracker-connection_status-connecting = Trying to connect to Wi-Fi
onboarding-connect_tracker-connection_status-looking_for_server = Looking for server
onboarding-connect_tracker-connection_status-connection_error = Unable to connect to Wi-Fi
onboarding-connect_tracker-connection_status-could_not_find_server = Could not find the server
onboarding-connect_tracker-connection_status-done = Connected to the Server
# $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] No trackers
[one] 1 tracker
*[other] { $amount } trackers
} connected
onboarding-connect_tracker-next = I connected all my trackers
## Tracker calibration tutorial
onboarding-calibration_tutorial = IMU Calibration Tutorial
onboarding-calibration_tutorial-subtitle = This will help reduce tracker drifting!
onboarding-calibration_tutorial-description = Every time you turn on your trackers, they need to rest for a moment on a flat surface to calibrate. Let's do the same thing by clicking the "{ onboarding-calibration_tutorial-calibrate }" button, <b>do not move them!</b>
onboarding-calibration_tutorial-calibrate = I placed my trackers on the table
onboarding-calibration_tutorial-status-waiting = Waiting for you
onboarding-calibration_tutorial-status-calibrating = Calibrating
onboarding-calibration_tutorial-status-success = Nice!
onboarding-calibration_tutorial-status-error = The tracker was moved
## Tracker assignment tutorial
onboarding-assignment_tutorial = How to prepare a Slime Tracker before putting it on
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-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
onboarding-assign_trackers-back = Go Back to Wi-Fi Credentials
onboarding-assign_trackers-title = Assign trackers
onboarding-assign_trackers-description = Let's choose which tracker goes where. Click on a location where you want to place a 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 = { $assigned } of { $trackers ->
[one] 1 tracker
*[other] { $trackers } 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
onboarding-assign_trackers-option-amount = { $trackersCount ->
[one] x{ $trackersCount }
*[other] x{ $trackersCount }
}
onboarding-assign_trackers-option-label = { $mode ->
[lower-body] Lower-Body Set
[core] Core Set
[enhanced-core] Enhanced Core Set
[full-body] Full-Body Set
*[all] All Trackers
}
onboarding-assign_trackers-option-description = { $mode ->
[lower-body] Minimum for VR full-body tracking
[core] + Enhanced spine tracking
[enhanced-core] + Foot rotation
[full-body] + Elbow tracking
*[all] All available tracker assignments
}
## 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 = Left foot is assigned but you need { $unassigned ->
[0] the left ankle, left thigh and either the chest, hip or waist
[1] the left thigh and either the chest, hip or waist
[2] the left ankle and either the chest, hip or waist
[3] either the chest, hip or waist
[4] the left ankle and left thigh
[5] the left thigh
[6] the left ankle
*[unknown] Unknown unassigned body part
} to also be assigned!
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_FOOT = Right foot is assigned but you need { $unassigned ->
[0] the right ankle, right thigh and either the chest, hip or waist
[1] the right thigh and either the chest, hip or waist
[2] the right ankle and either the chest, hip or waist
[3] either the chest, hip or waist
[4] the right ankle and right thigh
[5] the right thigh
[6] the right ankle
*[unknown] Unknown unassigned body part
} to also be assigned!
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_LOWER_LEG = Left ankle is assigned but you need { $unassigned ->
[0] the left thigh and either the chest, hip or waist
[1] either the chest, hip or waist
[2] the left thigh
*[unknown] Unknown unassigned body part
} to also be assigned!
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_LOWER_LEG = Right ankle is assigned but you need { $unassigned ->
[0] the right thigh and either the chest, hip or waist
[1] either the chest, hip or waist
[2] the right thigh
*[unknown] Unknown unassigned body part
} to also be assigned!
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_UPPER_LEG = Left thigh is assigned but you need { $unassigned ->
[0] either the chest, hip or waist
*[unknown] Unknown unassigned body part
} to also be assigned!
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_UPPER_LEG = Right thigh is assigned but you need { $unassigned ->
[0] either the chest, hip or waist
*[unknown] Unknown unassigned body part
} to also be assigned!
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-HIP = Hip is assigned but you need { $unassigned ->
[0] the chest
*[unknown] Unknown unassigned body part
} to also be assigned!
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-WAIST = Waist is assigned but you need { $unassigned ->
[0] the chest
*[unknown] Unknown unassigned body part
} to also be assigned!
## Tracker mounting method choose
onboarding-choose_mounting = What mounting calibration method to use?
# Multiline text
onboarding-choose_mounting-description = Mounting orientation corrects for the placement of trackers on your body.
onboarding-choose_mounting-auto_mounting = Automatic mounting
# Italized text
onboarding-choose_mounting-auto_mounting-label-v2 = Recommended
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-v2 = Might not be precise enough
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
onboarding-manual_mounting = Manual Mounting
onboarding-manual_mounting-description = Click on every tracker and select which way they are mounted
onboarding-manual_mounting-auto_mounting = Automatic mounting
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 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 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 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 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-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-descriptionv3 =
This will guess your proportions by recording a sample of your movements and passing it through an algorithm.
<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
onboarding-manual_proportions-back = Go Back to Reset tutorial
onboarding-manual_proportions-title = Manual Body Proportions
onboarding-manual_proportions-precision = Precision adjust
onboarding-manual_proportions-auto = Automatic proportions
onboarding-manual_proportions-ratio = Adjust by ratio groups
## Tracker automatic proportions setup
onboarding-automatic_proportions-back = Go Back to Reset tutorial
onboarding-automatic_proportions-title = Measure your body
onboarding-automatic_proportions-description = For SlimeVR trackers to work, we need to know the length of your bones. This short calibration will measure it for you.
onboarding-automatic_proportions-manual = Manual proportions
onboarding-automatic_proportions-prev_step = Previous step
onboarding-automatic_proportions-put_trackers_on-title = Put on your trackers
onboarding-automatic_proportions-put_trackers_on-description = To calibrate your proportions, 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_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-descriptionv2 =
You have at least enough trackers to track your feet (generally 5 trackers).
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 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-hmd_height1 = Your HMD height is
# Shows an element below it
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!
onboarding-automatic_proportions-start_recording-next = Start Recording
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = Recording in progress...
onboarding-automatic_proportions-recording-description-p1 = Make the moves shown below:
# Each line of text is a different list item
onboarding-automatic_proportions-recording-steps =
Standing up straight, roll your head in a circle.
Bend your back forwards and squat. While squatting, look to your left, then to your right.
Twist your upper body to the left (counter-clockwise), then reach down towards the ground.
Twist your upper body to the right (clockwise), then reach down towards the ground.
Roll your hips in a circular motion as if you're using a hula hoop.
If there is time left on the recording, you can repeat these steps until it's finished.
onboarding-automatic_proportions-recording-processing = Processing the result
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer = { $time ->
[one] 1 second left
*[other] { $time } seconds left
}
onboarding-automatic_proportions-verify_results-title = Verify results
onboarding-automatic_proportions-verify_results-description = Check the results below, do they look correct?
onboarding-automatic_proportions-verify_results-results = Recording results
onboarding-automatic_proportions-verify_results-processing = Processing the result
onboarding-automatic_proportions-verify_results-redo = Redo recording
onboarding-automatic_proportions-verify_results-confirm = They're correct
onboarding-automatic_proportions-done-title = Body measured and saved.
onboarding-automatic_proportions-done-description = Your body proportions' calibration is complete!
onboarding-automatic_proportions-error_modal =
<b>Warning:</b> An error was found while estimating proportions!
Please <docs>check the docs</docs> or join our <discord>Discord</discord> for help ^_^
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 ->
*[steamvr] Currently not connected to SteamVR via the SlimeVR driver.
[steamvr_feeder] Currently not connected to the SlimeVR Feeder App.
}
status_system-StatusTrackerError = The { $trackerName } tracker has an error.
status_system-StatusUnassignedHMD = The VR headset should be assigned as a head tracker.
## 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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,813 @@
# 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 = 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, 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
body_part-NONE = Määramata
body_part-HEAD = Pea
body_part-NECK = Kael
body_part-RIGHT_SHOULDER = Parem õlg
body_part-RIGHT_UPPER_ARM = Parem õlavars
body_part-RIGHT_LOWER_ARM = Parem küünarvars
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
body_part-LEFT_SHOULDER = Vasak õlg
body_part-LEFT_UPPER_ARM = Vasak õlavars
body_part-LEFT_LOWER_ARM = Vasak küünarvars
body_part-LEFT_HAND = Vasak käsi
body_part-LEFT_UPPER_LEG = Vasak reis
body_part-LEFT_LOWER_LEG = Vasak säär
body_part-LEFT_FOOT = Vasak jalg
## Proportions
skeleton_bone-NONE = Mitte midagi
skeleton_bone-HEAD = Pea Nihe
skeleton_bone-NECK = Kaela Pikkus
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-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
skeleton_bone-HAND_Z = Käte kaugus Z
skeleton_bone-ELBOW_OFFSET = Küünarnuki Nihe
## Tracker reset buttons
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
serial_detection-new_device-p0 = Uus jadaseade tuvastatud!
serial_detection-new_device-p1 = Sisestage enda Wi-Fi andmed!
serial_detection-new_device-p2 = Palun valige, mida te soovite sellega teha
serial_detection-open_wifi = Ühendage Wi-Fi-ga
serial_detection-open_serial = Avage Jadakonsool
serial_detection-submit = Jätka!
serial_detection-close = Sulge
## Navigation bar
navbar-home = Kodu
navbar-body_proportions = Keha Proportsioonid
navbar-trackers_assign = Jälgija Määramine
navbar-mounting = Jälgijate Paigalduse Kalibreerimine
navbar-onboarding = Häälestusviisard
navbar-settings = Seaded
## 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
widget-overlay-is_visible_label = Näita Ülekatet SteamVR-is
widget-overlay-is_mirrored_label = Näita Ülekatet Peeglina
## Widget: Drift compensation
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 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
## Widget: IMU Visualizer
widget-imu_visualizer = Rotatsiooni
widget-imu_visualizer-rotation_raw = Toores
widget-imu_visualizer-rotation_preview = Eelvaade
widget-imu_visualizer-rotation_hide = Peida
## Tracker status
tracker-status-none = Staatuseta
tracker-status-busy = Hõivatud
tracker-status-error = Viga
tracker-status-disconnected = Ühendus katkestatud
tracker-status-occluded = Jälgija kadunud
tracker-status-ok = OK
## Tracker status columns
tracker-table-column-name = Nimi
tracker-table-column-type = Tüüp
tracker-table-column-battery = Patarei
tracker-table-column-ping = Ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Temp. °C
tracker-table-column-linear-acceleration = Accel. X/Y/Z
tracker-table-column-rotation = Pööre X/Y/Z
tracker-table-column-position = Positsioon X/Y/Z
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
tracker-infos-manufacturer = Tootja
tracker-infos-display_name = Kuvatav Nimi
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
tracker-settings-back = Minge tagasi jälgija loendise
tracker-settings-title = Jälgija Seaded
tracker-settings-assignment_section = Jälgija asukoha määramine
tracker-settings-assignment_section-description = Mis kehaosale jälgija määratud on.
tracker-settings-assignment_section-edit = Muuda jälgija asukohta
tracker-settings-mounting_section = Paigaldusasend
tracker-settings-mounting_section-description = Kuhu on jälgija paigaldatud.
tracker-settings-mounting_section-edit = Muuda paigaldusasendit
tracker-settings-drift_compensation_section = Allow drift compensation
tracker-settings-drift_compensation_section-description = Should this tracker compensate for its drift when drift compensation is enabled?
tracker-settings-drift_compensation_section-edit = Allow drift compensation
# 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 = Jälgija Nimi
tracker-settings-name_section-description = Anna talle armas hüüdnimi :)
tracker-settings-name_section-placeholder = NightyBeast-i vasak käsi
## Tracker part card info
tracker-part_card-no_name = Nimi puudub
tracker-part_card-unassigned = Määramata
## Body assignment menu
body_assignment_menu = Kus te soovite, et jälgija oleks?
body_assignment_menu-description = Vali asukoht kuhu te soovite, et jälgija määratakse. Alternatiivina saate te hallata kõiki jälgijaid korraga mitte ükshaaval.
body_assignment_menu-show_advanced_locations = Kuva täpsem määramise asukoht
body_assignment_menu-manage_trackers = Halda kõiki jälgijaid
body_assignment_menu-unassign_tracker = Tühista jälgija määramine
## 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 = Millist jälgijat määrata teie
tracker_selection_menu-NONE = Millise jälgija määramist soovite tühistada?
tracker_selection_menu-HEAD = { -tracker_selection-part } peale?
tracker_selection_menu-NECK = { -tracker_selection-part } kaelale?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } paremale õlale?
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } paremale õlavarrele?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } paremale küünarvarrele?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } paremale käele?
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } paremale reiele?
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?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } vasakule õlale?
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } vasakule õlavarrele?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } vasakule küünarvarrele_
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } vasakule käele?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } vasakule reiele?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } vasakule säärele?
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } vasakule jalale?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } vasakule kontrollerile?
tracker_selection_menu-unassigned = Määramata Jälgijad
tracker_selection_menu-assigned = Määratud Jälgijad
tracker_selection_menu-dont_assign = Ära määra jälgijat
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Hoiatus:</b> Kaelajälgija võib olla surmav, kui seda liiga tihedalt reguleerida,
rihm võib vere ringluse pähe lõpetada!
tracker_selection_menu-neck_warning-done = Ma mõistan riske
tracker_selection_menu-neck_warning-cancel = Tühista
## Mounting menu
mounting_selection_menu = Kus te soovite, et see jälgija paikneks?
mounting_selection_menu-close = Sulge
## Sidebar settings
settings-sidebar-title = Seaded
settings-sidebar-general = Tavaline
settings-sidebar-tracker_mechanics = Jälgija mehaanika
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
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = SteamVR jälgijad
# 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 =
Luba või keela spetsiifilised SteamVR-i jälgijad.
Kasulik teatud mängudele või äppidele, mis toetavad ainult teatuid jälgijaid.
settings-general-steamvr-trackers-waist = Vöökoht
settings-general-steamvr-trackers-chest = Rind
settings-general-steamvr-trackers-feet = Jalad
settings-general-steamvr-trackers-knees = Põlved
settings-general-steamvr-trackers-elbows = Küünarnukid
settings-general-steamvr-trackers-hands = Käed
## Tracker mechanics
settings-general-tracker_mechanics = Jälgija mehaanika
settings-general-tracker_mechanics-filtering = Filtreerimine
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Vali filtreerimis tüüp enda jälgijatele.
Ennustus ennustab liikumist, aga silestamine silestab liikumist.
settings-general-tracker_mechanics-filtering-type = Filtreerimise tüüp
settings-general-tracker_mechanics-filtering-type-none = Ei mingit filtreerimist
settings-general-tracker_mechanics-filtering-type-none-description = Kasutage pöörlemist nii nagu on. Ei tee mingit filtreerimist.
settings-general-tracker_mechanics-filtering-type-smoothing = Silestamine
settings-general-tracker_mechanics-filtering-type-smoothing-description = Teeb liigutused siledaks, aga lisab aega jälgija ja programmi vahel.
settings-general-tracker_mechanics-filtering-type-prediction = Ennustamine
settings-general-tracker_mechanics-filtering-type-prediction-description = Vähendab aega jälgija ja programmi vahel ja tee liigutused kiiremaks, aga võib lisada värinat.
settings-general-tracker_mechanics-filtering-amount = Amount
settings-general-tracker_mechanics-drift_compensation = Drift compensation
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Compensates IMU yaw drift by applying an inverse rotation.
Change amount of compensation and up to how many resets are taken into account.
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
## FK/Tracking settings
settings-general-fk_settings = Jälgija seaded
# 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 = Põranda läbimine
# 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 = 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-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_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
## Gesture control settings (tracker tapping)
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.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 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.
## Appearance settings
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-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
settings-serial = Jadakonsool
# This cares about multilines
settings-serial-description =
See on reaalajas teabevoog jadaside jaoks.
Võib olla kasulik, kui on vaja teada, kas püsivara töötab.
settings-serial-connection_lost = Ühendus jadakonsooliga kaotatud. Ühenduse taastamine...
settings-serial-reboot = Taaskäivitage
settings-serial-factory_reset = Tehaseseadete taastamine
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>Hoiatus:</b> See lähtestab jälgija tehaseseadetele.
Mis tähendab et WI-FI ja kalibreerimis sätted <b>kustutatakse!</b>
settings-serial-factory_reset-warning-ok = Ma tean mida ma teen
settings-serial-factory_reset-warning-cancel = Tühista
settings-serial-get_infos = Saa infot
settings-serial-serial_select = Valige jadaport
settings-serial-auto_dropdown_item = Auto
## OSC router settings
settings-osc-router = OSC ruuter
# This cares about multilines
settings-osc-router-description =
Edasta OSC-teated teisest programmidest.
Kasulik, kui kasutada teist OSC programmi näiteks VRChat-iga.
settings-osc-router-enable = Luba
settings-osc-router-enable-description = Lülitage andmete sisestamine sisse/välja.
settings-osc-router-enable-label = Luba
settings-osc-router-network = Võrgupordid
# This cares about multilines
settings-osc-router-network-description =
Lisage võrgupordid, mille pealt saata ja kuulata andmeid.
Need võivad olla samad võrgupordid mida kasutab SlimeVR server.
settings-osc-router-network-port_in =
.label = Võrguport sisse
.placeholder = Võrguport sisse (vaikimisi: 9002)
settings-osc-router-network-port_out =
.label = Võrguport välja
.placeholder = Võrguport välja (vaikimisi: 9000)
settings-osc-router-network-address = Võrgu aadress
settings-osc-router-network-address-description = Lisage võrgu aadress kuhu saata andmeid.
settings-osc-router-network-address-placeholder = IPV4 aadress
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC Jälgija
# This cares about multilines
settings-osc-vrchat-description =
Muuda VRChat-i spetsiifiliseid seadeid, et saada ja saata HMD andmeid.
Jälgijate andmed FBT jaoks (töötab Questi peal ilma arvuti ühenduseta).
settings-osc-vrchat-enable = Luba
settings-osc-vrchat-enable-description = Lülitage andmete sisestamine sisse/välja.
settings-osc-vrchat-enable-label = Luba
settings-osc-vrchat-network = Võrgupordid
settings-osc-vrchat-network-description = Lisage võrgupordid andmete saamiseks ja saatmiseks VRChat-i.
settings-osc-vrchat-network-port_in =
.label = Võrguport sisse
.placeholder = Võrguport sisse (vaikimisi: 9001)
settings-osc-vrchat-network-port_out =
.label = Võrguport välja
.placeholder = Võrguport välja (vaikimisi: 9000)
settings-osc-vrchat-network-address = Võrgu aadress
settings-osc-vrchat-network-address-description = Vali, mis aadressile saata andmeid VRChat-i jaoks (kontrolli enda Wi-Fi seadeid seadmest).
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-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
onboarding-wifi_creds-back = Mine tagasi juhistele
onboarding-wifi_creds = Sisestage enda Wi-Fi andmed!
# This cares about multilines
onboarding-wifi_creds-description =
Jälgijad kasutavad neid andmeid, et ühendada juhtmevabalt.
Palun kasutage neid Wi-Fi andmeid, millega te praegu olete ühendatud.
onboarding-wifi_creds-skip = Jätke Wi-Fi seaded vahele.
onboarding-wifi_creds-submit = Jätka!
onboarding-wifi_creds-ssid =
.label = SSID
.placeholder = Sisesta SSID
onboarding-wifi_creds-password =
.label = Parool
.placeholder = Sisesta parool
## Mounting setup
onboarding-reset_tutorial-back = Minge tagasi paigaldus kalibreerimisse
onboarding-reset_tutorial = Lähtesta õpetus
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
onboarding-home-start = Hakkame sättima!
## Enter VR part of setup
onboarding-enter_vr-back = Minge tagasi jälgijate määramisse
onboarding-enter_vr-title = Aeg minna VR-i!
onboarding-enter_vr-description = Pange selga kõik jälgijad ja VR prillid.
onboarding-enter_vr-ready = Olen valmis
## Setup done
onboarding-done-title = Kõik on valmis!
onboarding-done-description = Nautige enda kogu keha jälgimis kogemust
onboarding-done-close = Sulgege juhend
## Tracker connection setup
onboarding-connect_tracker-back = Minge tagasi Wi-Fi andmetesse
onboarding-connect_tracker-title = Ühendage jälgijad
onboarding-connect_tracker-description-p0 = Nüüd lähme lõbusa osa juurde, ühendame kõik jälgijad-
onboarding-connect_tracker-description-p1 = Lihtsalt ühendage kõik jälgijad, mis ei ole ühendatud läbi USB enda arvutisse.
onboarding-connect_tracker-issue-serial = Mul on probleeme ühenduse loomisega!
onboarding-connect_tracker-usb = USB Jälgija
onboarding-connect_tracker-connection_status-none = Jälgijate otsimine
onboarding-connect_tracker-connection_status-serial_init = Ühenduse loomine jadaseadmega
onboarding-connect_tracker-connection_status-provisioning = Saadame Wi-Fi andmeid
onboarding-connect_tracker-connection_status-connecting = Saadame Wi-Fi andmeid
onboarding-connect_tracker-connection_status-looking_for_server = Serveri otsimine
onboarding-connect_tracker-connection_status-connection_error = Wi-Fi-ga ei saa ühendust luua!
onboarding-connect_tracker-connection_status-could_not_find_server = Serverit ei leitud
onboarding-connect_tracker-connection_status-done = Ühendatud serveriga
# $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] Mitte ühtegi jälgijat ühendatud
[one] 1 jälgija
*[other] { $amount } jälgijat
} 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
onboarding-assign_trackers-title = Määrake jälgijad asukoht
onboarding-assign_trackers-description = Valime mis jälgijad lähevad kuhu. Vajutage asukohale kuhu te tahate, et jälgija läheks.
# 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 =
{ $assigned } of { $trackers ->
[one] 1 jälgija
*[other] { $trackers } jälgijat
} assigned
onboarding-assign_trackers-advanced = Kuva täpsemad määramiskohad
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
onboarding-manual_mounting = Käsitsi paigaldamine
onboarding-manual_mounting-description = Vajutage iga jälgija peale ja valige, kuidas see on paigaldatud
onboarding-manual_mounting-auto_mounting = Automaatne paigaldamine
onboarding-manual_mounting-next = Järgmine Samm
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = Minge tagasi, et siseneda VR-i
onboarding-automatic_mounting-title = Paigaldamis kalibreerimine
onboarding-automatic_mounting-description = Et SlimeVR jälgijad töötaksid peame me nendele seadistama paigaldamise pöörde, et need joondada teie füüsilise jälgijate paigaldusega.
onboarding-automatic_mounting-manual_mounting = Manuaalselt seadistamine
onboarding-automatic_mounting-next = Järgmine Samm
onboarding-automatic_mounting-prev_step = Eelmine Samm
onboarding-automatic_mounting-done-title = Paigalduse pööre kalibreeritud.
onboarding-automatic_mounting-done-description = Teie paigalduse kalibreerimine on valmis!
onboarding-automatic_mounting-done-restart = Minge algusese
onboarding-automatic_mounting-mounting_reset-title = Paigalduse lähtestamine
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Kükita suusaasendis, jalad kõverad, ülakeha kallutatud ettepoole ja käed kõverad.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Vajutage "Lähtesta Paigaldusasend" nuppu ja oodage 3 sekuntit ja jälgijate paigaldusasend lähtestatakse.
onboarding-automatic_mounting-preparation-title = Ettevalmistus
onboarding-automatic_mounting-preparation-step-0 = 1. Seiske püsti, käed kõrval.
onboarding-automatic_mounting-preparation-step-1 = 2. Vajutage "Lähtesta" nuppu ja oodage 3 sekundit ja jälgijad lähtestatakse.
onboarding-automatic_mounting-put_trackers_on-title = Pange kõik jälgijad peale
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
onboarding-automatic_proportions-back = Mine tagasi lähtestamise õppetusse
onboarding-automatic_proportions-title = Mõõtke oma keha
onboarding-automatic_proportions-description = Et SlimeVR jälgijad töötaks peame me teadma teie kontide pikkust. See lühike kalibreerimine mõõdab selle teie jaoks.
onboarding-automatic_proportions-manual = Manuaalne Kalibreerimine
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-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:
# 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 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] 1 sekund
*[other] { $time } sekundit
}
onboarding-automatic_proportions-verify_results-title = Kontrollige tulemust
onboarding-automatic_proportions-verify_results-description = Kontrollige tulemust all, kas kõik näeb välja korrektne?
onboarding-automatic_proportions-verify_results-results = Salvestame tulemused
onboarding-automatic_proportions-verify_results-processing = Tulemuse töötlemine
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

@@ -0,0 +1,913 @@
# 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 = 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
body_part-NONE = Ei määritetty
body_part-HEAD = Pää
body_part-NECK = Kaula
body_part-RIGHT_SHOULDER = Oikea olkapää
body_part-RIGHT_UPPER_ARM = Oikea olkavarsi
body_part-RIGHT_LOWER_ARM = Oikea kyynärvarsi
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
body_part-LEFT_SHOULDER = Vasen olkapää
body_part-LEFT_UPPER_ARM = Vasen olkavarsi
body_part-LEFT_LOWER_ARM = Vasen kyynärvarsi
body_part-LEFT_HAND = Vasen käsi
body_part-LEFT_UPPER_LEG = Vasen reisi
body_part-LEFT_LOWER_LEG = Vasen nilkka
body_part-LEFT_FOOT = Vasen jalkaterä
## Proportions
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-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
skeleton_bone-HIPS_WIDTH = Lonkan leveys
skeleton_bone-leg_group = Jalan pituus
skeleton_bone-UPPER_LEG = Yläjalan pituus
skeleton_bone-LOWER_LEG = Säären pituus
skeleton_bone-FOOT_LENGTH = Jalkaterän pituus
skeleton_bone-FOOT_SHIFT = Jalkaterän säätö
skeleton_bone-SKELETON_OFFSET = Luurangon keskitys
skeleton_bone-SHOULDERS_DISTANCE = Olkapäiden etäisyys
skeleton_bone-SHOULDERS_WIDTH = Olkapäiden leveys
skeleton_bone-arm_group = Käsivarren pituus
skeleton_bone-UPPER_ARM = Olkavarren pituus
skeleton_bone-LOWER_ARM = Kyynärvarren pituus
skeleton_bone-HAND_Y = Käden Etäisyys Y
skeleton_bone-HAND_Z = Käden Etäisyys Z
skeleton_bone-ELBOW_OFFSET = Kyynärpään keskitys
## Tracker reset buttons
reset-reset_all = Nollaa kaikki mittasuhteet
reset-full = Täysinollaus
reset-mounting = Nollaa Asennus
reset-yaw = Nollaa Kallistuma
## Serial detection stuff
serial_detection-new_device-p0 = Uusi sarjalaite havaittu!
serial_detection-new_device-p1 = Anna Wi-Fi-kirjautumistietosi!
serial_detection-new_device-p2 = Valitse, mitä haluat tehdä sillä
serial_detection-open_wifi = Yhdistä Wi-Fi-verkkoon
serial_detection-open_serial = Avaa sarjakonsoli
serial_detection-submit = Lähetä!
serial_detection-close = Sulje
## Navigation bar
navbar-home = Aloitus
navbar-body_proportions = Kehon Mittasuhteet
navbar-trackers_assign = Jäljittimien Määritys
navbar-mounting = Asennuksen Kalibrointi
navbar-onboarding = Asennustoiminto
navbar-settings = Asetukset
## 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
widget-overlay-is_visible_label = Näytä Overlay SteamVR:ssä
widget-overlay-is_mirrored_label = Näytä Overlay Peilinä
## Widget: Drift compensation
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
widget-developer_mode-high_contrast = Suuri kontrasti
widget-developer_mode-precise_rotation = Tarkka kierto
widget-developer_mode-fast_data_feed = Nopea tietosyöte
widget-developer_mode-filter_slimes_and_hmd = Suodata slimesit ja HMD
widget-developer_mode-sort_by_name = Lajittele nimen mukaan
widget-developer_mode-raw_slime_rotation = Käsittelemätön kierto
widget-developer_mode-more_info = Lisätietoja
## Widget: IMU Visualizer
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
tracker-status-none = Ei tilaa
tracker-status-busy = Varattu
tracker-status-error = Virhe
tracker-status-disconnected = Katkaistu
tracker-status-occluded = Peittynyt
tracker-status-ok = OK
tracker-status-timed_out = Aikakatkaistiin
## Tracker status columns
tracker-table-column-name = Nimi
tracker-table-column-type = Tyyppi
tracker-table-column-battery = Akkuvirta
tracker-table-column-ping = Ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Lämpötila °C
tracker-table-column-linear-acceleration = Kiihtyvyys X/Y/Z
tracker-table-column-rotation = Kierto X/Y/Z
tracker-table-column-position = Sijainti X/Y/Z
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
tracker-infos-manufacturer = Valmistaja
tracker-infos-display_name = Näyttönimi
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-infos-network_version = Protokollan versio
## Tracker settings
tracker-settings-back = Palaa jäljittimien luetteloon
tracker-settings-title = Jäljittimien asetukset
tracker-settings-assignment_section = Määritys
tracker-settings-assignment_section-description = Mihin kehon osaan jäljitin on määritetty.
tracker-settings-assignment_section-edit = Muokkaa määritystä
tracker-settings-mounting_section = Asennusasento
tracker-settings-mounting_section-description = Mihin jäljitin on asennettu?
tracker-settings-mounting_section-edit = Muokkaa asennusta
tracker-settings-drift_compensation_section = Salli ajautumakompensaatio
tracker-settings-drift_compensation_section-description = Pitäisikö tämän jäljittimen kompensoida ajautumaa, jos ajautumakompensaatio on päällä?
tracker-settings-drift_compensation_section-edit = Salli ajautumakompensaatio
# 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 = Jäljittimen nimi
tracker-settings-name_section-description = Anna sille söpö lempinimi :)
tracker-settings-name_section-placeholder = NightyBeast vasen jalka
## Tracker part card info
tracker-part_card-no_name = Ei nimeä
tracker-part_card-unassigned = Ei määritetty
## Body assignment menu
body_assignment_menu = Missä haluat tämän jäljittimen olevan?
body_assignment_menu-description = Valitse sijainti, johon haluat määrittää tämän jäljittimen. Vaihtoehtoisesti voit valita, haluatko hallita kaikkia jäljittimiä kerralla yhden sijaan.
body_assignment_menu-show_advanced_locations = Näytä tarkempia määrityssijainteja
body_assignment_menu-manage_trackers = Hallitse kaikkia jäljittimiä
body_assignment_menu-unassign_tracker = Poista jäljittimen määritys
## 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 = 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ä
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Varoitus:</b> Kaulan jäljitin voi olla tappava jos säädetty liian tiukasti,
hihna voi katkaista verenkierron päähän!
tracker_selection_menu-neck_warning-done = Ymmärrän riskit
tracker_selection_menu-neck_warning-cancel = Peruuta
## Mounting menu
mounting_selection_menu = Missä haluat tämän jäljittimen olevan?
mounting_selection_menu-close = Sulje
## Sidebar settings
settings-sidebar-title = Asetukset
settings-sidebar-general = Yleistä
settings-sidebar-tracker_mechanics = Jäljittimen mekaniikat
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
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = SteamVR jäljittimet
# 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 =
Ota tai poista käytöstä tietyt SteamVR jäljittimet.
Hyödyllinen peleille tai sovelluksille, jotka tukevat vain tiettyjä jäljittimiä.
settings-general-steamvr-trackers-waist = Vyötärö
settings-general-steamvr-trackers-chest = Rinta
settings-general-steamvr-trackers-left_foot = Vasen jalkaterä
settings-general-steamvr-trackers-right_foot = Oikea jalkaterä
settings-general-steamvr-trackers-left_knee = Vasen polvi
settings-general-steamvr-trackers-right_knee = Oikea polvi
settings-general-steamvr-trackers-left_elbow = Vasen kyynärpää
settings-general-steamvr-trackers-right_elbow = Oikea kyynärpää
settings-general-steamvr-trackers-left_hand = Vasen käsi
settings-general-steamvr-trackers-right_hand = Oikea käsi
settings-general-steamvr-trackers-hands-warning-cancel = Peruuta
settings-general-steamvr-trackers-hands-warning-done = Kyllä
## Tracker mechanics
settings-general-tracker_mechanics = Jäljittimen mekaniikat
settings-general-tracker_mechanics-filtering = Suodatus
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Valitse suodatustyyppi jäljittimillesi.
Ennustus ennustaa liikettä, kun taas tasoitus tasoittaa liikettä.
settings-general-tracker_mechanics-filtering-type = Suodatustyyppi
settings-general-tracker_mechanics-filtering-type-none = Ei suodatusta
settings-general-tracker_mechanics-filtering-type-none-description = Käytä kiertoja sellaisenaan. Ei tee mitään suodatusta.
settings-general-tracker_mechanics-filtering-type-smoothing = Tasoitus
settings-general-tracker_mechanics-filtering-type-smoothing-description = Tasoittaa liikettä, mutta lisää hieman viivettä.
settings-general-tracker_mechanics-filtering-type-prediction = Ennustus
settings-general-tracker_mechanics-filtering-type-prediction-description = Vähentää viivettä ja tekee liikeistä näppärämpiä, mutta voi lisätä värinää.
settings-general-tracker_mechanics-filtering-amount = Määrä
settings-general-tracker_mechanics-drift_compensation = Ajautumakompensaatio
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Kompensoi IMU-kääntymistä käyttämällä käänteistä kiertoa.
Muuta kompensaation määrää ja kuinka monta nollausta otetaan huomioon.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Ajautumakompensaatio
settings-general-tracker_mechanics-drift_compensation-amount-label = Kompensaation määrä
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Käytä enintään x viimeistä nollausta
## FK/Tracking settings
settings-general-fk_settings = Jäljityksen asetukset
# 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 = Floor clip
# 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 = Skating correction
settings-general-fk_settings-leg_tweak-toe_snap = Toe snap
settings-general-fk_settings-leg_tweak-foot_plant = Foot plant
settings-general-fk_settings-leg_tweak-skating_correction-amount = Skating correction vahvuus
settings-general-fk_settings-leg_tweak-skating_correction-description = Skating correction helpottaa jalkojen luistelua, mutta voi heikentää tarkkuutta tietyissä liikekuvioissa. Kun otat käyttöön, muista tehdä täysi nollaus ja kalibroida uudelleen pelissä.
settings-general-fk_settings-leg_tweak-floor_clip-description = Floor clip voi vähentää tai korjata jalan kulun lattian läpi. Kun otat käyttöön, muista tehdä täysi nollaus ja kalibroida uudelleen pelissä.
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-reset_settings = Palauta asetukset
settings-general-fk_settings-reset_settings-reset_hmd_pitch = Nollaa HMD-sävelkorkeus
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_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
## Gesture control settings (tracker tapping)
settings-general-gesture_control = Eleohjaus
settings-general-gesture_control-subtitle = Napautuspohjaiset nollaukset
settings-general-gesture_control-description = Mahdollistaa nollauksen napauttamalla jäljitintä. Ylävartalon korkeinta jäljitintä käytetään Pikanollaukseen. Vasemman jalan korkeinta jäljitintä käytetään Nollaukseen, vastaavaisesti oikean jalan korkeinta jäljitintä käytetään Asennusnollaukseen. On syytä mainita, että napautusten on tapahduttava 0.6 sekunnin sisällä, jotta ne rekisteröityvät.
# 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 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.
settings-general-gesture_control-fullResetEnabled = Ota käyttöön täysinollaus napautus
settings-general-gesture_control-fullResetDelay = Täysinollaus viive
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ä.
## Appearance settings
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
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-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.
settings-general-interface-use_tray = Pienennä ilmaisinalueelle
settings-general-interface-use_tray-description = Voit sulkea ikkunan sulkematta SlimeVR-palvelinta, jotta voit jatkaa sen käyttöä ilman, että graafinen käyttöliittymä häiritsee sinua.
settings-general-interface-use_tray-label = Pienennä ilmaisinalueelle
settings-general-interface-discord_presence = Jaa toiminta Discordissa
settings-general-interface-discord_presence-description = Kertoo Discordille, että käytät SlimeVR:ää, sekä käyttämiesi IMU-seurantalaitteiden määrän.
settings-general-interface-discord_presence-label = Jaa toiminta Discordissa
## Serial settings
settings-serial = Sarjakonsoli
# This cares about multilines
settings-serial-description =
Tämä on reaaliaikainen tietosyöte sarjaviestintää varten.
Voi olla hyödyllistä, jos sinun on tiedettävä, että laiteohjelmisto toimii.
settings-serial-connection_lost = Yhteys sarjaan kadonnut, yhdistetään uudelleen...
settings-serial-reboot = Käynnistä uudelleen
settings-serial-factory_reset = Tehdasasetusten palautus
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>Varoitus:</b> Tämä palauttaa jäljittimen tehdasasetuksille.
Tämä tarkoittaa, että Wi-Fi- ja kalibrointiasetukset <b>menetetään kokonaan!</b>
settings-serial-factory_reset-warning-ok = Tiedän mitä teen
settings-serial-factory_reset-warning-cancel = Peruuta
settings-serial-get_infos = Hanki tietoja
settings-serial-serial_select = Valitse sarjaportti
settings-serial-auto_dropdown_item = Autom.
settings-serial-file_type = Teksti
settings-serial-save_logs = Tallenna tiedostoon
## OSC router settings
settings-osc-router = OSC-reititin
# This cares about multilines
settings-osc-router-description =
Välitä OSC-viestit toisesta ohjelmasta.
Hyödyllinen toisen OSC-ohjelman käyttämiseen esimerkiksi VRChatin kanssa.
settings-osc-router-enable = Käytä
settings-osc-router-enable-description = Vaihda viestien edelleenlähetystä.
settings-osc-router-enable-label = Käytä
settings-osc-router-network = Verkkoportit
# This cares about multilines
settings-osc-router-network-description =
Aseta portit tietojen kuuntelua ja lähettämistä varten.
Nämä voivat olla samat kuin muut SlimeVR-palvelimessa käytetyt portit.
settings-osc-router-network-port_in =
.label = Portti sisään
.placeholder = Portti sisään (oletus: 9002)
settings-osc-router-network-port_out =
.label = Portti ulos
.placeholder = Portti ulos (oletus: 9000)
settings-osc-router-network-address = Verkon osoite
settings-osc-router-network-address-description = Määritä osoite, johon tiedot lähetetään.
settings-osc-router-network-address-placeholder = IPV4-osoite
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC -jäljittimet
settings-osc-vrchat-enable = Käytä
settings-osc-vrchat-enable-description = Vaihda tietojen lähettäminen ja vastaanottaminen.
settings-osc-vrchat-enable-label = Käytä
settings-osc-vrchat-network = Verkkoportit
settings-osc-vrchat-network-description-v1 = Aseta portit tietojen kuuntelua ja lähettämistä varten. Voidaan jättää koskematta VRChatille.
settings-osc-vrchat-network-port_in =
.label = Portti sisään
.placeholder = Portti sisään (oletus: 9001)
settings-osc-vrchat-network-port_out =
.label = Portti ulos
.placeholder = Portti ulos (oletus: 9000)
settings-osc-vrchat-network-address = Verkon osoite
settings-osc-vrchat-network-address-description-v1 = Valitse, mihin osoitteeseen tiedot lähetetään. Voidaan jättää koskematta VRChatille.
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
## VMC OSC settings
settings-osc-vmc = Virtual Motion Capture
# This cares about multilines
settings-osc-vmc-description =
Muuta VMC (Virtual Motion Capture) -protokollan asetuksia
lähettääksesi ja vastaanottaaksesi SlimeVR:n luutietoja muihin sovelluksiin.
settings-osc-vmc-enable = Käytä
settings-osc-vmc-enable-description = Vaihda tietojen lähettäminen ja vastaanottaminen.
settings-osc-vmc-enable-label = Käytä
settings-osc-vmc-network = Verkkoportit
settings-osc-vmc-network-description = Aseta portit tietojen kuunteluun ja lähettämiseen VMC:n kautta
settings-osc-vmc-network-port_in =
.label = Portti sisään
.placeholder = Portti sisään (oletus: 39540)
settings-osc-vmc-network-port_out =
.label = Portti ulos
.placeholder = Portti ulos (oletus: 39539)
settings-osc-vmc-network-address = Verkon osoite
settings-osc-vmc-network-address-description = Määritä osoite, johon tietoja lähetetään VMC:n kautta
settings-osc-vmc-network-address-placeholder = IPV4-osoite
settings-osc-vmc-vrm = VRM-malli
settings-osc-vmc-vrm-description = Lataa VRM-malli salliaksesi pääankkurin ja mahdollistaaksesi paremman yhteensopivuuden muiden sovellusten kanssa
settings-osc-vmc-vrm-model_unloaded = Mallia ei ole ladattu
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[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
onboarding-wifi_creds-back = Palaa esittelyyn
onboarding-wifi_creds = Syötä Wi-Fi-tunnistetiedot
# This cares about multilines
onboarding-wifi_creds-description =
Jäljittimet käyttävät näitä tunnistetietoja langattomaan yhteyden muodostamiseen.
Käytä tunnistetietoja, joihin olet tällä hetkellä yhteydessä.
onboarding-wifi_creds-skip = Ohita Wi-Fi-asetukset
onboarding-wifi_creds-submit = Lähetä!
onboarding-wifi_creds-ssid =
.label = Wi-Fi nimi
.placeholder = Syötä Wi-Fi nimi
onboarding-wifi_creds-password =
.label = Salasana
.placeholder = Syötä salasana
## Mounting setup
onboarding-reset_tutorial-back = Palaa asennuksen kalibrointiin
onboarding-reset_tutorial = Nollaa tutoriaali
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
onboarding-home = Tervetuloa SlimeVR:ään
onboarding-home-start = Mennään asentamaan!
## Enter VR part of setup
onboarding-enter_vr-back = Palaa jäljittimien määritykseen
onboarding-enter_vr-title = Aika astua VR:ään!
onboarding-enter_vr-description = Laita kaikki jäljittimet päälle ja astu VR:ään!
onboarding-enter_vr-ready = Olen valmis
## Setup done
onboarding-done-title = Olet valmis!
onboarding-done-description = Nauti täysikehojäljityksestäsi
onboarding-done-close = Sulje opas
## Tracker connection setup
onboarding-connect_tracker-back = Palaa Wi-Fi-tunnistetietoihin
onboarding-connect_tracker-title = Yhdistä jäljittimet
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
onboarding-choose_mounting-auto_mounting-description = Tämä tunnistaa automaattisesti kaikkien jäljittimiesi asennussuunnat 2 asennosta
onboarding-choose_mounting-manual_mounting = Manuaalinen asennus
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
## Tray Menu
## First exit modal
## Unknown device modal

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,330 @@
# 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 = מתחבר לשרת
websocket-connection_lost = החיבור לשרת אבד. מנסה להתחבר מחדש
## Update notification
## Tips
tips-find_tracker = לא בטוח איזה חיישן אתה מחזיק? נער את החיישן והתוכנה תסמן לך אותו.
tips-do_not_move_heels = אנא וודא שהעקבים שלך לא זזות בזמן הקלטה
## Body parts
body_part-NONE = לא שויך
body_part-HEAD = ראש
body_part-NECK = צוואר
body_part-RIGHT_SHOULDER = כתף ימין
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_FOOT = רגל ימין
body_part-CHEST = חזה
body_part-WAIST = מותניים
body_part-HIP = ירך
body_part-LEFT_SHOULDER = כתף שמאל
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_FOOT = רגל שמאל
## Proportions
skeleton_bone-NONE = לא נבחר
skeleton_bone-NECK = אורך צוואר
skeleton_bone-CHEST = אורך החזה
skeleton_bone-WAIST = אורך המותניים
skeleton_bone-HIP = אורך הירך
skeleton_bone-HIPS_WIDTH = רוחב הירכיים
skeleton_bone-UPPER_LEG = אורך הרגל העליונה
skeleton_bone-LOWER_LEG = אורך רגל תחתון
skeleton_bone-FOOT_LENGTH = אורך כף הרגל
skeleton_bone-SHOULDERS_DISTANCE = מרחק כתפיים
skeleton_bone-SHOULDERS_WIDTH = רוחב כתפיים
skeleton_bone-UPPER_ARM = אורך זרוע עליונה
skeleton_bone-LOWER_ARM = אורך זרוע תחתונה
## Tracker reset buttons
reset-reset_all = איפוס כל הפרופורציות
reset-full = איפוס
reset-mounting = איפוס הרכבה
## Serial detection stuff
serial_detection-new_device-p0 = זוהה מכשיר סידורי חדש!
serial_detection-new_device-p1 = הכנס את פרטי הWi-Fi שלך!
serial_detection-new_device-p2 = בחר בבקשה מה אתה רוצה לעשות עם זה
serial_detection-open_wifi = מתחבר לWi-Fi
serial_detection-open_serial = פתח טרמינל סידרתי
serial_detection-submit = שלח!
serial_detection-close = סגור
## Navigation bar
navbar-home = בית
navbar-body_proportions = פרופורציות גוף
navbar-trackers_assign = שיוך חיישנים
navbar-mounting = כיול ההרכבה
navbar-onboarding = אשף ההגדרה
navbar-settings = הגדרות
## Biovision hierarchy recording
bvh-start_recording = הקלטת BVH
bvh-recording = מקליט...
## Tracking pause
## Widget: Overlay settings
widget-overlay = ממשק Overlay
widget-overlay-is_visible_label = הצג Overlay ב-SteamVR
widget-overlay-is_mirrored_label = הצג Overlay כהעתק
## Widget: Drift compensation
## Widget: Developer settings
widget-developer_mode = מצב מפתח
widget-developer_mode-high_contrast = ניגודיות גבוהה
widget-developer_mode-fast_data_feed = פיד נתונים מהיר
widget-developer_mode-filter_slimes_and_hmd = סנן slimes וHMD
widget-developer_mode-sort_by_name = מיון לפי שם
widget-developer_mode-more_info = הצג עוד מידע
## Widget: IMU Visualizer
widget-imu_visualizer = סיבוב
widget-imu_visualizer-rotation_preview = תצוגה מקדימה
## Tracker status
tracker-status-none = אין סטטוס
tracker-status-busy = עסוק
tracker-status-error = שגיאה
tracker-status-disconnected = מנותק
tracker-status-occluded = מוסתר
tracker-status-ok = אוקיי
## Tracker status columns
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-left = שמאל
tracker-rotation-right = ימין
tracker-rotation-back = אחורה
## Tracker information
tracker-infos-manufacturer = יצרן
tracker-infos-display_name = שם תצוגה
tracker-infos-custom_name = שם מותאם אישית
## Tracker settings
tracker-settings-assignment_section = שיוך
tracker-settings-assignment_section-description = לאיזה חלק בגוף החיישן משויך.
tracker-settings-assignment_section-edit = ערוך שיוך
tracker-settings-mounting_section = מיקום הרכבה
tracker-settings-mounting_section-edit = עריכת הרכבה
tracker-settings-name_section-description = תן לו כינוי חמוד :)
tracker-settings-name_section-placeholder = רגל שמאלית של NightyBeast
## Tracker part card info
tracker-part_card-no_name = אין שם
tracker-part_card-unassigned = לא הוקצה
## Body assignment menu
body_assignment_menu-show_advanced_locations = הצג מיקומים להקצאה מתקדמים
## Tracker assignment menu
tracker_selection_menu-HEAD = { -tracker_selection-part } ראש?
tracker_selection_menu-NECK = { -tracker_selection-part } צוואר?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } כתף ימין?
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_FOOT = { -tracker_selection-part } רגל ימין?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } בקר ימין?
tracker_selection_menu-CHEST = { -tracker_selection-part } חזה?
tracker_selection_menu-WAIST = { -tracker_selection-part } מותניים?
tracker_selection_menu-HIP = { -tracker_selection-part } ירכיים?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } כתף שמאל?
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_FOOT = { -tracker_selection-part } רגל שמאל?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } בקר שמאלי?
tracker_selection_menu-dont_assign = אל תקצה
tracker_selection_menu-neck_warning-done = אני מבין את הסיכונים
tracker_selection_menu-neck_warning-cancel = ביטול
## Mounting menu
mounting_selection_menu-close = סגור
## Sidebar settings
settings-sidebar-title = הגדרות
settings-sidebar-general = כללי
settings-sidebar-interface = ממשק
settings-sidebar-osc_router = נתב OSC
settings-sidebar-utils = כלי שירות
settings-sidebar-serial = טרמינל סידרתי
## SteamVR settings
settings-general-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 = ידיים
## Tracker mechanics
settings-general-tracker_mechanics-filtering = סינון
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 = פיצוי סחף
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
מפצה על סחף ציר הYaw ב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 איפוסים אחרונים
## FK/Tracking settings
## Gesture control settings (tracker tapping)
## Interface settings
## Serial settings
## OSC router settings
## OSC VRChat settings
settings-osc-vrchat-network-trackers-chest = חזה
settings-osc-vrchat-network-trackers-knees = ברכיים
settings-osc-vrchat-network-trackers-feet = רגל
settings-osc-vrchat-network-trackers-elbows = מרפקים
## VMC OSC settings
## Setup/onboarding menu
## Wi-Fi setup
## Mounting setup
## Setup start
## Enter VR part of setup
## Setup done
## Tracker connection setup
## Tracker calibration tutorial
## Tracker assignment tutorial
## Tracker assignment setup
## Tracker assignment warnings
## Tracker mounting method choose
## Tracker manual mounting setup
## Tracker automatic mounting setup
## Tracker proportions method choose
## Tracker manual proportions setup
## Tracker automatic proportions setup
onboarding-automatic_proportions-recording-processing = מעבד את התוצאה
onboarding-automatic_proportions-verify_results-title = אמת את התוצאות
onboarding-automatic_proportions-verify_results-description = אנא בדוק את התוצאות, האם התוצאות נראות נכון?
onboarding-automatic_proportions-verify_results-results = תוצאות הקלטה
onboarding-automatic_proportions-verify_results-processing = מעבד את התוצאה
onboarding-automatic_proportions-verify_results-redo = הקלט מחדש
onboarding-automatic_proportions-verify_results-confirm = הם נכונים
onboarding-automatic_proportions-done-title = הגוף שלך נמדד ונשמר
onboarding-automatic_proportions-done-description = תהליך כיול פרופורציות הגוף שלך הושלם!
## Home
home-no_trackers = לא זוהו או הוקצו חיישנים
## Status system

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,739 @@
# 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 = サーバー接続中
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>します。
tips-tap_setup = 追跡装置をゆっくり2回軽くタップして選択することができます、メニューから選ぶ必要はありません
tips-turn_on_tracker = SlimeVRの公式トラッカーを使っていますかトラッカーをPCに接続した後は<b><em>必ず電源を入れて</em></b>ください!
tips-failed_webgl = WebGLの初期化に失敗しました。
## Body parts
body_part-NONE = 未設定
body_part-HEAD = 頭
body_part-NECK = 首
body_part-RIGHT_SHOULDER = 右肩
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_FOOT = 右足先
body_part-UPPER_CHEST = 上胸
body_part-CHEST = 胸
body_part-WAIST = 胴体
body_part-HIP = 腰
body_part-LEFT_SHOULDER = 左肩
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_FOOT = 左足先
## Proportions
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 = ウエスト長さ
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-FOOT_SHIFT = 足先シフト
skeleton_bone-SKELETON_OFFSET = スケルトンオフセット
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 = リセットマウンティング
reset-yaw = ヨーリセット
## Serial detection stuff
serial_detection-new_device-p0 = 新しいシリアルデバイスを検出しました!
serial_detection-new_device-p1 = Wi-Fiの認証情報を入力してください
serial_detection-new_device-p2 = 何をするか選択してください
serial_detection-open_wifi = Wi-Fiに接続
serial_detection-open_serial = シリアルコンソールを開く
serial_detection-submit = 実行!
serial_detection-close = 閉じる
## Navigation bar
navbar-home = ホーム
navbar-body_proportions = ボディプロポーション
navbar-trackers_assign = トラッカー割り当て
navbar-mounting = マウントキャリブレーション
navbar-onboarding = セットアップ ウィザード
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-clear_mounting = リセットマウンティングをクリア
## Widget: Developer settings
widget-developer_mode = 開発者モード
widget-developer_mode-high_contrast = ハイ コントラスト
widget-developer_mode-precise_rotation = 正確な回転角度を表示
widget-developer_mode-fast_data_feed = 高速表示モード
widget-developer_mode-filter_slimes_and_hmd = SlimeVRとHMDのみを表示
widget-developer_mode-sort_by_name = 表示名順
widget-developer_mode-raw_slime_rotation = 元の回転角度
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 = ステータスなし
tracker-status-busy = Busy
tracker-status-error = エラー
tracker-status-disconnected = 切断
tracker-status-occluded = Occluded
tracker-status-ok = 接続中
tracker-status-timed_out = タイムアウト
## Tracker status columns
tracker-table-column-name = 名前
tracker-table-column-type = タイプ
tracker-table-column-battery = バッテリー
tracker-table-column-ping = 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-rotation-overriden = (マウンティングリセットによる上書き)
## Tracker information
tracker-infos-manufacturer = メーカ-
tracker-infos-display_name = 表示名
tracker-infos-custom_name = カスタム名称
tracker-infos-url = トラッカーURL
tracker-infos-version = ファームウェアバージョン
tracker-infos-hardware_rev = ハードウエアのリビジョン
tracker-infos-hardware_identifier = ハードウェアID
tracker-infos-imu = 慣性計測センサー
tracker-infos-board_type = メインボード
tracker-infos-network_version = プロトコル・バージョン
## Tracker settings
tracker-settings-back = トラッカーリストへ戻る
tracker-settings-title = トラッカー設定
tracker-settings-assignment_section = 割り当て
tracker-settings-assignment_section-description = トラッカーが体のどの部位に装着されているか
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-description = ドリフト補正が有効になっている場合、このトラッカーはドリフトを補正する必要がありますか?
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's left leg
tracker-settings-forget = フォーゲット・トラッカー
tracker-settings-forget-label = フォーゲット・トラッカー
## Tracker part card info
tracker-part_card-no_name = 名称無し
tracker-part_card-unassigned = 未割り当て
## Body assignment menu
body_assignment_menu = このトラッカーをどこに配置しますか?
body_assignment_menu-description = このトラッカーを割り当てる場所を選択します。また、トラッカーを一つずつ管理するのではなく、すべてのトラッカーを一括して管理することもできます。
body_assignment_menu-show_advanced_locations = 高度な割り当て場所の表示
body_assignment_menu-manage_trackers = すべてのトラッカーの管理
body_assignment_menu-unassign_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 = どのトラッカーを{ $body-part }に割り当てますか?
tracker_selection_menu-NONE = どのトラッカーに割り当てないか?
tracker_selection_menu-HEAD = { -tracker_selection-part(body-part: "頭") }
tracker_selection_menu-NECK = { -tracker_selection-part(body-part: "首") }
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part(body-part: "右肩") }
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part(body-part: "右上腕") }
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part(body-part: "右前腕") }
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part(body-part: "右手") }
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: "ヒップ") }
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part(body-part: "左肩") }
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part(body-part: "左上腕") }
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part(body-part: "左前腕") }
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part(body-part: "左手") }
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part(body-part: "左太もも") }
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part(body-part: "左足首") }
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part(body-part: "左足先") }
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part(body-part: "左コントローラ") }
tracker_selection_menu-unassigned = 未割り当てのトラッカー
tracker_selection_menu-assigned = 割り当て済みのトラッカー
tracker_selection_menu-dont_assign = 割り当てない
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning = <b>警告:</b>首のトラッカーを締め付けすぎると、頭部の血液循環に危険が生じる可能性があります!
tracker_selection_menu-neck_warning-done = リスクを理解しています
tracker_selection_menu-neck_warning-cancel = キャンセル
## Mounting menu
mounting_selection_menu = このトラッカーをどこに配置しますか?
mounting_selection_menu-close = 閉じる
## Sidebar settings
settings-sidebar-title = 設定
settings-sidebar-general = 一般
settings-sidebar-tracker_mechanics = トラッカーメカニズム
settings-sidebar-fk_settings = FK設定
settings-sidebar-gesture_control = ジェスチャーコントロール
settings-sidebar-interface = インターフェース
settings-sidebar-osc_router = OSCルーター
settings-sidebar-osc_trackers = VRChatOSCトラッカー
settings-sidebar-utils = ユーティリティ
settings-sidebar-serial = シリアルコンソール
settings-sidebar-appearance = 外観
settings-sidebar-notifications = 通知
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = 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 =
有効化したい部位にチャックを入れてください。
SlimeVRが行うことをよりコントロールしたい場合に便利です。
settings-general-steamvr-trackers-waist = 腰
settings-general-steamvr-trackers-chest = 胸
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 = フィルター機能
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
トラッカーのフィルタリングの種類を選択します。
Predictionは動きを予測し、Smoothingは動きを滑らかにする。
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 = ドリフト補正
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
逆回転をかけることで 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 = 最大リセット回数
## FK/Tracking settings
settings-general-fk_settings = FK設定
# 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 = フロアクリップ
# 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 = スケーティング補正
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-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_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エミュレーションの有効化
## Gesture control settings (tracker tapping)
settings-general-gesture_control = ジェスチャーコントロール
settings-general-gesture_control-subtitle = ダブルタップクイックリセット
settings-general-gesture_control-description = ダブルタップクイックリセットの有効・無効を設定します。有効にすると、最も高い胴体トラッカー上の任意の場所をダブルタップすると、クイックリセットが起動します。ディレイは、タップされてからリセットされるまでの時間です。
# 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 } タップ
}
# 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 = ヨーリセット用のタップ
settings-general-gesture_control-fullResetEnabled = タップによるフルリセットを有効にします
settings-general-gesture_control-fullResetDelay = フルリセット遅延
settings-general-gesture_control-fullResetTaps = フルリセット用のタップ
settings-general-gesture_control-mountingResetEnabled = タップによるマウントリセットを有効にする
settings-general-gesture_control-mountingResetDelay = マウントリセットディレイ
settings-general-gesture_control-mountingResetTaps = タップによるマウントリセット
## Appearance settings
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-placeholder = デフォルトフォント
settings-interface-appearance-font-os_font = OSフォント
settings-interface-appearance-font-slime_font = デフォルトフォント
## 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-connected_trackers_warning = 接続されたトラッカー警告
settings-general-interface-use_tray-label = システムトレイに最小化する
## Serial settings
settings-serial = シリアルコンソール
# This cares about multilines
settings-serial-description =
シリアル通信のライブ情報フィードです。
ファームウェアの動作を知る必要がある場合に有用かもしれません。
settings-serial-connection_lost = シリアルへの接続が失われました、再接続中...
settings-serial-reboot = リブート
settings-serial-factory_reset = ファクトリーリセット
settings-serial-factory_reset-warning-ok = 自分が何しているかを知っています。
settings-serial-factory_reset-warning-cancel = キャンセル
settings-serial-get_infos = 情報取得
settings-serial-serial_select = シリアルポートを選択
settings-serial-auto_dropdown_item = 自動
## OSC router settings
settings-osc-router = OSCルーター
# This cares about multilines
settings-osc-router-description =
他のプログラムからの OSC メッセージを転送します。
例えば、VRChat で他の OSC プログラムを使用する場合に便利です。
settings-osc-router-enable = 有効
settings-osc-router-enable-description = メッセージの転送を切り替えます。
settings-osc-router-enable-label = 有効
settings-osc-router-network = ネットワークポート
# This cares about multilines
settings-osc-router-network-description =
データのリスニングと送信のためのポートを設定します。
これらはSlimeVRサーバーで使用する他のポートと同じでかまいません。
settings-osc-router-network-port_in =
.label = ポートイン
.placeholder = ポートイン (デフォルト: 9002)
settings-osc-router-network-port_out =
.label = ポートアウト
.placeholder = ポートアウト (デフォルト: 9000)
settings-osc-router-network-address = ネットワークアドレス
settings-osc-router-network-address-description = データを送り出すアドレスを設定します。
settings-osc-router-network-address-placeholder = IPV4アドレス
## OSC VRChat settings
settings-osc-vrchat = VRChat OSCトラッカー
settings-osc-vrchat-enable = 有効
settings-osc-vrchat-enable-description = データの送受信を切り替える。
settings-osc-vrchat-enable-label = 有効
settings-osc-vrchat-network = ネットワークポート
settings-osc-vrchat-network-port_in =
.label = ポートイン
.placeholder = ポートイン (デフォルト: 9001)
settings-osc-vrchat-network-port_out =
.label = ポートアウト
.placeholder = ポートアウト (デフォルト: 9000)
settings-osc-vrchat-network-address = ネットワークアドレス
settings-osc-vrchat-network-address-placeholder = VRChatのIPアドレス
settings-osc-vrchat-network-trackers = トラッカー
settings-osc-vrchat-network-trackers-description = データの送受信を切り替える。
settings-osc-vrchat-network-trackers-chest = 胸
settings-osc-vrchat-network-trackers-hip = 腰
settings-osc-vrchat-network-trackers-knees = 膝
settings-osc-vrchat-network-trackers-feet = 足
settings-osc-vrchat-network-trackers-elbows = 肘
## VMC OSC settings
settings-osc-vmc = バーチャルモーションキャプチャ
settings-osc-vmc-enable = 有効
settings-osc-vmc-enable-label = 有効
settings-osc-vmc-network = ネットワークポート
settings-osc-vmc-network-port_in =
.label = ポートイン
.placeholder = ポートイン(デフォルト:39540)
settings-osc-vmc-network-port_out =
.label = ポートアウト
.placeholder = ポートアウト(デフォルト:39539)
settings-osc-vmc-network-address = ネットワークアドレス
settings-osc-vmc-network-address-placeholder = IPV4アドレス
settings-osc-vmc-vrm = VRMモデル
## Setup/onboarding menu
onboarding-skip = 設定をスキップする
onboarding-continue = 続ける
onboarding-wip = 実行中
onboarding-setup_warning-skip = セットアップをスキップする
onboarding-setup_warning-cancel = セットアップを続行する
## Wi-Fi setup
onboarding-wifi_creds-back = 戻る
onboarding-wifi_creds = Wi-Fi
# This cares about multilines
onboarding-wifi_creds-description =
トラッカーはこれらの認証情報を使ってWi-Fiに接続します。
現在接続している認証情報を使用してください。
onboarding-wifi_creds-skip = Wi-Fi設定をスキップする
onboarding-wifi_creds-submit = 実行!
onboarding-wifi_creds-ssid =
.label = Wi-Fi名
.placeholder = Enter Wi-Fi名
onboarding-wifi_creds-password =
.label = Password
.placeholder = Enter password
## Mounting setup
onboarding-reset_tutorial-back = マウントキャリブレーションに戻る
onboarding-reset_tutorial = リセットチュートリアル
onboarding-reset_tutorial-skip = ステップをスキップする
## Setup start
onboarding-home = SlimeVRへようこそ
onboarding-home-start = セットアップ開始!
## Enter VR part of setup
onboarding-enter_vr-back = トラッカー割り当てに戻る
onboarding-enter_vr-title = VRに入る時間だ
onboarding-enter_vr-description = トラッカーを全部つけて、VRに突入せよ
onboarding-enter_vr-ready = 準備完了
## Setup done
onboarding-done-title = 準備完了です!
onboarding-done-description = フルトラをお楽しみください
onboarding-done-close = ガイドを閉じる
## Tracker connection setup
onboarding-connect_tracker-back = Wi-Fi認証に戻る
onboarding-connect_tracker-title = 接続中のトラッカー
onboarding-connect_tracker-issue-serial = 接続に問題があります!
onboarding-connect_tracker-usb = USBトラッカー
onboarding-connect_tracker-connection_status-none = トラッカーを探しています
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-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
# 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] No trackers
[one] 1 tracker
*[other] { $amount } trackers
} connected
onboarding-connect_tracker-next = すべてのトラッカーを接続しました
## Tracker calibration tutorial
onboarding-calibration_tutorial = IMU校正チュートリアル
onboarding-calibration_tutorial-subtitle = これにより、センサーのドリフトを減らすことが役立ちます
onboarding-calibration_tutorial-status-waiting = あなたを待っている...
onboarding-calibration_tutorial-status-calibrating = 校正中
onboarding-calibration_tutorial-status-success = ナイス!
## Tracker assignment tutorial
# This text has a character limit of around 11 characters, so please keep it short
onboarding-assignment_tutorial-sticker = ステッカー
## Tracker assignment setup
onboarding-assign_trackers-back = Wi-Fi認証に戻る
onboarding-assign_trackers-title = トラッカーを割り当てる
onboarding-assign_trackers-description = どのトラッカーをどこに置くか選んでみましょう。トラッカーを配置したい場所をクリックしてください。
# 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 =
{ $assigned } of { $trackers ->
[one] 1 tracker
*[other] { $trackers } trackers
} assigned
onboarding-assign_trackers-advanced = 高度な割り当て場所の表示
onboarding-assign_trackers-next = すべてのトラッカーを割り当てました
## Tracker assignment warnings
## Tracker mounting method choose
onboarding-choose_mounting-manual_modal-cancel = キャンセル
## Tracker manual mounting setup
onboarding-manual_mounting-back = VRの入力に戻る
onboarding-manual_mounting = マニュアルマウント
onboarding-manual_mounting-description = すべてのトラッカーをクリックし、どの方向にマウントするかを選択
onboarding-manual_mounting-auto_mounting = 自動マウント
onboarding-manual_mounting-next = 次のステップ
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = VRの入力に戻る
onboarding-automatic_mounting-title = マウントキャリブレーション
onboarding-automatic_mounting-description = SlimeVRのトラッカーを動作させるためには、物理的なトラッカーの取り付け位置と合わせるために、トラッカーの取り付け方向を合わせる必要があります。
onboarding-automatic_mounting-manual_mounting = マニュアルマウント
onboarding-automatic_mounting-next = 次のステップ
onboarding-automatic_mounting-prev_step = 前のステップ
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-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-next = すべてのトラッカーを装着しました
## Tracker proportions method choose
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = おすすめされた
onboarding-choose_proportions-import-failed = 失敗
## Tracker manual proportions setup
onboarding-manual_proportions-back = チュートリアルをリセットする
onboarding-manual_proportions-title = マニュアルボディプロポーション
onboarding-manual_proportions-precision = 精度を調整する
onboarding-manual_proportions-auto = 自動キャリブレーション
## Tracker automatic proportions setup
onboarding-automatic_proportions-back = チュートリアルをリセットする
onboarding-automatic_proportions-title = 自分の体の測定
onboarding-automatic_proportions-description = SlimeVRのトラッカーが動作するためには、あなたの骨の長さを知る必要があります。この短いキャリブレーションでそれを測定します。
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-requirements-title = 要件
onboarding-automatic_proportions-requirements-next = 要件を読みました
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = 不明
onboarding-automatic_proportions-start_recording-title = 測定の準備をする
onboarding-automatic_proportions-start_recording-description = これから具体的なポーズや動きを記録します。これらは次の画面に表示されます。ボタンが押されたらすぐに始められるように準備しておいてください!
onboarding-automatic_proportions-start_recording-next = レコーディングスタート
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = レコーディング中...
onboarding-automatic_proportions-recording-description-p1 = 以下に示すような動きをします。
onboarding-automatic_proportions-recording-processing = 結果を処理中
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] 1 second left
*[other] { $time } seconds left
}
onboarding-automatic_proportions-verify_results-title = 結果を確認
onboarding-automatic_proportions-verify_results-description = 以下の結果を確認してください。正しく表示されていますか?
onboarding-automatic_proportions-verify_results-results = 記録結果
onboarding-automatic_proportions-verify_results-processing = 結果の処理
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-confirm = 了解!
## Home
home-no_trackers = トラッカーを検出できません。もしくは割り当てられていません。
## Trackers Still On notification
trackers_still_on-modal-confirm = SlimeVRを終了する
trackers_still_on-modal-cancel = ちょっと待って...
## Status system
status_system-StatusTrackerReset = 一つ以上のトラッカーが調整されていないため、完全なリセットを実行することをお勧めします
status_system-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] SlimeVR Feederアプリに接続されていません
*[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-submit = セーブ
tray_or_exit_modal-cancel = キャンセル
## Unknown device modal
unknown_device-modal-confirm = もちろん!
unknown_device-modal-forget = 無視する

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,601 @@
### 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!
# 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 = Kobler til serveren
websocket-connection_lost = Mistet server-tilkobling. Vennligst vent mens koblingen gjenopprettes...
## Tips
tips-find_tracker = Vanskeligheter med å skille mellom dine trackere? Rist én for å finne fram riktig gjenstand.
tips-do_not_move_heels = Vær obs på at helene dine står stille under innspillingen!
## Body parts
body_part-NONE = Ikke tildelt
body_part-HEAD = Hode
body_part-NECK = Hals
body_part-RIGHT_SHOULDER = Høyre skulder
body_part-RIGHT_UPPER_ARM = Høyre overarm
body_part-RIGHT_LOWER_ARM = Høyre nedre arm
body_part-RIGHT_HAND = Høyre hånd
body_part-RIGHT_UPPER_LEG = Høyre lår
body_part-RIGHT_LOWER_LEG = Høyre ankel
body_part-RIGHT_FOOT = Høyre fot
body_part-RIGHT_CONTROLLER = Høyre kontroller
body_part-CHEST = Bryst
body_part-WAIST = Midje
body_part-HIP = Hofte
body_part-LEFT_SHOULDER = Venstre skulder
body_part-LEFT_UPPER_ARM = Venstre overarm
body_part-LEFT_LOWER_ARM = Venstre nedre arm
body_part-LEFT_HAND = Venstre hånd
body_part-LEFT_UPPER_LEG = Venstre lår
body_part-LEFT_LOWER_LEG = Venstre ankel
body_part-LEFT_FOOT = Venstre fot
body_part-LEFT_CONTROLLER = Venstre kontroller
## Proportions
skeleton_bone-NONE = Ingen
skeleton_bone-HEAD = Hode bytte
skeleton_bone-NECK = Halslengde
skeleton_bone-CHEST = Bryst-lengde
skeleton_bone-CHEST_OFFSET = Bryst-forskyvning
skeleton_bone-WAIST = Midje-lengde
skeleton_bone-HIP = Hofte-lengde
skeleton_bone-HIP_OFFSET = Hofte-forskyvning
skeleton_bone-HIPS_WIDTH = Hofte-bredde
skeleton_bone-UPPER_LEG = Lår-lengde
skeleton_bone-LOWER_LEG = Leg-lengde
skeleton_bone-FOOT_LENGTH = Fot-lengde
skeleton_bone-FOOT_SHIFT = Fot-bytte
skeleton_bone-SKELETON_OFFSET = Skjellet-forskyvning
skeleton_bone-SHOULDERS_DISTANCE = Skulder-distanse
skeleton_bone-SHOULDERS_WIDTH = Skulder-bredde
skeleton_bone-UPPER_ARM = Overarms-lengde
skeleton_bone-LOWER_ARM = Nedre arm-lengde
skeleton_bone-CONTROLLER_Y = Kontroller distanse Y
skeleton_bone-CONTROLLER_Z = Kontroller distanse Z
skeleton_bone-ELBOW_OFFSET = Albue-forskyvning
## Tracker reset buttons
reset-reset_all = Nullstill alle proporsjoner
reset-full = Nullstill
reset-mounting = Nullstill montering
reset-quick = Rask nullstilling
## Serial detection stuff
serial_detection-new_device-p0 = Ny seriell enhet oppdaget!
serial_detection-new_device-p1 = Tast inn din WiFi legitimasjon!
serial_detection-new_device-p2 = Vennligst velg hva du vil gjøre med den
serial_detection-open_wifi = Koble til Wi-Fi
serial_detection-open_serial = Åpne seriell konsoll
serial_detection-submit = Send inn!
serial_detection-close = Lukk
## Navigation bar
navbar-home = Hjem
navbar-body_proportions = Kropps proporsjoner
navbar-trackers_assign = Tracker tildeling
navbar-mounting = Monterings kalibrering
navbar-onboarding = Oppsetts veiviser
navbar-settings = Innstillinger
## Bounding volume hierarchy recording
bvh-start_recording = BVH-innspilling
bvh-recording = Spiller inn...
## Widget: Overlay settings
widget-overlay = Overlegg
widget-overlay-is_visible_label = Vis overlegg i SteamVR
widget-overlay-is_mirrored_label = Vis overlegg som speil
## Widget: Developer settings
widget-developer_mode = Utvikler modus
widget-developer_mode-high_contrast = Høy kontrast
widget-developer_mode-precise_rotation = Nøyaktig rotering
widget-developer_mode-fast_data_feed = Rask data-feed
widget-developer_mode-filter_slimes_and_hmd = Filtrer slimes og HMD
widget-developer_mode-sort_by_name = Sorter etter navn
widget-developer_mode-raw_slime_rotation = Rå rotering
widget-developer_mode-more_info = Mer info
## Widget: IMU Visualizer
widget-imu_visualizer = Rotasjon
widget-imu_visualizer-rotation_raw = Rå
widget-imu_visualizer-rotation_preview = Forhåndsvisning
## Tracker status
tracker-status-none = Ingen status
tracker-status-busy = Opptatt
tracker-status-error = Feilmelding
tracker-status-disconnected = Frakoblet
tracker-status-occluded = Okkludert
tracker-status-ok = OK
## Tracker status columns
tracker-table-column-name = Navn
tracker-table-column-type = Type
tracker-table-column-battery = Batteri
tracker-table-column-ping = Ping
tracker-table-column-tps = TPS
tracker-table-column-temperature = Temp. °C
tracker-table-column-linear-acceleration = Aksel. X/Y/Z
tracker-table-column-rotation = Rotasjon X/Y/Z
tracker-table-column-position = Posisjon X/Y/Z
tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Front
tracker-rotation-left = Venstre
tracker-rotation-right = Høyre
tracker-rotation-back = Bak
## Tracker information
tracker-infos-manufacturer = Produsent
tracker-infos-display_name = Vis navn
tracker-infos-custom_name = Tilpasset navn
tracker-infos-url = Tracker URL
## Tracker settings
tracker-settings-back = Gå tilbake til tracker-liste
tracker-settings-title = Tracker innstillinger
tracker-settings-assignment_section = Tildeling
tracker-settings-assignment_section-description = Kroppsdelen trackeren er blitt tildelt.
tracker-settings-assignment_section-edit = Endre tildeling
tracker-settings-mounting_section = Monterings posisjon
tracker-settings-mounting_section-description = Hvor er trackeren montert?
tracker-settings-mounting_section-edit = Endre montering
tracker-settings-drift_compensation_section = Tillat avdrifts-kompensasjon
tracker-settings-drift_compensation_section-description = Skal denne trackeren kompensere for egen avdrift når avsdrifts-kompansasjon er aktivert?
tracker-settings-drift_compensation_section-edit = Tillat avdrifts-kompensasjon
# 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 navn
tracker-settings-name_section-description = Gi den et søtt kallenavn-navn :)
tracker-settings-name_section-placeholder = ~Thͭiͪaͥsͣˢ~ venstre ben
## Tracker part card info
tracker-part_card-no_name = Ingen navn
tracker-part_card-unassigned = Utilordnet
## Body assignment menu
body_assignment_menu = Hvor vil du plassere denne trackeren?
body_assignment_menu-description = Velg den plasseringen du vil tildele denne trackeren. Alternativt kan du velge å ordne alle trackere samtidig istedenfor å ordne dem én etter én.
body_assignment_menu-show_advanced_locations = Vis avanserte tildelings-plasseringer
body_assignment_menu-manage_trackers = Ordne alle trackere
body_assignment_menu-unassign_tracker = Fjern tracker-tildeling
## 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 = { "Hvilken tracker skal tildeles til " }
tracker_selection_menu-NONE = Hvilken tracker vil du fjerne tildelingen på?
tracker_selection_menu-HEAD = { -tracker_selection-part }hodet?
tracker_selection_menu-NECK = { -tracker_selection-part }halsen?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part }høyre skulder?
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part }høyre overarm?
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part }høyre nedre arm?
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part }høyre hånd?
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part }høyre lår?
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part }høre ankel?
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part }høyre fot?
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part }høyre kontroller?
tracker_selection_menu-CHEST = { -tracker_selection-part }brystet?
tracker_selection_menu-WAIST = { -tracker_selection-part }midjen?
tracker_selection_menu-HIP = { -tracker_selection-part }hoften?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part }venstre skulder?
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part }venstre overarm?
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part }venstre nedre arm?
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part }venstre hånd?
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part }venstre lår?
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part }venstre ankel?
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part }venstre fot?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part }venstre kontroller?
tracker_selection_menu-unassigned = Utilordnede trackere
tracker_selection_menu-assigned = Tildelte trackere
tracker_selection_menu-dont_assign = Ikke tildel
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>NB:</b> Hals-trackeren kan være helseskadelig dersom den sitter for stramt,
festet kan blokkere blodtilførselen til hodet ditt!
tracker_selection_menu-neck_warning-done = Jeg forstår risikoene
tracker_selection_menu-neck_warning-cancel = Avbryt
## Mounting menu
mounting_selection_menu = Hvor vil du at denne trackeren skal være?
mounting_selection_menu-close = Lukk
## Sidebar settings
settings-sidebar-title = Innstillinger
settings-sidebar-general = Generelle
settings-sidebar-tracker_mechanics = Tracker-mekanisme
settings-sidebar-fk_settings = Tracker-innstillinger
settings-sidebar-gesture_control = Bevegelses-kontroll
settings-sidebar-interface = Grensesnitt
settings-sidebar-osc_router = OSC ruter
settings-sidebar-utils = Verktøy
settings-sidebar-serial = Seriell konsoll
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = SteamVR trackere
# 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 =
Skru av/på spesifikke SteamVR trackere.
Nyttig for spill eller programmer som bare støtter visse trackere.
settings-general-steamvr-trackers-waist = Midje
settings-general-steamvr-trackers-chest = Bryst
settings-general-steamvr-trackers-feet = Føtter
settings-general-steamvr-trackers-knees = Knær
settings-general-steamvr-trackers-elbows = Albuer
settings-general-steamvr-trackers-hands = Hender
## Tracker mechanics
settings-general-tracker_mechanics = Tracker-mekanismer
settings-general-tracker_mechanics-filtering = Filtrering
# This also cares about multilines
settings-general-tracker_mechanics-filtering-description =
Velg filtrerings-type for dine trackere.
Prediksjon forutser bevegelser mens Utjevning jevner ut bevegelser.
settings-general-tracker_mechanics-filtering-type = Filtrerings type
settings-general-tracker_mechanics-filtering-type-none = Ingen filtrering
settings-general-tracker_mechanics-filtering-type-none-description = Bruk rotasjoner som før. Altså ingen filtrering.
settings-general-tracker_mechanics-filtering-type-smoothing = Utjevning
settings-general-tracker_mechanics-filtering-type-smoothing-description = Jevner ut bevegelser men øker forsinkelsen litt.
settings-general-tracker_mechanics-filtering-type-prediction = Forutsigelse
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduserer forsinkelsen og gjør bevegelser skarpere, men kan påvirke stabiliteten.
settings-general-tracker_mechanics-filtering-amount = Mengde
settings-general-tracker_mechanics-drift_compensation = Avdrifts-kompansering
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Kompenserer for IMU yaw avdrift ved å legge til en rotasjon av omvendt verdi.
Endre mengde kompensasjon og opp til hvor mange nullstillinger som skal bli gjort rede for.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Avdrifts kompansering
settings-general-tracker_mechanics-drift_compensation-amount-label = Kompanserings mengde
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Bruk opp til x siste nullstillinger
## FK/Tracking settings
settings-general-fk_settings = Sporings innstillinger
settings-general-fk_settings-leg_tweak = Bein-justeringer
settings-general-fk_settings-leg_tweak-description = Gulv-clip kan redusere, om ikke eliminere det at lemmer går gjennom gulvet, men kan skape problemer når du er på knærne. Skating-korreksjon jobber mot "ice-skating", men kan forverre presisjonen i visse bevegelsesmønster.
# 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 = Gulv-clip
# 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 = Skating korreksjon
settings-general-fk_settings-leg_tweak-skating_correction-amount = Skating-korreksjon styrke
settings-general-fk_settings-arm_fk = Arm sporing
settings-general-fk_settings-arm_fk-description = Endre metoden armene spores på.
settings-general-fk_settings-arm_fk-force_arms = Tving armer fra HMD
settings-general-fk_settings-skeleton_settings = Skjellet innstillinger
settings-general-fk_settings-skeleton_settings-description = Skru skjellet innstillinger av eller på. Det anbefales å la disse stå på.
settings-general-fk_settings-skeleton_settings-extended_spine = Forlenget ryggrad
settings-general-fk_settings-skeleton_settings-extended_pelvis = Forlenget pelvis
settings-general-fk_settings-skeleton_settings-extended_knees = Forlenget kne
settings-general-fk_settings-vive_emulation-title = Vive emulasjon
settings-general-fk_settings-vive_emulation-description = Emuler midjesporings problemene som Vive sporerene har. Dette er en vits og gjør sporingen verre.
settings-general-fk_settings-vive_emulation-label = Aktiver Vive emulasjon
## Gesture control settings (tracker tapping)
settings-general-gesture_control = Bevegelses-kontroll
settings-general-gesture_control-subtitle = Trykk baserte nullstillinger
settings-general-gesture_control-description = Tillat at nullstillinger aktiveres ved å trykke på en sporer. Den høyeste sporeren på overkroppen blir da brukt til Rask Nullstilling, den høyeste sporeren på det venstre beinet blir brukt til Nullstilling og den høyeste sporeren på det høyre beinet blir brukt til Monterings Nullstilling. Vær obs på at trykking bør skje to ganger innen 0.6 sekunder for å bli registrert.
# 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 trykk
*[other] { $amount } trykk
}
settings-general-gesture_control-quickResetEnabled = Aktiver rask nullstilling ved trykk
settings-general-gesture_control-quickResetDelay = Rask nullstillings utsettelse
settings-general-gesture_control-quickResetTaps = Trykking for rask nullstilling
settings-general-gesture_control-resetEnabled = Aktiver nullstilling ved trykking
settings-general-gesture_control-resetDelay = Nullstillings utsettelse
settings-general-gesture_control-resetTaps = Trykking for nullstilling
settings-general-gesture_control-mountingResetEnabled = Aktiver monterings-nullstilling ved trykking
settings-general-gesture_control-mountingResetDelay = Monterings-nullstilling utsettelse
settings-general-gesture_control-mountingResetTaps = Trykking for monterings-nullstilling
## Interface settings
settings-general-interface = Grensesnitt
settings-general-interface-dev_mode = Utvikler modus
settings-general-interface-dev_mode-description = Denne modusen kan være hjelpsom dersom du trenger data som gir mer innsyn eller for å samhandle med tilkoblede sporere på et mer avansert nivå.
settings-general-interface-dev_mode-label = Utvikler modus
settings-general-interface-serial_detection = Seriell enhets gjenkjenning
settings-general-interface-serial_detection-description = Dette valget viser en pop-up for hver gang du kobler til en ny seriell-enhet som kunne vært en sporer. Dette forbedrer sporerens konfigureringsprosess.
settings-general-interface-serial_detection-label = Seriell enhets gjenkjenning
settings-general-interface-lang = Velg språk
settings-general-interface-lang-description = Endre hovedspråket du vil bruke.
settings-general-interface-lang-placeholder = Velg språket du vil bruke
## Serial settings
settings-serial = Seriell konsoll
# This cares about multilines
settings-serial-description =
Dette er en live informasjons-feed for seriell kommunikasjon.
Kan være hjelpsomt hvis du lurer på om det er problemer med fastvaren.
settings-serial-connection_lost = Tilkobling til serie tapt, gjenopptar tilkobling...
settings-serial-reboot = Omstart
settings-serial-factory_reset = Fabrikktilbakestilling
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>NB:</b> Dette nullstiller trackeren tilbake til fabrikkinstillinger.
Som betyr at Wi-Fi og kalibrerings innstillingene dine </b>vil bli tapt!</b>
settings-serial-factory_reset-warning-ok = Jeg vet hva jeg driver med
settings-serial-factory_reset-warning-cancel = Avslutt
settings-serial-get_infos = Få info
settings-serial-serial_select = Velg en serieport
settings-serial-auto_dropdown_item = Auto
## OSC router settings
settings-osc-router = OSC ruter
# This cares about multilines
settings-osc-router-description =
Videresend OSC beskjeder fra andre programmer.
Nyttig når du bruker andre OSC programmer med VRChat for eksempel.
settings-osc-router-enable = Aktiver
settings-osc-router-enable-description = Skru av/på videresending av beskjeder.
settings-osc-router-enable-label = Aktiver
settings-osc-router-network = Nettverks-porter
# This cares about multilines
settings-osc-router-network-description =
Still inn portene som skal motta eller sende data.
Disse kan være lik som andre porter brukt i SlimeVR serveren.
settings-osc-router-network-port_in =
.label = Port inn
.placeholder = Port inn (normalverdi:9002)
settings-osc-router-network-port_out =
.label = Port Ut
.placeholder = Port ut (normalverdi: 9000)
settings-osc-router-network-address = Nettverksadresse
settings-osc-router-network-address-description = Tast inn adressen som skal motta data.
settings-osc-router-network-address-placeholder = IPV4 adresse
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC Trackere
# This cares about multilines
settings-osc-vrchat-description =
Juster på innstillinger spesifikt for VRChat for å motta HMD-data og sende
sporer-data for FBT (funker for Quest standalone).
settings-osc-vrchat-enable = Aktiver
settings-osc-vrchat-enable-description = Skru av/på utsending og mottakelse av data.
settings-osc-vrchat-enable-label = Aktiver
settings-osc-vrchat-network = Nettverks-porter
settings-osc-vrchat-network-description = Still inn portene som skal motta og sende data til VRChat.
settings-osc-vrchat-network-port_in =
.label = Port Inn
.placeholder = Port inn (normalverdi: 9001)
settings-osc-vrchat-network-port_out =
.label = Port Ut
.placeholder = Port ut (standardisering: 9000)
settings-osc-vrchat-network-address = Nettverksadresse
settings-osc-vrchat-network-address-description = Velg hvilken adresse som skal sende ut data til VRChat (sjekk Wi-Fi innstillingene på din enhet).
settings-osc-vrchat-network-address-placeholder = VRChat ip adresse
settings-osc-vrchat-network-trackers = Trackere
settings-osc-vrchat-network-trackers-description = Skru av/på sendingen av spesifikke sporere via OSC.
settings-osc-vrchat-network-trackers-chest = Bryst
settings-osc-vrchat-network-trackers-waist = Midje
settings-osc-vrchat-network-trackers-knees = Knær
settings-osc-vrchat-network-trackers-feet = Føtter
settings-osc-vrchat-network-trackers-elbows = Albuer
## Setup/onboarding menu
onboarding-skip = Hopp over oppsett
onboarding-continue = Fortsett
onboarding-wip = Arbeid pågår
## Wi-Fi setup
onboarding-wifi_creds-back = Gå tilbake til introduksjonen
onboarding-wifi_creds = Tast inn Wi-Fi legitimasjon
# This cares about multilines
onboarding-wifi_creds-description =
Trackerne bruker denne legitimasjonen for å koble til trådløst.
Vennligst bruk legitimasjonen til nettet du er koblet til nå.
onboarding-wifi_creds-skip = Hopp over Wi-Fi innstillinger
onboarding-wifi_creds-submit = Send inn!
onboarding-wifi_creds-ssid =
.label = Wi-Fi navn
.placeholder = Tast inn navnet på ditt Wi-Fi nettverk
onboarding-wifi_creds-password =
.label = Passord
.placeholder = Tast inn passord
## Mounting setup
onboarding-reset_tutorial-back = Gå tilbake til monterings kalibrering
onboarding-reset_tutorial = Nullstill opplæringen
onboarding-reset_tutorial-description = Denne funksjonen er ikke klar, bare trykk fortsett
## Setup start
onboarding-home = Velkommen til SlimeVR
# This cares about multilines and it's centered!!
onboarding-home-description =
Muliggjør hel-kropps sporing
for alle
onboarding-home-start = La oss sette i gang!
## Enter VR part of setup
onboarding-enter_vr-back = Gå tilbake til Tracker tilordning
onboarding-enter_vr-title = På tide å tre inn i VR!
onboarding-enter_vr-description = Putt på alle trackerne dine og tre inn i VR!
onboarding-enter_vr-ready = Jeg er klar!
## Setup done
onboarding-done-title = Nå er alt klart!
onboarding-done-description = Nyt din hel-kropps opplevelse
onboarding-done-close = Lukk guiden
## Tracker connection setup
onboarding-connect_tracker-back = Gå tilbake til Wi-Fi legitimasjon
onboarding-connect_tracker-title = Koble til trackere
onboarding-connect_tracker-description-p0 = Nå begynner den morsomme delen, å koble til alle trackerne!
onboarding-connect_tracker-description-p1 = Ta og koble til alt som ikke er tilkoblet enda, via en USB port.
onboarding-connect_tracker-issue-serial = Jeg sliter med å koble til!
onboarding-connect_tracker-usb = USB Tracker
onboarding-connect_tracker-connection_status-connecting = Sender Wi-Fi legitimasjon
onboarding-connect_tracker-connection_status-connected = Koblet til Wi-Fi
onboarding-connect_tracker-connection_status-error = Kunne ikke koble til Wi-Fi
onboarding-connect_tracker-connection_status-start_connecting = Ser etter trackere
onboarding-connect_tracker-connection_status-handshake = Koblet til Serveren
# $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] Ingen trackere tilkoblet
[one] 1 tracker tilkoblet
*[other] { $amount } trackere tilkoblet
}
onboarding-connect_tracker-next = Jeg har tilkoblet alle mine trackere
## Tracker assignment setup
onboarding-assign_trackers-back = Gå tilbake til Wi-Fi legitimasjon
onboarding-assign_trackers-title = Tildel trackerne
onboarding-assign_trackers-description = La oss velge hvilke trackere som skal hvor. Trykk på stedet der du vil plassere en 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 } av 1 tracker tildelt
*[other] { $assigned } av { $trackers } trackere tildelt
}
onboarding-assign_trackers-advanced = Vis avanserte tildelings-plasseringer
onboarding-assign_trackers-next = Jeg har tildelt alle trackerne
## Tracker manual mounting setup
onboarding-manual_mounting-back = Gå tilbake for å tre inn i VR
onboarding-manual_mounting = Manuell montering
onboarding-manual_mounting-description = Trykk på en hver tracker og velg hvilken vei de er montert
onboarding-manual_mounting-auto_mounting = Automatisk montering
onboarding-manual_mounting-next = Neste steg
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = Gå tilbake for å tre inn i VR
onboarding-automatic_mounting-title = Monterings Kalibrering
onboarding-automatic_mounting-description = For at SlimeVR trackere skal funke, må vi tildele en monterings-rotasjon til dine trackere for at de skal samstemme med din fysiske tracker-montering.
onboarding-automatic_mounting-manual_mounting = Sett opp montering manuelt
onboarding-automatic_mounting-next = Neste steg
onboarding-automatic_mounting-prev_step = Forrige steg
onboarding-automatic_mounting-done-title = Monterings-rotasjoner kalibrert.
onboarding-automatic_mounting-done-description = Din monterings-kalibrasjon er fullført!
onboarding-automatic_mounting-done-restart = Tilbake til start
onboarding-automatic_mounting-mounting_reset-title = Monterings nullstilling
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Gjør knebøy som om du står på ski, bøyde knær, overkroppen rettet forover og armer bøyd.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Trykk på "Nullstill montering" knappen og vent 3 sekunder før trackernes monterings-rotasjon nullstilles.
onboarding-automatic_mounting-preparation-title = Forberedning
onboarding-automatic_mounting-preparation-step-0 = 1. Stå rett med armene til siden.
onboarding-automatic_mounting-preparation-step-1 = 2. Trykk på "Nullstill" knappen og vent 3 sekunder før trackerne nullstilles.
onboarding-automatic_mounting-put_trackers_on-title = Ta på deg dine trackere
onboarding-automatic_mounting-put_trackers_on-description = For å kalibrere monterings-rotasjonene, må vi bruke trackerne du akkurat tildelte. Ta på deg alle dine trackere, du kan se hvem som er hvem i figuren til høyre.
onboarding-automatic_mounting-put_trackers_on-next = Jeg har alle mine trackere på
## Tracker manual proportions setup
onboarding-manual_proportions-back = Gå tilbake til Nullstillings opplæring
onboarding-manual_proportions-title = Manuelle kropps-proporsjoner
onboarding-manual_proportions-precision = Presisjons justering
onboarding-manual_proportions-auto = Automatisk kalibrering
## Tracker automatic proportions setup
onboarding-automatic_proportions-back = Gå tilbake til Nullstillings opplæring
onboarding-automatic_proportions-title = Mål opp kroppen din
onboarding-automatic_proportions-description = For at SlimeVR trackere skal funke, må vi vite lengden på beinene dine. Denne korte kalibreringen kan måle det opp for deg.
onboarding-automatic_proportions-manual = Manuell kalibrering
onboarding-automatic_proportions-prev_step = Forrige steg
onboarding-automatic_proportions-put_trackers_on-title = Ta på deg alle dine trackere
onboarding-automatic_proportions-put_trackers_on-description = For å kalibrere dine proporsjoner, bruker vi trackerne du akkurat har tildelt. Ta på deg alle dine trackere, du kan se hvem som går hvor i figuren til høyre.
onboarding-automatic_proportions-put_trackers_on-next = Jeg har alle mine trackere på
onboarding-automatic_proportions-preparation-title = Forberedning
onboarding-automatic_proportions-preparation-description = Plasser en stol rett bak deg innenfor ditt play space. Vær forberedt på å sette deg ned i løpet av autobein oppsettet.
onboarding-automatic_proportions-preparation-next = Jeg er foran en stol
onboarding-automatic_proportions-start_recording-title = Gjør deg klar til å bevege deg
onboarding-automatic_proportions-start_recording-description = Vi kommer nå til å spille inn noen spesifikke poseringer og bevegelser. Disse vil bli vist i den neste skjermen. Gjør deg klar til å starte når du trykker på knappen!
onboarding-automatic_proportions-start_recording-next = Start Innspilling
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = Innspilling pågår...
onboarding-automatic_proportions-recording-description-p1 = Utfør bevegelsene vist nedenfor:
onboarding-automatic_proportions-recording-steps-0 = Bøy knærne noen få ganger.
onboarding-automatic_proportions-recording-steps-1 = Sett deg i stolen, reis deg så opp.
onboarding-automatic_proportions-recording-steps-2 = Vri overkroppen til venstre, så bøy til høyre.
onboarding-automatic_proportions-recording-steps-3 = Vri overkroppen til høyre, så bøy til venstre.
onboarding-automatic_proportions-recording-steps-4 = Rist på kroppen til tiden går ut.
onboarding-automatic_proportions-recording-processing = Jobber med resultatet
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 15)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] 1 sekund igjen
*[other] { $time } sekunder igjen
}
onboarding-automatic_proportions-verify_results-title = Bekreft resultatene
onboarding-automatic_proportions-verify_results-description = Sjekk resultatene under, ser de riktige ut?
onboarding-automatic_proportions-verify_results-results = Spiller inn resultater
onboarding-automatic_proportions-verify_results-processing = Jobber med resultatet
onboarding-automatic_proportions-verify_results-redo = Gjør om innspillingen
onboarding-automatic_proportions-verify_results-confirm = De er riktige
onboarding-automatic_proportions-done-title = Kropp målt og lagret.
onboarding-automatic_proportions-done-description = Din kropps-proposisjons kalibrering er fullført!
## Home
home-no_trackers = Ingen trackere oppdaget eller tildelt

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,388 @@
# 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 = กำลังเชื่อมต่อกับเซิร์ฟเวอร์
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 = ใหล่ขวา
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_FOOT = เท้าขวา
body_part-UPPER_CHEST = หน้าอกส่วนบน
body_part-CHEST = หน้าอก
body_part-WAIST = เอว
body_part-HIP = สะโพก
body_part-LEFT_SHOULDER = ใหล่ซ้าย
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_FOOT = เท้าขวา
## Proportions
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 = ไม่มีสถานะ
tracker-status-busy = กังลังทำงาน
tracker-status-error = ข้อผิดผลาด
tracker-status-disconnected = หลุดการเชื่อมต่อ
tracker-status-ok = OK
## Tracker status columns
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
tracker_selection_menu-neck_warning-done = ฉันเข้าใจในความเสี่ยง
tracker_selection_menu-neck_warning-cancel = ยกเลิก
## Mounting menu
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)
## Appearance settings
settings-general-interface-dev_mode = โหมดนักพัฒนา
settings-general-interface-dev_mode-label = โหมดนักพัฒนา
settings-general-interface-theme = สีธีม
settings-general-interface-lang = เลือกภาษา
settings-general-interface-lang-description = เลือกภาษาตั้งต้นที่คุณต้องการใช้
settings-general-interface-lang-placeholder = เลือกภาษาที่ใช้
## Notification settings
## Serial settings
settings-serial-reboot = เริ่มการทำงานใหม่
settings-serial-factory_reset = รีเซ็ตเป็นค่าจากโรงงาน
settings-serial-factory_reset-warning-ok = ฉันรู้ว่าฉันกําลังทําอะไรอยู่
settings-serial-factory_reset-warning-cancel = ยกเลิก
settings-serial-auto_dropdown_item = อัตโนมัติ
## OSC router settings
settings-osc-router-enable = เปิดใช้งาน
settings-osc-router-enable-label = เปิดใช้งาน
settings-osc-router-network = พอร์ตเครือข่าย
## OSC VRChat settings
settings-osc-vrchat-enable = เปิดใช้งาน
settings-osc-vrchat-enable-label = เปิดใช้งาน
settings-osc-vrchat-network-trackers-chest = หน้าอก
settings-osc-vrchat-network-trackers-hip = สะโพก
settings-osc-vrchat-network-trackers-knees = หัวเข่า
settings-osc-vrchat-network-trackers-feet = เท้า
settings-osc-vrchat-network-trackers-elbows = ข้อศอก
## VMC OSC settings
settings-osc-vmc-enable = เปิดใช้งาน
settings-osc-vmc-enable-label = เปิดใช้งาน
## Setup/onboarding menu
onboarding-skip = ข้ามการตั้งค่า
onboarding-continue = ดำเนินการต่อ
onboarding-previous_step = ขั้นตอนก่อนหน้า
onboarding-setup_warning-skip = ข้ามการตั้งค่า
## Wi-Fi setup
onboarding-wifi_creds-submit = ส่ง
onboarding-wifi_creds-ssid =
.label = ชื่อ Wi-Fi
.placeholder = ใส่ชื่อ Wi-Fi
onboarding-wifi_creds-password =
.label = รหัสผ่าน
.placeholder = ใส่รหัสผ่าน
## Mounting setup
## Setup start
onboarding-home = ยินดีต้อนรับสู่ SlimeVR
## Enter VR part of setup
onboarding-enter_vr-ready = ฉันพร้อมแล้ว
## Setup done
onboarding-done-title = คุณพร้อมแล้ว!
## Tracker connection setup
onboarding-connect_tracker-connection_status-done = เชื่อมต่อกับเซิร์ฟเวอร์แล้ว
## Tracker calibration tutorial
onboarding-calibration_tutorial-calibrate = ฉันได้วาง tracker บนโต๊ะแล้ว
onboarding-calibration_tutorial-status-success = เยี่ยม!
## Tracker assignment tutorial
## Tracker assignment setup
## Tracker assignment warnings
## Tracker mounting method choose
## Tracker manual mounting setup
onboarding-manual_mounting-next = ขั้นตอนถัดไป
## Tracker automatic mounting setup
onboarding-automatic_mounting-next = ขั้นตอนถัดไป
onboarding-automatic_mounting-prev_step = ขั้นตอนก่อนหน้า
onboarding-automatic_mounting-done-restart = ลองอีกครั้ง
onboarding-automatic_mounting-preparation-title = จัดเตรียมพร้อม
## Tracker proportions method choose
# Italized text
onboarding-choose_proportions-auto_proportions-subtitle = แนะนำ
## Tracker manual proportions setup
onboarding-manual_proportions-precision = ปรับด้วยความแม่นยํา
## Tracker automatic proportions setup
onboarding-automatic_proportions-title = วัดสัดส่วนร่างกายของคุณ
onboarding-automatic_proportions-requirements-title = ต้องการ
onboarding-automatic_proportions-requirements-next = ฉันได้อ่านสิ่งที่ต้องการแล้ว
onboarding-automatic_proportions-start_recording-next = เริ่มการบันทึก
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = กําลังบันทึก...
onboarding-automatic_proportions-recording-description-p1 = ทําการเคลื่อนไหวที่แสดงด้านล่าง:
onboarding-automatic_proportions-recording-processing = กำลังประมวลผลผลลัพธ์
onboarding-automatic_proportions-verify_results-title = ยืนยันผลลัพธ์
onboarding-automatic_proportions-verify_results-description = ตรวจสอบผลลัพธ์ด้านล่างว่าดูถูกต้องหรือไม่?
## Home
## Trackers Still On notification
## Status system
## Tray Menu
## First exit modal
## Unknown device modal

View File

@@ -0,0 +1,329 @@
# 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 = Sunucuya bağlanılıyor
websocket-connection_lost = Sunucuyla bağlantı kesildi. Tekrar bağlanılmaya çalışılıyor...
## Update notification
version_update-title = Yeni sürüm mevcut: { $version }
version_update-update = Güncelle
version_update-close = Kapat
## Tips
tips-find_tracker = Hangi takipçi hangisi emin değil misin? Takipçilerden birini hareket ettirerek belirleyebilirsin.
tips-do_not_move_heels = Kayıt sırasında ayaklarınızın hareket etmediğinden emin olun!
## Body parts
body_part-NONE = Atanmamış
body_part-HEAD = Kafa
body_part-NECK = Boyun
body_part-RIGHT_SHOULDER = Sağ omuz
body_part-RIGHT_UPPER_ARM = Sağ üst kol
body_part-RIGHT_LOWER_ARM = Sağ alt kol
body_part-RIGHT_HAND = Sağ el
body_part-RIGHT_UPPER_LEG = Sağ uyluk
body_part-RIGHT_LOWER_LEG = Sağ ayak bileği
body_part-RIGHT_FOOT = Sağ ayak
body_part-UPPER_CHEST = Üst göğüs
body_part-CHEST = Göğüs
body_part-WAIST = Bel
body_part-HIP = Kalça
body_part-LEFT_SHOULDER = Sol omuz
body_part-LEFT_UPPER_ARM = Sol üst kol
body_part-LEFT_LOWER_ARM = Sol alt kol
body_part-LEFT_HAND = Sol el
body_part-LEFT_UPPER_LEG = Sol uyluk
body_part-LEFT_LOWER_LEG = Sol ayak bileği
body_part-LEFT_FOOT = Sol ayak
## Proportions
skeleton_bone-NONE = Yok
skeleton_bone-HEAD = Kafa hizası
skeleton_bone-NECK = Boyun Uzunluğu
skeleton_bone-torso_group = Gövde uzunluğu
skeleton_bone-UPPER_CHEST = Üst Göğüs Uzunluğu
skeleton_bone-CHEST_OFFSET = Göğüs hizası
skeleton_bone-CHEST = Göğüs Uzunluğu
skeleton_bone-WAIST = Bel Uzunluğu
skeleton_bone-HIP = Kalça Uzunluğu
skeleton_bone-HIP_OFFSET = Kalça hizası
skeleton_bone-HIPS_WIDTH = Kalça Genişliği
skeleton_bone-leg_group = Bacak uzunluğu
skeleton_bone-UPPER_LEG = Üst Bacak Uzunluğu
skeleton_bone-LOWER_LEG = Alt Bacak Uzunluğu
skeleton_bone-FOOT_LENGTH = Ayak Uzunluğu
skeleton_bone-FOOT_SHIFT = Ayak hizası
skeleton_bone-SKELETON_OFFSET = İskelet hizası
skeleton_bone-SHOULDERS_DISTANCE = Omuz Mesafesi
skeleton_bone-SHOULDERS_WIDTH = Omuz Genişliği
skeleton_bone-arm_group = Kol uzunluğu
skeleton_bone-UPPER_ARM = Üst Kol Uzunluğu
skeleton_bone-LOWER_ARM = Alt Kol Uzunluğu
skeleton_bone-ELBOW_OFFSET = Dirsek hizası
## Tracker reset buttons
reset-reset_all = Tüm oranları sıfırla
reset-full = Sıfırlama
## Serial detection stuff
serial_detection-new_device-p0 = Yeni seri cihaz algılandı!
serial_detection-new_device-p1 = Wi-Fi bilgilerinizi girin!
serial_detection-new_device-p2 = Lütfen onunla ne yapmak istediğinizi seçin
serial_detection-open_wifi = Wi-Fi'ye bağlan
serial_detection-open_serial = Seri Konsolu Aç
serial_detection-submit = Gönder!
serial_detection-close = Kapat
## Navigation bar
navbar-home = Ana Menü
navbar-body_proportions = Vücut Oranları
navbar-onboarding = Kurulum Sihirbazı
navbar-settings = Ayarlar
## Biovision hierarchy recording
bvh-start_recording = BVH Kaydet
bvh-recording = Kaydediliyor
## Tracking pause
tracking-unpaused = Takibi duraklat
## Widget: Overlay settings
## Widget: Drift compensation
## Widget: Developer settings
widget-developer_mode = Geliştirici Modu
widget-developer_mode-high_contrast = Yüksek kontrast
widget-developer_mode-precise_rotation = Hassas dönüş
widget-developer_mode-sort_by_name = Ada göre sırala
widget-developer_mode-more_info = Daha fazla bilgi
## Widget: IMU Visualizer
widget-imu_visualizer = Rotasyon
widget-imu_visualizer-rotation_preview = Önizle
widget-imu_visualizer-rotation_hide = Gizle
## Tracker status
tracker-status-none = Durum Yok
tracker-status-busy = Meşgul
tracker-status-error = Hata
tracker-status-disconnected = Bağlantı kesildi
tracker-status-ok = İYİ
## Tracker status columns
tracker-table-column-name = İsim
tracker-table-column-type = Tür
tracker-table-column-battery = Pil
tracker-table-column-tps = TPS
tracker-table-column-temperature = Sıcaklık °C
tracker-table-column-rotation = Rotasyon X/Y/Z
tracker-table-column-position = Pozisyon X/Y/Z
tracker-table-column-url = URL
## Tracker rotation
tracker-rotation-front = Ön
tracker-rotation-left = Sol
tracker-rotation-right = Sağ
tracker-rotation-back = Arka
## Tracker information
tracker-infos-manufacturer = Üretici
tracker-infos-display_name = Görünen Ad
tracker-infos-custom_name = Özel Ad
tracker-infos-url = Takipçi URL'si
tracker-infos-version = Yazılım Sürümü
tracker-infos-hardware_rev = Donanım Revizyonu
tracker-infos-hardware_identifier = Donanım Kimliği
tracker-infos-imu = IMU Sensör
tracker-infos-board_type = Ana kart
## Tracker settings
tracker-settings-back = Takipçi listesine geri dön
tracker-settings-title = Takipçi ayarları
tracker-settings-assignment_section-description = Tracker'in vücudun hangi kısmına atandığı.
# 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 = Takipçi adı
tracker-settings-name_section-placeholder = NightyBeast'in sol bacağı
## Tracker part card info
tracker-part_card-no_name = İsimsiz
tracker-part_card-unassigned = Atanmamış
## Body assignment menu
body_assignment_menu = Bu takipçinin nerede olmasını istiyorsunuz?
body_assignment_menu-manage_trackers = Tüm takipçileri yönet
## 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 = hangi takipçiyi atayacaksınız?
tracker_selection_menu-HEAD = Başınıza { -tracker_selection-part }
tracker_selection_menu-RIGHT_SHOULDER = Sağ omuzunuza { -tracker_selection-part }
tracker_selection_menu-RIGHT_UPPER_ARM = Sağ üst kolunuza { -tracker_selection-part }
tracker_selection_menu-RIGHT_LOWER_ARM = Sağ alt kolunuza { -tracker_selection-part }
tracker_selection_menu-RIGHT_HAND = Sağ elinize { -tracker_selection-part }
tracker_selection_menu-RIGHT_UPPER_LEG = Say kalçanıza { -tracker_selection-part }
tracker_selection_menu-RIGHT_LOWER_LEG = Sağ ayak bileğinize { -tracker_selection-part }
tracker_selection_menu-RIGHT_FOOT = Sağ ayağınıza { -tracker_selection-part }
tracker_selection_menu-UPPER_CHEST = Üst göğüsünüze { -tracker_selection-part }
tracker_selection_menu-unassigned = Atanmamış takipçiler
tracker_selection_menu-assigned = Atanan takipçiler
tracker_selection_menu-neck_warning-done = Riskleri anlıyorum
tracker_selection_menu-neck_warning-cancel = İptal
## Mounting menu
mounting_selection_menu = Bu takipçinin nerede olmasını istiyorsunuz?
mounting_selection_menu-close = Kapat
## Sidebar settings
settings-sidebar-title = Ayarlar
settings-sidebar-general = Genel
settings-sidebar-interface = Arayüz
settings-sidebar-osc_router = OSC yönlendirici
settings-sidebar-osc_trackers = VRChat OSC Takipçileri
settings-sidebar-serial = Seri konsol
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = SteamVR takipçileri
settings-general-steamvr-trackers-waist = Bel
settings-general-steamvr-trackers-chest = Göğüs
settings-general-steamvr-trackers-feet = Ayaklar
settings-general-steamvr-trackers-knees = Dizler
settings-general-steamvr-trackers-elbows = Dirsekler
settings-general-steamvr-trackers-hands = Eller
## Tracker mechanics
settings-general-tracker_mechanics-filtering-amount = Miktar
## FK/Tracking settings
settings-general-fk_settings-leg_fk = Bacak takibi
settings-general-fk_settings-arm_fk = Kol takibi
settings-general-fk_settings-skeleton_settings = İskelet ayarları
settings-general-fk_settings-skeleton_settings-description = İskelet ayarlarınıın veya kapatın. Bunlarıık bırakmanız önerilir.
settings-general-fk_settings-skeleton_settings-extended_spine = Uzatılmış omurga
settings-general-fk_settings-skeleton_settings-extended_pelvis = Uzatılmış pelvis
settings-general-fk_settings-skeleton_settings-extended_knees = Uzatılmış diz
settings-general-fk_settings-vive_emulation-title = Vive emülasyonu
settings-general-fk_settings-vive_emulation-label = Vive emülasyonunu etkinleştir
## Gesture control settings (tracker tapping)
## Interface settings
## Serial settings
settings-serial-reboot = Yeniden Başlat
settings-serial-factory_reset-warning-ok = Ben ne yaptığımı biliyorum
settings-serial-factory_reset-warning-cancel = İptal et
settings-serial-auto_dropdown_item = Otomatik
## OSC router settings
settings-osc-router-enable = Etkinleştir
settings-osc-router-enable-label = Etkinleştir
settings-osc-router-network-address = Ağ adresi
## OSC VRChat settings
settings-osc-vrchat-enable = Etkinleştir
settings-osc-vrchat-enable-label = Etkinleştir
settings-osc-vrchat-network-address = Ağ adresi
## VMC OSC settings
## Setup/onboarding menu
## Wi-Fi setup
## Mounting setup
## Setup start
## Enter VR part of setup
## Setup done
## Tracker connection setup
## Tracker calibration tutorial
## Tracker assignment tutorial
## Tracker assignment setup
## Tracker assignment warnings
## Tracker mounting method choose
## Tracker manual mounting setup
## Tracker automatic mounting setup
## Tracker proportions method choose
## Tracker manual proportions setup
## Tracker automatic proportions setup
## Home
## Status system

View File

@@ -0,0 +1,718 @@
# 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 = Підключення до сервера
websocket-connection_lost = З'єднання з сервером втрачено. Повторне підключення...
## Update notification
version_update-title = Доступна нова версія: { $version }
version_update-description = Натискання "{ version_update-update }" почнеться завантаження SlimeVR installer.
version_update-update = Оновлення
version_update-close = Закрити
## Tips
tips-find_tracker = Не знаєте який трекер вибирати? Потрясіть трекер і він підсвітить відповідний пункт.
tips-do_not_move_heels = Переконайтеся, що не рухаєте п'ятами під час запису!
tips-file_select = Перетягніть файли для використання або <u>знайдіть</u>.
tips-tap_setup = Ви можете повільно постукати 2 рази по трекеру, щоб вибрати його, замість того, щоб вибирати його з меню.
## Body parts
body_part-NONE = Не призначено
body_part-HEAD = Голова
body_part-NECK = Шия
body_part-RIGHT_SHOULDER = Праве плече
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_FOOT = Права нога
body_part-UPPER_CHEST = Верхня частина грудей
body_part-CHEST = Груди
body_part-WAIST = Талія
body_part-HIP = Стегно
body_part-LEFT_SHOULDER = Ліве плече
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_FOOT = Ліва нога
## Proportions
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 = Довжина талії
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-FOOT_SHIFT = Зміщення стопи
skeleton_bone-SKELETON_OFFSET = Зміщення скелета
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 = Скинути закріплення
reset-yaw = Скинути нахил
## Serial detection stuff
serial_detection-new_device-p0 = Виявлено новий послідовний пристрій!
serial_detection-new_device-p1 = Введіть дані вашого Wi-Fi!
serial_detection-new_device-p2 = Будь ласка, виберіть, що ви хочете з ним зробити
serial_detection-open_wifi = Підключити до Wi-Fi
serial_detection-open_serial = Відкрити послідовну консоль
serial_detection-submit = Підтвердити!
serial_detection-close = Закрити
## Navigation bar
navbar-home = Домашня сторінка
navbar-body_proportions = Пропорції тіла
navbar-trackers_assign = Призначення трекера
navbar-mounting = Калібрування закріплення
navbar-onboarding = Майстер налаштування
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: Developer settings
widget-developer_mode = Режим розробника
widget-developer_mode-high_contrast = Висока контрастність
widget-developer_mode-precise_rotation = Точне обертання
widget-developer_mode-fast_data_feed = Швидка подача даних
widget-developer_mode-filter_slimes_and_hmd = Фільтрація слаймів і шолому
widget-developer_mode-sort_by_name = Сортування за назвою
widget-developer_mode-raw_slime_rotation = Необроблене обертання
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 = Приховати
## Tracker status
tracker-status-none = Немає статусу
tracker-status-busy = Зайнятий
tracker-status-error = Помилка
tracker-status-disconnected = Відключено
tracker-status-occluded = Закрито
tracker-status-ok = OK
## Tracker status columns
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-left = Зліва
tracker-rotation-right = Справа
tracker-rotation-back = Ззаду
## Tracker information
tracker-infos-manufacturer = Виробник
tracker-infos-display_name = Відображуване ім'я
tracker-infos-custom_name = Персональне ім'я
tracker-infos-url = URL трекера
tracker-infos-version = Версія прошивки
tracker-infos-hardware_rev = Ревізія обладнання
tracker-infos-hardware_identifier = Ідентифікатор обладнання
tracker-infos-imu = IMU Сенсор
tracker-infos-board_type = Основна плата
## Tracker settings
tracker-settings-back = Повернутися до списку трекерів
tracker-settings-title = Налаштування трекеру
tracker-settings-assignment_section = Призначення
tracker-settings-assignment_section-description = До якої частини тіла призначенний трекер.
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-description = Чи повинен цей трекер компенсувати свій дрейф, коли включена компенсація дрейфу?
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 part card info
tracker-part_card-no_name = Немає імені
tracker-part_card-unassigned = Непризначений
## Body assignment menu
body_assignment_menu = Де ви хочете, щоб був цей трекер?
body_assignment_menu-description = Виберіть місце, куди потрібно призначити цей трекер. Крім того, ви можете керувати всіма трекерами одночасно, а не по одному.
body_assignment_menu-show_advanced_locations = Відображення розширених точок розташувань
body_assignment_menu-manage_trackers = Керування всіма трекерами
body_assignment_menu-unassign_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 = Який трекер призначити к
tracker_selection_menu-NONE = Який трекер ви хочете відв'язати?
tracker_selection_menu-HEAD = { -tracker_selection-part } голові?
tracker_selection_menu-NECK = { -tracker_selection-part } шиї?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } правому плечу?
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_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 } стегну?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } Лівому плечу?
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_FOOT = { -tracker_selection-part } лівій ступні?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } лівому контролеру?
tracker_selection_menu-unassigned = Непризначені трекери
tracker_selection_menu-assigned = Призначені трекери
tracker_selection_menu-dont_assign = Відв'язати
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>Попередження:</b> Трекер шиї може бути смертельно небезпечним, якщо його регулювати занадто щільно,
Ремінь може скоротити кровообіг до вашої голови!
tracker_selection_menu-neck_warning-done = Я розумію ризики
tracker_selection_menu-neck_warning-cancel = Скасувати
## Mounting menu
mounting_selection_menu = Де ви хочете, щоб був цей трекер?
mounting_selection_menu-close = Закрити
## Sidebar settings
settings-sidebar-title = Параметри
settings-sidebar-general = Загальні
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 = Послідовна консоль
## SteamVR settings
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = 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 =
Увімкніть або вимкніть певні 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 = Механіки трекера
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-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 = Компенсація дрейфу
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Компенсує дрейф нахилу 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 останніх скидань
## FK/Tracking settings
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
settings-general-fk_settings-leg_tweak-floor_clip = Прив'язка до підлоги
# 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 = корекція ковзання
settings-general-fk_settings-leg_tweak-toe_snap = корекція пальців ноги
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-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-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-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-subtitle = Скидання на основі дотику
settings-general-gesture_control-description = Дозволяє запускати скидання, торкнувшись трекера. Трекер найвищий на вашому тулубі використовується для скидання нахилу, трекер найвищий на лівій нозі використовується для повного скидання, а трекер найвищий на правій нозі використовується для скидання закріплення. Слід зазначити, що дотики повинні відбутися протягом 0,6 секунди для реєстрації.
# 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 дотик
[few] 2 дотика
[many] { $amount } дотиків
*[other] { $amount } дотиків
}
settings-general-gesture_control-yawResetEnabled = Увімкнути дотик, щоб скинути нахил
settings-general-gesture_control-yawResetDelay = Затримка скидання нахилу
settings-general-gesture_control-yawResetTaps = Дотики для скидання нахилу
settings-general-gesture_control-fullResetEnabled = Увімкнути дотик для повного скидання
settings-general-gesture_control-fullResetDelay = Затримка повного скидання
settings-general-gesture_control-fullResetTaps = Дотики для повного скидання
settings-general-gesture_control-mountingResetEnabled = Увімкнути дотик для скидання прив'язки
settings-general-gesture_control-mountingResetDelay = Затримка скидання прив'язки
settings-general-gesture_control-mountingResetTaps = Дотики для скидання прив'язки
## Interface settings
settings-general-interface = Інтерфейс
settings-general-interface-dev_mode = Режим розробника
settings-general-interface-dev_mode-description = Цей режим може бути корисним, якщо вам потрібні поглиблені дані або для взаємодії з підключеними трекерами на більш просунутому рівні.
settings-general-interface-dev_mode-label = Режим розробника
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-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
settings-serial = Послідовна консоль
# This cares about multilines
settings-serial-description =
Це інформаційна стрічка для послідовного зв'язку.
Може бути корисним, якщо вам потрібно знати, що прошивка не працює.
settings-serial-connection_lost = Підключення до послідовного пристрою втрачене, повторне підключення...
settings-serial-reboot = Перезавантажити
settings-serial-factory_reset = Скидання до заводських налаштувань
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>Попередження:</b> Це скине трекер до заводських налаштувань.
Це означає, що Wi-Fi та налаштування калібрування <b>будуть втрачені!</b>
settings-serial-factory_reset-warning-ok = Я знаю, що роблю
settings-serial-factory_reset-warning-cancel = Скасувати
settings-serial-get_infos = Отримати інформацію
settings-serial-serial_select = Вибір послідовного порту
settings-serial-auto_dropdown_item = Автоматично
## OSC router settings
settings-osc-router = OSC роутер
# This cares about multilines
settings-osc-router-description =
Пересилання повідомлень OSC з іншої програми.
Корисно для використання іншої програми OSC з VRChat, наприклад.
settings-osc-router-enable = Увімкнути
settings-osc-router-enable-description = Увімкнути пересилання повідомлень.
settings-osc-router-enable-label = Увімкнути
settings-osc-router-network = Мережеві порти
# This cares about multilines
settings-osc-router-network-description =
Встановіть порти для прослуховування і відправки даних.
Вони можуть бути такими ж, як і інші порти, що використовуються на сервері SlimeVR.
settings-osc-router-network-port_in =
.label = Вхідний Порт
.placeholder = Вхідний Порт (зазвичай: 9002)
settings-osc-router-network-port_out =
.label = Вихідний Порт
.placeholder = Вихідний Порт (зазвичай: 9000)
settings-osc-router-network-address = Мережева адреса
settings-osc-router-network-address-description = Укажіть адресу для надсилання даних за адресою.
settings-osc-router-network-address-placeholder = IPV4-адреса
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC трекери
# This cares about multilines
settings-osc-vrchat-description =
Змініть специфічні для VRChat налаштування для отримання даних шолому та надсилання
даних трекерів для FBT без SteamVR (наприклад, автономний Quest).
settings-osc-vrchat-enable = Увімкнути
settings-osc-vrchat-enable-description = Перемикайте відправку та отримання даних.
settings-osc-vrchat-enable-label = Увімкнути
settings-osc-vrchat-network = Мережеві порти
settings-osc-vrchat-network-description = Встановіть порти для прослуховування і відправки даних в VRChat.
settings-osc-vrchat-network-port_in =
.label = Вхідний Порт
.placeholder = Вхідний Порт (зазвичай: 9001)
settings-osc-vrchat-network-port_out =
.label = Вихідний Порт
.placeholder = Вихідний Порт (зазвичай: 9000)
settings-osc-vrchat-network-address = Мережева адреса
settings-osc-vrchat-network-address-description = Виберіть, за якою адресою надсилати дані до VRChat (перевірте налаштування Wi-Fi на своєму пристрої).
settings-osc-vrchat-network-address-placeholder = IP-адреса VRChat
settings-osc-vrchat-network-trackers = Трекери
settings-osc-vrchat-network-trackers-description = Перемикання відправку конкретних трекерів через OSC.
settings-osc-vrchat-network-trackers-chest = Груди
settings-osc-vrchat-network-trackers-hip = Бедро
settings-osc-vrchat-network-trackers-knees = Коліна
settings-osc-vrchat-network-trackers-feet = Ступні
settings-osc-vrchat-network-trackers-elbows = Лікті
## VMC OSC settings
settings-osc-vmc = Віртуальне захоплення руху
# This cares about multilines
settings-osc-vmc-description =
Змінення настройок протоколу 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-port_in =
.label = Вхідний Порт
.placeholder = Вхідний Порт (зазвичай: 39540)
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-placeholder = IPV4-адреса
settings-osc-vmc-vrm = Модель VRM
settings-osc-vmc-vrm-description = Завантажте модель VRM, щоб дозволити головний якір і забезпечити більш високу сумісність з іншими програмами
settings-osc-vmc-vrm-model_unloaded = Модель не завантажена
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] Модель завантажена: { $name }
*[other] Завантажена модель без назви
}
settings-osc-vmc-vrm-file_select = Перетягніть модель для використання або <u>знайдіть</u>
settings-osc-vmc-anchor_hip = Якір у стегон
settings-osc-vmc-anchor_hip-description = Закріпіть стеження на стегнах, корисно для сидячих VTubing. Якщо вимкнено, завантажте модель VRM.
settings-osc-vmc-anchor_hip-label = Якір у стегон
## Setup/onboarding menu
onboarding-skip = Пропустити налаштування
onboarding-continue = Продовжити
onboarding-wip = В роботі
onboarding-previous_step = Попередній крок
onboarding-setup_warning =
<b>Попередження:</b> Початкова настройка потрібна для хорошого відстеження,
це потрібно, якщо ви вперше використовуєте SlimeVR.
onboarding-setup_warning-skip = Пропустити налаштування
onboarding-setup_warning-cancel = Продовжити налаштування
## Wi-Fi setup
onboarding-wifi_creds-back = Повернутися до вступу
onboarding-wifi_creds = Введіть дані Wi-Fi
# This cares about multilines
onboarding-wifi_creds-description =
Трекери використовуватимуть ці дані для бездротового підключення.
Будь ласка, використовуйте дані, до яких ви зараз підключені.
onboarding-wifi_creds-skip = Пропустити налаштування Wi-Fi
onboarding-wifi_creds-submit = Підтвердити!
onboarding-wifi_creds-ssid =
.label = Назва Wi-Fi
.placeholder = Введіть назву Wi-Fi
onboarding-wifi_creds-password =
.label = Пароль
.placeholder = Введіть Пароль
## Mounting setup
onboarding-reset_tutorial-back = Повернутися до розділу Калібрування прив'язки
onboarding-reset_tutorial = Інструкція по скиданню
onboarding-reset_tutorial-explanation = Коли ви використовуєте свої трекери, вони можуть вийти з вирівнювання через дрейф нахилу IMU або тому, що ви могли їх фізично перемістити. Це можна виправити кількома способами.
onboarding-reset_tutorial-skip = Пропустити крок
# Cares about multiline
onboarding-reset_tutorial-0 =
Торкніться { $taps } виділеного трекера, щоб запустити скидання нахилу.
Це змусить трекери дивитися в тому ж напрямку, що і ваш шолом.
# Cares about multiline
onboarding-reset_tutorial-1 =
Торкніться { $taps } виділеного трекера, щоб ініціювати повне скидання.
Для цього потрібно стояти (i-поза). Існує затримка 3 секунди (налаштовується), перш ніж це дійсно станеться.
Це повністю скидає положення та обертання всіх ваших трекерів. Це має вирішити більшість проблем.
# Cares about multiline
onboarding-reset_tutorial-2 =
Торкніться { $taps } виділеного елемента стеження, щоб активувати скидання прив'язки.
Скидання прив'язки допомагає в тому, як трекери насправді надягнені на вас, тому, якщо ви випадково перемістили їх і змінили місце прикріплення на велику кількість, це допоможе.
Вам потрібно бути в позі, ніби ви катаєтеся на лижах, як показано на майстрі автоматичної прив'язки, і у вас є 3-секундна затримка (налаштовується), перш ніж вона спрацює.
## Setup start
onboarding-home = Ласкаво просимо до SlimeVR
onboarding-home-start = Давайте налаштуємося!
## Enter VR part of setup
onboarding-enter_vr-back = Повернутися до Прив'язки трекерів
onboarding-enter_vr-title = Час вступати у VR!
onboarding-enter_vr-description = Увімкніть усі свої трекери, а потім вступіть у VR!
onboarding-enter_vr-ready = Я готовий
## Setup done
onboarding-done-title = Все готово!
onboarding-done-description = Насолоджуйтесь досвідом трекінгу всього тіла
onboarding-done-close = Закрити налаштування
## Tracker connection setup
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 = Шукаємо трекери
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-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-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
# 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] Трекери не підключенно
[one] 1 трекер підключенний
[few] { $amount } трекерів підключенно
[many] { $amount } трекерів підключенно
*[other] { $amount } трекерів підключенно
}
onboarding-connect_tracker-next = Я підключив усі свої трекери
## Tracker calibration tutorial
onboarding-calibration_tutorial = Інструкція з калібрування IMU
onboarding-calibration_tutorial-subtitle = Це допоможе зменшити дрейф трекера!
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 = Як підготувати 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-done = Я наклеїв наліпки і закріпив ремінці!
## Tracker assignment setup
onboarding-assign_trackers-back = Повернутися до даних Wi-Fi
onboarding-assign_trackers-title = Призначити трекери
onboarding-assign_trackers-description = Давайте виберемо, який трекер куди йде. Натисніть на місце, де ви хочете розмістити трекер
# 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 трекеру призначенно
[few] { $assigned } з { $trackers } трекерів призначенно
[many] { $assigned } з { $trackers } трекерів призначенно
*[other] { $assigned } з { $trackers } трекерів призначенно
}
onboarding-assign_trackers-advanced = Відобразити розширені розташування призначень
onboarding-assign_trackers-next = Я призначив усі трекери
## 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] Ліва нога призначенна, але треба ще ліва щиколотка, ліве стегно та на вибір груди, бедро або талія повинні бути призначенні
[1] Ліва ступня призначенна, але в тебе повинно бути ліве стегно і на вибір груди, бедро або талія теж призначенні
[2] Ліва ступня призначенна, але в тебе повинно бути ще ліва щиколотка та на вибір груди, бедро або талія теж призначенні
[3] Ліва ступня призначенна, але тобі ще треба на вибір груди, бедро або талія теж призначенні
[4] Ліва ступня призначенна, але тобі ще потрібно ліва щиколотка і ліве стегно теж призначенні
[5] Ліва ступня призначенна, але тобі ще потрібно ліве стегно теж призначити
[6] Ліва ступня призначенна, але тобі ще треба ліву щиколотку теж призначити
*[other] Ліва ступня призначенна, але тобі ще треба Невідома кількість непризначенних частин тіла теж призначенні
}
## Tracker mounting method choose
onboarding-choose_mounting = Який метод калібрування закріплення використовувати?
# Multiline text
onboarding-choose_mounting-description = Орієнтація кріплення коригується для розміщення трекерів на вашому тілі.
onboarding-choose_mounting-auto_mounting = Автоматична прив'язка
# 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 = Це дозволить вибрати напрямок прив'язки вручну для кожного трекера
## Tracker manual mounting setup
onboarding-manual_mounting-back = Повернутися до VR
onboarding-manual_mounting = Ручне закріплення
onboarding-manual_mounting-description = Натисніть на кожен трекер і виберіть, в який бік вони прив'язані
onboarding-manual_mounting-auto_mounting = Автоматична прив'язка
onboarding-manual_mounting-next = Наступний крок
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = Повернутися до VR
onboarding-automatic_mounting-next = Наступний крок
onboarding-automatic_mounting-prev_step = Попередній крок
onboarding-automatic_mounting-done-restart = Спробуйте знову
## Tracker proportions method choose
## Tracker manual proportions setup
## Tracker automatic proportions setup
onboarding-automatic_proportions-prev_step = Попередній крок
onboarding-automatic_proportions-requirements-next = Я ознайомився з вимогами
onboarding-automatic_proportions-start_recording-title = Приготуйтеся рухатися
onboarding-automatic_proportions-start_recording-next = Почати запис
onboarding-automatic_proportions-recording-title = ЗАПИС
onboarding-automatic_proportions-recording-description-p1 = Повторюйте рухи, показані нижче:
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
onboarding-automatic_proportions-recording-timer =
{ $time ->
[one] залишилась { $time } секунда
[few] залишилось { $time } секунди
[many] залишилось { $time } секунд
*[other] залишилось { $time } секунд
}
onboarding-automatic_proportions-verify_results-title = Перевірити результати
onboarding-automatic_proportions-verify_results-processing = Обробка результату
## Home
## Status system

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,983 @@
# 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 = 正在连接到服务器
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> 以使用
tips-tap_setup = 你可以缓慢地敲击2次追踪器来选中它而不是从菜单中选取。
tips-turn_on_tracker = 如果使用的是 SlimeVR 官方的追踪器,请在将追踪器连接到电脑后再<b><em>打开追踪器的电源</em></b>
tips-failed_webgl = WebGL初始化失败
## Body parts
body_part-NONE = 未分配
body_part-HEAD = 头部
body_part-NECK = 颈部
body_part-RIGHT_SHOULDER = 右肩
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_FOOT = 右脚
body_part-UPPER_CHEST = 上胸
body_part-CHEST = 胸部
body_part-WAIST = 腰部
body_part-HIP = 髋部
body_part-LEFT_SHOULDER = 左肩
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_FOOT = 左脚
## Proportions
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 = 腰部长度
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-FOOT_SHIFT = 脚部偏移
skeleton_bone-SKELETON_OFFSET = 骨架偏移
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 = 重置佩戴
reset-yaw = 重置航向轴
## Serial detection stuff
serial_detection-new_device-p0 = 检测到了新的串口设备!
serial_detection-new_device-p1 = 输入你的 Wi-Fi 凭据!
serial_detection-new_device-p2 = 请选择你想对它做什么
serial_detection-open_wifi = 连接到 Wi-Fi
serial_detection-open_serial = 打开串口控制台
serial_detection-submit = 提交!
serial_detection-close = 关闭
## Navigation bar
navbar-home = 主页
navbar-body_proportions = 身体比例
navbar-trackers_assign = 追踪器分配
navbar-mounting = 佩戴校准
navbar-onboarding = 向导
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-clear_mounting = 清除重置佩戴
## Widget: Developer settings
widget-developer_mode = 开发者选项
widget-developer_mode-high_contrast = 高对比度
widget-developer_mode-precise_rotation = 显示精确旋转
widget-developer_mode-fast_data_feed = 快速数据更新
widget-developer_mode-filter_slimes_and_hmd = 只显示 Slime 追踪器与 HMD
widget-developer_mode-sort_by_name = 根据名称排序
widget-developer_mode-raw_slime_rotation = 显示原始旋转
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 = 无状态
tracker-status-busy = 繁忙
tracker-status-error = 错误
tracker-status-disconnected = 断开连接
tracker-status-occluded = 被遮挡
tracker-status-ok = 已连接
tracker-status-timed_out = 连接超时
## Tracker status columns
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 = 地址
## 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
tracker-infos-manufacturer = 制造商
tracker-infos-display_name = 显示名称
tracker-infos-custom_name = 自定义名称
tracker-infos-url = 追踪器地址
tracker-infos-version = 固件版本
tracker-infos-hardware_rev = 硬件版本
tracker-infos-hardware_identifier = 硬件ID
tracker-infos-imu = IMU型号
tracker-infos-board_type = 主板型号
tracker-infos-network_version = 协议版本
## Tracker settings
tracker-settings-back = 返回追踪器列表
tracker-settings-title = 追踪器设置
tracker-settings-assignment_section = 分配追踪器
tracker-settings-assignment_section-description = 该追踪器要被分配到身体的哪个部位?
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-description = 是否在此追踪器上应用漂移补偿?
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 = 给它起一个可爱的名字吧=w=~
tracker-settings-name_section-placeholder = CC 封印着漆黑之力的漆黑左臂
tracker-settings-forget = 忘记追踪器
tracker-settings-forget-description = 从 SlimeVR 服务器中移除该追踪器,并在服务器重启前不再连接这一追踪器。追踪器的配置信息不会被清除。
tracker-settings-forget-label = 忘记追踪器
## Tracker part card info
tracker-part_card-no_name = 未命名
tracker-part_card-unassigned = 未分配
## Body assignment menu
body_assignment_menu = 你想将此追踪器戴在哪里?
body_assignment_menu-description = 选择要将此追踪器分配到的位置,或者你也可以选择一次管理所有追踪器,而不是逐个管理。
body_assignment_menu-show_advanced_locations = 显示高级分配位置
body_assignment_menu-manage_trackers = 管理所有追踪器
body_assignment_menu-unassign_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 = 哪个追踪器将被分配到你的
tracker_selection_menu-NONE = 你想将哪个追踪器解除分配?
tracker_selection_menu-HEAD = { -tracker_selection-part }头部?
tracker_selection_menu-NECK = { -tracker_selection-part }颈部?
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part }右肩?
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_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 }髋部?
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part }左肩?
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_FOOT = { -tracker_selection-part }左脚?
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part }左控制器?
tracker_selection_menu-unassigned = 未分配的追踪器
tracker_selection_menu-assigned = 已分配的追踪器
tracker_selection_menu-dont_assign = 不分配
# This line cares about multilines.
# <b>text</b> means that the text should be bold.
tracker_selection_menu-neck_warning =
<b>警告:</b> 颈部追踪器在调整得过紧时有致命风险
绑带可能会阻断你头部的血液循环!
tracker_selection_menu-neck_warning-done = 我已知晓风险
tracker_selection_menu-neck_warning-cancel = 取消
## Mounting menu
mounting_selection_menu = 你想将此追踪器戴在哪里?
mounting_selection_menu-close = 关闭
## Sidebar settings
settings-sidebar-title = 设置
settings-sidebar-general = 通用设置
settings-sidebar-tracker_mechanics = 追踪器设置
settings-sidebar-fk_settings = FK 设置
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
settings-general-steamvr = SteamVR
settings-general-steamvr-subtitle = 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 =
启用或禁用特定的 SteamVR 追踪器
对于只支持特定追踪器的游戏或应用会很有用。
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>开启手部虚拟追踪器将覆盖手柄的追踪信息。
是否确定?
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 = 滤波
# 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-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-yaw-reset-smooth-time = 重置航向轴平滑过渡时长0s时关闭平滑瞬移到位
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 = 漂移补偿
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
settings-general-fk_settings = FK 设置
# 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 = 地板限制
# 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 = 脚滑矫正
settings-general-fk_settings-leg_tweak-toe_snap = 脚趾着地
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 = 强制使用头显数据追踪手臂
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_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 模拟
## Gesture control settings (tracker tapping)
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
# $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 = 重置航向轴敲击次数
settings-general-gesture_control-fullResetEnabled = 开启敲击完整重置
settings-general-gesture_control-fullResetDelay = 敲击完整重置延迟
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 = 如敲击重置不起作用请增加此值。请在保证敲击重置可用的情况下将此值设置的尽可能低,否则会导致误报。
## Appearance settings
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 = 串口设备检测
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-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
settings-serial = 串口控制台
# This cares about multilines
settings-serial-description =
这里用于显示串口的实时信息流。
如果你需要了解固件是否出现问题,这将会很有用。
settings-serial-connection_lost = 串口连接丢失,正在重新连接..
settings-serial-reboot = 重新启动
settings-serial-factory_reset = 恢复出厂设置
# This cares about multilines
# <b>text</b> means that the text should be bold
settings-serial-factory_reset-warning =
<b>警告:</b> 这会将追踪器重置为出厂设置。
这意味着 Wi-Fi 凭据和校准数据 <b>都将丢失!</b>
settings-serial-factory_reset-warning-ok = 我已知晓
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
settings-osc-router = OSC 路由
# This cares about multilines
settings-osc-router-description =
从另一个程序转发 OSC 信息。
例如需要在 VRChat 同时使用另一个 OSC 程序。
settings-osc-router-enable = 启用
settings-osc-router-enable-description = 控制信息转发功能的开关。
settings-osc-router-enable-label = 启用
settings-osc-router-network = 网络端口
# This cares about multilines
settings-osc-router-network-description =
设置用于监听和向 VRChat 发送数据的端口
这些端口可以与 SlimeVR 服务器中使用的其他端口相同。
settings-osc-router-network-port_in =
.label = 输入端口
.placeholder = 输入端口(默认 9002
settings-osc-router-network-port_out =
.label = 输出端口
.placeholder = 输出端口(默认 9000
settings-osc-router-network-address = 网络地址
settings-osc-router-network-address-description = 设置用来发送数据的地址。
settings-osc-router-network-address-placeholder = IPV4 地址
## OSC VRChat settings
settings-osc-vrchat = VRChat OSC Trackers
# This cares about multilines
settings-osc-vrchat-description =
改变 VRChat 的特定设置以接收和发送头显数据。
用于全身追踪的追踪器数据(在 Quest 端生效)。
settings-osc-vrchat-enable = 启用
settings-osc-vrchat-enable-description = 切换数据的发送和接收
settings-osc-vrchat-enable-label = 启用
settings-osc-vrchat-network = 网络端口
settings-osc-vrchat-network-description = 设置用于监听和向 VRChat 发送数据的端口
settings-osc-vrchat-network-port_in =
.label = 输入端口
.placeholder = 输入端口(默认 9001
settings-osc-vrchat-network-port_out =
.label = 输出端口
.placeholder = 输出端口(默认 9000
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-chest = 胸部
settings-osc-vrchat-network-trackers-hip = 髋部
settings-osc-vrchat-network-trackers-knees = 膝盖
settings-osc-vrchat-network-trackers-feet = 脚部
settings-osc-vrchat-network-trackers-elbows = 肘部
## VMC OSC settings
settings-osc-vmc = Virtual Motion Capture
# This cares about multilines
settings-osc-vmc-description =
修改 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-port_in =
.label = 输入端口
.placeholder = 输入端口 (默认: 39540)
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-placeholder = IPV4 地址
settings-osc-vmc-vrm = VRM 模型
settings-osc-vmc-vrm-description = 加载 VRM 模型以允许头部锚定,并增进与其他程序的兼容
settings-osc-vmc-vrm-model_unloaded = 未加载模型
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] 已加载模型:{ $name }
*[other] 已加载未命名的模型
}
settings-osc-vmc-vrm-file_select = 拖曳文件或 <u>浏览文件</u> 以加载模型
settings-osc-vmc-anchor_hip = 髋部锚定
settings-osc-vmc-anchor_hip-description = 将追踪锚定在髋部,有利于坐姿进行虚拟直播。若本选项无法切换,请加载 VRM 模型。
settings-osc-vmc-anchor_hip-label = 髋部锚定
## Setup/onboarding menu
onboarding-skip = 跳过设置
onboarding-continue = 继续
onboarding-wip = 仍在开发中
onboarding-previous_step = 上一步
onboarding-setup_warning =
<b>警告:</b> 需要进行设置以得到良好的追踪质量,
如果这是您第一次使用 SlimeVR 则需要先进行设置。
onboarding-setup_warning-skip = 跳过设置
onboarding-setup_warning-cancel = 继续设置
## Wi-Fi setup
onboarding-wifi_creds-back = 返回简介
onboarding-wifi_creds = 输入 Wi-Fi 凭据
# This cares about multilines
onboarding-wifi_creds-description =
追踪器将使用这些凭据连接到 Wi-Fi
请使用当前连接到 Wi-Fi 的凭据
onboarding-wifi_creds-skip = 跳过 Wi-Fi 设置
onboarding-wifi_creds-submit = 提交!
onboarding-wifi_creds-ssid =
.label = SSID
.placeholder = 输入 SSID
onboarding-wifi_creds-password =
.label = 密码
.placeholder = 输入密码
## Mounting setup
onboarding-reset_tutorial-back = 返回到佩戴校准
onboarding-reset_tutorial = 重置教程
onboarding-reset_tutorial-explanation = 追踪器在使用时可能会由于IMU的航向角漂移或是因为您移动了它们而失准。您有几种方法来解决这个问题。
onboarding-reset_tutorial-skip = 跳过步骤
# Cares about multiline
onboarding-reset_tutorial-0 =
敲击 { $taps } 次高亮显示的追踪器以触发航向轴重置。
这将使追踪器朝向与您的头显相同的方向。
# Cares about multiline
onboarding-reset_tutorial-1 =
敲击 { $taps } 次高亮显示的追踪器以触发完整重置。
此功能需要你站直i-pose后使用。 在重置实际发生前有 3 秒延迟(可配置)。
这将完全重置所有追踪器的位置和旋转,应该能解决大多数问题。
# Cares about multiline
onboarding-reset_tutorial-2 =
敲击 { $taps } 次高亮显示的追踪器以触发佩戴重置。
佩戴重置能对追踪器实际的配戴方式进行调整,所以如果你不小心移动了追踪器并将它们的佩戴方向改变了很多,这个功能将有所帮助。
你需要摆出一个像滑雪那样的姿势,就像在运行自动设置佩戴向导时做的那样,在重置实际发生前有 3 秒延迟(可配置)。
## Setup start
onboarding-home = 欢迎来到 SlimeVR
onboarding-home-start = 我准备好了!
## Enter VR part of setup
onboarding-enter_vr-back = 返回到追踪器分配
onboarding-enter_vr-title = VR 时间到!
onboarding-enter_vr-description = 穿戴好所有的追踪器,开始快乐 VR 吧!
onboarding-enter_vr-ready = 我准备好了
## Setup done
onboarding-done-title = 都搞定啦!
onboarding-done-description = 享受你的全身追踪体验吧
onboarding-done-close = 关闭向导
## Tracker connection setup
onboarding-connect_tracker-back = 返回到 Wi-Fi 凭据设置
onboarding-connect_tracker-title = 连接追踪器
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 = 正在寻找追踪器
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-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-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
# 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] 没有已连接的追踪器
*[other] { $amount } 个追踪器已连接
}
onboarding-connect_tracker-next = 所有的追踪器都连接好了
## Tracker calibration tutorial
onboarding-calibration_tutorial = IMU校准教程
onboarding-calibration_tutorial-subtitle = 这将有助于减少追踪器漂移!
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 = 在佩戴 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-v2 = 2. 将绑带穿过追踪器,确保绑带有粘扣面的朝向与追踪器上的笑脸标志同向:
onboarding-assignment_tutorial-second_step-continuation-v2 = 扩展追踪器的粘扣朝向应如下图所示:
onboarding-assignment_tutorial-done = 我把贴纸和绑带都弄好了!
## Tracker assignment setup
onboarding-assign_trackers-back = 返回 Wi-Fi 凭据设置
onboarding-assign_trackers-title = 分配追踪器
onboarding-assign_trackers-description = 让我们选择哪个追踪器在哪里。单击要放置追踪器的部位
# 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 = { $assigned }/{ $trackers } 个追踪器已分配
onboarding-assign_trackers-advanced = 显示高级分配部位
onboarding-assign_trackers-next = 所有的追踪器都分配好了
onboarding-assign_trackers-mirror_view = 镜像显示
## 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] 左脚 已分配,但您还需要分配 左小腿 左大腿 胸部 髋部/腰部!
[1] 左脚 已分配,但您还需要分配 左大腿 胸部 髋部/腰部!
[2] 左脚 已分配,但您还需要分配 左小腿 胸部 髋部/腰部!
[3] 左脚 已分配,但您还需要分配 胸部 髋部/腰部!
[4] 左脚 已分配,但您还需要分配 左小腿 左大腿
[5] 左脚 已分配,但您还需要分配 左大腿!
[6] 左脚 已分配,但您还需要分配 左小腿!
*[unknown] 左脚 已分配,但您还需要分配 未知未分配身体部位!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_FOOT =
{ $unassigned ->
[0] 右脚 已分配,但您还需要分配 右小腿 右大腿 胸部 髋部/腰部!
[1] 右脚 已分配,但您还需要分配 右大腿 胸部 髋部/腰部!
[2] 右脚 已分配,但您还需要分配 右小腿 胸部 髋部/腰部!
[3] 右脚 已分配,但您还需要分配 胸部 髋部/腰部!
[4] 右脚 已分配,但您还需要分配 右小腿 右大腿
[5] 右脚 已分配,但您还需要分配 右大腿!
[6] 右脚 已分配,但您还需要分配 右小腿!
*[unknown] 右脚 已分配,但您还需要分配 未知未分配身体部位!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_LOWER_LEG =
{ $unassigned ->
[0] 左小腿 已分配,但您还需要分配 左大腿 胸部 髋部/腰部!
[1] 左小腿 已分配,但您还需要分配 胸部 髋部/腰部!
[2] 左小腿 已分配,但您还需要分配 左大腿!
*[unknown] 左小腿 已分配,但您还需要分配 未知未分配身体部位!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_LOWER_LEG =
{ $unassigned ->
[0] 右小腿 已分配,但您还需要分配 右大腿 胸部 髋部/腰部!
[1] 右小腿 已分配,但您还需要分配 胸部 髋部/腰部!
[2] 右小腿 已分配,但您还需要分配 右大腿!
*[unknown] 右小腿 已分配,但您还需要分配 未知未分配身体部位!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-LEFT_UPPER_LEG =
{ $unassigned ->
[0] 左大腿 已分配,但您还需要分配 胸部 髋部/腰部!
*[unknown] 左大腿 已分配,但您还需要分配 未知未分配身体部位!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-RIGHT_UPPER_LEG =
{ $unassigned ->
[0] 右大腿 已分配,但您还需要分配 胸部 髋部/腰部!
*[unknown] 右大腿 已分配,但您还需要分配 未知未分配身体部位!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-HIP =
{ $unassigned ->
[0] 髋部 已分配,但您还需要分配 胸部!
*[unknown] 髋部 已分配,但您还需要分配 未知未分配身体部位!
}
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
onboarding-assign_trackers-warning-WAIST =
{ $unassigned ->
[0] 腰部 已分配,但您还需要分配 胸部!
*[unknown] 腰部 已分配,但您还需要分配 未知未分配身体部位!
}
## Tracker mounting method choose
onboarding-choose_mounting = 使用哪种方法校准佩戴朝向?
# Multiline text
onboarding-choose_mounting-description = 佩戴方向校准用于确定您身上的追踪器的朝向。
onboarding-choose_mounting-auto_mounting = 自动设置佩戴方向
# 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
onboarding-manual_mounting-back = 返回到进入 VR
onboarding-manual_mounting = 手动佩戴
onboarding-manual_mounting-description = 单击每个追踪器并选择它们的佩戴方式
onboarding-manual_mounting-auto_mounting = 自动设置佩戴方向
onboarding-manual_mounting-next = 下一步
## Tracker automatic mounting setup
onboarding-automatic_mounting-back = 返回到进入 VR
onboarding-automatic_mounting-title = 佩戴校准
onboarding-automatic_mounting-description = 为了让 SlimeVR 追踪器正常工作,我们需要为你的追踪器分配一个佩戴方向,以使其与你的物理追踪器佩戴方式对齐。
onboarding-automatic_mounting-manual_mounting = 手动设置佩戴方向
onboarding-automatic_mounting-next = 下一步
onboarding-automatic_mounting-prev_step = 上一步
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-1 = 按下佩戴重置按钮并等待 3 秒钟,然后追踪器的佩戴方向将被重置。
onboarding-automatic_mounting-preparation-title = 准备
onboarding-automatic_mounting-preparation-step-0 = 1. 身体直立,双臂放在身体两侧。
onboarding-automatic_mounting-preparation-step-1 = 按下“复位”按钮,等待 3 秒钟,追踪器将复位。
onboarding-automatic_mounting-put_trackers_on-title = 穿戴好追踪器
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-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
onboarding-manual_proportions-back = 返回重置教程
onboarding-manual_proportions-title = 手动调整身体比例
onboarding-manual_proportions-precision = 精确调整
onboarding-manual_proportions-auto = 自动校准
onboarding-manual_proportions-ratio = 按比例分组调整
## Tracker automatic proportions setup
onboarding-automatic_proportions-back = 返回重置教程
onboarding-automatic_proportions-title = 测量你的身体比例
onboarding-automatic_proportions-description = 为了让 SlimeVR 追踪器正常使用,我们需要知道你的骨头的长度。这个简短的校准将为你测量它们。
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-requirements-title = 准备工作
# Each line of text is a different list item
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 = 开始录制
onboarding-automatic_proportions-recording-title = REC
onboarding-automatic_proportions-recording-description-p0 = 录制中...
onboarding-automatic_proportions-recording-description-p1 = 依次做出以下动作:
# Each line of text is a different list item
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-verify_results-title = 校验结果
onboarding-automatic_proportions-verify_results-description = 检查下面的结果,它们看起来是正确的吗?
onboarding-automatic_proportions-verify_results-results = 录制结果
onboarding-automatic_proportions-verify_results-processing = 正在处理结果
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-StatusSteamVRDisconnected =
{ $type ->
[steamvr_feeder] 尚未连接到 SlimeVR Feeder App
*[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 = 忽略它

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 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

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