Compare commits

...

162 Commits

Author SHA1 Message Date
Eiren Rain
b02234f9fc New Pontoon translations (#1625) 2025-11-18 23:28:50 +03:00
SlimeVR-bot
eb10f07711 Pontoon/GUI: Update French (fr), German (de)
Co-authored-by: Erimel <loukalemire@gmail.com> (fr)
Co-authored-by: C0D3 M4513R <mail@c0d3m4513r.com> (de)
Co-authored-by: unlogisch <unlogisch@gmx.ch> (de)
Co-authored-by: bongocatlifelol <bongocatlifelol@gmail.com> (de)
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz> (de)
Co-authored-by: stephaniegoldschmidt9 <stephaniegoldschmidt9@gmail.com> (de)
2025-11-17 19:25:36 +00:00
SlimeVR-bot
f15a503936 Pontoon/GUI: Update 28 localizations
Co-authored-by: Bader <baq100@gmail.com> (ar)
Co-authored-by: Vaso <dudysoso1@gmail.com> (ar)
Co-authored-by: FennT <0094falcon@gmail.com> (ar)
Co-authored-by: nekomona <nekomona@163.com> (zh-Hans)
Co-authored-by: pwnint <ahndkp@gmail.com> (zh-Hans)
Co-authored-by: ZZNYJIDI <zznyjidi@hotmail.com> (zh-Hans)
Co-authored-by: Yingxue <a1175815821@163.com> (zh-Hans)
Co-authored-by: Meow Wei <medicalwei@gmail.com> (zh-Hant)
Co-authored-by: JaydenHa <jayden@jaydenha.uk> (zh-Hant)
Co-authored-by: Cheezik <cheatistv@email.cz> (cs)
Co-authored-by: Jeeko <d.safarik06@gmail.com> (cs)
Co-authored-by: viwas45hu978ot <viwashuot@gmail.com> (da)
Co-authored-by: Nola <stefsecretdesecret@gmail.com> (nl)
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com> (nl)
Co-authored-by: SaabAerospace <SaabAerospace@hotmail.com> (nl)
Co-authored-by: siofrain <maradaichides@gmail.com> (fi)
Co-authored-by: Iris <vakotoneva@gmail.com> (fi)
Co-authored-by: SlimePuppy <minouviolet2007+github@gmail.com> (fr)
Co-authored-by: Erimel <loukalemire@gmail.com> (fr)
Co-authored-by: the1pigeon <the1pigeon@gmail.com> (fr)
Co-authored-by: martin <martin@dolez.fr> (fr)
Co-authored-by: rascrifice <noppyfloppy69@gmail.com> (fr)
Co-authored-by: C0D3 M4513R <mail@c0d3m4513r.com> (de)
Co-authored-by: dennis.staudacher <dennis.staudacher@icloud.com> (de)
Co-authored-by: TheDevMinerTV <devminer@devminer.xyz> (de)
Co-authored-by: Jatoxo <jatoxo123@gmail.com> (de)
Co-authored-by: unlogisch <unlogisch@gmx.ch> (de)
Co-authored-by: Kyra <sebastianzockt@gmail.com> (de)
Co-authored-by: stephaniegoldschmidt9 <stephaniegoldschmidt9@gmail.com> (de)
Co-authored-by: odydoubouridis <odydoubouridis@gmail.com> (el)
Co-authored-by: origalili123 <origalili123@gmail.com> (he)
Co-authored-by: Daniel <danielkariv98@gmail.com> (he)
Co-authored-by: Etch9 <mario.mazzara30@gmail.com> (it)
Co-authored-by: namakeingo <namakeingo@gmail.com> (en-x-owo, it)
Co-authored-by: infopcgood <sshs_student_412@outlook.kr> (ko)
Co-authored-by: Kamilake <exjang0@gmail.com> (ko)
Co-authored-by: abb128 <abb128@sapples.net> (lt)
Co-authored-by: eivind.eriksen <eivind.eriksen08@gmail.com> (nb-NO)
Co-authored-by: darkowsness <darkowsness@gmail.com> (nb-NO)
Co-authored-by: ReDoX <redox01@o2.pl> (pl)
Co-authored-by: Yexo <patrykcyranski@gmail.com> (pl)
Co-authored-by: Tailsy <tailsy13@gmail.com> (pl)
Co-authored-by: michael091 <michael_m1@o2.pl> (pl)
Co-authored-by: mygz <miguelmiguelmnogueira@gmail.com> (pt-BR)
Co-authored-by: Sander Fernandes <sander@novatrackers.com.br> (pt-BR)
Co-authored-by: Gaabbu <gabrielsonada@outlook.com.br> (pt-BR)
Co-authored-by: lindetinn <Kuzmenko3g@gmail.com> (ru)
Co-authored-by: Flar <kani.dragonflar@gmail.com> (ru)
Co-authored-by: SummerArtz <summerpzmail@gmail.com> (ru)
Co-authored-by: Sergey <serezhenka.soldatov.2020@mail.ru> (ru)
Co-authored-by: Graphite0 <olegek.permjakov@gmail.com> (ru)
Co-authored-by: Clay <code.clayt@gmail.com> (ru)
Co-authored-by: viberbread <panfilov.iva2015@yandex.ru> (ru)
Co-authored-by: Alejandro <moctezumaalejandro25@gmail.com> (es-419)
Co-authored-by: MaxEvil <xicovalle@gmail.com> (es-419)
Co-authored-by: Uriel <imurx@proton.me> (es-419, es-ES, sv-SE)
Co-authored-by: Andokai <da.nova@duocuc.cl> (es-419)
Co-authored-by: Renka <lunastarletvr@gmail.com> (es-419, es-ES)
Co-authored-by: Baddie <baddie@femboy.gay> (es-ES)
Co-authored-by: adriangoldenhero <adriangoldenhero@gmail.com> (es-ES)
Co-authored-by: LavAriz <thecakegirl092@gmail.com> (es-ES)
Co-authored-by: cabbemannen <cabbemannen10@gmail.com> (sv-SE)
Co-authored-by: catdrout <c4tdrout@protonmail.com> (sv-SE)
Co-authored-by: YumeTomo <Sodnoobe@gmail.com> (th)
Co-authored-by: SparklingSakura <natthakitw.2006@gmail.com> (th)
Co-authored-by: Kaiera huzu <patsakorn9090@gmail.com> (th)
Co-authored-by: rwrdetenrl <NightAniMer@hotmail.com> (tr)
Co-authored-by: HappyTownCats <HappyTownCats@gmail.com> (uk)
Co-authored-by: Shans <KaluhinShans@gmail.com> (uk)
Co-authored-by: MenacingExiler <menacingexiler@gmail.com> (vi)
Co-authored-by: Dau <unnamedau@nowhatethis.com> (en-x-owo)
Co-authored-by: beq <beqbdean@gmail.com> (en-x-owo)
Co-authored-by: Mini <alexanderawatson64@gmail.com> (en-x-owo)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com> (en-x-owo)
2025-11-17 19:25:36 +00:00
lucas lelievre
c580aecb11 Refactor pull request creation command in workflow 2025-11-17 20:25:13 +01:00
lucas lelievre
81879afa32 Add a cute note to the README 2025-11-17 19:50:44 +01:00
lucas lelievre
1cb4edb651 Fix pontoon ci (#1624) 2025-11-17 19:14:04 +01:00
Sapphire
26e04db950 Fix 'Filter Slimes and HMD' dev setting only showing OpenVR HMD (#1614) 2025-11-10 11:25:03 +01:00
Eiren Rain
fade902fc0 Better fw update cache handling (#1617) 2025-11-08 02:41:48 +03:00
loucass003
e072fc75c6 Do not show release if no deploy file 2025-11-06 02:06:27 +01:00
loucass003
94da52c0e4 Better fw update cache handling 2025-11-06 02:05:08 +01:00
lucas lelievre
56c3290e1c Add digest to fw update files (#1616)
Co-authored-by: gorbit99 <gorbitgames@gmail.com>
2025-11-06 01:07:26 +01:00
gorbit99
e0f1ad8d4f Various rc fixes (#1615) 2025-11-05 19:12:28 +01:00
kruemmelbande
bd4ec047c3 fix linux safe mode icon (#1613) 2025-11-03 22:48:56 +01:00
lucas lelievre
e3b3cb77d1 Fix linux ci (#1611) 2025-11-03 20:22:54 +01:00
lucas lelievre
5a8804630b Fix lint (#1610) 2025-11-03 19:37:19 +01:00
Uriel
0df8b938d8 Update spotless and ktlint (#1528)
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: loucass003 <loucass003@gmail.com>
2025-11-03 18:52:58 +01:00
lucas lelievre
7180f4eaa7 Make socket recover if slimevr crashed (#1604) 2025-11-03 18:01:25 +01:00
gorbit99
2a55617e3a Enable text input on the serial console page (#1562)
Co-authored-by: loucass003 <loucass003@gmail.com>
2025-11-03 16:20:59 +01:00
gorbit99
1777d584fe Rework Dropdown component (#1606) 2025-11-03 14:55:03 +01:00
unlogisch04
edd9ea02e1 Update jSerialComm to 2.11.3 (#1608) 2025-11-01 21:16:47 +01:00
sctanf
119d9158c0 Calibration tutorial fix settling (#1521)
Co-authored-by: Eiren Rain <Eirenliel@users.noreply.github.com>
2025-11-01 00:42:42 +01:00
gorbit99
0e073a01fd Update eslint and add stylistic/jsx-self-closing-comp (#1607) 2025-11-01 00:41:53 +01:00
lucas lelievre
4e9fdb206c Firmware tool V2 (#1585) 2025-10-31 18:16:13 +01:00
Collin
0a08d57426 Positional tracker support (#920)
Co-authored-by: Eiren Rain <Eirenliel@users.noreply.github.com>
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-10-31 17:54:07 +01:00
Butterscotch!
c316c50f30 Fix tracker drift logging (#1588) 2025-10-31 17:43:32 +01:00
Uriel
81716be512 Migrate to tauri logger (#1537)
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-10-31 17:42:13 +01:00
Polymoria
1d273ac651 Smaller paddings in alerts (#1450) 2025-10-31 17:40:23 +01:00
sctanf
7dc815cd86 ManualProportions do not wrap height text (#1529) 2025-10-31 17:35:14 +01:00
Butterscotch!
d6f771e6b2 BVH rewrite (#1542) 2025-10-31 17:20:08 +01:00
Sapphire
3aeb0569b1 Show startup error when tracker server port is in use (#1596) 2025-10-31 17:17:56 +01:00
Summer
bf2c5d59ab Add Positional UDP packet (#1546) 2025-10-31 17:16:30 +01:00
Butterscotch!
94b2309945 Delete target web-gui before copying (#1573)
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-10-31 17:12:12 +01:00
kruemmelbande
e81c9c5b2d add safe mode .desktop file (#1600) 2025-10-29 19:40:21 +01:00
Eiren Rain
900bdc03ca Bump actions/setup-node from 5 to 6 (#1591) 2025-10-27 18:45:09 +03:00
Eiren Rain
5a73ad77f2 Bump awalsh128/cache-apt-pkgs-action from 1.5.3 to 1.6.0 (#1592) 2025-10-27 18:45:00 +03:00
dependabot[bot]
1c6a29940a Bump actions/setup-node from 5 to 6
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 15:31:25 +00:00
dependabot[bot]
adb0ae969d Bump awalsh128/cache-apt-pkgs-action from 1.5.3 to 1.6.0
Bumps [awalsh128/cache-apt-pkgs-action](https://github.com/awalsh128/cache-apt-pkgs-action) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/awalsh128/cache-apt-pkgs-action/releases)
- [Commits](https://github.com/awalsh128/cache-apt-pkgs-action/compare/v1.5.3...v1.6.0)

---
updated-dependencies:
- dependency-name: awalsh128/cache-apt-pkgs-action
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 15:30:41 +00:00
Eiren Rain
ae5783ce9f Bump actions/download-artifact from 5 to 6 (#1599) 2025-10-27 18:25:32 +03:00
Eiren Rain
4408b36ffb Bump actions/upload-artifact from 4 to 5 (#1598) 2025-10-27 18:25:05 +03:00
dependabot[bot]
8708778596 Bump actions/download-artifact from 5 to 6
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 15:24:31 +00:00
dependabot[bot]
b045c88158 Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 15:00:37 +00:00
Eiren Rain
0235660642 Fix PFR extension being used for PFS file (#1593) 2025-10-22 20:49:46 +03:00
Butterscotch!
3d90d22b56 Fix PFR extension being used for PFS file 2025-10-21 23:05:21 -04:00
dependabot[bot]
7ac3993543 Bump gradle/actions from 4 to 5 (#1582)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-10-18 03:43:06 +02:00
Erimel
79294e95c7 Fix network adapter status vars (#1589) 2025-10-18 03:35:18 +02:00
gorbit99
2e9256a630 Remove the GET INFO button (#1587) 2025-10-17 17:03:43 +02:00
gorbit99
0e0992e6d4 Don't allow the same value for port in and port out (#1563)
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-10-16 06:08:34 +02:00
gorbit99
5be7896d8b Add pausing to the serial console (#1569)
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-10-16 05:45:46 +02:00
lucas lelievre
25c659ba03 Revert "Progress"
This reverts commit e38a4b40b5.
2025-10-10 19:02:50 +02:00
lucas lelievre
e38a4b40b5 Progress 2025-10-10 19:02:28 +02:00
Eiren Rain
de16acbcf4 New Pontoon translations (#1512) 2025-09-30 00:24:22 +03:00
Erimel
486cb295ac Pontoon: Update French (fr) localization of GUI
Co-Authored-By: Erimel <loukalemire@gmail.com>
Co-Authored-By: SlimePuppy <minouviolet2007+github@gmail.com>
2025-09-23 21:00:09 +00:00
nekomona
dd3fe24294 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: nekomona <nekomona@163.com>
2025-09-23 21:00:09 +00:00
Alejandro
59bdedecbb Pontoon: Update Latinamerican Spanish (es-419) localization of GUI
Co-authored-by: Alejandro <moctezumaalejandro25@gmail.com>
2025-09-23 21:00:09 +00:00
YumeTomo
fc3d049019 Pontoon: Update Thai (th) localization of GUI
Co-Authored-By: YumeTomo <Sodnoobe@gmail.com>
Co-Authored-By: Cusmo84 <saopob@gmail.com>
Co-Authored-By: Kaiera huzu <patsakorn9090@gmail.com>
2025-09-23 21:00:09 +00:00
ReDoX
de150e7349 Pontoon: Update Polish (pl) localization of GUI
Co-authored-by: ReDoX <redox01@o2.pl>
2025-09-23 21:00:09 +00:00
Meow Wei
06b3f61d37 Pontoon: Update Traditional Chinese (zh-Hant) localization of GUI
Co-authored-by: Meow Wei <medicalwei@gmail.com>
2025-09-23 21:00:09 +00:00
Bader
82b96d5ebe Pontoon: Update Arabic (ar) localization of GUI
Co-Authored-By: Bader <baq100@gmail.com>
Co-Authored-By: FennT <0094falcon@gmail.com>
2025-09-23 21:00:09 +00:00
Aed
f2b4d468c2 Added Done button to end of mounting calibration (#1557) 2025-09-23 22:59:22 +02:00
Eiren Rain
1c0f5c381b Update CODEOWNERS (#1558) 2025-09-23 23:54:01 +03:00
lucas lelievre
fb25421ab0 OOPS 2025-09-23 20:23:51 +00:00
lucas lelievre
4890b4a71c Update CODEOWNERS 2025-09-23 22:17:57 +02:00
lucas lelievre
e38732a81c Remove secondary colors usage + improve spacing (#1554) 2025-09-22 21:27:07 +02:00
Eiren Rain
2a78354b17 Disable update prompt on Android (#1547) 2025-09-19 19:55:27 +03:00
Eiren Rain
3fb4347277 Fix Stagered fw update detection (#1544) 2025-09-19 19:55:17 +03:00
Eiren Rain
081e88ead4 Update gui/src/hooks/firmware-update.ts
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
2025-09-18 15:34:56 +03:00
Uriel
73f41f8fc6 Disable update prompt on Android 2025-09-17 19:32:30 -03:00
loucass003
f233f59079 Fix Stagered fw update detection 2025-09-16 23:24:53 +02:00
Eiren Rain
9644b00690 fix: use transaction id in RPC reponses (#1527) 2025-09-16 18:54:12 +03:00
Eiren Rain
543e319c25 HID support on Android (#1532) 2025-09-16 14:57:24 +03:00
Eiren Rain
b7ef70f5c6 Bump actions/setup-java from 4 to 5 (#1522) 2025-09-16 14:25:42 +03:00
Eiren Rain
af171f8812 Fix Android serial support (#1533) 2025-09-16 14:25:11 +03:00
dependabot[bot]
8ec3cade06 Bump actions/setup-java from 4 to 5
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4 to 5.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-16 11:23:12 +00:00
Eiren Rain
bec8be46ca Add folder icon option for the file input (#1536) 2025-09-16 14:22:47 +03:00
Eiren Rain
ac7f809132 Bump actions/setup-node from 4 to 5 (#1540) 2025-09-16 14:22:10 +03:00
Eiren Rain
fcb241fab8 Bump actions/labeler from 5 to 6 (#1541) 2025-09-16 14:21:55 +03:00
Eiren Rain
fbdcf2fa2d Race condition patch for constraints (#1535) 2025-09-16 14:21:13 +03:00
Butterscotch!
73c821e07b Merge remote-tracking branch 'upstream/main' into bscotch/android-serial-fix 2025-09-11 16:07:57 -04:00
Butterscotch!
422ddd7ee8 Write serial directly on Android 2025-09-11 16:07:49 -04:00
Butterscotch!
943ad974ec Limit Android serial buffer to 1024 chars 2025-09-11 16:03:57 -04:00
dependabot[bot]
12a5d59e89 Bump actions/labeler from 5 to 6
Bumps [actions/labeler](https://github.com/actions/labeler) from 5 to 6.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 14:22:53 +00:00
dependabot[bot]
85286651dd Bump actions/setup-node from 4 to 5
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 14:22:49 +00:00
Uriel
e9b3efe3d5 Add folder icon option for the file input 2025-09-05 14:13:54 -04:00
Uriel
0f06ac0253 update linux metadata (#1524) 2025-09-04 13:44:17 -03:00
Butterscotch!
75fa1aa1e2 Messy race condition patch for constraints 2025-09-04 06:50:34 -04:00
Butterscotch!
7d642a21f5 Use a read buffer for Android serial
The serial reader on Android does not have a big enough buffer for our serial output, causing issues when parsing it. We can buffer until we reach a newline character to make parsing work.
2025-09-04 06:35:30 -04:00
Butterscotch!
4e1421180c Ensure serial port closure 2025-09-04 04:33:39 -04:00
Butterscotch!
f0a72645d7 Clear request more & update usbReceiver comment 2025-09-04 04:27:20 -04:00
Butterscotch!
86b8e0a904 Fix serial staying open after disconnect 2025-09-04 04:18:52 -04:00
Butterscotch!
789e6a6962 Make ACTION_USB_PERMISSION const 2025-09-04 02:37:52 -04:00
Butterscotch!
f03b300d72 Use val for usbReceiver 2025-09-04 02:26:36 -04:00
Butterscotch!
6b0822c0f6 Rename HID "Service" to "Manager" 2025-09-04 02:26:08 -04:00
Butterscotch!
d9774cab87 Extra requestingPermission handling for new device 2025-09-04 02:24:21 -04:00
Butterscotch!
f07f9f3718 Add comments for USB attach/detach events 2025-09-04 02:22:23 -04:00
Butterscotch!
486be0973b Use USB events for serial & re-request permission 2025-09-04 02:17:28 -04:00
Butterscotch!
9246dd00d3 Additional comments 2025-09-04 01:41:01 -04:00
Butterscotch!
baf515791d Fix HID service comments 2025-09-04 01:37:15 -04:00
Butterscotch!
876450d764 Make Android USB host mode optional 2025-09-04 01:34:22 -04:00
Butterscotch!
44e90e255b Rename HID classes for clarity 2025-09-04 01:34:06 -04:00
Butterscotch!
41026ab851 Move deviceIdLookup to HIDCommon 2025-09-04 01:28:26 -04:00
Butterscotch!
d8509c431d Remove device reattach handling
Events should be good enough :3
2025-09-04 01:05:35 -04:00
Butterscotch!
66df65eb80 Use Android USB events for HID instead of polling 2025-09-04 00:31:43 -04:00
Butterscotch!
30641a5809 Reconnect HID 2025-09-04 00:31:43 -04:00
Butterscotch!
574523daec Persist UsbDeviceConnection 2025-09-04 00:31:43 -04:00
Butterscotch!
1913605d16 De-duplicate HID code 2025-09-04 00:31:42 -04:00
Butterscotch!
8aeecab51f Implement awful reading 2025-09-04 00:29:45 -04:00
Butterscotch!
9fd5d6a187 Initial Android USB HID support 2025-09-04 00:29:45 -04:00
Butterscotch!
4568ebb41a Foot snapping fix (#1519) 2025-09-03 21:11:24 -03:00
Ilia Ki
2777d8af89 Fix endian docs for smol HID (#1520) 2025-09-03 20:03:39 -03:00
peelz
0c09c22306 fix: use transaction id in RPC reponses 2025-09-01 13:46:48 -04:00
Eiren Rain
3f9b997ffa Bump awalsh128/cache-apt-pkgs-action from 1.5.1 to 1.5.3 (#1515) 2025-08-19 21:45:46 +02:00
dependabot[bot]
df379ee234 Bump awalsh128/cache-apt-pkgs-action from 1.5.1 to 1.5.3
Bumps [awalsh128/cache-apt-pkgs-action](https://github.com/awalsh128/cache-apt-pkgs-action) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/awalsh128/cache-apt-pkgs-action/releases)
- [Commits](https://github.com/awalsh128/cache-apt-pkgs-action/compare/v1.5.1...v1.5.3)

---
updated-dependencies:
- dependency-name: awalsh128/cache-apt-pkgs-action
  dependency-version: 1.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 12:17:12 +00:00
Eiren Rain
acd628637e Bump actions/download-artifact from 4 to 5 (#1516) 2025-08-19 14:14:48 +02:00
dependabot[bot]
155dbfbff1 Bump actions/download-artifact from 4 to 5
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 12:13:29 +00:00
Eiren Rain
eda3d74c54 Bump actions/checkout from 4 to 5 (#1517) 2025-08-19 14:12:25 +02:00
dependabot[bot]
4b9f393cee Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 22:56:14 +00:00
Eiren Rain
069da63d1f fix(gui): export proportions button doesn't work (#1513) 2025-08-01 11:51:31 +03:00
DevMiner
3fbe58b027 fix(gui): export proportions button doesn't work 2025-08-01 02:21:26 +02:00
Eiren Rain
aa6b5ab028 Bring back resetMountingFeet toggle for mounting resets (#1509) 2025-07-31 22:07:30 +03:00
Erimel
b2ee4e0b5e Change icons for new mounting reset buttons 2025-07-29 17:29:25 -04:00
Erimel
34ab0c6252 Bring back resetMountingFeet toggle for mounting resets 2025-07-29 17:14:05 -04:00
Butterscotch!
a8116a7f35 Fix mounting reset not working for feet (#1508) 2025-07-29 16:33:27 -04:00
Eiren Rain
8c65129bb4 New Pontoon translations (#1502) 2025-07-26 06:02:35 +03:00
Nola
acaf6a7679 Pontoon: Update Dutch (nl) localization of GUI
Co-authored-by: Nola <stefsecretdesecret@gmail.com>
Co-authored-by: Vyolex <25586367+Vyolex@users.noreply.github.com>
2025-07-26 05:01:55 +02:00
nekomona
8044a8a824 Pontoon: Update Simplified Chinese (zh-Hans) localization of GUI
Co-authored-by: nekomona <nekomona@163.com>
2025-07-26 05:01:55 +02:00
Yexo
1ec03b83b6 Pontoon: Update Polish (pl) localization of GUI
Co-Authored-By: Yexo <patrykcyranski@gmail.com>
2025-07-26 05:01:55 +02:00
lucas lelievre
44caf24126 FW update + Fix download url 2025-07-26 05:00:37 +02:00
Erimel
a125195695 Pontoon: Update French (fr) localization of GUI
Co-authored-by: Erimel <loukalemire@gmail.com>
2025-07-22 23:08:56 +00:00
Erimel
d27385dfa4 Allow partial/separate resets for feet and fingers (#1441)
Co-authored-by: Uriel <imurx@proton.me>
2025-07-22 19:08:34 -04:00
DevMiner
68bd670d7c fix(gui/wizard): manual calibration reset body proportions's reset button isn't primary (#1503) 2025-07-20 22:26:46 +02:00
Eiren Rain
42eda428ae New Pontoon translations (#1499) 2025-07-18 02:11:40 +03:00
YumeTomo
6504ebb9fb Pontoon: Update Thai (th) localization of GUI
Co-authored-by: YumeTomo <Sodnoobe@gmail.com>
2025-07-17 21:50:41 +00:00
MenacingExiler
6332615b08 Pontoon: Update Vietnamese (vi) localization of GUI
Co-authored-by: MenacingExiler <menacingexiler@gmail.com>
2025-07-17 21:50:41 +00:00
Uriel
e054c393ea Add loucas003 for GUI settings codeowner 2025-07-17 18:50:23 -03:00
dependabot[bot]
85c30b9425 Bump awalsh128/cache-apt-pkgs-action from 1.5.0 to 1.5.1 (#1495)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 18:10:00 -03:00
DevMiner
5f5d96a1c7 fix: Nix Rust toolchain hash (#1500) 2025-07-16 20:17:19 +02:00
lucas lelievre
2bce1af454 Fix deploy data fetching (#1494)
Co-authored-by: Uriel <imurx@proton.me>
2025-07-16 19:29:32 +02:00
Uriel
d45527f72e Fix RPM packages not working in newer Fedora versions (#1496) 2025-07-15 17:47:14 +02:00
DevMiner
bd3acf1889 ci: guess no node cache? (#1498) 2025-07-15 16:09:04 +02:00
lucas lelievre
347fcf503f ci: add update manifest generation workflow (#1497)
Co-authored-by: DevMiner <devminer@devminer.xyz>
2025-07-15 15:45:12 +02:00
Eiren Rain
12c3379e9a New Pontoon translations (#1485) 2025-07-09 22:35:44 +03:00
Bader
77a871239d Pontoon: Update Arabic (ar) localization of GUI
Co-Authored-By: Bader <baq100@gmail.com>
Co-Authored-By: FennT <0094falcon@gmail.com>
2025-07-09 21:34:39 +02:00
YumeTomo
337d345ded Pontoon: Update Thai (th) localization of GUI
Co-Authored-By: YumeTomo <Sodnoobe@gmail.com>
Co-Authored-By: Kaiera huzu <patsakorn9090@gmail.com>
Co-Authored-By: jesdaaup <jesdaaup@gmail.com>
Co-Authored-By: SparklingSakura <natthakitw.2006@gmail.com>
Co-Authored-By: yuyavx <yuyavxvtuber@gmail.com>
Co-Authored-By: Cusmo84 <saopob@gmail.com>
2025-07-09 21:34:39 +02:00
Nola
34de9c3586 Pontoon: Update Dutch (nl) localization of GUI
Co-Authored-By: Vyolex <25586367+Vyolex@users.noreply.github.com>
Co-Authored-By: Nola <stefsecretdesecret@gmail.com>
2025-07-09 21:34:39 +02:00
lucas lelievre
cb28221c58 Staggered fw upate system (#1491) 2025-07-09 22:28:54 +03:00
Butterscotch!
64903038e0 Simplify deltaTime for ticks in Tracker (#1492) 2025-07-09 22:22:37 +03:00
Butterscotch!
4cbc6031f8 Enable pnpm and npm in Nix flake (#1493) 2025-07-09 18:23:09 +03:00
Butterscotch!
66f619bb4f Yaw reset smoothing fix (#1490) 2025-07-04 11:19:10 +02:00
Butterscotch!
09a0ed153b Clean-up PoseStreamer and PoseRecorder (#1369) 2025-07-04 11:02:14 +02:00
Butterscotch!
e8fa981225 Grammer and speeling feex (#1474)
Co-authored-by: ShineBrightMeow <142170650+ShineBrightMeow@users.noreply.github.com>
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-07-04 10:39:25 +02:00
0forks
54f9907238 Use JNA for network profile detection (#1480)
Co-authored-by: lucas lelievre <loucass003@gmail.com>
2025-07-04 10:20:08 +02:00
Uriel
8525f85d59 Check monitor size before recovering old window state (#1470) 2025-07-04 10:00:27 +02:00
Uriel
7293ddaa90 Add save file prompt for BVH recordings (#1483) 2025-07-04 08:49:49 +02:00
Uriel
3ec6a61763 Add ARM builds in CI (#1482) 2025-07-03 01:28:05 +02:00
Uriel
7874bbca27 include udev rules in the linux installers (#1488) 2025-07-03 01:27:06 +02:00
Uriel
b978eaf3f1 Add support for Linux registry checking for VRChat (#1459) 2025-07-01 23:55:09 +02:00
Uriel
b2817cb3ba Fix GUI errors when in smaller sizes (#1472) 2025-07-01 22:36:21 +02:00
Uriel
ab265d1689 Update jSerialComm to latest version (#1487) 2025-07-01 22:28:37 +02:00
Uriel
527c4c7f91 Fix concurrency issue with status interacting with multiple threads (#1484) 2025-07-01 22:24:58 +02:00
Butterscotch!
7c506a3fe2 Add mounting reset protobuf binding (#1473) 2025-07-01 22:12:27 +02:00
Uriel
217dc875d5 Update to latest versions in metainfo (#1486) 2025-07-01 08:30:16 +03:00
Uriel
489052141d Revert "Temporary CI measures for building 0.16"
This reverts commit 62553f4227.
2025-06-30 15:59:25 -04:00
322 changed files with 15348 additions and 11286 deletions

32
.github/CODEOWNERS vendored
View File

@@ -2,23 +2,23 @@
* @Eirenliel
# Make everyone be able to approve SolarXR submodule changes
/solarxr-protocol @ButterscotchV @Erimelowo @ImUrX @loucass003
/solarxr-protocol @ButterscotchV @Erimelowo @loucass003
# Make Loucas and Uriel the owners of all GUI stuff
/gui/ @ImUrX @loucass003
/pnpm-lock.yaml @ImUrX @loucass003
/pnpm-workspace.yaml @ImUrX @loucass003
# Make Loucass the owner of all GUI stuff
/gui/ @loucass003
/pnpm-lock.yaml @loucass003
/pnpm-workspace.yaml @loucass003
# Uriel and Erimel responsible for i18n
/gui/public/i18n/ @ImUrX @Erimelowo
/gui/src/i18n/ @ImUrX @Erimelowo
/l10n.toml @ImUrX @Erimelowo
# loucass003 and Erimel responsible for i18n
/gui/public/i18n/ @loucass003 @Erimelowo
/gui/src/i18n/ @loucass003 @Erimelowo
/l10n.toml @loucass003 @Erimelowo
/gui/src/components/settings/ @Erimelowo @ImUrX
/gui/src/components/settings/ @Erimelowo @loucass003
# Rust part of the GUI
/gui/src-tauri/ @ImUrX
/Cargo.lock @ImUrX
/gui/src-tauri/ @loucass003
/Cargo.lock @loucass003
# Some server code~
/server/ @ButterscotchV @Eirenliel @Erimelowo
@@ -32,7 +32,7 @@
/server/src/main/java/dev/slimevr/filtering/ @Erimelowo
# Linux files
*.nix @ImUrX
/flake.lock @ImUrX
/dev.slimevr.SlimeVR.metainfo.xml @ImUrX
/.envrc @ImUrX
*.nix @loucass003
/flake.lock @loucass003
/dev.slimevr.SlimeVR.metainfo.xml @loucass003
/.envrc @loucass003

View File

@@ -21,13 +21,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
- uses: pnpm/action-setup@v4
- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -42,39 +42,50 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-latest, macos-latest]
os:
[
ubuntu-22.04,
windows-latest,
macos-latest,
ubuntu-22.04-arm,
windows-11-arm,
]
runs-on: ${{ matrix.os }}
env:
# Don't mark warnings as errors
CI: false
BUILD_ARCH: ${{ endsWith(matrix.os, 'arm') && 'aarch64' || 'amd64' }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
- if: matrix.os == 'ubuntu-22.04'
- if: startsWith(matrix.os, 'ubuntu')
name: Set up Linux dependencies
uses: awalsh128/cache-apt-pkgs-action@v1.5.0
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf
# Increment to invalidate the cache
version: 1.0
version: ${{ format('v1.0-{0}', env.BUILD_ARCH) }}
# 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
- if: matrix.os == 'windows-11-arm'
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: 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
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -90,27 +101,27 @@ jobs:
NODE_OPTIONS: ${{ matrix.os == 'macos-latest' && '--max-old-space-size=4096' || '' }}
run: pnpm run skipbundler --config $( ./gui/scripts/gitversion.mjs )
- if: matrix.os == 'windows-latest'
- if: startsWith(matrix.os, 'windows')
name: Upload a Build Artifact (Windows)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
# Artifact name
name: SlimeVR-GUI-Windows
name: ${{ format('SlimeVR-GUI-Windows-{0}', env.BUILD_ARCH) }}
# A file, directory or wildcard pattern that describes what to upload
path: target/release/slimevr.exe
- if: matrix.os == 'ubuntu-22.04'
- if: startsWith(matrix.os, 'ubuntu')
name: Upload a Build Artifact (Linux)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
# Artifact name
name: SlimeVR-GUI-Linux
name: ${{ format('SlimeVR-GUI-Linux-{0}', env.BUILD_ARCH) }}
# 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
uses: actions/upload-artifact@v5
with:
# Artifact name
name: SlimeVR-GUI-macOS

View File

@@ -0,0 +1,34 @@
# This workflow will build the update manifest for the updater and update a GitHub release
name: Generate update manifest
on:
workflow_dispatch:
release:
types: [released]
jobs:
generate-manifest:
runs-on: ubuntu-22.04
steps:
- uses: actions/setup-node@v6
with:
node-version: '22.x'
- name: Generate update-manifest.json
run: |
npx @slimevr/update-manifest-generator@latest
- uses: actions/upload-artifact@v5
with:
name: "update-manifest.json"
path: ./update-manifest.json
- name: Upload update-manifest.json to release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ secrets.UPDATE_MANIFEST_RELEASE_TAG }}
files: ./update-manifest.json
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -19,7 +19,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
@@ -27,13 +27,13 @@ jobs:
run: git fetch --tags origin --recurse-submodules=no --force
- name: Set up JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: "17"
distribution: "adopt"
java-version: '17'
distribution: 'adopt'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
uses: gradle/actions/setup-gradle@v5
- run: mkdir ./gui/dist && touch ./gui/dist/somefile
shell: bash
@@ -41,15 +41,14 @@ jobs:
- name: Check code formatting
run: ./gradlew spotlessCheck
# - name: Test with Gradle
# run: ./gradlew test
- name: Test with Gradle
run: ./gradlew test
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
@@ -57,39 +56,38 @@ jobs:
run: git fetch --tags origin --recurse-submodules=no --force
- name: Set up JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: "17"
distribution: "adopt"
java-version: '17'
distribution: 'adopt'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
uses: gradle/actions/setup-gradle@v5
# - name: Build with Gradle
# run: ./gradlew shadowJar
- 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/slimevr.jar
# - 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/slimevr.jar
- name: Upload the Server JAR as a Build Artifact
uses: actions/upload-artifact@v5
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/slimevr.jar
- 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/slimevr.jar
bundle-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
@@ -97,17 +95,17 @@ jobs:
run: git fetch --tags origin --recurse-submodules=no --force
- name: Set up JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: "17"
distribution: "adopt"
java-version: '17'
distribution: 'adopt'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
uses: gradle/actions/setup-gradle@v5
- uses: pnpm/action-setup@v4
- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -124,10 +122,10 @@ jobs:
run: ./gradlew :server:android:assembleDebug
- name: Upload the Android Build Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
# Artifact name
name: "SlimeVR-Android" # optional, default is artifact
name: 'SlimeVR-Android' # optional, default is artifact
# A file, directory or wildcard pattern that describes what to upload
path: server/android/build/outputs/apk/*
@@ -145,28 +143,33 @@ jobs:
files: |
./SlimeVR-android.apk
bundle-linux:
runs-on: ubuntu-24.04
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
runs-on: ${{ matrix.os }}
needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
env:
BUILD_ARCH: ${{ endsWith(matrix.os, 'arm') && 'aarch64' || 'amd64' }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
- uses: carlosperate/download-file-action@v2
- uses: actions/download-artifact@v6
with:
file-url: "https://imurx.org/slimevr.jar"
location: server/desktop/build/libs/
name: 'SlimeVR-Server'
path: server/desktop/build/libs/
- name: Set up Linux dependencies
uses: awalsh128/cache-apt-pkgs-action@v1.5.0
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: |
build-essential curl wget file libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev
build-essential curl wget file libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev xdg-utils
# Increment to invalidate the cache
version: 2.0
version: ${{ format('v1.0-{0}', env.BUILD_ARCH) }}
# Enables a workaround to attempt to run pre and post install scripts
execute_install_scripts: true
# Disables uploading logs as a build artifact
@@ -184,12 +187,10 @@ jobs:
- 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
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -206,32 +207,33 @@ jobs:
run: |
tar czf slimevr-gui-dist.tar.gz -C gui/dist/ .
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
if: matrix.os == 'ubuntu-latest'
with:
name: SlimeVR-GUI-Dist
path: ./slimevr-gui-dist.tar.gz
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: SlimeVR-GUI-Deb
name: ${{ format('SlimeVR-GUI-Deb-{0}', env.BUILD_ARCH) }}
path: target/release/bundle/deb/slimevr*.deb
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: SlimeVR-GUI-AppImage
name: ${{ format('SlimeVR-GUI-AppImage-{0}', env.BUILD_ARCH) }}
path: target/release/bundle/appimage/slimevr*.AppImage
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: SlimeVR-GUI-RPM
path: target/release/bundle/rpm/slimevr*.rpm
name: ${{ format('SlimeVR-GUI-RPM-{0}', env.BUILD_ARCH) }}
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
cp target/release/bundle/appimage/slimevr*.AppImage "./SlimeVR-$BUILD_ARCH.appimage"
cp target/release/bundle/deb/slimevr*.deb "./SlimeVR-$BUILD_ARCH.deb"
cp target/release/bundle/rpm/slimevr*.rpm "./SlimeVR-$BUILD_ARCH.rpm"
- name: Upload to draft release
uses: softprops/action-gh-release@v2
@@ -241,33 +243,30 @@ jobs:
generate_release_notes: true
files: |
./slimevr-gui-dist.tar.gz
./SlimeVR-amd64.appimage
./SlimeVR-amd64.deb
./SlimeVR-amd64.rpm
./SlimeVR-*.appimage
./SlimeVR-*.deb
./SlimeVR-*.rpm
bundle-mac:
runs-on: macos-latest
needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
- uses: carlosperate/download-file-action@v2
- uses: actions/download-artifact@v6
with:
file-url: "https://imurx.org/slimevr.jar"
location: server/desktop/build/libs/
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
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -298,12 +297,12 @@ jobs:
--volicon ../macos/SlimeVR.app/Contents/Resources/icon.icns --skip-jenkins \
--eula ../../../../../LICENSE-MIT slimevr.dmg ../macos/SlimeVR.app
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: SlimeVR-GUI-MacApp
path: target/universal-apple-darwin/release/bundle/macos/SlimeVR*.app
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: SlimeVR-GUI-MacDmg
path: target/universal-apple-darwin/release/bundle/dmg/slimevr.dmg
@@ -322,29 +321,37 @@ jobs:
files: |
./SlimeVR-mac.dmg
bundle-windows:
runs-on: windows-latest
strategy:
matrix:
os: [windows-latest, windows-11-arm]
runs-on: ${{ matrix.os }}
needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
env:
BUILD_ARCH: ${{ endsWith(matrix.os, 'arm') && 'win-aarch64' || 'win64' }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: recursive
- uses: carlosperate/download-file-action@v2
- uses: actions/download-artifact@v6
with:
file-url: "https://imurx.org/slimevr.jar"
location: server/desktop/build/libs/
name: 'SlimeVR-Server'
path: server/desktop/build/libs/
- if: matrix.os == 'windows-11-arm'
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
- 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
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -367,11 +374,11 @@ jobs:
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/
7z a -tzip "SlimeVR-$BUILD_ARCH.zip" ./SlimeVR/
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: SlimeVR-GUI-Windows
name: ${{ format('SlimeVR-GUI-Windows-{0}', env.BUILD_ARCH) }}
path: ./SlimeVR*.zip
- name: Upload to draft release
@@ -380,4 +387,4 @@ jobs:
with:
draft: true
generate_release_notes: true
files: ./SlimeVR-win64.zip
files: ./SlimeVR-*.zip

View File

@@ -17,6 +17,6 @@ jobs:
pull-requests: write
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v6
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -3,22 +3,19 @@ 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
- uses: actions/checkout@v5
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 }}
- name: pull-request
env:
GH_TOKEN: ${{ secrets.PONTOON_BOT_KEY }}
run: |
gh_pr_up() { gh pr create "$@" --label "Area: Translation" --base main || gh pr edit "$@"; }
gh_pr_up --title "New Pontoon translations" --body "Please don't squash me 🥺"

View File

@@ -15,7 +15,7 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: pontoon
submodules: recursive

View File

@@ -1 +1 @@
18.12.1
22.17.0

2082
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@ members = ["gui/src-tauri"]
[workspace.package]
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.75" # Tauri's MSRV
rust-version = "1.82" # Tauri's MSRV
repository = "https://github.com/SlimeVR/SlimeVR-Server"
[profile.release]

View File

@@ -70,3 +70,6 @@ okay with this and that you are authorized to provide the above licenses.
[LICENSE-MIT]: LICENSE-MIT
[LICENSE-APACHE]: LICENSE-APACHE
[TRADEMARK]: TRADEMARK.md
*if you read this, u cute*

662
flake.lock generated
View File

@@ -2,14 +2,15 @@
"nodes": {
"cachix": {
"inputs": {
"devenv": "devenv_2",
"devenv": [
"devenv"
],
"flake-compat": [
"devenv",
"flake-compat"
"devenv"
],
"git-hooks": [
"devenv",
"pre-commit-hooks"
"git-hooks"
],
"nixpkgs": [
"devenv",
@@ -17,51 +18,16 @@
]
},
"locked": {
"lastModified": 1726520618,
"narHash": "sha256-jOsaBmJ/EtX5t/vbylCdS7pWYcKGmWOKg4QKUzKr6dA=",
"lastModified": 1748883665,
"narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=",
"owner": "cachix",
"repo": "cachix",
"rev": "695525f9086542dfb09fde0871dbf4174abbf634",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "cachix",
"type": "github"
}
},
"cachix_2": {
"inputs": {
"devenv": "devenv_3",
"flake-compat": [
"devenv",
"cachix",
"devenv",
"flake-compat"
],
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"pre-commit-hooks": [
"devenv",
"cachix",
"devenv",
"pre-commit-hooks"
]
},
"locked": {
"lastModified": 1712055811,
"narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=",
"owner": "cachix",
"repo": "cachix",
"rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30",
"rev": "f707778d902af4d62d8dd92c269f8e70de09acbe",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "latest",
"repo": "cachix",
"type": "github"
}
@@ -69,92 +35,23 @@
"devenv": {
"inputs": {
"cachix": "cachix",
"flake-compat": "flake-compat_2",
"nix": "nix_3",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks_2"
},
"locked": {
"lastModified": 1730213537,
"narHash": "sha256-bWoeNdFISbGK8M0Xw4edmManGCkJ1oNqbfNY0Hlv9Vc=",
"owner": "cachix",
"repo": "devenv",
"rev": "5c046eeafd13f7a2b9fc733f70ea17571b24410f",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devenv_2": {
"inputs": {
"cachix": "cachix_2",
"flake-compat": [
"devenv",
"cachix",
"flake-compat"
],
"nix": "nix_2",
"nixpkgs": [
"devenv",
"cachix",
"nixpkgs"
],
"pre-commit-hooks": [
"devenv",
"cachix",
"git-hooks"
]
},
"locked": {
"lastModified": 1723156315,
"narHash": "sha256-0JrfahRMJ37Rf1i0iOOn+8Z4CLvbcGNwa2ChOAVrp/8=",
"owner": "cachix",
"repo": "devenv",
"rev": "ff5eb4f2accbcda963af67f1a1159e3f6c7f5f91",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devenv_3": {
"inputs": {
"flake-compat": [
"devenv",
"cachix",
"devenv",
"cachix",
"flake-compat"
],
"flake-compat": "flake-compat",
"git-hooks": "git-hooks",
"nix": "nix",
"nixpkgs": "nixpkgs",
"poetry2nix": "poetry2nix",
"pre-commit-hooks": [
"devenv",
"cachix",
"devenv",
"cachix",
"pre-commit-hooks"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1708704632,
"narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=",
"lastModified": 1757003908,
"narHash": "sha256-Op3cnPTav+ObcL4R4BGuWHEFxW6YS2A0aE3Av6sZN2g=",
"owner": "cachix",
"repo": "devenv",
"rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196",
"rev": "ac8ebf17828c0e7d9be0270d359123fffcc6f066",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "python-rewrite",
"repo": "devenv",
"type": "github"
}
@@ -167,11 +64,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1730270567,
"narHash": "sha256-ZTBMwsY0i5zTT6rejotc9wqcSGkEgAeejXktJBo9Z5M=",
"lastModified": 1756795219,
"narHash": "sha256-tKBQtz1JLKWrCJUxVkHKR+YKmVpm0KZdJdPWmR2slQ8=",
"owner": "nix-community",
"repo": "fenix",
"rev": "6535bb2a77a3bec73cc5b2d2ff63da8a479e32bd",
"rev": "80dbdab137f2809e3c823ed027e1665ce2502d74",
"type": "github"
},
"original": {
@@ -183,27 +80,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
@@ -221,11 +102,11 @@
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
@@ -239,11 +120,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1727826117,
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@@ -256,11 +137,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@@ -269,51 +150,29 @@
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"git-hooks": {
"inputs": {
"systems": "systems_2"
"flake-compat": [
"devenv",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"lastModified": 1750779888,
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
@@ -321,7 +180,7 @@
"inputs": {
"nixpkgs": [
"devenv",
"pre-commit-hooks",
"git-hooks",
"nixpkgs"
]
},
@@ -339,22 +198,6 @@
"type": "github"
}
},
"libgit2": {
"flake": false,
"locked": {
"lastModified": 1697646580,
"narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=",
"owner": "libgit2",
"repo": "libgit2",
"rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5",
"type": "github"
},
"original": {
"owner": "libgit2",
"repo": "libgit2",
"type": "github"
}
},
"mk-shell-bin": {
"locked": {
"lastModified": 1677004959,
@@ -371,152 +214,75 @@
}
},
"nix": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1712911606,
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
"owner": "domenkozar",
"repo": "nix",
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.21",
"repo": "nix",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688870561,
"narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix2container": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1729339656,
"narHash": "sha256-smV7HQ/OqZeRguQxNjsb3uQDwm0p6zKDbSDbPCav/oY=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "cc96df7c3747c61c584d757cfc083922b4f4b33e",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"nix_2": {
"inputs": {
"flake-compat": [
"devenv",
"cachix",
"devenv",
"flake-compat"
],
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression_2"
},
"locked": {
"lastModified": 1712911606,
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
"owner": "domenkozar",
"repo": "nix",
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.21",
"repo": "nix",
"type": "github"
}
},
"nix_3": {
"inputs": {
"flake-compat": [
"devenv",
"flake-compat"
],
"flake-parts": "flake-parts",
"libgit2": "libgit2",
"nixpkgs": "nixpkgs_2",
"nixpkgs-23-11": "nixpkgs-23-11",
"nixpkgs-regression": "nixpkgs-regression_3",
"pre-commit-hooks": "pre-commit-hooks"
"git-hooks-nix": [
"devenv",
"git-hooks"
],
"nixpkgs": [
"devenv",
"nixpkgs"
],
"nixpkgs-23-11": [
"devenv"
],
"nixpkgs-regression": [
"devenv"
]
},
"locked": {
"lastModified": 1727438425,
"narHash": "sha256-X8ES7I1cfNhR9oKp06F6ir4Np70WGZU5sfCOuNBEwMg=",
"owner": "domenkozar",
"lastModified": 1755029779,
"narHash": "sha256-3+GHIYGg4U9XKUN4rg473frIVNn8YD06bjwxKS1IPrU=",
"owner": "cachix",
"repo": "nix",
"rev": "f6c5ae4c1b2e411e6b1e6a8181cc84363d6a7546",
"rev": "b0972b0eee6726081d10b1199f54de6d2917f861",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.24",
"owner": "cachix",
"ref": "devenv-2.30",
"repo": "nix",
"type": "github"
}
},
"nixgl": {
"nix2container": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1713543440,
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
"lastModified": 1752002763,
"narHash": "sha256-JYAkdZvpdSx9GUoHPArctYMypSONob4DYKRkOubUWtY=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "4f2437f6a1844b843b380d483087ae6d461240ee",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"nixgl": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1752054764,
"narHash": "sha256-Ob/HuUhANoDs+nvYqyTKrkcPXf4ZgXoqMTQoCK0RFgQ=",
"owner": "guibou",
"repo": "nixGL",
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
"rev": "a8e1ce7d49a149ed70df676785b07f63288f53c5",
"type": "github"
},
"original": {
@@ -527,135 +293,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1692808169,
"narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=",
"lastModified": 1756787288,
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9201b5ff357e781bf014d0330d18555695df7ba8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-23-11": {
"locked": {
"lastModified": 1717159533,
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1727825735,
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
}
},
"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-regression_2": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-regression_3": {
"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": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1717432640,
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88269ab3044128b7c2f4c7d68448b2fb50456870",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1729880355,
"narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
"type": "github"
},
"original": {
@@ -665,93 +307,18 @@
"type": "github"
}
},
"poetry2nix": {
"inputs": {
"flake-utils": "flake-utils",
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"nixpkgs"
]
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1692876271,
"narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=",
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3",
"repo": "nixpkgs.lib",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "poetry2nix",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
"devenv",
"nix"
],
"flake-utils": "flake-utils_2",
"gitignore": [
"devenv",
"nix"
],
"nixpkgs": [
"devenv",
"nix",
"nixpkgs"
],
"nixpkgs-stable": [
"devenv",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712897695,
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks_2": {
"inputs": {
"flake-compat": [
"devenv",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"devenv",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1726745158,
"narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"repo": "nixpkgs.lib",
"type": "github"
}
},
@@ -763,17 +330,17 @@
"mk-shell-bin": "mk-shell-bin",
"nix2container": "nix2container",
"nixgl": "nixgl",
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1730197931,
"narHash": "sha256-MjYc80pHGrD6TYMHHpXniCW0egVyHiDR23xAh7MN7Ww=",
"lastModified": 1756597274,
"narHash": "sha256-wfaKRKsEVQDB7pQtAt04vRgFphkVscGRpSx3wG1l50E=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "468b5cd43023d9771996b06ab7215997895a6059",
"rev": "21614ed2d3279a9aa1f15c88d293e65a98991b30",
"type": "github"
},
"original": {
@@ -797,21 +364,6 @@
"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",

View File

@@ -78,7 +78,6 @@
cacert
])
++ lib.optionals pkgs.stdenv.isLinux (with pkgs; [
appimagekit
atk
cairo
dbus
@@ -122,13 +121,15 @@
languages.javascript = {
enable = true;
corepack.enable = true;
pnpm.enable = true;
npm.enable = true;
};
languages.rust = {
enable = true;
toolchain = fenixpkgs.fromToolchainName {
name = rust_toolchain.toolchain.channel;
sha256 = "sha256-VZZnlyP69+Y3crrLHQyJirqlHrTtGTsyiSnZB8jEvVo=";
sha256 = "sha256-+9FmLhAOezBZCOziO0Qct1NOrfpjNsXxc/8I0c7BdKE=";
};
components = rust_toolchain.toolchain.components;
};

View File

@@ -14,7 +14,7 @@ android.nonTransitiveRClass=true
org.gradle.unsafe.configuration-cache=false
kotlinVersion=2.0.20
spotlessVersion=7.0.2
spotlessVersion=8.0.0
shadowJarVersion=8.3.2
buildconfigVersion=5.5.0
grgitVersion=5.2.2

Binary file not shown.

View File

@@ -1,6 +1,8 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
distributionSha256Sum=bd71102213493060956ec229d946beee57158dbd89d0e62b91bca0fa2c5f3531
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

34
gradlew vendored
View File

@@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
@@ -55,7 +57,7 @@
# 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
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -83,10 +85,9 @@ 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"'
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -133,10 +134,13 @@ location of your Java installation."
fi
else
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.
if ! command -v java >/dev/null 2>&1
then
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
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
@@ -144,7 +148,7 @@ 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
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
@@ -152,7 +156,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@@ -197,11 +201,15 @@ if "$cygwin" || "$msys" ; then
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.
# 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"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \

22
gradlew.bat vendored
View File

@@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@@ -43,11 +45,11 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
@@ -57,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail

View File

@@ -1,8 +1,8 @@
VITE_FIRMWARE_TOOL_URL=https://fw-tool-api.slimevr.io
VITE_FIRMWARE_TOOL_S3_URL=https://fw-tool-bucket.slimevr.io
FIRMWARE_TOOL_SCHEMA_URL=https://fw-tool-api.slimevr.io/api-json
VITE_FIRMWARE_TOOL_URL=https://fw-tool-api-v2.slimevr.io
VITE_FIRMWARE_TOOL_S3_URL=https://fw-tool-bucket-v2.slimevr.io
FIRMWARE_TOOL_SCHEMA_URL=https://fw-tool-api-v2.slimevr.io/api-json
# VITE_FIRMWARE_TOOL_URL=http://localhost:3000
# VITE_FIRMWARE_TOOL_S3_URL=http://localhost:9000
# VITE_FIRMWARE_TOOL_S3_URL=http://localhost:9099
# FIRMWARE_TOOL_SCHEMA_URL=http://localhost:3000/api-json

View File

@@ -2,6 +2,7 @@ import { FlatCompat } from '@eslint/eslintrc';
import eslint from '@eslint/js';
import globals from 'globals';
import tseslint from 'typescript-eslint';
import stylistic from '@stylistic/eslint-plugin';
const compat = new FlatCompat();
@@ -41,6 +42,7 @@ export const gui = [
files: ['src/**/*.{js,jsx,ts,tsx,json}'],
plugins: {
'@typescript-eslint': tseslint.plugin,
'@stylistic': stylistic,
},
rules: {
'react/react-in-jsx-scope': 'off',
@@ -60,6 +62,7 @@ export const gui = [
ignoreRestSiblings: true,
},
],
'@stylistic/jsx-self-closing-comp': 'error',
},
settings: {
'import/resolver': {

View File

@@ -16,14 +16,18 @@
"@sentry/vite-plugin": "^2.22.7",
"@tailwindcss/typography": "^0.5.15",
"@tanstack/react-query": "^5.48.0",
"@tauri-apps/api": "^2.0.2",
"@tauri-apps/plugin-dialog": "^2.0.0",
"@tauri-apps/plugin-fs": "^2.0.0",
"@tauri-apps/plugin-os": "^2.0.0",
"@tauri-apps/plugin-shell": "^2.0.0",
"@tauri-apps/plugin-store": "^2.0.0",
"@tauri-apps/api": "~2",
"@tauri-apps/plugin-dialog": "~2",
"@tauri-apps/plugin-fs": "~2",
"@tauri-apps/plugin-http": "~2",
"@tauri-apps/plugin-log": "~2",
"@tauri-apps/plugin-opener": "~2",
"@tauri-apps/plugin-os": "~2",
"@tauri-apps/plugin-shell": "~2",
"@tauri-apps/plugin-store": "~2",
"@tweenjs/tween.js": "^25.0.0",
"@twemoji/svg": "^15.0.0",
"ajv": "^8.17.1",
"browser-fs-access": "^0.35.0",
"classnames": "^2.5.1",
"flatbuffers": "22.10.26",
@@ -35,7 +39,7 @@
"react-dom": "^18.3.1",
"react-error-boundary": "^4.0.13",
"react-helmet": "^6.1.0",
"react-hook-form": "^7.53.0",
"react-hook-form": "^7.63.0",
"react-markdown": "^9.0.1",
"react-modal": "^3.16.1",
"react-responsive": "^10.0.0",
@@ -68,9 +72,11 @@
"@dword-design/eslint-plugin-import-alias": "^4.0.9",
"@openapi-codegen/cli": "^2.0.2",
"@openapi-codegen/typescript": "^8.0.2",
"@stylistic/eslint-plugin": "^5.5.0",
"@tailwindcss/forms": "^0.5.9",
"@tauri-apps/cli": "^2.0.2",
"@tauri-apps/cli": "~2",
"@types/file-saver": "^2.0.7",
"@types/node": "^24.3.1",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0",
"@types/react-helmet": "^6.1.11",
@@ -83,12 +89,12 @@
"autoprefixer": "^10.4.20",
"cross-env": "^7.0.3",
"dotenv": "^16.4.5",
"eslint": "^8.57.1",
"eslint": "^9.39.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-import-resolver-typescript": "^3.6.3",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsx-a11y": "^6.10.0",
"eslint-plugin-react": "^7.37.1",
"eslint-import-resolver-typescript": "^3.10.1",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^4.6.2",
"globals": "^15.10.0",
"prettier": "^3.3.3",
@@ -97,7 +103,7 @@
"spdx-satisfies": "^5.0.1",
"tailwind-gradient-mask-image": "^1.2.0",
"tailwindcss": "^3.4.13",
"typescript-eslint": "^8.8.0",
"typescript-eslint": "^8.46.2",
"vite": "^5.4.8"
}
}

View File

@@ -7,8 +7,13 @@
## Websocket (server) status
websocket-connecting = يتم التوصيل بالسيرفر
websocket-connection_lost = انقطع الاتصال بالسيرفر. يتم إعادة التوصيل...
websocket-connecting = جاري التحميل...
websocket-connection_lost = تعطل الخادم!
websocket-connection_lost-desc = يبدو أن خادم SlimeVR تعطل. تحقق من السجلات وأعد تشغيل البرنامج
websocket-timedout = تعذر الاتصال بالخادم
websocket-timedout-desc = يبدو أن خادم SlimeVR قد تعطل أو انتهت مهلته. تحقق من السجلات وأعد تشغيل البرنامج
websocket-error-close = الخروج من SlimeVR
websocket-error-logs = افتح مجلد السجلات
## Update notification
@@ -49,12 +54,72 @@ body_part-LEFT_HAND = اليد اليسرى
body_part-LEFT_UPPER_LEG = الفخذ الأيسر
body_part-LEFT_LOWER_LEG = الكاحل الأيسر
body_part-LEFT_FOOT = القدم اليسرى
body_part-LEFT_THUMB_METACARPAL = عظم مشط الإبهام الأيسر
body_part-LEFT_THUMB_PROXIMAL = الإبهام الأيسر القريب
body_part-LEFT_THUMB_DISTAL = الإبهام الأيسر البعيد
body_part-LEFT_INDEX_PROXIMAL = السبابة اليسرى القريبة
body_part-LEFT_INDEX_INTERMEDIATE = السبابة اليسرى المتوسطة
body_part-LEFT_INDEX_DISTAL = السبابة اليسرى البعيدة
body_part-LEFT_MIDDLE_PROXIMAL = الجزء الأوسط الأيسر القريب
body_part-LEFT_MIDDLE_INTERMEDIATE = الوسط الأيسر المتوسط
body_part-LEFT_MIDDLE_DISTAL = الجزء الأوسط الأيسر البعيد
body_part-LEFT_RING_PROXIMAL = الحلقة اليسرى القريبة
body_part-LEFT_RING_INTERMEDIATE = الحلقة اليسرى المتوسطة
body_part-LEFT_RING_DISTAL = الحلقة اليسرى البعيدة
body_part-LEFT_LITTLE_PROXIMAL = الجزء الأيسر الصغير القريب
body_part-LEFT_LITTLE_INTERMEDIATE = اليسار الصغير المتوسط
body_part-LEFT_LITTLE_DISTAL = الجزء البعيد الأيسر الصغير
body_part-RIGHT_THUMB_METACARPAL = مشط الإبهام الأيمن
body_part-RIGHT_THUMB_PROXIMAL = الإبهام الأيمن القريب
body_part-RIGHT_THUMB_DISTAL = الإبهام الأيمن البعيد
body_part-RIGHT_INDEX_PROXIMAL = السبابة اليمنى القريبة
body_part-RIGHT_INDEX_INTERMEDIATE = السبابة اليمنى المتوسطة
body_part-RIGHT_INDEX_DISTAL = السبابة اليمنى البعيدة
body_part-RIGHT_MIDDLE_PROXIMAL = منتصف اليمين القريب
body_part-RIGHT_MIDDLE_INTERMEDIATE = الوسط الأيمن المتوسط
body_part-RIGHT_MIDDLE_DISTAL = منتصف اليمين البعيد
body_part-RIGHT_RING_PROXIMAL = الحلقة اليمنى القريبة
body_part-RIGHT_RING_INTERMEDIATE = الحلقة اليمنى المتوسطة
body_part-RIGHT_RING_DISTAL = الحلقة اليمنى البعيدة
body_part-RIGHT_LITTLE_PROXIMAL = الجزء القريب الأيمن الصغير
body_part-RIGHT_LITTLE_INTERMEDIATE = المتوسط ​​الصغير الأيمن
body_part-RIGHT_LITTLE_DISTAL = الجزء البعيد الصغير الأيمن
## BoardType
board_type-UNKNOWN = مجهول
board_type-NODEMCU = NodeMCU
board_type-CUSTOM = لوحة مخصصة
board_type-WROOM32 = WROOM32
board_type-WEMOSD1MINI = Wemos D1 Mini
board_type-TTGO_TBASE = TTGO T-Base
board_type-ESP01 = ESP-01
board_type-SLIMEVR = سلايم في آر
board_type-LOLIN_C3_MINI = Lolin C3 Mini
board_type-BEETLE32C3 = Beetle ESP32-C3
board_type-ESP32C3DEVKITM1 = Espressif ESP32-C3 DevKitM-1
board_type-OWOTRACK = owoTrack
board_type-WRANGLER = رانجلر جويكونز
board_type-MOCOPI = سوني موكوبي (Mocopi)
board_type-WEMOSWROOM02 = Wemos Wroom-02 D1 Mini
board_type-XIAO_ESP32C3 = Seeed Studio XIAO ESP32C3
board_type-HARITORA = Haritora
board_type-ESP32C6DEVKITC1 = Espressif ESP32-C6 DevKitC-1
board_type-GLOVE_IMU_SLIMEVR_DEV = قفاز SlimeVR تطوير IMU
## Proportions
skeleton_bone-NONE = غير محدد
skeleton_bone-HEAD = إمالة الرأس
skeleton_bone-HEAD-desc =
هذه هي المسافة من سماعة الرأس إلى منتصف رأسك.
لضبط المسافة ، هز رأسك من اليسار إلى اليمين كما لو كنت لا توافق وقم بتعديله
حتى أي حركة في أجهزة التتبع الأخرى لا تكاد تذكر.
skeleton_bone-NECK = طول العنق
skeleton_bone-NECK-desc =
هذه هي المسافة من منتصف رأسك إلى قاعدة رقبتك.
لضبطها ، حرك رأسك لأعلى ولأسفل كما لو كنت تومئ رأسك أو تميل رأسك
إلى اليسار واليمين وقم بتعديله حتى تصبح أي حركة في أجهزة التتبع الأخرى ضئيلة.
skeleton_bone-torso_group = طول الجذع
skeleton_bone-UPPER_CHEST = طول أعلى الصدر
skeleton_bone-CHEST_OFFSET = درجة تشريد الصدر
@@ -81,6 +146,14 @@ skeleton_bone-ELBOW_OFFSET = درجة تشريد الكوع
## Tracker reset buttons
reset-reset_all = إعادة تعيين جميع النسب
reset-reset_all_warning-v2 =
<b>تحذير:</b> ستتم إعادة تعيين النسب إلى الإعدادات الافتراضية التي تم تحجيمها إلى الارتفاع الذي تم تكوينه.
هل أنت متأكد من أنك تريد القيام بذلك؟
reset-reset_all_warning-reset = إعادة تعيين النسب
reset-reset_all_warning-cancel = إلغاء
reset-reset_all_warning_default-v2 =
<b>تحذير:</b> لم يتم ضبط طولك، وسيتم إعادة تعيين نسبك إلى الإعدادات الافتراضية مع الارتفاع الافتراضي.
هل أنت متأكد من أنك تريد القيام بذلك؟
reset-full = اعاده تعيين
reset-mounting = إعادة تعيين التركيب
reset-yaw = إعادة تعيين الانعراج
@@ -142,9 +215,12 @@ widget-developer_mode-more_info = المزيد
## Widget: IMU Visualizer
widget-imu_visualizer = دوران
widget-imu_visualizer-preview = عرض
widget-imu_visualizer-hide = إخفاء
widget-imu_visualizer-rotation_raw = صافي
widget-imu_visualizer-rotation_preview = عرض مسبق
widget-imu_visualizer-rotation_hide = إخفاء
widget-imu_visualizer-acceleration = التسارع
widget-imu_visualizer-position = الموضع
## Widget: Skeleton Visualizer
@@ -196,9 +272,17 @@ tracker-infos-url = عنوان URL لجهاز التعقب
tracker-infos-version = إصدار البرنامج الثابت
tracker-infos-hardware_rev = مراجعة الأجهزة
tracker-infos-hardware_identifier = معرف الجهاز
tracker-infos-data_support = دعم البيانات
tracker-infos-imu = مستشعر IMU
tracker-infos-board_type = اللوحة الرئيسية
tracker-infos-network_version = نسخة البروتوكول
tracker-infos-magnetometer = المقياس المغناطيسي
tracker-infos-magnetometer-status-v1 =
{ $status ->
[DISABLED] ملغي
[ENABLED] فعال
*[NOT_SUPPORTED] غير مدعوم
}
## Tracker settings
@@ -213,14 +297,26 @@ tracker-settings-mounting_section-edit = تعديل التركيب
tracker-settings-drift_compensation_section = السماح بتعويض الانجراف
tracker-settings-drift_compensation_section-description = هل يجب أن يعوض جهاز التعقب عن انحرافه عند تمكين تعويض الانجراف؟
tracker-settings-drift_compensation_section-edit = السماح بتعويض الانجراف
tracker-settings-use_mag = اسمح بالمقياس المغناطيسي على هذا المتتبع
# Multiline!
tracker-settings-use_mag-description =
هل يجب أن يستخدم هذا المتتبع مقياس المغناطيسية لتقليل الانجراف عند السماح باستخدام المقياس المغناطيسي؟ <b>من فضلا لا تغلق جهاز التتبع الخاص بك أثناء تبديل هذا!</b>
تحتاج إلى السماح باستخدام مقياس المغناطيسية أولا ، <magSetting>انقر هنا للذهاب إلى الإعداد</magSetting>.
tracker-settings-use_mag-label = السماح بالمقياس المغناطيسي
# 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 = ساق نايتي بيست اليسرى
tracker-settings-name_section-label = اسم جهاز التعقب
tracker-settings-forget = انسي جهاز التعقب
tracker-settings-forget-description = يزيل جهاز التعقب من خادم SlimeVR ويمنعه من الاتصال به حتى يتم إعادة تشغيل الخادم. لن تضيع تكوين جهاز التعقب.
tracker-settings-forget-label = ننسى جهاز التعقب
tracker-settings-update-up_to_date = حديث
tracker-settings-update-available = { $versionName } متاح الآن
tracker-settings-update = التحديث الآن
tracker-settings-update-title = إصدار البرنامج الثابت
## Tracker part card info
@@ -296,6 +392,9 @@ settings-sidebar-utils = الأدوات المساعدة
settings-sidebar-serial = وحدة التحكم التسلسلية
settings-sidebar-appearance = مظهر
settings-sidebar-notifications = إشعارات
settings-sidebar-behavior = سلوك
settings-sidebar-firmware-tool = أداة برامج الجهاز المصنوع بنفسك
settings-sidebar-advanced = متقدم
## SteamVR settings
@@ -310,10 +409,14 @@ settings-general-steamvr-description =
مفيد فقط للألعاب أو التطبيقات التي تدعم أجهزة تعقب معينة.
settings-general-steamvr-trackers-waist = الخصر
settings-general-steamvr-trackers-chest = الصدر
settings-general-steamvr-trackers-feet = القدمين
settings-general-steamvr-trackers-knees = الركبتين
settings-general-steamvr-trackers-elbows = الكوعين
settings-general-steamvr-trackers-hands = اليدين
settings-general-steamvr-trackers-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 = تعيين جهاز التعقب التلقائي
@@ -339,14 +442,39 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = ينع
settings-general-tracker_mechanics-filtering-type-prediction = التنبؤ
settings-general-tracker_mechanics-filtering-type-prediction-description = يقلل من وقت الإستجابة ويجعل الحركات أكثر سرعة ، ولكنه قد يزيد من التوتر.
settings-general-tracker_mechanics-filtering-amount = المبلغ
settings-general-tracker_mechanics-yaw-reset-smooth-time = إعادة ضبط الانعراج على نحو سلس (يتعطل التنعيم 0 ثوان)
settings-general-tracker_mechanics-drift_compensation = تعويض الانجراف
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
يعوض عن انجراف انعراج وحدة IMU بتطبيق دوران عكسي.
قم بتغيير كمية التعويض وعدد عمليات إعادة التعيين التي يتم أخذها في الاعتبار.
settings-general-tracker_mechanics-drift_compensation-enabled-label = تعويض الانجراف
settings-general-tracker_mechanics-drift_compensation-prediction = التنبؤ بتعويض الانحراف
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-prediction-description =
يتنبأ بتعويض انحراف الانعراج خارج النطاق المقاس مسبقا.
قم بتمكين هذا إذا كانت أجهزة التتبع تدور باستمرار على محور الانعراج.
settings-general-tracker_mechanics-drift_compensation-prediction-label = التنبؤ بتعويض الانحراف
settings-general-tracker_mechanics-drift_compensation_warning =
<b>تحذير:</b> استخدم تعويض الانحراف فقط إذا كنت بحاجة إلى إعادة الضبط
في كثير من الأحيان (كل ~ 5-10 دقائق).
تتضمن بعض وحدات IMU المعرضة لإعادة الضبط المتكرر ما يلي:
Joy-Cons و owoTrack و MPUs (بدون برامج ثابتة حديثة).
settings-general-tracker_mechanics-drift_compensation_warning-cancel = إلغاء
settings-general-tracker_mechanics-drift_compensation_warning-done = أتفهم
settings-general-tracker_mechanics-drift_compensation-amount-label = مبلغ التعويض
settings-general-tracker_mechanics-drift_compensation-max_resets-label = استخدام ما يصل إلى x عمليات إعادة التعيين الأخيرة
settings-general-tracker_mechanics-save_mounting_reset = حفظ معايرة إعادة ضبط التركيب التلقائي
settings-general-tracker_mechanics-save_mounting_reset-description =
يحفظ معايرة إعادة تعيين التثبيت التلقائي لأجهزة التتبع بين عمليات إعادة التشغيل. مفيد
عند ارتداء بدلة حيث لا تتحرك المتتبعات بين الجلسات. <b>لا ينصح به للمستخدمين العاديين!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = حفظ إعادة تعيين التركيب
settings-general-tracker_mechanics-use_mag_on_all_trackers = استخدم المقياس المغناطيسي على جميع أجهزة تتبع IMU التي تدعمه
settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
يستخدم المقياس المغناطيسي على جميع أجهزة التعقب التي تحتوي على برامج ثابتة متوافقة له ، مما يقلل من الانحراف في البيئات المغناطيسية المستقرة.
يمكن تعطيله لكل جهاز تعقب في إعدادات التعقب. <b>من فضلك لا تغلق أيا من أجهزة التعقب أثناء تبديل هذا!</b>
settings-general-tracker_mechanics-use_mag_on_all_trackers-label = استخدم المقياس المغناطيسي على أجهزة التعقب
## FK/Tracking settings
@@ -368,11 +496,17 @@ 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-enforce_joint_constraints = حدود الهيكل العظمي
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = فرض القيود
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = منع المفاصل من الدوران إلى ما بعد الحد الأقصى
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = التصحيح مع قيود
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = تصحيح دوران المفاصل عندما تتجاوز حدودها
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-reset_settings = إعادة تعيين الإعدادات
settings-general-fk_settings-reset_settings-reset_hmd_pitch-description = أعد تعيين درجة جهاز الرأس (الدوران الرأسي) عند إجراء إعادة تعيين كاملة. مفيد في حالة ارتداء جهاز الرأس على الجبهة ل VTubing أو mocap. لا تقم بتمكين لVR.
settings-general-fk_settings-reset_settings-reset_hmd_pitch = إعادة تعيين درجة جهاز الرأس
settings-general-fk_settings-arm_fk-reset_mode-description = قم بتغيير وضع الذراع المتوقع لإعادة ضبط المتصاعد.
settings-general-fk_settings-arm_fk-back = العودة
settings-general-fk_settings-arm_fk-back-description = الوضع الافتراضي، مع وضع الذراعين العلويين إلى الخلف والساعدين للأمام.
@@ -398,9 +532,6 @@ settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = مت
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = متوسط انحراف الركبتين ولفة مع الكاحلين
settings-general-fk_settings-self_localization-title = وضع Mocap
settings-general-fk_settings-self_localization-description = يسمح وضع Mocap للهيكل العظمي بتعقب موضعه تقريبا بدون سماعة رأس أو أجهزة تعقب أخرى. لاحظ أن هذا يتطلب أجهزة تعقب القدمين والرأس للعمل ولا تزال تجريبية.
settings-general-fk_settings-vive_emulation-title = محاكاة فايف
settings-general-fk_settings-vive_emulation-description = محاكاة مشاكل تعقب الخصر التي تعاني منها أجهزة تعقب فايف. هذه مزحة وتجعل التتبع أسوأ.
settings-general-fk_settings-vive_emulation-label = تمكين محاكاة فايف
## Gesture control settings (tracker tapping)
@@ -449,6 +580,9 @@ settings-general-interface-dev_mode = وضع المطوّر
settings-general-interface-dev_mode-description = يمكن أن يكون هذا الوضع مفيدًا إذا كنت بحاجة إلى بيانات متعمقة أو للتفاعل مع أجهزة التعقب المتصلة على مستوى أكثر تقدمًا.
settings-general-interface-dev_mode-label = وضع المطوّر
settings-general-interface-theme = موضوع اللون
settings-general-interface-show-navbar-onboarding = إظهار "{ navbar-onboarding }" على قائمة التنقل
settings-general-interface-show-navbar-onboarding-description = يغير هذا إذا ظهر الزر "{ navbar-onboarding }" على قائمة التنقل.
settings-general-interface-show-navbar-onboarding-label = إظهار "{ navbar-onboarding }"
settings-general-interface-lang = اختر اللغة
settings-general-interface-lang-description = قم بتغيير اللغة الافتراضية التي تريد استخدامها.
settings-general-interface-lang-placeholder = اختر اللغة التي تريد استخدامها
@@ -460,6 +594,9 @@ settings-interface-appearance-font-os_font = خط نظام التشغيل
settings-interface-appearance-font-slime_font = الخط الافتراضي
settings-interface-appearance-font_size = قياس الخط الأساسي
settings-interface-appearance-font_size-description = يؤثر هذا على حجم خط الواجهة بأكملها باستثناء لوحة الإعدادات هذه.
settings-interface-appearance-decorations = استخدم الزخارف الأصلية للنظام
settings-interface-appearance-decorations-description = لن يؤدي هذا إلى عرض الشريط الأعلى للواجهة وسيستخدم نظام التشغيل بدلا من ذلك.
settings-interface-appearance-decorations-label = استخدم الزخارف الأصلية
## Notification settings
@@ -474,9 +611,34 @@ 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 = تحذير عن أجهزة التعقب المتصلة عند الخروج
## Behavior settings
settings-interface-behavior = السلوك
settings-general-interface-use_tray = تصغير إلى علبة النظام
settings-general-interface-use_tray-description = يتيح لك إغلاق النافذة دون إغلاق خادم SlimeVR حتى تتمكن من الاستمرار في استخدامه دون إزعاجك من واجهة المستخدم الرسومية.
settings-general-interface-use_tray-label = تصغير إلى علبة النظام
settings-general-interface-discord_presence = مشاركة النشاط على Discord
settings-general-interface-discord_presence-description = يخبر عميل Discord الخاص بك أنك تستخدم SlimeVR جنبا إلى جنب مع عدد أجهزة تعقب IMU التي تستخدمها.
settings-general-interface-discord_presence-label = مشاركة النشاط على Discord
settings-general-interface-discord_presence-message =
{ $amount ->
[0] صفر
[zero] صفر
[one] واحد
[two] اثنان
[few] قليل
[many] كثيرة
*[other] أخرى
}
settings-interface-behavior-error_tracking = جمع الأخطاء عبر Sentry.io
settings-interface-behavior-error_tracking-description_v2 =
<h1>هل توافق على جمع بيانات الخطأ مجهولة المصدر؟</h1>
<b>نحن لا نجمع معلومات شخصية</b> مثل عنوان IP الخاص بك أو بيانات الاعتماد اللاسلكية. يقدر SlimeVR خصوصيتك!
لتوفير أفضل تجربة للمستخدم، نقوم بجمع تقارير الأخطاء ومقاييس الأداء ومعلومات نظام التشغيل مجهولة المصدر. يساعدنا هذا في اكتشاف الأخطاء والمشكلات المتعلقة ب SlimeVR. يتم جمع هذه المقاييس عبر Sentry.io.
settings-interface-behavior-error_tracking-label = إرسال الأخطاء إلى المطورين
## Serial settings
@@ -495,10 +657,11 @@ settings-serial-factory_reset-warning =
مما يعني أن إعدادات واي فاي والمعايرة <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
settings-serial-file_type = نص عادي
settings-serial-save_logs = حفظ في ملف
## OSC router settings
@@ -529,14 +692,22 @@ settings-osc-router-network-address-placeholder = عنوان آي بي في 4
settings-osc-vrchat = أجهزة تعقب "في ار تشات أوه أس سي"
# This cares about multilines
settings-osc-vrchat-description =
قم بتغيير الإعدادات الخاصة ب في ار تشات لتلقي بيانات ايتش أم دي وإرسالها
بيانات أجهزة تعقب لتعقب الجسم (يعمل على كوست مستقل).
settings-osc-vrchat-description-v1 =
تغيير الإعدادات الخاصة بمعيار أجهزة تعقب OSC المستخدم لإرسال
بيانات التعقب إلى التطبيقات التي لا تحتوي على SteamVR (مثل Quest المستقل).
تأكد من تمكين OSC في VRChat عبر قائمة الإجراءات ضمن OSC > ممكن.
settings-osc-vrchat-enable = تمكين
settings-osc-vrchat-enable-description = بتبديل إرسال واستقبال البيانات.
settings-osc-vrchat-enable-label = تمكين
settings-osc-vrchat-oscqueryEnabled = تمكين OSCQuery
settings-osc-vrchat-oscqueryEnabled-description =
يكتشف OSCQuery تلقائيا مثيلات VRChat قيد التشغيل ويرسل البيانات إليها.
يمكنه أيضا الإعلان عن نفسه لهم من أجل تلقي بيانات HMD ووحدة التحكم.
للسماح بتلقي بيانات HMD ووحدة التحكم من VRChat ، انتقل إلى إعدادات القائمة الرئيسية
ضمن "التتبع و IK (الحركة العكسية)" وتمكين "السماح بإرسال بيانات OSC لتتبع الرأس والمعصم".
settings-osc-vrchat-oscqueryEnabled-label = تمكين OSCQuery
settings-osc-vrchat-network = منافذ الشبكة
settings-osc-vrchat-network-description = قم بتعيين المنافذ للاستماع وإرسال البيانات إلى في ار تشات
settings-osc-vrchat-network-description-v1 = ضبط المنافذ الاستماع إلى البيانات وإرسالها. يمكن تركها دون أن تمس ل VRChat.
settings-osc-vrchat-network-port_in =
.label = منفذ الدخول
.placeholder = منفذ الدخول (الإفتراضي: 9001)
@@ -544,7 +715,7 @@ settings-osc-vrchat-network-port_out =
.label = منفذ الخروج
.placeholder = منفذ الخروج (الإفتراضي: 9000)
settings-osc-vrchat-network-address = عنوان الشبكة
settings-osc-vrchat-network-address-description = اختر العنوان الذي تريد إرسال البيانات إلى في ار تشات (تحقق من إعدادات واي فاي على جهازك)
settings-osc-vrchat-network-address-description-v1 = اختر العنوان الذي تريد إرسال البيانات إليه. يمكن تركها دون أن تمس ل VRChat.
settings-osc-vrchat-network-address-placeholder = عنوان آي بي الخاص بفي ار تشات
settings-osc-vrchat-network-trackers = أجهزة التعقب
settings-osc-vrchat-network-trackers-description = تبديل إرسال أجهزة تتبع محددة عبر أوه أس سي.
@@ -577,16 +748,48 @@ settings-osc-vmc-network-address-description = قم بتعيين العنوان
settings-osc-vmc-network-address-placeholder = عنوان آي بي في 4
settings-osc-vmc-vrm = نموذج في ار إم
settings-osc-vmc-vrm-description = قم بتحميل نموذج في ار إم للسماح بتركيز الرأس وتمكين توافق أعلى مع تطبيقات الأخرى
settings-osc-vmc-vrm-model_unloaded = لم يتم تحميل أي نموذج
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] تحميل النموذج: { $name }
*[other] تم تحميل نموذج بدون عنوان
}
settings-osc-vmc-vrm-untitled_model = نموذج بدون عنوان
settings-osc-vmc-vrm-file_select = اسحب نموذج وأفلته لاستخدامه أو <u> تصفح </ u>
settings-osc-vmc-anchor_hip = ثبت في الوركين
settings-osc-vmc-anchor_hip-description = ثبت التعقب في الوركين، هو مفيد إن كنت تيوبنغ جالسًا. في حالة التعطيل، قم بتحميل نموذج في ار إم.
settings-osc-vmc-anchor_hip-label = ثبت في الوركين
settings-osc-vmc-mirror_tracking = اعكس التعقب
settings-osc-vmc-mirror_tracking-description = اعكس التعقب أفقيا.
settings-osc-vmc-mirror_tracking-label = اعكس التعقب
## Common OSC settings
## Advanced settings
settings-utils-advanced = متقدم
settings-utils-advanced-reset-gui = إعادة تعيين إعدادات واجهة المستخدم الرسومية (GUI)
settings-utils-advanced-reset-gui-description = قم باستعادة الإعدادات الافتراضية للواجهة.
settings-utils-advanced-reset-gui-label = إعادة تعيين واجهة المستخدم الرسومية
settings-utils-advanced-reset-server = إعادة تعيين إعدادات التعقب
settings-utils-advanced-reset-server-description = استعادة الإعدادات الافتراضية للتعقب.
settings-utils-advanced-reset-server-label = إعادة تعيين التعقب
settings-utils-advanced-reset-all = إعادة تعيين جميع الإعدادات
settings-utils-advanced-reset-all-description = قم باستعادة الإعدادات الافتراضية لكل من الواجهة و التعقب.
settings-utils-advanced-reset-all-label = إعادة تعيين الكل
settings-utils-advanced-reset_warning =
{ $type ->
[gui]
<b>تحذير:</b> سيؤدي هذا إلى إعادة تعيين جميع الإعدادات الخاصة بك إلى الإعدادات الافتراضية.
هل أنت متأكد من أنك تريد القيام بذلك؟
[server] <b>تحذير:</b> سيؤدي هذا إلى إعادة تعيين إعدادات التعقب إلى الإعدادات الافتراضية. هل أنت متأكد من أنك تريد القيام بذلك؟
*[all]
<b>تحذير:</b> سيؤدي هذا إلى إعادة تعيين جميع الإعدادات الخاصة بك إلى الإعدادات الافتراضية.
هل أنت متأكد من أنك تريد القيام بذلك؟
}
settings-utils-advanced-reset_warning-reset = إعادة تعيين الإعدادات
settings-utils-advanced-reset_warning-cancel = إلغاء
settings-utils-advanced-open_data-v1 = مجلد التكوين
settings-utils-advanced-open_data-description-v1 = فتح مجلد إعدادات SlimeVR في مستكشف الملفات ، والذي يحتوي على الإعدادات
settings-utils-advanced-open_data-label = فتح المجلد
settings-utils-advanced-open_logs = مجلد السجلات
settings-utils-advanced-open_logs-description = افتح مجلد سجلات SlimeVR في مستكشف الملفات ، والذي يحتوي على سجلات التطبيق
settings-utils-advanced-open_logs-label = فتح المجلد
## Setup/onboarding menu
@@ -613,6 +816,7 @@ onboarding-wifi_creds-submit = إرسال!
onboarding-wifi_creds-ssid =
.label = اسم الواي فاي
.placeholder = أدخل اسم الواي فاي
onboarding-wifi_creds-ssid-required = مطلوب اسم Wi-Fi
onboarding-wifi_creds-password =
.label = كلمة السر
.placeholder = أدخل كلمة السر
@@ -670,6 +874,7 @@ onboarding-connect_tracker-issue-serial = أواجه مشكلة في الاتص
onboarding-connect_tracker-usb = جهاز تعقب يو أس بي
onboarding-connect_tracker-connection_status-none = نبحث عن أجهزة التعقب
onboarding-connect_tracker-connection_status-serial_init = نتواصل بجهاز التسلسلي
onboarding-connect_tracker-connection_status-obtaining_mac_address = الحصول على عنوان mac الخاص بجهاز التعقب
onboarding-connect_tracker-connection_status-provisioning = نرسل بيانات اعتماد واي فاي
onboarding-connect_tracker-connection_status-connecting = جارٍ إرسال بيانات اعتماد الواي فاي
onboarding-connect_tracker-connection_status-looking_for_server = نبحث عن السرفر
@@ -697,12 +902,12 @@ onboarding-connect_tracker-next = لقد قمت بتوصيل جميع أجهزة
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 = تم نقل جهاز التعقب
onboarding-calibration_tutorial-skip = تخطي البرنامج التعليمي
## Tracker assignment tutorial
@@ -734,6 +939,31 @@ onboarding-assign_trackers-assigned =
onboarding-assign_trackers-advanced = إظهار مواقع التعيين المتقدمة
onboarding-assign_trackers-next = لقد عينت جميع أجهزة التعقب
onboarding-assign_trackers-mirror_view = عرض المرآة
onboarding-assign_trackers-option-amount =
{ $trackersCount ->
[zero] صفر
[one] واحد
[two] اثنان
[few] قليلة
[many] كثيرة
*[other] أخرى
}
onboarding-assign_trackers-option-label =
{ $mode ->
[lower-body] الجسم السفلي
[core] أساس الجسم
[enhanced-core] الأساس المحسن
[full-body] الجسم الكامل
*[all] الكل
}
onboarding-assign_trackers-option-description =
{ $mode ->
[lower-body] الحد الأدنى لتعقب الجسم الكامل في الواقع الافتراضي
[core] + تحسين تعقب العمود الفقري
[enhanced-core] + دوران القدم
[full-body] + تعقب الكوع
*[all] جميع مهام التعقب المتاحة
}
## Tracker assignment warnings
@@ -809,16 +1039,16 @@ onboarding-choose_mounting = ما طريقة معايرة التركيب الم
# Multiline text
onboarding-choose_mounting-description = اتجاه التركيب يصحح وضع أجهزة التعقب على جسمك.
onboarding-choose_mounting-auto_mounting = التركيب التلقائي
# Italized text
onboarding-choose_mounting-auto_mounting-label = تجريبي
# Italicized text
onboarding-choose_mounting-auto_mounting-label-v2 = الموصى به
onboarding-choose_mounting-auto_mounting-description = سيكتشف هذا تلقائيًا اتجاهات التركيب لجميع أجهزة التعقب من وضعين
onboarding-choose_mounting-manual_mounting = التركيب اليدوي
# Italized text
onboarding-choose_mounting-manual_mounting-label = المستحسن
# Italicized text
onboarding-choose_mounting-manual_mounting-label-v2 = قد لا تكون الدقة كافية
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 = أنا أعرف ماذا أفعل
@@ -847,44 +1077,19 @@ 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 = اضغط على زر "إعادة ضبط" و انتظر لمدة 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>يتطلب ذلك توصيل جهاز الواقع الافتراضي (HMD) ب SlimeVR و وضعها على رأسك!</b>
onboarding-choose_proportions-manual_proportions = النسب اليدوية
# Italized text
onboarding-choose_proportions-manual_proportions-subtitle = للمسات الصغيرة
onboarding-choose_proportions-manual_proportions-description = سيسمح لك بتعديل النسب يدويًا عن طريق تعديلها مباشرة
onboarding-choose_proportions-export = تصدير النسب
onboarding-choose_proportions-import = استيراد النسب
onboarding-choose_proportions-import-success = تم استيراده
onboarding-choose_proportions-import-failed = فشل
onboarding-choose_proportions-file_type = ملف نسب الجسم
## Tracker manual proportions setup
## Tracker manual proportions setupa
onboarding-manual_proportions-back = العودة إلى برنامج تعليم إعادة التعيين
onboarding-manual_proportions-title = نسب الجسم اليدوية
onboarding-manual_proportions-precision = ضبط الدقة
onboarding-manual_proportions-auto = المعايرة التلقائية
onboarding-manual_proportions-ratio = اضبط حسب مجموعات النسب
onboarding-manual_proportions-fine_tuning_button = ضبط النسب تلقائيا
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = يرجى توصيل سماعة رأس VR لاستخدام الضبط الدقيق التلقائي
onboarding-manual_proportions-export = تصدير النسب
onboarding-manual_proportions-import = استيراد النسب
onboarding-manual_proportions-file_type = ملف نسب الجسم
## Tracker automatic proportions setup
@@ -905,21 +1110,33 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
يقوم جهاز الواقع الافتراضي بالإبلاغ عن البيانات الموضعية إلى خادم SlimeVR (وهذا يعني عموما تشغيل SteamVR وتوصيله ب SlimeVR باستخدام برنامج تشغيل SteamVR الخاص ب SlimeVR).
يعمل التتبع الخاص بك ويمثل تحركاتك بدقة (على سبيل المثال ، لقد أجريت إعادة تعيين كاملة وتتحرك في الاتجاه الصحيح عند الركل, الانحناء, الجلوس, إلخ).
onboarding-automatic_proportions-requirements-next = لقد قرأت المتطلبات
onboarding-automatic_proportions-check_height-title = تحقق من طولك
onboarding-automatic_proportions-check_height-description = نستخدم طولك كأساس لقياساتنا باستخدام ارتفاع HMD كتقريب لطولك الفعلي ، ولكن من الأفضل التحقق مما إذا كانت صحيحة بنفسك!
onboarding-automatic_proportions-check_height-title-v3 = قم بقياس ارتفاع سماعة الرأس
onboarding-automatic_proportions-check_height-description-v2 = يجب أن يكون ارتفاع سماعة الرأس (HMD) أقل قليلا من طولك الكامل ، حيث تقيس سماعات الرأس ارتفاع عينيك. سيتم استخدام هذا القياس كخط أساس لنسب جسمك.
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = يرجى الضغط على الزر أثناء الوقوف <u>في وضع مستقيم</u> لحساب طولك. لديك 3 ثوان بعد الضغط على الزر!
onboarding-automatic_proportions-check_height-calculation_warning-v3 = ابدأ في القياس أثناء الوقوف <u>في وضع مستقيم</u> لقياس طولك. احرص على عدم رفع يديك أعلى من سماعة الرأس ، لأنها قد تؤثر على القياس!
onboarding-automatic_proportions-check_height-guardian_tip =
إذا كنت تستخدم سماعة رأس VR مستقلة ، فتأكد من تشغيل حدود الحارس /
لكي يكون طولك صحيحا!
onboarding-automatic_proportions-check_height-fetch_height = أنا واقف!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = مجهول
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = طولك من خلال HMD
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = لذا فإن طولك الفعلي هو
onboarding-automatic_proportions-check_height-hmd_height2 = ارتفاع سماعة الرأس هو:
onboarding-automatic_proportions-check_height-measure-start = ابدأ القياس
onboarding-automatic_proportions-check_height-measure-stop = توقف عن القياس
onboarding-automatic_proportions-check_height-measure-reset = إعادة محاولة القياس
onboarding-automatic_proportions-check_height-next_step = انهم بخير
onboarding-automatic_proportions-check_floor_height-title = قم بقياس الارتفاع عن الأرض (اختياري)
onboarding-automatic_proportions-check_floor_height-description = في بعض الحالات، قد لا يتم ضبط الارتفاع عن الأرض بشكل صحيح بواسطة سماعة الرأس، مما يتسبب في قياس ارتفاع سماعة الرأس على أنه أعلى مما ينبغي. يمكنك قياس "الارتفاع" عن الأرض لتصحيح ارتفاع سماعة الرأس.
# All the text is in bold!
onboarding-automatic_proportions-check_floor_height-calculation_warning-v2 = ابدأ بقياس و ضع وحدة التحكم على الأرض لقياس ارتفاعها. إذا كنت متأكدا من صحة الارتفاع عن الأرض ، فيمكنك تخطي هذه الخطوة.
# Shows an element below it
onboarding-automatic_proportions-check_floor_height-floor_height = الارتفاع عن الأرض هو:
onboarding-automatic_proportions-check_floor_height-full_height = طولك الكامل المقدر هو:
onboarding-automatic_proportions-check_floor_height-measure-start = ابدأ القياس
onboarding-automatic_proportions-check_floor_height-measure-stop = توقف عن القياس
onboarding-automatic_proportions-check_floor_height-measure-reset = إعد محاولة القياس
onboarding-automatic_proportions-check_floor_height-skip_step = تخطي الخطوة وحفظ
onboarding-automatic_proportions-check_floor_height-next_step = استخدم الارتفاع عن الأرض وحفظه
onboarding-automatic_proportions-start_recording-title = استعد للتحرك
onboarding-automatic_proportions-start_recording-description = سنقوم الآن بتسجيل بعض الوضعيات والحركات المحددة. ستتم مطالبتك بذلك في الشاشة التالية. كن مستعدا للبدء عند الضغط على الزر!
onboarding-automatic_proportions-start_recording-next = بدء التسجيل
@@ -953,10 +1170,38 @@ 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-v2 =
<b>تحذير:</b> حدث خطأ أثناء تقدير النسب!
من المحتمل أن تكون هذه مشكلة معايرة التركيب. تأكد من أن التعقب يعمل بشكل صحيح قبل المحاولة مرة أخرى.
يرجى <docs>التحقق من التعليمات</docs> أو الانضمام إلى <discord>Discord</discord> للحصول على المساعدة ^_^
onboarding-automatic_proportions-error_modal-confirm = مفهوم!
onboarding-automatic_proportions-smol_warning =
الارتفاع الذي تم تكوينه هو { $height } و هو أصغر من الحد الأدنى للارتفاع المقبول البالغ { $minHeight }.
<b>يرجى إعادة القياسات والتأكد من صحتها.</b>
onboarding-automatic_proportions-smol_warning-cancel = الرجوع
## Tracker scaled proportions setup
onboarding-scaled_proportions-title = النسب المقاسة
onboarding-scaled_proportions-description = لكي تعمل أجهزة التعقب SlimeVR ، نحتاج إلى معرفة طول عظامك. ستستخدم نسبة متوسطة وقياسها بناء على طولك.
onboarding-scaled_proportions-manual_height-title = تكوين طولك
onboarding-scaled_proportions-manual_height-description-v2 = سيتم استخدام هذا الطول كخط أساس لنسب جسمك.
onboarding-scaled_proportions-manual_height-missing_steamvr = SteamVR غير متصل حاليا ب SlimeVR ، لذلك لا يمكن أن تستند القياسات إلى سماعة الرأس الخاصة بك. <b>تابع على مسؤوليتك الخاصة أو تحقق من المستندات!</b>
onboarding-scaled_proportions-manual_height-height-v2 = طولك الكامل هو
onboarding-scaled_proportions-manual_height-estimated_height = الارتفاع المقدر لسماعة الرأس هو:
onboarding-scaled_proportions-manual_height-next_step = المتابعة والحفظ
onboarding-scaled_proportions-manual_height-warning-no_hmd = وصّل سماعة رأس VR
onboarding-scaled_proportions-manual_height-warning-no_controllers = تأكد من توصيل وحدات التحكم الخاصة بك وتخصيصها بشكل صحيح ليديك
## Tracker scaled proportions reset
onboarding-scaled_proportions-reset_proportion-title = إعادة ضبط نسب جسمك
onboarding-scaled_proportions-reset_proportion-description = لتعيين نسب جسمك بناء على طولك ، تحتاج إلى إعادة تعيين جميع نسبك. سيؤدي ذلك إلى مسح أي نسب قمت بتكوينها وتوفير تكوين أساسي.
onboarding-scaled_proportions-done-title = مجموعة نسب الجسم
onboarding-scaled_proportions-done-description = قد تم الآن تكوين نسب جسمك بناء على طولك.
## Stay Aligned setup
## Home
@@ -980,6 +1225,38 @@ status_system-StatusSteamVRDisconnected =
*[other] حاليًا غير متصل بـ SteamVR عبر برنامج تشغيل SlimeVR.
}
status_system-StatusTrackerError = يحتوي جهاز التعقب { $trackerName } على خطأ.
status_system-StatusUnassignedHMD = يجب تعيين سماعة رأس VR كجهاز تعقب للرأس.
## Firmware tool globals
firmware_tool-next_step = الخطوة التالية
firmware_tool-previous_step = الخطوة السابقة
firmware_tool-ok = تبدو جيدة
firmware_tool-retry = اعادة المحاولة
firmware_tool-loading = تحميل...
## Firmware tool Steps
firmware_tool = أداة البرامج الثابتة DIY
firmware_tool-description = يسمح لك بتكوين و لتحديث أجهزة التعقب DIY الخاصة بك
firmware_tool-not_available = عفوا ، أداة البرامج الثابتة غير متوفرة في الوقت الحالي. عد لاحقا!
firmware_tool-not_compatible = أداة البرنامج الثابت غير متوافقة مع هذا الإصدار من الخادم. يرجى تحديث الخادم الخاص بك!
firmware_tool-flash_method_step = طريقة التثبيت
firmware_tool-flash_method_step-description = الرجاء حدد طريقة التثبيت التي تريد استخدامها
firmware_tool-flashbtn_step = اضغط على زر التمهيد
firmware_tool-flashbtn_step-description = قبل الانتقال إل الخطوة التالية، هناك بعض الأشياء التي عليك القيام بها
firmware_tool-flashbtn_step-board_SLIMEVR = أوقف تشغيل جهاز التعقب، قم بإزالة العلبة (إن وجدت)، وقم بتوصيل كابل USB بهذا الكمبيوتر ، ثم قم بإحدى الخطوات التالية وفقا لمراجعة لوحة SlimeVR:
firmware_tool-flashbtn_step-board_SLIMEVR-r11 = قم بتشغيل جهاز التعقب أثناء تقصير دائرة لوحة FLASH المستطيلة الثانية من الحافة الموجودة على الجانب العلوي من اللوحة ، والدرع المعدني للمتحكم الدقيق
firmware_tool-flashbtn_step-board_SLIMEVR-r12 = قم بتشغيل جهاز التعقب أثناء تقصير دائرة لوحة FLASH الدائرية على الجانب العلوي من اللوحة ، والدرع المعدني للمتحكم الدقيق
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
@@ -1008,3 +1285,6 @@ unknown_device-modal-description =
هل تريد توصيله ب SlimeVR؟
unknown_device-modal-confirm = أكيد
unknown_device-modal-forget = تجاهلها
## Error collection consent modal

View File

@@ -117,7 +117,7 @@ skeleton_bone-ELBOW_OFFSET = Odsazení loktů
reset-reset_all = Obnovit nastavení proporcí
reset-reset_all_warning-v2 =
<b>Varování:</b> vyše proporce budou obnoveny do výchozích hodnot založených na vaší nakonfigurované výšce.
<b>Varování:</b> vyše proporce budou obnoveny do výchozích hodnot založených na vaší nakonfigurované výšce.
Jste si jistí že chcete udělat?
reset-reset_all_warning-reset = Obnovit proporce
reset-reset_all_warning-cancel = Zrušit
@@ -285,7 +285,6 @@ tracker-settings-name_section-label = Název trackeru
tracker-settings-forget = Zapomenout tracker
tracker-settings-forget-description = Odebere tracker z SlimeVR Serveru a zabrání jeho opětovnému připojení do té doby, dokud nebude server restarován. Konfigurace trackeru nebude ztracena.
tracker-settings-forget-label = Zapomenout tracker
tracker-settings-update-unavailable = Nelze aktualizovat (DIY)
tracker-settings-update-low-battery = Nelze provést aktualizaci. Baterie má méně než 50%
tracker-settings-update-up_to_date = Aktuální
tracker-settings-update-available = { $versionName } je nyní dostupný
@@ -485,8 +484,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Připnutí k pod
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-enforce_joint_constraints = Limity kostry
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Prosazování omezení
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Zabránit rotaci kloubům za jejich limit
@@ -593,9 +590,6 @@ settings-general-interface-connected_trackers_warning-label = Upozornění o př
## Behavior settings
settings-interface-behavior = Chování
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-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
@@ -636,7 +630,6 @@ settings-serial-factory_reset-warning =
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
@@ -732,6 +725,9 @@ settings-osc-vmc-mirror_tracking = Zrcadlení sledování
settings-osc-vmc-mirror_tracking-description = Zrcadlit trakování horizontálně.
settings-osc-vmc-mirror_tracking-label = Zrcadlení trackování
## Common OSC settings
## Advanced settings
settings-utils-advanced = Pokročilé
@@ -871,7 +867,6 @@ onboarding-connect_tracker-next = Připojil jsem všechny své trackery
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
@@ -1169,68 +1164,8 @@ firmware_tool = Nástroj pro DIY firmwere
firmware_tool-description = Umožní vám konfigurovat a flashovat vaše DIY trackery
firmware_tool-not_available = Jejda, nástroj pro firmware není v momentální chvíli k dispozici, Vraťte se později!
firmware_tool-not_compatible = Nástroj pro firmware není kompatibilní s touhle verzí serveru. Aktualizujte prosím svůj server.
firmware_tool-board_step = Vyberte vaší desku
firmware_tool-board_step-description = Vyberte jednu z desek uvedené níže.
firmware_tool-board_pins_step = Zkontrolujte piny
firmware_tool-board_pins_step-description =
Porsím ujistěte se že zvolené piny jsou správně.
Jestli jste postupovaly podle SlimeVR dokumentace, tak by měli být výchozí hodnoty správně
firmware_tool-board_pins_step-enable_led = Povolit LED
firmware_tool-board_pins_step-led_pin =
.label = LED pin
.placeholder = Vložte adresu pinu LED
firmware_tool-board_pins_step-battery_type = Vyberte typ baterie
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Externí baterie
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Interní baterie
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = Vnitřní MCP3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Pin snímače baterie
.placeholder = Vložte adresu pinu na kterém je připojen snímač baterie
firmware_tool-board_pins_step-battery_resistor =
.label = Odpor baterie (Ohmy)
.placeholder = Vložte hodnotu rezistoru baterie
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Štít baterie R1 (v Ohmech)
.placeholder = Vložte hodnotu štítu baterie R1
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Štít baterie R2 (v Ohmech)
.placeholder = Vložte hodnotu štítu baterie R2
firmware_tool-add_imus_step = Deklarujte své IMU
firmware_tool-add_imus_step-description =
Prosím přidejte IMU které má váš tracker
Pokud jste následovali dokumentaci SlimeVR, výchozí hodnoty by měli být správné
firmware_tool-add_imus_step-imu_type-label = Typ IMU
firmware_tool-add_imus_step-imu_type-placeholder = Vyberte typ IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Rotace IMU (stupně)
.placeholder = Úhel rotace IMU
firmware_tool-add_imus_step-scl_pin =
.label = SCL Pin
.placeholder = Adresa SCL pinu
firmware_tool-add_imus_step-sda_pin =
.label = SDA Pin
.placeholder = Adresa pinu SDA
firmware_tool-add_imus_step-int_pin =
.label = INT Pin
.placeholder = Adresa pinu INT
firmware_tool-add_imus_step-optional_tracker =
.label = Nepovinné trackery
firmware_tool-add_imus_step-show_less = Zobrazit měné
firmware_tool-add_imus_step-show_more = Zobrazit více
firmware_tool-add_imus_step-add_more = Přidat další IMU
firmware_tool-select_firmware_step = Vyberte verzi firmwaru
firmware_tool-select_firmware_step-description = Prosím zvolte, jakou verzi firmwaru chcete použít
firmware_tool-select_firmware_step-show-third-party =
.label = Zobrazit firmware třetích stran
firmware_tool-flash_method_step = Metoda flashování
firmware_tool-flash_method_step-description = Prosím zvolte metodu flashování, kterou chcete použít
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Použití metody "Over The Air" přenos přes vzduch. Vaše trackery použijí Wi-Fi pro aktualizaci jejich firmweru. Metoda funguje pouze na již nastavených a nakonfigorovaných trackerech.
firmware_tool-flash_method_step-serial =
.label = Sériový
.description = Použíte USB kabel pro aktualizování vaších trackerů.
firmware_tool-flashbtn_step = Stiskněte tlačítko bootu btn
firmware_tool-flashbtn_step-description = Než přejdeme na další krok, je tady pár věcí které musíte udělat
firmware_tool-flashbtn_step-board_SLIMEVR = Vypněte tracker, vyndejte z obalu (jestli v nějakém je), Připojte USB kabel k tomuto počítači a poté následujte jeden z kroků revize odpovídající k vaší verzi desky trackeru SlimeVR:
@@ -1258,9 +1193,6 @@ firmware_tool-flashing_step-exit = Odejít
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Vytváření složky pro sestavení
firmware_tool-build-DOWNLOADING_FIRMWARE = Stahování firmweru
firmware_tool-build-EXTRACTING_FIRMWARE = Extrahování firmweru
firmware_tool-build-SETTING_UP_DEFINES = Konfigurování definicí
firmware_tool-build-BUILDING = Sestavování firmweru
firmware_tool-build-SAVING = Ukládání sestavení
firmware_tool-build-DONE = Sestavení dokončeno

View File

@@ -1,6 +1,3 @@
### SlimeVR complete GUI translations
# Please developers (not translators) don't reuse a key inside another key
# or concat text with a translation string in the code, use the appropriate
# features like variables and selectors in each appropriate case!
@@ -50,14 +47,17 @@ body_part-LEFT_UPPER_LEG = Venstre lår
body_part-LEFT_LOWER_LEG = Venstre ankel
body_part-LEFT_FOOT = Venstre fod
## BoardType
## 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-CHEST = Bryst Længde
skeleton_bone-WAIST = Taljelængde
skeleton_bone-HIP = Hoftelængde
skeleton_bone-HIP_OFFSET = Hofte Juster
@@ -103,11 +103,14 @@ navbar-mounting = Montage Kalibrering
navbar-onboarding = Opsætningsguide
navbar-settings = Indstillinger
## Bounding volume hierarchy recording
## Biovision hierarchy recording
bvh-start_recording = Optag BVH
bvh-recording = Optager...
## Tracking pause
## Widget: Overlay settings
widget-overlay = Overlejring
@@ -118,6 +121,9 @@ widget-overlay-is_mirrored_label = Vis Overlejring som Spejl
widget-drift_compensation-clear = Klar afdriftskompensation
## Widget: Clear Reset Mounting
## Widget: Developer settings
widget-developer_mode = Udviklertilstand
@@ -134,7 +140,9 @@ widget-developer_mode-more_info = Mere info
widget-imu_visualizer = Rotation
widget-imu_visualizer-rotation_raw = Rå
widget-imu_visualizer-rotation_preview = Forhåndsvisning
widget-imu_visualizer-rotation_hide = Skjul
## Widget: Skeleton Visualizer
## Tracker status
@@ -279,10 +287,6 @@ settings-general-steamvr-description =
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
@@ -326,14 +330,7 @@ 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)
@@ -347,12 +344,18 @@ settings-general-gesture_control-taps =
}
settings-general-gesture_control-yawResetEnabled = Aktivér tryk for at yaw resette
## Interface settings
## Appearance 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-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
## Notification settings
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
@@ -360,10 +363,9 @@ 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
## Behavior settings
## Serial settings
@@ -378,7 +380,6 @@ settings-serial-factory_reset-warning =
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
@@ -409,14 +410,9 @@ 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)
@@ -424,7 +420,6 @@ 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.
@@ -457,9 +452,14 @@ settings-osc-vmc-network-address-description = Vælg hvilken adresse du vil send
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>
## Common OSC settings
## Advanced settings
## Setup/onboarding menu
onboarding-skip = Spring opsætning over
@@ -492,7 +492,6 @@ onboarding-wifi_creds-password =
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
@@ -516,8 +515,6 @@ onboarding-done-close = Luk opsætning
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
@@ -544,6 +541,9 @@ onboarding-connect_tracker-next = Jeg har tilsluttet alle mine trackere
## Tracker calibration tutorial
## Tracker assignment tutorial
## Tracker assignment setup
onboarding-assign_trackers-back = Gå tilbage til Wi-Fi-oplysninger
@@ -567,12 +567,8 @@ onboarding-assign_trackers-next = Jeg har tildelt alle trackerene
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
@@ -593,12 +589,7 @@ 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 manual proportions setupa
## Tracker automatic proportions setup
@@ -621,6 +612,48 @@ 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!
## Tracker scaled proportions setup
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
home-no_trackers = Ingen trackere registreret eller tildelt
## Trackers Still On notification
## Status system
## Firmware tool globals
## Firmware tool Steps
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
## First exit modal
## Unknown device modal
## Error collection consent modal

View File

@@ -112,9 +112,21 @@ board_type-GLOVE_IMU_SLIMEVR_DEV = SlimeVR Dev-IMU-Handschuh
skeleton_bone-NONE = Keine
skeleton_bone-HEAD = Kopfverschiebung
skeleton_bone-NECK = Halslänge
skeleton_bone-NECK-desc =
Dies ist der Abstand von der Mitte Ihres Kopfes bis zum Ansatz Ihres Nackens.
Um diesen anzupassen, nicken Sie mit Ihren Kopf, als würden Sie "ja" sagen, oder neigen Sie Ihren Kopf nach links und rechts. und modifizieren Sie es, bis die Bewegung in anderen Trackern vernachlässigbar ist. Passen Sie den Wert so lange an, bis Bewegungen anderer Tracker kaum noch vorhanden sind.
skeleton_bone-torso_group = Oberkörperhöhe
skeleton_bone-torso_group-desc =
Dies ist der Abstand vom Ansatz Ihres Nackens bis zu Ihren Hüften.
Stehen Sie aufrecht und ändern Sie den Wert, bis Ihre virtuellen Hüften mit Ihren echten übereinstimmen.
skeleton_bone-UPPER_CHEST = Obere Brustlänge
skeleton_bone-UPPER_CHEST-desc =
Dies ist der Abstand vom Ansatz Ihres Nackens bis zur Mitte Ihrer Brust.
Passen Sie zunächst Ihre Rumpflänge korrekt an und verändern Sie dann diesen Wert in verschiedenen Positionen (z.B. im Sitzen, beim Bücken oder Liegen), bis Ihre virtuelle Wirbelsäule mit Ihrer echten übereinstimmt.
skeleton_bone-CHEST_OFFSET = Brustversatz
skeleton_bone-CHEST_OFFSET-desc =
Dies kann angepasst werden, um Ihren virtuellen Brust-Tracker nach oben oder unten zu verschieben, um
die Kalibrierung in bestimmten Spielen oder Anwendungen zu unterstützen, die möglicherweise einen höheren oder niedrigeren Wert erwarten.
skeleton_bone-CHEST = Brustabstand
skeleton_bone-WAIST = Taillenabstand
skeleton_bone-HIP = Hüftlänge
@@ -148,6 +160,7 @@ reset-reset_all_warning_default-v2 =
Möchten Sie dies wirklich tun?
reset-full = Reset
reset-mounting = Befestigungs-Reset
reset-mounting-feet = Fuß-Befestigungs-Reset
reset-yaw = Horizontaler Reset
## Serial detection stuff
@@ -305,7 +318,6 @@ tracker-settings-name_section-label = Trackername
tracker-settings-forget = Tracker Vergessen
tracker-settings-forget-description = Entfernt den Tracker vom SlimeVR Server und verhindert, dass er sich wieder verbindet, bis der Server neu gestartet wurde. Die Konfiguration des Trackers geht nicht verloren.
tracker-settings-forget-label = Tracker Vergessen
tracker-settings-update-unavailable = Kann nicht aktualisiert werden (DIY)
tracker-settings-update-low-battery = Aktualisierung nicht möglich. Akku unter 50 %
tracker-settings-update-up_to_date = Auf dem neusten Stand
tracker-settings-update-available = { $versionName } ist jetzt Verfügbar
@@ -388,6 +400,7 @@ settings-sidebar-appearance = Erscheinungsbild
settings-sidebar-notifications = Benachrichtigungen
settings-sidebar-behavior = Verhalten
settings-sidebar-firmware-tool = DIY Firmware-Tool
settings-sidebar-vrc_warnings = VRChat Konfigurations-Warnungen
settings-sidebar-advanced = Erweitert
## SteamVR settings
@@ -450,7 +463,7 @@ settings-general-tracker_mechanics-drift_compensation-prediction-description =
Aktivieren Sie diese Funktion, wenn sich der Tracker kontinuierlich um die gier-Achse dreht.
settings-general-tracker_mechanics-drift_compensation-prediction-label = Prognose der Driftkompensation
settings-general-tracker_mechanics-drift_compensation_warning =
<b>Warnung:</b> Verwenden Sie die Driftkompensation nur, wenn sie sehr oft
<b>Warnung:</b> Verwenden Sie die Driftkompensation nur, wenn sie sehr oft
reseten müssen (alle ~5-10 Minuten).
Zu den IMUs, die häufig einen Reset benötigen, gehören:
@@ -461,7 +474,7 @@ settings-general-tracker_mechanics-drift_compensation-amount-label = Kompensieru
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Nutze die letzten x Resets
settings-general-tracker_mechanics-save_mounting_reset = Automatische Befestigungs-Reset Kalibrierung speichern
settings-general-tracker_mechanics-save_mounting_reset-description =
Speichert die automatische Befestigungs-Reset Kalibrierung für die Tracker zwischen den Neustarts. Nützlich
Speichert die automatische Befestigungs-Reset Kalibrierung für die Tracker zwischen den Neustarts. Nützlich
wenn Sie einen Anzug tragen, bei dem sich die Tracker zwischen den Sitzungen nicht bewegen. <b>Für normale Benutzer nicht zu empfehlen!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Befestigungs-Reset speichern
settings-general-tracker_mechanics-use_mag_on_all_trackers = Verwende das Magnetometer auf allen IMU-Trackern, die dies unterstützen.
@@ -469,6 +482,11 @@ settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
Verwendet das Magnetometer auf allen Trackern, die über eine kompatible Firmware verfügen, um den Drift in stabilen magnetischen Umgebungen zu reduzieren.
Kann pro Tracker in den Einstellungen des Trackers deaktiviert werden. <b>Bitte schalten Sie keinen der Tracker aus, während Sie dies umschalten!</b>
settings-general-tracker_mechanics-use_mag_on_all_trackers-label = Magnetometer auf Trackern verwenden
settings-stay_aligned = Stay Aligned
settings-stay_aligned-relaxed_poses-save_pose = Pose speichern
settings-stay_aligned-relaxed_poses-reset_pose = Pose zurücksetzen
settings-stay_aligned-relaxed_poses-close = Schließen
settings-stay_aligned-debug-copy-label = Einstellungen in die Zwischenablage kopieren
## FK/Tracking settings
@@ -490,8 +508,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Bodenclip kann d
settings-general-fk_settings-leg_tweak-toe_snap-description = Zehen-Ausrichtung versucht, die Rotation Ihrer Füße zu erraten, wenn keine Fuß-Tracker verwendet werden.
settings-general-fk_settings-leg_tweak-foot_plant-description = Fußkorrektur richtet Ihre Füße parallel zum Boden aus, wenn sie den Boden berühren.
settings-general-fk_settings-leg_fk = Beintracking
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Aktiviert das Zurücksetzen der Fußausrichtung, indem Sie auf die Zehenspitzen stehen.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Fußausrichtung zurücksetzen
settings-general-fk_settings-enforce_joint_constraints = Gelenkgrenzen
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Grenzen erzwingen
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Verhindert, dass sich Gelenke über ihre Grenzen hinaus drehen
@@ -564,6 +580,9 @@ settings-general-gesture_control-numberTrackersOverThreshold-description = Erhö
## Appearance settings
settings-interface-appearance = Erscheinungsbild
settings-general-interface-dev_mode = Entwicklermodus
settings-general-interface-dev_mode-description = Der Entwicklermodus stellt mehr Daten dar und erlaubt auch erweiterte Einstellungen, so wie erweiterte Optionen bei verbundenen Trackern.
settings-general-interface-dev_mode-label = Entwicklermodus
settings-general-interface-theme = Farbschema
settings-general-interface-show-navbar-onboarding = "{ navbar-onboarding }" in der Navigationsleiste anzeigen
settings-general-interface-show-navbar-onboarding-description = Dies ändert die Sichtbarkeit der Schaltfläche "{ navbar-onboarding }" in der Navigationsleiste
@@ -600,9 +619,6 @@ settings-general-interface-connected_trackers_warning-label = Warnung vor verbun
## Behavior settings
settings-interface-behavior = Verhalten
settings-general-interface-dev_mode = Entwicklermodus
settings-general-interface-dev_mode-description = Der Entwicklermodus stellt mehr Daten dar und erlaubt auch erweiterte Einstellungen, so wie erweiterte Optionen bei verbundenen Trackern.
settings-general-interface-dev_mode-label = Entwicklermodus
settings-general-interface-use_tray = In den Infobereich minimieren
settings-general-interface-use_tray-description = Erlaubt Ihnen, das Fenster zu schließen, ohne den SlimeVR-Server zu beenden. Dies erlaubt Ihnen diesen weiterzuverwenden, ohne dass das Fenster stört.
settings-general-interface-use_tray-label = In den Infobereich minimieren
@@ -641,7 +657,6 @@ settings-serial-factory_reset-warning =
Das bedeutet, dass Wi-Fi- und Kalibrierungseinstellungen <b>verloren gehen!</b>
settings-serial-factory_reset-warning-ok = Ich weiß, was ich tue
settings-serial-factory_reset-warning-cancel = Abbruch
settings-serial-get_infos = Informationen abrufen
settings-serial-serial_select = Wählen Sie einen seriellen Anschluss
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = WLAN-Scan
@@ -679,7 +694,7 @@ settings-osc-vrchat = VRChat-OSC-Trackers
# This cares about multilines
settings-osc-vrchat-description-v1 =
Ändern Sie die Einstellungen, die speziell für den OSC-Trackers-Standard verwendet werden, um Tracking-Daten an Anwendungen ohne SteamVR zu senden (z. B. für Quest Standalone).
Stellen Sie sicher, dass Sie OSC in VRChat über das Aktionsmenü unter OSC > Aktiviert einschalten.
Stellen Sie sicher, dass Sie OSC in VRChat über das Aktionsmenü unter OSC > Aktiviert einschalten.
Um das Empfangen von HMD- und Controller-Daten von VRChat zu ermöglichen, gehen Sie in Ihrem Hauptmenü
zu den Einstellungen unter Tracking & IK > Erlaube das Senden von Kopf- und Handgelenk-VR-Tracking-OSC-Daten.
settings-osc-vrchat-enable = Aktivieren
@@ -741,6 +756,10 @@ settings-osc-vmc-mirror_tracking = Tracking spiegeln
settings-osc-vmc-mirror_tracking-description = Tracking horizontal spiegeln
settings-osc-vmc-mirror_tracking-label = Tracking spiegeln
## Common OSC settings
settings-osc-common-network-port_banned_error = Der Port { $port } kann nicht verwendet werden!
## Advanced settings
settings-utils-advanced = Erweitert
@@ -863,6 +882,8 @@ onboarding-connect_tracker-connection_status-looking_for_server = Suche nach Ser
onboarding-connect_tracker-connection_status-connection_error = Es kann keine WLAN-Verbindung hergestellt werden
onboarding-connect_tracker-connection_status-could_not_find_server = Server konnte nicht gefunden werden
onboarding-connect_tracker-connection_status-done = Verbindung zum Server hergestellt.
onboarding-connect_serial-error-modal-no_serial_log = Ist der Tracker eingeschaltet?
onboarding-connect_serial-error-modal-no_serial_device_found = Keine Tracker erkannt
# $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",
@@ -870,17 +891,16 @@ onboarding-connect_tracker-connection_status-done = Verbindung zum Server herges
# if $amount is 0 then we say "No trackers connected"
onboarding-connect_tracker-connected_trackers =
{ $amount ->
[0] Kein Tracker
[one] 1 Tracker
*[other] { $amount } Tracker
} verbunden
[0] Kein Tracker verbunden
[one] 1 Tracker verbunden
*[other] { $amount } Tracker verbunden
}
onboarding-connect_tracker-next = Ich habe alle meine Tracker verbunden.
## Tracker calibration tutorial
onboarding-calibration_tutorial = IMU-Kalibrierungs-Tutorial
onboarding-calibration_tutorial-subtitle = Dies wird dazu beitragen, das Driften der Tracker zu reduzieren!
onboarding-calibration_tutorial-description = Jedes Mal, wenn Sie Ihre Tracker einschalten, müssen diese für einen Moment auf einer ebenen Oberfläche ruhen, um sie zu kalibrieren. Lassen Sie uns dies nun tun, indem Sie auf die Schaltfläche "Kalibrieren" klicken. <b>Verschieben Sie die Tracker nicht!</b>
onboarding-calibration_tutorial-calibrate = Ich habe meine Tracker auf den Tisch gelegt
onboarding-calibration_tutorial-status-waiting = Wir warten auf Sie
onboarding-calibration_tutorial-status-calibrating = Kalibriere
@@ -907,10 +927,10 @@ onboarding-assign_trackers-description = Wählen Sie nun aus, welcher Tracker wo
# $assigned (Number) - Trackers that have been assigned a body part
# $trackers (Number) - Trackers connected to the server
onboarding-assign_trackers-assigned =
{ $assigned } von { $trackers ->
[one] 1 Tracker
*[other] { $trackers } Tracker
} zugewiesen
{ $trackers ->
[one] { $assigned } von 1 Tracker zugewiesen
*[other] { $assigned } von { $trackers } Tracker zugewiesen
}
onboarding-assign_trackers-advanced = Erweiterte Zuweisungspositionen anzeigen
onboarding-assign_trackers-next = Ich habe alle Tracker zugewiesen
onboarding-assign_trackers-mirror_view = Ansicht spiegeln
@@ -1048,26 +1068,22 @@ onboarding-automatic_mounting-mounting_reset-title = Befestigungs-Reset
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Beugen Sie sich in die "Skifahren"-Pose mit gebeugten Beinen, geneigtem Oberkörper und gebeugten Armen.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Drücken Sie die Schaltfläche "Befestigungs-Reset" und warten Sie 3 Sekunden, bevor die Drehungen der Tracker gesetzt werden.
onboarding-automatic_mounting-preparation-title = Vorbereitung
onboarding-automatic_mounting-preparation-step-0 = 1. Stehen Sie aufrecht mit Ihren Armen an den Seiten.
onboarding-automatic_mounting-preparation-step-1 = 2. Drücken Sie die Schaltfläche "Reset" und warten Sie 3 Sekunden, bevor die Tracker zurückgesetzt werden.
onboarding-automatic_mounting-put_trackers_on-title = Legen Sie Ihre Tracker an
onboarding-automatic_mounting-put_trackers_on-description = Um die Drehung der Tracker zu kalibrieren, werden die Tracker verwendet, welche Sie gerade zugewiesen haben. Ziehen Sie alle Ihre Tracker an, in der Abbildung rechts können sie sehen um welchen Tracker es sich handelt.
onboarding-automatic_mounting-put_trackers_on-next = Ich habe alle meine Tracker angelegt
onboarding-automatic_mounting-return-home = Fertig
## Tracker manual proportions setupa
onboarding-manual_proportions-back = Gehen Sie zurück zum Reset-Tutorial
onboarding-manual_proportions-title = Manuelle Körperproportionen
onboarding-manual_proportions-precision = Feinanpassung
onboarding-manual_proportions-auto = Automatische Kalibrierung
onboarding-manual_proportions-ratio = Anpassung nach Proportionen
onboarding-manual_proportions-fine_tuning_button = Automatische Feinabstimmung der Proportionen
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = Bitte schließen Sie ein VR-Headset an, um die automatische Feinabstimmung zu nutzen
onboarding-manual_proportions-export = Proportionen exportieren
onboarding-manual_proportions-import = Proportionen importieren
onboarding-manual_proportions-import-success = Importiert
onboarding-manual_proportions-import-failed = Fehlgeschlagen
onboarding-manual_proportions-file_type = Körperproportions-Datei
onboarding-manual_proportions-all_proportions = Alle Proportionen
onboarding-manual_proportions-estimated_height = Geschätzte Benutzergröße
## Tracker automatic proportions setup
@@ -1177,6 +1193,13 @@ onboarding-scaled_proportions-reset_proportion-description = Um Ihre Körperprop
onboarding-scaled_proportions-done-title = Körperproportionen festgelegt
onboarding-scaled_proportions-done-description = Ihre Körperproportionen sollten nun basierend auf Ihrer Größe konfiguriert sein.
## Stay Aligned setup
onboarding-stay_aligned-put_trackers_on-next = Ich habe alle meine Tracker angelegt
onboarding-stay_aligned-preparation-title = Vorbereitung
onboarding-stay_aligned-relaxed_poses-skip_step = Überspringen
onboarding-stay_aligned-done = Fertig
## Home
home-no_trackers = Keine Tracker erkannt oder zugewiesen
@@ -1215,68 +1238,8 @@ firmware_tool = DIY Firmware-Tool
firmware_tool-description = Erlaubt ihnen das Konfigurieren und Flashen von DIY Trackern
firmware_tool-not_available = Das Firmware Tool ist im Moment nicht verfügbar. Versuche sie später erneut!
firmware_tool-not_compatible = Das Firmware Tool ist nicht mit dieser Version des Servers kompatibel. Bitte den Server aktualisieren!
firmware_tool-board_step = Wähle das Board
firmware_tool-board_step-description = Wähle eines der Boards unten aus der Liste aus.
firmware_tool-board_pins_step = Überprüfe die Pins
firmware_tool-board_pins_step-description =
Bitte vergewissern Sie sich, dass die ausgewählten Pins korrekt sind.
Wenn Sie der SlimeVR-Dokumentation gefolgt sind, sollten die Standardwerte korrekt sein.
firmware_tool-board_pins_step-enable_led = LED aktivieren
firmware_tool-board_pins_step-led_pin =
.label = LED Pin
.placeholder = Geben Sie die Pin-Nummer der LED ein.
firmware_tool-board_pins_step-battery_type = Wähle den Batterie Typ aus
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Externe Batterie
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Interne Batterie
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = Internal MCP3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Batteriesensor-Pin
.placeholder = Geben Sie die Pin-Nummer des Batteriesensors ein.
firmware_tool-board_pins_step-battery_resistor =
.label = Batteriewiderstand (Ohm)
.placeholder = Geben Sie den Wert des Batteriewiderstands ein.
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Battery Shield R1 (Ohms)
.placeholder = Geben Sie den Wert des Widerstands R1 des Battery Shields ein
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Battery Shield R2 (Ohms)
.placeholder = Geben Sie den Wert des Widerstands R2 des Battery Shields ein
firmware_tool-add_imus_step = Deklarieren Sie die IMUs
firmware_tool-add_imus_step-description =
Bitte fügen Sie die IMUs hinzu, die Ihr Tracker hat.
Wenn Sie der SlimeVR-Dokumentation gefolgt sind, sollten die Standardwerte korrekt sein.
firmware_tool-add_imus_step-imu_type-label = IMU Typ
firmware_tool-add_imus_step-imu_type-placeholder = Wähle den IMU Typ aus
firmware_tool-add_imus_step-imu_rotation =
.label = IMU Rotation (deg)
.placeholder = Rotationswinkel des IMUs
firmware_tool-add_imus_step-scl_pin =
.label = SCL Pin
.placeholder = Pin-Nummer von SCL
firmware_tool-add_imus_step-sda_pin =
.label = SDA Pin
.placeholder = Pin-Nummer von SDA
firmware_tool-add_imus_step-int_pin =
.label = INT Pin
.placeholder = Pin-Nummer von INT
firmware_tool-add_imus_step-optional_tracker =
.label = Optionaler Tracker
firmware_tool-add_imus_step-show_less = Weniger anzeigen
firmware_tool-add_imus_step-show_more = Mehr anzeigen
firmware_tool-add_imus_step-add_more = Weitere IMUs hinzufügen
firmware_tool-select_firmware_step = Firmware-Version auswählen
firmware_tool-select_firmware_step-description = Bitte wählen Sie die Firmware-Version aus, die Sie verwenden möchten.
firmware_tool-select_firmware_step-show-third-party =
.label = Drittanbieter-Firmware anzeigen
firmware_tool-flash_method_step = Flash-Methode
firmware_tool-flash_method_step-description = Bitte wählen Sie die Flash-Methode aus, die Sie verwenden möchten.
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Verwenden Sie die Over-the-Air-Methode. Ihr Tracker wird das Wi-Fi nutzen, um die Firmware zu aktualisieren. Funktioniert nur bei bereits eingerichteten Trackern.
firmware_tool-flash_method_step-serial =
.label = Seriell
.description = Verwenden Sie ein USB-Kabel, um Ihren Tracker zu aktualisieren.
firmware_tool-flashbtn_step = Drücken Sie den Boot-Button
firmware_tool-flashbtn_step-description = Bevor Sie mit dem nächsten Schritt fortfahren, gibt es ein paar Dinge, die Sie erledigen müssen.
firmware_tool-flashbtn_step-board_SLIMEVR = Schalten Sie den Tracker aus, entfernen Sie das Gehäuse (falls vorhanden), verbinden Sie ein USB-Kabel mit diesem Computer und führen Sie dann einen der folgenden Schritte entsprechend Ihrer SlimeVR-Board-Revision aus:
@@ -1305,9 +1268,6 @@ firmware_tool-flashing_step-exit = Schließen
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Erstelle den Build-Ordner
firmware_tool-build-DOWNLOADING_FIRMWARE = Lade die Firmware herunter
firmware_tool-build-EXTRACTING_FIRMWARE = Extrahiere die Firmware
firmware_tool-build-SETTING_UP_DEFINES = Konfiguriere die Defines
firmware_tool-build-BUILDING = Erstellen der Firmware
firmware_tool-build-SAVING = Speichern des Builds
firmware_tool-build-DONE = Erstellen abgeschlossen
@@ -1371,6 +1331,21 @@ unknown_device-modal-description =
Möchten Sie diesen mit SlimeVR verbinden?
unknown_device-modal-confirm = Sicher!
unknown_device-modal-forget = Ignorieren
# VRChat config warnings
vrc_config-page-title = VRChat Konfigurations-Warnungen
vrc_config-on = An
vrc_config-off = Aus
vrc_config-invalid = Sie haben falsch konfigurierte VRChat-Einstellungen!
vrc_config-show_more = Mehr anzeigen
vrc_config-setting_name = Name der VRChat-Einstellung
vrc_config-recommended_value = Empfohlener Wert
vrc_config-current_value = Aktueller Wert
vrc_config-mute = Warnung stummschalten
vrc_config-mute-btn = Stummschalten
vrc_config-unmute-btn = Stummschaltung aufheben
vrc_config-user_height = Echte Benutzergröße
vrc_config-tracker_model-UNKNOWN = Unbekannt
vrc_config-tracker_model-AXIS = Achse
## Error collection consent modal

View File

@@ -41,13 +41,16 @@ body_part-LEFT_UPPER_LEG = Αριστερός μηρός
body_part-LEFT_LOWER_LEG = Αριστερός αστράγαλος
body_part-LEFT_FOOT = Αριστερό πόδι
## BoardType
## Proportions
skeleton_bone-NONE = Τίποτα
skeleton_bone-HEAD = Μετατόπιση κεφαλής
skeleton_bone-NECK = Μήκος λαιμού
skeleton_bone-CHEST = Μήκος στήθους
skeleton_bone-CHEST_OFFSET = Μετατόπιση στήθους
skeleton_bone-CHEST = Μήκος στήθους
skeleton_bone-WAIST = Μήκος μέσης
skeleton_bone-HIP = Μήκος γοφών
skeleton_bone-HIP_OFFSET = Μετατόπιση γοφών
@@ -106,6 +109,9 @@ widget-overlay-is_mirrored_label = Εμφάνιση υπέρθεσης ως κα
widget-drift_compensation-clear = Επαναφορά αντιστάθμισης drift
## Widget: Clear Reset Mounting
## Widget: Developer settings
widget-developer_mode = Λειτουργία προγραμματιστή
@@ -123,6 +129,9 @@ widget-imu_visualizer = Περιστροφή
widget-imu_visualizer-rotation_raw = Ακατέργαστο
widget-imu_visualizer-rotation_preview = Προεπισκόπηση
## Widget: Skeleton Visualizer
## Tracker status
tracker-status-none = Χωρίς κατάσταση
@@ -231,8 +240,6 @@ tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } αριστερό
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
@@ -243,7 +250,13 @@ settings-general-steamvr-trackers-hands = Χέρια
## Gesture control settings (tracker tapping)
## Interface settings
## Appearance settings
## Notification settings
## Behavior settings
## Serial settings
@@ -260,6 +273,12 @@ settings-osc-vrchat-network-trackers-feet = Πόδια
## VMC OSC settings
## Common OSC settings
## Advanced settings
## Setup/onboarding menu
@@ -302,17 +321,53 @@ settings-osc-vrchat-network-trackers-feet = Πόδια
## Tracker automatic mounting setup
## Tracker proportions method choose
## Tracker manual proportions setup
## Tracker manual proportions setupa
## Tracker automatic proportions setup
## Tracker scaled proportions setup
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
## Trackers Still On notification
## Status system
## Firmware tool globals
## Firmware tool Steps
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
## First exit modal
## Unknown device modal
## Error collection consent modal

View File

@@ -300,7 +300,6 @@ tracker-settings-name_section-label = twackaw name
tracker-settings-forget = *forgors the tracker*
tracker-settings-forget-description = remooves teh twackew fwom da SwimeVR sewvew n pwevent it frum conecting to it til fhe sewvew iz westawtied. the cowonfigyuwatsin of da twackew woant b wost.
tracker-settings-forget-label = *forgors the tracker*
tracker-settings-update-unavailable = cannawt be updayted (DIY)
tracker-settings-update-up_to_date = up to dayte!! ^w^
tracker-settings-update-available = { $versionName } is naow awailabwe
tracker-settings-update = uwupdate meow!
@@ -467,8 +466,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = fwoow-cwip can r
settings-general-fk_settings-leg_tweak-toe_snap-description = toe-snap atempts to gwess da wotation of ur fweet if fweet tracker thingys arewnt in use
settings-general-fk_settings-leg_tweak-foot_plant-description = pawb-pwant wotates youw feet to be pawawwew to the gwound wen in cawntact.
settings-general-fk_settings-leg_fk = leg twacking
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Enyabwe pawb Meownting Weset by tiptoeing.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Pawb Meownting Weset
settings-general-fk_settings-enforce_joint_constraints = skewetal wimits
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = enfourse constwaints
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = pwevents da joins fwom wotating past da wimit
@@ -541,6 +538,9 @@ settings-general-gesture_control-numberTrackersOverThreshold-description = incwe
## Appearance settings
settings-interface-appearance = appeawance
settings-general-interface-dev_mode = devwowwewow mode
settings-general-interface-dev_mode-description = this mode can be wowseffuw if you need in-dipth data owow to intewact with cownnected twackaws on a wowowe wowadvanced wowwevew
settings-general-interface-dev_mode-label = devwowwewow mode
settings-general-interface-theme = cowor theem
settings-general-interface-show-navbar-onboarding = show "{ navbar-onboarding }" on da nawigation bar
settings-general-interface-show-navbar-onboarding-description = dis change if da "{ navbar-onboarding }" button show on da nawigashun bar!
@@ -577,9 +577,6 @@ settings-general-interface-connected_trackers_warning-label = Connected twackews
## Behavior settings
settings-interface-behavior = behavur
settings-general-interface-dev_mode = devwowwewow mode
settings-general-interface-dev_mode-description = this mode can be wowseffuw if you need in-dipth data owow to intewact with cownnected twackaws on a wowowe wowadvanced wowwevew
settings-general-interface-dev_mode-label = devwowwewow mode
settings-general-interface-use_tray = minimaize to systewm tway
settings-general-interface-use_tray-description = wets u cwose the wimdOwOw wifhout cwosing da SwimeVR Sewvew so uou can keep using it withowt da GUI bohtewing u.
settings-general-interface-use_tray-label = minimaize to systewm tway
@@ -610,7 +607,6 @@ settings-serial-factory_reset-warning =
which means wi-fi and cawibwation settings <b>wiww aww be wost!</b>
settings-serial-factory_reset-warning-ok = i know what I'm doing :3
settings-serial-factory_reset-warning-cancel = cancew
settings-serial-get_infos = get infows
settings-serial-serial_select = sewect a shewyaw pawt
settings-serial-auto_dropdown_item = awto
settings-serial-get_wifi_scan = get wifi scan uwu
@@ -697,6 +693,9 @@ settings-osc-vmc-mirror_tracking = miwwow twacking
settings-osc-vmc-mirror_tracking-description = miwwow da twacking howizawntawwy.
settings-osc-vmc-mirror_tracking-label = miwwow twacking
## Common OSC settings
## Advanced settings
settings-utils-advanced-reset_warning =
@@ -817,17 +816,16 @@ onboarding-connect_tracker-connection_status-done = cownyected to teh sewvew
# if $amount is 0 then we say "No trackers connected"
onboarding-connect_tracker-connected_trackers =
{ $amount ->
[0] no twackers
[one] 1 twackers
*[other] { $amount } twackers
} cownyected
[0] no twackers cownyected
[one] 1 twackers cownyected
*[other] { $amount } twackers cownyected
}
onboarding-connect_tracker-next = i cownyected awe my twackaws
## Tracker calibration tutorial
onboarding-calibration_tutorial = imu cawibwashun tutowiawl
onboarding-calibration_tutorial-subtitle = dis will hewp weduce twackew dwifting!!!
onboarding-calibration_tutorial-description = evewy time you tuwn on youw twackews, dey need to west fow a moment on a fwat suwface to cawibwate. wet's do da same ting by booping da "{ onboarding-calibration_tutorial-calibrate }" buddon, <b>do nyot move dem!!!</b>
onboarding-calibration_tutorial-calibrate = i pwace da twackew on da tabwe
onboarding-calibration_tutorial-status-waiting = waiiiting fur u
onboarding-calibration_tutorial-status-calibrating = cawibwating
@@ -854,10 +852,10 @@ onboarding-assign_trackers-description = wets choyse which twackaw goes whewe. c
# $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 twackaws
*[other] { $trackers } twackaws
} assigned
{ $trackers ->
[one] { $assigned } of 1 twackaws assigned
*[other] { $assigned } of { $trackers } twackaws assigned
}
onboarding-assign_trackers-advanced = show advanced assign wocations
onboarding-assign_trackers-next = i assigned awe the twackaws
onboarding-assign_trackers-mirror_view = miwwow vyew
@@ -995,8 +993,6 @@ onboarding-automatic_mounting-mounting_reset-title = meownting weset
onboarding-automatic_mounting-mounting_reset-step-0 = 1. squawt in a "skiing" pose with yowo wegs bent, yowo upper body tilted fowwawds, and yowo awems bent.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. pwess the "weset meownting" button and wait fow 3 seconds befowe the twackaws' meownting wowations will weset.
onboarding-automatic_mounting-preparation-title = pwepaiwation
onboarding-automatic_mounting-preparation-step-0 = 1. stand upwight with yowo awems to yowo sides.
onboarding-automatic_mounting-preparation-step-1 = 2. pwess the "fuww weset" button and wait fow 3 seconds befowe the twackaws will weset.
onboarding-automatic_mounting-put_trackers_on-title = put on yowo twackaws
onboarding-automatic_mounting-put_trackers_on-description = to cawibwate meownting wowations, we'we gonna use the twackaws yowo just assigned. put on awe yowo twackaws, yowo can see which awe which in the figuwe to the wowight.
onboarding-automatic_mounting-put_trackers_on-next = i haff awe my twackaws on
@@ -1005,12 +1001,8 @@ onboarding-automatic_mounting-put_trackers_on-next = i haff awe my twackaws on
onboarding-manual_proportions-back = go bawck to weset tutowiaw
onboarding-manual_proportions-title = manyuaw bodee pwopowtiesions
onboarding-manual_proportions-precision = pwecision adjusty
onboarding-manual_proportions-auto = owtomatic cawybwation
onboarding-manual_proportions-ratio = ajust by watio gwoups
onboarding-manual_proportions-fine_tuning_button = automaticawwy fine tuwune propowtions
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = pwease connect a vr headset to use automatic fine tuwuning
onboarding-manual_proportions-import-failed = faiwed :(
## Tracker automatic proportions setup
@@ -1115,6 +1107,9 @@ onboarding-scaled_proportions-reset_proportion-description = to set youw pwopowt
onboarding-scaled_proportions-done-title = body pwopowtions set
onboarding-scaled_proportions-done-description = youw body pwopowtions shuld nao be configuwed based on youw heit :3
## Stay Aligned setup
## Home
home-no_trackers = no twackaws detecyted owo wowigned
@@ -1153,68 +1148,8 @@ firmware_tool = DIY fiwmwawe toow
firmware_tool-description = awwows u to configuwe an fwash youw DIY twackews
firmware_tool-not_available = oopsie woopsie! da fiwmwawe toow iz nawt avaiwabwe wight meow :3 twy agen laitew!
firmware_tool-not_compatible = teh fiwmwawe toow iz nawt compatibwe wit dis vershun of teh sewvew. pwease uwupdate youw sewvew!
firmware_tool-board_step = sewect youw boawd
firmware_tool-board_step-description = sewect wun of da boawds wisted bewow owo
firmware_tool-board_pins_step = check da pins
firmware_tool-board_pins_step-description =
pwease vewify dat da pins hewe r cowwect.
if u fowwowed teh swimevr docs teh defawt vawuwes shuld be cowwect
firmware_tool-board_pins_step-enable_led = enabwe da wights
firmware_tool-board_pins_step-led_pin =
.label = pin fow teh wight
.placeholder = put in teh pin addwess fow teh wight
firmware_tool-board_pins_step-battery_type = sewect da battewy taip
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = extewnaw battewy
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = intewnaw battewy
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = intewnaw mcp 3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = mcp3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = battewy sensow pin
.placeholder = put in teh pin addwess fow teh battewy sensow
firmware_tool-board_pins_step-battery_resistor =
.label = battewy wesistow (owms)
.placeholder = put in teh vawue fow teh battewy wesistow
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = battewy shiewd r1 (owms)
.placeholder = put in teh vawue of battewy shiewd r1
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = battewy shiewd r2 (owms)
.placeholder = put in teh vawue of battewy shiewd r2
firmware_tool-add_imus_step = decwawe youw imuwus
firmware_tool-add_imus_step-description =
pwease add teh imuwus dat youw twackew got
if u fowwowed teh swimevr docsteh defawt vawuwes shuld be cowwect
firmware_tool-add_imus_step-imu_type-label = imuwu taip
firmware_tool-add_imus_step-imu_type-placeholder = sewect teh taip of imuwu
firmware_tool-add_imus_step-imu_rotation =
.label = imuwu wotaishun (degwees)
.placeholder = wotaishun angle of teh imuwu
firmware_tool-add_imus_step-scl_pin =
.label = scl pin
.placeholder = pin addwess of scl
firmware_tool-add_imus_step-sda_pin =
.label = sda pin
.placeholder = pin addwess of sda
firmware_tool-add_imus_step-int_pin =
.label = int pin
.placeholder = pin addwess of int
firmware_tool-add_imus_step-optional_tracker =
.label = opshunal twackew
firmware_tool-add_imus_step-show_less = show wess
firmware_tool-add_imus_step-show_more = show mowe
firmware_tool-add_imus_step-add_more = add mowe imuwus!!
firmware_tool-select_firmware_step = sewect teh fiwmwawe vershun
firmware_tool-select_firmware_step-description = pwease chooze wat vershun of teh fiwmwawe u wanna use
firmware_tool-select_firmware_step-show-third-party =
.label = show thiwd pawty fiwmwawes
firmware_tool-flash_method_step = fwashin mefod
firmware_tool-flash_method_step-description = pwease sewect teh fwashin mefod u wanna use
firmware_tool-flash_method_step-ota =
.label = ovew teh aiw
.description = use da ovew teh aiw mefod. youw twackew wiww use da wifi to uwupdate its fiwmwawe :3 but it ownwy wowks on awedy fwashed twackews!
firmware_tool-flash_method_step-serial =
.label = sewiaw
.description = use an usb cabwe to uwupdate youw twackew.
firmware_tool-flashbtn_step = pwess da buwut buddon
firmware_tool-flashbtn_step-description = befow goin into da next step thewe's stuff u gotta do
firmware_tool-flashbtn_step-board_SLIMEVR = tuwn awf da twackew, wemove da case if u got wun, conecc an usb cabwe to dis compooper, den do wun of da fowwowin steps dependin on wat swimevr boawd u got:
@@ -1236,16 +1171,12 @@ firmware_tool-build_step = bildin
firmware_tool-build_step-description = da fiwmwawe is bildin pwease wait :3
firmware_tool-flashing_step = fwashin
firmware_tool-flashing_step-description = youw twackews r fwashin, pwease fowwow da instwucshuns on da scween
firmware_tool-flashing_step-warning = do NAWT unpwug ow westawt da twackew duwin da upwoad pwocess unwess towd to, it culd make youw boawd unuwusabwe
firmware_tool-flashing_step-flash_more = fwash mowe twackews
firmware_tool-flashing_step-exit = exit
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = cweatin da bild fowdew
firmware_tool-build-DOWNLOADING_FIRMWARE = downwoadin da fiwmwawe
firmware_tool-build-EXTRACTING_FIRMWARE = extwactin da fiwmwawe
firmware_tool-build-SETTING_UP_DEFINES = configuwin da defains
firmware_tool-build-BUILDING = bildin da fiwmwawe
firmware_tool-build-SAVING = savin da bild
firmware_tool-build-DONE = bild compwete!
@@ -1254,7 +1185,6 @@ firmware_tool-build-ERROR = unabwe to bild da fiwmwawe...
## Firmware update status
firmware_update-status-DOWNLOADING = downwoadin da fiwmwawe
firmware_update-status-NEED_MANUAL_REBOOT = pwease westawt da twackew
firmware_update-status-AUTHENTICATING = awthenticatin wit da mcu
firmware_update-status-UPLOADING = upwoadin da fiwmwawe
firmware_update-status-SYNCING_WITH_MCU = syncin wit da mcu

View File

@@ -7,9 +7,9 @@
## Websocket (server) status
websocket-connecting = Loading...
websocket-connection_lost = The server crashed!
websocket-connection_lost-desc = It looks like the SlimeVR server crashed. Check the logs and restart the program
websocket-connection_lost-desc = It looks like the SlimeVR server crashed. Check the logs and restart the program.
websocket-timedout = Could not connect to the server
websocket-timedout-desc = It looks like the SlimeVR server crashed or timed out. Check the logs and restart the program
websocket-timedout-desc = It looks like the SlimeVR server crashed or timed out. Check the logs and restart the program.
websocket-error-close = Exit SlimeVR
websocket-error-logs = Open the logs Folder
@@ -23,8 +23,8 @@ version_update-close = Close
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-tap_setup = You can slowly tap your tracker 2 times to choose it instead of selecting it from the menu.
tips-turn_on_tracker = Using official SlimeVR trackers? Don't forget to <b><em>turn on your tracker</em></b> after connecting it to the PC!
tips-failed_webgl = Failed to initialize WebGL.
## Body parts
@@ -89,6 +89,8 @@ board_type-WEMOSD1MINI = Wemos D1 Mini
board_type-TTGO_TBASE = TTGO T-Base
board_type-ESP01 = ESP-01
board_type-SLIMEVR = SlimeVR
board_type-SLIMEVR_DEV = SlimeVR Dev Board
board_type-SLIMEVR_V1_2 = SlimeVR v1.2
board_type-LOLIN_C3_MINI = Lolin C3 Mini
board_type-BEETLE32C3 = Beetle ESP32-C3
board_type-ESP32C3DEVKITM1 = Espressif ESP32-C3 DevKitM-1
@@ -139,9 +141,9 @@ skeleton_bone-WAIST-desc =
(sitting down, bending over, lying down, etc.) until your virtual spine matches with your real one.
skeleton_bone-HIP = Hip Length
skeleton_bone-HIP-desc =
This is the distance from your belly button to your hips
To adjust it, adjust your Torso Length properly and modify it in various positions
(sitting down, bending over, lying down, etc.) until your virtual spine matches with your real one.
This is the distance from your belly button to your hips.
To adjust it, set your Torso Length properly and modify it in various positions
(sitting down, bending over, lying down, etc.) until your virtual spine matches your real one.
skeleton_bone-HIP_OFFSET = Hip Offset
skeleton_bone-HIP_OFFSET-desc =
This can be adjusted to move your virtual hip tracker up or down in order to aid
@@ -178,8 +180,8 @@ skeleton_bone-FOOT_SHIFT-desc =
feet line up with the middle of your ankles.
skeleton_bone-SKELETON_OFFSET = Skeleton Offset
skeleton_bone-SKELETON_OFFSET-desc =
This can be adjusted to offsets all your trackers forward or backwards.
It can be used in order to aid with calibration in certain games or applications
This can be adjusted to offset all your trackers forward or backward.
It can be used to help with calibration in certain games or applications
that may expect your trackers to be more forward.
skeleton_bone-SHOULDERS_DISTANCE = Shoulders Distance
skeleton_bone-SHOULDERS_DISTANCE-desc =
@@ -237,6 +239,8 @@ reset-reset_all_warning_default-v2 =
reset-full = Full Reset
reset-mounting = Reset Mounting
reset-mounting-feet = Reset Feet Mounting
reset-mounting-fingers = Reset Fingers Mounting
reset-yaw = Yaw Reset
## Serial detection stuff
@@ -259,6 +263,7 @@ navbar-settings = Settings
## Biovision hierarchy recording
bvh-start_recording = Record BVH
bvh-recording = Recording...
bvh-save_title = Save BVH recording
## Tracking pause
tracking-unpaused = Pause tracking
@@ -273,7 +278,7 @@ widget-overlay-is_mirrored_label = Display Overlay as Mirror
widget-drift_compensation-clear = Clear drift compensation
## Widget: Clear Reset Mounting
widget-clear_mounting = Clear reset mounting
widget-clear_mounting = Clear Reset Mounting
## Widget: Developer settings
widget-developer_mode = Developer Mode
@@ -331,7 +336,7 @@ 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-rotation-overriden = (overridden by mounting reset)
## Tracker information
tracker-infos-manufacturer = Manufacturer
@@ -378,11 +383,13 @@ tracker-settings-name_section-description = Give it a cute nickname :)
tracker-settings-name_section-placeholder = NightyBeast's left leg
tracker-settings-name_section-label = Tracker name
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-description = Removes the tracker from the SlimeVR Server and prevents it from connecting until the server is restarted. The configuration of the tracker won't be lost.
tracker-settings-forget-label = Forget tracker
tracker-settings-update-unavailable = Cannot be updated (DIY)
tracker-settings-update-unavailable-v2 = No releases found
tracker-settings-update-incompatible = Cannot update. Incompatible board
tracker-settings-update-low-battery = Cannot update. Battery lower than 50%
tracker-settings-update-up_to_date = Up to date
tracker-settings-update-blocked = Update not available. No other releases available
tracker-settings-update-available = { $versionName } is now available
tracker-settings-update = Update now
tracker-settings-update-title = Firmware version
@@ -393,7 +400,7 @@ 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-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
@@ -436,8 +443,8 @@ 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!
<b>Warning:</b> A neck tracker can be deadly if adjusted too tightly;
the strap could cut off circulation to your head!
tracker_selection_menu-neck_warning-done = I understand the risks
tracker_selection_menu-neck_warning-cancel = Cancel
@@ -485,7 +492,7 @@ 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-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?
@@ -498,7 +505,7 @@ 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.
Prediction predicts movement while smoothing smooths 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.
@@ -511,8 +518,8 @@ settings-general-tracker_mechanics-yaw-reset-smooth-time = Yaw reset smooth time
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.
Compensates for IMU yaw drift by applying an inverse rotation.
Change the amount of compensation and the number of resets taken into account.
This should only be used if you need to reset very often!
settings-general-tracker_mechanics-drift_compensation-enabled-label = Drift compensation
settings-general-tracker_mechanics-drift_compensation-prediction = Drift compensation prediction
@@ -577,18 +584,21 @@ 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-skating_correction-description = Skating-correction corrects for ice skating, but can decrease accuracy in certain movement patterns. When enabling this, make sure to perform a full reset and recalibrate in-game.
settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip can reduce or eliminate clipping through the floor. When enabling this, make sure to perform a 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 foot 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-leg_fk-reset_mounting_feet-description-v1 = Force feet mounting reset during general mounting resets.
settings-general-fk_settings-leg_fk-reset_mounting_feet-v1 = Force feet mounting reset
settings-general-fk_settings-enforce_joint_constraints = Skeletal Limits
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Enforce constraints
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Prevents joints from rotating past their limit
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = Correct with constraints
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = Correct joint rotations when they push past their limit
settings-general-fk_settings-ik = Position data
settings-general-fk_settings-ik-use_position = Use Position data
settings-general-fk_settings-ik-use_position-description = Enables the use of position data from trackers that provide it. When enabling this make sure to full reset and recalibrate in game.
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
@@ -599,11 +609,11 @@ settings-general-fk_settings-arm_fk-reset_mode-description = Change which arm po
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_up-description = Expects your arms to be down at your 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-tpose_down-description = Expects your arms to be 90 degrees up to the sides during Full Reset, and down at your 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-arm_fk-forward-description = Expects your arms to be raised forward at 90 degrees. 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
@@ -658,10 +668,10 @@ settings-general-interface-dev_mode-description = This mode can be useful if you
settings-general-interface-dev_mode-label = Developer Mode
settings-general-interface-theme = Color theme
settings-general-interface-show-navbar-onboarding = Show "{ navbar-onboarding }" on navigation bar
settings-general-interface-show-navbar-onboarding-description = This changes if the "{ navbar-onboarding }" button shows on the navigation bar.
settings-general-interface-show-navbar-onboarding-description = This changes whether the "{ navbar-onboarding }" button shows on the navigation bar.
settings-general-interface-show-navbar-onboarding-label = Show "{ navbar-onboarding }"
settings-general-interface-lang = Select language
settings-general-interface-lang-description = Change the default language you want to use.
settings-general-interface-lang-description = Change the default language.
settings-general-interface-lang-placeholder = Select the language to use
# Keep the font name untranslated
settings-interface-appearance-font = GUI font
@@ -678,10 +688,10 @@ settings-interface-appearance-decorations-label = Use native decorations
## 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-description = This option will show a pop-up every time you plug in a new serial device that could be a tracker. It helps to improve 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-description = This option plays 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
@@ -691,10 +701,10 @@ settings-general-interface-connected_trackers_warning-label = Connected trackers
## Behavior settings
settings-interface-behavior = Behavior
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-description = This mode can be useful if you need in-depth data or need to interact with connected trackers on a more advanced level.
settings-general-interface-dev_mode-label = Developer Mode
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-description = Lets you close the window without closing the SlimeVR Server so you can continue using it without having the GUI bother 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.
@@ -713,6 +723,9 @@ settings-interface-behavior-error_tracking-description_v2 =
To provide the best user experience, we collect anonymized error reports, performance metrics, and operating system information. This helps us detect bugs and issues with SlimeVR. These metrics are collected via Sentry.io.
settings-interface-behavior-error_tracking-label = Send errors to developers
settings-interface-behavior-bvh_directory = Directory to save BVH recordings
settings-interface-behavior-bvh_directory-description = Choose a directory to save your BVH recordings instead of having to choose where to save them each time.
settings-interface-behavior-bvh_directory-label = Directory for BVH recordings
## Serial settings
settings-serial = Serial Console
@@ -730,19 +743,24 @@ settings-serial-factory_reset-warning =
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
settings-serial-send_command = Send
settings-serial-send_command-placeholder = Command...
settings-serial-send_command-warning =
<b>Warning:</b> Running serial commands can lead to data loss or brick the trackers.
settings-serial-send_command-warning-ok = I know what I'm doing
settings-serial-send_command-warning-cancel = Cancel
## 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.
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
@@ -802,7 +820,7 @@ 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.
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
@@ -828,6 +846,10 @@ 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
## Common OSC settings
settings-osc-common-network-ports_match_error = The OSC Router in and out ports can't be the same!
settings-osc-common-network-port_banned_error = The port { $port } can't be used!
## Advanced settings
settings-utils-advanced = Advanced
@@ -888,30 +910,30 @@ onboarding-wifi_creds-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-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.
onboarding-reset_tutorial-0 = Tap the highlighted tracker { $taps } times to trigger a 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.
onboarding-reset_tutorial-1 = Tap the highlighted tracker { $taps } times to trigger a 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.
onboarding-reset_tutorial-2 = Tap the highlighted tracker { $taps } times to trigger a 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.
Mounting reset adjusts for how trackers are placed on your body. If they've moved or rotated significantly, this helps recalibrate their orientation.
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.
You need to be in a pose like you are skiing as shown in 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-back = Go Back to Tracker assignment
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
@@ -940,13 +962,13 @@ onboarding-connect_tracker-connection_status-done = Connected to the Server
onboarding-connect_tracker-connection_status-no_serial_log = Could not get logs from the tracker
onboarding-connect_tracker-connection_status-no_serial_device_found = Could not find a tracker from USB
onboarding-connect_serial-error-modal-no_serial_log = Is the tracker turned on?
onboarding-connect_serial-error-modal-no_serial_log-desc = Make sure the tracker is turned on and connected to your computer
onboarding-connect_serial-error-modal-no_serial_log-desc = Make sure the tracker is turned on and connected to your computer.
onboarding-connect_serial-error-modal-no_serial_device_found = No trackers detected
onboarding-connect_serial-error-modal-no_serial_device_found-desc =
Please connect a tracker with the provided usb cable to your computer and turn the tracker on.
Please connect a tracker with the provided USB cable to your computer and turn the tracker on.
If this does not work:
- try with another usb cable
- try with another usb port
- try using a different USB cable
- try using a different USB port
- try reinstalling the SlimeVR server and select "USB Drivers" in the components section
# $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
@@ -963,8 +985,8 @@ 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-description-v1 = After turning on your trackers, place them on a stable surface for a moment to allow for calibration. Calibration can be performed at any time after the trackers are powered on—this page simply provides a tutorial. To begin, click the "{ onboarding-calibration_tutorial-calibrate }" button, then <b>do not move your trackers!</b>
onboarding-calibration_tutorial-calibrate = I placed my trackers on a table
onboarding-calibration_tutorial-status-waiting = Waiting for you
onboarding-calibration_tutorial-status-calibrating = Calibrating
onboarding-calibration_tutorial-status-success = Nice!
@@ -1118,6 +1140,7 @@ onboarding-automatic_mounting-preparation-v2-step-2 = 3. Hold the position until
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
onboarding-automatic_mounting-return-home = Done
## Tracker manual proportions setupa
onboarding-manual_proportions-back = Go Back to Reset tutorial
@@ -1155,9 +1178,9 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
onboarding-automatic_proportions-requirements-next = I have read the requirements
onboarding-automatic_proportions-check_height-title-v3 = Measure your headset height
onboarding-automatic_proportions-check_height-description-v2 = Your headset (HMD) height should be slightly less than your full height, as headsets measure your eye height. This measurement will be used as a baseline for your body proportions.
onboarding-automatic_proportions-check_height-description-v2 = Your headset (HMD) height should be slightly less than your full height because headsets measure your eye height. This measurement will be used as a baseline for your body proportions.
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning-v3 = Start measuring while standing <u>upright</u> to measure your height. Be careful to not raise your hands higher than your headset, as they may affect the measurement!
onboarding-automatic_proportions-check_height-calculation_warning-v3 = Start measuring while standing <u>upright</u> to measure your height. Be careful not to raise your hands higher than your headset, as they may affect the measurement!
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!
# Context is that the height is unknown
@@ -1192,9 +1215,9 @@ onboarding-automatic_proportions-recording-description-p1 = Make the moves shown
# 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.
Bend your back forward and squat. While squatting, look to your left, then to your right.
Twist your upper body to the left (counter-clockwise), then reach down toward the ground.
Twist your upper body to the right (clockwise), then reach down toward 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
@@ -1235,7 +1258,7 @@ onboarding-scaled_proportions-manual_height-estimated_height = Your estimated he
onboarding-scaled_proportions-manual_height-next_step = Continue and save
onboarding-scaled_proportions-manual_height-warning =
You are currently using the manual way of setting up scaled proportions!
<b>This mode is recommended only if you do not use a HMD with SlimeVR</b>
<b>This mode is recommended only if you do not use an HMD with SlimeVR.</b>
To be able to use the automatic scaled proportions please:
onboarding-scaled_proportions-manual_height-warning-no_hmd = Connect a VR Headset
@@ -1258,10 +1281,10 @@ onboarding-stay_aligned-verify_mounting-title = Check your Mounting
onboarding-stay_aligned-verify_mounting-step-0 = Stay Aligned requires good mounting. Otherwise, you won't get a good experience with Stay Aligned.
onboarding-stay_aligned-verify_mounting-step-1 = 1. Move around while standing.
onboarding-stay_aligned-verify_mounting-step-2 = 2. Sit down and move your legs and feet.
onboarding-stay_aligned-verify_mounting-step-3 = 3. If your trackers aren't in the right place, press "Redo Mounting Calibration"
onboarding-stay_aligned-verify_mounting-step-3 = 3. If your trackers aren't in the right place, press "Redo Mounting Calibration".
onboarding-stay_aligned-verify_mounting-redo_mounting = Redo Mounting calibration
onboarding-stay_aligned-preparation-title = Preparation
onboarding-stay_aligned-preparation-tip = Make sure to stand upright. You must be looking forward and your arms must be down to your sides.
onboarding-stay_aligned-preparation-tip = Make sure to stand upright. Keep looking forward with your arms down at your sides.
onboarding-stay_aligned-relaxed_poses-standing-title = Relaxed Standing Pose
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Stand in a comfortable position. Relax!
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. Press the "Save pose" button.
@@ -1274,7 +1297,7 @@ onboarding-stay_aligned-relaxed_poses-flat-step-1-v2 = 2. Press the "Save pose"
onboarding-stay_aligned-relaxed_poses-skip_step = Skip
onboarding-stay_aligned-done-title = Stay Aligned enabled!
onboarding-stay_aligned-done-description = Your Stay Aligned setup is complete!
onboarding-stay_aligned-done-description-2 = Setup is complete! You may restart the process if you want to re-calibrate the poses
onboarding-stay_aligned-done-description-2 = Setup is complete! You may restart the process if you want to recalibrate the poses.
onboarding-stay_aligned-previous_step = Previous
onboarding-stay_aligned-next_step = Next
onboarding-stay_aligned-restart = Restart
@@ -1299,7 +1322,10 @@ status_system-StatusSteamVRDisconnected = { $type ->
}
status_system-StatusTrackerError = The { $trackerName } tracker has an error.
status_system-StatusUnassignedHMD = The VR headset should be assigned as a head tracker.
status_system-StatusPublicNetwork = Your network profile is currently set to Public. This is not recomended for SlimeVR to function properly. <PublicFixLink>See how to fix it here.</PublicFixLink>
status_system-StatusPublicNetwork = {$count ->
[one] Your network profile is currently set to Public ({$adapters}). This is not recommended for SlimeVR to function properly. <PublicFixLink>See how to fix it here.</PublicFixLink>
*[many] Some of your network adapters are set to public: {$adapters}. This is not recommended for SlimeVR to function properly. <PublicFixLink>See how to fix it here.</PublicFixLink>
}
## Firmware tool globals
@@ -1317,95 +1343,55 @@ firmware_tool-description =
firmware_tool-not_available = Oops, the firmware tool is not available at the moment. Come back later!
firmware_tool-not_compatible = The firmware tool is not compatible with this version of the server. Please update your server!
firmware_tool-board_step = Select your Board
firmware_tool-board_step-description = Select one of the boards listed below.
firmware_tool-select_source = Select the firmware to flash
firmware_tool-select_source-description = Select the firmware you want to flash on your board
firmware_tool-select_source-error = Unable to load Sources
firmware_tool-select_source-board_type = Board Type
firmware_tool-select_source-firmware = Firmware Source
firmware_tool-select_source-version = Firmware Version
firmware_tool-select_source-official = Official
firmware_tool-select_source-dev = Dev
firmware_tool-board_pins_step = Check the pins
firmware_tool-board_pins_step-description =
Please verify that the selected pins are correct.
If you followed the SlimeVR documentation the defaults values should be correct
firmware_tool-board_pins_step-enable_led = Enable LED
firmware_tool-board_pins_step-led_pin =
.label = LED Pin
.placeholder = Enter the pin address of the LED
firmware_tool-board_pins_step-battery_type = Select the battery type
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = External battery
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Internal battery
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = Internal MCP3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Battery sensor Pin
.placeholder = Enter the pin address of battery sensor
firmware_tool-board_pins_step-battery_resistor =
.label = Battery Resistor (Ohms)
.placeholder = Enter the value of battery resistor
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Battery Shield R1 (Ohms)
.placeholder = Enter the value of Battery Shield R1
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Battery Shield R2 (Ohms)
.placeholder = Enter the value of Battery Shield R2
firmware_tool-add_imus_step = Declare your IMUs
firmware_tool-add_imus_step-description =
Please add the IMUs that your tracker has
If you followed the SlimeVR documentation the defaults values should be correct
firmware_tool-add_imus_step-imu_type-label = IMU type
firmware_tool-add_imus_step-imu_type-placeholder = Select the type of IMU
firmware_tool-add_imus_step-imu_rotation =
.label = IMU Rotation (deg)
.placeholder = Rotation angle of the IMU
firmware_tool-add_imus_step-scl_pin =
.label = SCL Pin
.placeholder = Pin address of SCL
firmware_tool-add_imus_step-sda_pin =
.label = SDA Pin
.placeholder = Pin address of SDA
firmware_tool-add_imus_step-int_pin =
.label = INT Pin
.placeholder = Pin address of INT
firmware_tool-add_imus_step-optional_tracker =
.label = Optional tracker
firmware_tool-add_imus_step-show_less = Show Less
firmware_tool-add_imus_step-show_more = Show More
firmware_tool-add_imus_step-add_more = Add more IMUs
firmware_tool-select_firmware_step = Select the firmware version
firmware_tool-select_firmware_step-description =
Please choose what version of the firmware you want to use
firmware_tool-select_firmware_step-show-third-party =
.label = Show third party firmwares
firmware_tool-board_defaults = Configure your board
firmware_tool-board_defaults-description = Set the pins or settings relative to your hardware
firmware_tool-board_defaults-add = Add
firmware_tool-board_defaults-reset = Reset to Default
firmware_tool-board_defaults-error-required = Required field
firmware_tool-board_defaults-error-format = Invalid format
firmware_tool-board_defaults-error-format-number = Not a number
firmware_tool-flash_method_step = Flashing Method
firmware_tool-flash_method_step-description =
Please select the flashing method you want to use
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Use the over the air method. Your tracker will use the Wi-Fi to update it's firmware. Works only on already setup trackers.
firmware_tool-flash_method_step-serial =
.label = Serial
firmware_tool-flash_method_step-ota-v2 =
.label = Wi-Fi
.description = Use the over-the-air method. Your tracker will use Wi-Fi to update its firmware. Only works on trackers that have been set up.
firmware_tool-flash_method_step-ota-info =
We use your wifi credentials to flash the tracker and confirm that everything worked correctly.
<b>We do not store your wifi credentials!</b>
firmware_tool-flash_method_step-serial-v2 =
.label = USB
.description = Use a USB cable to update your tracker.
firmware_tool-flashbtn_step = Press the boot btn
firmware_tool-flashbtn_step-description = Before going into the next step there is a few things you need to do
firmware_tool-flashbtn_step-board_SLIMEVR = Turn off the tracker, remove the case (if any), connect a USB cable to this computer, then do one of the following steps according to your SlimeVR board revision:
firmware_tool-flashbtn_step-board_SLIMEVR-r11 = Turn on the tracker while shorting the second rectangular FLASH pad from the edge on the top side of the board, and the metal shield of the microcontroller
firmware_tool-flashbtn_step-board_SLIMEVR-r12 = Turn on the tracker while shorting the circular FLASH pad on the top side of the board, and the metal shield of the microcontroller
firmware_tool-flashbtn_step-board_SLIMEVR-r14 = Turn on the tracker while pushing in the FLASH button on the top side of the board
firmware_tool-flashbtn_step-board_OTHER = Before flashing you will probably need to put the tracker into bootloader mode.
Most of the time it means pressing the boot button on the board before the flashing process starts.
If the flashing process timeout at the begining of the flashing it probably means that the tracker was not in bootloader mode
Please refer to the flashing instructions of your board to know how to turn on the boatloader mode
firmware_tool-flashbtn_step-description = Before going to the next step, there are a few things you need to do
firmware_tool-flashbtn_step-board_SLIMEVR = Turn off the tracker, remove the case (if any), connect the USB cable to your computer, then follow the appropriate steps for your SlimeVR board revision:
firmware_tool-flashbtn_step-board_SLIMEVR-r11 = Turn on the tracker while shorting the second rectangular FLASH pad from the edge on the top side of the board to the metal shield of the microcontroller.
firmware_tool-flashbtn_step-board_SLIMEVR-r12 = Turn on the tracker while shorting the circular FLASH pad on the top side of the board to the metal shield of the microcontroller.
firmware_tool-flashbtn_step-board_SLIMEVR-r14 = Turn on the tracker while pushing in the FLASH button on the top side of the board.
firmware_tool-flashbtn_step-board_OTHER = Before flashing, you will probably need to put the tracker into bootloader mode.
Most of the time, this means pressing the boot button on the board before the flashing process starts.
If the flashing process times out at the start, it probably means that the tracker was not in bootloader mode.
Refer to your board's flashing instructions to learn how to enter bootloader mode.
firmware_tool-flash_method_ota-title = Flashing over Wi-Fi
firmware_tool-flash_method_ota-devices = Detected OTA Devices:
firmware_tool-flash_method_ota-no_devices = There are no boards that can be updated using OTA, make sure you selected the correct board type
firmware_tool-flash_method_serial-title = Flashing over USB
firmware_tool-flash_method_serial-wifi = Wi-Fi Credentials:
firmware_tool-flash_method_serial-devices-label = Detected Serial Devices:
firmware_tool-flash_method_serial-devices-placeholder = Select a serial device
@@ -1423,10 +1409,10 @@ firmware_tool-flashing_step-flash_more = Flash more trackers
firmware_tool-flashing_step-exit = Exit
## firmware tool build status
firmware_tool-build-QUEUED = Waiting to build....
firmware_tool-build-CREATING_BUILD_FOLDER = Creating the build folder
firmware_tool-build-DOWNLOADING_FIRMWARE = Downloading the firmware
firmware_tool-build-EXTRACTING_FIRMWARE = Extracting the firmware
firmware_tool-build-SETTING_UP_DEFINES = Configuring the defines
firmware_tool-build-DOWNLOADING_SOURCE = Downloading the source code
firmware_tool-build-EXTRACTING_SOURCE = Extracting the source code
firmware_tool-build-BUILDING = Building the firmware
firmware_tool-build-SAVING = Saving the build
firmware_tool-build-DONE = Build Complete
@@ -1453,8 +1439,8 @@ firmware_update-status-ERROR_UNKNOWN = Unknown error
## Dedicated Firmware Update Page
firmware_update-title = Firmware update
firmware_update-devices = Available Devices
firmware_update-devices-description = Please select the trackers you want to update to the latest version of SlimeVR firmware
firmware_update-no_devices = Plase make sure that the trackers you want to update are ON and connected to the Wi-Fi!
firmware_update-devices-description = Please select the trackers you want to update to the latest version of SlimeVR firmware.
firmware_update-no_devices = Please make sure that the trackers you want to update are ON and connected to the Wi-Fi!
firmware_update-changelog-title = Updating to {$version}
firmware_update-looking_for_devices = Looking for devices to update...
firmware_update-retry = Retry
@@ -1469,7 +1455,7 @@ 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.
tray_or_exit_modal-description = Choose whether to exit the server or minimize it to the tray when clicking the close button.
You can change this later in the interface settings!
tray_or_exit_modal-radio-exit = Exit on close

View File

@@ -7,8 +7,8 @@
## Websocket (server) status
websocket-connecting = Conectando al servidor
websocket-connection_lost = Conexión al servidor perdida. Intentando reconectar...
websocket-connecting = Cargando...
websocket-connection_lost = ¡El servidor falló!
websocket-connection_lost-desc = Parece que el servidor de SlimeVR ha dejado de funcionar. Revise los registros y reinicie el programa.
websocket-timedout = No se ha podido conectar al servidor.
websocket-timedout-desc = Parece que el servidor de SlimeVR ha dejado de funcionar o se agotó el tiempo de espera de la conexión. Revise los registros y reinicie el programa
@@ -95,6 +95,8 @@ board_type-WEMOSD1MINI = Wemos D1 Mini
board_type-TTGO_TBASE = TTGO T-Base
board_type-ESP01 = ESP-01
board_type-SLIMEVR = SlimeVR
board_type-SLIMEVR_DEV = Placa de Desarrollo de SlimeVR
board_type-SLIMEVR_V1_2 = SlimeVR v1.2
board_type-LOLIN_C3_MINI = Lolin C3 Mini
board_type-BEETLE32C3 = Beetle ESP32-C3
board_type-ESP32C3DEVKITM1 = Espressif ESP32-C3 DevKitM-1
@@ -244,6 +246,8 @@ reset-reset_all_warning_default-v2 =
¿Estás seguro de que quieres hacer esto?
reset-full = Reinicio completo
reset-mounting = Reinicio de montura
reset-mounting-feet = Restablecer montura de los pies
reset-mounting-fingers = Restablecer montura de los dedos
reset-yaw = Reinicio horizontal
## Serial detection stuff
@@ -269,6 +273,7 @@ navbar-settings = Ajustes
bvh-start_recording = Grabar BVH
bvh-recording = Grabando...
bvh-save_title = Guardar grabación BVH
## Tracking pause
@@ -403,9 +408,11 @@ tracker-settings-name_section-label = Nombre del sensor
tracker-settings-forget = Olvidar tracker
tracker-settings-forget-description = Remueve el tracker del servidor de SlimeVR y lo previene de conectarse hasta que el servidor se reinicie. La configuración del tracker no se perderá.
tracker-settings-forget-label = Olvidar tracker
tracker-settings-update-unavailable = No se puede actualizar (DIY)
tracker-settings-update-unavailable-v2 = No se encontraron lanzamientos
tracker-settings-update-incompatible = No se puede actualizar. Placa incompatible
tracker-settings-update-low-battery = No se puede actualizar. Batería por debajo del 50%
tracker-settings-update-up_to_date = Actualizado
tracker-settings-update-blocked = Actualización no disponible. No hay otras versiones disponibles
tracker-settings-update-available = { $versionName } ya está disponible
tracker-settings-update = Actualizar ahora
tracker-settings-update-title = Versión del firmware
@@ -609,8 +616,8 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = El clip del suel
settings-general-fk_settings-leg_tweak-toe_snap-description = El encajado de dedos intenta adivinar la rotación de los pies si sus respectivos trackers no están en uso.
settings-general-fk_settings-leg_tweak-foot_plant-description = El plantado del pie rota los pies para que sean paralelos con el suelo al entrar en contacto.
settings-general-fk_settings-leg_fk = Tracking de piernas
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Activar reinicio de montura para el pie mediante el pararse de puntillas.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reinicio de montura de pies
settings-general-fk_settings-leg_fk-reset_mounting_feet-description-v1 = Forzar el reinicio de la montura de los pies durante los reinicios generales del montaje.
settings-general-fk_settings-leg_fk-reset_mounting_feet-v1 = Forzar reinicio de montura de pies
settings-general-fk_settings-enforce_joint_constraints = Límites esqueléticos
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Imponer restricciones
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Evita que las articulaciones giren más allá de su límite
@@ -722,9 +729,6 @@ settings-general-interface-connected_trackers_warning-label = Advertencia de tra
## Behavior settings
settings-interface-behavior = Comportamiento
settings-general-interface-dev_mode = Modo desarrollador
settings-general-interface-dev_mode-description = Este modo puede ser útil si es que necesitas información a fondo o para un nivel de interacción más avanzado con los sensores conectados.
settings-general-interface-dev_mode-label = Modo desarrollador
settings-general-interface-use_tray = Minimizar a la bandeja del sistema
settings-general-interface-use_tray-description = Permite cerrar la ventana sin cerrar el servidor de SlimeVR para que puedas continuar usándolo sin que te moleste la interfaz.
settings-general-interface-use_tray-label = Minimizar a la bandeja del sistema
@@ -746,6 +750,9 @@ settings-interface-behavior-error_tracking-description_v2 =
Para proveer la mejor experiencia de usuario, recopilamos reportes de errores anonimizados, métricas de rendimiento, e información del sistema operativo. Esto nos ayuda a detectar errores y problemas con SlimeVR. Estas métricas son recopiladas a través de Sentry.io.
settings-interface-behavior-error_tracking-label = Enviar errores a los desarrolladores
settings-interface-behavior-bvh_directory = Carpeta para guardar grabaciones de BVH
settings-interface-behavior-bvh_directory-description = Elige una carpeta para guardar tus grabaciones BVH en lugar de tener que elegir dónde guardarlas cada vez.
settings-interface-behavior-bvh_directory-label = Carpeta de grabaciones BVH
## Serial settings
@@ -764,12 +771,14 @@ settings-serial-factory_reset-warning =
¡Esto significa que los ajustes de calibración y Wi-Fi <b>se perderán</b>!
settings-serial-factory_reset-warning-ok = Sé lo que estoy haciendo
settings-serial-factory_reset-warning-cancel = Cancelar
settings-serial-get_infos = Obtener información
settings-serial-serial_select = Selecciona un puerto serial
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Obtener escaneo WiFi
settings-serial-file_type = Texto sin formato
settings-serial-save_logs = Guardar en archivo
settings-serial-send_command-placeholder = Comando...
settings-serial-send_command-warning-ok = Sé lo que estoy haciendo
settings-serial-send_command-warning-cancel = Cancelar
## OSC router settings
@@ -867,6 +876,11 @@ settings-osc-vmc-mirror_tracking = Invertir el tracking
settings-osc-vmc-mirror_tracking-description = invierte el tracking horizontalmente.
settings-osc-vmc-mirror_tracking-label = Invertir el tracking
## Common OSC settings
settings-osc-common-network-ports_match_error = ¡Los puertos de entrada y salida del Router OSC no pueden ser los mismos!
settings-osc-common-network-port_banned_error = ¡El puerto { $port } no se puede usar!
## Advanced settings
settings-utils-advanced = Avanzado
@@ -1018,7 +1032,7 @@ onboarding-connect_tracker-next = He conectado todos mis sensores
onboarding-calibration_tutorial = Tutorial de calibración de IMU
onboarding-calibration_tutorial-subtitle = ¡Esto te ayudara a reducir la desviación del tracker!
onboarding-calibration_tutorial-description = Cada vez que enciendes tus trackers, van a necesitar descansar un ratito en una superficie plana para calibrarse. Tratemos de hacer lo mismo presionando el botón «{ onboarding-calibration_tutorial-calibrate }», <b>¡No los muevas!</b>
onboarding-calibration_tutorial-description-v1 = Después de encender tus trackers, colócalos en una superficie estable por un momento para permitir la calibración. La calibración se puede realizar en cualquier momento después de encender los trackers—esta página simplemente proporciona un tutorial. Para comenzar, haz clic en el botón «{ onboarding-calibration_tutorial-calibrate }», y luego <b>¡no muevas tus trackers!</b>
onboarding-calibration_tutorial-calibrate = Puse los sensores en una mesa.
onboarding-calibration_tutorial-status-waiting = Esperando por ti
onboarding-calibration_tutorial-status-calibrating = Calibrando
@@ -1045,9 +1059,9 @@ onboarding-assign_trackers-description = Debes escoger dónde van los sensores.
# $assigned (Number) - Trackers that have been assigned a body part
# $trackers (Number) - Trackers connected to the server
onboarding-assign_trackers-assigned =
{ $assigned } de { $trackers ->
[one] 1 sensor asignado
*[other] { $trackers } sensores asignados
{ $trackers ->
[one] { $assigned } de 1 sensor asignado
*[other] { $assigned } de { $trackers } sensores asignados
}
onboarding-assign_trackers-advanced = Mostrar ubicación de asignaciones avanzados.
onboarding-assign_trackers-next = He asignado todos los sensores
@@ -1193,6 +1207,7 @@ onboarding-automatic_mounting-preparation-v2-step-2 = 3. Mantén la posición ha
onboarding-automatic_mounting-put_trackers_on-title = Ponte tus sensores
onboarding-automatic_mounting-put_trackers_on-description = Para calibrar la ubicación de tus monturas, usaremos los sensores que has asignado. Ponte todos tus sensores, puedes ver cuál es cual en la figura de la derecha.
onboarding-automatic_mounting-put_trackers_on-next = Tengo puestos todos mis sensores
onboarding-automatic_mounting-return-home = Hecho
## Tracker manual proportions setupa
@@ -1393,68 +1408,24 @@ firmware_tool = Herramienta de firmware DIY
firmware_tool-description = Le permite configurar y actualizar sus sensores construidos por usted
firmware_tool-not_available = Vaya, la herramienta de firmware no está disponible en este momento. ¡Vuelva más tarde!
firmware_tool-not_compatible = La herramienta de firmware no es compatible con esta versión del servidor. ¡Por favor, actualice la app!
firmware_tool-board_step = Seleccione su placa
firmware_tool-board_step-description = Seleccione una de las placas que se enumeran a continuación.
firmware_tool-board_pins_step = Revisar los pines
firmware_tool-board_pins_step-description =
Verifique que los pines seleccionados sean correctos.
Si siguió la documentación de SlimeVR, los valores predeterminados deben ser correctos
firmware_tool-board_pins_step-enable_led = Habilitar LED
firmware_tool-board_pins_step-led_pin =
.label = Pin del LED
.placeholder = Ingrese la dirección pin del LED
firmware_tool-board_pins_step-battery_type = Seleccione el tipo de batería
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Batería externa
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Batería interna
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = MCP3021 interno
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Pin del sensor de batería
.placeholder = Ingrese la dirección pin del sensor de batería
firmware_tool-board_pins_step-battery_resistor =
.label = Resistencia de la batería (Ohmios)
.placeholder = Ingrese el valor de la resistencia de la batería.
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Shield de la batería R1 (Ohmios).
.placeholder = Ingrese el valor del shield de la batería R1.
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Shield de la batería R2 (Ohmios).
.placeholder = Ingrese el valor del shield de la batería R2.
firmware_tool-add_imus_step = Declare sus IMUs
firmware_tool-add_imus_step-description =
Por favor añada las IMU que tiene su sensor
Si siguió la documentación de SlimeVR, los valores predeterminados deben ser correctos
firmware_tool-add_imus_step-imu_type-label = Tipo de IMU
firmware_tool-add_imus_step-imu_type-placeholder = Seleccione el tipo de IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Rotación del IMU (grados)
.placeholder = Ángulo de rotación del IMU
firmware_tool-add_imus_step-scl_pin =
.label = Pin SCL
.placeholder = Dirección pin SCL
firmware_tool-add_imus_step-sda_pin =
.label = Pin SDA
.placeholder = Dirección pin SDA
firmware_tool-add_imus_step-int_pin =
.label = Pin INT
.placeholder = Dirección pin INT
firmware_tool-add_imus_step-optional_tracker =
.label = Sensor opcional
firmware_tool-add_imus_step-show_less = Mostrar menos
firmware_tool-add_imus_step-show_more = Mostrar más
firmware_tool-add_imus_step-add_more = Agregar más IMUs
firmware_tool-select_firmware_step = Seleccione la versión del firmware
firmware_tool-select_firmware_step-description = Por favor elija la versión del firmware que desea utilizar
firmware_tool-select_firmware_step-show-third-party =
.label = Mostrar firmwares de terceros
firmware_tool-select_source-error = Incapaz de cargar fuentes
firmware_tool-select_source-board_type = Tipo de placa
firmware_tool-select_source-firmware = Fuente del Firmware
firmware_tool-select_source-version = Versión del Firmware
firmware_tool-select_source-official = Oficial
firmware_tool-select_source-dev = Desarrollo
firmware_tool-board_defaults = Configura tu placa
firmware_tool-board_defaults-add = Añadir
firmware_tool-board_defaults-error-format = Formato inválido
firmware_tool-board_defaults-error-format-number = No es un número
firmware_tool-flash_method_step = Método de flasheo
firmware_tool-flash_method_step-description = Por favor seleccione el método de flasheo que desea utilizar
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Utilice el método por aire (OTA). Su sensor utilizará Wi-Fi para actualizar su firmware. Funciona sólo en sensores ya configurados.
firmware_tool-flash_method_step-serial =
.label = Serial
.description = Utilice un cable USB para actualizar su sensor.
firmware_tool-flash_method_step-ota-v2 =
.label = Wi-Fi
.description = Utilizar el método sobre-el-aire. Tu tracker utilizará Wi-Fi para actualizar su firmware. Solo funciona en trackers que han sido configurados.
firmware_tool-flash_method_step-serial-v2 =
.label = USB
.description = Utilizar un cable USB para actualizar tu tracker.
firmware_tool-flashbtn_step = Presione el botón de boot
firmware_tool-flashbtn_step-description = Antes de pasar al siguiente paso, hay algunas cosas que debe hacer
firmware_tool-flashbtn_step-board_SLIMEVR = Apague el sensor, retire la carcasa (si la hay), conecte un cable USB a esta computadora y, a continuación, realice uno de los siguientes pasos de acuerdo con la revisión de la placa SlimeVR:
@@ -1482,9 +1453,8 @@ firmware_tool-flashing_step-exit = Salir
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Creando la carpeta de compilación
firmware_tool-build-DOWNLOADING_FIRMWARE = Descargando el firmware
firmware_tool-build-EXTRACTING_FIRMWARE = Extrayendo el firmware
firmware_tool-build-SETTING_UP_DEFINES = Configurando las definiciones
firmware_tool-build-DOWNLOADING_SOURCE = Descargando el código fuente
firmware_tool-build-EXTRACTING_SOURCE = Extrayendo el código fuente
firmware_tool-build-BUILDING = Compilando el firmware
firmware_tool-build-SAVING = Guardando la compilación
firmware_tool-build-DONE = Compilación completa

View File

@@ -111,6 +111,10 @@ board_type-GLOVE_IMU_SLIMEVR_DEV = Guante SlimeVR Dev IMU
skeleton_bone-NONE = Ninguno
skeleton_bone-HEAD = Desplazamiento de la cabeza
skeleton_bone-HEAD-desc =
Esta es la distancia desde el visor hasta la mitad de la cabeza.
Para ajustarlo, mueve la cabeza de izquierda a derecha como si no estuvieras de acuerdo y modifícalo
hasta que el movimiento en otros trackers sea insignificante.
skeleton_bone-NECK = Longitud del cuello
skeleton_bone-NECK-desc =
Esta es la distancia desde el medio de tu cabeza hasta la base de tu cuello.
@@ -123,19 +127,73 @@ skeleton_bone-torso_group-desc =
Para ajustarla, modifícala mientras estes de pie derecho hasta que tus caderas virtuales
estan en posicion con las verdaderas.
skeleton_bone-UPPER_CHEST = Longitud del torso superior
skeleton_bone-UPPER_CHEST-desc =
Esta es la distancia desde la base del cuello hasta la mitad del pecho.
Para ajustarlo, ajuste la longitud de su torso correctamente y modifíquelo en varias posiciones
(sentado, inclinado, acostado, etc.) hasta que tu columna vertebral virtual coincida con la real.
skeleton_bone-CHEST_OFFSET = Compensacion del pecho
skeleton_bone-CHEST_OFFSET-desc =
Esto puede ser ajustado para mover su tracker de pecho virtual hacia arriba o hacia abajo para ayudar
con la calibración en ciertos juegos o aplicaciones que pueden esperar que este sea mayor o menor.
skeleton_bone-CHEST = Longitud del pecho
skeleton_bone-CHEST-desc =
Esta es la distancia desde la mitad de su pecho hasta la mitad de su columna vertebral.
Para ajustarlo, ajuste la longitud de su torso correctamente y modifíquelo en varias posiciones
(sentado, inclinado, acostado, etc.) hasta que su columna vertebral virtual coincida con la real.
skeleton_bone-WAIST = Longitud de cintura
skeleton_bone-WAIST-desc =
Esta es la distancia desde la mitad de la columna vertebral hasta el ombligo.
Para ajustarlo, ajuste la longitud de su torso correctamente y modifíquelo en varias posiciones
(sentado, inclinado, acostado, etc.) hasta que tu columna vertebral virtual coincida con la real.
skeleton_bone-HIP = Longitud de cadera
skeleton_bone-HIP-desc =
Esta es la distancia desde el ombligo hasta tus caderas.
Para ajustarlo, configure la longitud de su torso correctamente y modifíquelo en varias posiciones
(sentado, inclinado, acostado, etc.) hasta que tu columna virtual coincida con la real.
skeleton_bone-HIP_OFFSET = Compensacion de cadera
skeleton_bone-HIP_OFFSET-desc =
Esto se puede ajustar para mover su tracker virtual de cadera hacia arriba o hacia abajo para ayudar
con la calibración en ciertos juegos o aplicaciones que pueden esperar que esté en su cintura.
skeleton_bone-HIPS_WIDTH = Ancho de la cadera
skeleton_bone-HIPS_WIDTH-desc =
Esta es la distancia entre el inicio de las piernas.
Para ajustarlo, realice un reinicio completo con las piernas rectas y modifíquelo hasta
que tus piernas virtuales coinciden con las reales horizontalmente.
skeleton_bone-leg_group = Longitud de la espinilla
skeleton_bone-leg_group-desc =
Esta es la distancia desde tus caderas hasta los pies.
Para ajustarlo, ajuste la longitud de su torso correctamente y modifíquelo
hasta que tus pies virtuales estén al mismo nivel que los reales.
skeleton_bone-UPPER_LEG = Longitud del muslo
skeleton_bone-UPPER_LEG-desc =
Esta es la distancia desde las caderas hasta las rodillas.
Para ajustarlo, ajuste la longitud de la pierna correctamente y modifíquelo
hasta que tus rodillas virtuales estén al mismo nivel que las reales.
skeleton_bone-LOWER_LEG = Longitud de la espinilla
skeleton_bone-LOWER_LEG-desc =
Esta es la distancia desde tus rodillas hasta tus tobillos.
Para ajustarlo, ajuste la longitud de la pierna correctamente y modifíquelo
hasta que tus rodillas virtuales estén al mismo nivel que las reales.
skeleton_bone-FOOT_LENGTH = Longitud del pie
skeleton_bone-FOOT_LENGTH-desc =
Esta es la distancia desde tus tobillos hasta los dedos de tus pies.
Para ajustarlo, camina de puntillas y modifícalo hasta que tus pies virtuales permanezcan en su lugar.
skeleton_bone-FOOT_SHIFT = Desplazamiento del pie
skeleton_bone-FOOT_SHIFT-desc =
Este valor es la distancia horizontal desde tu rodilla hacia tu tobillo.
Toma en cuenta la parte baja de tus piernas yendo hacia atrás cuando estes de pie.
Para ajustarlo, pon el largo de los pies a 0, inicie un reinicio completo y modifícalo hasta que tus pies
virtuales se alineen con el medio de tus tobillos.
skeleton_bone-SKELETON_OFFSET = Compensacion del esqueleto
skeleton_bone-SKELETON_OFFSET-desc =
Esto se puede ajustar para desplazar todos sus trackers hacia adelante o hacia atrás.
Se puede utilizar para ayudar con la calibración en ciertos juegos o aplicaciones
que pueden esperar que tus trackers esten mas alante.
skeleton_bone-SHOULDERS_DISTANCE = Distancia de hombros
skeleton_bone-SHOULDERS_DISTANCE-desc =
Esta es la distancia vertical desde la base del cuello hasta tus hombros.
Para ajustarlo, establezca la longitud de la parte superior del brazo en 0 y modifíquelo hasta que tus rastreadores virtuales de tus codos
se alineen verticalmente con tus hombros reales.
skeleton_bone-SHOULDERS_WIDTH = Ancho de hombros
skeleton_bone-arm_group = Longitud del brazo
skeleton_bone-UPPER_ARM = Longitud del brazo
@@ -157,6 +215,8 @@ reset-reset_all_warning_default-v2 =
¿Estás seguro de que quieres hacer esto?
reset-full = Reinicio completo
reset-mounting = Reiniciar montura
reset-mounting-feet = Reiniciar montura de los pies
reset-mounting-fingers = Reiniciar montura de los dedos
reset-yaw = Restablecimiento horizontal
## Serial detection stuff
@@ -182,6 +242,7 @@ navbar-settings = Configuración
bvh-start_recording = Grabar BVH
bvh-recording = Grabando...
bvh-save_title = Guardar grabación BVH
## Tracking pause
@@ -222,6 +283,7 @@ widget-imu_visualizer-rotation_raw = Sin filtrar
widget-imu_visualizer-rotation_preview = Previsualización
widget-imu_visualizer-acceleration = Aceleración
widget-imu_visualizer-position = Posición
widget-imu_visualizer-stay_aligned = Mantener Alineado
## Widget: Skeleton Visualizer
@@ -249,6 +311,7 @@ tracker-table-column-temperature = Temperatura °C
tracker-table-column-linear-acceleration = Aceleración X/Y/Z
tracker-table-column-rotation = Rotación X/Y/Z
tracker-table-column-position = Posición X/Y/Z
tracker-table-column-stay_aligned = Mantener Alineado
tracker-table-column-url = URL
## Tracker rotation
@@ -314,9 +377,9 @@ tracker-settings-name_section-label = Nombre del tracker
tracker-settings-forget = Olvidar tracker
tracker-settings-forget-description = Elimina el tracker del servidor SlimeVR y evita que se conecte a él hasta que se reinicie el servidor. La configuración del tracker no se perderá.
tracker-settings-forget-label = Olvidar tracker
tracker-settings-update-unavailable = No se puede actualizar (DIY)
tracker-settings-update-low-battery = No se puede actualizar. Batería inferior al 50%
tracker-settings-update-up_to_date = Actualizado
tracker-settings-update-blocked = Actualización no disponible. No hay otras versiones disponibles
tracker-settings-update-available = { $versionName } ya esta disponible
tracker-settings-update = Actualizar ahora
tracker-settings-update-title = Versión del firmware
@@ -386,6 +449,7 @@ mounting_selection_menu-close = Cerrar
settings-sidebar-title = Configuración
settings-sidebar-general = General
settings-sidebar-tracker_mechanics = Mecánicas del tracker
settings-sidebar-stay_aligned = Mantener Alineado
settings-sidebar-fk_settings = Configuración del tracking
settings-sidebar-gesture_control = Control de los gestos
settings-sidebar-interface = Interfaz
@@ -397,6 +461,7 @@ settings-sidebar-appearance = Apariencia
settings-sidebar-notifications = Notificaciones
settings-sidebar-behavior = Comportamiento
settings-sidebar-firmware-tool = Herramienta de firmware DIY
settings-sidebar-vrc_warnings = Advertencias de la configuración de VRChat
settings-sidebar-advanced = Avanzado
## SteamVR settings
@@ -444,12 +509,12 @@ settings-general-tracker_mechanics-filtering-type-prediction = Predicción
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduce la latencia y hace que los movimientos sean mas inmediatos, pero puede aumentar la fluctuación.
settings-general-tracker_mechanics-filtering-amount = Cantidad
settings-general-tracker_mechanics-yaw-reset-smooth-time = Tiempo de suavizado al restablecer el eje horizontal (0s deshabilita el suavizado)
settings-general-tracker_mechanics-drift_compensation = Compensación en la desviación
settings-general-tracker_mechanics-drift_compensation = Compensación de drift
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Compensa la desviación horizontal del IMU aplicando una rotación inversa.
Cambia la cantidad de compensación y de reinicios que se tienen en cuenta.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensación en la desviación
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensación de drift
settings-general-tracker_mechanics-drift_compensation-prediction = Predicción de compensación de drift
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-prediction-description =
@@ -468,7 +533,7 @@ settings-general-tracker_mechanics-drift_compensation-amount-label = Cantidad de
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Usar los últimos X reinicios.
settings-general-tracker_mechanics-save_mounting_reset = Guardar la calibración de reajuste de montaje automático
settings-general-tracker_mechanics-save_mounting_reset-description =
Guarda las calibraciones de reajuste de montaje automático para los trackers entre reinicios. Útil
Guarda las calibraciones de reajuste de montaje automático para los trackers entre reinicios. Útil
cuando se lleva un traje en el que los trackers no se mueven entre sesiones. <b>No recomendado para usuarios normales!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Guardar restablecimiento de montaje
settings-general-tracker_mechanics-use_mag_on_all_trackers = Usar el magnetómetro en todos los trackers IMU que lo soporten
@@ -476,7 +541,25 @@ settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
Utiliza el magnetómetro en todos los trackers que tienen un firmware compatible con él, lo que reduce el drift en entornos magnéticos estables.
Se puede desactivar por rastreador en la configuración de los trackers. <b>¡Por favor, no apagues ninguno de los trackers mientras activas esta opción!</b>
settings-general-tracker_mechanics-use_mag_on_all_trackers-label = Usar magnetómetro en los rastreadores
settings-stay_aligned = Mantener Alineado
settings-stay_aligned-description = Mantener Alineado reduce el drift ajustando gradualmente tus trackers para que coincidan con tus poses relajadas
settings-stay_aligned-setup-label = Configurar Mantener Alineado
settings-stay_aligned-setup-description = Debe completar "Configurar Mantener Alineado" para habilitar Mantener Alineado.
settings-stay_aligned-warnings-drift_compensation = ⚠ ¡Desactive la compensación de drift! La compensación de drift entrará en conflicto con Mantener Alineado.
settings-stay_aligned-enabled-label = Ajustar trackers
settings-stay_aligned-hide_yaw_correction-label = Ocultar ajuste (para comparar sin Mantener Alineado)
settings-stay_aligned-general-label = General
settings-stay_aligned-relaxed_poses-label = Posturas relajadas
settings-stay_aligned-relaxed_poses-description = Mantener Alineado utiliza tus posturas relajadas para mantener los trackers alineados. Usa "Configurar Mantener Alineado" para actualizar estas posturas.
settings-stay_aligned-relaxed_poses-standing = Ajustar los trackers mientras estás de pie
settings-stay_aligned-relaxed_poses-sitting = Ajustar los trackers mientras estás sentado en una silla
settings-stay_aligned-relaxed_poses-flat = Ajuste los trackers mientras estás sentado en el suelo o acostado boca arriba
settings-stay_aligned-relaxed_poses-save_pose = Guardar pose
settings-stay_aligned-relaxed_poses-reset_pose = Restablecer pose
settings-stay_aligned-relaxed_poses-close = Cierra
settings-stay_aligned-debug-label = Depuración
settings-stay_aligned-debug-description = Incluya su configuración cuando informe problemas sobre Mantener Alineado.
settings-stay_aligned-debug-copy-label = Copiar ajustes al portapapeles
## FK/Tracking settings
@@ -498,8 +581,8 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Anclado al suelo
settings-general-fk_settings-leg_tweak-toe_snap-description = "Acople de puntera" intenta adivinar la rotación de tus pies si los trackers de estos no están en uso.
settings-general-fk_settings-leg_tweak-foot_plant-description = El plantado de pie gira los pies para que queden paralelos al suelo en el momento del contacto.
settings-general-fk_settings-leg_fk = Tracking de piernas
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Habilitar reinicio de montura de los pies al estar de puntillas.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reinicio de montura de los pies.
settings-general-fk_settings-leg_fk-reset_mounting_feet-description-v1 = Forzar el restablecimiento del montaje de los pies durante los reinicios generales del montaje.
settings-general-fk_settings-leg_fk-reset_mounting_feet-v1 = Forzar reinicio de la montura de los pies.
settings-general-fk_settings-enforce_joint_constraints = Límites esqueléticos
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Imponer restricciones
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Evita que las articulaciones giren más allá de su límite
@@ -613,9 +696,6 @@ settings-general-interface-connected_trackers_warning-label = Aviso de trackers
## Behavior settings
settings-interface-behavior = Comportamiento
settings-general-interface-dev_mode = Modo de desarrollador
settings-general-interface-dev_mode-description = Este modo puede ser útil si necesitas datos en profundidad o para interactuar con los trackers conectados a un nivel más avanzado
settings-general-interface-dev_mode-label = Modo de desarrollador
settings-general-interface-use_tray = Minimizar a la bandeja
settings-general-interface-use_tray-description = Te permite cerrar la ventana sin cerrar SlimeVR para que pueda seguir usándolo sin que la interfaz te moleste.
settings-general-interface-use_tray-label = Minimizar en la bandeja del sistema
@@ -636,6 +716,9 @@ settings-interface-behavior-error_tracking-description_v2 =
Para proporcionar la mejor experiencia de usuario, recopilamos informes de errores anónimos, métricas de rendimiento e información del sistema operativo. Esto nos ayuda a detectar errores y problemas con SlimeVR. Estas métricas se recopilan a través de Sentry.io.
settings-interface-behavior-error_tracking-label = Enviar errores a los desarrolladores
settings-interface-behavior-bvh_directory = Directorio para guardar grabaciones BVH
settings-interface-behavior-bvh_directory-description = Elija un directorio para guardar sus grabaciones BVH en lugar de tener que elegir dónde guardarlas cada vez.
settings-interface-behavior-bvh_directory-label = Directorio de grabaciones BVH
## Serial settings
@@ -654,7 +737,6 @@ settings-serial-factory_reset-warning =
Esto significa que los ajustes de Wi-Fi y calibración <b>se perderán</b>.
settings-serial-factory_reset-warning-ok = Sé lo que estoy haciendo
settings-serial-factory_reset-warning-cancel = Cancelar
settings-serial-get_infos = Obtener información
settings-serial-serial_select = Selecciona un puerto serial
settings-serial-auto_dropdown_item = Automático
settings-serial-get_wifi_scan = Obtener escaneo WiFi
@@ -755,6 +837,9 @@ settings-osc-vmc-mirror_tracking = Invertir el tracking
settings-osc-vmc-mirror_tracking-description = Invierte el tracking horizontalmente.
settings-osc-vmc-mirror_tracking-label = Invertir el tracking
## Common OSC settings
## Advanced settings
settings-utils-advanced = Avanzado
@@ -878,6 +963,17 @@ onboarding-connect_tracker-connection_status-looking_for_server = Buscando servi
onboarding-connect_tracker-connection_status-connection_error = No se puede conectar al Wi-Fi
onboarding-connect_tracker-connection_status-could_not_find_server = No se pudo encontrar el servidor
onboarding-connect_tracker-connection_status-done = Conectado al Server
onboarding-connect_tracker-connection_status-no_serial_log = No se pudieron obtener los registros del tracker
onboarding-connect_tracker-connection_status-no_serial_device_found = No se pudo encontrar un tracker conectado por USB
onboarding-connect_serial-error-modal-no_serial_log = ¿Está encendido el tracker?
onboarding-connect_serial-error-modal-no_serial_log-desc = Asegúrate de que el tracker esté encendido y conectado a tu ordenador.
onboarding-connect_serial-error-modal-no_serial_device_found = No se detectaron trackers
onboarding-connect_serial-error-modal-no_serial_device_found-desc =
Conecte un tracker con el cable USB proporcionado a su ordenador y enciéndalo.
Si esto no funciona:
- intente usar un cable USB diferente
- intente usar un puerto USB diferente
- intente reinstalar el servidor SlimeVR y seleccione "Controladores USB" en la sección de componentes
# $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",
@@ -895,7 +991,6 @@ onboarding-connect_tracker-next = He conectado todos mis trackers
onboarding-calibration_tutorial = Tutorial de calibración de IMU
onboarding-calibration_tutorial-subtitle = ¡Esto ayudará a reducir el drift de los trackers!
onboarding-calibration_tutorial-description = Cada vez que enciendas tus trackers, estos necesitan descansar sobre una superficie plana para calibrarse. Hagamos lo mismo pulsando el botón «{ onboarding-calibration_tutorial-calibrate }», <b>¡no los muevas!</b>
onboarding-calibration_tutorial-calibrate = Mis trackers estan en una superficie plana
onboarding-calibration_tutorial-status-waiting = Esperando por ti
onboarding-calibration_tutorial-status-calibrating = Calibrando
@@ -1063,9 +1158,13 @@ onboarding-automatic_mounting-mounting_reset-title = Reinicio de montura
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Ponte en cuclillas en postura de "esquí" con las piernas dobladas, la parte superior del cuerpo inclinada hacia adelante y los brazos doblados.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Presiona el botón "Restablecer montaje" y espera 3 segundos antes de que se restablezcan las orientaciones de montaje de los trackers.
onboarding-automatic_mounting-preparation-title = Preparación
onboarding-automatic_mounting-preparation-v2-step-0 = 1. Presione el botón de "Reinicio completo".
onboarding-automatic_mounting-preparation-v2-step-1 = 2. Ponte de pie con los brazos a los lados. Asegúrate de mirar hacia adelante.
onboarding-automatic_mounting-preparation-v2-step-2 = 3. Mantenga la posición hasta que finalice el temporizador de 3 segundos.
onboarding-automatic_mounting-put_trackers_on-title = Ponte los trackers
onboarding-automatic_mounting-put_trackers_on-description = Para calibrar la posiciones de montura, vamos a utilizar los trackers que acabas de asignar. Colocate todos tus trackers, puedes ver cuales son cuales en la figura de la derecha.
onboarding-automatic_mounting-put_trackers_on-next = Tengo todos mis trackers en posicion
onboarding-automatic_mounting-return-home = Hecho
## Tracker manual proportions setupa
@@ -1076,6 +1175,11 @@ onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = Conecte el v
onboarding-manual_proportions-export = Exportar proporciones
onboarding-manual_proportions-import = Importar proporciones
onboarding-manual_proportions-file_type = Archivo de proporciones físicas
onboarding-manual_proportions-normal_increment = Incremento normal
onboarding-manual_proportions-precise_increment = Incremento preciso
onboarding-manual_proportions-grouped_proportions = Proporciones agrupadas
onboarding-manual_proportions-all_proportions = Todas las proporciones
onboarding-manual_proportions-estimated_height = Altura estimada del usuario
## Tracker automatic proportions setup
@@ -1189,6 +1293,37 @@ onboarding-scaled_proportions-done-description = Las proporciones de tu cuerpo a
## Stay Aligned setup
onboarding-stay_aligned-title = Mantener Alineado
onboarding-stay_aligned-description = Configure Mantener Alineado para mantener sus trackers alineados.
onboarding-stay_aligned-put_trackers_on-title = Ponte los trackers
onboarding-stay_aligned-put_trackers_on-description = Para guardar tus posturas de descanso, vamos a utilizar los trackers que acabas de asignar. Ponte todos tus trackers, puedes ver cuál es cuál en la figura de la derecha.
onboarding-stay_aligned-put_trackers_on-trackers_warning = ¡Tiene menos de 5 trackers actualmente conectados y asignados! Esta es la cantidad mínima de trackers necesarios para que Mantener Alineado funcione correctamente.
onboarding-stay_aligned-put_trackers_on-next = Tengo todos mis trackers puestos
onboarding-stay_aligned-verify_mounting-title = Verifique su montaje
onboarding-stay_aligned-verify_mounting-step-0 = Mantener Alineado requiere un buen montaje. De lo contrario, no obtendrá una buena experiencia con Mantener Alineado.
onboarding-stay_aligned-verify_mounting-step-1 = 1. Muévete mientras estás de pie.
onboarding-stay_aligned-verify_mounting-step-2 = 2. Siéntate y mueve las piernas y los pies.
onboarding-stay_aligned-verify_mounting-step-3 = 3. Si sus trackers no están en el lugar correcto, presione "Rehacer calibración de montaje".
onboarding-stay_aligned-verify_mounting-redo_mounting = Rehacer calibración de montaje
onboarding-stay_aligned-preparation-title = Preparación
onboarding-stay_aligned-preparation-tip = Asegúrate de estar de pie. Sigue mirando hacia adelante con los brazos hacia abajo a los lados.
onboarding-stay_aligned-relaxed_poses-standing-title = Postura de pie relajada
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Párese en una posición cómoda. ¡Relájate!
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. Presione el botón "Guardar pose".
onboarding-stay_aligned-relaxed_poses-sitting-title = Postura relajada sentado en silla
onboarding-stay_aligned-relaxed_poses-sitting-step-0 = 1. Siéntese en una posición cómoda. ¡Relájate!
onboarding-stay_aligned-relaxed_poses-sitting-step-1-v2 = 2. Presione el botón "Guardar pose".
onboarding-stay_aligned-relaxed_poses-flat-title = Postura relajada sentado en el suelo
onboarding-stay_aligned-relaxed_poses-flat-step-0 = 1. Siéntate en el suelo con las piernas al frente. ¡Relájate!
onboarding-stay_aligned-relaxed_poses-flat-step-1-v2 = 2. Presione el botón "Guardar pose".
onboarding-stay_aligned-relaxed_poses-skip_step = Omitir
onboarding-stay_aligned-done-title = ¡Mantener Alineado habilitado!
onboarding-stay_aligned-done-description = ¡Su configuración de Mantener Alineado está completa!
onboarding-stay_aligned-done-description-2 = ¡La configuración está completa! Puede reiniciar el proceso si desea recalibrar las poses.
onboarding-stay_aligned-previous_step = Atrás
onboarding-stay_aligned-next_step = Siguiente
onboarding-stay_aligned-restart = Reiniciar
onboarding-stay_aligned-done = Hecho
## Home
@@ -1228,71 +1363,11 @@ firmware_tool = Herramienta de firmware DIY
firmware_tool-description = Le permite configurar y actualizar sus trackers DIY
firmware_tool-not_available = Vaya, la herramienta de firmware no está disponible en este momento. ¡Vuelve más tarde!
firmware_tool-not_compatible = La herramienta de firmware no es compatible con esta versión del servidor. ¡Por favor, actualice su servidor!
firmware_tool-board_step = Seleccione su placa
firmware_tool-board_step-description = Seleccione una de las placas que se listen a continuación.
firmware_tool-board_pins_step = Revise los pines
firmware_tool-board_pins_step-description =
Por favor, verifique que los pines seleccionados sean correctos.
Si siguió la documentación de SlimeVR, los valores predeterminados deberian ser correctos
firmware_tool-board_pins_step-enable_led = Habilitar LED
firmware_tool-board_pins_step-led_pin =
.label = Pin del LED
.placeholder = Introduzca la dirección del pin del LED
firmware_tool-board_pins_step-battery_type = Seleccione el tipo de batería
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Batería externa
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Batería interna
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = MCP3021 interno
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Pin del sensor de batería
.placeholder = Introduzca la dirección del pin sensor de la bateria
firmware_tool-board_pins_step-battery_resistor =
.label = Resistencia de la batería (ohmios)
.placeholder = Introduzca el valor de la resistencia de la bateria
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Shield de la Bateria R1 (Ohmios)
.placeholder = Introduzca el valor del Shield de la Bateria R1
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Shield de la Bateria R2 (Ohmios)
.placeholder = Introduzca el valor del Shield de la Bateria R2
firmware_tool-add_imus_step = Declare sus IMUs
firmware_tool-add_imus_step-description =
Por favor, añada las IMUs que su tracker tenga
Si siguió la documentación de SlimeVR, los valores predeterminados deben ser correctos
firmware_tool-add_imus_step-imu_type-label = Tipo de IMU
firmware_tool-add_imus_step-imu_type-placeholder = Seleccione el tipo de IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Rotación del IMU (grados)
.placeholder = Ángulo de rotación del IMU
firmware_tool-add_imus_step-scl_pin =
.label = Pin SCL
.placeholder = Dirección del pin SCL
firmware_tool-add_imus_step-sda_pin =
.label = Pin SDA
.placeholder = Dirección del pin SDA
firmware_tool-add_imus_step-int_pin =
.label = Pin INT
.placeholder = Dirección del pin INT
firmware_tool-add_imus_step-optional_tracker =
.label = Tracker opcional
firmware_tool-add_imus_step-show_less = Mostrar menos
firmware_tool-add_imus_step-show_more = Mostrar más
firmware_tool-add_imus_step-add_more = Añadir más IMUs
firmware_tool-select_firmware_step = Seleccione la versión del firmware
firmware_tool-select_firmware_step-description = Elija la versión del firmware que desea utilizar
firmware_tool-select_firmware_step-show-third-party =
.label = Mostrar firmwares de terceros
firmware_tool-flash_method_step = Método de flasheado
firmware_tool-flash_method_step-description = Seleccione el método de flasheado que desea utilizar
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Usar el metodo "over the air". Su tracker usara el Wi-Fi para actualizar el firmware. Solo funciona en trackers ya configurados.
firmware_tool-flash_method_step-serial =
.label = Serial
.description = Usar un cable USB para actualizar el tracker.
firmware_tool-flashbtn_step = Pulse el botón de boot
firmware_tool-flashbtn_step-description = Antes de pasar al siguiente paso, hay algunas cosas que debe hacer
firmware_tool-flashbtn_step-board_SLIMEVR = Apague el tracker, retire la carcasa (si la hay), conecte un cable USB a esta computadora y, a continuación, realice uno de los siguientes pasos de acuerdo con la revisión de la placa SlimeVR:
firmware_tool-flashbtn_step-board_SLIMEVR = Apague el tracker, retire la carcasa (si la hay), conecte un cable USB a este ordenador y, a continuación, realice uno de los siguientes pasos de acuerdo con la revisión de la placa SlimeVR:
firmware_tool-flashbtn_step-board_SLIMEVR-r11 = Encienda el tracker mientras puentea el segundo pad FLASH rectangular desde el borde en la parte superior de la placa y el protector metálico del microcontrolador
firmware_tool-flashbtn_step-board_SLIMEVR-r12 = Encienda el tracker mientras puentea el pad circular FLASH en la parte superior de la placa y el protector metálico del microcontrolador
firmware_tool-flashbtn_step-board_SLIMEVR-r14 = Encienda el rastreador mientras presiona el botón FLASH en la parte superior de la placa
@@ -1318,9 +1393,6 @@ firmware_tool-flashing_step-exit = Salir
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Creando la carpeta de compilación
firmware_tool-build-DOWNLOADING_FIRMWARE = Descargando el firmware
firmware_tool-build-EXTRACTING_FIRMWARE = Extrayendo el firmware
firmware_tool-build-SETTING_UP_DEFINES = Configurando las definiciones
firmware_tool-build-BUILDING = Compilando el firmware
firmware_tool-build-SAVING = Guardando la compilación
firmware_tool-build-DONE = Compilación completa
@@ -1384,6 +1456,46 @@ unknown_device-modal-description =
¿Quieres conectarlo a SlimeVR?
unknown_device-modal-confirm = ¡Claro!
unknown_device-modal-forget = Ignóralo
# VRChat config warnings
vrc_config-page-title = Advertencias sobre la configuración de VRChat
vrc_config-page-desc = Esta página muestra el estado de la configuración de VRChat y dice qué configuración es incompatible con SlimeVR. Se recomienda encarecidamente que corrijas las advertencias que aparecen aquí para obtener la mejor experiencia con SlimeVR.
vrc_config-page-help = ¿No encuentras los ajustes?
vrc_config-page-help-desc = ¡Consulte nuestra <a>documentación sobre este tema!</a>
vrc_config-page-big_menu = Seguimiento e IK (Menú grande)
vrc_config-page-big_menu-desc = Configuración relacionada al IK en el menú grande de configuración
vrc_config-page-wrist_menu = Seguimiento e IK (Menú de muñeca)
vrc_config-page-wrist_menu-desc = Ajustes relacionados al IK en el pequeño menú de ajustes (menú de muñeca)
vrc_config-on = Encendido
vrc_config-off = Apagado
vrc_config-invalid = ¡Tienes ajustes de VRChat mal configurados!
vrc_config-show_more = Mostrar más
vrc_config-setting_name = Nombre del ajuste de VRChat
vrc_config-recommended_value = Valor recomendado
vrc_config-current_value = Valor actual
vrc_config-mute = Silenciar advertencia
vrc_config-mute-btn = Silenciar
vrc_config-unmute-btn = Desilenciar
vrc_config-legacy_mode = Utilizar la resolución de IK antigua
vrc_config-disable_shoulder_tracking = Desactivar el seguimiento de hombros
vrc_config-shoulder_width_compensation = Compensación de la anchura del hombro
vrc_config-spine_mode = Modo columna FBT
vrc_config-tracker_model = Modelo de rastreador para "FBT"
vrc_config-avatar_measurement_type = Medida del avatar
vrc_config-calibration_range = Rango de calibración
vrc_config-calibration_visuals = Mostrar elementos visuales de la calibración
vrc_config-user_height = Altura real del usuario
vrc_config-spine_mode-UNKNOWN = Desconocido
vrc_config-spine_mode-LOCK_BOTH = Bloquear ambos
vrc_config-spine_mode-LOCK_HEAD = Bloquear cabeza
vrc_config-spine_mode-LOCK_HIP = Bloquear cadera
vrc_config-tracker_model-UNKNOWN = Desconocido
vrc_config-tracker_model-AXIS = Eje
vrc_config-tracker_model-BOX = Caja
vrc_config-tracker_model-SPHERE = Esfera
vrc_config-tracker_model-SYSTEM = Sistema
vrc_config-avatar_measurement_type-UNKNOWN = Desconocido
vrc_config-avatar_measurement_type-HEIGHT = Altura
vrc_config-avatar_measurement_type-ARM_SPAN = Amplitud de los brazos
## Error collection consent modal

View File

@@ -48,6 +48,9 @@ body_part-LEFT_UPPER_LEG = Vasak reis
body_part-LEFT_LOWER_LEG = Vasak säär
body_part-LEFT_FOOT = Vasak jalg
## BoardType
## Proportions
skeleton_bone-NONE = Mitte midagi
@@ -142,7 +145,9 @@ widget-developer_mode-more_info = Rohkem infot
widget-imu_visualizer = Rotatsiooni
widget-imu_visualizer-rotation_raw = Toores
widget-imu_visualizer-rotation_preview = Eelvaade
widget-imu_visualizer-rotation_hide = Peida
## Widget: Skeleton Visualizer
## Tracker status
@@ -298,10 +303,6 @@ settings-general-steamvr-description =
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
@@ -366,9 +367,6 @@ settings-general-fk_settings-skeleton_settings-interp_hip_legs = Leia keskmine p
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)
@@ -432,6 +430,9 @@ settings-general-interface-feedback_sound-description = See suvand esitab lähte
settings-general-interface-feedback_sound-label = Tagasiside heli
settings-general-interface-feedback_sound-volume = Tagasiside helitugevus
## Behavior settings
## Serial settings
settings-serial = Jadakonsool
@@ -449,7 +450,6 @@ settings-serial-factory_reset-warning =
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
@@ -481,15 +481,10 @@ 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)
@@ -497,7 +492,6 @@ 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.
@@ -530,17 +524,17 @@ settings-osc-vmc-network-address-description = Valige, millisel aadressil soovit
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
## Common OSC settings
## Advanced settings
## Setup/onboarding menu
onboarding-skip = Jäta seadistamine vahele
@@ -617,8 +611,6 @@ onboarding-done-close = Sulgege juhend
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
@@ -636,17 +628,16 @@ onboarding-connect_tracker-connection_status-done = Ühendatud serveriga
# 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
[0] Mitte ühtegi jälgijat ühendatud connected
[one] 1 jälgija connected
*[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
@@ -672,10 +663,10 @@ onboarding-assign_trackers-description = Valime mis jälgijad lähevad kuhu. Vaj
# $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
{ $trackers ->
[one] { $assigned } of 1 jälgija assigned
*[other] { $assigned } of { $trackers } jälgijat assigned
}
onboarding-assign_trackers-advanced = Kuva täpsemad määramiskohad
onboarding-assign_trackers-next = Määrasin kõikide jälgijate asukohad
@@ -685,12 +676,8 @@ onboarding-assign_trackers-next = Määrasin kõikide jälgijate asukohad
## 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
@@ -716,35 +703,14 @@ 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
## Tracker manual proportions setupa
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
@@ -758,15 +724,8 @@ onboarding-automatic_proportions-put_trackers_on-description = Et kalibreerida t
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!
@@ -799,10 +758,22 @@ 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!
## Tracker scaled proportions setup
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
home-no_trackers = Jälgijaid ei tuvastatud ega määratud
## Trackers Still On notification
## Status system
status_system-StatusSteamVRDisconnected =
@@ -811,3 +782,30 @@ status_system-StatusSteamVRDisconnected =
*[other] Praegu ei ole SlimeVR-draiveri kaudu SteamVR-iga ühendatud.
}
status_system-StatusTrackerError = Jälgijal { $trackerName } on tõrge.
## Firmware tool globals
## Firmware tool Steps
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
## First exit modal
## Unknown device modal
## Error collection consent modal

View File

@@ -48,6 +48,9 @@ body_part-LEFT_UPPER_LEG = Vasen reisi
body_part-LEFT_LOWER_LEG = Vasen nilkka
body_part-LEFT_FOOT = Vasen jalkaterä
## BoardType
## Proportions
skeleton_bone-NONE = Ei mikään
@@ -142,7 +145,6 @@ widget-developer_mode-more_info = Lisätietoja
widget-imu_visualizer = Kierto
widget-imu_visualizer-rotation_raw = Käsittelemätön
widget-imu_visualizer-rotation_preview = Esikatselu
widget-imu_visualizer-rotation_hide = Piilota
## Widget: Skeleton Visualizer
@@ -361,8 +363,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Floor clip voi v
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe snap yrittää arvata varpaiden asennon jos jalkaterän jäljitintä ei ole käytössä.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot plant asettaa jalkateräsi yhdensuuntaisesti maan kanssa kosketuksessa.
settings-general-fk_settings-leg_fk = Jalkojen jäljitys
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Ota käyttöön jalkojen asennuksen nollaus varpaillaan.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Jalkojen asennuksen nollaus
settings-general-fk_settings-arm_fk = Käsivarsien jäljitys
settings-general-fk_settings-arm_fk-description = Muuta tapaa, jolla käsivarsia jäljitetään.
settings-general-fk_settings-arm_fk-force_arms = Pakota kädet HMD:ltä
@@ -388,9 +388,6 @@ settings-general-fk_settings-skeleton_settings-interp_hip_legs = Keskimääritä
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)
@@ -455,6 +452,9 @@ 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.
## Behavior settings
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
@@ -479,7 +479,6 @@ settings-serial-factory_reset-warning =
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
@@ -558,17 +557,17 @@ settings-osc-vmc-network-address-description = Määritä osoite, johon tietoja
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
## Common OSC settings
## Advanced settings
## Setup/onboarding menu
onboarding-skip = Ohita asennus
@@ -672,7 +671,6 @@ onboarding-connect_tracker-next = Yhdistin kaikki jäljittimeni
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
@@ -812,26 +810,13 @@ 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
## Tracker manual proportions setupa
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
@@ -842,17 +827,8 @@ onboarding-automatic_proportions-put_trackers_on-title = Laita jäljittimet pä
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!
@@ -875,11 +851,17 @@ 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!
## Tracker scaled proportions setup
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
home-no_trackers = Jäjittimiä ei havaittu tai määritetty
@@ -903,6 +885,21 @@ status_system-StatusSteamVRDisconnected =
}
status_system-StatusTrackerError = { $trackerName } jäljittimessä on virhe
## Firmware tool globals
## Firmware tool Steps
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
@@ -911,3 +908,6 @@ status_system-StatusTrackerError = { $trackerName } jäljittimessä on virhe
## Unknown device modal
## Error collection consent modal

View File

@@ -95,6 +95,7 @@ board_type-WEMOSD1MINI = Wemos D1 Mini
board_type-TTGO_TBASE = TTGO T-Base
board_type-ESP01 = ESP-01
board_type-SLIMEVR = SlimeVR
board_type-SLIMEVR_V1_2 = SlimeVR v1.2
board_type-LOLIN_C3_MINI = Lolin C3 Mini
board_type-BEETLE32C3 = Beetle ESP32-C3
board_type-ESP32C3DEVKITM1 = Espressif ESP32-C3 DevKitM-1
@@ -118,7 +119,7 @@ skeleton_bone-HEAD-desc =
skeleton_bone-NECK = Longueur du cou
skeleton_bone-NECK-desc =
Ceci est la distance entre le milieu de votre tête et la base de votre cou.
Pour lajuster, hochez votre tête de haut en bas ou inclinez votre tête de gauche à droite et modifiez-la
Pour lajuster, hochez votre tête de haut en bas ou inclinez votre tête de gauche à droite et modifiez-la
jusquà ce que vos capteurs bougent le moins possible.
skeleton_bone-torso_group = Longueur du torse
skeleton_bone-torso_group-desc =
@@ -244,6 +245,8 @@ reset-reset_all_warning_default-v2 =
Êtes-vous sûr de vouloir faire cela ?
reset-full = Réinitialisation complète
reset-mounting = Réinitialiser l'alignement
reset-mounting-feet = Réinitialiser l'alignement des pieds
reset-mounting-fingers = Réinitialiser l'alignement des doigts
reset-yaw = Réinitialisation horizontale
## Serial detection stuff
@@ -269,6 +272,7 @@ navbar-settings = Réglages
bvh-start_recording = Enregistrer BVH
bvh-recording = Enregistrement...
bvh-save_title = Sauvegarder lenregistrement BVH
## Tracking pause
@@ -403,9 +407,11 @@ tracker-settings-name_section-label = Nom personalisé
tracker-settings-forget = Oublier capteur
tracker-settings-forget-description = Supprime le capteur du serveur SlimeVR et l'empêche de s'y connecter jusqu'à ce que le serveur soit redémarré. La configuration du capteur ne sera pas perdue.
tracker-settings-forget-label = Oublier capteur
tracker-settings-update-unavailable = Ne peut pas être mis à jour (DIY)
tracker-settings-update-unavailable-v2 = Aucune publication trouvée
tracker-settings-update-incompatible = Mise à jour impossible. Carte incompatible
tracker-settings-update-low-battery = Mise à jour impossible. Batterie inférieure à 50 %
tracker-settings-update-up_to_date = À jour
tracker-settings-update-blocked = Mise à jour non disponible. Aucune autre version disponible
tracker-settings-update-available = { $versionName } est maintenant disponible
tracker-settings-update = Mettre à jour maintenant
tracker-settings-update-title = Version du micrologiciel
@@ -584,6 +590,7 @@ settings-stay_aligned-relaxed_poses-sitting = Ajuster les capteurs en position a
settings-stay_aligned-relaxed_poses-flat = Ajuster les capteurs en position assise sur le sol ou allongée sur le dos
settings-stay_aligned-relaxed_poses-save_pose = Enregistrer la posture
settings-stay_aligned-relaxed_poses-reset_pose = Réinitialiser la posture
settings-stay_aligned-relaxed_poses-close = Fermer
settings-stay_aligned-debug-label = Débogage
settings-stay_aligned-debug-description = Veuillez inclure vos paramètres lorsque vous signalez des problèmes concernant Garder Aligné.
settings-stay_aligned-debug-copy-label = Copier les paramètres dans le presse-papiers
@@ -608,13 +615,15 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Le limitage au s
settings-general-fk_settings-leg_tweak-toe_snap-description = La correction des orteils estime l'orientation de vos pieds si vous ne portez pas de capteurs sur ses derniers.
settings-general-fk_settings-leg_tweak-foot_plant-description = La correction des pieds oriente vos pieds pour qu'ils soient parallèles au sol lorsqu'ils le touche.
settings-general-fk_settings-leg_fk = Capture des jambes
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Activer la réinitialisation de l'alignement des pieds en allant sur la pointe des pieds.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Réinitialisation de l'alignement des pieds
settings-general-fk_settings-leg_fk-reset_mounting_feet-description-v1 = Forcer la réinitialisation de l'alignement des pieds pendant la réinitialisation d'alignement générale.
settings-general-fk_settings-leg_fk-reset_mounting_feet-v1 = Forcer la réinitialisation de l'alignement des pieds
settings-general-fk_settings-enforce_joint_constraints = Limites squelettiques
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Appliquer les contraintes
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Empêche les articulations de tourner au-delà de leur limite
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = Corriger avec les contraintes
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = Corriger les rotations des articulations lorsqu'elles dépassent leur limite
settings-general-fk_settings-ik = Données de position
settings-general-fk_settings-ik-use_position = Utiliser les données de position
settings-general-fk_settings-arm_fk = Capture des bras
settings-general-fk_settings-arm_fk-description = Changez la façon dont les bras sont captés.
settings-general-fk_settings-arm_fk-force_arms = Forcer les bras en provenance du casque VR
@@ -721,9 +730,6 @@ settings-general-interface-connected_trackers_warning-label = Avertissement de c
## Behavior settings
settings-interface-behavior = Comportement
settings-general-interface-dev_mode = Mode développeur
settings-general-interface-dev_mode-description = Ce mode peut être utile pour avoir des données approfondies ou pour interagir avec des capteurs connectés à un niveau plus avancé.
settings-general-interface-dev_mode-label = Mode développeur
settings-general-interface-use_tray = Minimiser dans la zone de notifications
settings-general-interface-use_tray-description = Vous permet de fermer la fenêtre sans fermer le serveur SlimeVR afin que vous puissiez continuer à l'utiliser sans l'interface graphique.
settings-general-interface-use_tray-label = Minimiser dans la zone de notifications
@@ -744,6 +750,9 @@ settings-interface-behavior-error_tracking-description_v2 =
Pour offrir la meilleure expérience utilisateur possible, nous collectons des rapports d'erreurs anonymisés, des mesures de performance et des informations sur le système d'exploitation. Cela nous aide à détecter les bugs et les problèmes liés à SlimeVR. Ces données sont collectées via Sentry.io.
settings-interface-behavior-error_tracking-label = Envoyer les erreurs aux développeurs
settings-interface-behavior-bvh_directory = Répertoire pour sauvegarder les enregistrements BVH
settings-interface-behavior-bvh_directory-description = Choisissez un répertoire où sauvegarder vos enregistrements BVH au lieu davoir à choisir où les sauvegarder à chaque fois.
settings-interface-behavior-bvh_directory-label = Répertoire où sauvegarder les enregistrements BVH
## Serial settings
@@ -762,7 +771,6 @@ settings-serial-factory_reset-warning =
Ce qui signifie que les paramètres de Wi-Fi et de calibration <b>seront tous perdus !</b>
settings-serial-factory_reset-warning-ok = Je sais ce que je fais
settings-serial-factory_reset-warning-cancel = Annuler
settings-serial-get_infos = Obtenir des informations
settings-serial-serial_select = Sélectionnez un port série
settings-serial-auto_dropdown_item = Automatique
settings-serial-get_wifi_scan = Obtenir scan WiFi
@@ -863,6 +871,9 @@ settings-osc-vmc-mirror_tracking = Inverser les mouvements
settings-osc-vmc-mirror_tracking-description = Inverse les mouvements horizontalement
settings-osc-vmc-mirror_tracking-label = Inverser les mouvements
## Common OSC settings
## Advanced settings
settings-utils-advanced = Avancé
@@ -1004,17 +1015,17 @@ onboarding-connect_serial-error-modal-no_serial_device_found-desc =
# 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
[0] No trackers connected
[one] 1 tracker connected
*[other] { $amount } trackers connected
}
onboarding-connect_tracker-next = J'ai connecté tous mes capteurs
## Tracker calibration tutorial
onboarding-calibration_tutorial = Tutoriel de calibration IMU
onboarding-calibration_tutorial-subtitle = Ceci vous aidera à réduire la dérive du capteur !
onboarding-calibration_tutorial-description = Chaque fois que vous allumez vos capteurs, ils doivent rester sur une surface plane pour se calibrer. Faisons de même en cliquant sur le bouton « { onboarding-calibration_tutorial-calibrate } ». <b>Ne les déplacez pas !</b>
onboarding-calibration_tutorial-description-v1 = Après avoir allumé vos capteurs, placez-les sur une surface stable pendant un moment pour leur permettre de se calibrer. La calibration peut être effectué n'importe quand lors que les capteurs sont allumés - cette page sert simplement de tutoriel. Pour commencer, cliquez sur le bouton « { onboarding-calibration_tutorial-calibrate } », puis <b>ne déplacez pas vos capteurs !</b>
onboarding-calibration_tutorial-calibrate = J'ai posé mes capteurs sur la table
onboarding-calibration_tutorial-status-waiting = En attente de vous
onboarding-calibration_tutorial-status-calibrating = Calibration...
@@ -1332,13 +1343,13 @@ onboarding-stay_aligned-preparation-title = Préparation
onboarding-stay_aligned-preparation-tip = Assurez-vous de vous tenir droit. Vous devez regarder vers l'avant et vos bras doivent être le long de votre corps.
onboarding-stay_aligned-relaxed_poses-standing-title = Posture debout détendu
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Tenez-vous dans une position confortable. Détendez-vous !
onboarding-stay_aligned-relaxed_poses-standing-step-2 = 3. Appuyez sur le bouton « Enregistrer la posture ».
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. Appuyez sur le bouton « Enregistrer la posture ».
onboarding-stay_aligned-relaxed_poses-sitting-title = Posture assis détendu dans une chaise
onboarding-stay_aligned-relaxed_poses-sitting-step-0 = 1. Asseyez-vous dans une position confortable. Détendez-vous !
onboarding-stay_aligned-relaxed_poses-sitting-step-2 = 3. Appuyez sur le bouton « Enregistrer la posture ».
onboarding-stay_aligned-relaxed_poses-sitting-step-1-v2 = 2. Appuyez sur le bouton « Enregistrer la posture ».
onboarding-stay_aligned-relaxed_poses-flat-title = Posture assis détendu sur le sol
onboarding-stay_aligned-relaxed_poses-flat-step-0 = 1. Asseyez-vous sur le sol, les jambes devant. Détendez-vous !
onboarding-stay_aligned-relaxed_poses-flat-step-2 = 3. Appuyez sur le bouton « Enregistrer la posture ».
onboarding-stay_aligned-relaxed_poses-flat-step-1-v2 = 2. Appuyez sur le bouton « Enregistrer la posture ».
onboarding-stay_aligned-relaxed_poses-skip_step = Sauter
onboarding-stay_aligned-done-title = Garder Aligné activé !
onboarding-stay_aligned-done-description = La configuration de Garder Aligné est terminée !
@@ -1387,68 +1398,8 @@ firmware_tool = Outil de micrologiciel DIY
firmware_tool-description = Vous permet de configurer et de flash vos capteurs DIY
firmware_tool-not_available = Oups, l'outil de micrologiciel n'est pas disponible en ce moment. Revenez plus tard !
firmware_tool-not_compatible = L'outil de micrologiciel n'est pas compatible avec cette version de serveur. Veuillez mettre à jour votre serveur !
firmware_tool-board_step = Sélectionnez votre carte
firmware_tool-board_step-description = Sélectionnez l'une des cartes répertoriées ci-dessous.
firmware_tool-board_pins_step = Vérifiez les broches
firmware_tool-board_pins_step-description =
Veuillez vérifier que les broches sélectionnées sont correctes.
Si vous avez suivi la documentation de SlimeVR, les valeurs par défaut devraient être correctes.
firmware_tool-board_pins_step-enable_led = Activer la LED
firmware_tool-board_pins_step-led_pin =
.label = Broche LED
.placeholder = Entrez l'adresse de la broche LED
firmware_tool-board_pins_step-battery_type = Sélectionnez le type de batterie
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Batterie externe
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Batterie interne
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = MCP3021 interne
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Broche du capteur de batterie
.placeholder = Entrez l'adresse de la broche du capteur de batterie
firmware_tool-board_pins_step-battery_resistor =
.label = Résistance de la batterie (Ohms)
.placeholder = Entrer la valeur de la résistance de la batterie
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Bouclier de batterie R1 (Ohms)
.placeholder = Saisir la valeur du bouclier de batterie R1
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Bouclier de batterie R2 (Ohms)
.placeholder = Saisir la valeur du bouclier de batterie R1
firmware_tool-add_imus_step = Déclarez vos IMU
firmware_tool-add_imus_step-description =
Veuillez ajouter les IMUs de votre capteur
Si vous avez suivi la documentation de SlimeVR, les valeurs par défaut devraient être correctes
firmware_tool-add_imus_step-imu_type-label = Type d'IMU
firmware_tool-add_imus_step-imu_type-placeholder = Sélectionnez le type d'IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Rotation de l'IMU (deg)
.placeholder = Angle de rotation de l'IMU
firmware_tool-add_imus_step-scl_pin =
.label = Broche SCL
.placeholder = Adresse de la broche SCL
firmware_tool-add_imus_step-sda_pin =
.label = Broche SDA
.placeholder = Adresse de la broche SDA
firmware_tool-add_imus_step-int_pin =
.label = Broche INT
.placeholder = Adresse de la broche INT
firmware_tool-add_imus_step-optional_tracker =
.label = Capteur optionnel
firmware_tool-add_imus_step-show_less = Afficher moins
firmware_tool-add_imus_step-show_more = Afficher plus
firmware_tool-add_imus_step-add_more = Ajouter plus d'IMUs
firmware_tool-select_firmware_step = Sélectionnez la version du micrologiciel
firmware_tool-select_firmware_step-description = Veuillez choisir la version du micrologiciel que vous souhaitez utiliser
firmware_tool-select_firmware_step-show-third-party =
.label = Afficher les micrologiciels de tierces parties
firmware_tool-flash_method_step = Méthode de flash
firmware_tool-flash_method_step-description = Veuillez sélectionner la méthode de flash que vous souhaitez utiliser
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Utiliser la méthode « over the air ». Votre capteur utilisera le Wi-Fi pour mettre à jour son micrologiciel. Ne fonctionne que sur les capteurs déjà configurés.
firmware_tool-flash_method_step-serial =
.label = Série
.description = Utiliser un cable USB pour mettre à jour votre capteur
firmware_tool-flashbtn_step = Appuyez sur le bouton boot
firmware_tool-flashbtn_step-description = Avant de passer à l'étape suivante, il y a quelques choses que vous devez faire
firmware_tool-flashbtn_step-board_SLIMEVR = Éteignez le capteur, retirez le boîtier (s'il y en a un), connectez un câble USB à votre ordinateur, puis effectuez l'une des étapes suivantes en fonction de la révision de votre carte SlimeVR :
@@ -1477,9 +1428,6 @@ firmware_tool-flashing_step-exit = Quitter
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Création du dossier de création
firmware_tool-build-DOWNLOADING_FIRMWARE = Téléchargement du micrologiciel
firmware_tool-build-EXTRACTING_FIRMWARE = Extraction du micrologiciel
firmware_tool-build-SETTING_UP_DEFINES = Configuration des définitions
firmware_tool-build-BUILDING = Création du micrologiciel
firmware_tool-build-SAVING = Enregistrement du micrologiciel
firmware_tool-build-DONE = Création terminée

View File

@@ -41,6 +41,9 @@ body_part-LEFT_UPPER_LEG = ירך שמאל
body_part-LEFT_LOWER_LEG = קרסול שמאל
body_part-LEFT_FOOT = רגל שמאל
## BoardType
## Proportions
skeleton_bone-NONE = לא נבחר
@@ -99,6 +102,9 @@ widget-overlay-is_mirrored_label = הצג Overlay כהעתק
## Widget: Drift compensation
## Widget: Clear Reset Mounting
## Widget: Developer settings
widget-developer_mode = מצב מפתח
@@ -113,6 +119,9 @@ widget-developer_mode-more_info = הצג עוד מידע
widget-imu_visualizer = סיבוב
widget-imu_visualizer-rotation_preview = תצוגה מקדימה
## Widget: Skeleton Visualizer
## Tracker status
tracker-status-none = אין סטטוס
@@ -212,10 +221,6 @@ settings-sidebar-serial = טרמינל סידרתי
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
@@ -243,7 +248,13 @@ settings-general-tracker_mechanics-drift_compensation-max_resets-label = שימ
## Gesture control settings (tracker tapping)
## Interface settings
## Appearance settings
## Notification settings
## Behavior settings
## Serial settings
@@ -262,6 +273,12 @@ settings-osc-vrchat-network-trackers-elbows = מרפקים
## VMC OSC settings
## Common OSC settings
## Advanced settings
## Setup/onboarding menu
@@ -304,10 +321,7 @@ settings-osc-vrchat-network-trackers-elbows = מרפקים
## Tracker automatic mounting setup
## Tracker proportions method choose
## Tracker manual proportions setup
## Tracker manual proportions setupa
## Tracker automatic proportions setup
@@ -322,9 +336,48 @@ onboarding-automatic_proportions-verify_results-confirm = הם נכונים
onboarding-automatic_proportions-done-title = הגוף שלך נמדד ונשמר
onboarding-automatic_proportions-done-description = תהליך כיול פרופורציות הגוף שלך הושלם!
## Tracker scaled proportions setup
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
home-no_trackers = לא זוהו או הוקצו חיישנים
## Trackers Still On notification
## Status system
## Firmware tool globals
## Firmware tool Steps
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
## First exit modal
## Unknown device modal
## Error collection consent modal

View File

@@ -175,7 +175,7 @@ skeleton_bone-FOOT_SHIFT = Correzione per i piedi
skeleton_bone-FOOT_SHIFT-desc =
Questo valore è la distanza orizzontale dal ginocchio alla caviglia.
Tiene conto del fatto che la parte inferiore delle gambe va all'indietro quando si sta in piedi.
Per regolarla, impostare la lunghezza dei piedi su 0, eseguire un reset completo e modificarla
Per regolarla, impostare la lunghezza dei piedi su 0, eseguire un reset completo e modificarla
finché i piedi virtuali di non si allineano al centro delle caviglie.
skeleton_bone-SKELETON_OFFSET = Correzione per lo scheletro
skeleton_bone-SKELETON_OFFSET-desc =
@@ -396,7 +396,6 @@ tracker-settings-name_section-label = Nome del tracker
tracker-settings-forget = Dimentica il tracker
tracker-settings-forget-description = Rimuove il tracker dal SlimeVR server e impedisce che si riconnetta ad fino al riavvio del server. Le impostazioni del tracker non andranno perse.
tracker-settings-forget-label = Dimentica il tracker
tracker-settings-update-unavailable = Non può essere aggiornata (fai da te)
tracker-settings-update-low-battery = Non è possibile aggiornare. Batteria inferiore al 50%
tracker-settings-update-up_to_date = Aggiornata
tracker-settings-update-available = { $versionName } è ora disponibile
@@ -541,7 +540,7 @@ settings-general-tracker_mechanics-drift_compensation-prediction-description =
Abilita questa opzione se i tuoi tracker perdono continuano l'orientamento.
settings-general-tracker_mechanics-drift_compensation-prediction-label = Compensazione del drift predittiva
settings-general-tracker_mechanics-drift_compensation_warning =
<b>Attenzione:</b> Utilizzare la compensazione del drift solo se è necessario il ripristino
<b>Attenzione:</b> Utilizzare la compensazione del drift solo se è necessario il ripristino
molto spesso (ogni ~5-10 minuti).
Alcune IMU che sono soggetti a frequenti ripristini includono:
@@ -600,8 +599,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = "Compenetrazione
settings-general-fk_settings-leg_tweak-toe_snap-description = "Dita dei piedi piantate" prova ad indovinare la rotazione dei tuoi piedi quando non stai usando dei tracker per i piedi.
settings-general-fk_settings-leg_tweak-foot_plant-description = "Piedi piantati" ruota i piedi in modo tale che siano paralleli al terreno quando in contatto con esso.
settings-general-fk_settings-leg_fk = Tracciamento delle gambe
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Abilita il ripristino di posizionamento dei piedi mettendosi in punta di piedi.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Ripristino del posizionamento dei piedi
settings-general-fk_settings-enforce_joint_constraints = Limiti dello scheletro
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Rispetta i vincoli
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Impedisci ai legamenti di ruotare oltre il loro limite
@@ -714,9 +711,6 @@ settings-general-interface-connected_trackers_warning-label = Avviso di tracker
## Behavior settings
settings-interface-behavior = Comportamento
settings-general-interface-dev_mode = Modalità sviluppatore
settings-general-interface-dev_mode-description = Questa modalità è utile se hai bisogno di dati approfonditi o devi interagire in maniera più avanzata con i tracker connessi.
settings-general-interface-dev_mode-label = Modalità sviluppatore
settings-general-interface-use_tray = Riduci a icona nella barra delle applicazioni
settings-general-interface-use_tray-description = Ti consente di chiudere la finestra senza chiudere il server SlimeVR in modo da poter continuare a usarlo senza che la GUI ti infastidisca.
settings-general-interface-use_tray-label = Riduci a icona nella barra delle applicazioni
@@ -755,7 +749,6 @@ settings-serial-factory_reset-warning =
Ciò significa che le impostazioni Wi-Fi e di calibrazione <b>andranno tutte perse!</b>
settings-serial-factory_reset-warning-ok = Capisco cosa sto facendo
settings-serial-factory_reset-warning-cancel = Annulla
settings-serial-get_infos = Ottieni informazioni
settings-serial-serial_select = Seleziona una porta seriale
settings-serial-auto_dropdown_item = Automatico
settings-serial-get_wifi_scan = Elenca WiFi Network
@@ -858,6 +851,9 @@ settings-osc-vmc-mirror_tracking = Tracciamento speculare
settings-osc-vmc-mirror_tracking-description = Specchia il tracciamento orizzontalmente.
settings-osc-vmc-mirror_tracking-label = Tracciamento speculare
## Common OSC settings
## Advanced settings
settings-utils-advanced = Avanzato
@@ -929,7 +925,7 @@ onboarding-reset_tutorial-explanation = Mentre usi i tuoi tracker, potrebbero pe
onboarding-reset_tutorial-skip = Salta passaggio
# Cares about multiline
onboarding-reset_tutorial-0 =
Tocca { $taps } volte il tracker evidenziato per eseguire il ripristino dell'orientamento.
Tocca { $taps } volte il tracker evidenziato per eseguire il ripristino dell'orientamento.
Ciò farà sì che i tracker siano rivolti nella stessa direzione del tuo HMD.
# Cares about multiline
@@ -940,7 +936,7 @@ onboarding-reset_tutorial-1 =
Questo ripristinerà completamente la posizione e la rotazione di tutti i tuoi tracker. Dovrebbe risolvere la maggior parte dei problemi.
# Cares about multiline
onboarding-reset_tutorial-2 =
Tocca { $taps } volte il tracker evidenziato per eseguire il ripristino del posizionamento.
Tocca { $taps } volte il tracker evidenziato per eseguire il ripristino del posizionamento.
Il ripristino del posizionamento aiuta a determinare come i tracker vengono effettivamente posizionati su di te, quindi se li hai spostati accidentalmente e hai cambiato il modo in cui sono orientati di una grande quantità, questo aiuterà.
@@ -1009,7 +1005,6 @@ onboarding-connect_tracker-next = Ho collegato tutti i miei tracker
onboarding-calibration_tutorial = Tutorial di calibrazione IMU
onboarding-calibration_tutorial-subtitle = Ciò aiuterà a ridurre il drift del tracker!
onboarding-calibration_tutorial-description = Ogni volta che accendi i tracker, devono riposare per un momento su una superficie piana per calibrare. Facciamo la stessa cosa cliccando sul pulsante "{ onboarding-calibration_tutorial-calibrate }", <b>non muoverli!</b>
onboarding-calibration_tutorial-calibrate = Ho messo i miei tracker sul tavolo
onboarding-calibration_tutorial-status-waiting = Ti aspettiamo
onboarding-calibration_tutorial-status-calibrating = Calibrazione in corso
@@ -1383,68 +1378,8 @@ firmware_tool = Strumento firmware fai-da-te
firmware_tool-description = Ti consente di configurare e flashare i tuoi tracker fai-da-te
firmware_tool-not_available = Oops, lo strumento firmware non è disponibile al momento. Torna più tardi!
firmware_tool-not_compatible = Lo strumento firmware non è compatibile con questa versione del server. Aggiorna il tuo server!
firmware_tool-board_step = Seleziona la tua scheda
firmware_tool-board_step-description = Seleziona una delle schede elencate di seguito.
firmware_tool-board_pins_step = Controlla i pin
firmware_tool-board_pins_step-description =
Per piacer verifica che i pin selezionati siano corretti.
Se hai seguito la documentazione di SlimeVR, i valori predefiniti dovrebbero essere corretti
firmware_tool-board_pins_step-enable_led = Abilita LED
firmware_tool-board_pins_step-led_pin =
.label = Pin LED
.placeholder = Inserisci l'indirizzo del Pin LED
firmware_tool-board_pins_step-battery_type = Seleziona il tipo di batteria
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Batteria esterna
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Batteria interna
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = MCP3021 interno
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Pin del sensore della batteria
.placeholder = Inserisci l'indirizzo del sensore della batteria
firmware_tool-board_pins_step-battery_resistor =
.label = Resistenza della batteria (Ohm)
.placeholder = Inserisci il valore della resistenza della batteria
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Shield R1 della batteria (Ohm)
.placeholder = Inserisci il valore dello Shield R1 della batteria
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Shield R2 della batteria (Ohm)
.placeholder = Inserisci il valore dello Shield R2 della batteria
firmware_tool-add_imus_step = Specifica i tuoi IMU
firmware_tool-add_imus_step-description =
Per piacere aggiungi le IMU del tuo tracker
Se hai seguito la documentazione di SlimeVR, i valori predefiniti dovrebbero essere corretti
firmware_tool-add_imus_step-imu_type-label = Tipo dell'IMU
firmware_tool-add_imus_step-imu_type-placeholder = Seleziona il tipo dell'IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Rotazione dell'IMU (gradi)
.placeholder = Angolo di rotazione dell'IMU
firmware_tool-add_imus_step-scl_pin =
.label = Pin SLC
.placeholder = Indirizzo del Pin SLC
firmware_tool-add_imus_step-sda_pin =
.label = Pin SDA
.placeholder = Indirezzo del Pin SDA
firmware_tool-add_imus_step-int_pin =
.label = Pin INT
.placeholder = Indirizzo del Pin INT
firmware_tool-add_imus_step-optional_tracker =
.label = Tracker opzionale
firmware_tool-add_imus_step-show_less = Mostra meno
firmware_tool-add_imus_step-show_more = Mostra di più
firmware_tool-add_imus_step-add_more = Aggiungere altre IMU
firmware_tool-select_firmware_step = Seleziona la versione del firmware
firmware_tool-select_firmware_step-description = Per piacere scegli la versione del firmware che desideri utilizzare
firmware_tool-select_firmware_step-show-third-party =
.label = Mostra firmware di terze parti
firmware_tool-flash_method_step = Metodo di flashing
firmware_tool-flash_method_step-description = Seleziona il metodo di flashing che desideri utilizzare
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Usa il metodo via rete. Il tuo tracker utilizzerà il Wi-Fi per aggiornare il suo firmware. Funziona solo su tracker già configurati.
firmware_tool-flash_method_step-serial =
.label = Seriale
.description = Usa un cavo USB per aggiornare il tracker.
firmware_tool-flashbtn_step = Premi il pulsante di avvio
firmware_tool-flashbtn_step-description = Prima di passare al passaggio successivo, ci sono alcune cose che devi fare
firmware_tool-flashbtn_step-board_SLIMEVR = Spegni il tracker, rimuovi la custodia (se presente), collega un cavo USB a questo computer, quindi esegui uno dei seguenti passaggi in base alla revisione della tua scheda SlimeVR:
@@ -1473,9 +1408,6 @@ firmware_tool-flashing_step-exit = Esci
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Creazione della cartella di compilazione
firmware_tool-build-DOWNLOADING_FIRMWARE = Scaricamento del firmware
firmware_tool-build-EXTRACTING_FIRMWARE = Estrazione del firmware
firmware_tool-build-SETTING_UP_DEFINES = Configurazione delle definizioni del firmware
firmware_tool-build-BUILDING = Compilazione del firmware
firmware_tool-build-SAVING = Salvataggio del codice compilato
firmware_tool-build-DONE = Compilazione completata

View File

@@ -394,8 +394,6 @@ 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
@@ -446,6 +444,9 @@ 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 = 使用したいデフォルトの言語を変更する
@@ -469,9 +470,6 @@ settings-general-interface-connected_trackers_warning = 接続されたトラッ
## Behavior settings
settings-general-interface-dev_mode = 開発者モード
settings-general-interface-dev_mode-description = このモードは、詳細なデータが必要な場合や、接続されたトラッカーをより高度なレベルで操作する場合に役立ちます。
settings-general-interface-dev_mode-label = 開発者モード
settings-general-interface-use_tray-label = システムトレイに最小化する
## Serial settings
@@ -486,7 +484,6 @@ 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 = 自動
@@ -554,6 +551,9 @@ settings-osc-vmc-network-address = ネットワークアドレス
settings-osc-vmc-network-address-placeholder = IPV4アドレス
settings-osc-vmc-vrm = VRMモデル
## Common OSC settings
## Advanced settings
@@ -625,10 +625,10 @@ onboarding-connect_tracker-connection_status-done = サーバーに接続され
# 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
[0] No trackers connected
[one] 1 tracker connected
*[other] { $amount } trackers connected
}
onboarding-connect_tracker-next = すべてのトラッカーを接続しました
## Tracker calibration tutorial
@@ -653,10 +653,10 @@ onboarding-assign_trackers-description = どのトラッカーをどこに置く
# $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
{ $trackers ->
[one] { $assigned } of 1 tracker assigned
*[other] { $assigned } of { $trackers } trackers assigned
}
onboarding-assign_trackers-advanced = 高度な割り当て場所の表示
onboarding-assign_trackers-next = すべてのトラッカーを割り当てました
@@ -690,8 +690,6 @@ 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 = すべてのトラッカーを装着しました
@@ -700,8 +698,6 @@ onboarding-automatic_mounting-put_trackers_on-next = すべてのトラッカー
onboarding-manual_proportions-back = チュートリアルをリセットする
onboarding-manual_proportions-title = マニュアルボディプロポーション
onboarding-manual_proportions-precision = 精度を調整する
onboarding-manual_proportions-auto = 自動キャリブレーション
## Tracker automatic proportions setup
@@ -746,6 +742,9 @@ onboarding-automatic_proportions-error_modal-confirm = 了解!
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
home-no_trackers = トラッカーを検出できません。もしくは割り当てられていません。

View File

@@ -275,7 +275,6 @@ tracker-settings-name_section-label = 트래커 이름
tracker-settings-forget = 트래커 삭제
tracker-settings-forget-description = SlimeVR 서버에서 트래커를 제거하고 서버를 다시 시작할 때까지 자동으로 연결하지 않아요. 트래커의 설정은 지워지지 않아요.
tracker-settings-forget-label = 트래커 삭제
tracker-settings-update-unavailable = 업데이트할 수 없음 (DIY)
tracker-settings-update-up_to_date = 최신 버전
tracker-settings-update-available = { $versionName } 사용 가능
tracker-settings-update = 지금 업데이트
@@ -383,7 +382,7 @@ settings-general-steamvr-trackers-tracker_toggling = 자동 트래커 할당
settings-general-steamvr-trackers-tracker_toggling-description = 지정한 트래커 할당 상태에 따라 SteamVR 트래커를 자동으로 켜고 끄기
settings-general-steamvr-trackers-tracker_toggling-label = 자동 트래커 할당
settings-general-steamvr-trackers-hands-warning =
<b>경고:</b> 핸드 트래커를 사용하면 VR 컨트롤러가 작동하지 않아요.
<b>경고:</b> 핸드 트래커를 사용하면 VR 컨트롤러가 작동하지 않아요.
그래도 사용할까요?
settings-general-steamvr-trackers-hands-warning-cancel = 취소
settings-general-steamvr-trackers-hands-warning-done = 확인
@@ -414,7 +413,7 @@ settings-general-tracker_mechanics-drift_compensation-enabled-label = 틀어짐
settings-general-tracker_mechanics-drift_compensation-prediction = 틀어짐 보정 예측
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-prediction-description =
점점 심하게 틀어지는 트래커의 틀어짐 방향을 예측해요.
점점 심하게 틀어지는 트래커의 틀어짐 방향을 예측해요.
틀어짐 보정을 사용해도 트래커가 Yaw 축에서 계속 틀어지면 이 옵션을 켜세요.
settings-general-tracker_mechanics-drift_compensation-prediction-label = 예측해서 틀어짐 보정하기
settings-general-tracker_mechanics-drift_compensation_warning =
@@ -428,7 +427,7 @@ settings-general-tracker_mechanics-drift_compensation-amount-label = 보정 강
settings-general-tracker_mechanics-drift_compensation-max_resets-label = 보정에 사용할 최근 정렬 횟수
settings-general-tracker_mechanics-save_mounting_reset = 자동 착용 방향 정렬 보정값 저장
settings-general-tracker_mechanics-save_mounting_reset-description =
트래커의 착용 방향 정렬 보정값을 저장합니다. 트래커들의 위치가 고정된
트래커의 착용 방향 정렬 보정값을 저장합니다. 트래커들의 위치가 고정된
모션 캡처 슈트 같은 것을 사용할 때 유용해요. <b>일반 사용자들에게는 권장되지 않아요!</b>
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = 착용 방향 정렬 저장
settings-general-tracker_mechanics-use_mag_on_all_trackers = 자력계를 지원하는 모든 IMU 트래커에서 자력계 활성화
@@ -457,8 +456,6 @@ 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-enforce_joint_constraints = 골격 한계
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = 상수 강제 적용
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = 관절의 회전 각도를 제한합니다
@@ -526,6 +523,9 @@ 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-show-navbar-onboarding = 내비게이션 바에 "{ navbar-onboarding }" 표시
settings-general-interface-show-navbar-onboarding-description = 이 설정은 내비게이션 바에 "{ navbar-onboarding }" 버튼을 표시할 지 결정해요.
@@ -561,9 +561,6 @@ settings-general-interface-connected_trackers_warning-label = 종료 시 작동
## Behavior settings
settings-general-interface-dev_mode = 개발자 모드
settings-general-interface-dev_mode-description = 이 모드는 더 많은 데이터가 필요하거나 고급 수준에서 연결된 트래커와 상호 작용하는 경우에 유용할 수 있어요.
settings-general-interface-dev_mode-label = 개발자 모드
settings-general-interface-use_tray = 작업 표시줄로 최소화
settings-general-interface-use_tray-description = SlimeVR 서버를 닫지 않고 창만 닫을 수 있게 하여 사용 시 항상 GUI를 띄워 놓을 필요가 없게 해요.
settings-general-interface-use_tray-label = 작업 표시줄로 최소화
@@ -595,7 +592,6 @@ settings-serial-factory_reset-warning =
계속하면 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 검색
@@ -696,6 +692,9 @@ settings-osc-vmc-mirror_tracking = 움직임 좌우 반전
settings-osc-vmc-mirror_tracking-description = 움직임을 수평 방향으로 반전시킵니다.
settings-osc-vmc-mirror_tracking-label = 움직임 좌우 반전
## Common OSC settings
## Advanced settings
settings-utils-advanced = 고급
@@ -827,7 +826,6 @@ onboarding-connect_tracker-next = 트래커를 모두 연결했어요
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 = 보정 중
@@ -985,8 +983,6 @@ 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 = 모든 트래커를 착용했어요
@@ -995,15 +991,10 @@ onboarding-automatic_mounting-put_trackers_on-next = 모든 트래커를 착용
onboarding-manual_proportions-back = 정렬 튜토리얼로 돌아가기
onboarding-manual_proportions-title = 수동 신체 비율 설정
onboarding-manual_proportions-precision = 자세히 조절하기
onboarding-manual_proportions-auto = 자동 신체 비율 설정
onboarding-manual_proportions-ratio = 비율 그룹으로 조절하기
onboarding-manual_proportions-fine_tuning_button = 신체 비율을 자동으로 조정
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = 신체 비율 자동 조정 기능을 이용하려면 VR 헤드셋을 연결해 주세요
onboarding-manual_proportions-export = 신체 비율 내보내기
onboarding-manual_proportions-import = 신체 비율 가져오기
onboarding-manual_proportions-import-success = 가져오기 완료
onboarding-manual_proportions-import-failed = 가져오기 실패
onboarding-manual_proportions-file_type = 신체 비율 파일
## Tracker automatic proportions setup
@@ -1060,7 +1051,7 @@ 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 =
자리에서 똑바로 일어나서, 머리를 원을 그리듯이 움직이세요.
자리에서 똑바로 일어나서, 머리를 원을 그리듯이 움직이세요.
등을 앞으로 구부리고 스쿼트를 하듯이 몸을 낮추세요. 그대로 왼쪽을 바라본 다음 오른쪽을 바라보세요.
상체를 왼쪽(시계 반대 방향)으로 비틀어서 바닥을 향해 손을 뻗으세요.
상체를 오른쪽(시계 방향)으로 비틀어서 바닥을 향해 손을 뻗으세요.
@@ -1108,6 +1099,9 @@ onboarding-scaled_proportions-reset_proportion-description = 키에 따라 신
onboarding-scaled_proportions-done-title = 신체 비율 설정됨
onboarding-scaled_proportions-done-description = 이제 사용자의 키에 비례한 신체 비율이 사용됩니다.
## Stay Aligned setup
## Home
home-no_trackers = 감지되거나 할당된 트래커가 없어요.
@@ -1144,68 +1138,8 @@ firmware_tool = DIY 펌웨어 도구
firmware_tool-description = DIY 트래커를 설정하고 펌웨어를 쓸 수 있습니다
firmware_tool-not_available = 앗, 지금은 펌웨어 툴을 사용할 수 없어요. 나중에 다시 오세요!
firmware_tool-not_compatible = 이 서버 버전은 펌웨어 도구를 지원하지 않습니다. 서버를 업데이트해 주세요!
firmware_tool-board_step = 보드 선택
firmware_tool-board_step-description = 아래의 보드 중 하나를 선택해 주세요.
firmware_tool-board_pins_step = 핀 확인
firmware_tool-board_pins_step-description =
설정된 핀이 정확한지 다시 확인해 주세요.
SlimeVR 사용 설명서를 따랐다면 기본값으로도 문제 없을 거에요
firmware_tool-board_pins_step-enable_led = LED 켜기
firmware_tool-board_pins_step-led_pin =
.label = LED 핀
.placeholder = LED가 연결된 핀 번호를 입력해 주세요
firmware_tool-board_pins_step-battery_type = 배터리 유형 선택
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = 외부 배터리
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = 내부 배터리
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = 내장 MCP3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = 배터리 센서 핀
.placeholder = 배터리 센서의 핀 번호를 입력해 주세요
firmware_tool-board_pins_step-battery_resistor =
.label = 배터리 저항 (옴)
.placeholder = 배터리 저항의 값을 입력해 주세요
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = 배터리 쉴드 R1(옴)
.placeholder = 배터리 쉴드 R1 저항값을 입력해 주세요
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = 배터리 쉴드 R2(옴)
.placeholder = 배터리 쉴드 R2 저항값을 입력해 주세요
firmware_tool-add_imus_step = IMU 설정
firmware_tool-add_imus_step-description =
트래커가 사용하는 IMU들을 추가해 주세요
SlimeVR 사용 설명서를 따랐다면 기본값으로도 문제 없을 거에요
firmware_tool-add_imus_step-imu_type-label = IMU 유형
firmware_tool-add_imus_step-imu_type-placeholder = IMU 유형을 선택해 주세요
firmware_tool-add_imus_step-imu_rotation =
.label = IMU 회전각 (도)
.placeholder = IMU의 회전각
firmware_tool-add_imus_step-scl_pin =
.label = SCL 핀
.placeholder = SCL 핀의 번호
firmware_tool-add_imus_step-sda_pin =
.label = SDA 핀
.placeholder = SDA 핀의 번호
firmware_tool-add_imus_step-int_pin =
.label = INT 핀
.placeholder = INT 핀의 번호
firmware_tool-add_imus_step-optional_tracker =
.label = 추가 트래커
firmware_tool-add_imus_step-show_less = 간단하게
firmware_tool-add_imus_step-show_more = 자세하게
firmware_tool-add_imus_step-add_more = 더 많은 IMU 추가
firmware_tool-select_firmware_step = 펌웨어 버전 선택
firmware_tool-select_firmware_step-description = 사용하고자 하는 펌웨어 버전을 선택해 주세요
firmware_tool-select_firmware_step-show-third-party =
.label = 제 3자 펌웨어 표시하기
firmware_tool-flash_method_step = 펌웨어 플래시 방식
firmware_tool-flash_method_step-description = 펌웨어를 트래커에 플래시할 방법을 선택해 주세요
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Wi-Fi를 이용하여 무선으로 트래커의 펌웨어를 업데이트합니다. 이미 설정을 완료한 트래커들에만 사용할 수 있어요.
firmware_tool-flash_method_step-serial =
.label = Serial
.description = USB 케이블을 이용하여 트래커를 업데이트합니다.
firmware_tool-flashbtn_step = BOOT 버튼 누르기
firmware_tool-flashbtn_step-description = 다음 단계로 진행하기 전 몇 가지 작업을 해야 해요
firmware_tool-flashbtn_step-board_SLIMEVR = 트래커를 끄고, 케이스를 제거하고 (만약 있다면), 이 컴퓨터에 USB 케이블을 연결한 후 SlimeVR 보드 버전에 따라 해당하는 작업을 수행해 주세요:
@@ -1227,16 +1161,12 @@ firmware_tool-build_step = 빌드 중
firmware_tool-build_step-description = 펌웨어를 빌드하는 중입니다. 잠시만 기다려 주세요
firmware_tool-flashing_step = 펌웨어 쓰는 중
firmware_tool-flashing_step-description = 트래커에 펌웨어를 쓰는 중입니다. 화면의 지시를 따라 주세요
firmware_tool-flashing_step-warning = 별도의 지시가 없는 경우, 트래커를 선에서 분리하거나 업로드 중 전원을 끄지 말아 주세요. 트래커를 사용하지 못 하게 될 수도 있습니다
firmware_tool-flashing_step-flash_more = 더 많은 트래커에 펌웨어 쓰기
firmware_tool-flashing_step-exit = 나가기
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = 빌드 폴더 만드는 중
firmware_tool-build-DOWNLOADING_FIRMWARE = 펌웨어 다운로드 중
firmware_tool-build-EXTRACTING_FIRMWARE = 펌웨어 추출 중
firmware_tool-build-SETTING_UP_DEFINES = 매크로 상수 정의하는 중
firmware_tool-build-BUILDING = 펌웨어 빌드 중
firmware_tool-build-SAVING = 빌드 저장 중
firmware_tool-build-DONE = 빌드 완료
@@ -1245,7 +1175,6 @@ firmware_tool-build-ERROR = 펌웨어를 빌드할 수 없음
## Firmware update status
firmware_update-status-DOWNLOADING = 펌웨어 다운로드 중
firmware_update-status-NEED_MANUAL_REBOOT = 트래커의 전원을 껐다 켜 주세요
firmware_update-status-AUTHENTICATING = MCU와 연결 시도 중
firmware_update-status-UPLOADING = 펌웨어 업로드 중
firmware_update-status-SYNCING_WITH_MCU = MCU와 동기화 중

View File

@@ -355,7 +355,6 @@ tracker-settings-name_section-label = Sekiklio pavadinimas
tracker-settings-forget = Pamiršti sekiklį
tracker-settings-forget-description = Tai pašalins sekiklį iš SlimeVR serverio ir nebeleis jam prisijungti, kol neperkrausite serverį. Sekiklio nustatymai nebus prarasti.
tracker-settings-forget-label = Pamiršti sekiklį
tracker-settings-update-unavailable = Neįmanoma atnaujinti (DIY)
tracker-settings-update-low-battery = Negalima atnaujinti, baterijos lygis žemesnis nei 50%
tracker-settings-update-up_to_date = Atnaujinta
tracker-settings-update-available = Prieinamas atnaujinimas: { $versionName }
@@ -541,8 +540,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Neleidžia pėdo
settings-general-fk_settings-leg_tweak-toe_snap-description = Bando atspėti pėdų pasukimą, jei nenaudojate pėdų sekiklius.
settings-general-fk_settings-leg_tweak-foot_plant-description = Pasuka pėdas taip, kad jos būtų lygiagrečios grindims, kai stovite.
settings-general-fk_settings-leg_fk = Kojų sekimas
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Įjungia pėdų tvirtinimo atstatymą atsistojant ant pirštų galų.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Pėdų tvirtinimo atstatymas
settings-general-fk_settings-enforce_joint_constraints = Skeletiniai ribojimai
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Taikyti ribojimus
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Neleidžia sąnariams pasisukti už jų fiziologinės ribos.
@@ -595,6 +592,9 @@ settings-general-gesture_control-trackers =
## VMC OSC settings
## Common OSC settings
## Advanced settings

View File

@@ -394,9 +394,6 @@ settings-general-interface-serial_detection-label = Seriell enhets gjenkjenning
## Behavior settings
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-interface-behavior-error_tracking-description_v2 =
<h1>Samtykker du til innsamling av anonymiserte feildata?</h1>
@@ -422,7 +419,6 @@ settings-serial-factory_reset-warning =
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
@@ -477,6 +473,9 @@ settings-osc-vrchat-network-trackers-elbows = Albuer
## VMC OSC settings
## Common OSC settings
## Advanced settings

View File

@@ -9,6 +9,11 @@
websocket-connecting = Verbinding maken met de server
websocket-connection_lost = Verbinding met de server verbroken. Opniew verbinding maken...
websocket-connection_lost-desc = Het ziet er naar uit dat de verbinding met de SlimeVR server is verbroken. Check het logboek en start het programma opnieuw.
websocket-timedout = Kan niet verbinden met de server.
websocket-timedout-desc = Het ziet er naar uit dat de SlimeVR server is gestopt. Check het logboek en start het programma opnieuw.
websocket-error-close = SlimeVR afsluiten
websocket-error-logs = Open het logboek.
## Update notification
@@ -49,10 +54,42 @@ body_part-LEFT_HAND = Linkerhand
body_part-LEFT_UPPER_LEG = Linkerdij
body_part-LEFT_LOWER_LEG = Linkerenkel
body_part-LEFT_FOOT = Linkervoet
body_part-LEFT_THUMB_METACARPAL = Linkerduim middenhandsbeentje
body_part-LEFT_THUMB_PROXIMAL = Linkerduim proximaal
body_part-LEFT_THUMB_DISTAL = Linkerduim distaal
body_part-LEFT_INDEX_PROXIMAL = Linker wijsvinger proximaal
body_part-LEFT_INDEX_INTERMEDIATE = Linker middelste kootje van de wijsvinger
body_part-LEFT_INDEX_DISTAL = Linker wijsvinger distaal
body_part-LEFT_MIDDLE_PROXIMAL = Linker middelvinger proximaal
body_part-LEFT_MIDDLE_INTERMEDIATE = Linker middelste kootje van de middelvinger
body_part-LEFT_MIDDLE_DISTAL = Linker middelvinger distaal
body_part-LEFT_RING_PROXIMAL = Linker ringvinger proximaal
body_part-LEFT_RING_INTERMEDIATE = Linker middelste kootje van de ringvinger
body_part-LEFT_RING_DISTAL = Linker ringvinger distaal
body_part-LEFT_LITTLE_PROXIMAL = Linker kleine vinger proximaal
body_part-LEFT_LITTLE_INTERMEDIATE = Linker middelste kootje van de kleine vinger
body_part-LEFT_LITTLE_DISTAL = Linker kleine vinger distaal
body_part-RIGHT_THUMB_METACARPAL = Rechterduim middenhandsbeentje
body_part-RIGHT_THUMB_PROXIMAL = Rechterduim proximaal
body_part-RIGHT_THUMB_DISTAL = Rechterduim distaal
body_part-RIGHT_INDEX_PROXIMAL = Rechter wijsvinger proximaal
body_part-RIGHT_INDEX_INTERMEDIATE = Rechter middelste kootje van de wijsvinger
body_part-RIGHT_INDEX_DISTAL = Rechter wijsvinger distaal
body_part-RIGHT_MIDDLE_PROXIMAL = Rechts middelvinger proximaal
body_part-RIGHT_MIDDLE_INTERMEDIATE = Rechter middelste kootje van de middelvinger
body_part-RIGHT_MIDDLE_DISTAL = Rechter middelvinger distaal
body_part-RIGHT_RING_PROXIMAL = Rechter ringvinger proximaal
body_part-RIGHT_RING_INTERMEDIATE = Rechter middelste kootje van de ringvinger
body_part-RIGHT_RING_DISTAL = Rechter ringvinger distaal
body_part-RIGHT_LITTLE_PROXIMAL = Rechter kleine vinger proximaal
body_part-RIGHT_LITTLE_INTERMEDIATE = Rechter middelste kootje van de kleine vinger
body_part-RIGHT_LITTLE_DISTAL = Rechter kleine vinger distaal
## BoardType
board_type-UNKNOWN = Onbekend
board_type-NODEMCU = NodeMCU
board_type-CUSTOM = Custom bord
board_type-WROOM32 = WROOM32
board_type-WEMOSD1MINI = Wemos D1 Mini
board_type-TTGO_TBASE = TTGO T-Base
@@ -60,43 +97,152 @@ board_type-ESP01 = ESP-01
board_type-SLIMEVR = SlimeVR
board_type-LOLIN_C3_MINI = Lolin C3 Mini
board_type-BEETLE32C3 = Beetle ESP32-C3
board_type-ES32C3DEVKITM1 = Espressif ESP32-C3 DevKitM-1
board_type-ESP32C3DEVKITM1 = Espressif ESP32-C3 DevKitM-1
board_type-OWOTRACK = owoTrack
board_type-WRANGLER = Wrangler Joycons
board_type-MOCOPI = Sony Mocopi
board_type-WEMOSWROOM02 = Wemos Wroom-02 D1 Mini
board_type-XIAO_ESP32C3 = Seeed Studio XIAO ESP32C3
board_type-HARITORA = Haritora
board_type-ESP32C6DEVKITC1 = Espressif ESP32-C6 DevKitC-1
board_type-GLOVE_IMU_SLIMEVR_DEV = SlimeVR Dev IMU Handschoen
## Proportions
skeleton_bone-NONE = Geen
skeleton_bone-HEAD = Hoofdverschuiving
skeleton_bone-HEAD-desc =
Dit is de afstand tussen je headset en het midden van je hoofd.
Om dit aan te passen, schud je je hoofd naar links en rechts alsof je 'nee' zegt,
pas het aan totdat beweging van de andere trackers te verwaarlozen is.
skeleton_bone-NECK = Neklengte
skeleton_bone-NECK-desc =
Dit is de afstand tussen het midden van je hoofd en de basis van je nek.
Om dit aan te passen, beweeg je je hoofd op en neer alsof je knikt, of kantel je je hoofd
naar links en rechts. Wijzig de positie totdat beweging in andere trackers verwaarloosbaar is.
skeleton_bone-torso_group = Romp lengte
skeleton_bone-torso_group-desc =
Dit is de afstand van je nek tot je heupen.
Om dit aan te passen, ga rechtop staan en pas het aan totdat je virtuele heupen
in lijn zijn met je echte heupen.
skeleton_bone-UPPER_CHEST = Bovenborst Lengte
skeleton_bone-UPPER_CHEST-desc =
Dit is de afstand tussen de basis van je nek en het midden van je borst.
Om dit aan te passen, stel je de torso-lengte correct af en pas je deze aan in verschillende houdingen
(zitten, bukken, liggen, enz.) totdat je virtuele ruggengraat overeenkomt met je echte.
skeleton_bone-CHEST_OFFSET = Borstoffset
skeleton_bone-CHEST_OFFSET-desc =
Dit kan worden aangepast om je virtuele borsttracker omhoog of omlaag te verplaatsen,
om te helpen bij de kalibratie in bepaalde spellen of applicaties die verwachten dat deze hoger of lager staat.
skeleton_bone-CHEST = Borstafstand
skeleton_bone-CHEST-desc =
Dit is de afstand van het midden van je borst tot het midden van je ruggengraat.
Om dit aan te passen, stel je de torso-lengte correct af en pas je deze aan in verschillende houdingen
(zitten, bukken, liggen, enz.) totdat je virtuele ruggengraat overeenkomt met je echte.
skeleton_bone-WAIST = Taille lengte
skeleton_bone-WAIST-desc =
Dit is de afstand van het midden van je ruggengraat tot je navel.
Om dit aan te passen, stel je de torso-lengte correct af en pas je deze aan in verschillende houdingen
(zitten, bukken, liggen, enz.) totdat je virtuele ruggengraat overeenkomt met je echte.
skeleton_bone-HIP = Heuplengte
skeleton_bone-HIP-desc =
Dit is de afstand van je navel tot je heupen.
Om dit aan te passen, stel je de torso-lengte correct in en pas je deze aan in verschillende houdingen
(zitten, bukken, liggen, enz.) totdat je virtuele ruggengraat overeenkomt met je echte.
skeleton_bone-HIP_OFFSET = Heupoffset
skeleton_bone-HIP_OFFSET-desc =
Dit kan worden aangepast om je virtuele heuptracker omhoog of omlaag te verplaatsen,
om te helpen bij de kalibratie in bepaalde spellen of applicaties die mogelijk verwachten dat deze zich rond je middel bevindt.
skeleton_bone-HIPS_WIDTH = Heupbreedte
skeleton_bone-HIPS_WIDTH-desc =
Dit is de afstand tussen het begin van je benen.
Om dit aan te passen, voer je een volledige reset uit met je benen gestrekt en pas je het aan totdat je virtuele benen horizontaal overeenkomen met je echte.
skeleton_bone-leg_group = Beenlengte
skeleton_bone-leg_group-desc =
Dit is de afstand van je heupen tot je voeten.
Om dit aan te passen, pas je je torso-lengte op de juiste manier aan
totdat je virtuele voeten op hetzelfde niveau staan als je echte.
skeleton_bone-UPPER_LEG = Bovenbeenlengte
skeleton_bone-UPPER_LEG-desc =
Dit is de afstand van je heupen tot je knieën.
Om dit aan te passen, pas je je beenlengte op de juiste manier aan
totdat je virtuele knieën op dezelfde hoogte zijn als je echte.
skeleton_bone-LOWER_LEG = Onderbeenlengte
skeleton_bone-LOWER_LEG-desc =
Dit is de afstand van je knieën tot je enkels.
Om dit aan te passen, pas je je beenlengte op de juiste manier aan
totdat je virtuele knieën op dezelfde hoogte zijn als je echte knieën.
skeleton_bone-FOOT_LENGTH = Voetlengte
skeleton_bone-FOOT_LENGTH-desc =
Dit is de afstand van je enkels tot je tenen.
Om dit aan te passen, ga op je tenen staan en pas het aan totdat je virtuele voeten op hun plaats blijven.
skeleton_bone-FOOT_SHIFT = Voetverschuiving
skeleton_bone-FOOT_SHIFT-desc =
Deze waarde is de horizontale afstand van je knie tot je enkel.
Dit houdt rekening met het feit dat je onderbenen naar achteren staan wanneer je rechtop staat.
Om dit aan te passen, stel je de voetlengte in op 0, voer je een volledige reset uit,
en pas je het aan totdat je virtuele voeten op één lijn liggen met het midden van je enkels.
skeleton_bone-SKELETON_OFFSET = Skelet offset
skeleton_bone-SKELETON_OFFSET-desc =
Dit kan worden aangepast om al je trackers naar voren of naar achteren te verschuiven.
Het kan worden gebruikt om te helpen bij de kalibratie in bepaalde spellen of toepassingen
die mogelijk verwachten dat je trackers verder naar voren staan.
skeleton_bone-SHOULDERS_DISTANCE = Schoudersafstand
skeleton_bone-SHOULDERS_DISTANCE-desc =
Dit is de verticale afstand van de basis van je nek tot je schouders.
Om dit aan te passen, stel je de lengte van je bovenarm in op 0 en
pas je deze aan totdat je virtuele elleboogtrackers verticaal uitlijnen met je echte schouders.
skeleton_bone-SHOULDERS_WIDTH = Schouderbreedte
skeleton_bone-SHOULDERS_WIDTH-desc =
Dit is de horizontale afstand van de basis van je nek tot je schouders.
Om dit aan te passen, stel je de lengte van je bovenarm in op 0 en pas je deze aan
totdat je virtuele elleboogtrackers horizontaal uitlijnen met je echte schouders.
skeleton_bone-arm_group = Armlengte
skeleton_bone-arm_group-desc =
Dit is de afstand van je schouders tot je polsen.
Om dit aan te passen, pas je de schouderafstand correct aan, stel je Handafstand Y in op 0,
en pas je deze aan totdat je handtrackers op één lijn liggen met je polsen.
skeleton_bone-UPPER_ARM = Bovenarmlengte
skeleton_bone-UPPER_ARM-desc =
Dit is de afstand van je schouders tot je ellebogen.
Om dit aan te passen, pas je de armlengte correct aan en pas je deze aan
totdat je elleboogtrackers overeenkomen met je echte ellebogen.
skeleton_bone-LOWER_ARM = Onderarmlengte
skeleton_bone-LOWER_ARM-desc =
Dit is de afstand van je ellebogen tot je polsen.
Om dit aan te passen, pas je de armlengte correct aan en pas je deze aan
totdat je elleboogtrackers overeenkomen met je echte ellebogen.
skeleton_bone-HAND_Y = Afstand hand Y
skeleton_bone-HAND_Y-desc =
Dit is de verticale afstand van je polsen tot het midden van je hand.
Om dit aan te passen voor motion capture, pas je de armlengte correct aan
en pas je deze aan totdat je handtrackers verticaal uitgelijnd zijn met het midden van je handen.
Wil je het aanpassen voor elleboogtracking vanaf je controllers,
stel dan de armlengte in op 0 en pas je deze aan totdat je elleboogtrackers verticaal op één lijn liggen met je polsen.
skeleton_bone-HAND_Z = Afstand hand Z
skeleton_bone-HAND_Z-desc =
Dit is de horizontale afstand van je polsen tot het midden van je hand.
Als je dit wilt aanpassen voor motion capture, stel je deze in op 0.
Wil je het aanpassen voor elleboogtracking vanaf je controllers, stel dan de armlengte in op 0
en pas je deze aan totdat je elleboogtrackers horizontaal op één lijn liggen met je polsen.
skeleton_bone-ELBOW_OFFSET = Elleboogoffset
skeleton_bone-ELBOW_OFFSET-desc = Dit kan worden aangepast om je virtuele elleboogtrackers omhoog of omlaag te verplaatsen, zodat wordt voorkomen dat VRChat per ongeluk een elleboogtracker aan de borst koppelt.
## Tracker reset buttons
reset-reset_all = Alle afmetingen resetten
reset-reset_all_warning-v2 =
<b>Waarschuwing:</b> Je verhoudingen worden teruggezet naar de standaardinstellingen, geschaald op basis van je ingestelde lengte.
Weet je zeker dat je dit wilt doen?
reset-reset_all_warning-reset = Verhoudingen resetten
reset-reset_all_warning-cancel = Annuleren
reset-reset_all_warning_default-v2 =
<b>Waarschuwing:</b> Uw lengte is nog niet ingesteld, je verhoudingen worden teruggezet naar de standaardinstellingen met de standaard lengte.
Weet je zeker dat je dit wilt doen?
reset-full = Volledige reset
reset-mounting = Reset montage
reset-mounting-feet = Reset voetmontage
reset-mounting-fingers = Reset vingermontage
reset-yaw = Yaw Reset
## Serial detection stuff
@@ -122,6 +268,7 @@ navbar-settings = Instellingen
bvh-start_recording = BVH opnemen
bvh-recording = Opname bezig...
bvh-save_title = Sla BVH-opname op
## Tracking pause
@@ -162,6 +309,7 @@ widget-imu_visualizer-rotation_raw = Rauw
widget-imu_visualizer-rotation_preview = Preview
widget-imu_visualizer-acceleration = Versnelling
widget-imu_visualizer-position = Positie
widget-imu_visualizer-stay_aligned = Blijf in lijn
## Widget: Skeleton Visualizer
@@ -189,6 +337,7 @@ tracker-table-column-temperature = Temp. °C
tracker-table-column-linear-acceleration = Accel. X/Y/Z
tracker-table-column-rotation = Rotatie X/Y/Z
tracker-table-column-position = Positie X/Y/Z
tracker-table-column-stay_aligned = Blijf in lijn
tracker-table-column-url = URL
## Tracker rotation
@@ -238,15 +387,27 @@ tracker-settings-mounting_section-edit = Montage bewerken
tracker-settings-drift_compensation_section = Laat drift compensatie toe
tracker-settings-drift_compensation_section-description = Moet deze tracker compenseren voor drift wanneer drift compensatie is ingeschakeld?
tracker-settings-drift_compensation_section-edit = Laat drift compensatie toe
tracker-settings-use_mag = Sta de magnetometer toe op deze tracker.
# Multiline!
tracker-settings-use_mag-description =
Wilt u dat deze tracker de magnetometer gebruikt om drift te verminderen wanneer de magnetometer is toegestaan? <b>Zet de tracker niet uit terwijl u dit aan of uit zet.</b>
U moet eerst de magnetometer toestemming geven,<magSetting>click hier om naar de instellingen te gaan</magSetting>.
tracker-settings-use_mag-label = Laat magnetometer toe
# 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 = Trackernaam
tracker-settings-name_section-description = Geef een schattige bijnaam :)
tracker-settings-name_section-placeholder = NightyBeast's linkerbeen
tracker-settings-name_section-label = Trackernaam
tracker-settings-forget = Vergeet tracker
tracker-settings-forget-description = Verwijdert de tracker van de SlimeVR Server en voorkomt dat deze verbinding kan maken totdat de server opnieuw wordt opgestart. De configuratie van de tracker blijft behouden.
tracker-settings-forget-label = Vergeet tracker
tracker-settings-update-low-battery = Kan niet worden bijgewerkt. Batterij lager dan 50%
tracker-settings-update-up_to_date = Up to date.
tracker-settings-update-blocked = Update is niet beschikbaar. Er zijn geen andere versies beschikbaar.
tracker-settings-update-available = { $versionName } is nu beschikbaar
tracker-settings-update = Werk nu bij.
tracker-settings-update-title = Firmware versie
## Tracker part card info
@@ -313,6 +474,7 @@ mounting_selection_menu-close = Sluiten
settings-sidebar-title = Instellingen
settings-sidebar-general = Algemeen
settings-sidebar-tracker_mechanics = Trackersinstellingen
settings-sidebar-stay_aligned = Blijf in lijn
settings-sidebar-fk_settings = FK-instellingen
settings-sidebar-gesture_control = Tikbediening
settings-sidebar-interface = Interface
@@ -322,6 +484,9 @@ settings-sidebar-utils = Hulpmiddelen
settings-sidebar-serial = Serieel console
settings-sidebar-appearance = Uiterlijk
settings-sidebar-notifications = Notificaties
settings-sidebar-behavior = Gedrag
settings-sidebar-firmware-tool = DIY Firmware Tool
settings-sidebar-vrc_warnings = VRChat Configuratie-waarschuwingen
settings-sidebar-advanced = Geavanceerd
## SteamVR settings
@@ -376,8 +541,19 @@ settings-general-tracker_mechanics-drift_compensation-description =
Veranderd de sterkte van de compensatie en hoeveel resets worden gebruikt.
settings-general-tracker_mechanics-drift_compensation-enabled-label = Drift compensate
settings-general-tracker_mechanics-drift_compensation-prediction = Voorspelling van driftcompensatie
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-prediction-description =
Voorspelt compensatie van gierdrift buiten het eerder gemeten bereik.
Schakel dit in als jouw trackers continu om de gier-as draaien.
settings-general-tracker_mechanics-drift_compensation-prediction-label = Voorspelling van driftcompensatie
settings-general-tracker_mechanics-drift_compensation_warning =
<b>Waarschuwing:</b> Gebruik alleen driftcompensatie als je heel vaak
moet resetten (elke ~5-10 minuten).
IMU's die vaak worden gereset, zijn onder ander:
Joy-Cons, owoTrack en MPU's (zonder recente firmware).
settings-general-tracker_mechanics-drift_compensation_warning-cancel = Annuleren
settings-general-tracker_mechanics-drift_compensation_warning-done = Ik begrijp het
settings-general-tracker_mechanics-drift_compensation-amount-label = Compensatiesterkte
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Gebruik de laatste x resets
settings-general-tracker_mechanics-save_mounting_reset = Sla de automatische montage reset kalibratie op
@@ -388,6 +564,25 @@ settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
Gebruikt magnetometer op alle trackers die er een compatibele firmware voor hebben, waardoor drift in stabiele magnetische omgevingen wordt verminderd.
Je kan dit per individuele tracker uit zetten in de instellingen van de tracker. <b>Sluit geen van de trackers af terwijl u dit in- en uitschakelt!</b>
settings-general-tracker_mechanics-use_mag_on_all_trackers-label = Gebruik magnetometer op de trackers
settings-stay_aligned = Blijf in lijn
settings-stay_aligned-description = ijf in lijn vermindert drift door je trackers geleidelijk aan te passen zodat ze overeenkomen met je ontspannen houdingen.
settings-stay_aligned-setup-label = Blijf in lijn instellen
settings-stay_aligned-setup-description = Je moet "Blijf in lijn instellen" voltooien om Blijf in lijn te activeren.
settings-stay_aligned-warnings-drift_compensation = ⚠ Schakel Drift Compensation uit! Drift Compensation conflicteert met Blijf in lijn.
settings-stay_aligned-enabled-label = Trackers aanpassen
settings-stay_aligned-hide_yaw_correction-label = Aanpassing verbergen (om te vergelijken zonder Blijf in lijn)
settings-stay_aligned-general-label = Algemeen
settings-stay_aligned-relaxed_poses-label = Ontspannen houdingen
settings-stay_aligned-relaxed_poses-description = Blijf in lijn gebruikt je ontspannen houdingen om je trackers in lijn te houden. Gebruik "Stel Blijf in lijn in" om deze houdingen bij te werken.
settings-stay_aligned-relaxed_poses-standing = Pas trackers aan terwijl je staat
settings-stay_aligned-relaxed_poses-sitting = Pas trackers aan terwijl je op een stoel zit
settings-stay_aligned-relaxed_poses-flat = Pas trackers aan terwijl je op de grond zit of op je rug ligt.
settings-stay_aligned-relaxed_poses-save_pose = Sla houding op
settings-stay_aligned-relaxed_poses-reset_pose = Reset houding
settings-stay_aligned-relaxed_poses-close = Sluiten
settings-stay_aligned-debug-label = Foutopsporing
settings-stay_aligned-debug-description = Voeg je instellingen toe wanneer je problemen met Blijf in lijn rapporteert.
settings-stay_aligned-debug-copy-label = Instellingen naar klembord kopiëren
## FK/Tracking settings
@@ -411,8 +606,11 @@ settings-general-fk_settings-leg_tweak-floor_clip-description =
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap probeert de rotatie van uw voeten te raden als voet-trackers niet worden gebruikt.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant roteert je voeten zodat ze evenwijdig aan de grond zijn wanneer ze in contact zijn.
settings-general-fk_settings-leg_fk = Been tracking
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Schakel Montage Reset voor de voeten in door op je tenen te staan.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Voeten montage reset.
settings-general-fk_settings-enforce_joint_constraints = Bewegingslimieten van het skelet
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Beperkingen toepassen
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Voorkomt dat gewrichten over hun limiet draaien
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = Corrigeren met beperkingen
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = Corrigeer gewrichtsrotaties wanneer ze hun limiet overschrijden
settings-general-fk_settings-arm_fk = Arm tracking
settings-general-fk_settings-arm_fk-description = Verander de manier waarop de armen worden getrackt.
settings-general-fk_settings-arm_fk-force_arms = Dwing armen vanuit HMD
@@ -444,9 +642,6 @@ settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Berek
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Bereken het gemiddelde van de 'yaw en roll van de knie trackers met die van de enkels'
settings-general-fk_settings-self_localization-title = Mocap modus
settings-general-fk_settings-self_localization-description = Mocap modus staat het skelet model toe om zijn eigen positie te bepalen zonder het gebruik van een headset of andere trackers. Dit vergt wel het gebruik van voet en hoofd trackers, dit is momenteel nog expirimenteel.
settings-general-fk_settings-vive_emulation-title = Vive-emulatie
settings-general-fk_settings-vive_emulation-description = Emuleer de problemen met de taille van Vive trackers. Dit is een mop en maakt tracking slechter.
settings-general-fk_settings-vive_emulation-label = Vive-emulatie inschakelen
## Gesture control settings (tracker tapping)
@@ -518,6 +713,10 @@ settings-general-interface-feedback_sound-volume = Feedback geluid volume
settings-general-interface-connected_trackers_warning = Waarschuwing voor verbonden trackers
settings-general-interface-connected_trackers_warning-description = Deze optie toont een pop-up bericht telkens wanneer je SlimeVR probeert af te sluiten terwijl er nog trackers verbonden zijn. Dit bericht herinnert je eraan om je trackers uit te schakelen wanneer je klaar bent om de batterijduur te sparen.
settings-general-interface-connected_trackers_warning-label = Waarschuwing voor verbonden trackers bij het afsluiten
## Behavior settings
settings-interface-behavior = Gedrag
settings-general-interface-use_tray = Minimaliseren naar systeem vak
settings-general-interface-use_tray-description = Hiermee kun je het venster sluiten zonder de SlimeVR server te beëindigen, zodat je deze op de achtergrond kunt blijven gebruiken zonder dat de GUI in de weg zit.
settings-general-interface-use_tray-label = Minimaliseren naar systeem vak
@@ -530,6 +729,17 @@ settings-general-interface-discord_presence-message =
[one] Gebruikt 1 tracker
*[other] Gebruikt { $amount } trackers
}
settings-interface-behavior-error_tracking = Foutverzameling via Sentry.io
settings-interface-behavior-error_tracking-description_v2 =
<h1>Geeft u toestemming voor het verzamelen van geanonimiseerde foutgegevens?</h1>
<b>We verzamelen geen persoonlijke informatie</b> zoals uw IP-adres of draadloze inloggegevens. SlimeVR hecht veel waarde aan uw privacy!
Om de beste gebruikerservaring te bieden, verzamelen we geanonimiseerde foutrapporten, prestatiestatistieken en informatie over het besturingssysteem. Dit helpt ons bij het detecteren van fouten en problemen met SlimeVR. Deze statistieken worden verzameld via Sentry.io.
settings-interface-behavior-error_tracking-label = Stuur fouten naar de ontwikkelaars
settings-interface-behavior-bvh_directory = Map om BVH-opnames op te slaan
settings-interface-behavior-bvh_directory-description = Kies een map om je BVH-opnames op te slaan, zodat je niet elke keer hoeft te kiezen waar je ze opslaat.
settings-interface-behavior-bvh_directory-label = Map voor BVH-opnames
## Serial settings
@@ -548,7 +758,6 @@ settings-serial-factory_reset-warning =
Wat betekent dat Wi-Fi en kalibratie-instellingen <b>allemaal verloren gaan!</b>
settings-serial-factory_reset-warning-ok = Ik weet wat ik doe
settings-serial-factory_reset-warning-cancel = Annuleren
settings-serial-get_infos = Informatie ophalen
settings-serial-serial_select = Selecteer een seriële poort
settings-serial-auto_dropdown_item = Automatisch
settings-serial-get_wifi_scan = WiFi-scan uitvoeren
@@ -588,6 +797,13 @@ settings-osc-vrchat-description-v1 = Wijzig instellingen die specifiek zijn voor
settings-osc-vrchat-enable = Inschakelen
settings-osc-vrchat-enable-description = Schakel het verzenden en ontvangen van gegevens in en uit.
settings-osc-vrchat-enable-label = Inschakelen
settings-osc-vrchat-oscqueryEnabled = OSCQuery inschakelen
settings-osc-vrchat-oscqueryEnabled-description =
OSCQuery detecteert automatisch actieve instanties van VRChat en stuurt hen data.
Het kan zichzelf ook aan hen bekendmaken om HMD- en controllerdata te ontvangen.
Om HMD- en controllerdata van VRChat te kunnen ontvangen, ga je in het hoofdmenu naar Instellingen,
onder "Tracking & IK", en schakel je "Allow Sending Head and Wrist VR Tracking OSC Data" in.
settings-osc-vrchat-oscqueryEnabled-label = Schakel OSCQuery in
settings-osc-vrchat-network = Netwerkpoorten
settings-osc-vrchat-network-description-v1 = Stel de poorten in voor het ontvangen en verzenden van tracking data. Kan op standaardinstellingen blijven voor VRChat.
settings-osc-vrchat-network-port_in =
@@ -630,6 +846,7 @@ settings-osc-vmc-network-address-description = Stel het adres in waarnaar gegeve
settings-osc-vmc-network-address-placeholder = IPV4-adres
settings-osc-vmc-vrm = VRM Model
settings-osc-vmc-vrm-description = Laad een VRM-model om hoofdverankering mogelijk te maken en zorg voor een hogere compatibiliteit met andere applicaties.
settings-osc-vmc-vrm-untitled_model = Naamloos model
settings-osc-vmc-vrm-file_select = Sleep een modelbestand naar hier om ze te gebruiken of <u>blader</u>.
settings-osc-vmc-anchor_hip = Heupverankering
settings-osc-vmc-anchor_hip-description = Veranker de tracking aan de heupen, handig voor zittende VTubing. Als u deze uitschakelt, laadt u een VRM-model.
@@ -638,6 +855,9 @@ settings-osc-vmc-mirror_tracking = Gespiegelde tracking
settings-osc-vmc-mirror_tracking-description = De tracking horizontaal spiegelen.
settings-osc-vmc-mirror_tracking-label = Gespiegelde tracking
## Common OSC settings
## Advanced settings
settings-utils-advanced = Geavanceerd
@@ -650,11 +870,26 @@ settings-utils-advanced-reset-server-label = Tracking resetten
settings-utils-advanced-reset-all = Alle instellingen resetten
settings-utils-advanced-reset-all-description = Herstel de standaardwaarden voor instellingen van beide de interface en de tracking.
settings-utils-advanced-reset-all-label = Alles resetten
settings-utils-advanced-reset_warning =
{ $type ->
[gui]
<b>Waarschuwing</b>Hiermee worden al uw GUI instellingen teruggezet naar de standaardinstellingen.
Weet u zeker dat u dit wilt doen?
[server]
<b>Waarschuwing</b>Hiermee worden al uw tracking instellingen teruggezet naar de standaardinstellingen.
Weet u zeker dat u dit wilt doen?
*[all]
<b>Waarschuwing:</b> Hiermee worden al uw instellingen teruggezet naar de standaardinstellingen.
Weet u zeker dat u dit wilt doen?
}
settings-utils-advanced-reset_warning-reset = Instellingen resetten
settings-utils-advanced-reset_warning-cancel = Annuleren
settings-utils-advanced-open_data = Gegevensmap
settings-utils-advanced-open_data-description = Open de gegevensmap van SlimeVR in de bestandsverkenner, met configuratie- en logbestanden.
settings-utils-advanced-open_data-v1 = Configuratiemap
settings-utils-advanced-open_data-description-v1 = Open de configuratiemap van SlimeVR in de bestandsverkenner, met configuratiebestanden.
settings-utils-advanced-open_data-label = Map openen
settings-utils-advanced-open_logs = logboeken
settings-utils-advanced-open_logs-description = Open de logmap van SlimeVR in de bestandsverkenner, met de logboeken van de app
settings-utils-advanced-open_logs-label = Map openen
## Setup/onboarding menu
@@ -746,6 +981,17 @@ onboarding-connect_tracker-connection_status-looking_for_server = Op zoek naar s
onboarding-connect_tracker-connection_status-connection_error = Kan geen verbinding maken met Wi-Fi
onboarding-connect_tracker-connection_status-could_not_find_server = Kan de server niet vinden
onboarding-connect_tracker-connection_status-done = Verbonden met de server
onboarding-connect_tracker-connection_status-no_serial_log = Kon geen logbestanden van de tracker ophalen.
onboarding-connect_tracker-connection_status-no_serial_device_found = Kon geen tracker via USB vinden.
onboarding-connect_serial-error-modal-no_serial_log = Staat de tracker aan?
onboarding-connect_serial-error-modal-no_serial_log-desc = Zorg dat de tracker aan staat en verbonden is met je computer.
onboarding-connect_serial-error-modal-no_serial_device_found = Geen trackers gedetecteerd
onboarding-connect_serial-error-modal-no_serial_device_found-desc =
Sluit een tracker met de meegeleverde USB-kabel aan op je computer en zet de tracker aan.
Als dit niet werkt:
-probeer een andere USB-kabel
-probeer een andere USB-poort
-probeer de SlimeVR-server opnieuw te installeren en selecteer "USB Drivers" in het onderdeelkeuze-menu
# $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",
@@ -753,17 +999,17 @@ onboarding-connect_tracker-connection_status-done = Verbonden met de server
# if $amount is 0 then we say "No trackers connected"
onboarding-connect_tracker-connected_trackers =
{ $amount ->
[0] Geen trackers
[one] 1 tracker
*[other] { $amount } trackers
} verbonden
[0] Geen trackers verbonden
[one] 1 tracker verbonden
*[other] { $amount } trackers verbonden
}
onboarding-connect_tracker-next = Ik heb al mijn trackers verbonden
## Tracker calibration tutorial
onboarding-calibration_tutorial = Handleiding voor IMU-kalibratie
onboarding-calibration_tutorial-subtitle = Helpt met het verminderen van het driften van de trackers!
onboarding-calibration_tutorial-description = Elke keer dat je jouw trackers inschakelt, moeten ze even op een plat oppervlak rusten om te kalibreren. Leg al je trackers op een vlak oppervlak en <b>verplaats ze niet!</b>
onboarding-calibration_tutorial-description-v1 = Zet je trackers aan en leg ze even op een stabiele ondergrond om te kalibreren. Kalibratie kan op elk moment na het inschakelen van de trackers worden uitgevoerd — deze pagina biedt alleen een handleiding. Klik op de knop "{ onboarding-calibration_tutorial-calibrate }" om te beginnen en <b>beweeg je trackers daarna niet meer!</b>
onboarding-calibration_tutorial-calibrate = Al mijn trackers liggen neer
onboarding-calibration_tutorial-status-waiting = Ik wacht op jou
onboarding-calibration_tutorial-status-calibrating = Kalibreren
@@ -790,10 +1036,10 @@ onboarding-assign_trackers-description = Laten we de bevesteging van je trackers
# $assigned (Number) - Trackers that have been assigned a body part
# $trackers (Number) - Trackers connected to the server
onboarding-assign_trackers-assigned =
{ $assigned } van { $trackers ->
[one] 1 tracker
*[other] { $trackers } trackers
} toegewezen
{ $trackers ->
[one] { $assigned } van 1 tracker toegewezen
*[other] { $assigned } van { $trackers } trackers toegewezen
}
onboarding-assign_trackers-advanced = Geavanceerde toewijzingslocaties weergeven
onboarding-assign_trackers-next = Ik heb alle trackers toegewezen
onboarding-assign_trackers-mirror_view = Gespiegelde weergave
@@ -891,7 +1137,7 @@ onboarding-assign_trackers-warning-WAIST =
onboarding-choose_mounting = Welke montagekalibratiemethode moet worden gebruikt?
# Multiline text
onboarding-choose_mounting-description = De oriëntatie van de montage corrigeert de plaatsing van trackers op uw lichaam.
onboarding-choose_mounting-description = De oriëntatie van de montage corrigeert de plaatsing van trackers op je lichaam.
onboarding-choose_mounting-auto_mounting = Automatische bevestiging
# Italicized text
onboarding-choose_mounting-auto_mounting-label-v2 = Aanbevolen
@@ -929,43 +1175,27 @@ onboarding-automatic_mounting-mounting_reset-title = Montage-reset
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Ga staan in een "skie"-houding met gebogen benen, je bovenlichaam naar voren gekanteld en armen gebogen.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Druk op de knop "Reset montage" en wacht 3 seconden voordat de montagerichtingen van de trackers opnieuw worden ingesteld.
onboarding-automatic_mounting-preparation-title = Voorbereiding
onboarding-automatic_mounting-preparation-step-0 = 1. Sta rechtop met je armen langs je zij.
onboarding-automatic_mounting-preparation-step-1 = 2. Druk op de knop "Resetten" en wacht 3 seconden voordat de trackers opnieuw worden ingesteld.
onboarding-automatic_mounting-preparation-v2-step-0 = 1. Druk op de knop "Volledige reset".
onboarding-automatic_mounting-preparation-v2-step-1 = 2. Ga rechtop staan met je armen langs je zij. Zorg dat je recht vooruit kijkt.
onboarding-automatic_mounting-preparation-v2-step-2 = 3. Houd deze houding aan totdat de timer van 3 seconden is afgelopen.
onboarding-automatic_mounting-put_trackers_on-title = Doe je trackers aan
onboarding-automatic_mounting-put_trackers_on-description = Om montagerichtingen te kalibreren gaan we gebruik maken van de trackers die je net hebt toegewezen. Doe al je trackers aan, je kunt zien welke trackers welke zijn in de figuur rechts.
onboarding-automatic_mounting-put_trackers_on-next = Ik heb al mijn trackers aan
## Tracker proportions method choose
onboarding-choose_proportions = Welke verhoudingskalibratiemethode moet worden gebruikt?
# Multiline string
onboarding-choose_proportions-description-v1 =
Lichaamsverhoudingen worden gebruikt om de afmetingen van je lichaam te bepalen. Deze informatie is nodig om de posities van de trackers te berekenen.
Als de verhoudingen van je lichaam niet overeenkomen met de opgeslagen waarden, zal de tracking-precisie slechter zijn. Je kunt dan last krijgen van ongemakkelijke effecten zoals schuiven of glijden, of kan je lichaam niet goed overeenkomen met je avatar in VR.
<b>Je hoeft je lichaam maar één keer te meten!</b> Tenzij de metingen onjuist zijn of je lichaam is veranderd, hoef je dit niet opnieuw te doen.
onboarding-choose_proportions-auto_proportions = Automatische verhoudingen
# Italicized text
onboarding-choose_proportions-auto_proportions-subtitle = Aanbevolen
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Deze functie zal je lichaamsverhoudingen schatten door een sample van je bewegingen op te nemen en deze door een algoritme te laten analyseren.
<b>Hiervoor moet je headset (HMD) verbonden zijn met SlimeVR en op je hoofd zitten!</b>
onboarding-choose_proportions-manual_proportions = Handmatige lichaamsverhoudingen
# Italicized text
onboarding-choose_proportions-manual_proportions-subtitle = Voor kleine details
onboarding-choose_proportions-manual_proportions-description = Hier kan je jouw verhoudingen handmatig aanpassen
onboarding-choose_proportions-export = Export proporties
onboarding-choose_proportions-import = Importeer proporties
onboarding-choose_proportions-import-success = geïmporteerd
onboarding-choose_proportions-import-failed = Mislukt
onboarding-choose_proportions-file_type = Lichaamsproporties bestand
## Tracker manual proportions setup
## Tracker manual proportions setupa
onboarding-manual_proportions-back = Ga terug naar de reset tutorial
onboarding-manual_proportions-title = Handmatige lichaamsverhoudingen
onboarding-manual_proportions-precision = Precisie-aanpassing
onboarding-manual_proportions-auto = Automatische kalibratie
onboarding-manual_proportions-ratio = Aanpassen via verhoudingen
onboarding-manual_proportions-fine_tuning_button = Automatisch afstemmen van verhoudingen
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = Sluit een VR-headset aan om automatische fijnafstelling te gebruiken
onboarding-manual_proportions-export = Export proporties
onboarding-manual_proportions-import = Importeer proporties
onboarding-manual_proportions-file_type = Lichaamsproporties bestand
onboarding-manual_proportions-normal_increment = Normale verhoging
onboarding-manual_proportions-precise_increment = Nauwkeurige verhoging
onboarding-manual_proportions-grouped_proportions = Gegroepeerde verhoudingen
onboarding-manual_proportions-all_proportions = Alle verhoudingen
onboarding-manual_proportions-estimated_height = Geschatte gebruikerslengte
## Tracker automatic proportions setup
@@ -981,21 +1211,31 @@ onboarding-automatic_proportions-requirements-title = Vereisten
# Each line of text is a different list item
onboarding-automatic_proportions-requirements-descriptionv2 = Je hebt voldaan aan de minimale vereisten om je voeten te tracken (over het algemeen 5 trackers). Je hebt je trackers en headset aan en draagt ze. Je trackers en headset zijn verbonden met de SlimeVR server en werken naar behoren (zonder haperingen, loskoppelingen etc.). Je headset stuurt positiedata naar de SlimeVR server (dit vereist doorgaans dat SteamVR draait en verbonden is met SlimeVR via de SlimeVR SteamVR-driver). De tracking werkt en registreert je bewegingen nauwkeurig (je hebt bijvoorbeeld een volledige reset uitgevoerd en de trackers bewegen in de juiste richting bij schoppen, bukken, zitten etc.).
onboarding-automatic_proportions-requirements-next = Ik heb de vereisten gelezen
onboarding-automatic_proportions-check_height-title = Controleer je lengte
onboarding-automatic_proportions-check_height-description =
We gebruiken je lengte als een basis voor onze metingen middels de HMD's hoogte, hiermee bepalen we je echte lengte.
Maar het is beter om zelf te controleren of dit klopt.
onboarding-automatic_proportions-check_height-title-v3 = Meet de hoogte van uw headset
onboarding-automatic_proportions-check_height-description-v2 = De hoogte van uw headset (HMD) moet iets minder zijn dan uw volledige lengte, aangezien headsets uw ooghoogte meten. Deze meting wordt gebruikt als basis voor uw lichaamsverhoudingen.
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Druk op de knop terwijl je <u>rechtop</u> staat om je lengte te berekenen. Je hebt 3 seconden na dat je op de knop drukt!
onboarding-automatic_proportions-check_height-calculation_warning-v3 = Begin met meten terwijl je <u>rechtop</u> staat om je lengte te meten. Let erop dat je je handen niet hoger dan je headset tilt, want dat kan de meting beïnvloeden!
onboarding-automatic_proportions-check_height-guardian_tip = Als je een losse VR-bril gebruikt, zorg er dan voor dat je guardian/veilige zone is ingeschakeld zodat je lengte correct is gekalibreerd!
onboarding-automatic_proportions-check_height-fetch_height = Ik sta!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Onbekend
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Je HMD lengte is
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = Je echte lengte is
onboarding-automatic_proportions-check_height-hmd_height2 = De hoogte van uw headset is:
onboarding-automatic_proportions-check_height-measure-start = Begin met meten
onboarding-automatic_proportions-check_height-measure-stop = Stoppen met meten
onboarding-automatic_proportions-check_height-measure-reset = Probeer opnieuw te meten
onboarding-automatic_proportions-check_height-next_step = Ze zijn goed
onboarding-automatic_proportions-check_floor_height-title = Meet uw vloerhoogte (optioneel)
onboarding-automatic_proportions-check_floor_height-description = In sommige gevallen wordt uw vloerhoogte mogelijk niet correct ingesteld door uw headset, waardoor de hoogte van de headset hoger wordt gemeten dan zou moeten. U kunt de "hoogte" van uw vloer meten om de hoogte van uw headset te corrigeren.
# All the text is in bold!
onboarding-automatic_proportions-check_floor_height-calculation_warning-v2 = Begin met meten en zet een controller op je vloer om de hoogte te meten. Als je zeker weet dat je vloerhoogte klopt, kun je deze stap overslaan.
# Shows an element below it
onboarding-automatic_proportions-check_floor_height-floor_height = Uw vloerhoogte is:
onboarding-automatic_proportions-check_floor_height-full_height = Uw geschatte volledige lengte is:
onboarding-automatic_proportions-check_floor_height-measure-start = Begin met meten
onboarding-automatic_proportions-check_floor_height-measure-stop = Stoppen met meten
onboarding-automatic_proportions-check_floor_height-measure-reset = Probeer opnieuw te meten
onboarding-automatic_proportions-check_floor_height-skip_step = Sla deze stap over en sla op.
onboarding-automatic_proportions-check_floor_height-next_step = Gebruik vloerhoogte en bespaar
onboarding-automatic_proportions-start_recording-title = Zorg dat je klaar bent om te bewegen
onboarding-automatic_proportions-start_recording-description = We gaan nu enkele specifieke houdingen en bewegingen opnemen. Deze worden in het volgende scherm geprompt. Zorg dat je klaar bent om te beginnen als de knop wordt ingedrukt!
onboarding-automatic_proportions-start_recording-next = Start opname
@@ -1030,6 +1270,73 @@ onboarding-automatic_proportions-error_modal-v2 =
Dit is waarschijnlijk een probleem met de montagekalibratie. Zorg ervoor dat je tracking goed werkt voordat je het opnieuw probeert.
<docs>Bekijk de documentatie</docs> of word lid van onze <discord>Discord</discord> voor hulp ^_^
onboarding-automatic_proportions-error_modal-confirm = Begrepen!
onboarding-automatic_proportions-smol_warning =
Uw ingestelde lengte van { $height } is lager dan de toegestane minimumlengte van { $minHeight }.
<b>Voer de metingen opnieuw uit en controleer of ze correct zijn.</b>
onboarding-automatic_proportions-smol_warning-cancel = Ga terug
## Tracker scaled proportions setup
onboarding-scaled_proportions-title = Geschaalde proporties
onboarding-scaled_proportions-description =
Voor een correcte werking van de SlimeVR-trackers hebben we de lengte van uw botten nodig.
We gebruiken hiervoor een gemiddelde lichaamsverhouding, geschaald op basis van uw lengte.
onboarding-scaled_proportions-manual_height-title = Configureer uw lengte
onboarding-scaled_proportions-manual_height-description-v2 = Deze lengte wordt gebruikt als basis voor je lichaamsverhoudingen.
onboarding-scaled_proportions-manual_height-missing_steamvr =
SteamVR is momenteel niet verbonden met SlimeVR, dus metingen kunnen niet worden gebaseerd op je headset.
<b>Ga verder op eigen risico of raadpleeg de documentatie!</b>
onboarding-scaled_proportions-manual_height-height-v2 = Uw volledige lengte is
onboarding-scaled_proportions-manual_height-estimated_height = De geschatte hoogte van uw headset is:
onboarding-scaled_proportions-manual_height-next_step = Opslaan en doorgaan
onboarding-scaled_proportions-manual_height-warning =
Je gebruikt momenteel de handmatige manier om geschaalde verhoudingen in te stellen!
<b>Deze modus wordt alleen aanbevolen als je geen HMD met SlimeVR gebruikt.</b>
Om de automatische geschaalde verhoudingen te kunnen gebruiken, doe het volgende:
onboarding-scaled_proportions-manual_height-warning-no_hmd = Sluit een VR-headset aan
onboarding-scaled_proportions-manual_height-warning-no_controllers = Zorg ervoor dat je controllers zijn verbonden en correct aan je handen zijn toegewezen
## Tracker scaled proportions reset
onboarding-scaled_proportions-reset_proportion-title = Reset je lichaamsverhoudingen
onboarding-scaled_proportions-reset_proportion-description = Om je lichaamsverhoudingen op basis van je lengte in te stellen, moet je nu al je verhoudingen resetten. Dit zal alle verhoudingen die je hebt ingesteld wissen en een basisconfiguratie bieden.
onboarding-scaled_proportions-done-title = Lichaamsverhoudingen ingesteld
onboarding-scaled_proportions-done-description = Je lichaamsverhoudingen zouden nu gebaseerd moeten zijn op je lengte
## Stay Aligned setup
onboarding-stay_aligned-title = Blijf in lijn
onboarding-stay_aligned-description = Stel Blijf in lijn in om je trackers in lijn te houden.
onboarding-stay_aligned-put_trackers_on-title = Doe je trackers aan
onboarding-stay_aligned-put_trackers_on-description = Om je ontspannen houdingen op te slaan, gebruiken we de trackers die je zojuist hebt toegewezen. Doe al je trackers om; je kunt zien welke welke zijn op de afbeelding rechts.
onboarding-stay_aligned-put_trackers_on-trackers_warning = Je hebt momenteel minder dan 5 trackers aangesloten en toegewezen! Dit is het minimale aantal trackers dat nodig is om Blijf in lijn goed te laten werken.
onboarding-stay_aligned-put_trackers_on-next = Ik heb al mijn trackers aan
onboarding-stay_aligned-verify_mounting-title = Controleer je montage
onboarding-stay_aligned-verify_mounting-step-0 = Blijf in lijn vereist een goede montage. Anders krijg je geen goede ervaring met Blijf in lijn.
onboarding-stay_aligned-verify_mounting-step-1 = 1. Beweeg terwijl je staat.
onboarding-stay_aligned-verify_mounting-step-2 = 2. Ga zitten en beweeg je benen en voeten.
onboarding-stay_aligned-verify_mounting-step-3 = 3. Als je trackers niet op de juiste plek zitten, druk dan op "Montagekalibratie opnieuw uitvoeren".
onboarding-stay_aligned-verify_mounting-redo_mounting = Montagekalibratie opnieuw uitvoeren
onboarding-stay_aligned-preparation-title = Voorbereiding
onboarding-stay_aligned-preparation-tip = Zorg dat je rechtop staat. Blijf recht vooruit kijken en houd je armen langs je zij.
onboarding-stay_aligned-relaxed_poses-standing-title = Ontspannen Staande Houding
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Ga in een comfortabele houding staan. Ontspan!
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. Druk op de knop "Houding opslaan".
onboarding-stay_aligned-relaxed_poses-sitting-title = Ontspannen Zittende Houding op Stoel
onboarding-stay_aligned-relaxed_poses-sitting-step-0 = 1. Ga comfortabel zitten. Ontspan!
onboarding-stay_aligned-relaxed_poses-sitting-step-1-v2 = 2. Druk op de knop "Houding opslaan".
onboarding-stay_aligned-relaxed_poses-flat-title = Ontspannen Zittende Houding op de Vloer
onboarding-stay_aligned-relaxed_poses-flat-step-0 = 1. Ga op de vloer zitten met je benen voor je uit. Ontspan!
onboarding-stay_aligned-relaxed_poses-flat-step-1-v2 = 2. Druk op de knop "Houding opslaan".
onboarding-stay_aligned-relaxed_poses-skip_step = Overslaan
onboarding-stay_aligned-done-title = Blijf in lijn ingeschakeld!
onboarding-stay_aligned-done-description = Je Blijf in lijn-instelling is voltooid!
onboarding-stay_aligned-done-description-2 = De setup is voltooid! Je kunt het proces opnieuw starten als je de houdingen opnieuw wilt kalibreren.
onboarding-stay_aligned-previous_step = Vorige
onboarding-stay_aligned-next_step = Volgende
onboarding-stay_aligned-restart = Herstarten
onboarding-stay_aligned-done = Klaar
## Home
@@ -1054,6 +1361,11 @@ status_system-StatusSteamVRDisconnected =
}
status_system-StatusTrackerError = De { $trackerName } tracker heeft een error.
status_system-StatusUnassignedHMD = De VR-headset moet worden toegewezen als hoofdtracker.
status_system-StatusPublicNetwork =
{ $count ->
[one] Je netwerkprofiel staat momenteel ingesteld op Openbaar ({ $adapters }). Dit wordt niet aanbevolen voor een goede werking van SlimeVR. <PublicFixLink>Hier lees je hoe je het kunt oplossen.</PublicFixLink>
*[other] Sommige van je netwerkadapters staan ingesteld op openbaar: { $adapters }. Dit wordt niet aanbevolen voor een goede werking van SlimeVR. <PublicFixLink>Hier lees je hoe je dit kunt oplossen.</PublicFixLink>
}
## Firmware tool globals
@@ -1066,45 +1378,58 @@ firmware_tool-loading = Laden...
## Firmware tool Steps
firmware_tool = DIY firmware-tool
firmware_tool-description = Hiermee kunt u uw DIY-trackers configureren en flashen
firmware_tool-description = Hiermee kan je uw DIY-trackers configureren en flashen
firmware_tool-not_available = Oeps, de firmwaretool is momenteel niet beschikbaar. Kom later terug!
firmware_tool-not_compatible = De firmwaretool is niet compatibel met deze versie van de server. Gelieve te updaten!
firmware_tool-board_step = Selecteer je bord
firmware_tool-board_step-description = Selecteer een van de onderstaande borden.
firmware_tool-board_pins_step = Controleer de pinnen
firmware_tool-board_pins_step-description =
Controleer of de geselecteerde pinnen correct zijn.
Als je de SlimeVR-documentatie hebt gevolgd, zouden de standaardwaarden correct moeten zijn
firmware_tool-board_pins_step-enable_led = LED inschakelen
firmware_tool-board_pins_step-led_pin =
.label = LED-pin
.placeholder = Voer het adres van de LED-pin in
firmware_tool-flash_method_step = Flashing methode
firmware_tool-flash_method_step-description = Kies de flashingsmethode die je wilt gebruiken
firmware_tool-flashbtn_step = Druk op de bootknop
firmware_tool-flashbtn_step-description = Voordat u naar de volgende stap gaat, zijn er een paar dingen die u moet doen.
firmware_tool-flashbtn_step-board_SLIMEVR = Zet de tracker uit, verwijder de behuizing (indien aanwezig), verbind een USB-kabel met deze computer en voer vervolgens een van de volgende stappen uit, afhankelijk van de revisie van uw SlimeVR-board:
firmware_tool-flashbtn_step-board_SLIMEVR-r11 = Zet de tracker aan terwijl u het tweede rechthoekige FLASH-pad vanaf de rand aan de bovenkant van het board kortsluit, en het metalen schild van de microcontroller.
firmware_tool-flashbtn_step-board_SLIMEVR-r12 = Zet de tracker aan terwijl u het ronde FLASH-pad aan de bovenkant van het board kortsluit, en het metalen schild van de microcontroller.
firmware_tool-flashbtn_step-board_SLIMEVR-r14 = Zet de tracker aan terwijl u de FLASH-knop aan de bovenkant van het board indrukt.
firmware_tool-flashbtn_step-board_OTHER =
Voordat u gaat flashen, moet de tracker waarschijnlijk in de bootloader-modus worden gezet.
Meestal betekent dit het indrukken van de bootknop op het board voordat het flashproces begint.
Als het flashproces time-out bij het begin van het flashen, betekent dit waarschijnlijk dat de tracker niet in de bootloader-modus stond.
Raadpleeg de flitsinstructies van uw board om te weten hoe u de bootloader-modus inschakelt.
firmware_tool-flash_method_ota-devices = Gedetecteerde OTA-apparaten:
firmware_tool-flash_method_ota-no_devices = Er zijn geen boards die via OTA bijgewerkt kunnen worden, zorg ervoor dat u het juiste boardtype heeft geselecteerd.
firmware_tool-flash_method_serial-wifi = Wi-Fi-gegevens:
firmware_tool-flash_method_serial-devices-label = Gedetecteerde serial apparaten:
firmware_tool-flash_method_serial-devices-placeholder = Selecteer een serieel apparaat
firmware_tool-flash_method_serial-no_devices = Er zijn geen compatibele seriële apparaten gedetecteerd, zorg ervoor dat de tracker is aangesloten.
firmware_tool-build_step = Aan het bouwen
firmware_tool-build_step-description = De firmware wordt gebouwd, even geduld a.u.b.
firmware_tool-flashing_step = Firmware aan het uploaden
firmware_tool-flashing_step-description = Je trackers worden geflashed, volg de instructies op het scherm
firmware_tool-flashing_step-warning = Trek de tracker niet los en start hem niet opnieuw op tijdens het uploadproces, tenzij dit wordt verteld, hierdoor kan je bord onbruikbaar worden
firmware_tool-flashing_step-warning-v2 = Koppel de tracker niet los en zet hem niet uit tijdens het uploadproces, tenzij dit wordt aangegeven. Dit kan je apparaat onbruikbaar maken.
firmware_tool-flashing_step-flash_more = Flash meer trackers
firmware_tool-flashing_step-exit = Sluit
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = De buildmap maken
firmware_tool-build-DOWNLOADING_FIRMWARE = Firmware wordt gedownload
firmware_tool-build-EXTRACTING_FIRMWARE = Firmware wordt uitgepakt
firmware_tool-build-SETTING_UP_DEFINES = Configureren van de definities
firmware_tool-build-BUILDING = Firmware wordt gebouwd
firmware_tool-build-SAVING = De build opslaan
firmware_tool-build-DONE = Build voltooid
firmware_tool-build-ERROR = Kan de firmware niet bouwen
## Firmware update status
firmware_update-status-DOWNLOADING = Firmware wordt gedownload
firmware_update-status-NEED_MANUAL_REBOOT-v2 = Zet je tracker uit en daarna weer aan.
firmware_update-status-AUTHENTICATING = Authenticatie met de mcu
firmware_update-status-UPLOADING = Firmware wordt geüpload
firmware_update-status-SYNCING_WITH_MCU = Synchroniseren met de mcu
firmware_update-status-REBOOTING = De update toepassen
firmware_update-status-PROVISIONING = Wi-Fi-inloggegevens instellen
firmware_update-status-DONE = Update voltooid!
firmware_update-status-ERROR_DEVICE_NOT_FOUND = Kan het apparaat niet vinden
firmware_update-status-ERROR_TIMEOUT = Er is een time-out opgetreden voor het updateproces
firmware_update-status-ERROR_DOWNLOAD_FAILED = Kan de firmware niet downloaden
firmware_update-status-ERROR_AUTHENTICATION_FAILED = Kan niet verifiëren met de mcu
firmware_update-status-ERROR_UPLOAD_FAILED = Kan de firmware niet uploaden
firmware_update-status-ERROR_PROVISIONING_FAILED = Kan de Wi-Fi-inloggegevens niet instellen
firmware_update-status-ERROR_UNSUPPORTED_METHOD = De updatemethode wordt niet ondersteund
@@ -1120,6 +1445,7 @@ firmware_update-changelog-title = Bijwerken naar { $version }
firmware_update-looking_for_devices = Op zoek naar apparaten om bij te werken...
firmware_update-retry = Opnieuw
firmware_update-update = Geselecteerde trackers bijwerken
firmware_update-exit = Sluit
## Tray Menu
@@ -1146,3 +1472,53 @@ unknown_device-modal-title = Er is een nieuwe tracker gevonden!
unknown_device-modal-description = Er is een nieuwe tracker gevonden met MAC-adres <b>{ $deviceId }</b>. Wil je deze verbinden met SlimeVR?
unknown_device-modal-confirm = Tuurlijk!
unknown_device-modal-forget = Negeer het
# VRChat config warnings
vrc_config-page-title = VRChat-configuratie waarschuwingen
vrc_config-page-desc = Deze pagina toont de status van je VRChat-instellingen en welke instellingen niet compatibel zijn met SlimeVR. Het wordt sterk aanbevolen om eventuele waarschuwingen hier te verhelpen voor de beste gebruikservaring met SlimeVR.
vrc_config-page-help = Kan je de instellingen niet finden?
vrc_config-page-help-desc = Bekijk onze <a>documentatie over dit onderwerp!</a>
vrc_config-page-big_menu = Tracking & IK (Hoofdmenu)
vrc_config-page-big_menu-desc = IK-instellingen in het hoofdmenu
vrc_config-page-wrist_menu = Tracking & IK (Polsmenu)
vrc_config-page-wrist_menu-desc = IK-instellingen in het kleine polsmenu
vrc_config-on = Aan
vrc_config-off = Uit
vrc_config-invalid = Je VRChat-instellingen zijn verkeerd geconfigureerd!
vrc_config-show_more = Toon meer
vrc_config-setting_name = Naam van de VRChat-instelling
vrc_config-recommended_value = Aanbevolen waarde
vrc_config-current_value = Huidige waarde
vrc_config-mute = Waarschuwing dempen
vrc_config-mute-btn = Dempen
vrc_config-unmute-btn = Dempen opheffen
vrc_config-legacy_mode = Use Legacy IK Solving
vrc_config-disable_shoulder_tracking = Disable Shoulder Tracking
vrc_config-shoulder_width_compensation = Shoulder Width Compensation
vrc_config-spine_mode = FBT Spine Mode
vrc_config-tracker_model = FBT Tracker Model
vrc_config-avatar_measurement_type = Avatar Measurement
vrc_config-calibration_range = Calibration Range
vrc_config-calibration_visuals = Display Calibration Visuals
vrc_config-user_height = User Real Height
vrc_config-spine_mode-UNKNOWN = Onbekend
vrc_config-spine_mode-LOCK_BOTH = Lock Both
vrc_config-spine_mode-LOCK_HEAD = Lock Head
vrc_config-spine_mode-LOCK_HIP = Lock Hip
vrc_config-tracker_model-UNKNOWN = Onbekend
vrc_config-tracker_model-AXIS = Axis
vrc_config-tracker_model-BOX = Box
vrc_config-tracker_model-SPHERE = Sphere
vrc_config-tracker_model-SYSTEM = Systeem
vrc_config-avatar_measurement_type-UNKNOWN = Onbekend
vrc_config-avatar_measurement_type-HEIGHT = Height
vrc_config-avatar_measurement_type-ARM_SPAN = Arm Span
## Error collection consent modal
error_collection_modal-title = Kunnen we fouten verzamelen?
error_collection_modal-description_v2 =
{ settings-interface-behavior-error_tracking-description_v2 }
U kunt deze instelling later wijzigen in de sectie Gedrag van de instellingenpagina.
error_collection_modal-confirm = Ik ben akkoord
error_collection_modal-cancel = Ik wil het niet

View File

@@ -243,6 +243,8 @@ reset-reset_all_warning_default-v2 =
Czy na pewno chcesz to zrobić?
reset-full = Pełny Reset
reset-mounting = Zresetuj położenie
reset-mounting-feet = Zresetuj mocowanie stóp
reset-mounting-fingers = Zresetuj mocowanie palców
reset-yaw = Reset odchylenia
## Serial detection stuff
@@ -268,6 +270,7 @@ navbar-settings = Ustawienia
bvh-start_recording = Nagraj BVH
bvh-recording = Nagrywanie...
bvh-save_title = Zapisz nagranie BVH
## Tracking pause
@@ -308,6 +311,7 @@ widget-imu_visualizer-rotation_raw = Raw
widget-imu_visualizer-rotation_preview = Podgląd
widget-imu_visualizer-acceleration = Akceleracja
widget-imu_visualizer-position = Pozycja
widget-imu_visualizer-stay_aligned = Wyrównywanie
## Widget: Skeleton Visualizer
@@ -335,6 +339,7 @@ tracker-table-column-temperature = Temp. °C
tracker-table-column-linear-acceleration = Akceleracja X/Y/Z
tracker-table-column-rotation = Rotacja X/Y/Z
tracker-table-column-position = Pozycja X/Y/Z
tracker-table-column-stay_aligned = Wyrównywanie
tracker-table-column-url = URL
## Tracker rotation
@@ -400,9 +405,9 @@ tracker-settings-name_section-label = Nazwa Urządzenia
tracker-settings-forget = Zapomnij o trackerze
tracker-settings-forget-description = Usuwa moduł śledzący z serwera SlimeVR i uniemożliwia mu połączenie się z nim do czasu ponownego uruchomienia serwera. Konfiguracja modułu śledzącego nie zostanie utracona.
tracker-settings-forget-label = Zapomnij o trackerze
tracker-settings-update-unavailable = Nie można zaktualizować (zrób to sam)
tracker-settings-update-low-battery = Nie można zaktualizować. Bateria poniżej 50%
tracker-settings-update-up_to_date = Aktualny
tracker-settings-update-blocked = Aktualizacja niedostępna. Brak innych wersji
tracker-settings-update-available = Wersja { $versionName } jest już dostępna
tracker-settings-update = Zaktualizuj teraz
tracker-settings-update-title = Wersja oprogramowania
@@ -472,6 +477,7 @@ mounting_selection_menu-close = Zamknij
settings-sidebar-title = Ustawienia
settings-sidebar-general = Ogólne
settings-sidebar-tracker_mechanics = Mechanika trackerów
settings-sidebar-stay_aligned = Wyrównywanie
settings-sidebar-fk_settings = Ustawienia śledzenia
settings-sidebar-gesture_control = Sterowanie gestami
settings-sidebar-interface = Interfejs
@@ -481,7 +487,9 @@ settings-sidebar-utils = Narzędzia
settings-sidebar-serial = Konsola szeregowa
settings-sidebar-appearance = Wygląd
settings-sidebar-notifications = Powiadomienia
settings-sidebar-behavior = Zachowanie
settings-sidebar-firmware-tool = Narzędzie do oprogramowania sprzętowego DIY
settings-sidebar-vrc_warnings = Ostrzeżenia dotyczące konfiguracji VRChat
settings-sidebar-advanced = Zaawansowany
## SteamVR settings
@@ -563,6 +571,25 @@ settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
Wykorzystuje magnetometr we wszystkich trackerach, które mają kompatybilne oprogramowanie sprzętowe, redukując dryf w stabilnych środowiskach magnetycznych.¶
Można wyłączyć dla każdego modułu śledzącego w ustawieniach modułu śledzącego. <b>Proszę nie wyłączać żadnego modułu śledzącego podczas przełączania!</b>
settings-general-tracker_mechanics-use_mag_on_all_trackers-label = Użyj magnetometru na trackerach
settings-stay_aligned = Wyrównywanie
settings-stay_aligned-description = Wyrównywanie zmniejsza efekt driftu, stopniowo dostosowując trackery do twoich zrelaksowanych póz.
settings-stay_aligned-setup-label = Konfiguracja Opcji Wyrównywania
settings-stay_aligned-setup-description = Musisz ukończyć konfigurację, aby włączyć opcję Wyrównywania.
settings-stay_aligned-warnings-drift_compensation = ⚠ Wyłącz kompensację Driftu, będzie ona kolidować z opcją Wyrównywania!
settings-stay_aligned-enabled-label = Dostosuj trackery
settings-stay_aligned-hide_yaw_correction-label = Ukryj dopasowanie (do porównania bez opcji Wyrównywania)
settings-stay_aligned-general-label = Ogólne
settings-stay_aligned-relaxed_poses-label = Zrelaksowane pozy
settings-stay_aligned-relaxed_poses-description = Opcja Wyrównywania wykorzystuje Twoje zrelaksowane pozy, aby utrzymać trackery w jednej linii. Użyj opcji "Konfiguracja Opcji Wyrównywania", aby zaktualizować te pozy.
settings-stay_aligned-relaxed_poses-standing = Dostosuj trackery w pozycji stojącej
settings-stay_aligned-relaxed_poses-sitting = Dostosuj trackery, siedząc na krześle
settings-stay_aligned-relaxed_poses-flat = Dostosuj trackery, siedząc na podłodze lub leżąc na plecach
settings-stay_aligned-relaxed_poses-save_pose = Zapisz pozę
settings-stay_aligned-relaxed_poses-reset_pose = Zresetuj Pozycję
settings-stay_aligned-relaxed_poses-close = Zamknij
settings-stay_aligned-debug-label = Debugowanie
settings-stay_aligned-debug-description = Proszę dołączać ustawienia, podczas zgłaszania problemów z opcją Wyrównywania.
settings-stay_aligned-debug-copy-label = Skopiuj ustawienia do schowka
## FK/Tracking settings
@@ -584,8 +611,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip może
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap próbuje odgadnąć obrót twoich stóp, jeśli trackery stóp nie są używane.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant obraca stopy, aby były równoległe do podłoża podczas kontaktu.
settings-general-fk_settings-leg_fk = Śledzenie nóg
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Włącz resetowanie montażu stóp, chodząc na palcach.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset mocowania stóp
settings-general-fk_settings-enforce_joint_constraints = Limity szkieletowe
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Wymuszanie ograniczeń
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Zapobiega obracaniu się stawów poza ich limit
@@ -701,9 +726,6 @@ settings-general-interface-connected_trackers_warning-label = Ostrzeżenie o pod
## Behavior settings
settings-interface-behavior = Zachowanie
settings-general-interface-dev_mode = Tryb Dewelopera
settings-general-interface-dev_mode-description = Ten tryb przydaje się do sprawdzania większej ilości danych.
settings-general-interface-dev_mode-label = Tryb Dewelopera
settings-general-interface-use_tray = Minimalizuj do zasobnika systemowego
settings-general-interface-use_tray-description = Pozwala zamknąć okno bez wyłączania serwera SlimeVR, aby używać trackerów bez interfejsu graficznego.
settings-general-interface-use_tray-label = Minimalizuj do zasobnika systemowego
@@ -725,6 +747,9 @@ settings-interface-behavior-error_tracking-description_v2 =
Aby zapewnić jak najlepsze wrażenia użytkownika, gromadzimy anonimowe raporty o błędach, wskaźniki wydajności i informacje o systemie operacyjnym. Pomaga nam to wykrywać błędy i problemy ze SlimeVR. Dane te są zbierane za pomocą Sentry.io.
settings-interface-behavior-error_tracking-label = Wysyłanie błędów do deweloperów
settings-interface-behavior-bvh_directory = Ścieżka do zapisywania nagrań BVH
settings-interface-behavior-bvh_directory-description = Wybierz ścieżkę domyślną, w której chcesz zapisywać nagrania BVH.
settings-interface-behavior-bvh_directory-label = Ścieżka do nagrań BVH
## Serial settings
@@ -743,7 +768,6 @@ settings-serial-factory_reset-warning =
Co oznacza, że ustawienia Wi-Fi i kalibracji <b>zostaną utracone!</b>
settings-serial-factory_reset-warning-ok = Wiem co robię
settings-serial-factory_reset-warning-cancel = Anuluj
settings-serial-get_infos = Uzyskaj informacje
settings-serial-serial_select = Wybierz port szeregowy
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Skanuj sieci WiFi
@@ -788,6 +812,7 @@ settings-osc-vrchat-description-v1 =
settings-osc-vrchat-enable = Zezwól
settings-osc-vrchat-enable-description = Zezwól na wysyłanie i odbieranie danych.
settings-osc-vrchat-enable-label = Zezwól
settings-osc-vrchat-oscqueryEnabled = Włącz OSCQuery
settings-osc-vrchat-oscqueryEnabled-description =
OSCQuery automatycznie wykrywa uruchomione instancje VRChat i wysyła im dane.
Może również reklamować się do nich w celu otrzymania danych HMD i administratora.
@@ -845,6 +870,9 @@ settings-osc-vmc-mirror_tracking = Odbicie lustrzane śledzenia
settings-osc-vmc-mirror_tracking-description = Odbij śledzenie w poziomie.
settings-osc-vmc-mirror_tracking-label = Odbicie lustrzane śledzenia
## Common OSC settings
## Advanced settings
settings-utils-advanced = Zaawansowany
@@ -994,7 +1022,7 @@ onboarding-connect_tracker-next = Połączyłem już wszystkie trackery
onboarding-calibration_tutorial = Samouczek kalibracji IMU
onboarding-calibration_tutorial-subtitle = Pomoże to ograniczyć dryf trackera!
onboarding-calibration_tutorial-description = Za każdym razem, gdy włączasz trackery, muszą one chwilę polerzeć na płaskiej powierzchni, aby się skalibrować. Zróbmy to samo, klikając przycisk „Kalibruj”, <b>nie ruszaj ich!</b>
onboarding-calibration_tutorial-description-v1 = Po włączeniu trackerów umieść je na chwilę na stabilnej powierzchni, aby umożliwić kalibrację. Kalibrację można przeprowadzić w dowolnym momencie po włączeniu trackerów - ta strona zawiera po prostu samouczek. Aby rozpocząć, kliknij przycisk "{ onboarding-calibration_tutorial-calibrate }", a następnie <b>nie ruszaj swoich trackerów!</b>
onboarding-calibration_tutorial-calibrate = Położyłem trackery na stole
onboarding-calibration_tutorial-status-waiting = Czekam na Ciebie
onboarding-calibration_tutorial-status-calibrating = Kalibracja
@@ -1165,6 +1193,9 @@ onboarding-automatic_mounting-mounting_reset-title = Kalibracja Pozycji
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Zrób pozycje "na Małysza" z wygiętymi nogami, tułowiem pochylonym do przodu z wygiętymi rękami.
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Naciśnij "Zresetuj Położenie" i poczekaj 3 sekundy zanim trackery się zresetują.
onboarding-automatic_mounting-preparation-title = Przygotowania
onboarding-automatic_mounting-preparation-v2-step-0 = 1. Naciśnij przycisk "Pełny reset".
onboarding-automatic_mounting-preparation-v2-step-1 = 2. Stań prosto z rękami po bokach. Upewnij się, że patrzysz przed siebie.
onboarding-automatic_mounting-preparation-v2-step-2 = 3. Utrzymaj pozycję, aż skończy się 3-sekundowy timer.
onboarding-automatic_mounting-put_trackers_on-title = Załóż trackery
onboarding-automatic_mounting-put_trackers_on-description = Aby skalibrować rotacje, użyjemy trackerów które przypisano przed chwilą. Załóż wszystkie trackery, możesz je odróznić na postaci po prawej.
onboarding-automatic_mounting-put_trackers_on-next = Wszystkie trackery założone
@@ -1298,6 +1329,37 @@ onboarding-scaled_proportions-done-description = Proporcje Twojego ciała powinn
## Stay Aligned setup
onboarding-stay_aligned-title = Wyrównywanie
onboarding-stay_aligned-description = Skonfiguruj opcję Wyrównywania, aby Twoje trackery były wyrównane.
onboarding-stay_aligned-put_trackers_on-title = Załóż trackery
onboarding-stay_aligned-put_trackers_on-description = Aby skalibrować proporcje, użyjemy trackerów które przed chwilą przypisałeś. Załóż wszystkie trackery, będziesz widział który to który na postaci po prawej.
onboarding-stay_aligned-put_trackers_on-trackers_warning = Masz mniej niż 5 trackerów aktualnie podłączonych i przypisanych! Jest to minimalna liczba elementów śledzących wymaganych do prawidłowego działania opcji Wyrównywania.
onboarding-stay_aligned-put_trackers_on-next = Mam wszystkie trackery założone
onboarding-stay_aligned-verify_mounting-title = Sprawdź swój montaż
onboarding-stay_aligned-verify_mounting-step-0 = Opcja Wyrównywania wymaga stabilnego mocowania trackera. W innym przypadku będziesz miał złe rezultaty.
onboarding-stay_aligned-verify_mounting-step-1 = 1. Poruszaj się podczas stania.
onboarding-stay_aligned-verify_mounting-step-2 = 2. Usiądź i poruszaj nogami i stopami.
onboarding-stay_aligned-verify_mounting-step-3 = 3. Jeśli Twoje trackery nie znajdują się we właściwym miejscu, naciśnij "Ponów kalibrację montażu".
onboarding-stay_aligned-verify_mounting-redo_mounting = Ponów kalibrację montażu
onboarding-stay_aligned-preparation-title = Przygotowania
onboarding-stay_aligned-preparation-tip = Upewnij się, że stoisz prosto. Patrz przed siebie z rękami opuszczonymi po bokach.
onboarding-stay_aligned-relaxed_poses-standing-title = Zrelaksowana pozycja stojąca
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Stań w wygodnej pozycji. Zrelaksuj się!
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. Naciśnij przycisk "Zapisz pozę".
onboarding-stay_aligned-relaxed_poses-sitting-title = Zrelaksowana pozycja siedząca na krześle
onboarding-stay_aligned-relaxed_poses-sitting-step-0 = 1. Usiądź w wygodnej pozycji. Zrelaksuj się!
onboarding-stay_aligned-relaxed_poses-sitting-step-1-v2 = 2. Naciśnij przycisk "Zapisz pozę".
onboarding-stay_aligned-relaxed_poses-flat-title = Zrelaksowana pozycja siedząca na podłodze
onboarding-stay_aligned-relaxed_poses-flat-step-0 = 1. Usiądź na podłodze z nogami wysuniętymi do przodu. Zrelaksuj się!
onboarding-stay_aligned-relaxed_poses-flat-step-1-v2 = 2. Naciśnij przycisk "Zapisz pozę".
onboarding-stay_aligned-relaxed_poses-skip_step = Pomiń
onboarding-stay_aligned-done-title = Wyrównywanie Włączone!
onboarding-stay_aligned-done-description = Konfiguracja Wyrównywania jest zakończona!
onboarding-stay_aligned-done-description-2 = Konfiguracja została zakończona! Możesz ponownie uruchomić proces, jeśli chcesz ponownie skalibrować pozy.
onboarding-stay_aligned-previous_step = Poprzednie
onboarding-stay_aligned-next_step = Następne
onboarding-stay_aligned-restart = Restart
onboarding-stay_aligned-done = Gotowy
## Home
@@ -1322,6 +1384,12 @@ status_system-StatusSteamVRDisconnected =
}
status_system-StatusTrackerError = Tracker { $trackerName } ma błąd.
status_system-StatusUnassignedHMD = Headset powinien być przypisany do śledzenia głowy.
status_system-StatusPublicNetwork =
{ $count ->
[one] Twoja karta sieciowa jest ustawiona jako publiczna: { $adapters }. Nie jest to zalecane, aby SlimeVR działał poprawnie. <PublicFixLink>Zobacz, jak to naprawić tutaj.</PublicFixLink>
[few] Niektóre karty sieciowe są ustawione jako publiczne: { $adapters }. Nie jest to zalecane, aby SlimeVR działał poprawnie. <PublicFixLink>Zobacz, jak to naprawić tutaj.</PublicFixLink>
*[many] Dużo twoich karty sieciowych jest ustawionych jako publiczne: { $adapters }. Nie jest to zalecane, aby SlimeVR działał poprawnie. <PublicFixLink>Zobacz, jak to naprawić tutaj.</PublicFixLink>
}
## Firmware tool globals
@@ -1337,68 +1405,8 @@ firmware_tool = Narzędzie do oprogramowania sprzętowego DIY
firmware_tool-description = Umożliwia konfigurowanie i flashowanie trackerów DIY
firmware_tool-not_available = Ups, narzędzie do oprogramowania sprzętowego nie jest obecnie dostępne. Wróć później!
firmware_tool-not_compatible = Narzędzie oprogramowania układowego nie jest kompatybilne z tą wersją serwera. Proszę zaktualizować swój serwer!
firmware_tool-board_step = Wybierz swoją tablicę
firmware_tool-board_step-description = Wybierz jedną z plansz wymienionych poniżej.
firmware_tool-board_pins_step = Sprawdź piny
firmware_tool-board_pins_step-description =
Sprawdź, czy wybrane piny są prawidłowe.¶
Jeśli postępowałeś zgodnie z dokumentacją SlimeVR, wartości domyślne powinny być prawidłowe
firmware_tool-board_pins_step-enable_led = Włącz diodę LED
firmware_tool-board_pins_step-led_pin =
.label = Pin LED
.placeholder = Wprowadź adres pin diody LED
firmware_tool-board_pins_step-battery_type = Wybierz typ baterii
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Bateria zewnętrzna
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Bateria wewnętrzna
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = Wewnętrzny MCP3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Czujnik akumulatora Pin
.placeholder = Wprowadź adres pin czujnika akumulatora
firmware_tool-board_pins_step-battery_resistor =
.label = Rezystor akumulatora (Ohms)
.placeholder = Wprowadź wartość rezystora akumulatora
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Osłona akumulatora R1 (Ohms)
.placeholder = Wprowadź wartość Battery Shield R1
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Osłona akumulatora R2 (Ohms)
.placeholder = Wprowadź wartość Battery Shield R2
firmware_tool-add_imus_step = Zadeklaruj swoje IMU
firmware_tool-add_imus_step-description =
Dodaj IMU, które posiada Twój tracker¶
Jeśli postępowałeś zgodnie z dokumentacją SlimeVR, wartości domyślne powinny być prawidłowe
firmware_tool-add_imus_step-imu_type-label = Typ IMU
firmware_tool-add_imus_step-imu_type-placeholder = Wybierz typ IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Obrót IMU (stopnie)
.placeholder = Kąt obrotu IMU
firmware_tool-add_imus_step-scl_pin =
.label = SCL Pin
.placeholder = Adres PIN SCL
firmware_tool-add_imus_step-sda_pin =
.label = SDA Pin
.placeholder = Adres PIN SDA
firmware_tool-add_imus_step-int_pin =
.label = INT Pin
.placeholder = Adres PIN INT
firmware_tool-add_imus_step-optional_tracker =
.label = Opcjonalny moduł śledzący
firmware_tool-add_imus_step-show_less = Pokaż mniej
firmware_tool-add_imus_step-show_more = Pokaż więcej
firmware_tool-add_imus_step-add_more = Dodaj więcej IMU
firmware_tool-select_firmware_step = Wybierz wersję oprogramowania sprzętowego
firmware_tool-select_firmware_step-description = Wybierz wersję oprogramowania, której chcesz używać
firmware_tool-select_firmware_step-show-third-party =
.label = Pokaż oprogramowanie sprzętowe innych firm
firmware_tool-flash_method_step = Metoda flashowania
firmware_tool-flash_method_step-description = Wybierz metodę flashowania, której chcesz użyć
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Użyj metody bezprzewodowej. Twój tracker użyje Wi-Fi do aktualizacji oprogramowania sprzętowego. Działa tylko na już skonfigurowanych trackerach.
firmware_tool-flash_method_step-serial =
.label = Serial
.description = Aby zaktualizować tracker, użyj kabla USB.
firmware_tool-flashbtn_step = Naciśnij przycisk zasilania
firmware_tool-flashbtn_step-description = Zanim przejdziesz do następnego kroku, musisz zrobić kilka rzeczy
firmware_tool-flashbtn_step-board_SLIMEVR =
@@ -1423,15 +1431,13 @@ firmware_tool-build_step = Building
firmware_tool-build_step-description = Trwa tworzenie oprogramowania sprzętowego. Proszę czekać
firmware_tool-flashing_step = Flashing
firmware_tool-flashing_step-description = Twoje trackery migają. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie
firmware_tool-flashing_step-warning-v2 = Nie odłączaj ani nie wyłączaj trackera podczas procesu przesyłania, chyba że zostaniesz o to poproszony, może to spowodować, że twoje urządzenie stanie się bezużyteczne.
firmware_tool-flashing_step-flash_more = Flashuj więcej trackerów
firmware_tool-flashing_step-exit = Wyjście
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Tworzenie folderu kompilacji
firmware_tool-build-DOWNLOADING_FIRMWARE = Pobieranie oprogramowania sprzętowego
firmware_tool-build-EXTRACTING_FIRMWARE = Wyodrębnianie oprogramowania sprzętowego
firmware_tool-build-SETTING_UP_DEFINES = Konfigurowanie definicji
firmware_tool-build-BUILDING = Budowa oprogramowania sprzętowego
firmware_tool-build-SAVING = Zapisywanie kompilacji
firmware_tool-build-DONE = Budowa ukończona
@@ -1440,6 +1446,7 @@ firmware_tool-build-ERROR = Nie można zbudować oprogramowania sprzętowego
## Firmware update status
firmware_update-status-DOWNLOADING = Pobieranie oprogramowania sprzętowego
firmware_update-status-NEED_MANUAL_REBOOT-v2 = Wyłącz i ponownie włącz swój tracker
firmware_update-status-AUTHENTICATING = Uwierzytelnianie za pomocą MCU
firmware_update-status-UPLOADING = Przesyłanie oprogramowania sprzętowego
firmware_update-status-SYNCING_WITH_MCU = Synchronizacja z MCU
@@ -1510,6 +1517,9 @@ vrc_config-show_more = Pokaż więcej
vrc_config-setting_name = Nazwa ustawienia VRChat
vrc_config-recommended_value = Zalecana wartość
vrc_config-current_value = Bieżąca wartość
vrc_config-mute = Wycisz Ostrzeżenie
vrc_config-mute-btn = Wycisz
vrc_config-unmute-btn = Odcisz
vrc_config-legacy_mode = Korzystanie ze starszego rozwiązywania kinematyki odwrotnej
vrc_config-disable_shoulder_tracking = Wyłącz śledzenie ramienia
vrc_config-shoulder_width_compensation = Kompensacja szerokości barku

View File

@@ -281,7 +281,6 @@ tracker-settings-name_section-label = Nome do tracker
tracker-settings-forget = Esquecer o tracker
tracker-settings-forget-description = Remove o tracker do servidor SlimeVR e impede que ele se conecte a ele até que o servidor seja reiniciado. A configuração do tracker não será perdida.
tracker-settings-forget-label = Esquecer o tracker
tracker-settings-update-unavailable = Não pode ser atualizado (DIY)
tracker-settings-update-low-battery = Não é possível atualizar. Bateria abaixo de 50%
tracker-settings-update-up_to_date = Atualizado
tracker-settings-update-available = { $versionName } está disponível
@@ -469,8 +468,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Clipping de chã
settings-general-fk_settings-leg_tweak-toe_snap-description = Encaixar os dedos do pé, tenta adivinhar a rotação dos seus pés se os trackers dos pés não estiverem em uso.
settings-general-fk_settings-leg_tweak-foot_plant-description = Pé plantado gira os pés para ficarem paralelos ao chão quando em contato.
settings-general-fk_settings-leg_fk = Tracking de pernas
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Ativar o Reset de Posição dos pés ao ficar nas pontas dos pés.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset de Posição dos pés
settings-general-fk_settings-enforce_joint_constraints = Limites do esqueleto
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Impor limites
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Evita que as articulações rotacionem além de seu limite
@@ -583,9 +580,6 @@ settings-general-interface-connected_trackers_warning-label = Aviso de trackers
## Behavior settings
settings-interface-behavior = Comportamento
settings-general-interface-dev_mode = Modo de desenvolvedor
settings-general-interface-dev_mode-description = Este modo pode ser útil se precisar de dados específicos ou para interagir com trackers conectados a um nível mais avançado
settings-general-interface-dev_mode-label = Modo de desenvolvedor
settings-general-interface-use_tray = Minimizar para bandeja do sistema
settings-general-interface-use_tray-description = Permite que você feche a janela sem fechar o servidor do SlimeVR, para que possa continuar usando-o sem que a interface gráfica o incomode.
settings-general-interface-use_tray-label = Minimizar para a bandeja do sistema
@@ -624,7 +618,6 @@ settings-serial-factory_reset-warning =
Que significa que as opções de Wi-Fi e calibrações <b>vão ser todos perdidos!</b>
settings-serial-factory_reset-warning-ok = Eu sei o que estou fazendo
settings-serial-factory_reset-warning-cancel = Cancelar
settings-serial-get_infos = Obter informações
settings-serial-serial_select = Selecione uma porta serial
settings-serial-auto_dropdown_item = Auto
settings-serial-get_wifi_scan = Obter varredura WiFi
@@ -726,6 +719,9 @@ settings-osc-vmc-mirror_tracking = Espelhar rastreamento
settings-osc-vmc-mirror_tracking-description = Espelhar o rastreamento horizontalmente.
settings-osc-vmc-mirror_tracking-label = Espelhar rastreamento
## Common OSC settings
## Advanced settings
settings-utils-advanced = Avançado
@@ -856,17 +852,16 @@ onboarding-connect_tracker-connection_status-done = Conectado ao servidor
# 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
[0] No trackers connected
[one] 1 tracker connected
*[other] { $amount } trackers connected
}
onboarding-connect_tracker-next = Eu conectei todos os meus trackers
## Tracker calibration tutorial
onboarding-calibration_tutorial = Tutorial de Calibração IMU.
onboarding-calibration_tutorial-subtitle = Isso ajudará a reduzir o drift dos trackers!
onboarding-calibration_tutorial-description = Cada vez que ligar seus trackers, eles precisam ficar parados por um momento em uma superfície plana para calibrar. Vamos fazer a mesma coisa clicando no botão "{ onboarding-calibration_tutorial-calibrate }", <b>não os mova!</b>
onboarding-calibration_tutorial-calibrate = Eu coloquei meus trackers na mesa
onboarding-calibration_tutorial-status-waiting = Esperando por você
onboarding-calibration_tutorial-status-calibrating = Calibrando
@@ -893,10 +888,10 @@ onboarding-assign_trackers-description = Vamos escolher onde cada tracker vai. C
# $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
{ $trackers ->
[one] { $assigned } of 1 tracker assigned
*[other] { $assigned } of { $trackers } trackers assigned
}
onboarding-assign_trackers-advanced = Mostrar locais de atribuição avançados
onboarding-assign_trackers-next = Atribui todos os trackers
onboarding-assign_trackers-mirror_view = Inverter visão
@@ -1193,66 +1188,8 @@ firmware_tool = Ferramenta de Firmware DIY
firmware_tool-description = Permite você configurar e fazer upload do firmware em seu tracker DIY
firmware_tool-not_available = Oops, a ferramenta de firmware não está disponível no momento. Volte novamente mais tarde!
firmware_tool-not_compatible = A ferramenta de firmware não é compativel com essa versão do servidor. Por favor, atualize o seu servidor!
firmware_tool-board_step = Selecione sua placa
firmware_tool-board_step-description = Selecione uma das placas listadas abaixo
firmware_tool-board_pins_step = Verifique os pinos
firmware_tool-board_pins_step-description =
Verifique se os pinos selecionados estão corretos.
Se você seguiu a documentação do SlimeVR, os valores pré-definidos devem estar corretos
firmware_tool-board_pins_step-enable_led = Ligar LED
firmware_tool-board_pins_step-led_pin =
.label = Pino do LED
.placeholder = Digite o endereço do pino do LED
firmware_tool-board_pins_step-battery_type = Selecione o tipo de bateria
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Bateria externa
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Bateria Interna
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = MCP3021 Interna
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Pino do sensor da bateria
.placeholder = Digite o endereço do pino do sensor da bateria
firmware_tool-board_pins_step-battery_resistor =
.label = Resistor da bateria (Ohms)
.placeholder = Digite o valor do resistor da bateria
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Proteção da bateria R1
.placeholder = Digite o valor da proteção da bateria R1
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Proteção da bateria R2
.placeholder = Digite o valor da proteção da bateria R2
firmware_tool-add_imus_step = Declare suas IMUs
firmware_tool-add_imus_step-description = Se você seguiu a documentação do SlimeVR, os valores pré-definidos devem estar corretos
firmware_tool-add_imus_step-imu_type-label = Tipo de IMU
firmware_tool-add_imus_step-imu_type-placeholder = Selecione o tipo de IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Rotação da IMU (Graus)
.placeholder = O ângulo de rotação do IMU
firmware_tool-add_imus_step-scl_pin =
.label = Pino SCL
.placeholder = Endereço do pino SCL
firmware_tool-add_imus_step-sda_pin =
.label = Pino SDA
.placeholder = Endereço do Pino SDA
firmware_tool-add_imus_step-int_pin =
.label = Pino INT
.placeholder = Endereço do pino INT
firmware_tool-add_imus_step-optional_tracker =
.label = Tracker opcional
firmware_tool-add_imus_step-show_less = Mostrar menos
firmware_tool-add_imus_step-show_more = Mostrar mais
firmware_tool-add_imus_step-add_more = Adicionar mais IMU's
firmware_tool-select_firmware_step = Seleciona a versão do firmware
firmware_tool-select_firmware_step-description = Por favor, escolha a versão do firmware deseja utilizar
firmware_tool-select_firmware_step-show-third-party =
.label = Mostrar firmwares de terceiros
firmware_tool-flash_method_step = Método de upload
firmware_tool-flash_method_step-description = Por favor, selecione o método de upload que deseja utilizar
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Use o método "over the air". Seu tracker usará o Wi-Fi para atualizar o firmware. Apenas funciona em trackers já configurados
firmware_tool-flash_method_step-serial =
.label = Serial
.description = Use um cabo USB para atualizar seu tracker
firmware_tool-flashbtn_step = Pressione o botão de boot
firmware_tool-flashbtn_step-description = Antes de ir para o próximo passo, aqui estão algumas etapas que você necessita fazer
firmware_tool-flashbtn_step-board_SLIMEVR = Deslige o tracker, tire de case (se tiver), conecte o cabo USB nesse computador, e tente seguir os seguintes passos de acordo com a revisão de sua placa SlimeVR
@@ -1280,9 +1217,6 @@ firmware_tool-flashing_step-exit = Sair
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Criando a pasta de compilação
firmware_tool-build-DOWNLOADING_FIRMWARE = Baixando o firmware
firmware_tool-build-EXTRACTING_FIRMWARE = Extraindo o firmware
firmware_tool-build-SETTING_UP_DEFINES = Configurando os defines
firmware_tool-build-BUILDING = Compilando o firmware
firmware_tool-build-SAVING = Salvando a compilação
firmware_tool-build-DONE = Compilação concluída

View File

@@ -147,7 +147,7 @@ skeleton_bone-WAIST-desc =
skeleton_bone-HIP = Длина таза
skeleton_bone-HIP-desc =
Это расстояние от вашего пупка до ваших бедер.
Чтобы откалибровать его, убедитесь, что "Длина туловища" задана верно, и изменяйте значение в различных
Чтобы откалибровать его, убедитесь, что "Длина туловища" задана верно, и изменяйте значение в различных
позициях (сидя, наклонившись, лёжа и т.д.), пока ваш виртуальный позвоночник не совпадет с реальным.
skeleton_bone-HIP_OFFSET = Смещение таза
skeleton_bone-HIP_OFFSET-desc =
@@ -161,7 +161,7 @@ skeleton_bone-HIPS_WIDTH-desc =
skeleton_bone-leg_group = Длина ноги
skeleton_bone-leg_group-desc =
Это расстояние от ваших бёдер до ваших ступней.
Чтобы откалибровать его, убедитесь, что "Длина туловища" задана верно,
Чтобы откалибровать его, убедитесь, что "Длина туловища" задана верно,
и изменяйте значение, пока ваши виртуальные ступни не совпадут с реальными.
skeleton_bone-UPPER_LEG = Длина бедра
skeleton_bone-UPPER_LEG-desc =
@@ -182,7 +182,7 @@ skeleton_bone-FOOT_SHIFT = Смещение стопы
skeleton_bone-FOOT_SHIFT-desc =
Это горизонтальное расстояние от ваших колен до ваших лодыжек.
Оно отвечает за смещение голеней назад, когда вы стоите прямо.
Чтобы откалибровать его, установите "Длину ноги" равной 0, выполните полный сброс, и
Чтобы откалибровать его, установите "Длину ноги" равной 0, выполните полный сброс, и
изменяйте значение, пока ваши виртуальные ступни не сравняются с центром лодыжек.
skeleton_bone-SKELETON_OFFSET = Смещение скелета
skeleton_bone-SKELETON_OFFSET-desc =
@@ -402,7 +402,6 @@ tracker-settings-name_section-label = Имя трекера
tracker-settings-forget = Забыть трекер
tracker-settings-forget-description = Убирает трекер с SlimeVR Сервер и запрещает ему подключаться к серверу до того как он будет перезапущен. Конфигурация трекера не будет потеряна.
tracker-settings-forget-label = Забыть трекер
tracker-settings-update-unavailable = Невозможно обновить (DIY)
tracker-settings-update-low-battery = Невозможно обновить. Заряд батареи менее 50%
tracker-settings-update-up_to_date = Обновлено
tracker-settings-update-available = { $versionName } теперь доступна
@@ -607,8 +606,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Привязка
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap пытается угадать вращение ваших ступней, если трекеры для них не используются.
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-Plant поворачивает ваши ступни так, чтобы они были параллельны земле при контакте.
settings-general-fk_settings-leg_fk = Отслеживание ног
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Включение сброса крепления ног при стоянии на цыпочках.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Сброс крепления ступней
settings-general-fk_settings-enforce_joint_constraints = Ограничения Скелета
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Применять ограничения
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Предотвращает вращение суставов за пределы их возможностей
@@ -724,9 +721,6 @@ settings-general-interface-connected_trackers_warning-label = Предупреж
## Behavior settings
settings-interface-behavior = Поведение
settings-general-interface-dev_mode = Режим разработчика
settings-general-interface-dev_mode-description = Этот режим может быть полезен, если вам нужны подробные данные или для взаимодействия с подключенными трекерами на более продвинутом уровне.
settings-general-interface-dev_mode-label = Режим разработчика
settings-general-interface-use_tray = Свернуть в системный трей
settings-general-interface-use_tray-description = Позволяет закрыть окно, не закрывая сервер SlimeVR, так что вы можете продолжать использовать его, не беспокоясь о графическом интерфейсе.
settings-general-interface-use_tray-label = Свернуть в системный трей
@@ -764,7 +758,6 @@ settings-serial-factory_reset-warning =
Это означает, что 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 = Получить сканирование Wi-Fi
@@ -868,6 +861,9 @@ settings-osc-vmc-mirror_tracking = Отзеркалить отслеживани
settings-osc-vmc-mirror_tracking-description = Отзеркалить отслеживание горизонтально.
settings-osc-vmc-mirror_tracking-label = Отзеркалить отслеживание
## Common OSC settings
## Advanced settings
settings-utils-advanced = Продвинутые
@@ -1021,7 +1017,6 @@ onboarding-connect_tracker-next = Я подключил все трекеры
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 = Калибровка
@@ -1342,13 +1337,10 @@ onboarding-stay_aligned-preparation-title = Подготовка
onboarding-stay_aligned-preparation-tip = Убедитесь, что стоите прямо. Вам необходимо смотреть вперед, а ваши руки должны быть опущены по бокам.
onboarding-stay_aligned-relaxed_poses-standing-title = Расслабленная поза (стоя)
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Встаньте в удобное положение. Расслабьтесь!
onboarding-stay_aligned-relaxed_poses-standing-step-2 = 3. Нажмите кнопку: "Сохранить позу".
onboarding-stay_aligned-relaxed_poses-sitting-title = Расслабленная поза (сидя на стуле)
onboarding-stay_aligned-relaxed_poses-sitting-step-0 = 1. Сядьте в удобное положение. Расслабьтесь!
onboarding-stay_aligned-relaxed_poses-sitting-step-2 = 3. Нажмите кнопку: "Сохранить позу".
onboarding-stay_aligned-relaxed_poses-flat-title = Расслабленная поза (сидя на полу)
onboarding-stay_aligned-relaxed_poses-flat-step-0 = 1. Сядьте на пол, расположив ноги перед собой. Расслабьтесь!
onboarding-stay_aligned-relaxed_poses-flat-step-2 = 3. Нажмите кнопку: "Сохранить позу".
onboarding-stay_aligned-relaxed_poses-skip_step = Пропустить
onboarding-stay_aligned-done-title = Функция "Оставаться выровненным" включена!
onboarding-stay_aligned-done-description = Настройка функции "Оставаться выровненным" завершена!
@@ -1397,68 +1389,8 @@ firmware_tool = Инструмент Прошивки DIY
firmware_tool-description = Позволяет вам настроить и прошить ваши DIY трекеры
firmware_tool-not_available = Упс! В данный момент инструмент прошивки недоступен. Возвращайтесь позже!
firmware_tool-not_compatible = Средство прошивки несовместимо с этой версией сервера. Пожалуйста, обновите свой сервер!
firmware_tool-board_step = Выберите вашу плату
firmware_tool-board_step-description = Выберите одну из перечисленных ниже плат
firmware_tool-board_pins_step = Проверьте контакты
firmware_tool-board_pins_step-description =
Пожалуйста, проверьте правильность выбранных контактов.
Если вы следовали документации SlimeVR, значения по умолчанию должны быть корректными
firmware_tool-board_pins_step-enable_led = Включить светодиод
firmware_tool-board_pins_step-led_pin =
.label = Контакт светодиода
.placeholder = Введите адрес контакта светодиода
firmware_tool-board_pins_step-battery_type = Выберите тип аккумуляторной батареи
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = Внешняя АКБ
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = Внутренняя АКБ
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = Внутренний MCP3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = MCP3021
firmware_tool-board_pins_step-battery_sensor_pin =
.label = Контакт датчика АКБ
.placeholder = Введите адрес контакта датчика АКБ
firmware_tool-board_pins_step-battery_resistor =
.label = Резистор АКБ (Ом)
.placeholder = Введите величину резистора АКБ
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = Battery Shield R1 (Ом)
.placeholder = Введите значение R1 Battery Shield
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = Battery Shield R2 (Ом)
.placeholder = Введите значение R2 Battery Shield
firmware_tool-add_imus_step = Укажите ваши IMU
firmware_tool-add_imus_step-description =
Пожалуйста, добавьте IMU, которые установлены на вашем трекере
Если вы следовали документации SlimeVR, значения по умолчанию должны быть корректными
firmware_tool-add_imus_step-imu_type-label = Тип IMU
firmware_tool-add_imus_step-imu_type-placeholder = Выберите тип IMU
firmware_tool-add_imus_step-imu_rotation =
.label = Поворот IMU (градусы)
.placeholder = Угол поворота IMU
firmware_tool-add_imus_step-scl_pin =
.label = Контакт SCL
.placeholder = Адрес контакта SCL
firmware_tool-add_imus_step-sda_pin =
.label = Контакт SDA
.placeholder = Адрес контакта SDA
firmware_tool-add_imus_step-int_pin =
.label = Контакт INT
.placeholder = Адрес контакта INT
firmware_tool-add_imus_step-optional_tracker =
.label = Опциональный трекер
firmware_tool-add_imus_step-show_less = Свернуть
firmware_tool-add_imus_step-show_more = Развернуть
firmware_tool-add_imus_step-add_more = Добавить больше IMU
firmware_tool-select_firmware_step = Выбрать версию прошивки
firmware_tool-select_firmware_step-description = Пожалуйста, выберите версию прошивки, которую вы хотите использовать
firmware_tool-select_firmware_step-show-third-party =
.label = Показать прошивки сторонних производителей
firmware_tool-flash_method_step = Способ прошивки
firmware_tool-flash_method_step-description = Пожалуйста, выберите способ прошивки, который вы хотите использовать
firmware_tool-flash_method_step-ota =
.label = OTA
.description = Использовать метод обновления "по воздуху". Ваш трекер будет использовать Wi-Fi для обновления прошивки. Работает только с уже настроенными трекерами.
firmware_tool-flash_method_step-serial =
.label = Последовательный порт
.description = Использовать подключение по USB кабелю для обновления вашего трекера.
firmware_tool-flashbtn_step = Нажмите кнопку загрузки
firmware_tool-flashbtn_step-description = Прежде чем перейти к следующему шагу, вам нужно сделать ещё несколько действий
firmware_tool-flashbtn_step-board_SLIMEVR = Отключите трекер, извлеките его из корпуса (если он есть), подключите USB кабель к компьютеру, затем выполните одно из следующих действий в соответствии с ревизией вашей платы от SlimeVR:
@@ -1487,9 +1419,6 @@ firmware_tool-flashing_step-exit = Выйти
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Создание папки сборки
firmware_tool-build-DOWNLOADING_FIRMWARE = Загрузка прошивки
firmware_tool-build-EXTRACTING_FIRMWARE = Извлечение прошивки
firmware_tool-build-SETTING_UP_DEFINES = Настройка определений
firmware_tool-build-BUILDING = Сборка прошивки
firmware_tool-build-SAVING = Сохранение сборки
firmware_tool-build-DONE = Сборка завершена

View File

@@ -103,7 +103,7 @@ skeleton_bone-HEAD-desc =
skeleton_bone-NECK = Halsens längd
skeleton_bone-NECK-desc =
Detta är distansen från mittpunkten av ditt huvud till din nackes bas.
För att justera det, skaka ditt huvud upp och ner, som om att du säger ja eller luta ditt
För att justera det, skaka ditt huvud upp och ner, som om att du säger ja eller luta ditt
huvud höger eller vänster och modifiera det tills någon rörelse i andra rörelsesensorer är obetydlig.
skeleton_bone-torso_group = Halsens längd
skeleton_bone-torso_group-desc =
@@ -146,7 +146,7 @@ skeleton_bone-HIPS_WIDTH-desc =
skeleton_bone-leg_group = Benlängd
skeleton_bone-leg_group-desc =
Detta är distansen från dina höfter till dina fötter.
För att justera det, justera din Torso-längd ordentligt och modifiera
För att justera det, justera din Torso-längd ordentligt och modifiera
den tills dina virtuella fötter är på samma nivå som dina riktiga.
skeleton_bone-UPPER_LEG = Längd på övre delen av benet
skeleton_bone-UPPER_LEG-desc =
@@ -166,7 +166,7 @@ skeleton_bone-FOOT_SHIFT = Fotförskjutning
skeleton_bone-FOOT_SHIFT-desc =
Detta värde är den horisontella distansen från dina ditt knä till din fotled.
den tar hänsyn till att dina underben går baklänges när du står rakt upp.
För att justera det, ställ fotens längd till 0, utför en full återställning och modifiera den tills
För att justera det, ställ fotens längd till 0, utför en full återställning och modifiera den tills
dina virtuella fötter matchar mitten av dina fotleder.
skeleton_bone-SKELETON_OFFSET = Skelettets förskjutning
skeleton_bone-SKELETON_OFFSET-desc =
@@ -186,7 +186,7 @@ skeleton_bone-SHOULDERS_WIDTH-desc =
skeleton_bone-arm_group = Armlängd
skeleton_bone-arm_group-desc =
Detta är avståndet från dina axlar till dina handleder.
För att justera det, justera Avståndet mellan axlar ordentligt, ändra Handavstånd Y
För att justera det, justera Avståndet mellan axlar ordentligt, ändra Handavstånd Y
till 0 och modifiera tills dina hand-sensorer är i linje med dina handleder.
skeleton_bone-UPPER_ARM = Längd på överarm
skeleton_bone-UPPER_ARM-desc =
@@ -196,7 +196,7 @@ skeleton_bone-UPPER_ARM-desc =
skeleton_bone-LOWER_ARM = Längd på underarm
skeleton_bone-LOWER_ARM-desc =
Detta är avståndet från dina armbågar till dina handleder.
För att justera det, justera Armlängd ordentligt och modifiera det
För att justera det, justera Armlängd ordentligt och modifiera det
tills dina armbågs-spårare matchar med dina riktiga armbågar.
skeleton_bone-HAND_Y = Handavstånd Y
skeleton_bone-HAND_Y-desc =
@@ -388,7 +388,6 @@ tracker-settings-name_section-label = Sensorns namn
tracker-settings-forget = Glöm spårning
tracker-settings-forget-description = Tar bort trackern från SlimeVR-servern och förhindrar den från att ansluta till den tills servern startas om. Konfigurationen av trackern kommer inte att gå förlorad.
tracker-settings-forget-label = Glöm spårning
tracker-settings-update-unavailable = Kan ej uppdateras (DIY)
tracker-settings-update-low-battery = Kan ej uppdatera. Batteriet är under 50%
tracker-settings-update-up_to_date = Uppdaterad
tracker-settings-update-available = { $versionName } är nu tillgänlig
@@ -576,8 +575,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip kan m
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap försöker gissa rotationen på dina fötter om fotspårare inte används.
settings-general-fk_settings-leg_tweak-foot_plant-description = Fotplatta roterar fötterna så att de är parallella med marken vid kontakt.
settings-general-fk_settings-leg_fk = Spårning av ben
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Aktivera fötterna Montering Återställning genom att gå på tå.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Fötter Montering Återställning
settings-general-fk_settings-enforce_joint_constraints = Skelett-gränser
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = Upprätthåll begränsningar
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = Förhindra leder från att rotera förbi dess gränser
@@ -675,9 +672,6 @@ settings-general-interface-connected_trackers_warning-label = Varning för uppko
## Behavior settings
settings-interface-behavior = Beteende
settings-general-interface-dev_mode = Utvecklarläge
settings-general-interface-dev_mode-description = Det här läget kan vara användbart om du behöver djupgående data eller vill interagera med anslutna trackers på en mer avancerad nivå.
settings-general-interface-dev_mode-label = Utvecklarläge
settings-general-interface-use_tray = Minimera till systemfältet
settings-general-interface-use_tray-description = Låter dig stänga fönstret utan att stänga SlimeVR-servern så att du kan fortsätta använda den utan att GUI stör dig.
settings-general-interface-use_tray-label = Minimera till systemfältet
@@ -708,7 +702,6 @@ settings-serial-factory_reset-warning =
Det innebär att Wi-Fi- och kalibreringsinställningar <b>kommer att gå förlorade!</b>
settings-serial-factory_reset-warning-ok = Jag vet vad jag gör
settings-serial-factory_reset-warning-cancel = Avbryt
settings-serial-get_infos = Få information
settings-serial-serial_select = Välj en serieport
settings-serial-auto_dropdown_item = Automatiskt
settings-serial-get_wifi_scan = Hämta WiFi-skanning
@@ -740,7 +733,7 @@ settings-osc-vrchat-oscqueryEnabled = Aktivera OSCQuery
settings-osc-vrchat-oscqueryEnabled-description =
OSCQuery känner automatiskt av körande instanser av VRChat och skickar data till OSCQuery.
De kan även annonsera sig själva till VRChat för att få HMD och kontrollerdata.
För att tillåta samling av HMD och kontrollerdata från VRChat, gå till din huvudmenys inställningar
För att tillåta samling av HMD och kontrollerdata från VRChat, gå till din huvudmenys inställningar
under "Tracking & IK" och tillåt "Allow Sending Head and Wrist VR Tracking OSC Data"
settings-osc-vrchat-oscqueryEnabled-label = Aktivera OSCQuery
settings-osc-vrchat-network = Nätverksportar
@@ -790,6 +783,9 @@ settings-osc-vmc-mirror_tracking = Spegla spårning
settings-osc-vmc-mirror_tracking-description = Spegla spårning horisontellt.
settings-osc-vmc-mirror_tracking-label = Spegla spårning
## Common OSC settings
## Advanced settings
settings-utils-advanced = Avancerad
@@ -928,7 +924,6 @@ onboarding-connect_tracker-next = Jag har anslutit alla mina spårare
onboarding-calibration_tutorial = Handledning för IMU-kalibrering
onboarding-calibration_tutorial-subtitle = Detta kommer att bidra till att minska spårarens drift!
onboarding-calibration_tutorial-description = Varje gång du slår på dina trackers måste de vila en stund på en plan yta för att kalibreras. Låt oss göra samma sak genom att klicka på knappen "{ onboarding-calibration_tutorial-calibrate }", <b>rör dem inte!</b>
onboarding-calibration_tutorial-calibrate = Jag placerade mina trackers på bordet
onboarding-calibration_tutorial-status-waiting = Väntar på dig
onboarding-calibration_tutorial-status-calibrating = Kalibrering
@@ -1062,7 +1057,7 @@ onboarding-choose_mounting-manual_modal-title =
Är du säker på att du vill göra
den automatiska monterings-kalibreringen?
onboarding-choose_mounting-manual_modal-description =
<b>Den manuella monterings-kalibreringen är rekommenderad för nya användare</b>, eftersom den automatiska monterings-kalibreringen kan vara svår att få rätt första gången
<b>Den manuella monterings-kalibreringen är rekommenderad för nya användare</b>, eftersom den automatiska monterings-kalibreringen kan vara svår att få rätt första gången
och kan behöva lite träning för att få rätt.
onboarding-choose_mounting-manual_modal-confirm = Jag är säker på vad jag gör
onboarding-choose_mounting-manual_modal-cancel = Avbryt
@@ -1166,9 +1161,6 @@ firmware_tool-flashing_step-exit = Stäng
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = Skapar bygges-filen
firmware_tool-build-DOWNLOADING_FIRMWARE = Laddar ner mjukvaran
firmware_tool-build-EXTRACTING_FIRMWARE = Extraherar mjukvaran
firmware_tool-build-SETTING_UP_DEFINES = Konfigurerar definitionerna.
firmware_tool-build-BUILDING = Bygger mjukvaran.
firmware_tool-build-SAVING = Sparar bygget.
firmware_tool-build-DONE = Byggning färdig

File diff suppressed because it is too large Load Diff

View File

@@ -45,6 +45,9 @@ body_part-LEFT_UPPER_LEG = Sol uyluk
body_part-LEFT_LOWER_LEG = Sol ayak bileği
body_part-LEFT_FOOT = Sol ayak
## BoardType
## Proportions
skeleton_bone-NONE = Yok
@@ -108,6 +111,9 @@ tracking-unpaused = Takibi duraklat
## Widget: Drift compensation
## Widget: Clear Reset Mounting
## Widget: Developer settings
widget-developer_mode = Geliştirici Modu
@@ -120,7 +126,9 @@ widget-developer_mode-more_info = Daha fazla bilgi
widget-imu_visualizer = Rotasyon
widget-imu_visualizer-rotation_preview = Önizle
widget-imu_visualizer-rotation_hide = Gizle
## Widget: Skeleton Visualizer
## Tracker status
@@ -222,10 +230,6 @@ 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
@@ -235,18 +239,18 @@ settings-general-tracker_mechanics-filtering-amount = Miktar
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
## Appearance settings
## Notification settings
## Behavior settings
## Serial settings
@@ -271,6 +275,12 @@ settings-osc-vrchat-network-address = Ağ adresi
## VMC OSC settings
## Common OSC settings
## Advanced settings
## Setup/onboarding menu
@@ -313,17 +323,53 @@ settings-osc-vrchat-network-address = Ağ adresi
## Tracker automatic mounting setup
## Tracker proportions method choose
## Tracker manual proportions setup
## Tracker manual proportions setupa
## Tracker automatic proportions setup
## Tracker scaled proportions setup
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
## Trackers Still On notification
## Status system
## Firmware tool globals
## Firmware tool Steps
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
## First exit modal
## Unknown device modal
## Error collection consent modal

View File

@@ -380,8 +380,6 @@ 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 = Відстеження рук з шолома
@@ -476,9 +474,6 @@ settings-general-interface-connected_trackers_warning-label = Попередже
## Behavior settings
settings-general-interface-dev_mode = Режим розробника
settings-general-interface-dev_mode-description = Цей режим може бути корисним, якщо вам потрібні поглиблені дані або для взаємодії з підключеними трекерами на більш просунутому рівні.
settings-general-interface-dev_mode-label = Режим розробника
settings-general-interface-use_tray = Згорнути в системний трей
settings-general-interface-use_tray-description = Дозволяє закрити вікно, не закриваючи сервер SlimeVR, так що ви можете продовжувати використати його, не турбуючись про інтерфейс.
settings-general-interface-use_tray-label = Згорнути в системний трей
@@ -503,7 +498,6 @@ settings-serial-factory_reset-warning =
Це означає, що 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 = Сканувати мережу Wi-Fi
@@ -591,6 +585,9 @@ settings-osc-vmc-mirror_tracking = Дзеркальний трекінг
settings-osc-vmc-mirror_tracking-description = Віддзеркалити трекери горизонтально.
settings-osc-vmc-mirror_tracking-label = Дзеркальний трекінг
## Common OSC settings
## Advanced settings
@@ -701,7 +698,6 @@ onboarding-connect_tracker-next = Я підключив усі свої трек
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 = Калібрування

View File

@@ -9,6 +9,11 @@
websocket-connecting = Đang kết nối với máy chủ
websocket-connection_lost = Kết nối với máy chủ đã mất. Đang kết nối lại...
websocket-connection_lost-desc = Máy chủ SlimeVR bị dừng. Hãy kiểm tra nhật ký logs và khởi động lại chương trình.
websocket-timedout = Không thể tìm thấy máy chủ
websocket-timedout-desc = Có vẻ như máy chủ SlimeVR đã bị sập hoặc hết thời gian chờ. Vui lòng kiểm tra nhật ký logs và khởi động lại chương trình.
websocket-error-close = Thoát SlimeVR
websocket-error-logs = Mở thư mục nhật ký logs
## Update notification
@@ -50,6 +55,11 @@ body_part-LEFT_UPPER_LEG = Bắp chân trái
body_part-LEFT_LOWER_LEG = Cẳng chân trái
body_part-LEFT_FOOT = Bàn chân trái
## BoardType
board_type-MOCOPI = Sony Mocopi
board_type-WEMOSWROOM02 = Wemos Wroom-02 D1 Mini
## Proportions
skeleton_bone-NONE = Chưa được gán
@@ -388,8 +398,6 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Ngăn xuyên sà
settings-general-fk_settings-leg_tweak-toe_snap-description = Đoán hướng xoay chân sẽ đoán hướng xoay của chân đồng thời khóa ngón chân của bạn vào mặt sàn bạn nếu bạn không sử dụng tracker cho chân.
settings-general-fk_settings-leg_tweak-foot_plant-description = Cân bằng chân sẽ xoay chân song song với mặt đất khi lại gần.
settings-general-fk_settings-leg_fk = Track chân
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Đặt lại hướng gắn tracker bàn chân bằng cách nhón chân.
settings-general-fk_settings-leg_fk-reset_mounting_feet = Đặt lại hướng gắn tracker bàn chân
settings-general-fk_settings-arm_fk = Track cánh tay
settings-general-fk_settings-arm_fk-description = Thay đổi cách cánh tay được track
settings-general-fk_settings-arm_fk-force_arms = Lấy dữ liệu cánh tay từ kính
@@ -421,9 +429,6 @@ settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Tính
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Tính trung bình của chiều quay đầu gối ngáp và lăn bằng mắt cá chân '
settings-general-fk_settings-self_localization-title = Chế độ Mocap
settings-general-fk_settings-self_localization-description = Chế độ Mocap cho phép bộ xương theo dõi đại khái vị trí của chính nó mà không cần kính VR hoặc các thiết bị theo dõi khác. Lưu ý rằng điều này yêu cầu bộ theo dõi chân và đầu để hoạt động và chức năng này vẫn đang trong quá trình thử nghiệm.
settings-general-fk_settings-vive_emulation-title = Giả lập tracker Vive
settings-general-fk_settings-vive_emulation-description = Giả lập cách tracker của Vive gặp vấn đề với việc theo dõi eo, đây là 1 tính năng được làm cho vui và sẽ làm giảm độ chính xác
settings-general-fk_settings-vive_emulation-label = Giả lập tracker Vive
## Gesture control settings (tracker tapping)
@@ -485,6 +490,9 @@ settings-general-interface-feedback_sound-volume = Âm lượng phản hồi
settings-general-interface-connected_trackers_warning = Cảnh báo với thiết bị đã kết nối
settings-general-interface-connected_trackers_warning-description = Tùy chọn này sẽ hiển thị cửa sổ bật lên mỗi khi bạn thử thoát khỏi SlimeVR trong khi có một hoặc nhiều thiết bị theo dõi được kết nối. Nó nhắc nhở bạn tắt trình theo dõi khi bạn hoàn tất để duy trì tuổi thọ pin.
settings-general-interface-connected_trackers_warning-label = Cảnh báo thiết bị đã kết nối khi thoát chương trình
## Behavior settings
settings-general-interface-use_tray = Thu nhỏ vào khay hệ thống
settings-general-interface-use_tray-description = Cho phép bạn đóng cửa sổ mà không cần đóng máy chủ SlimeVR để bạn có thể tiếp tục sử dụng nó mà không bị GUI làm phiền.
settings-general-interface-use_tray-label = Thu nhỏ vào khay hệ thống
@@ -514,7 +522,6 @@ settings-serial-factory_reset-warning =
Đặt lại bao gồm tất cả các cài đặt Wi-Fi và hiệu chuẩn (Calibrate) <b>sẽ bị mất!</b>
settings-serial-factory_reset-warning-ok = Tôi biết mình đang làm gì
settings-serial-factory_reset-warning-cancel = Hủy
settings-serial-get_infos = Lấy thông tin
settings-serial-serial_select = Chọn cổng Serial
settings-serial-auto_dropdown_item = Tự động
settings-serial-get_wifi_scan = Quét WiFi
@@ -601,12 +608,6 @@ settings-osc-vmc-network-address-description = Chọn địa chỉ để gửi d
settings-osc-vmc-network-address-placeholder = Địa chỉ IPV4
settings-osc-vmc-vrm = Model VRM
settings-osc-vmc-vrm-description = Tải mô hình VRM để cho phép neo đầu và cho phép khả năng tương thích cao hơn với các ứng dụng khác.
settings-osc-vmc-vrm-model_unloaded = Chưa có mô hình tải lên
settings-osc-vmc-vrm-model_loaded =
{ $titled ->
[true] Mô hình đã được tải: { $name }
*[other] Mô hình chưa có tiêu đề đã được tải
}
settings-osc-vmc-vrm-file_select = Kéo và thả mô hình để sử dụng hoặc <u>duyệt file</u>
settings-osc-vmc-anchor_hip = Cố định ở hông
settings-osc-vmc-anchor_hip-description = Cố định theo dõi ở hông, hữu ích cho VTubing ngồi. Nếu tắt, hãy tải mô hình VRM.
@@ -615,6 +616,9 @@ settings-osc-vmc-mirror_tracking = Phản chiếu ngược theo dõi cơ thể
settings-osc-vmc-mirror_tracking-description = Phản chiếu theo dõi theo chiều ngang.
settings-osc-vmc-mirror_tracking-label = Phản chiếu ngược theo dõi cơ thể
## Common OSC settings
## Advanced settings
settings-utils-advanced = Cài đặt mở rộng
@@ -622,8 +626,6 @@ settings-utils-advanced-reset-gui = Đặt lại cài đặt GUI
settings-utils-advanced-reset-all-label = Đặt lại tất cả
settings-utils-advanced-reset_warning-reset = Đặt lại cài đặt
settings-utils-advanced-reset_warning-cancel = Hủy
settings-utils-advanced-open_data = Thư mục dữ liệu
settings-utils-advanced-open_data-description = Mở thư mục dữ liệu của SlimeVR trong tệp, chứa các tệp cấu hình và logs.
settings-utils-advanced-open_data-label = Mở thư mục
## Setup/onboarding menu
@@ -721,17 +723,16 @@ onboarding-connect_tracker-connection_status-done = Đã kết nối đến máy
# if $amount is 0 then we say "No trackers connected"
onboarding-connect_tracker-connected_trackers =
{ $amount ->
[0] Không có tracker
[one] 1 tracker
*[other] { $amount } tracker
} đã giao
[0] Không có tracker đã giao
[one] 1 tracker đã giao
*[other] { $amount } tracker đã giao
}
onboarding-connect_tracker-next = Đã kết nối với tất cả tracker
## Tracker calibration tutorial
onboarding-calibration_tutorial = Hướng dẫn hiệu chuẩn IMU
onboarding-calibration_tutorial-subtitle = Cái này sẽ giúp giảm trôi trượt theo dõi!
onboarding-calibration_tutorial-description = Mỗi khi bạn bật thiết bị theo dõi, chúng cần nghỉ ngơi một lúc trên bề mặt phẳng để hiệu chỉnh. Hãy làm điều tương tự bằng cách nhấp vào nút "{ onboarding-calibration_tutorial-calibrate }", <b>và không di chuyển chúng!</b>
onboarding-calibration_tutorial-calibrate = Tôi đã đặt thiết bị theo dõi của mình lên bàn
onboarding-calibration_tutorial-status-waiting = Đang chờ bạn hoàn thành
onboarding-calibration_tutorial-status-calibrating = Đang hiệu chuẩn
@@ -758,10 +759,10 @@ onboarding-assign_trackers-description = Chọn vị trí bạn muốn gán trac
# $assigned (Number) - Trackers that have been assigned a body part
# $trackers (Number) - Trackers connected to the server
onboarding-assign_trackers-assigned =
{ $assigned } trên { $trackers ->
[one] 1 tracker
*[other] { $trackers } tracker
} đã giao
{ $trackers ->
[one] { $assigned } trên 1 tracker đã giao
*[other] { $assigned } trên { $trackers } tracker đã giao
}
onboarding-assign_trackers-advanced = Xem thêm vị trí đặt
onboarding-assign_trackers-next = Hoàn thành
onboarding-assign_trackers-mirror_view = Xem hình phản chiếu
@@ -866,7 +867,7 @@ onboarding-choose_mounting-manual_mounting-label-v2 = Có thể không đủ ch
onboarding-choose_mounting-manual_mounting-description = Điều này sẽ cho phép bạn chọn hướng lắp theo cách thủ công cho từng thiết bị
# Multiline text
onboarding-choose_mounting-manual_modal-title =
Bạn có chắc chắn muốn
Bạn có chắc chắn muốn
đo hướng quay tự động?
onboarding-choose_mounting-manual_modal-description = <b>Hiệu chuẩn lắp thủ công được khuyến nghị cho người dùng mới</b>, vì các tư thế của hiệu chuẩn lắp tự động có thể khó thực hiện ngay trước và có thể cần một số thực hành.
onboarding-choose_mounting-manual_modal-confirm = Tôi chắc chắn về những gì tôi đang làm
@@ -895,44 +896,14 @@ onboarding-automatic_mounting-mounting_reset-title = Đặt lại hướng gắn
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Đứng khom người như tư thế trượt tuyết với đầu gối khom lại, thân trên hướng tới trước và hai tay co lại để giữ thăng bằng như hình bên
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Nhấn nút đặt lại và chờ 3 giây trước khi hệ thống cân chỉnh hướng gắn tracker
onboarding-automatic_mounting-preparation-title = Chuẩn bị tư thế
onboarding-automatic_mounting-preparation-step-0 = 1. Đứng thẳng với hai tay duỗi thẳng
onboarding-automatic_mounting-preparation-step-1 = 2. Nhấn nút đặt lại và chờ 3 giây trước khi tracker được đặt lại.
onboarding-automatic_mounting-put_trackers_on-title = Đeo tracker lên người
onboarding-automatic_mounting-put_trackers_on-description = Để cân chỉnh hướng gắn của tracker, SlimeVR sẽ tiến hành đo góc nghiêng của tracker khi đang đeo để cân chỉnh hướng gắn, hãy đeo tracker theo đúng vị trí đã thiết lập
onboarding-automatic_mounting-put_trackers_on-next = Tiếp tục
## Tracker proportions method choose
onboarding-choose_proportions = Phương pháp hiệu chuẩn tỷ lệ nào để sử dụng?
# Multiline string
onboarding-choose_proportions-description-v1 =
Tỷ lệ cơ thể được sử dụng để biết các số đo của cơ thể bạn. Họ được yêu cầu tính toán vị trí của trình theo dõi.
Khi tỷ lệ cơ thể của bạn không khớp với tỷ lệ được lưu, độ chính xác theo dõi của bạn sẽ kém hơn và bạn sẽ nhận thấy những thứ như trượt băng hoặc trượt, hoặc cơ thể của bạn không khớp với hình đại diện của bạn.
<b>Bạn chỉ cần đo cơ thể của bạn một lần!</b> Trừ khi chúng sai hoặc cơ thể bạn đã thay đổi, thì bạn không cần phải làm lại.
onboarding-choose_proportions-auto_proportions = Đo kích thước cơ thể tự động
# Italicized text
onboarding-choose_proportions-auto_proportions-subtitle = Khuyến khích dùng
onboarding-choose_proportions-auto_proportions-descriptionv3 =
Tính năng này sẽ đoán tỷ lệ cơ thể của bạn bằng cách ghi lại một mẫu chuyển động của bạn và chuyển nó qua một thuật toán.
<b>Tính năng này sẽ yêu cầu headset của bạn (HMD) được kết nối với SlimeVR và đang nằm ở trên đầu của bạn!</b>
onboarding-choose_proportions-manual_proportions = Đo kích thước cơ thể thủ công
# Italicized text
onboarding-choose_proportions-manual_proportions-subtitle = Cho chính xác
onboarding-choose_proportions-manual_proportions-description = Tính năng này sẽ cho phép bạn điều chỉnh tỉ lệ cơ thể của mình theo cách thủ công bằng cách chỉnh sửa các con số một cách trực tiếp
onboarding-choose_proportions-export = Xuất tỉ lệ cơ thể
onboarding-choose_proportions-import = Nhập tỉ lệ cơ thể
onboarding-choose_proportions-import-success = Đã được nhập
onboarding-choose_proportions-import-failed = Thất bại
onboarding-choose_proportions-file_type = File tỉ lệ cơ thể
## Tracker manual proportions setup
## Tracker manual proportions setupa
onboarding-manual_proportions-back = Quay lại cân chỉnh hướng gắn
onboarding-manual_proportions-title = Đo kích thước cơ thể thủ công
onboarding-manual_proportions-precision = Cân chỉnh cụ thể (giảm hệ số chỉnh)
onboarding-manual_proportions-auto = Đo kích thước cơ thể tự động
onboarding-manual_proportions-ratio = Điều chỉnh theo nhóm tỷ lệ
## Tracker automatic proportions setup
@@ -953,20 +924,11 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
Headset của bạn đang báo cáo dữ liệu vị trí cho máy chủ SlimeVR (điều này thường có nghĩa là SteamVR đang chạy và kết nối với SlimeVR bằng driver SteamVR của SlimeVR).
Tracking của bạn đang hoạt động và thể hiện chính xác các chuyển động của bạn (ví dụ: bạn đã thực hiện thiết đặt lại hoàn toàn và chúng di chuyển đúng hướng khi đá, cúi xuống, ngồi, v.v.).
onboarding-automatic_proportions-requirements-next = Tôi đã đọc các yêu cầu
onboarding-automatic_proportions-check_height-title = Kiểm tra chiều cao của bạn
onboarding-automatic_proportions-check_height-description = Chúng tôi sử dụng chiều cao của bạn làm cơ sở cho các phép đo của chúng tôi bằng cách sử dụng chiều cao của headset (HMD) làm chiều cao ước tính thực tế của bạn, nhưng tốt hơn hết bạn nên tự kiểm tra xem chúng có đúng không!
# All the text is in bold!
onboarding-automatic_proportions-check_height-calculation_warning = Vui lòng nhấn nút trong khi đứng <u>thẳng</u> để tính chiều cao của bạn. Bạn có 3 giây sau khi nhấn nút!
onboarding-automatic_proportions-check_height-guardian_tip =
Nếu bạn đang sử dụng Kính VR Standalone, hãy đảm bảo có guardian /
Ranh giới được bật để chiều cao của bạn là chính xác!
onboarding-automatic_proportions-check_height-fetch_height = Tôi đang đứng!
# Context is that the height is unknown
onboarding-automatic_proportions-check_height-unknown = Không rõ
# Shows an element below it
onboarding-automatic_proportions-check_height-hmd_height1 = Chiều cao của HMD là
# Shows an element below it
onboarding-automatic_proportions-check_height-height1 = vậy chiều cao thật của bạn là
onboarding-automatic_proportions-check_height-next_step = Những chỉ số này là đúng
onboarding-automatic_proportions-start_recording-title = Chuẩn bị đo
onboarding-automatic_proportions-start_recording-description = Phần mềm sẽ đo một số chuyển động, cử chỉ cụ thể, hãy chuẩn bị cho việc di chuyển theo yêu cầu trong phần tiếp theo
@@ -997,11 +959,17 @@ onboarding-automatic_proportions-verify_results-redo = Thử lại
onboarding-automatic_proportions-verify_results-confirm = Kết quả tương đối chính xác
onboarding-automatic_proportions-done-title = Đã lưu chỉ số đo
onboarding-automatic_proportions-done-description = Quá trình đo đã hoàn tất
onboarding-automatic_proportions-error_modal =
<b>Lưu ý:</b> Một lỗi đã được tìm thấy trong khi ước tính tỷ lệ cơ thể!
Vui lòng <docs>kiểm tra hướng dẫn</docs> hoặc tham gia <discord>Discord</discord> của chúng tôi để được trợ giúp ^_^
onboarding-automatic_proportions-error_modal-confirm = Đã hiểu!
## Tracker scaled proportions setup
## Tracker scaled proportions reset
## Stay Aligned setup
## Home
home-no_trackers = Chưa có thiết bị nào được phát hiện hoặc điều ra
@@ -1026,6 +994,21 @@ status_system-StatusSteamVRDisconnected =
status_system-StatusTrackerError = Tracker { $trackerName } có lỗi.
status_system-StatusUnassignedHMD = Kính thực tế ảo VR này nên được giao là bộ theo dõi đầu.
## Firmware tool globals
## Firmware tool Steps
## firmware tool build status
## Firmware update status
## Dedicated Firmware Update Page
## Tray Menu
tray_menu-show = Xem
@@ -1053,3 +1036,6 @@ unknown_device-modal-description =
Bạn có muốn kết nối nó với SlimeVR không?
unknown_device-modal-confirm = Chắc!
unknown_device-modal-forget = Bỏ qua
## Error collection consent modal

View File

@@ -95,6 +95,8 @@ board_type-WEMOSD1MINI = Wemos D1 Mini
board_type-TTGO_TBASE = TTGO T-Base
board_type-ESP01 = ESP-01
board_type-SLIMEVR = SlimeVR
board_type-SLIMEVR_DEV = SlimeVR 开发板
board_type-SLIMEVR_V1_2 = SlimeVR v1.2
board_type-LOLIN_C3_MINI = Lolin C3 Mini
board_type-BEETLE32C3 = Beetle ESP32-C3
board_type-ESP32C3DEVKITM1 = Espressif ESP32-C3 DevKitM-1
@@ -233,6 +235,8 @@ reset-reset_all_warning_default-v2 =
您确定要执行此操作吗?
reset-full = 完整重置
reset-mounting = 重置佩戴
reset-mounting-feet = 重置脚部佩戴
reset-mounting-fingers = 重置手指佩戴
reset-yaw = 重置航向轴
## Serial detection stuff
@@ -258,6 +262,7 @@ navbar-settings = 设置
bvh-start_recording = 录制 BVH 文件
bvh-recording = 录制中...
bvh-save_title = 保存BVH记录
## Tracking pause
@@ -392,9 +397,11 @@ tracker-settings-name_section-label = 追踪器名称
tracker-settings-forget = 忘记追踪器
tracker-settings-forget-description = 从 SlimeVR 服务器中移除该追踪器,并在服务器重启前不再连接这一追踪器。追踪器的配置信息不会被清除。
tracker-settings-forget-label = 忘记追踪器
tracker-settings-update-unavailable = 无法升级DIY
tracker-settings-update-unavailable-v2 = 未找到可用版本
tracker-settings-update-incompatible = 电路板不兼容,无法升级。
tracker-settings-update-low-battery = 无法更新。当前电池电量低于 50%
tracker-settings-update-up_to_date = 已是最新
tracker-settings-update-blocked = 更新不可用。没有其他可用版本
tracker-settings-update-available = { $versionName } 现在可用
tracker-settings-update = 立即更新
tracker-settings-update-title = 固件版本
@@ -539,7 +546,7 @@ settings-general-tracker_mechanics-drift_compensation-prediction-description =
适用于追踪器在偏航轴上持续旋转的场景。
settings-general-tracker_mechanics-drift_compensation-prediction-label = 预测式漂移补偿
settings-general-tracker_mechanics-drift_compensation_warning =
<b>警告:</b> 仅在需要经常重置偏航角
<b>警告:</b> 仅在需要经常重置偏航角
(大概5~10分钟左右需要重置一次) 时使用漂移补偿。
一些可能需要此补偿的 IMU 包括:
@@ -573,6 +580,7 @@ settings-stay_aligned-relaxed_poses-sitting = 椅子上放松姿势
settings-stay_aligned-relaxed_poses-flat = 地面/平躺放松姿势
settings-stay_aligned-relaxed_poses-save_pose = 保存姿势
settings-stay_aligned-relaxed_poses-reset_pose = 重置姿势
settings-stay_aligned-relaxed_poses-close = 关闭
settings-stay_aligned-debug-label = 调试
settings-stay_aligned-debug-description = 在报告持续校准相关问题时,请包含您的以下设置信息
settings-stay_aligned-debug-copy-label = 复制设置信息到剪贴板
@@ -597,13 +605,16 @@ 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-leg_fk-reset_mounting_feet-description-v1 = 在进行普通佩戴重置时强制进行脚部佩戴重置。
settings-general-fk_settings-leg_fk-reset_mounting_feet-v1 = 强制脚部佩戴重置
settings-general-fk_settings-enforce_joint_constraints = 骨骼限制
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = 强制约束
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = 避免关节旋转超过人体骨骼角度限制
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = 使用约束修正
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = 当关节旋转超过人体骨骼角度限制时进行修正
settings-general-fk_settings-ik = 位置数据
settings-general-fk_settings-ik-use_position = 使用位置数据
settings-general-fk_settings-ik-use_position-description = 若追踪器支持,使用来自追踪器的位置数据。启用后,请再次进行完全重置并在游戏中重新校准追踪器。
settings-general-fk_settings-arm_fk = 手臂追踪
settings-general-fk_settings-arm_fk-description = 即使有手臂位置数据可用,也强制使用头显的数据追踪手臂。
settings-general-fk_settings-arm_fk-force_arms = 强制使用头显数据追踪手臂
@@ -705,9 +716,6 @@ settings-general-interface-connected_trackers_warning-label = 退出时,有追
## Behavior settings
settings-interface-behavior = 行为
settings-general-interface-dev_mode = 开发者模式
settings-general-interface-dev_mode-description = 如果你需要深入的资料或对连接的追踪器进行进阶调整,开启此模式将会非常有用。
settings-general-interface-dev_mode-label = 开发者模式
settings-general-interface-use_tray = 最小化至任务栏
settings-general-interface-use_tray-description = 关闭 SlimeVR 窗口时SlimeVR 服务器将会隐藏至任务栏图标而不会直接退出,可以继续使用。
settings-general-interface-use_tray-label = 最小化至任务栏
@@ -727,6 +735,9 @@ settings-interface-behavior-error_tracking-description_v2 =
为了提供最佳用户体验,我们会收集匿名错误报告、性能指标和操作系统信息。这有助于我们检测 SlimeVR 的错误和问题。这些指标将通过 Sentry.io 收集。
settings-interface-behavior-error_tracking-label = 向开发人员发送错误信息
settings-interface-behavior-bvh_directory = BVH记录保存目录
settings-interface-behavior-bvh_directory-description = 选择保存BVH记录文件的目录
settings-interface-behavior-bvh_directory-label = BVH记录保存目录
## Serial settings
@@ -745,12 +756,16 @@ settings-serial-factory_reset-warning =
这意味着 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
settings-serial-file_type = 纯文本
settings-serial-save_logs = 保存到文件
settings-serial-send_command = 发送
settings-serial-send_command-placeholder = 输入指令...
settings-serial-send_command-warning = <b>警告:</b>运行串口命令可能导致数据丢失或使追踪器无法正常工作。
settings-serial-send_command-warning-ok = 我已知晓
settings-serial-send_command-warning-cancel = 取消
## OSC router settings
@@ -847,6 +862,11 @@ settings-osc-vmc-mirror_tracking = 镜像追踪
settings-osc-vmc-mirror_tracking-description = 水平镜像追踪结果
settings-osc-vmc-mirror_tracking-label = 镜像追踪
## Common OSC settings
settings-osc-common-network-ports_match_error = OSC路由的输入和输出端口不能相同
settings-osc-common-network-port_banned_error = 无法使用端口{ $port } !
## Advanced settings
settings-utils-advanced = 高级选项
@@ -997,7 +1017,7 @@ onboarding-connect_tracker-next = 所有的追踪器都连接好了
onboarding-calibration_tutorial = IMU校准教程
onboarding-calibration_tutorial-subtitle = 这将有助于减少追踪器漂移!
onboarding-calibration_tutorial-description = 每次开启追踪器时,它们都需要在平坦的表面上放置片刻以进行校准。你也可以通过点击“{ onboarding-calibration_tutorial-calibrate }”按钮来手动校准, <b>校准过程中不要移动追踪器!</b>
onboarding-calibration_tutorial-description-v1 = 打开追踪器后,将它们放在稳定的平面上一段时间,以便进行校准。追踪器开机后可随时进行校准 - 本页仅是一个校准教程。首先,点击 “{ onboarding-calibration_tutorial-calibrate }” 按钮,然后 <b>不要移动您的追踪器!</b>
onboarding-calibration_tutorial-calibrate = 我已经把追踪器放在桌子上了
onboarding-calibration_tutorial-status-waiting = 等待你的操作
onboarding-calibration_tutorial-status-calibrating = 校准中
@@ -1161,6 +1181,7 @@ onboarding-automatic_mounting-preparation-v2-step-2 = 3. 保持姿势,直到 3
onboarding-automatic_mounting-put_trackers_on-title = 穿戴好追踪器
onboarding-automatic_mounting-put_trackers_on-description = 为了校准佩戴方向,我们将使用你刚才分配的追踪器。戴上你所有的追踪器,你可以在右边的图中看到哪个追踪器对应哪个。
onboarding-automatic_mounting-put_trackers_on-next = 所有的追踪器都已开启!
onboarding-automatic_mounting-return-home = 完成
## Tracker manual proportions setupa
@@ -1301,13 +1322,13 @@ onboarding-stay_aligned-preparation-title = 准备
onboarding-stay_aligned-preparation-tip = 站直并向前看,双臂放在身体两侧。
onboarding-stay_aligned-relaxed_poses-standing-title = 站立放松姿势
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. 以舒适的姿势站立并放松。
onboarding-stay_aligned-relaxed_poses-standing-step-2 = 3. 按下“检测姿势”按钮。
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. 按下“保存姿势”按钮。
onboarding-stay_aligned-relaxed_poses-sitting-title = 椅子上放松姿势
onboarding-stay_aligned-relaxed_poses-sitting-step-0 = 1. 以舒适的姿势坐下并放松。
onboarding-stay_aligned-relaxed_poses-sitting-step-2 = 3. 按下“检测姿势”按钮。
onboarding-stay_aligned-relaxed_poses-sitting-step-1-v2 = 2. 按下“保存姿势”按钮。
onboarding-stay_aligned-relaxed_poses-flat-title = 地面/平躺放松姿势
onboarding-stay_aligned-relaxed_poses-flat-step-0 = 1. 以舒适的姿势坐或躺在地面上,保持腿在前方并放松。
onboarding-stay_aligned-relaxed_poses-flat-step-2 = 3. 按下“检测姿势”按钮。
onboarding-stay_aligned-relaxed_poses-flat-step-1-v2 = 2. 按下“保存姿势”按钮。
onboarding-stay_aligned-relaxed_poses-skip_step = 跳过
onboarding-stay_aligned-done-title = 持续校准已开启!
onboarding-stay_aligned-done-description = 持续校准已设定完成!
@@ -1356,68 +1377,30 @@ firmware_tool = DIY固件工具
firmware_tool-description = 允许您配置和烧录 DIY 追踪器固件
firmware_tool-not_available = 哦不,固件工具目前不可用。稍后再来!
firmware_tool-not_compatible = 固件工具与此版本的服务端不兼容。请更新您的服务端!
firmware_tool-board_step = 选择您的开发板
firmware_tool-board_step-description = 选择下列开发板之一
firmware_tool-board_pins_step = 检查引脚
firmware_tool-board_pins_step-description =
请验证所选引脚是否正确。
如果您遵循了 SlimeVR 文档,则默认值应该是正确的
firmware_tool-board_pins_step-enable_led = 启用 LED
firmware_tool-board_pins_step-led_pin =
.label = LED 引脚
.placeholder = 输入LED引脚的编号
firmware_tool-board_pins_step-battery_type = 选择电池测量电路类型
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = 使用外接电阻与片内ADC测量默认
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = 使用片内低电量告警电路
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = 使用片内低电量告警电路与外接MCP3021测量
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = 使用外接MCP3021测量
firmware_tool-board_pins_step-battery_sensor_pin =
.label = 电池检测引脚
.placeholder = 输入电池检测引脚的编号
firmware_tool-board_pins_step-battery_resistor =
.label = 电池外接串联电阻(欧姆)
.placeholder = 输入电池串联电阻的阻值
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = 开发板载对地分压电阻R1欧姆
.placeholder = 请输入开发板载对地分压电阻 R1 的值。
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = 开发板载对输入分压电阻 R2欧姆
.placeholder = 请输入开发板载对输入分压电阻 R2 的值。
firmware_tool-add_imus_step = 添加您的 IMU
firmware_tool-add_imus_step-description =
请添加您的追踪器所配备的 IMU 传感器。
如果您遵循了 SlimeVR 文档,默认值应该是正确的。
firmware_tool-add_imus_step-imu_type-label = IMU 类型
firmware_tool-add_imus_step-imu_type-placeholder = 选择 IMU 类型
firmware_tool-add_imus_step-imu_rotation =
.label = 追踪器旋转(度)
.placeholder = 追踪器旋转角度
firmware_tool-add_imus_step-scl_pin =
.label = SCL 引脚
.placeholder = SCL 引脚编号
firmware_tool-add_imus_step-sda_pin =
.label = SDA 引脚
.placeholder = SDA 引脚编号
firmware_tool-add_imus_step-int_pin =
.label = INT 引脚
.placeholder = INT 引脚编号
firmware_tool-add_imus_step-optional_tracker =
.label = 此 IMU 为可选扩展
firmware_tool-add_imus_step-show_less = 显示更少
firmware_tool-add_imus_step-show_more = 显示更多
firmware_tool-add_imus_step-add_more = 添加更多 IMU
firmware_tool-select_firmware_step = 选择固件版本
firmware_tool-select_firmware_step-description = 请选择您要使用的固件版本
firmware_tool-select_firmware_step-show-third-party =
.label = 显示第三方固件
firmware_tool-select_source = 选择要刷写的固件
firmware_tool-select_source-description = 选择要在电路板上刷写的固件
firmware_tool-select_source-error = 无法加载固件来源
firmware_tool-select_source-board_type = 电路板类型
firmware_tool-select_source-firmware = 固件来源
firmware_tool-select_source-version = 固件版本
firmware_tool-select_source-official = 官方
firmware_tool-select_source-dev = 开发版
firmware_tool-board_defaults = 配置电路板
firmware_tool-board_defaults-description = 设置引脚与其他和硬件相关的配置
firmware_tool-board_defaults-add = 新增
firmware_tool-board_defaults-reset = 恢复默认设置
firmware_tool-board_defaults-error-required = 必填字段
firmware_tool-board_defaults-error-format = 格式无效
firmware_tool-board_defaults-error-format-number = 不是数字
firmware_tool-flash_method_step = 固件烧录方式
firmware_tool-flash_method_step-description = 请选择您要使用的固件烧录方式
firmware_tool-flash_method_step-ota =
.label = OTA
.description = 使用无线方式。的追踪器将通过 Wi-Fi 更新固件。仅适用于已设置的追踪器。
firmware_tool-flash_method_step-serial =
.label = 串口
.description = 使用 USB 数据线更新您的追踪器。
firmware_tool-flash_method_step-ota-v2 =
.label = Wi-Fi
.description = 选择无线OTA更新方式。的追踪器将会使用Wi-Fi更新固件。只在已设置完成的追踪器上生效
firmware_tool-flash_method_step-ota-info = 将会使用你的Wi-Fi凭证来刷写追踪器的固件并确保一切正常。<b>我们不会存储你的Wi-Fi凭证!</b>
firmware_tool-flash_method_step-serial-v2 =
.label = USB
.description = 使用USB线连接来更新你的追踪器。
firmware_tool-flashbtn_step = 按下启动/Boot按钮
firmware_tool-flashbtn_step-description = 在进入下一步之前,您需要做几件事情。
firmware_tool-flashbtn_step-board_SLIMEVR = 关闭追踪器,拆下外壳(如果有的话),使用 USB 数据线连接到计算机,然后根据您的 SlimeVR 电路板版本执行以下步骤之一:
@@ -1425,12 +1408,14 @@ firmware_tool-flashbtn_step-board_SLIMEVR-r11 = 在短接电路板正面边缘
firmware_tool-flashbtn_step-board_SLIMEVR-r12 = 在短接电路板正面圆形 FLASH 焊盘和单片机模块的金属屏蔽罩的时候,打开追踪器电源。
firmware_tool-flashbtn_step-board_SLIMEVR-r14 = 在按住电路板正面的 FLASH 按钮的时候,打开追踪器的电源。
firmware_tool-flashbtn_step-board_OTHER =
在烧录固件之前您可能需要将追踪器置于bootloader模式。
通常这意味着在开始固件烧录过程之前,按下板上的引导/boot按钮。
如果固件烧录过程在开始时超时这通常表示追踪器没有处于bootloader模式。
在烧录固件之前您可能需要将追踪器置于bootloader模式。
通常这意味着在开始固件烧录过程之前,按下板上的引导/boot按钮。
如果固件烧录过程在开始时超时这通常表示追踪器没有处于bootloader模式。
请参考您的追踪器电路板的固件烧录说明了解如何进入bootloader模式。
firmware_tool-flash_method_ota-title = 通过Wi-Fi刷写
firmware_tool-flash_method_ota-devices = 检测到的 OTA 设备:
firmware_tool-flash_method_ota-no_devices = 没有可以使用 OTA 更新的电路板,请确保选择了正确的电路板类型
firmware_tool-flash_method_serial-title = 通过USB刷写
firmware_tool-flash_method_serial-wifi = Wi-Fi 凭证:
firmware_tool-flash_method_serial-devices-label = 检测到的串口设备:
firmware_tool-flash_method_serial-devices-placeholder = 选择串口设备
@@ -1445,10 +1430,10 @@ firmware_tool-flashing_step-exit = 退出
## firmware tool build status
firmware_tool-build-QUEUED = 等待构建中....
firmware_tool-build-CREATING_BUILD_FOLDER = 正在创建 build 文件夹
firmware_tool-build-DOWNLOADING_FIRMWARE = 正在下载固件源文件
firmware_tool-build-EXTRACTING_FIRMWARE = 正在解压固件
firmware_tool-build-SETTING_UP_DEFINES = 正在配置固件 define 参数
firmware_tool-build-DOWNLOADING_SOURCE = 正在下载源代码
firmware_tool-build-EXTRACTING_SOURCE = 正在解压源代码
firmware_tool-build-BUILDING = 正在构建固件
firmware_tool-build-SAVING = 正在保存构建结果
firmware_tool-build-DONE = 构建完成

View File

@@ -239,6 +239,8 @@ reset-reset_all_warning_default-v2 =
確定要繼續嗎?
reset-full = 完整重置
reset-mounting = 配戴重置
reset-mounting-feet = 重置腳部配戴
reset-mounting-fingers = 重置手指配戴
reset-yaw = 左右偏擺重置
## Serial detection stuff
@@ -264,6 +266,7 @@ navbar-settings = 詳細設定
bvh-start_recording = 錄製 BVH 檔案
bvh-recording = 錄製中…
bvh-save_title = 儲存 BVH 紀錄
## Tracking pause
@@ -398,9 +401,9 @@ tracker-settings-name_section-label = 追蹤器名稱
tracker-settings-forget = 忘記追蹤器
tracker-settings-forget-description = 從 SlimeVR 伺服器程式中移除該追蹤器,且直到重新啟動伺服器前不會再次連接。該追蹤器的設定不會遺失。
tracker-settings-forget-label = 忘記追蹤器
tracker-settings-update-unavailable = 無法更新 (DIY)
tracker-settings-update-low-battery = 無法更新,電池電量低於 50%
tracker-settings-update-up_to_date = 已為最新版本
tracker-settings-update-blocked = 無法更新,沒有其他可用版本。
tracker-settings-update-available = 版本 { $versionName } 可供更新
tracker-settings-update = 立即更新
tracker-settings-update-title = 韌體版本
@@ -604,8 +607,8 @@ 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-leg_fk-reset_mounting_feet-description-v1 = 使用普通的配戴重置時,強制重置腳部配戴
settings-general-fk_settings-leg_fk-reset_mounting_feet-v1 = 強制重置腳部配戴
settings-general-fk_settings-enforce_joint_constraints = 骨架限制
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints = 約束關節旋轉
settings-general-fk_settings-enforce_joint_constraints-enforce_constraints-description = 避免關節旋轉超出極限
@@ -712,9 +715,6 @@ settings-general-interface-connected_trackers_warning-label = 當退出程式時
## Behavior settings
settings-interface-behavior = 行為
settings-general-interface-dev_mode = 開發者模式
settings-general-interface-dev_mode-description = 本功能會提供更深入的資料,也能與已連線的追蹤器進行更進一步的控制。
settings-general-interface-dev_mode-label = 開發者模式
settings-general-interface-use_tray = 最小化到系統列
settings-general-interface-use_tray-description = 本選項可以讓你在關閉視窗時不會關閉 SlimeVR 的伺服器程式,讓你在不受圖形介面的打擾下繼續使用追蹤器。
settings-general-interface-use_tray-label = 最小化到系統列
@@ -734,6 +734,9 @@ settings-interface-behavior-error_tracking-description_v2 =
為了提供最佳的使用者體驗,我們會蒐集匿名化的錯誤報告、性能指標和作業系統資訊,這會對我們檢測 SlimeVR 的錯誤和問題有所幫助。我們會透過 Sentry.io 來蒐集這些指標。
settings-interface-behavior-error_tracking-label = 向開發者傳送錯誤資訊
settings-interface-behavior-bvh_directory = BVH 紀錄儲存目錄
settings-interface-behavior-bvh_directory-description = 選擇儲存 BVH 紀錄文件的目錄,如此每次錄製 BVH 時不需要選擇儲存位置。
settings-interface-behavior-bvh_directory-label = 存放 BVH 紀錄的目錄
## Serial settings
@@ -750,7 +753,6 @@ settings-serial-factory_reset-warning =
亦即其 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 = 取得 Wi-Fi 掃描
@@ -850,6 +852,9 @@ settings-osc-vmc-mirror_tracking = 鏡像追蹤
settings-osc-vmc-mirror_tracking-description = 將追蹤的結果水平鏡像。
settings-osc-vmc-mirror_tracking-label = 鏡像追蹤
## Common OSC settings
## Advanced settings
settings-utils-advanced = 進階
@@ -879,8 +884,8 @@ settings-utils-advanced-reset_warning-cancel = 取消
settings-utils-advanced-open_data-v1 = 設定資料夾
settings-utils-advanced-open_data-description-v1 = 在檔案管理器中開啟 SlimeVR 的設定資料夾,該資料夾包含程式的設定。
settings-utils-advanced-open_data-label = 打開資料夾
settings-utils-advanced-open_logs = 錄檔資料夾
settings-utils-advanced-open_logs-description = 在檔案管理器中開啟 SlimeVR 的錄檔資料夾,該資料夾包含程式的錄檔。
settings-utils-advanced-open_logs = 錄檔資料夾
settings-utils-advanced-open_logs-description = 在檔案管理器中開啟 SlimeVR 的錄檔資料夾,該資料夾包含程式的錄檔。
settings-utils-advanced-open_logs-label = 打開資料夾
## Setup/onboarding menu
@@ -1000,7 +1005,7 @@ onboarding-connect_tracker-next = 所有的追蹤器都連接好了
onboarding-calibration_tutorial = IMU 校正教學
onboarding-calibration_tutorial-subtitle = 進行這項操作可以有效減少追蹤器發生飄移的機會
onboarding-calibration_tutorial-description = 每次在打開追蹤器開關時,需要將追蹤器平置一下來進行自動校正。你也可以透過按下「{ onboarding-calibration_tutorial-calibrate }」按鈕來進行手動校正,<b>校正過程中請勿移動追蹤器</b>
onboarding-calibration_tutorial-description-v1 = 開啟追蹤器開關後,將其放置在穩定的平面上一段時間以便進行校正。本頁僅提供操作教學——追蹤器電源開啟後即可隨時進行校正,無須回到本頁進行。首先請點選「{ onboarding-calibration_tutorial-calibrate }」按鈕,然後<b>不要移動追蹤器</b>
onboarding-calibration_tutorial-calibrate = 追蹤器已經放置在桌上了
onboarding-calibration_tutorial-status-waiting = 正在等待你完成動作
onboarding-calibration_tutorial-status-calibrating = 校正中
@@ -1164,6 +1169,7 @@ onboarding-automatic_mounting-preparation-v2-step-2 = 3. 保持姿勢直到 3
onboarding-automatic_mounting-put_trackers_on-title = 請戴好追蹤器
onboarding-automatic_mounting-put_trackers_on-description = 為了校準配戴方向,我們將使用剛才分配的追蹤器。戴上你所有的追蹤器,你可以在右邊的圖中看到追蹤器的對應部位。
onboarding-automatic_mounting-put_trackers_on-next = 我所有的追蹤器都戴好了!
onboarding-automatic_mounting-return-home = 完成
## Tracker manual proportions setupa
@@ -1359,68 +1365,8 @@ firmware_tool = DIY 韌體工具
firmware_tool-description = 本工具可以配置與燒錄 DIY 追蹤器
firmware_tool-not_available = 唉呀,現在韌體工具無法使用。請稍後再來!
firmware_tool-not_compatible = 韌體工具與這個版本的伺服器不相容。請更新伺服器!
firmware_tool-board_step = 選擇主板
firmware_tool-board_step-description = 請從以下列出的主板選擇一個。
firmware_tool-board_pins_step = 檢查腳位
firmware_tool-board_pins_step-description =
請檢查以下選擇的腳位是正確的。
若是照著 SlimeVR 的教學來製作追蹤器,預設值應該是正確的
firmware_tool-board_pins_step-enable_led = 設定 LED
firmware_tool-board_pins_step-led_pin =
.label = LED 腳位
.placeholder = 輸入 LED 腳位位址
firmware_tool-board_pins_step-battery_type = 選擇電池測量電路類型
firmware_tool-board_pins_step-battery_type-BAT_EXTERNAL = 使用外接電阻與板內 ADC 測量(預設)
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL = 使用板內低電量警示電路
firmware_tool-board_pins_step-battery_type-BAT_INTERNAL_MCP3021 = 板內電路 + MCP3021
firmware_tool-board_pins_step-battery_type-BAT_MCP3021 = 使用外接 MCP3021 測量
firmware_tool-board_pins_step-battery_sensor_pin =
.label = 電量偵測腳位
.placeholder = 輸入電量偵測腳位位址
firmware_tool-board_pins_step-battery_resistor =
.label = 電池外接串連電阻(歐姆)
.placeholder = 輸入用於偵測電量的電阻阻值
firmware_tool-board_pins_step-battery_shield_resistor-0 =
.label = ADC 對地分壓 R1歐姆
.placeholder = 輸入開發板上 ADC 對地的分壓電阻阻值
firmware_tool-board_pins_step-battery_shield_resistor-1 =
.label = ADC 對輸入分壓 R2歐姆
.placeholder = 輸入開發板上 ADC 對輸入的分壓電阻阻值
firmware_tool-add_imus_step = 設定慣性測量單元 (IMU)
firmware_tool-add_imus_step-description =
請加入追蹤器所使用的 IMU
若是照著 SlimeVR 的教學來製作追蹤器,預設值應該是正確的
firmware_tool-add_imus_step-imu_type-label = IMU 類型
firmware_tool-add_imus_step-imu_type-placeholder = 選擇 IMU 的類型
firmware_tool-add_imus_step-imu_rotation =
.label = IMU 角度(度)
.placeholder = IMU 旋轉的角度
firmware_tool-add_imus_step-scl_pin =
.label = SCL 腳位
.placeholder = SCL 的腳位位址
firmware_tool-add_imus_step-sda_pin =
.label = SDA 腳位
.placeholder = SDA 腳位位址
firmware_tool-add_imus_step-int_pin =
.label = INT 腳位
.placeholder = INT 腳位位址
firmware_tool-add_imus_step-optional_tracker =
.label = 選配追蹤器
firmware_tool-add_imus_step-show_less = 顯示更少
firmware_tool-add_imus_step-show_more = 顯示更多
firmware_tool-add_imus_step-add_more = 新增更多 IMU
firmware_tool-select_firmware_step = 選擇韌體版本
firmware_tool-select_firmware_step-description = 請選擇要使用的韌體版本
firmware_tool-select_firmware_step-show-third-party =
.label = 顯示第三方韌體
firmware_tool-flash_method_step = 燒錄方法
firmware_tool-flash_method_step-description = 選擇要使用的燒錄方法
firmware_tool-flash_method_step-ota =
.label = OTA
.description = 透過 OTA無線更新追蹤器會透過 Wi-Fi 來更新韌體。僅適用於已燒錄的追蹤器。
firmware_tool-flash_method_step-serial =
.label = 串列埠
.description = 透過 USB 傳輸線更新追蹤器。
firmware_tool-flashbtn_step = 進入燒錄模式
firmware_tool-flashbtn_step-description = 在進入下一步前,請先進行以下操作
firmware_tool-flashbtn_step-board_SLIMEVR = 關閉追蹤器電源,移除外殼(若有的話),並用 USB 線連接到這台電腦上,然後根據你持有的 SlimeVR 追蹤器主板的版本,進行下述操作:
@@ -1449,9 +1395,6 @@ firmware_tool-flashing_step-exit = 離開
## firmware tool build status
firmware_tool-build-CREATING_BUILD_FOLDER = 正在建立建置資料夾
firmware_tool-build-DOWNLOADING_FIRMWARE = 正在下載韌體
firmware_tool-build-EXTRACTING_FIRMWARE = 正在解壓縮韌體
firmware_tool-build-SETTING_UP_DEFINES = 正在設定韌體參數
firmware_tool-build-BUILDING = 正在建置韌體
firmware_tool-build-SAVING = 正在儲存建置
firmware_tool-build-DONE = 建置完成

View File

@@ -28,14 +28,15 @@ shadow-rs = "0.35"
[dependencies]
serde_json = "1"
serde = { version = "1", features = ["derive"] }
tauri = { version = "2.0", features = ["devtools", "tray-icon", "image-png", "rustls-tls"] }
tauri-runtime = "2.0"
tauri-plugin-dialog = "2.0"
tauri-plugin-fs = "2.0"
tauri-plugin-os = "2.0"
tauri-plugin-shell = "2.0"
tauri-plugin-store = "2.0"
flexi_logger = "0.29"
tauri = { version = "2", features = ["devtools", "tray-icon", "image-png", "rustls-tls"] }
tauri-runtime = "2"
tauri-plugin-dialog = "2"
tauri-plugin-fs = "2"
tauri-plugin-http = "2"
tauri-plugin-opener = "2"
tauri-plugin-os = "2"
tauri-plugin-shell = "2"
tauri-plugin-store = "2"
log-panics = { version = "2", features = ["with-backtrace"] }
log = "0.4"
clap = { version = "4.0.29", features = ["derive"] }
@@ -54,6 +55,7 @@ dirs-next = "2.0.0"
discord-sdk = "0.3.6"
tokio = { version = "1.37.0", features = ["time"] }
itertools = "0.13.0"
tauri-plugin-log = "2"
[target.'cfg(windows)'.dependencies]
win32job = "1"

View File

@@ -19,6 +19,9 @@
"core:window:allow-set-decorations",
"store:default",
"os:allow-os-type",
"os:allow-hostname",
"os:allow-locale",
"dialog:allow-open",
"dialog:allow-save",
"shell:allow-open",
"store:allow-get",
@@ -29,7 +32,24 @@
"fs:allow-exists",
{
"identifier": "fs:scope",
"allow": [{ "path": "$APPDATA" }, { "path": "$APPDATA/**" }]
}
"allow": [
{
"path": "$APPDATA"
},
{
"path": "$APPDATA/**"
}
]
},
{
"identifier": "http:default",
"allow": [
{
"url": "https://github.com/SlimeVR/SlimeVR-Tracker-ESP/releases/download/*"
}
]
},
"opener:default",
"log:default"
]
}
}

View File

@@ -1,6 +1,6 @@
[Desktop Entry]
Version=1.5
Categories=Game;Development;GTK;
Categories=Game;GTK;
Exec={{exec}}
Icon={{icon}}

View File

@@ -53,6 +53,7 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
</description>
<launchable type="desktop-id">dev.slimevr.SlimeVR.desktop</launchable>
<launchable type="desktop-id">safe-mode.dev.slimevr.SlimeVR.desktop</launchable>
<screenshots>
<screenshot type="default" xml:lang="en">
<caption>The onboarding for the GUI</caption>
@@ -65,6 +66,12 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
</provides>
<releases>
<release version="0.16.2" date="2025-08-01"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.16.2</url></release>
<release version="0.16.1" date="2025-07-27"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.16.1</url></release>
<release version="0.16.1~rc.2" type="development" date="2025-07-17"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.16.1-rc.2</url></release>
<release version="0.16.1~rc.1" type="development" date="2025-07-04"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.16.1-rc.1</url></release>
<release version="0.16.0" date="2025-07-01"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.16.0</url></release>
<release version="0.16.0~rc.2" type="development" date="2025-06-20"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.16.0-rc.2</url></release>
<release version="0.16.0~rc.1" type="development" date="2025-05-27"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.16.0-rc.1</url></release>
<release version="0.15.0" date="2025-05-19"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.15.0</url></release>
<release version="0.15.0~rc.4" type="development" date="2025-05-12"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.15.0-rc.4</url></release>

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
Version=1.5
Categories=Game;GTK;
Exec=bash -c "WEBKIT_DISABLE_DMABUF_RENDERER=1 WAYLAND_DISPLAY=0 slimevr"
Icon=slimevr
Name=SlimeVR (safe mode)
GenericName=Full-body tracking
Comment=An app for facilitating full-body tracking in virtual reality
Keywords=FBT;VR;Steam;VRChat;IMU
Terminal=false
Type=Application

View File

@@ -17,6 +17,7 @@ use tauri::Emitter;
use tauri::WindowEvent;
use tauri::{Manager, RunEvent};
use tauri_plugin_shell::process::CommandChild;
use util::get_log_dir;
use crate::util::{
get_launch_path, show_error, valid_java_paths, Cli, JAVA_BIN, MINIMUM_JAVA_VERSION,
@@ -43,21 +44,6 @@ fn update_window_state(
Ok(())
}
#[tauri::command]
fn logging(msg: String) {
log::info!(target: "webview", "{}", msg)
}
#[tauri::command]
fn erroring(msg: String) {
log::error!(target: "webview", "{}", msg)
}
#[tauri::command]
fn warning(msg: String) {
log::warn!(target: "webview", "{}", msg)
}
#[tauri::command]
fn open_config_folder(app_handle: tauri::AppHandle) {
let path = app_handle
@@ -66,7 +52,7 @@ fn open_config_folder(app_handle: tauri::AppHandle) {
.unwrap_or_else(|_| Path::new(".").to_path_buf());
if let Err(err) = open::that(path) {
eprintln!("Failed to open config folder: {}", err);
log::error!("Failed to open config folder: {}", err);
}
}
@@ -81,7 +67,7 @@ fn open_logs_folder(app_handle: tauri::AppHandle) {
if let Err(err) =
open::that(path.unwrap_or_else(|_| Path::new("./logs/").to_path_buf()))
{
eprintln!("Failed to open logs folder: {}", err);
log::error!("Failed to open logs folder: {}", err);
}
}
@@ -97,9 +83,6 @@ fn main() -> Result<()> {
let cli = Cli::parse();
let tauri_context = tauri::generate_context!();
// Set up loggers and global handlers
let _logger = setup_logger(&tauri_context);
// Ensure child processes die when spawned on windows
// and then check for WebView2's existence
#[cfg(windows)]
@@ -125,37 +108,6 @@ fn main() -> Result<()> {
Ok(())
}
fn setup_logger(context: &tauri::Context) -> Result<flexi_logger::LoggerHandle> {
use flexi_logger::{
Age, Cleanup, Criterion, Duplicate, FileSpec, Logger, Naming, WriteMode,
};
use tauri::Error;
// Based on https://docs.rs/tauri/2.0.0-alpha.10/src/tauri/path/desktop.rs.html#238-256
#[cfg(target_os = "macos")]
let path = dirs_next::home_dir()
.ok_or(Error::UnknownPath)
.map(|dir| dir.join("Library/Logs").join(&context.config().identifier));
#[cfg(not(target_os = "macos"))]
let path = dirs_next::data_dir()
.ok_or(Error::UnknownPath)
.map(|dir| dir.join(&context.config().identifier).join("logs"));
Ok(Logger::try_with_env_or_str("info")?
.log_to_file(FileSpec::default().directory(path.expect("We need a log dir")))
.format_for_files(|w, now, record| util::logger_format(w, now, record, false))
.format_for_stderr(|w, now, record| util::logger_format(w, now, record, true))
.rotate(
Criterion::Age(Age::Day),
Naming::Timestamps,
Cleanup::KeepLogFiles(2),
)
.duplicate_to_stderr(Duplicate::All)
.write_mode(WriteMode::BufferAndFlush)
.start()?)
}
#[cfg(windows)]
fn setup_webview2() -> Result<()> {
use crate::util::webview2_exists;
@@ -249,16 +201,27 @@ fn setup_tauri(
) -> Result<tauri::App, tauri::Error> {
let exit_flag_terminated = exit_flag.clone();
tauri::Builder::default()
.plugin(
tauri_plugin_log::Builder::new()
.target(tauri_plugin_log::Target::new(
tauri_plugin_log::TargetKind::Folder {
path: get_log_dir(&context)?,
file_name: Some("slimevr".to_string()),
},
))
.max_file_size(30_000 /* bytes */)
.rotation_strategy(tauri_plugin_log::RotationStrategy::KeepSome(3))
.build(),
)
.plugin(tauri_plugin_opener::init())
.plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_fs::init())
.plugin(tauri_plugin_os::init())
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_store::Builder::default().build())
.plugin(tauri_plugin_http::init())
.invoke_handler(tauri::generate_handler![
update_window_state,
logging,
erroring,
warning,
open_config_folder,
open_logs_folder,
tray::update_translations,
@@ -270,6 +233,7 @@ fn setup_tauri(
presence::create_discord_client,
])
.setup(move |app| {
log::info!("SlimeVR started!");
let window_state =
WindowState::open_state(app.path().app_config_dir().unwrap())
.unwrap_or_default();

View File

@@ -80,17 +80,36 @@ impl WindowState {
window.unmaximize()?;
}
if self.width > util::MIN_WINDOW_SIZE_WIDTH
&& self.height > util::MIN_WINDOW_SIZE_HEIGHT
let size = if self.width >= util::MIN_WINDOW_SIZE_WIDTH
&& self.height >= util::MIN_WINDOW_SIZE_HEIGHT
{
window.set_size(LogicalSize::new(self.width, self.height))?;
}
Some(LogicalSize::new(self.width, self.height))
} else {
None
};
let pos = PhysicalPosition::new(self.x, self.y);
for monitor in window.available_monitors()? {
if monitor.contains(pos) {
let monitor = window
.available_monitors()?
.into_iter()
.find(|x| x.contains(pos))
.map(|m| (m, true))
.or(window.current_monitor()?.map(|m| (m, false)));
// Don't surpass the monitor's size
if let Some((monitor, is_old)) = monitor {
let monitor_size = *monitor.size();
let window_size = size
.map(|s| s.to_physical(monitor.scale_factor()))
.unwrap_or(window.outer_size()?);
window.set_size(PhysicalSize::new(
u32::min(monitor_size.width, window_size.width),
u32::min(monitor_size.height, window_size.height),
))?;
// If the position of the window was previously in the config
if is_old {
window.set_position(pos)?;
break;
}
}

View File

@@ -105,7 +105,7 @@ pub fn create_tray<R: Runtime>(app: &tauri::AppHandle<R>) -> tauri::Result<()> {
.title("SlimeVR")
.tooltip("SlimeVR")
.icon_as_template(true)
.menu_on_left_click(false)
.show_menu_on_left_click(false)
.icon(if cfg!(target_os = "macos") {
include_image!("icons/appleTrayIcon.png")
} else {
@@ -146,7 +146,7 @@ pub fn create_tray<R: Runtime>(app: &tauri::AppHandle<R>) -> tauri::Result<()> {
_ => {}
})
// We don't want this as we open the window on left click
.menu_on_left_click(false)
.show_menu_on_left_click(false)
.build(app)?;
app.manage(TrayAvailable(true));

View File

@@ -10,8 +10,6 @@ use std::{
use clap::Parser;
use const_format::concatcp;
use flexi_logger::{style, DeferredNow};
use log::Record;
use shadow_rs::shadow;
use tempfile::Builder;
@@ -111,6 +109,21 @@ pub fn show_error(text: &str) -> bool {
== MessageDialogResult::Ok
}
pub fn get_log_dir(context: &tauri::Context) -> tauri::Result<PathBuf> {
use tauri::Error;
#[cfg(target_os = "macos")]
let path = dirs_next::home_dir()
.ok_or(Error::UnknownPath)
.map(|dir| dir.join("Library/Logs").join(&context.config().identifier))?;
#[cfg(not(target_os = "macos"))]
let path = dirs_next::data_dir()
.ok_or(Error::UnknownPath)
.map(|dir| dir.join(&context.config().identifier).join("logs"))?;
Ok(path)
}
#[cfg(mobile)]
pub fn show_error(text: &str) -> bool {
// needs to do native stuff on mobile
@@ -218,31 +231,3 @@ pub fn valid_java_paths() -> Vec<(OsString, i32)> {
})
.collect()
}
pub fn logger_format(
w: &mut dyn std::io::Write,
_now: &mut DeferredNow,
record: &Record,
ansi: bool,
) -> Result<(), std::io::Error> {
let level = record.level();
let module_path = record.module_path().unwrap_or("<unnamed>");
// Optionally print target
let target = if module_path.starts_with(record.target()) {
"".to_string()
} else {
format!(", {}", record.target())
};
// A toggle for ansi formatting, mainly disabled for file logs, but enabled for terminal logs.
if ansi {
write!(
w,
"{} [{}{target}] {}",
style(level).paint(level.to_string()),
module_path,
style(level).paint(record.args().to_string())
)
} else {
write!(w, "{} [{}{target}] {}", level, module_path, record.args())
}
}

View File

@@ -10,12 +10,16 @@
"linux": {
"deb": {
"depends": [
"openjdk-17-jre-headless"
"openjdk-17-jre-headless",
"udev"
],
"files": {
"/usr/share/slimevr/slimevr.jar": "../../server/desktop/build/libs/slimevr.jar"
"/usr/share/slimevr/slimevr.jar": "../../server/desktop/build/libs/slimevr.jar",
"/lib/udev/rules.d/69-slimevr.rules": "./69-slimevr-devices.rules",
"/usr/share/applications/safe-mode.dev.slimevr.SlimeVR.desktop": "./safe-mode.dev.slimevr.SlimeVR.desktop"
},
"desktopTemplate": "./dev.slimevr.SlimeVR.desktop"
"desktopTemplate": "./dev.slimevr.SlimeVR.desktop",
"section": "contrib/games"
},
"appimage": {
"bundleMediaFramework": true,
@@ -25,10 +29,13 @@
},
"rpm": {
"depends": [
"java-17-openjdk"
"java-latest-openjdk",
"udev"
],
"files": {
"/usr/share/slimevr/slimevr.jar": "../../server/desktop/build/libs/slimevr.jar"
"/usr/share/slimevr/slimevr.jar": "../../server/desktop/build/libs/slimevr.jar",
"/usr/lib/udev/rules.d/69-slimevr.rules": "./69-slimevr-devices.rules",
"/usr/share/applications/safe-mode.dev.slimevr.SlimeVR.desktop": "./safe-mode.dev.slimevr.SlimeVR.desktop"
},
"desktopTemplate": "./dev.slimevr.SlimeVR.desktop"
}

View File

@@ -43,7 +43,7 @@ import { StatusProvider } from './components/providers/StatusSystemContext';
import { VersionUpdateModal } from './components/VersionUpdateModal';
import { CalibrationTutorialPage } from './components/onboarding/pages/CalibrationTutorial';
import { AssignmentTutorialPage } from './components/onboarding/pages/assignment-preparation/AssignmentTutorial';
import { open } from '@tauri-apps/plugin-shell';
import { openUrl } from '@tauri-apps/plugin-opener';
import semver from 'semver';
import { useBreakpoint, useIsTauri } from './hooks/breakpoint';
import { VRModePage } from './components/vr-mode/VRModePage';
@@ -75,9 +75,9 @@ function Layout() {
return (
<>
<SerialDetectionModal></SerialDetectionModal>
<VersionUpdateModal></VersionUpdateModal>
<UnknownDeviceModal></UnknownDeviceModal>
<SerialDetectionModal />
<VersionUpdateModal />
<UnknownDeviceModal />
<SentryRoutes>
<Route element={<AppLayout />}>
<Route
@@ -158,7 +158,7 @@ function Layout() {
/>
<Route path="trackers-assign" element={<TrackersAssignPage />} />
<Route path="enter-vr" element={<EnterVRPage />} />
<Route path="mounting/choose" element={<MountingChoose />}></Route>
<Route path="mounting/choose" element={<MountingChoose />} />
<Route path="mounting/auto" element={<AutomaticMountingPage />} />
<Route path="mounting/manual" element={<ManualMountingPage />} />
<Route path="reset-tutorial" element={<ResetTutorialPage />} />
@@ -177,7 +177,7 @@ function Layout() {
<Route path="stay-aligned" element={<StayAlignedSetup />} />
<Route path="done" element={<DonePage />} />
</Route>
<Route path="*" element={<TopBar></TopBar>}></Route>
<Route path="*" element={<TopBar />} />
</Route>
</SentryRoutes>
</>
@@ -206,6 +206,11 @@ export default function App() {
}, []);
useEffect(() => {
// don't show update stuff when on android
if (window.__ANDROID__?.isThere()) {
setUpdateFound('');
return;
}
async function fetchReleases() {
const releases = await fetch(
`https://api.github.com/repos/${GH_REPO}/releases`
@@ -278,7 +283,7 @@ export default function App() {
useEffect(() => {
function onKeyboard(ev: KeyboardEvent) {
if (ev.key === 'F1') {
return open(DOCS_SITE).catch(() => window.open(DOCS_SITE, '_blank'));
return openUrl(DOCS_SITE).catch(() => window.open(DOCS_SITE, '_blank'));
}
}
@@ -296,10 +301,8 @@ export default function App() {
<VersionContext.Provider value={updateFound}>
<div className="h-full w-full text-standard bg-background-80 text-background-10">
<Preload />
{!websocketAPI.isConnected && (
<ConnectionLost></ConnectionLost>
)}
{websocketAPI.isConnected && <Layout></Layout>}
{!websocketAPI.isConnected && <ConnectionLost />}
{websocketAPI.isConnected && <Layout />}
</div>
</VersionContext.Provider>
</StatusProvider>

View File

@@ -1,4 +1,4 @@
import { Localized } from '@fluent/react';
import { Localized, useLocalization } from '@fluent/react';
import { useEffect, useState } from 'react';
import {
RecordBVHRequestT,
@@ -9,18 +9,43 @@ import { useWebsocketAPI } from '@/hooks/websocket-api';
import { BigButton } from './commons/BigButton';
import { RecordIcon } from './commons/icon/RecordIcon';
import classNames from 'classnames';
import { isTauri } from '@tauri-apps/api/core';
import { save } from '@tauri-apps/plugin-dialog';
import { useConfig } from '@/hooks/config';
export function BVHButton(props: React.HTMLAttributes<HTMLButtonElement>) {
const { config } = useConfig();
const { useRPCPacket, sendRPCPacket } = useWebsocketAPI();
const [recording, setRecording] = useState(false);
const [saving, setSaving] = useState(false);
const { l10n } = useLocalization();
useEffect(() => {
sendRPCPacket(RpcMessage.RecordBVHStatusRequest, new RecordBVHRequestT());
}, []);
const toggleBVH = () => {
const record = new RecordBVHRequestT();
record.stop = recording;
const toggleBVH = async () => {
const record = new RecordBVHRequestT(recording);
if (isTauri() && !recording) {
if (config?.bvhDirectory) {
record.path = config.bvhDirectory;
} else {
setSaving(true);
record.path = await save({
title: l10n.getString('bvh-save_title'),
filters: [
{
name: 'BVH',
extensions: ['bvh'],
},
],
defaultPath: 'bvh-recording.bvh',
});
setSaving(false);
}
}
sendRPCPacket(RpcMessage.RecordBVHRequest, record);
};
@@ -33,12 +58,13 @@ export function BVHButton(props: React.HTMLAttributes<HTMLButtonElement>) {
<BigButton
icon={<RecordIcon width={20} />}
onClick={toggleBVH}
disabled={saving}
className={classNames(
props.className,
'border',
recording ? 'border-status-critical' : 'border-transparent'
)}
></BigButton>
/>
</Localized>
);
}

View File

@@ -6,7 +6,7 @@ export function EmptyLayout({ children }: { children: ReactNode }) {
return (
<div className="empty-layout h-full">
<div style={{ gridArea: 't' }}>
<TopBar></TopBar>
<TopBar />
</div>
<div style={{ gridArea: 'c' }} className="mt-2 relative">
{children}

View File

@@ -35,8 +35,8 @@ export function ErrorConsentModal({
<Localized
id={'error_collection_modal-description_v2'}
elems={{
b: <b></b>,
h1: <span className="text-lg font-bold"></span>,
b: <b />,
h1: <span className="text-lg font-bold" />,
}}
>
<Typography

View File

@@ -9,7 +9,9 @@
grid-template:
't t t' var(--topbar-h)
's c w' calc(100% - var(--topbar-h))
/ var(--navbar-w) calc(100% - var(--navbar-w) - var(--widget-w)) var(--widget-w);
/ var(--navbar-w) calc(100% - var(--navbar-w) - var(--widget-w)) var(
--widget-w
);
}
@screen mobile {

View File

@@ -61,10 +61,10 @@ export function MainLayout({
<div className="">
<div className="main-layout w-full h-screen">
<div style={{ gridArea: 't' }}>
<TopBar></TopBar>
<TopBar />
</div>
<div style={{ gridArea: 's' }} className="overflow-y-auto">
<Navbar></Navbar>
<Navbar />
</div>
<div
style={{ gridArea: 'c' }}
@@ -81,7 +81,7 @@ export function MainLayout({
style={{ gridArea: 'w' }}
className="overflow-y-auto mr-2 my-2 rounded-xl bg-background-70 flex flex-col gap-2 p-2 widgets"
>
<WidgetsComponent></WidgetsComponent>
<WidgetsComponent />
</div>
)}
</div>

View File

@@ -70,13 +70,13 @@ export function MainLinks() {
return (
<>
<NavButton to="/" icon={<CubeIcon></CubeIcon>}>
<NavButton to="/" icon={<CubeIcon />}>
{l10n.getString('navbar-home')}
</NavButton>
<NavButton
to="/onboarding/trackers-assign"
state={{ alonePage: true }}
icon={<HumanIcon></HumanIcon>}
icon={<HumanIcon />}
>
{l10n.getString('navbar-trackers_assign')}
</NavButton>
@@ -84,7 +84,7 @@ export function MainLinks() {
to="/onboarding/mounting/choose"
match="/onboarding/mounting/*"
state={{ alonePage: true }}
icon={<WrenchIcon></WrenchIcon>}
icon={<WrenchIcon />}
>
{l10n.getString('navbar-mounting')}
</NavButton>
@@ -92,12 +92,12 @@ export function MainLinks() {
to="/onboarding/body-proportions/scaled"
match="/onboarding/body-proportions/*"
state={{ alonePage: true }}
icon={<RulerIcon></RulerIcon>}
icon={<RulerIcon />}
>
{l10n.getString('navbar-body_proportions')}
</NavButton>
{config?.showNavbarOnboarding && (
<NavButton to="/onboarding/home" icon={<SparkleIcon></SparkleIcon>}>
<NavButton to="/onboarding/home" icon={<SparkleIcon />}>
{l10n.getString('navbar-onboarding')}
</NavButton>
)}
@@ -111,18 +111,18 @@ export function Navbar() {
return isMobile ? (
<div className="flex flex-row justify-around px-2 pt-2 bg-background-80 gap-2">
<MainLinks></MainLinks>
<MainLinks />
</div>
) : (
<div className="flex flex-col h-full p-2 gap-2">
<div className="flex flex-col flex-grow gap-2">
<MainLinks></MainLinks>
<MainLinks />
</div>
<NavButton
to="/settings/trackers"
match="/settings/*"
state={{ scrollTo: 'steamvr' }}
icon={<GearIcon></GearIcon>}
icon={<GearIcon />}
>
{l10n.getString('navbar-settings')}
</NavButton>

View File

@@ -69,7 +69,7 @@ export function SerialDetectionModal() {
{!showWifiForm && (
<>
<div className="flex flex-col items-center gap-3 fill-accent-background-20">
<USBIcon></USBIcon>
<USBIcon />
<div className="flex flex-col items-center gap-2">
<Typography variant="main-title">
{l10n.getString('serial_detection-new_device-p0')}
@@ -101,7 +101,7 @@ export function SerialDetectionModal() {
>
<div className="flex flex-col items-center gap-3">
<div className="fill-background-10">
<BulbIcon></BulbIcon>
<BulbIcon />
</div>
<Typography variant="main-title">
{l10n.getString('serial_detection-new_device-p0')}

View File

@@ -14,7 +14,7 @@ import { SlimeVRIcon } from './commons/icon/SimevrIcon';
import { ProgressBar } from './commons/ProgressBar';
import { Typography } from './commons/Typography';
import { DownloadIcon } from './commons/icon/DownloadIcon';
import { open } from '@tauri-apps/plugin-shell';
import { openUrl } from '@tauri-apps/plugin-opener';
import { DOCS_SITE, GH_REPO, VersionContext } from '@/App';
import classNames from 'classnames';
import { QuestionIcon } from './commons/icon/QuestionIcon';
@@ -47,7 +47,7 @@ export function VersionTag() {
)}
onClick={() => {
const url = `https://github.com/${GH_REPO}/releases`;
open(url).catch(() => window.open(url, '_blank'));
openUrl(url).catch(() => window.open(url, '_blank'));
}}
>
{(__VERSION_TAG__ || __COMMIT_HASH__) + (__GIT_CLEAN__ ? '' : '-dirty')}
@@ -155,7 +155,7 @@ export function TopBar({
return (
<>
<div className="flex gap-0 flex-col">
<div className="h-[3px]"></div>
<div className="h-[3px]" />
<div data-tauri-drag-region className="flex gap-2 h-[38px] z-50">
<div
className="flex px-2 py-2 justify-around z-50"
@@ -168,7 +168,7 @@ export function TopBar({
className="flex justify-around flex-col select-all"
data-tauri-drag-region
>
<SlimeVRIcon></SlimeVRIcon>
<SlimeVRIcon />
</NavLink>
)}
{(isTauri || !isMobile) && !config?.decorations && (
@@ -181,7 +181,7 @@ export function TopBar({
)}
{(!(isMobile && !config?.decorations) || showVersionMobile) && (
<>
<VersionTag></VersionTag>
<VersionTag />
{doesMatchSettings && (
<div
className={classNames(
@@ -203,10 +203,10 @@ export function TopBar({
const url = document.body.classList.contains('windows')
? 'https://slimevr.dev/download'
: `https://github.com/${GH_REPO}/releases/latest`;
open(url).catch(() => window.open(url, '_blank'));
openUrl(url).catch(() => window.open(url, '_blank'));
}}
>
<DownloadIcon></DownloadIcon>
<DownloadIcon />
</div>
)}
</div>
@@ -222,11 +222,7 @@ export function TopBar({
data-tauri-drag-region
>
{progress !== undefined && (
<ProgressBar
progress={progress}
height={3}
parts={3}
></ProgressBar>
<ProgressBar progress={progress} height={3} parts={3} />
)}
</div>
</>
@@ -256,7 +252,7 @@ export function TopBar({
data-tauri-drag-region
state={{ scrollTo: 'steamvr' }}
>
<GearIcon></GearIcon>
<GearIcon />
</NavLink>
{!isMobile && (
@@ -266,10 +262,12 @@ export function TopBar({
'hover:bg-background-60 rounded-full w-7 h-7 cursor-pointer'
)}
onClick={() =>
open(DOCS_SITE).catch(() => window.open(DOCS_SITE, '_blank'))
openUrl(DOCS_SITE).catch(() =>
window.open(DOCS_SITE, '_blank')
)
}
>
<QuestionIcon></QuestionIcon>
<QuestionIcon />
</div>
)}
@@ -279,19 +277,19 @@ export function TopBar({
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
onClick={() => getCurrentWindow().minimize()}
>
<MinimiseIcon></MinimiseIcon>
<MinimiseIcon />
</div>
<div
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
onClick={() => getCurrentWindow().toggleMaximize()}
>
<MaximiseIcon></MaximiseIcon>
<MaximiseIcon />
</div>
<div
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
onClick={() => tryCloseApp()}
>
<CloseIcon></CloseIcon>
<CloseIcon />
</div>
</>
)}
@@ -299,7 +297,7 @@ export function TopBar({
</div>
{isMobile && progress !== undefined && (
<div className="flex gap-2 px-2 h-6 mb-2 justify-center flex-col border-b border-accent-background-30">
<ProgressBar progress={progress} height={3} parts={3}></ProgressBar>
<ProgressBar progress={progress} height={3} parts={3} />
</div>
)}
</div>
@@ -333,7 +331,7 @@ export function TopBar({
setConnectedTrackerWarning(false);
getCurrentWindow().requestUserAttention(null);
}}
></TrackersStillOnModal>
/>
<ErrorConsentModal
isOpen={config?.errorTracking === null}
accept={() => setConfig({ errorTracking: true })}

View File

@@ -45,7 +45,7 @@ export function TrackingPauseButton(
}
onClick={toggleTracking}
className={classNames(props.className, 'min-h-24')}
></BigButton>
/>
</Localized>
);
}

View File

@@ -57,13 +57,13 @@ export function TrayOrExitModal({
name="exitType"
label={l10n.getString('tray_or_exit_modal-radio-exit')}
value="0"
></Radio>
/>
<Radio
control={control}
name="exitType"
label={l10n.getString('tray_or_exit_modal-radio-tray')}
value="1"
></Radio>
/>
</div>
<Button type="submit" variant="primary">

View File

@@ -63,7 +63,7 @@ export function UnknownDeviceModal() {
</Typography>
<Localized
id="unknown_device-modal-description"
elems={{ b: <b></b> }}
elems={{ b: <b /> }}
vars={{ deviceId: currentTracker ?? 'ERROR' }}
>
<Typography

View File

@@ -3,7 +3,7 @@ import { useContext, useState } from 'react';
import { BaseModal } from './commons/BaseModal';
import { Button } from './commons/Button';
import { Typography } from './commons/Typography';
import { open } from '@tauri-apps/plugin-shell';
import { openUrl } from '@tauri-apps/plugin-opener';
import semver from 'semver';
import { GH_REPO, VersionContext } from '@/App';
import { error } from '@/utils/logging';
@@ -54,7 +54,7 @@ export function VersionUpdateModal() {
const url = document.body.classList.contains('windows')
? 'https://slimevr.dev/download'
: `https://github.com/${GH_REPO}/releases/latest`;
await open(url).catch(() => window.open(url, '_blank'));
await openUrl(url).catch(() => window.open(url, '_blank'));
closeModal();
}}
>

View File

@@ -33,7 +33,7 @@ function UnprioritizedStatuses() {
key={status.id}
elems={{
PublicFixLink: (
<A href="https://docs.slimevr.dev/common-issues.html#network-profile-is-currently-set-to-public"></A>
<A href="https://docs.slimevr.dev/common-issues.html#network-profile-is-currently-set-to-public" />
),
}}
>
@@ -52,25 +52,33 @@ export function WidgetsComponent() {
return (
<>
<div className="grid grid-cols-2 gap-2 w-full [&>*:nth-child(odd):last-of-type]:col-span-full">
<ResetButton type={ResetType.Yaw} size="big"></ResetButton>
<ResetButton type={ResetType.Full} size="big"></ResetButton>
<ResetButton type={ResetType.Mounting} size="big"></ResetButton>
<ClearMountingButton></ClearMountingButton>
{typeof __ANDROID__ !== 'undefined' && !__ANDROID__?.isThere() && (
<BVHButton></BVHButton>
)}
<TrackingPauseButton></TrackingPauseButton>
<ResetButton type={ResetType.Yaw} size="big" />
<ResetButton type={ResetType.Full} size="big" />
<ResetButton type={ResetType.Mounting} size="big" />
<ResetButton
type={ResetType.Mounting}
size="big"
bodyPartsToReset="feet"
/>
<ResetButton
type={ResetType.Mounting}
size="big"
bodyPartsToReset="fingers"
/>
<ClearMountingButton />
{!window.__ANDROID__?.isThere() && <BVHButton />}
<TrackingPauseButton />
</div>
<div className="w-full">
<OverlayWidget></OverlayWidget>
<OverlayWidget />
</div>
<div className="mb-2">
<ToggleableSkeletonVisualizerWidget height={400} />
</div>
<UnprioritizedStatuses></UnprioritizedStatuses>
<UnprioritizedStatuses />
{config?.debug && (
<div className="w-full">
<DeveloperModeWidget></DeveloperModeWidget>
<DeveloperModeWidget />
</div>
)}
</>

View File

@@ -1,4 +1,4 @@
import { open } from '@tauri-apps/plugin-shell';
import { openUrl } from '@tauri-apps/plugin-opener';
import { ReactNode } from 'react';
export function A({ href, children }: { href?: string; children?: ReactNode }) {
@@ -6,7 +6,7 @@ export function A({ href, children }: { href?: string; children?: ReactNode }) {
<a
href="javascript:void(0)"
onClick={() =>
href && open(href).catch(() => window.open(href, '_blank'))
href && openUrl(href).catch(() => window.open(href, '_blank'))
}
className="underline"
>

View File

@@ -28,7 +28,7 @@ export function ArrowLink({
};
return classNames(
variantsMap[variant],
'flex gap-2 hover:fill-background-10 hover:text-background-10 fill-background-30 text-background-30'
'flex gap-2 hover:fill-background-10 fill-background-30 text-background-10'
);
}, [variant]);
@@ -36,13 +36,13 @@ export function ArrowLink({
<NavLink to={to} state={state} className={classes}>
{direction === 'left' && (
<div className="flex flex-col justify-center">
<ArrowLeftIcon></ArrowLeftIcon>
<ArrowLeftIcon />
</div>
)}
{children}
{direction === 'right' && (
<div className="flex flex-col justify-center">
<ArrowRightIcon></ArrowRightIcon>
<ArrowRightIcon />
</div>
)}
</NavLink>

View File

@@ -94,7 +94,7 @@ function Dot({
height: dotSize,
outlineWidth: globalVelocity * 2 + 2,
}}
></div>
/>
{trackers?.map(({ tracker }, index) => (
<Tracker
tracker={tracker}
@@ -187,7 +187,7 @@ export function BodyDisplay({
variant === 'tracker-select' && 'mx-10'
)}
>
<PersonFrontIcon width={width}></PersonFrontIcon>
<PersonFrontIcon width={width} />
{slotsButtonsPos.map((dotData) => (
<Dot
{...dotData}

View File

@@ -198,7 +198,7 @@ export function BodyInteractions({
className="absolute w-full h-full top-0 z-10"
width="100%"
height="100%"
></canvas>
/>
<div className="flex">
<div ref={leftContainerRef} className="z-10">
{leftControls}
@@ -210,7 +210,7 @@ export function BodyInteractions({
variant === 'tracker-select' && 'mobile:mx-0 xs:mx-10'
)}
>
<PersonFrontIcon width={width} mirror={mirror}></PersonFrontIcon>
<PersonFrontIcon width={width} mirror={mirror} />
{slotsButtonsPos.map(
({ top, left, height, width, id, hidden, buttonOffset }) => (
<div
@@ -234,7 +234,7 @@ export function BodyInteractions({
height: dotsSize,
animationDuration: '1.5s',
}}
></div>
/>
)}
<div
className={classNames(
@@ -249,7 +249,7 @@ export function BodyInteractions({
width: dotsSize,
height: dotsSize,
}}
></div>
/>
</div>
</div>
)

View File

@@ -28,155 +28,103 @@ export const mapPart: Record<
currentLocales: string[];
}) => JSX.Element
> = {
[BodyPart.UPPER_CHEST]: ({ width }) => (
<UpperChestIcon width={width}></UpperChestIcon>
),
[BodyPart.CHEST]: ({ width }) => <ChestIcon width={width}></ChestIcon>,
[BodyPart.HEAD]: ({ width }) => <HeadsetIcon width={width}></HeadsetIcon>,
[BodyPart.HIP]: ({ width }) => <HipIcon width={width}></HipIcon>,
[BodyPart.LEFT_HIP]: ({ width }) => <HipIcon width={width}></HipIcon>, // Unused
[BodyPart.RIGHT_HIP]: ({ width }) => <HipIcon width={width}></HipIcon>, // Unused
[BodyPart.UPPER_CHEST]: ({ width }) => <UpperChestIcon width={width} />,
[BodyPart.CHEST]: ({ width }) => <ChestIcon width={width} />,
[BodyPart.HEAD]: ({ width }) => <HeadsetIcon width={width} />,
[BodyPart.HIP]: ({ width }) => <HipIcon width={width} />,
[BodyPart.LEFT_HIP]: ({ width }) => <HipIcon width={width} />, // Unused
[BodyPart.RIGHT_HIP]: ({ width }) => <HipIcon width={width} />, // Unused
[BodyPart.LEFT_FOOT]: ({ width, currentLocales }) =>
currentLocales.includes('en-x-owo') ? (
<PawIcon></PawIcon>
<PawIcon />
) : (
<FootIcon width={width}></FootIcon>
<FootIcon width={width} />
),
[BodyPart.LEFT_HAND]: ({ width }) => (
<ControllerIcon width={width}></ControllerIcon>
),
[BodyPart.LEFT_LOWER_ARM]: ({ width }) => (
<LowerArmIcon width={width}></LowerArmIcon>
),
[BodyPart.LEFT_LOWER_LEG]: ({ width }) => (
<AnkleIcon width={width}></AnkleIcon>
),
[BodyPart.LEFT_SHOULDER]: ({ width }) => (
<ShoulderIcon width={width}></ShoulderIcon>
),
[BodyPart.LEFT_UPPER_ARM]: ({ width }) => (
<UpperArmIcon width={width}></UpperArmIcon>
),
[BodyPart.LEFT_UPPER_LEG]: ({ width }) => (
<UpperLegIcon width={width}></UpperLegIcon>
),
[BodyPart.NECK]: ({ width }) => <NeckIcon width={width}></NeckIcon>,
[BodyPart.NONE]: ({ width }) => <SlimeVRIcon width={width}></SlimeVRIcon>,
[BodyPart.LEFT_HAND]: ({ width }) => <ControllerIcon width={width} />,
[BodyPart.LEFT_LOWER_ARM]: ({ width }) => <LowerArmIcon width={width} />,
[BodyPart.LEFT_LOWER_LEG]: ({ width }) => <AnkleIcon width={width} />,
[BodyPart.LEFT_SHOULDER]: ({ width }) => <ShoulderIcon width={width} />,
[BodyPart.LEFT_UPPER_ARM]: ({ width }) => <UpperArmIcon width={width} />,
[BodyPart.LEFT_UPPER_LEG]: ({ width }) => <UpperLegIcon width={width} />,
[BodyPart.NECK]: ({ width }) => <NeckIcon width={width} />,
[BodyPart.NONE]: ({ width }) => <SlimeVRIcon width={width} />,
[BodyPart.RIGHT_FOOT]: ({ width, currentLocales }) =>
currentLocales.includes('en-x-owo') ? (
<PawIcon></PawIcon>
<PawIcon />
) : (
<FootIcon width={width} flipped></FootIcon>
<FootIcon width={width} flipped />
),
[BodyPart.RIGHT_HAND]: ({ width }) => (
<ControllerIcon width={width} flipped></ControllerIcon>
<ControllerIcon width={width} flipped />
),
[BodyPart.RIGHT_LOWER_ARM]: ({ width }) => (
<LowerArmIcon width={width} flipped></LowerArmIcon>
<LowerArmIcon width={width} flipped />
),
[BodyPart.RIGHT_LOWER_LEG]: ({ width }) => (
<AnkleIcon width={width} flipped></AnkleIcon>
),
[BodyPart.RIGHT_SHOULDER]: ({ width }) => (
<ShoulderIcon width={width}></ShoulderIcon>
<AnkleIcon width={width} flipped />
),
[BodyPart.RIGHT_SHOULDER]: ({ width }) => <ShoulderIcon width={width} />,
[BodyPart.RIGHT_UPPER_ARM]: ({ width }) => (
<UpperArmIcon width={width} flipped></UpperArmIcon>
<UpperArmIcon width={width} flipped />
),
[BodyPart.RIGHT_UPPER_LEG]: ({ width }) => (
<UpperLegIcon width={width} flipped></UpperLegIcon>
<UpperLegIcon width={width} flipped />
),
[BodyPart.WAIST]: ({ width }) => <WaistIcon width={width}></WaistIcon>,
[BodyPart.WAIST]: ({ width }) => <WaistIcon width={width} />,
[BodyPart.LEFT_THUMB_METACARPAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_THUMB_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_THUMB_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_INDEX_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.LEFT_THUMB_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_THUMB_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_INDEX_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_INDEX_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_INDEX_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_MIDDLE_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.LEFT_INDEX_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_MIDDLE_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_MIDDLE_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_MIDDLE_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_RING_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.LEFT_MIDDLE_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_RING_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_RING_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_RING_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_LITTLE_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.LEFT_RING_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_LITTLE_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.LEFT_LITTLE_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.LEFT_LITTLE_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.LEFT_LITTLE_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_THUMB_METACARPAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_THUMB_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_THUMB_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_INDEX_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.RIGHT_THUMB_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_THUMB_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_INDEX_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_INDEX_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_INDEX_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.RIGHT_INDEX_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_MIDDLE_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.RIGHT_MIDDLE_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_MIDDLE_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_RING_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.RIGHT_MIDDLE_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_RING_PROXIMAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_RING_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_RING_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.RIGHT_RING_DISTAL]: ({ width }) => <FingersIcon width={width} />,
[BodyPart.RIGHT_LITTLE_PROXIMAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.RIGHT_LITTLE_INTERMEDIATE]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
),
[BodyPart.RIGHT_LITTLE_DISTAL]: ({ width }) => (
<FingersIcon width={width}></FingersIcon>
<FingersIcon width={width} />
),
[BodyPart.RIGHT_LITTLE_DISTAL]: ({ width }) => <FingersIcon width={width} />,
};
export function BodyPartIcon({

View File

@@ -29,7 +29,7 @@ function ButtonContent({
</div>
{loading && (
<div className="absolute top-0 left-0 w-full h-full flex justify-center items-center fill-background-10">
<LoaderIcon slimeState={SlimeState.JUMPY}></LoaderIcon>
<LoaderIcon slimeState={SlimeState.JUMPY} />
</div>
)}
</>

View File

@@ -1,31 +1,36 @@
import classNames from 'classnames';
import { useMemo } from 'react';
import { forwardRef, useMemo } from 'react';
import { Control, Controller } from 'react-hook-form';
export const CHECKBOX_CLASSES = classNames(
'bg-background-50 border-background-50 rounded-md w-5 h-5 text-accent-background-30 focus:border-accent-background-40 focus:ring-transparent focus:ring-offset-transparent focus:outline-transparent'
);
export function CheckBox({
label,
variant = 'checkbox',
color = 'primary',
control,
outlined,
name,
loading,
// input props
disabled,
...props
}: {
label: string;
control: Control<any>;
name: string;
variant?: 'checkbox' | 'toggle';
color?: 'primary' | 'secondary' | 'tertiary';
outlined?: boolean;
loading?: boolean;
} & React.HTMLProps<HTMLInputElement>) {
export const CheckboxInternal = forwardRef<
HTMLInputElement,
{
disabled?: boolean;
variant?: 'checkbox' | 'toggle';
color?: 'primary' | 'secondary' | 'tertiary';
label?: string;
outlined?: boolean;
loading?: boolean;
name: string;
} & Partial<React.HTMLProps<HTMLInputElement>>
>(function AppCheckbox(
{
variant = 'checkbox',
color = 'primary',
outlined = false,
loading = false,
disabled = false,
label,
onChange,
checked,
name,
},
ref
) {
const classes = useMemo(() => {
const vriantsMap = {
checkbox: {
@@ -44,68 +49,102 @@ export function CheckBox({
return vriantsMap[variant];
}, [variant]);
return (
<div
className={classNames(
{
'rounded-md': outlined,
'text-background-40': disabled,
'text-background-10': !disabled,
'bg-background-60': outlined && color === 'primary',
'bg-background-70': outlined && color === 'secondary',
'bg-background-50': outlined && color === 'tertiary',
},
'flex items-center gap-2 w-full'
)}
>
<label
className={classNames(
'w-full h-[42px] flex gap-2 items-center text-standard-bold',
{
'px-3': outlined,
'cursor-pointer': !disabled || !loading,
'cursor-default': disabled || loading,
}
)}
>
<input
ref={ref}
onChange={onChange}
checked={checked}
name={name}
className={classes.checkbox}
type="checkbox"
disabled={disabled || loading}
/>
{variant === 'toggle' && (
<div
className={classNames(classes.toggle, {
'bg-accent-background-30': checked && !disabled && !loading,
'bg-accent-background-50': checked && disabled,
'bg-accent-background-30 animate-pulse': loading && !disabled,
'bg-background-50':
((!checked && color == 'primary') || color == 'secondary') &&
!loading,
'bg-background-40': !checked && color == 'tertiary' && !loading,
})}
>
<div
className={classNames(classes.pin, {
'left-0': !checked && !loading,
'opacity-0': loading,
'right-0': checked && !loading,
'bg-background-30': disabled,
})}
/>
</div>
)}
{label}
</label>
</div>
);
});
export function CheckBox({
label,
variant = 'checkbox',
color = 'primary',
control,
outlined,
name,
loading,
disabled,
}: {
label: string;
control: Control<any>;
name: string;
variant?: 'checkbox' | 'toggle';
color?: 'primary' | 'secondary' | 'tertiary';
outlined?: boolean;
loading?: boolean;
} & React.HTMLProps<HTMLInputElement>) {
return (
<Controller
control={control}
name={name}
render={({ field: { onChange, value, ref, name } }) => (
<div
className={classNames(
{
'rounded-lg': outlined,
'text-background-30': !outlined || disabled,
'bg-background-60': outlined && color === 'primary',
'bg-background-70': outlined && color === 'secondary',
'bg-background-50': outlined && color === 'tertiary',
},
'flex items-center gap-2 w-full'
)}
>
<label
className={classNames(
'w-full py-3 flex gap-2 items-center text-standard-bold',
{
'px-3': outlined,
'cursor-pointer': !disabled || !loading,
'cursor-default': disabled || loading,
}
)}
>
<input
ref={ref}
onChange={onChange}
checked={value || false}
name={name}
className={classes.checkbox}
type="checkbox"
disabled={disabled || loading}
{...props}
/>
{variant === 'toggle' && (
<div
className={classNames(classes.toggle, {
'bg-accent-background-30': value && !disabled && !loading,
'bg-accent-background-50': value && disabled,
'bg-accent-background-30 animate-pulse': loading && !disabled,
'bg-background-50':
((!value && color == 'primary') || color == 'secondary') &&
!loading,
'bg-background-40': !value && color == 'tertiary' && !loading,
})}
>
<div
className={classNames(classes.pin, {
'left-0': !value && !loading,
'opacity-0': loading,
'right-0': value && !loading,
'bg-background-30': disabled,
})}
></div>
</div>
)}
{label}
</label>
</div>
<CheckboxInternal
label={label}
variant={variant}
color={color}
outlined={outlined}
name={name}
loading={loading}
disabled={disabled}
checked={value}
onChange={onChange}
ref={ref}
/>
)}
/>
);

View File

@@ -1,240 +1,434 @@
import classNames from 'classnames';
import { ReactNode, useEffect, useLayoutEffect, useRef, useState } from 'react';
import { Control, Controller, UseControllerProps } from 'react-hook-form';
import {
forwardRef,
ReactNode,
useEffect,
useLayoutEffect,
useRef,
useState,
} from 'react';
import {
Control,
FieldError,
useController,
UseControllerProps,
} from 'react-hook-form';
import { ArrowDownIcon, ArrowUpIcon } from './icon/ArrowIcons';
import { a11yClick } from '@/utils/a11y';
import { createPortal } from 'react-dom';
import { ArrowDownIcon } from './icon/ArrowIcons';
interface DropdownProps {
direction?: DropdownDirection;
variant?: 'primary' | 'secondary' | 'tertiary';
alignment?: 'right' | 'left';
display?: 'fit' | 'block';
placeholder: string;
control: Control<any>;
name: string;
items: DropdownItem[];
maxHeight?: string | number;
rules?: UseControllerProps<any>['rules'];
}
type DropdownItemsProps = Pick<
DropdownProps,
'direction' | 'variant' | 'alignment' | 'display' | 'items' | 'maxHeight'
> & {
onSelectItem: (item: DropdownItem) => void;
onBackdropClick: () => void;
type DropdownItem = {
value: string;
dropdownBounds: DOMRect;
label: ReactNode;
};
export interface DropdownItem {
label?: string;
component?: ReactNode;
value: string;
fontName?: string;
}
export type DropdownDirection = 'up' | 'down';
export function DropdownItems({
display,
direction,
variant,
alignment,
items,
maxHeight,
value,
dropdownBounds,
onSelectItem,
onBackdropClick,
}: DropdownItemsProps) {
const ref = useRef<HTMLDivElement | null>(null);
const [itemBounds, setItemBounds] = useState<DOMRect>();
type DropdownProps = {
direction?: DropdownDirection;
variant?: 'primary' | 'secondary' | 'tertiary';
alignment?: 'left' | 'right';
display?: 'fit' | 'block';
placeholder: string;
name: string;
items: DropdownItem[];
maxHeight?: string | number;
error?: FieldError;
};
const updateBounds = () => {
if (!ref.current) return;
setItemBounds(ref.current?.getBoundingClientRect());
function DropdownItem({
item,
variant,
onSelected,
isOpen,
value,
innerFocusValue,
name,
}: {
item: DropdownItem;
variant: Required<DropdownProps>['variant'];
onSelected: () => void;
isOpen: boolean;
value: any;
innerFocusValue: string | null;
name: string;
}) {
const variantStyles = {
primary:
'text-background-20 checked-hover:text-background-10 checked-hover:bg-background-50 focus:text-background-10 focus:bg-background-50',
secondary:
'text-background-20 checked-hover:text-background-10 checked-hover:bg-background-60 focus:text-background-10 focus:bg-background-60',
tertiary:
'bg-accent-background-30 checked-hover:bg-accent-background-20 focus:bg-accent-background-20',
};
useLayoutEffect(() => {
updateBounds();
}, []);
const ref = useRef<HTMLDivElement>(null);
const GAP = 8;
useLayoutEffect(() => {
if (!innerFocusValue) {
return;
}
if (innerFocusValue === item.value) {
ref.current?.scrollIntoView({ block: 'nearest' });
}
}, [innerFocusValue]);
useLayoutEffect(() => {
if (!isOpen) {
return;
}
if (
innerFocusValue === item.value ||
(!innerFocusValue && item.value === value)
) {
ref.current?.scrollIntoView({ block: 'nearest' });
}
}, [isOpen]);
return (
<div
className={classNames(
'py-2 px-4 min-w-max cursor-pointer',
variantStyles[variant],
innerFocusValue === item.value && 'ring-inset ring-4'
)}
onClick={onSelected}
onKeyDown={(e) => a11yClick(e) && onSelected()}
tabIndex={-1}
aria-hidden={!isOpen}
data-checked={item.value === value}
ref={ref}
id={`__dropdownList-${name}-item-${item.value}`}
>
{item.label}
</div>
);
}
type DropdownListProps = {
isOpen: boolean;
onSelect: (item: DropdownItem) => void;
value: any;
innerFocusValue: string | null;
} & Pick<
Required<DropdownProps>,
| 'display'
| 'alignment'
| 'direction'
| 'items'
| 'variant'
| 'maxHeight'
| 'name'
>;
const DropdownList = forwardRef<HTMLDivElement, DropdownListProps>(function (
{
isOpen,
onSelect,
value,
innerFocusValue,
display,
alignment,
direction,
items,
variant,
maxHeight,
name,
},
ref
) {
const variantStyles = {
primary: 'bg-background-60',
secondary: 'bg-background-70',
tertiary: 'bg-accent-background-30',
};
const getDisplayStyle = () => {
if (display === 'block') {
return {
left: 'var(--dropdown-field-left)',
right: 'var(--dropdown-field-right)',
};
}
return alignment === 'left'
? { left: 'var(--dropdown-field-left)' }
: { right: 'var(--dropdown-field-right)' };
};
const directionStyles = {
up: {
bottom: 'calc(var(--dropdown-field-top) + 0.75rem)',
},
down: {
top: 'calc(var(--dropdown-field-bottom) + 0.75rem)',
},
};
return (
<div
className={classNames(
'grid fixed z-50 overflow-hidden transition-[grid-template-rows] rounded',
isOpen ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]',
variantStyles[variant]
)}
style={{
...getDisplayStyle(),
...directionStyles[direction],
}}
onTransitionEnd={(e) => {
if (!isOpen) {
(e.target as HTMLDivElement).scrollTo({ top: 0 });
}
}}
ref={ref}
id={`__dropdownList-${name}`}
>
<ul
className="flex flex-col min-h-0 text-sm overflow-y-scroll dropdown-scroll overscroll-contain"
style={{ maxHeight }}
>
{items.map((item) => (
<DropdownItem
item={item}
variant={variant}
onSelected={() => onSelect(item)}
isOpen={isOpen}
key={item.value}
value={value}
innerFocusValue={innerFocusValue}
name={name}
/>
))}
</ul>
</div>
);
});
export function DropdownInside({
direction = 'up',
variant = 'primary',
alignment = 'right',
display = 'fit',
placeholder,
name,
items,
maxHeight = '50vh',
value,
onChange,
error,
}: DropdownProps & { value: string; onChange: (value: string) => void }) {
const [isOpen, setIsOpen] = useState(false);
useLayoutEffect(() => {
ref.current?.focus();
}, [value]);
const variantStyles = {
primary: 'bg-background-60 hover:bg-background-50',
secondary: 'bg-background-70 hover:bg-background-60',
tertiary: 'bg-accent-background-30 hover:bg-accent-background-20',
};
const displayStyles = {
fit: 'w-fit',
block: 'w-full',
};
const getShownValue = (value: any) =>
value
? (items.find((item) => item.value === value)?.label ?? placeholder)
: placeholder;
const ref = useRef<HTMLDivElement>(null);
const listRef = useRef<HTMLDivElement>(null);
const [innerFocusIndex, setInnerFocusIndex] = useState<number | null>(null);
const getCurrentActiveIndex = () => {
return items.findIndex((item) => item.value === value);
};
const innerFocusPrev = () => {
const current = innerFocusIndex ?? getCurrentActiveIndex();
setInnerFocusIndex(current > 0 ? current - 1 : current);
};
const innerFocusNext = () => {
const current = innerFocusIndex ?? getCurrentActiveIndex();
setInnerFocusIndex(current < items.length - 1 ? current + 1 : current);
};
const updateFieldBoundingRect = () => {
if (!ref.current || !listRef.current) {
return;
}
const boundingRect = ref.current.getBoundingClientRect();
const left = boundingRect.left;
const right = window.innerWidth - boundingRect.right;
const top = window.innerHeight - boundingRect.top;
const bottom = boundingRect.bottom;
listRef.current?.style.setProperty('--dropdown-field-left', `${left}px`);
listRef.current?.style.setProperty('--dropdown-field-right', `${right}px`);
listRef.current?.style.setProperty('--dropdown-field-top', `${top}px`);
listRef.current?.style.setProperty(
'--dropdown-field-bottom',
`${bottom}px`
);
};
useLayoutEffect(updateFieldBoundingRect, [ref.current]);
window.addEventListener('scroll', updateFieldBoundingRect, true);
window.addEventListener('resize', updateFieldBoundingRect, true);
useEffect(() => {
if (!isOpen) {
setInnerFocusIndex(null);
}
}, [isOpen]);
return (
<>
<div
className="z-[999] fixed top-0 w-full h-full"
onClick={onBackdropClick}
></div>
<div
ref={ref}
className={classNames(
'z-[1000] fixed rounded shadow',
'overflow-y-auto dropdown-scroll overflow-x-hidden text-background-10',
variant == 'primary' && 'bg-background-60',
variant == 'secondary' && 'bg-background-70',
variant == 'tertiary' && 'bg-accent-background-30',
itemBounds?.height == 0 && 'opacity-0' // Avoid flicker while the component find its position
'min-h-[42px] text-background-10 text-left dropdown',
displayStyles[display]
)}
style={{
maxHeight: maxHeight,
left:
alignment === 'left'
? dropdownBounds.left
: dropdownBounds.left +
dropdownBounds.width -
(itemBounds?.width ?? 0),
top:
direction == 'down'
? dropdownBounds.bottom + GAP
: dropdownBounds.top - (itemBounds?.height ?? 0) - GAP,
minWidth: display === 'block' ? dropdownBounds.width : 'inherit',
onClick={() => setIsOpen(!isOpen)}
onKeyDown={(e) => {
if (!isOpen) {
if (a11yClick(e)) {
setInnerFocusIndex(
items.findIndex((item) => item.value === value)
);
setIsOpen(!isOpen);
e.preventDefault();
return;
}
if (e.key === 'ArrowDown') {
setInnerFocusIndex(0);
setIsOpen(true);
e.preventDefault();
return;
}
if (e.key === 'ArrowUp') {
setInnerFocusIndex(items.length - 1);
setIsOpen(true);
e.preventDefault();
return;
}
} else {
if (a11yClick(e)) {
e.preventDefault();
if (innerFocusIndex === null) {
setIsOpen(false);
return;
}
onChange(items[innerFocusIndex].value);
setIsOpen(false);
}
switch (e.key) {
case 'ArrowUp':
innerFocusPrev();
e.preventDefault();
return;
case 'ArrowDown':
innerFocusNext();
e.preventDefault();
return;
case 'Escape':
setIsOpen(false);
return;
case 'Home':
setInnerFocusIndex(0);
return;
case 'End':
setInnerFocusIndex(items.length - 1);
return;
}
}
}}
onBlur={(e) => {
if (
e.currentTarget.contains(e.relatedTarget) ||
listRef?.current?.contains(e.relatedTarget)
) {
return;
}
setIsOpen(false);
}}
>
<ul className="py-1 text-sm flex flex-col">
{items.map((item) => (
<li
style={item.fontName ? { fontFamily: item.fontName } : {}}
className={classNames(
'py-2 px-4 min-w-max cursor-pointer first-of-type:*:pointer-events-none',
variant == 'primary' &&
'checked-hover:bg-background-50 text-background-20 ' +
'checked-hover:text-background-10',
variant == 'secondary' &&
'checked-hover:bg-background-60 text-background-20 ' +
'checked-hover:text-background-10',
variant == 'tertiary' &&
'bg-accent-background-30 checked-hover:bg-accent-background-20'
)}
onClick={() => {
onSelectItem(item);
}}
onKeyDown={(ev) => {
if (!a11yClick(ev)) return;
onSelectItem(item);
}}
key={item.value}
tabIndex={0}
data-checked={item.value === value}
>
{item.component || item.label}
</li>
))}
</ul>
<div
className={classNames(
'flex flex-row justify-between items-center gap-2 pl-3 pr-5 py-3 rounded-md cursor-pointer focus:ring-4 relative',
variantStyles[variant]
)}
tabIndex={0}
ref={ref}
aria-controls={`__dropdownList-${name}`}
aria-activedescendant={
innerFocusIndex === null
? ''
: `__dropdownList-${name}-item-${items[innerFocusIndex].value}`
}
role="combobox"
>
{getShownValue(value)}
<div className="fill-background-10">
{direction === 'up' ? (
<ArrowUpIcon size={16} />
) : (
<ArrowDownIcon size={16} />
)}
</div>
</div>
{error?.message && (
<div className="text-status-critical">{error.message}</div>
)}
{createPortal(
<DropdownList
alignment={alignment}
direction={direction}
display={display}
isOpen={isOpen}
items={items}
onSelect={(item: DropdownItem) => {
ref.current?.focus();
onChange(item.value);
}}
variant={variant}
maxHeight={maxHeight}
value={value}
ref={listRef}
innerFocusValue={
innerFocusIndex === null ? null : items[innerFocusIndex].value
}
name={name}
/>,
document.body
)}
</div>
</>
);
}
export function Dropdown({
direction = 'up',
variant = 'primary',
alignment = 'right',
display = 'fit',
maxHeight = '50vh',
placeholder,
control,
rules,
name,
items = [],
}: DropdownProps) {
const ref = useRef<HTMLDivElement | null>(null);
const [isOpen, setOpenState] = useState(false);
const [dropdownBounds, setDropdownBounds] = useState<DOMRect>();
const updateBounds = () => {
if (!ref.current) return;
setDropdownBounds(ref.current?.getBoundingClientRect());
};
const onResize = () => {
// We could have two behaviours here:
// 1 - We update the bounds of the dropdown so the size and position match.
// Works but have a slight delay when resizing, kinda looks laggy
// 2 - We close the dropdown on resize.
// We could consider this as the same as clicking outside of the dropdown
// This is the approach choosen RN
setOpen(false);
};
useEffect(() => {
window.addEventListener('resize', onResize);
return () => {
window.removeEventListener('resize', onResize);
};
}, []);
const setOpen = (open: boolean | ((prevState: boolean) => boolean)) => {
updateBounds();
setOpenState(open);
};
rules,
...props
}: DropdownProps & {
control: Control<any>;
rules?: UseControllerProps<any>['rules'];
}) {
const {
field: { value, onChange },
} = useController({ name, control, rules });
return (
<Controller
control={control}
name={name}
rules={rules}
render={({ field: { onChange, value } }) => (
<>
<div
ref={ref}
className={classNames(
'min-h-[42px] text-background-10 px-5 py-3 rounded-md focus:ring-4 text-center dropdown',
'flex cursor-pointer',
variant == 'primary' && 'bg-background-60 hover:bg-background-50',
variant == 'secondary' &&
'bg-background-70 hover:bg-background-60',
variant == 'tertiary' &&
'bg-accent-background-30 hover:bg-accent-background-20',
display === 'fit' && 'w-fit',
display === 'block' && 'w-full'
)}
onClick={() => setOpen((open) => !open)}
onKeyDown={(ev) => a11yClick(ev) && setOpen((open) => !open)}
tabIndex={0}
>
<div className="flex-grow text-standard first:pointer-events-none">
{items.find((i) => i.value == value)?.component ||
items.find((i) => i.value == value)?.label ||
placeholder}
</div>
<div
className={classNames(
'ml-2 fill-background-10 flex items-center',
direction == 'up' && 'rotate-180',
direction == 'down' && 'rotate-0'
)}
>
<ArrowDownIcon size={16}></ArrowDownIcon>
</div>
</div>
{isOpen &&
dropdownBounds &&
createPortal(
<DropdownItems
items={items}
dropdownBounds={dropdownBounds}
direction={direction}
display={display}
alignment={alignment}
maxHeight={maxHeight}
variant={variant}
value={value}
onSelectItem={(item) => {
setOpen(false);
onChange(item.value);
}}
onBackdropClick={() => {
setOpen(false);
}}
></DropdownItems>,
document.body
)}
</>
)}
/>
<DropdownInside value={value} name={name} {...props} onChange={onChange} />
);
}

View File

@@ -12,6 +12,8 @@ import { FileIcon } from './icon/FileIcon';
import { UploadFileIcon } from './icon/UploadFileIcon';
import { Typography } from './Typography';
import { CloseIcon } from './icon/CloseIcon';
import { FolderIcon } from './icon/FolderIcon';
import { UploadFolderIcon } from './icon/UploadFolderIcon';
interface InputProps {
variant?: 'primary' | 'secondary';
@@ -19,12 +21,14 @@ interface InputProps {
name: string;
}
const FileInputContentBlank = ({
export const FileInputContentBlank = ({
isDragging,
label,
directory = false,
}: {
isDragging: boolean;
label: string;
directory?: boolean;
}) => {
return (
<div
@@ -36,12 +40,16 @@ const FileInputContentBlank = ({
)}
>
<span className="flex items-center space-x-2 pointer-events-none">
<UploadFileIcon isDragging={isDragging} />
{directory ? (
<UploadFolderIcon isDragging={isDragging} />
) : (
<UploadFileIcon isDragging={isDragging} />
)}
<div>
<Localized
id={label}
elems={{
u: <span className="underline text-background-20"></span>,
u: <span className="underline text-background-20" />,
}}
>
<Typography>
@@ -55,12 +63,14 @@ const FileInputContentBlank = ({
);
};
const FileInputContentFile = ({
export const FileInputContentFile = ({
importedFileName,
directory = false,
onClearPicker,
}: {
importedFileName: string;
onClearPicker: () => any;
directory?: boolean;
}) => {
return (
<div
@@ -72,14 +82,15 @@ const FileInputContentFile = ({
>
<div className="flex items-center space-x-2">
<div className="flex items-center space-x-2 px-4">
<FileIcon />
{directory ? <FolderIcon /> : <FileIcon />}
<span>{importedFileName}</span>
</div>
<span className="flex-grow"></span>
<span className="flex-grow" />
<a
href="#"
className="h-12 w-12 hover:bg-accent-background-20 cursor-pointer"
onClick={() => {
onClick={(ev) => {
ev.stopPropagation();
onClearPicker();
}}
>
@@ -177,7 +188,7 @@ export const FileInputInside = forwardRef<
accept={accept}
multiple={multiple}
capture={capture}
></input>
/>
</label>
);
});
@@ -222,7 +233,7 @@ export const FileInput = ({
capture={capture}
multiple={multiple}
importedFileName={importedFileName}
></FileInputInside>
/>
)}
/>
);

View File

@@ -7,6 +7,7 @@ import {
UseControllerProps,
} from 'react-hook-form';
import { EyeIcon } from './icon/EyeIcon';
import { Typography } from './Typography';
interface InputProps {
variant?: 'primary' | 'secondary' | 'tertiary';
@@ -20,8 +21,8 @@ export const InputInside = forwardRef<
variant?: 'primary' | 'secondary' | 'tertiary';
label?: string;
error?: FieldError;
onChange: () => void;
} & Partial<HTMLInputElement>
autocomplete?: boolean | string;
} & Partial<React.HTMLProps<HTMLInputElement>>
>(function AppInput(
{
type,
@@ -47,19 +48,19 @@ export const InputInside = forwardRef<
const classes = useMemo(() => {
const variantsMap = {
primary: classNames({
'placeholder:text-background-30 bg-background-60 border-background-60':
'placeholder:text-background-10 placeholder:italic bg-background-60 border-background-60':
!disabled,
'text-background-30 placeholder:text-background-30 border-background-70 bg-background-70':
disabled,
}),
secondary: classNames({
'placeholder:text-background-30 bg-background-50 border-background-50':
'placeholder:text-background-10 placeholder:italic bg-background-50 border-background-50':
!disabled,
'text-background-40 placeholder:text-background-40 border-background-70 bg-background-70':
disabled,
}),
tertiary: classNames({
'placeholder:text-background-30 bg-background-40 border-background-40':
'placeholder:text-background-10 placeholder:italic bg-background-40 border-background-40':
!disabled,
'text-background-30 placeholder:text-background-30 border-background-70 bg-background-70':
disabled,
@@ -70,7 +71,7 @@ export const InputInside = forwardRef<
variantsMap[variant],
'w-full focus:ring-transparent focus:ring-offset-transparent min-h-[42px] z-10',
'focus:outline-transparent rounded-md focus:border-accent-background-40',
'text-standard relative transition-colors',
'text-standard text-background-10 relative transition-colors',
error && 'border-status-critical border-1'
);
}, [variant, disabled, error]);
@@ -83,7 +84,7 @@ export const InputInside = forwardRef<
return (
<label className="flex flex-col gap-1">
{label}
{label && <Typography>{label}</Typography>}
<div className="relative w-full">
<input
type={forceText ? 'text' : type}
@@ -97,13 +98,13 @@ export const InputInside = forwardRef<
value={computedValue} // Do we want that behaviour ?
disabled={disabled}
ref={ref}
></input>
/>
{type === 'password' && (
<div
className="fill-background-10 absolute inset-y-0 right-0 pr-6 z-10 my-auto w-[16px] h-[16px] cursor-pointer"
onClick={togglePassword}
>
<EyeIcon width={16} closed={forceText}></EyeIcon>
<EyeIcon width={16} closed={forceText} />
</div>
)}
{error?.message && (
@@ -122,15 +123,16 @@ export const Input = ({
name,
placeholder,
label,
autocomplete,
autocomplete = false,
disabled,
variant = 'primary',
rules,
}: {
rules?: UseControllerProps<any>['rules'];
control: Control<any>;
autocomplete?: boolean | string;
} & InputProps &
Partial<HTMLInputElement>) => {
Partial<React.HTMLProps<HTMLInputElement>>) => {
return (
<Controller
control={control}
@@ -152,7 +154,7 @@ export const Input = ({
onChange={onChange}
ref={ref}
name={name}
></InputInside>
/>
)}
/>
);

View File

@@ -23,7 +23,7 @@ export function LangSelector({
const languagesItems = useMemo(
() =>
langs.map(({ key, name, emoji }) => ({
component: (
label: (
<div>
<img
draggable="false"
@@ -33,7 +33,6 @@ export function LangSelector({
{' ' + name}
</div>
),
label: name,
value: key,
})),
[]
@@ -59,6 +58,6 @@ export function LangSelector({
items={languagesItems}
direction={direction}
alignment={alignment}
></Dropdown>
/>
);
}

View File

@@ -38,11 +38,7 @@ export function PersonFrontIcon({
viewBox="0 0 165 392"
xmlns="http://www.w3.org/2000/svg"
>
<image
height={'105%'}
x="8.5%"
href="/images/front-standing-pose.webp"
></image>
<image height={'105%'} x="8.5%" href="/images/front-standing-pose.webp" />
{/* <path d="M84.53 224.074C83.953 230.874 88.569 266.874 90.951 280.984C92.085 287.671 95.195 298.565 94.076 304.349C92.476 312.411 92.017 322.843 92.896 328.918C93.451 332.607 95.196 349.618 92.696 355.845C91.389 359.108 88.996 375.832 88.996 375.832C82.756 391.587 86.278 390.812 86.278 390.812C88.21 393.183 91.519 390.998 91.519 390.998C92.1549 391.464 92.9388 391.682 93.7241 391.612C94.5094 391.542 95.2421 391.188 95.785 390.616C97.949 392.407 100.471 390.396 100.471 390.396C103.189 391.807 105.71 389.205 105.71 389.205C107.271 389.991 107.653 388.998 107.653 388.998C112.337 388.698 105.039 373.706 105.039 373.706C103.291 360.242 106.773 352.748 106.773 352.748C118.178 318.926 118.758 309.948 114.199 297.204C112.915 293.524 112.59 292.067 113.181 290.47C114.547 286.783 113.551 271.953 115.217 266.064C118.431 254.706 121.602 225.903 123.254 212.464C125.475 194.364 115.388 170.088 115.388 170.088C113.179 160.21 116.418 125.016 116.418 125.016C120.941 132.054 120.768 144.477 120.768 144.477C120.05 157.506 131.294 177.42 131.294 177.42C136.694 185.649 138.742 193.456 138.742 194.036C138.742 196.407 138.223 202.145 138.223 202.145L138.43 207.145C138.803 209.721 139.034 212.316 139.123 214.918C138.28 227.953 140.35 225.501 140.35 225.501C142.098 225.501 144.018 215.011 144.018 215.011C144.018 217.711 143.357 225.811 144.818 228.869C146.564 232.512 147.848 228.244 147.871 227.387C148.333 210.787 149.33 215.138 149.33 215.138C150.301 228.602 151.494 231.644 153.63 230.591C155.25 229.818 153.769 214.433 153.769 214.433C156.544 223.572 158.649 225.027 158.649 225.027C163.229 228.243 160.397 219.361 159.76 217.602C156.371 208.256 156.267 205.017 156.267 205.017C160.501 213.417 163.692 213.104 163.692 213.104C167.822 211.786 160.083 199.894 155.548 194.197C153.234 191.297 150.248 187.408 149.384 185.097C147.973 181.188 146.907 168.62 146.907 168.62C146.48 153.79 142.813 147.348 142.813 147.348C136.544 137.314 135.365 118.598 135.365 118.598L135.09 87C132.89 65.445 117.01 65.29 117.01 65.29C100.957 62.9 98.723 57.714 98.723 57.714C95.323 52.821 97.266 43.44 97.266 43.44C100.087 41.145 101.175 35.053 101.175 35.053C105.859 31.461 105.63 26.205 103.466 26.262C101.73 26.308 102.123 24.87 102.123 24.87C105.052 1.208 84.046 0 84.046 0H80.836C80.836 0 59.821 1.208 62.746 24.864C62.746 24.864 63.139 26.304 61.388 26.256C59.23 26.199 59.029 31.456 63.696 35.047C63.696 35.047 64.783 41.137 67.605 43.434C67.605 43.434 69.548 52.814 66.148 57.708C66.148 57.708 63.922 62.894 47.861 65.284C47.861 65.284 31.952 65.44 29.788 86.994L29.488 118.594C29.488 118.594 28.331 137.311 22.038 147.344C22.038 147.344 18.389 153.787 17.967 168.616C17.967 168.616 16.898 181.184 15.492 185.093C14.635 187.393 11.653 191.276 9.32001 194.193C4.74601 199.878 -2.94199 211.745 1.17101 213.1C1.17101 213.1 4.37901 213.412 8.59601 205.013C8.59601 205.013 8.50901 208.229 5.12501 217.598C4.46001 219.334 1.63201 228.217 6.21301 225.024C6.21301 225.024 8.33501 223.567 11.093 214.43C11.093 214.43 9.61301 229.815 11.26 230.588C13.412 231.642 14.586 228.599 15.56 215.135C15.56 215.135 16.56 210.787 17.017 227.384C17.04 228.241 18.295 232.509 20.049 228.866C21.529 225.811 20.864 217.727 20.864 215.008C20.864 215.008 22.764 225.498 24.536 225.498C24.536 225.498 26.624 227.95 25.767 214.915C25.628 212.786 26.375 208.415 26.467 207.142L26.667 202.142C26.667 202.142 26.146 196.417 26.146 194.033C26.146 193.442 28.194 185.646 33.594 177.417C33.594 177.417 44.826 157.494 44.103 144.474C44.103 144.474 43.947 132.051 48.47 125.013C48.47 125.013 51.68 160.205 49.505 170.085C49.505 170.085 39.405 194.358 41.629 212.461C43.27 225.937 46.435 254.702 49.657 266.061C51.34 271.938 50.345 286.761 51.693 290.467C52.301 292.076 51.982 293.558 50.675 297.201C46.141 309.947 46.718 318.925 58.123 352.745C58.123 352.745 61.633 360.239 59.859 373.703C59.859 373.703 52.572 388.695 57.239 388.995C57.239 388.995 57.604 389.988 59.182 389.202C59.182 389.202 61.703 391.802 64.427 390.393C64.427 390.393 66.95 392.407 69.106 390.613C69.6451 391.185 70.3751 391.54 71.158 391.61C71.9409 391.681 72.7225 391.462 73.355 390.995C73.355 390.995 76.664 393.227 78.63 390.809C78.63 390.809 82.123 391.584 75.904 375.829C75.904 375.829 73.522 359.129 72.209 355.842C69.709 349.621 71.474 332.57 72.009 328.915C72.87 322.806 72.409 312.398 70.835 304.346C69.684 298.575 72.801 287.679 73.952 280.981C76.317 266.881 80.952 230.881 80.373 224.071L82.288 224.743C83.0863 224.756 83.8692 224.522 84.53 224.074Z" /> */}
<circle
className="body-part-circle"

View File

@@ -28,7 +28,7 @@ export function ProgressBar({
animated={animated}
parts={parts}
bottom={bottom}
></Bar>
/>
))}
</div>
);
@@ -74,7 +74,7 @@ export function Bar({
width: `${value * 100}%`,
height: `${height}px`,
}}
></div>
/>
</div>
);
}

View File

@@ -51,9 +51,7 @@ export function Radio({
<div className="flex flex-col gap-2 pointer-events-none">
{children ? children : <Typography bold>{label}</Typography>}
{description && (
<Typography variant="standard" color="secondary">
{description}
</Typography>
<Typography variant="standard">{description}</Typography>
)}
</div>
</label>

View File

@@ -0,0 +1,69 @@
import {
Control,
Controller,
RefCallBack,
UseControllerProps,
} from 'react-hook-form';
import { FileInputContentBlank, FileInputContentFile } from './FileInput';
import { open } from '@tauri-apps/plugin-dialog';
export function InnerTauriFileInput({
label,
value,
onChange,
directory,
ref,
}: {
label: string;
value: string | null;
onChange: (...event: any[]) => void;
directory: boolean;
ref: RefCallBack;
}) {
return (
<div ref={ref} onClick={async () => onChange(await open({ directory }))}>
{value !== null
? FileInputContentFile({
directory,
importedFileName: value,
onClearPicker: () => onChange(null),
})
: FileInputContentBlank({ isDragging: false, label, directory })}
</div>
);
}
export function TauriFileInput({
control,
rules,
name,
label,
directory = false,
}: {
rules: UseControllerProps<any>['rules'];
control: Control<any>;
/**
* Use a translation key!
**/
label: string;
name: string;
directory?: boolean;
disabled?: boolean;
}) {
return (
<Controller
rules={rules}
name={name}
control={control}
render={({ field: { onChange, value, ref } }) => (
<InnerTauriFileInput
label={label}
value={value}
onChange={onChange}
ref={ref}
directory={directory}
/>
)}
/>
);
}

View File

@@ -18,7 +18,7 @@ export function TipBox({
return (
<div
className={classNames(
'flex flex-row gap-4 bg-accent-background-50 p-4 rounded-md',
'flex flex-row gap-4 bg-accent-background-50 p-2 rounded-md',
className
)}
>
@@ -28,7 +28,7 @@ export function TipBox({
hideIcon && 'hidden'
)}
>
<BulbIcon></BulbIcon>
<BulbIcon />
</div>
<div className="flex flex-col">
<Typography
@@ -55,14 +55,14 @@ export function WarningBox({
hideIcon?: boolean;
}) {
return (
<div className="flex flex-row gap-4 bg-status-warning p-4 rounded-md">
<div className="flex flex-row gap-4 bg-status-warning p-2 rounded-md">
<div
className={classNames(
'text-background-60 flex flex-col justify-center',
hideIcon && 'hidden'
)}
>
<WarningIcon></WarningIcon>
<WarningIcon />
</div>
<div className="flex flex-col justify-center w-full">
<Typography

View File

@@ -333,7 +333,7 @@ export function DrawerTooltip({
elem.classList.add(classNames('duration-500'));
touchTimeout.current = setTimeout(() => {
open();
}, TOOLTIP_DELAY);
}, TOOLTIP_DELAY) as unknown as number;
}
};
@@ -406,7 +406,7 @@ export function DrawerTooltip({
opacity: drawerStyle ? 0.5 : 0,
pointerEvents: drawerStyle ? 'all' : 'none',
}}
></div>
/>
<div
className={classNames(
'fixed z-50 w-full text-background-10 max-h-full -bottom-full transition-all overflow-clip'
@@ -425,7 +425,7 @@ export function DrawerTooltip({
className="absolute right-4 top-3 h-6 w-6 bg-background-70 rounded-full flex justify-center items-center"
onClick={() => close()}
>
<CloseIcon size={20} className="stroke-white"></CloseIcon>
<CloseIcon size={20} className="stroke-white" />
</button>
</div>
<div

View File

@@ -66,7 +66,7 @@ export function VerticalStep({
)}
>
{isPrevious ? (
<CheckIcon></CheckIcon>
<CheckIcon />
) : (
<Typography variant="section-title">{index + 1}</Typography>
)}
@@ -141,7 +141,7 @@ export default function VerticalStepper({
prevStep={prevStep}
goTo={goTo}
isActive={currStep === index}
></StepComponent>
/>
</VerticalStep>
))}
</ol>

View File

@@ -7,7 +7,7 @@ export function ChestIcon({ width = 24 }: { width?: number }) {
width={width}
viewBox="0 0 50 50"
>
<path d="M 20 2 C 18.156 2 16.700141 3.1345312 15.619141 4.0195312 C 12.698141 4.2755313 4 7.245 4 15 C 4 17.305 4.551 19.068203 4.875 19.908203 C 4.262 20.969203 3 23.679 3 28 C 3 28.352 3.184375 28.677422 3.484375 28.857422 L 8.484375 31.857422 C 8.835375 32.068422 9.2804219 32.044922 9.6074219 31.794922 C 10.290422 31.270922 10.833578 30.512578 11.267578 29.642578 C 11.118578 28.880578 11 28.05 11 27 L 11 21 C 11 20.448 11.448 20 12 20 C 12.43 20 12.790641 20.27425 12.931641 20.65625 C 12.944641 20.68425 12.982 20.797656 13 20.847656 C 13.197 21.404656 14.365 24 19 24 C 23.133 24 23.984531 19.976687 24.019531 19.804688 C 24.113531 19.329687 24.535 19.018531 25 19.019531 C 25.465 19.019531 25.886469 19.330687 25.980469 19.804688 C 26.015469 19.976687 26.867 24 31 24 C 35.635 24 36.803 21.405656 37 20.847656 C 37.018 20.797656 37.055359 20.68425 37.068359 20.65625 C 37.209359 20.27525 37.57 20 38 20 C 38.552 20 39 20.448 39 21 L 39 27 C 39 28.05 38.881422 28.881578 38.732422 29.642578 C 39.166422 30.513578 39.709578 31.269969 40.392578 31.792969 C 40.719578 32.042969 41.164625 32.066469 41.515625 31.855469 L 46.515625 28.855469 C 46.815625 28.676469 47 28.352 47 28 C 47 23.679 45.738 20.969203 45.125 19.908203 C 45.449 19.068203 46 17.305 46 15 C 46 7.245 37.301859 4.2755312 34.380859 4.0195312 C 33.299859 3.1345312 31.844 2 30 2 L 25 2 L 20 2 z M 25 22.609375 C 23.953 24.323375 22.059 26 19 26 C 16.075 26 14.195 25.130766 13 24.134766 L 13 27 C 13 28.281 13.194875 29.155016 13.421875 30.166016 C 13.692875 31.375016 14 32.746 14 35 C 14 35.027 13.987375 35.049172 13.984375 35.076172 C 13.994375 35.366172 14 35.669 14 36 L 14 42 C 14 44.997 18.628641 47.438484 19.556641 47.896484 C 19.693641 47.965484 19.847 48 20 48 L 25 48 L 30 48 C 30.153 48 30.306359 47.965484 30.443359 47.896484 C 31.371359 47.438484 36 44.997 36 42 L 36 36 C 36 35.669 36.005625 35.366172 36.015625 35.076172 C 36.012625 35.049172 36 35.027 36 35 C 36 32.746 36.307125 31.375016 36.578125 30.166016 C 36.805125 29.155016 37 28.281 37 27 L 37 24.134766 C 35.805 25.130766 33.925 26 31 26 C 27.941 26 26.047 24.323375 25 22.609375 z"></path>
<path d="M 20 2 C 18.156 2 16.700141 3.1345312 15.619141 4.0195312 C 12.698141 4.2755313 4 7.245 4 15 C 4 17.305 4.551 19.068203 4.875 19.908203 C 4.262 20.969203 3 23.679 3 28 C 3 28.352 3.184375 28.677422 3.484375 28.857422 L 8.484375 31.857422 C 8.835375 32.068422 9.2804219 32.044922 9.6074219 31.794922 C 10.290422 31.270922 10.833578 30.512578 11.267578 29.642578 C 11.118578 28.880578 11 28.05 11 27 L 11 21 C 11 20.448 11.448 20 12 20 C 12.43 20 12.790641 20.27425 12.931641 20.65625 C 12.944641 20.68425 12.982 20.797656 13 20.847656 C 13.197 21.404656 14.365 24 19 24 C 23.133 24 23.984531 19.976687 24.019531 19.804688 C 24.113531 19.329687 24.535 19.018531 25 19.019531 C 25.465 19.019531 25.886469 19.330687 25.980469 19.804688 C 26.015469 19.976687 26.867 24 31 24 C 35.635 24 36.803 21.405656 37 20.847656 C 37.018 20.797656 37.055359 20.68425 37.068359 20.65625 C 37.209359 20.27525 37.57 20 38 20 C 38.552 20 39 20.448 39 21 L 39 27 C 39 28.05 38.881422 28.881578 38.732422 29.642578 C 39.166422 30.513578 39.709578 31.269969 40.392578 31.792969 C 40.719578 32.042969 41.164625 32.066469 41.515625 31.855469 L 46.515625 28.855469 C 46.815625 28.676469 47 28.352 47 28 C 47 23.679 45.738 20.969203 45.125 19.908203 C 45.449 19.068203 46 17.305 46 15 C 46 7.245 37.301859 4.2755312 34.380859 4.0195312 C 33.299859 3.1345312 31.844 2 30 2 L 25 2 L 20 2 z M 25 22.609375 C 23.953 24.323375 22.059 26 19 26 C 16.075 26 14.195 25.130766 13 24.134766 L 13 27 C 13 28.281 13.194875 29.155016 13.421875 30.166016 C 13.692875 31.375016 14 32.746 14 35 C 14 35.027 13.987375 35.049172 13.984375 35.076172 C 13.994375 35.366172 14 35.669 14 36 L 14 42 C 14 44.997 18.628641 47.438484 19.556641 47.896484 C 19.693641 47.965484 19.847 48 20 48 L 25 48 L 30 48 C 30.153 48 30.306359 47.965484 30.443359 47.896484 C 31.371359 47.438484 36 44.997 36 42 L 36 36 C 36 35.669 36.005625 35.366172 36.015625 35.076172 C 36.012625 35.049172 36 35.027 36 35 C 36 32.746 36.307125 31.375016 36.578125 30.166016 C 36.805125 29.155016 37 28.281 37 27 L 37 24.134766 C 35.805 25.130766 33.925 26 31 26 C 27.941 26 26.047 24.323375 25 22.609375 z" />
</svg>
);
}

View File

@@ -23,23 +23,23 @@ export function ControllerIcon({
<path
d="M118.822 208.203c-2.618-.617-4.697-3.542-5.882-8.273-.291-1.162-.298-1.318-.28-6.087.025-6.892.614-23.54.873-24.712.407-1.836.45-2.166.39-2.962-.101-1.363-.496-2.192-1.523-3.2-1.327-1.302-3.303-2.24-6.48-3.078-1.73-.456-3.586-1.518-6.604-3.78-3.429-2.571-4.412-3.847-7.412-9.617-.584-1.123-1.155-2.09-1.27-2.152-.259-.138-1.272-.289-5.165-.769-3.5-.43-6.014-.807-6.642-.992-.827-.245-1.493-1.177-2.218-3.103-.921-2.446-2.059-8.04-2.059-10.122 0-2.587 1.23-6.419 2.836-8.832.83-1.247 1.148-1.489 2.265-1.723 7.263-1.526 53.58-5.18 66.688-5.262 3.11-.019 3.213-.012 3.65.26 1.497.931 3.276 3.686 4.198 6.502.86 2.622 1.011 4.66.57 7.652-.873 5.938-2.877 9.425-6.303 10.969-.767.345-1.928.65-3.119.822-.955.137-1.121.36-1.443 1.948-.523 2.573-1.864 5.5-4.178 9.114-1.084 1.694-1.407 2.78-2.776 9.339-1.166 5.587-1.297 6.347-1.893 11.008-.914 7.15-2.987 22.105-3.276 23.631-.85 4.5-4.377 9.213-9.243 12.352-1.778 1.146-2.492 1.352-3.704 1.067zm-1.16-48.81c4.208-.596 8.777-2.031 12.644-3.97 5.698-2.858 9.94-7.053 11.599-11.471.494-1.315.643-2.34.42-2.88-.147-.354-.203-.38-.802-.38-.78 0-5.773.591-14.198 1.683-6.609.855-9.629 1.2-13.24 1.511-4.913.423-10.917.694-15.438.696-1.622 0-3.59.038-4.373.083-1.345.078-1.431.099-1.561.385-.206.452.06 1.523.715 2.881 1.05 2.177 2.932 4.619 4.83 6.27 5.185 4.512 11.77 6.274 19.405 5.192z"
transform="scale(.26458)"
></path>
/>
<path
d="M111.38 158.518c-4.784-.43-8.953-2.192-12.419-5.25-1.997-1.763-4.05-4.546-4.817-6.531l-.371-.963 5.355-.078c5.019-.074 10.45-.275 11.662-.432.514-.067.533-.057.533.272 0 .498.536 1.333 1.111 1.732 1.473 1.02 3.312 1.046 5.07.434 1.981-.69 2.783-1.579 2.79-2.727l.002-.577 2.26-.276c1.242-.151 4.913-.616 8.157-1.033 7.376-.947 10.484-1.306 10.568-1.222.135.135-.508 1.937-1.101 3.092-2.017 3.922-6.233 7.574-11.529 9.985-5.871 2.674-12.356 4.016-17.272 3.574zm20.458-8.081c.958-.439 1.503-.858 1.904-1.464 1.196-1.808-.01-3.98-2.721-4.896-.637-.216-1.009-.263-1.75-.22-1.096.064-1.542.264-2.423 1.084-1.089 1.013-1.487 2.354-1.026 3.457.397.949 1.521 1.89 2.731 2.285.858.28 2.388.165 3.285-.246z"
transform="scale(.26458)"
></path>
/>
<path
d="M109.855 171.583c-.839-.29-1.655-.856-1.744-1.21-.04-.163.093-.688.324-1.268.588-1.483.61-2.105.143-3.918-.463-1.793-.495-2.343-.15-2.528 1.115-.596 3.07 1.299 3.795 3.679.243.797.25.956.114 2.196-.193 1.752-.4 2.931-.548 3.126-.173.226-1.173.186-1.934-.077z"
transform="scale(.26458)"
></path>
/>
<path
d="M128.454 149.37c-.797-.376-1.472-1.276-1.603-1.798-.207-.822.52-1.842 1.577-2.38 1.397-.714 3.825.066 4.176 1.128.35 1.062.33 2.041-.436 2.602-1.214.889-2.465 1.04-3.714.449z"
transform="scale(.26458)"
></path>
/>
<path
d="M113.895 146.8c-.662-.31-1.51-1.648-1.238-1.67l6.153-.485c.284-.023-.434 1.493-1.413 1.947-1.272.591-2.557.65-3.502.207z"
transform="scale(.26458)"
></path>
/>
</g>
</g>
</svg>

View File

@@ -17,7 +17,7 @@ export function CrossIcon({
fillRule="evenodd"
d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
clipRule="evenodd"
></path>
/>
</svg>
);
}

View File

@@ -0,0 +1,12 @@
export function FolderIcon({ width = 24 }: { width?: number }) {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="currentColor"
width={width}
>
<path d="M19.5 21a3 3 0 0 0 3-3v-4.5a3 3 0 0 0-3-3h-15a3 3 0 0 0-3 3V18a3 3 0 0 0 3 3h15ZM1.5 10.146V6a3 3 0 0 1 3-3h5.379a2.25 2.25 0 0 1 1.59.659l2.122 2.121c.14.141.331.22.53.22H19.5a3 3 0 0 1 3 3v1.146A4.483 4.483 0 0 0 19.5 9h-15a4.483 4.483 0 0 0-3 1.146Z" />
</svg>
);
}

View File

@@ -16,7 +16,7 @@ export function FootIcon({
<path
transform={flipped ? undefined : 'scale(-1,1) translate(-28,0)'}
d="M11.5 3A1.5 2 0 0 0 10 5a1.5 2 0 0 0 1.5 2A1.5 2 0 0 0 13 5a1.5 2 0 0 0-1.5-2zm3.244.678a1 1.333 0 0 0-1 1.334 1 1.333 0 0 0 1 1.332 1 1.333 0 0 0 1-1.332 1 1.333 0 0 0-1-1.334zm2.33 1.039a.863 1.151 0 0 0-.861 1.15.863 1.151 0 0 0 .861 1.15.863 1.151 0 0 0 .863-1.15.863 1.151 0 0 0-.863-1.15zm1.582 1.863a.611.815 0 0 0-.61.815.611.815 0 0 0 .61.816.611.815 0 0 0 .612-.816.611.815 0 0 0-.612-.815zM13.918 8C11.629 8 10 9.731 10 12c0 2.887 3 2.82 3 5 0 1.604-1.272 2.766-1.781 4.295a3.5 3.5 0 0 0-.096.305c-.014.054-.031.108-.043.164a3.5 3.5 0 0 0-.08.736 3.5 3.5 0 0 0 3.5 3.5 3.5 3.5 0 0 0 3.5-3.5c0-3.91 1.998-5.5 1.998-8.5 0-3.612-3.317-6-6.08-6zm5.582.666a.5.667 0 0 0-.5.666.5.667 0 0 0 .5.668.5.667 0 0 0 .5-.668.5.667 0 0 0-.5-.666z"
></path>
/>
</svg>
);
}

View File

@@ -4,7 +4,7 @@ export function HeadsetIcon({ width = 24 }: { width?: number }) {
<path
transform="scale(0.75, 0.75) translate(120, 96)"
d="M576 64H64C28.7 64 0 92.7 0 128v256c0 35.3 28.7 64 64 64h120.4c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM96 240a64 64 0 11128 0 64 64 0 11-128 0zm384-64a64 64 0 110 128 64 64 0 110-128z"
></path>
/>
</svg>
);
}

View File

@@ -1,8 +1,8 @@
export function HumanIcon({ width = 20 }: { width?: number }) {
return (
<svg xmlns="http://www.w3.org/2000/svg" width={width} viewBox="0 0 512 512">
<path d="M256 112a56 56 0 1156-56 56.06 56.06 0 01-56 56z"></path>
<path d="M432 112.8l-.45.12-.42.13c-1 .28-2 .58-3 .89-18.61 5.46-108.93 30.92-172.56 30.92-59.13 0-141.28-22-167.56-29.47a73.79 73.79 0 00-8-2.58c-19-5-32 14.3-32 31.94 0 17.47 15.7 25.79 31.55 31.76v.28l95.22 29.74c9.73 3.73 12.33 7.54 13.6 10.84 4.13 10.59.83 31.56-.34 38.88l-5.8 45-32.19 176.19q-.15.72-.27 1.47l-.23 1.27c-2.32 16.15 9.54 31.82 32 31.82 19.6 0 28.25-13.53 32-31.94s28-157.57 42-157.57 42.84 157.57 42.84 157.57c3.75 18.41 12.4 31.94 32 31.94 22.52 0 34.38-15.74 32-31.94a57.17 57.17 0 00-.76-4.06L329 301.27l-5.79-45c-4.19-26.21-.82-34.87.32-36.9a1.09 1.09 0 00.08-.15c1.08-2 6-6.48 17.48-10.79l89.28-31.21a16.9 16.9 0 001.62-.52c16-6 32-14.3 32-31.93S451 107.81 432 112.8z"></path>
<path d="M256 112a56 56 0 1156-56 56.06 56.06 0 01-56 56z" />
<path d="M432 112.8l-.45.12-.42.13c-1 .28-2 .58-3 .89-18.61 5.46-108.93 30.92-172.56 30.92-59.13 0-141.28-22-167.56-29.47a73.79 73.79 0 00-8-2.58c-19-5-32 14.3-32 31.94 0 17.47 15.7 25.79 31.55 31.76v.28l95.22 29.74c9.73 3.73 12.33 7.54 13.6 10.84 4.13 10.59.83 31.56-.34 38.88l-5.8 45-32.19 176.19q-.15.72-.27 1.47l-.23 1.27c-2.32 16.15 9.54 31.82 32 31.82 19.6 0 28.25-13.53 32-31.94s28-157.57 42-157.57 42.84 157.57 42.84 157.57c3.75 18.41 12.4 31.94 32 31.94 22.52 0 34.38-15.74 32-31.94a57.17 57.17 0 00-.76-4.06L329 301.27l-5.79-45c-4.19-26.21-.82-34.87.32-36.9a1.09 1.09 0 00.08-.15c1.08-2 6-6.48 17.48-10.79l89.28-31.21a16.9 16.9 0 001.62-.52c16-6 32-14.3 32-31.93S451 107.81 432 112.8z" />
</svg>
);
}

View File

@@ -20,28 +20,28 @@ export function LoaderIcon({
alt="Slime jumping"
width={size}
// className="crisp-edges"
></img>
/>
<img
hidden={slimeState !== SlimeState.HAPPY}
src="/images/happy-slime.gif"
alt="Happy slime"
width={size}
// className="crisp-edges"
></img>
/>
<img
hidden={slimeState !== SlimeState.SAD}
src="/images/sad-slime.gif"
alt="Sad slime"
width={size}
// className="crisp-edges"
></img>
/>
<img
hidden={slimeState !== SlimeState.CURIOUS}
src="/images/curious-slime.gif"
alt="Slime looking for something"
width={size}
// className="crisp-edges"
></img>
/>
</>
);
}

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