Compare commits
839 Commits
v0.13.2
...
hannah/ins
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f28b5a3a26 | ||
|
|
13aabd74da | ||
|
|
9957abb658 | ||
|
|
41ef425869 | ||
|
|
517e76b6df | ||
|
|
77a203c6bc | ||
|
|
bd9ea99087 | ||
|
|
242cdd460f | ||
|
|
5f648731d7 | ||
|
|
bcda3ac222 | ||
|
|
e7dc16ecef | ||
|
|
d0bf170a75 | ||
|
|
d3be840591 | ||
|
|
34d35fa6fd | ||
|
|
1372632ece | ||
|
|
6322fac922 | ||
|
|
d8900d7589 | ||
|
|
7bcdd6887b | ||
|
|
1f97b49a20 | ||
|
|
3873eb5519 | ||
|
|
e2a665d4ce | ||
|
|
e2ff92ef9e | ||
|
|
acb3873f84 | ||
|
|
28deb357da | ||
|
|
5954f9c942 | ||
|
|
84806c44db | ||
|
|
24b2c8722b | ||
|
|
2dd8fd9667 | ||
|
|
f2243d355c | ||
|
|
e4fc57a0a6 | ||
|
|
24fe01e7b9 | ||
|
|
0f866c49c5 | ||
|
|
4053052829 | ||
|
|
5ab3075a61 | ||
|
|
215228551d | ||
|
|
d58d6f8eec | ||
|
|
f765ef0e4a | ||
|
|
a5bee8772c | ||
|
|
c956e5d1cb | ||
|
|
865ffc5543 | ||
|
|
25e771f4f5 | ||
|
|
74628d215a | ||
|
|
f19f5cbe51 | ||
|
|
711d0cae63 | ||
|
|
60321891b8 | ||
|
|
b89a290ac9 | ||
|
|
c4d0fe59fd | ||
|
|
58a9d3b6eb | ||
|
|
a3314fa4f9 | ||
|
|
778e0bde56 | ||
|
|
398e96404d | ||
|
|
be476fe04f | ||
|
|
f2223e5839 | ||
|
|
248f1a6dc9 | ||
|
|
5a6ef6dee5 | ||
|
|
ba5adca358 | ||
|
|
67f1ac7684 | ||
|
|
636514361d | ||
|
|
4d93f87a01 | ||
|
|
63d36db15e | ||
|
|
5d7c65e89b | ||
|
|
9b8073153a | ||
|
|
ada87ff15b | ||
|
|
7b40b8d315 | ||
|
|
0f1a19e04b | ||
|
|
d1387508e6 | ||
|
|
50a2be81f7 | ||
|
|
29598583a9 | ||
|
|
e83adadf1f | ||
|
|
87699438b4 | ||
|
|
bfea8026a4 | ||
|
|
d1cf5dee24 | ||
|
|
b90f52ad7b | ||
|
|
af917d7158 | ||
|
|
2d7877742c | ||
|
|
f3d05e9867 | ||
|
|
802b011a4a | ||
|
|
971dd2c43f | ||
|
|
88adfce242 | ||
|
|
3d02795dbc | ||
|
|
a1205d398a | ||
|
|
185c82a2b4 | ||
|
|
66e6066558 | ||
|
|
604639680f | ||
|
|
da3249849a | ||
|
|
cb3989004c | ||
|
|
544993d535 | ||
|
|
d7945be91a | ||
|
|
7ff50f78eb | ||
|
|
0e3aaf105c | ||
|
|
f638540886 | ||
|
|
343d69d690 | ||
|
|
e2d7d354c6 | ||
|
|
cc6f297b92 | ||
|
|
2add43e71a | ||
|
|
0a493ac345 | ||
|
|
17bb2703d1 | ||
|
|
f0981bf709 | ||
|
|
99de554c18 | ||
|
|
f95a4d56d7 | ||
|
|
1df3c9d322 | ||
|
|
e0838cce6c | ||
|
|
e25d3201c2 | ||
|
|
5d14f14139 | ||
|
|
09e81f5ace | ||
|
|
8f57ef2de4 | ||
|
|
ea242960b3 | ||
|
|
35ac14a7de | ||
|
|
690a8b5c6e | ||
|
|
255b8b2865 | ||
|
|
e27ec63985 | ||
|
|
9f8be6551c | ||
|
|
f09cd687c7 | ||
|
|
686499f8dd | ||
|
|
a3bcc61892 | ||
|
|
faf70c9a39 | ||
|
|
2aa8d3a056 | ||
|
|
23df46ca33 | ||
|
|
8407f52777 | ||
|
|
b44dcaa9c2 | ||
|
|
ff0d823aff | ||
|
|
2e8bfa5373 | ||
|
|
87940ddd03 | ||
|
|
6208979ce9 | ||
|
|
9a27fb1320 | ||
|
|
53129328d0 | ||
|
|
2d79c5a0e9 | ||
|
|
74f5a92ce1 | ||
|
|
146930279c | ||
|
|
0c33579858 | ||
|
|
c9783d097b | ||
|
|
d3eafb8d06 | ||
|
|
09d44b51d6 | ||
|
|
cf357e71f5 | ||
|
|
122efacc52 | ||
|
|
7f536528d0 | ||
|
|
3982249ebf | ||
|
|
388bea2e72 | ||
|
|
921a760817 | ||
|
|
55bcec4dda | ||
|
|
bb08e8dc6a | ||
|
|
a82f950eb6 | ||
|
|
e2dbaab8ba | ||
|
|
3611bb5cc7 | ||
|
|
f01f599526 | ||
|
|
6847526ce8 | ||
|
|
c5f28a6a01 | ||
|
|
86d7d5fdc6 | ||
|
|
781f4d489a | ||
|
|
5a42426048 | ||
|
|
44643f2cc6 | ||
|
|
d902515f4f | ||
|
|
f9df08aefd | ||
|
|
28b18e0d42 | ||
|
|
247c063791 | ||
|
|
ab248287cc | ||
|
|
9a26fc98b8 | ||
|
|
16a2ac8474 | ||
|
|
c4acf4cc41 | ||
|
|
4b0a2d27d0 | ||
|
|
2c6708bfe7 | ||
|
|
2880623cce | ||
|
|
17400ca337 | ||
|
|
3276f6db7a | ||
|
|
db59537adc | ||
|
|
4f1fd82923 | ||
|
|
f6ccb5970f | ||
|
|
c937b91267 | ||
|
|
2d1f32b950 | ||
|
|
8acba98bcc | ||
|
|
d7ba1b8335 | ||
|
|
d20e9bfd94 | ||
|
|
3d54a86bd8 | ||
|
|
c9883f5eb4 | ||
|
|
8bd36fac25 | ||
|
|
ab4d507d9f | ||
|
|
9efb985260 | ||
|
|
2c2c227187 | ||
|
|
63cca6756e | ||
|
|
b0d7fefa5e | ||
|
|
35a5cb47d9 | ||
|
|
dfc4383271 | ||
|
|
185431a733 | ||
|
|
5b68a01186 | ||
|
|
2c4dd4085f | ||
|
|
4d3ff0e9c9 | ||
|
|
ee6182bb23 | ||
|
|
9576d6e034 | ||
|
|
227ddc87d2 | ||
|
|
b3b7730b2c | ||
|
|
075a155f13 | ||
|
|
79a3b66e43 | ||
|
|
fe58968718 | ||
|
|
276e73e724 | ||
|
|
01dd916498 | ||
|
|
6ebf9792ac | ||
|
|
02f8195b5b | ||
|
|
7b4946f41d | ||
|
|
5f4c90128f | ||
|
|
6a2a30e319 | ||
|
|
8a5f27e8d9 | ||
|
|
199bec40e1 | ||
|
|
9d32220275 | ||
|
|
8b689d6df8 | ||
|
|
490005ae69 | ||
|
|
575778ab85 | ||
|
|
85ee162d58 | ||
|
|
712fa6a1ad | ||
|
|
819481adcd | ||
|
|
bc26227443 | ||
|
|
ac43ca947e | ||
|
|
4451d8aaf4 | ||
|
|
79a9e15c5a | ||
|
|
5403cdb28e | ||
|
|
272f37374e | ||
|
|
4147578dc8 | ||
|
|
65bd03c272 | ||
|
|
4835e89c5f | ||
|
|
7ea4516545 | ||
|
|
2f208fe08a | ||
|
|
db584baed3 | ||
|
|
1d41627fb1 | ||
|
|
63b8d4c8cb | ||
|
|
8e60ecd070 | ||
|
|
6ee173791e | ||
|
|
b9d72c0a40 | ||
|
|
36b2e01d88 | ||
|
|
569315f6dc | ||
|
|
a4fab8afed | ||
|
|
d1e3c35693 | ||
|
|
d12f3c4854 | ||
|
|
e32903f36f | ||
|
|
ab126c336c | ||
|
|
79a6d62506 | ||
|
|
08f691b5b6 | ||
|
|
b12632fd1a | ||
|
|
54f3ab4634 | ||
|
|
415168d040 | ||
|
|
6be313144e | ||
|
|
98e571c94b | ||
|
|
1561c464e9 | ||
|
|
4992d599aa | ||
|
|
90b3dfe0db | ||
|
|
ab87c5b1e8 | ||
|
|
3ee6c065cf | ||
|
|
d1249d2b44 | ||
|
|
94a70d3b2e | ||
|
|
b67162eb43 | ||
|
|
4390d35e00 | ||
|
|
19126c0d4d | ||
|
|
0cf0f6cb49 | ||
|
|
d3d3838761 | ||
|
|
4984026f6b | ||
|
|
bb7e825c41 | ||
|
|
bc96ddd555 | ||
|
|
ec85284f78 | ||
|
|
867287e740 | ||
|
|
2e93187021 | ||
|
|
2a19d67974 | ||
|
|
176f7e4271 | ||
|
|
3a6c60d912 | ||
|
|
066c28adb4 | ||
|
|
364ed3209c | ||
|
|
dab6ec28af | ||
|
|
b221250ba7 | ||
|
|
215635634f | ||
|
|
184133a613 | ||
|
|
32248c75cf | ||
|
|
0671c0e89f | ||
|
|
2acadbe11b | ||
|
|
5688c71d2e | ||
|
|
d3c89618f1 | ||
|
|
478ffdb611 | ||
|
|
0b7e5781d5 | ||
|
|
446a53277e | ||
|
|
b2acc1b28d | ||
|
|
27d2fff725 | ||
|
|
0c1f9b3e25 | ||
|
|
cfa4039e9e | ||
|
|
7b62b21e6f | ||
|
|
cc3af4ae7e | ||
|
|
09c44fc935 | ||
|
|
92f441d51f | ||
|
|
d5912513ff | ||
|
|
6417bf3167 | ||
|
|
5bf0694734 | ||
|
|
7b95837663 | ||
|
|
40067df800 | ||
|
|
c5546d71d2 | ||
|
|
307c250240 | ||
|
|
ca1afaa0aa | ||
|
|
809a0b81b2 | ||
|
|
01d5456f9f | ||
|
|
b81605dcf9 | ||
|
|
bb3be2fd17 | ||
|
|
b34da7dd3e | ||
|
|
0cc97ba9f8 | ||
|
|
a754a24d3f | ||
|
|
df209436c8 | ||
|
|
6abd06d435 | ||
|
|
43f6a9fac9 | ||
|
|
e07a152d46 | ||
|
|
e73dcad9a8 | ||
|
|
87de27e4ec | ||
|
|
e851abfd4f | ||
|
|
561dfd2d2e | ||
|
|
4e716ac53b | ||
|
|
12cd7908ef | ||
|
|
1e1cb435a2 | ||
|
|
0bd6d4fdbd | ||
|
|
9f2bd7f2e7 | ||
|
|
a6c5de6ef3 | ||
|
|
86046993b8 | ||
|
|
f7106833ed | ||
|
|
ef35b93569 | ||
|
|
2f5649a90a | ||
|
|
efd07a9afb | ||
|
|
2fad9b2563 | ||
|
|
8d2b74b254 | ||
|
|
3f1a614ac6 | ||
|
|
326284853c | ||
|
|
3ae337b3d8 | ||
|
|
fbef209d2d | ||
|
|
544b060691 | ||
|
|
63bceb49ca | ||
|
|
be9265cb97 | ||
|
|
c7286f8e48 | ||
|
|
a8e76e9198 | ||
|
|
be09af8ca6 | ||
|
|
d47533db08 | ||
|
|
c34944912b | ||
|
|
67b764026f | ||
|
|
9b74665e94 | ||
|
|
855d708464 | ||
|
|
760ecc6ae6 | ||
|
|
2f4bcb17b6 | ||
|
|
78e7517363 | ||
|
|
27e4af57f1 | ||
|
|
1d029a6c3a | ||
|
|
fe547cf56b | ||
|
|
9bddff99d8 | ||
|
|
11fc8a3fa7 | ||
|
|
075ca4715e | ||
|
|
991299b4fc | ||
|
|
84d85c29b7 | ||
|
|
5f1167f0de | ||
|
|
d74b26fbda | ||
|
|
838a60172d | ||
|
|
d6c05d2f9c | ||
|
|
25e74767be | ||
|
|
742a3fcafe | ||
|
|
45f0e14582 | ||
|
|
937c810f7a | ||
|
|
80a68e9a37 | ||
|
|
ce6b3439c9 | ||
|
|
12dd1cb314 | ||
|
|
d420bf0007 | ||
|
|
8e885a8890 | ||
|
|
a5160fbb8a | ||
|
|
2e1ec07b23 | ||
|
|
0dc78a7e72 | ||
|
|
ebd7712862 | ||
|
|
25beefd973 | ||
|
|
2ee65a9bd2 | ||
|
|
d986a5e116 | ||
|
|
8018ce7283 | ||
|
|
a5cdbffa4c | ||
|
|
3b690eac53 | ||
|
|
1cdca18538 | ||
|
|
6d77045aa1 | ||
|
|
b02234f9fc | ||
|
|
eb10f07711 | ||
|
|
f15a503936 | ||
|
|
c580aecb11 | ||
|
|
81879afa32 | ||
|
|
1cb4edb651 | ||
|
|
26e04db950 | ||
|
|
fade902fc0 | ||
|
|
e072fc75c6 | ||
|
|
94da52c0e4 | ||
|
|
56c3290e1c | ||
|
|
e0f1ad8d4f | ||
|
|
bd4ec047c3 | ||
|
|
e3b3cb77d1 | ||
|
|
5a8804630b | ||
|
|
0df8b938d8 | ||
|
|
7180f4eaa7 | ||
|
|
2a55617e3a | ||
|
|
1777d584fe | ||
|
|
edd9ea02e1 | ||
|
|
119d9158c0 | ||
|
|
0e073a01fd | ||
|
|
4e9fdb206c | ||
|
|
0a08d57426 | ||
|
|
c316c50f30 | ||
|
|
81716be512 | ||
|
|
1d273ac651 | ||
|
|
7dc815cd86 | ||
|
|
d6f771e6b2 | ||
|
|
3aeb0569b1 | ||
|
|
bf2c5d59ab | ||
|
|
94b2309945 | ||
|
|
e81c9c5b2d | ||
|
|
900bdc03ca | ||
|
|
5a73ad77f2 | ||
|
|
1c6a29940a | ||
|
|
adb0ae969d | ||
|
|
ae5783ce9f | ||
|
|
4408b36ffb | ||
|
|
8708778596 | ||
|
|
b045c88158 | ||
|
|
0235660642 | ||
|
|
3d90d22b56 | ||
|
|
7ac3993543 | ||
|
|
79294e95c7 | ||
|
|
2e9256a630 | ||
|
|
0e0992e6d4 | ||
|
|
5be7896d8b | ||
|
|
25c659ba03 | ||
|
|
e38a4b40b5 | ||
|
|
de16acbcf4 | ||
|
|
486cb295ac | ||
|
|
dd3fe24294 | ||
|
|
59bdedecbb | ||
|
|
fc3d049019 | ||
|
|
de150e7349 | ||
|
|
06b3f61d37 | ||
|
|
82b96d5ebe | ||
|
|
f2b4d468c2 | ||
|
|
1c0f5c381b | ||
|
|
fb25421ab0 | ||
|
|
4890b4a71c | ||
|
|
e38732a81c | ||
|
|
2a78354b17 | ||
|
|
3fb4347277 | ||
|
|
081e88ead4 | ||
|
|
73f41f8fc6 | ||
|
|
f233f59079 | ||
|
|
9644b00690 | ||
|
|
543e319c25 | ||
|
|
b7ef70f5c6 | ||
|
|
af171f8812 | ||
|
|
8ec3cade06 | ||
|
|
bec8be46ca | ||
|
|
ac7f809132 | ||
|
|
fcb241fab8 | ||
|
|
fbdcf2fa2d | ||
|
|
73c821e07b | ||
|
|
422ddd7ee8 | ||
|
|
943ad974ec | ||
|
|
12a5d59e89 | ||
|
|
85286651dd | ||
|
|
e9b3efe3d5 | ||
|
|
0f06ac0253 | ||
|
|
75fa1aa1e2 | ||
|
|
7d642a21f5 | ||
|
|
4e1421180c | ||
|
|
f0a72645d7 | ||
|
|
86b8e0a904 | ||
|
|
789e6a6962 | ||
|
|
f03b300d72 | ||
|
|
6b0822c0f6 | ||
|
|
d9774cab87 | ||
|
|
f07f9f3718 | ||
|
|
486be0973b | ||
|
|
9246dd00d3 | ||
|
|
baf515791d | ||
|
|
876450d764 | ||
|
|
44e90e255b | ||
|
|
41026ab851 | ||
|
|
d8509c431d | ||
|
|
66df65eb80 | ||
|
|
30641a5809 | ||
|
|
574523daec | ||
|
|
1913605d16 | ||
|
|
8aeecab51f | ||
|
|
9fd5d6a187 | ||
|
|
4568ebb41a | ||
|
|
2777d8af89 | ||
|
|
0c09c22306 | ||
|
|
3f9b997ffa | ||
|
|
df379ee234 | ||
|
|
acd628637e | ||
|
|
155dbfbff1 | ||
|
|
eda3d74c54 | ||
|
|
4b9f393cee | ||
|
|
069da63d1f | ||
|
|
3fbe58b027 | ||
|
|
aa6b5ab028 | ||
|
|
b2ee4e0b5e | ||
|
|
34ab0c6252 | ||
|
|
a8116a7f35 | ||
|
|
8c65129bb4 | ||
|
|
acaf6a7679 | ||
|
|
8044a8a824 | ||
|
|
1ec03b83b6 | ||
|
|
44caf24126 | ||
|
|
a125195695 | ||
|
|
d27385dfa4 | ||
|
|
68bd670d7c | ||
|
|
42eda428ae | ||
|
|
6504ebb9fb | ||
|
|
6332615b08 | ||
|
|
e054c393ea | ||
|
|
85c30b9425 | ||
|
|
5f5d96a1c7 | ||
|
|
2bce1af454 | ||
|
|
d45527f72e | ||
|
|
bd3acf1889 | ||
|
|
347fcf503f | ||
|
|
12c3379e9a | ||
|
|
77a871239d | ||
|
|
337d345ded | ||
|
|
34de9c3586 | ||
|
|
cb28221c58 | ||
|
|
64903038e0 | ||
|
|
4cbc6031f8 | ||
|
|
66f619bb4f | ||
|
|
09a0ed153b | ||
|
|
e8fa981225 | ||
|
|
54f9907238 | ||
|
|
8525f85d59 | ||
|
|
7293ddaa90 | ||
|
|
3ec6a61763 | ||
|
|
7874bbca27 | ||
|
|
b978eaf3f1 | ||
|
|
b2817cb3ba | ||
|
|
ab265d1689 | ||
|
|
527c4c7f91 | ||
|
|
7c506a3fe2 | ||
|
|
217dc875d5 | ||
|
|
489052141d | ||
|
|
62553f4227 | ||
|
|
89c18f8488 | ||
|
|
a8a2197f91 | ||
|
|
535f502169 | ||
|
|
bcc4dd4018 | ||
|
|
eebdd61e47 | ||
|
|
b3e2b0f77f | ||
|
|
fbf487c9ad | ||
|
|
c0d23c80e6 | ||
|
|
6b8931699b | ||
|
|
3b41398ef2 | ||
|
|
73ee6f7ced | ||
|
|
c59595a669 | ||
|
|
c85f27fa80 | ||
|
|
1ab4023200 | ||
|
|
50fdd1869e | ||
|
|
d8153fee52 | ||
|
|
d5323fd050 | ||
|
|
84bfc3687e | ||
|
|
dd06e2b28a | ||
|
|
add1e4eb5d | ||
|
|
5a7a650f83 | ||
|
|
0427f16e72 | ||
|
|
89ec689a46 | ||
|
|
4ae5fb7215 | ||
|
|
241179a924 | ||
|
|
ad16d05c42 | ||
|
|
3ef550d8b1 | ||
|
|
26f330c762 | ||
|
|
79eb43fca3 | ||
|
|
712fbc3ee8 | ||
|
|
0add9bad97 | ||
|
|
b308cc8ce3 | ||
|
|
3920654370 | ||
|
|
503637cb0a | ||
|
|
45ff48d9ac | ||
|
|
47b6f0f3c3 | ||
|
|
a6dd914e83 | ||
|
|
7832783388 | ||
|
|
37553ea889 | ||
|
|
419841d9f9 | ||
|
|
a4c14aa23e | ||
|
|
d71879cc4d | ||
|
|
ca14fa05e5 | ||
|
|
4f4c90d129 | ||
|
|
c56d953516 | ||
|
|
b58e9b9074 | ||
|
|
85d227c926 | ||
|
|
b9d97bb2d8 | ||
|
|
4fc09c348a | ||
|
|
795d73dd19 | ||
|
|
01130b858e | ||
|
|
85ea808119 | ||
|
|
44765d5b6e | ||
|
|
853d112737 | ||
|
|
8881746941 | ||
|
|
d3ee82cccc | ||
|
|
947f440600 | ||
|
|
8e887395f1 | ||
|
|
3f42b8ab51 | ||
|
|
52a8e24d9e | ||
|
|
80248e82f9 | ||
|
|
647964fe99 | ||
|
|
010018b400 | ||
|
|
4783eab37c | ||
|
|
f693d562ba | ||
|
|
964b19be01 | ||
|
|
00c768919d | ||
|
|
c9415b2c02 | ||
|
|
93d666a233 | ||
|
|
cc8538a332 | ||
|
|
f9d619f93a | ||
|
|
471714afd0 | ||
|
|
91ce0ed734 | ||
|
|
a35d2a77a2 | ||
|
|
ea31d58fb8 | ||
|
|
e74dee1892 | ||
|
|
d84fc40b23 | ||
|
|
0dd004825d | ||
|
|
9f36444169 | ||
|
|
52509c7950 | ||
|
|
868c441220 | ||
|
|
5ad408f61d | ||
|
|
9b30f9800c | ||
|
|
07e5ef647a | ||
|
|
47909ad46c | ||
|
|
99c92fad9e | ||
|
|
d7861614b7 | ||
|
|
b4a3e9cbd5 | ||
|
|
e58946f622 | ||
|
|
c8532c76c2 | ||
|
|
6f26ea7b50 | ||
|
|
a848dfac43 | ||
|
|
e5ea747cde | ||
|
|
34a782193b | ||
|
|
8498270df6 | ||
|
|
cd6ed7296b | ||
|
|
57541e560c | ||
|
|
6f877c3852 | ||
|
|
ca8d75e749 | ||
|
|
0dc073ca48 | ||
|
|
edbaf49e7a | ||
|
|
ca790a3799 | ||
|
|
3639bdc0ff | ||
|
|
6817eca793 | ||
|
|
03365eb050 | ||
|
|
df5744b861 | ||
|
|
bc602892b4 | ||
|
|
f49121b8a4 | ||
|
|
c31aab8237 | ||
|
|
8e7070d257 | ||
|
|
bf9a7fe7f4 | ||
|
|
00690dc351 | ||
|
|
2a4b9d29a1 | ||
|
|
4080540e03 | ||
|
|
e2bd7fa37c | ||
|
|
23ce2464ab | ||
|
|
fa6ea23533 | ||
|
|
eed5d21074 | ||
|
|
f5cb587e00 | ||
|
|
e395347421 | ||
|
|
7fec2f7468 | ||
|
|
44fc23d2f8 | ||
|
|
3dfaf1fdac | ||
|
|
972d113afb | ||
|
|
ffc6ca485f | ||
|
|
6a6771a7da | ||
|
|
15e4f9d3a5 | ||
|
|
843aeae581 | ||
|
|
26703ed04e | ||
|
|
4663d71eac | ||
|
|
cd2c170327 | ||
|
|
2f211e8514 | ||
|
|
69a446c987 | ||
|
|
3aace3ee3f | ||
|
|
186fd0c9f7 | ||
|
|
cc8f3fda9c | ||
|
|
b48c678800 | ||
|
|
2f7fd22b09 | ||
|
|
b50c940b24 | ||
|
|
f341d1d312 | ||
|
|
19e0e22ebf | ||
|
|
347eaf269b | ||
|
|
51ed5dbef2 | ||
|
|
aa0a96c3c5 | ||
|
|
a51c6136c2 | ||
|
|
457536b781 | ||
|
|
b514a48b37 | ||
|
|
b7dd646594 | ||
|
|
616419be7a | ||
|
|
df74e162bd | ||
|
|
25374847f6 | ||
|
|
7289c78fec | ||
|
|
33ca7734e5 | ||
|
|
58ab5efa6e | ||
|
|
01d2f5ae5f | ||
|
|
07542aa2b1 | ||
|
|
83f76154ff | ||
|
|
3996a60bf5 | ||
|
|
0cecc6e4c5 | ||
|
|
14011a8246 | ||
|
|
78ed11bd62 | ||
|
|
5b5d2d88e5 | ||
|
|
5bddc22da5 | ||
|
|
3d9c6c5fce | ||
|
|
a06161bbfa | ||
|
|
837ec60062 | ||
|
|
4b3b4d33ff | ||
|
|
400bad5eae | ||
|
|
346149a259 | ||
|
|
7e895b0405 | ||
|
|
b6ab0f306b | ||
|
|
315bd81197 | ||
|
|
8b73ca434b | ||
|
|
b1d7a026a1 | ||
|
|
ed9401427e | ||
|
|
8c8f7b3b38 | ||
|
|
bf2ef355b7 | ||
|
|
3f1a794148 | ||
|
|
a0cedde4b7 | ||
|
|
eb23778bec | ||
|
|
5353101fff | ||
|
|
d32f91e6b8 | ||
|
|
f0d07466cd | ||
|
|
49bcc86c4e | ||
|
|
e7b29b1a2e | ||
|
|
b2c030c275 | ||
|
|
9e92450700 | ||
|
|
2eab516216 | ||
|
|
808dd0f670 | ||
|
|
171ad8b271 | ||
|
|
50585e40c8 | ||
|
|
9a14eef55e | ||
|
|
264710a1fb | ||
|
|
c649b9a5fe | ||
|
|
7ab6515a10 | ||
|
|
38f40cadbf | ||
|
|
9febcf8166 | ||
|
|
4ae197618e | ||
|
|
4dac7d28e4 | ||
|
|
589ed15ac2 | ||
|
|
e944b8a8fa | ||
|
|
2c5ec62c11 | ||
|
|
6b7ec2adc6 | ||
|
|
20c8c3e7c8 | ||
|
|
ceb6bd6f5a | ||
|
|
9c4ff8c064 | ||
|
|
4f364acecc | ||
|
|
f701075cf3 | ||
|
|
d498feee31 | ||
|
|
ecae40ece8 | ||
|
|
2eb4bab240 | ||
|
|
9e666a74e1 | ||
|
|
f89f9ae35b | ||
|
|
2cfda2272d | ||
|
|
256545ab62 | ||
|
|
d63587fcd1 | ||
|
|
18778db7c3 | ||
|
|
fb23ba8522 | ||
|
|
15ea04d7c9 | ||
|
|
154fb39794 | ||
|
|
a02de9790a | ||
|
|
98f40ac920 | ||
|
|
555e6959da | ||
|
|
f8520cd379 | ||
|
|
aee41cc3d4 | ||
|
|
0d8135a09e | ||
|
|
2c7b5c44f1 | ||
|
|
1a73ea7f58 | ||
|
|
4355a987ca | ||
|
|
bf7351c57d | ||
|
|
0c3090b716 | ||
|
|
daace77eb3 | ||
|
|
9e9dd9e9de | ||
|
|
59e5228b1d | ||
|
|
e93b06f471 | ||
|
|
93d69711d6 | ||
|
|
b495266a41 | ||
|
|
4acd1015b9 | ||
|
|
509ad76f2c | ||
|
|
1e7ce92839 | ||
|
|
d960fb3c04 | ||
|
|
0b873977e8 | ||
|
|
1cbde8a1e1 | ||
|
|
45173fa069 | ||
|
|
af543a72e2 | ||
|
|
a7633d2106 | ||
|
|
5e4bb6f105 | ||
|
|
e526530ef0 | ||
|
|
449235843e | ||
|
|
591e85eded | ||
|
|
f8673a97ed | ||
|
|
7aa4e62bbf | ||
|
|
0225d27abb | ||
|
|
e14aa93748 | ||
|
|
3b0fcf7be7 | ||
|
|
ae03c9dc2a | ||
|
|
b19d38a64f | ||
|
|
92eb829041 | ||
|
|
4ea57510ed | ||
|
|
d389b5acec | ||
|
|
eb08cb5aa1 | ||
|
|
d102cb3778 | ||
|
|
bfb30c472b | ||
|
|
4ad9d5cfca | ||
|
|
2c49d1dc65 | ||
|
|
fcd82324a9 | ||
|
|
b4df1d1444 | ||
|
|
181ba089c2 | ||
|
|
394c1dd438 | ||
|
|
2ff6e99385 | ||
|
|
3614612ac2 | ||
|
|
dfeb4e79a4 | ||
|
|
a606c5a375 | ||
|
|
4e698b693c | ||
|
|
208beff5e5 | ||
|
|
0eb81eec04 | ||
|
|
35f5d132c8 | ||
|
|
02cc2496f0 | ||
|
|
d84eaa203a | ||
|
|
e0d372e9bb | ||
|
|
b7a54f6aef | ||
|
|
9d65477af7 | ||
|
|
73cdc890f2 | ||
|
|
e8afb49685 | ||
|
|
716bc7bcf6 | ||
|
|
a05ae8c043 | ||
|
|
bc487f8655 | ||
|
|
2708b5a15b | ||
|
|
b52e705dc4 | ||
|
|
1a5584bcfc | ||
|
|
8238f569c6 | ||
|
|
1051d0c5e5 | ||
|
|
8fe2540f91 | ||
|
|
6232903691 | ||
|
|
819d2fc3b8 | ||
|
|
565a64b0e3 | ||
|
|
18f291345d | ||
|
|
67df399f14 | ||
|
|
222359692e | ||
|
|
288db165a7 | ||
|
|
9371938a00 | ||
|
|
eeac1586f5 | ||
|
|
384a0c2252 | ||
|
|
ec9845364d | ||
|
|
93944aad55 | ||
|
|
d992cd3f63 |
1
.envrc
@@ -2,7 +2,6 @@ if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
|
||||
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
|
||||
fi
|
||||
|
||||
nix_direnv_watch_file rust-toolchain.toml
|
||||
nix_direnv_watch_file package.json
|
||||
if ! use flake . --impure
|
||||
then
|
||||
|
||||
31
.github/CODEOWNERS
vendored
@@ -2,23 +2,22 @@
|
||||
* @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 @ImSapphire
|
||||
/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/electron/ @loucass003
|
||||
|
||||
# Some server code~
|
||||
/server/ @ButterscotchV @Eirenliel @Erimelowo
|
||||
@@ -32,7 +31,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
|
||||
|
||||
3
.github/labeler.yml
vendored
@@ -13,8 +13,7 @@
|
||||
"Area: GUI":
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file: "gui/**/*"
|
||||
- all-globs-to-all-files: "!gui/public/i18n/**"
|
||||
- all-globs-to-any-file: ["gui/**/*", "!gui/public/i18n/**/*"]
|
||||
"Area: Hardware Protocol":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file: "server/core/src/main/java/dev/slimevr/tracking/trackers/udp/**"
|
||||
|
||||
73
.github/workflows/build-gui.yml
vendored
@@ -21,13 +21,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
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,72 +42,61 @@ 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@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- if: matrix.os == 'ubuntu-22.04'
|
||||
name: Set up Linux dependencies
|
||||
uses: awalsh128/cache-apt-pkgs-action@latest
|
||||
with:
|
||||
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf
|
||||
# Increment to invalidate the cache
|
||||
version: 1.0
|
||||
# Enables a workaround to attempt to run pre and post install scripts
|
||||
execute_install_scripts: true
|
||||
# Disables uploading logs as a build artifact
|
||||
debug: false
|
||||
|
||||
- name: Cache cargo dependencies
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
shared-key: "${{ matrix.os }}"
|
||||
|
||||
- uses: pnpm/action-setup@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
run: pnpm i
|
||||
|
||||
- name: Build
|
||||
shell: bash
|
||||
run: |
|
||||
pnpm i
|
||||
pnpm run skipbundler --config $( ./gui/scripts/gitversion.mjs )
|
||||
env:
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
NODE_OPTIONS: ${{ matrix.os == 'macos-latest' && '--max-old-space-size=4096' || '' }}
|
||||
run: cd gui && pnpm run build
|
||||
|
||||
- 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@v6
|
||||
with:
|
||||
# Artifact name
|
||||
name: SlimeVR-GUI-Windows
|
||||
# A file, directory or wildcard pattern that describes what to upload
|
||||
path: target/release/slimevr.exe
|
||||
name: ${{ format('SlimeVR-GUI-Windows-{0}', env.BUILD_ARCH) }}
|
||||
path: gui/out/renderer/**/*
|
||||
|
||||
- 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@v6
|
||||
with:
|
||||
# Artifact name
|
||||
name: SlimeVR-GUI-Linux
|
||||
# A file, directory or wildcard pattern that describes what to upload
|
||||
path: target/release/slimevr
|
||||
name: ${{ format('SlimeVR-GUI-Linux-{0}', env.BUILD_ARCH) }}
|
||||
path: gui/out/renderer/**/*
|
||||
|
||||
- if: matrix.os == 'macos-latest'
|
||||
name: Upload a Build Artifact (macOS)
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v6
|
||||
with:
|
||||
# Artifact name
|
||||
name: SlimeVR-GUI-macOS
|
||||
# A file, directory or wildcard pattern that describes what to upload
|
||||
path: target/release/slimevr
|
||||
path: gui/out/renderer/**/*
|
||||
|
||||
34
.github/workflows/generate-update-manifest.yml
vendored
Normal 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@v6
|
||||
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 }}
|
||||
249
.github/workflows/gradle.yaml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
@@ -27,15 +27,15 @@ 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
|
||||
- run: mkdir -p ./gui/out/renderer && touch ./gui/out/renderer/somefile
|
||||
shell: bash
|
||||
|
||||
- name: Check code formatting
|
||||
@@ -44,12 +44,11 @@ jobs:
|
||||
- name: Test with Gradle
|
||||
run: ./gradlew test
|
||||
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
@@ -57,22 +56,22 @@ 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
|
||||
run: ./gradlew :server:desktop:shadowJar
|
||||
|
||||
- name: Upload the Server JAR as a Build Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v6
|
||||
with:
|
||||
# Artifact name
|
||||
name: "SlimeVR-Server" # optional, default is artifact
|
||||
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
|
||||
|
||||
@@ -85,11 +84,10 @@ jobs:
|
||||
files: |
|
||||
server/desktop/build/libs/slimevr.jar
|
||||
|
||||
|
||||
bundle-android:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
@@ -97,41 +95,49 @@ 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'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm i
|
||||
|
||||
- name: Build GUI
|
||||
run: |
|
||||
pnpm i
|
||||
cd gui && pnpm run build
|
||||
env:
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
run: cd gui && pnpm run build
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew :server:android:assembleDebug
|
||||
run: ./gradlew :server:android:build
|
||||
env:
|
||||
ANDROID_STORE_FILE: ${{ secrets.ANDROID_STORE_FILE }}
|
||||
ANDROID_STORE_PASSWD: ${{ secrets.ANDROID_STORE_PASSWD }}
|
||||
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
|
||||
ANDROID_KEY_PASSWD: ${{ secrets.ANDROID_KEY_PASSWD }}
|
||||
|
||||
- name: Upload the Android Build Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
- name: Upload the Android build artifact
|
||||
uses: actions/upload-artifact@v6
|
||||
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/*
|
||||
|
||||
- name: Prepare for release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: |
|
||||
cp server/android/build/outputs/apk/debug/android-debug.apk ./SlimeVR-android.apk
|
||||
cp server/android/build/outputs/apk/release/android-release.apk ./SlimeVR-android.apk
|
||||
|
||||
- name: Upload to draft release
|
||||
uses: softprops/action-gh-release@v2
|
||||
@@ -142,79 +148,105 @@ jobs:
|
||||
files: |
|
||||
./SlimeVR-android.apk
|
||||
|
||||
- name: Build Google Play release bundle
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: ./gradlew :server:android:bundleRelease
|
||||
env:
|
||||
ANDROID_STORE_FILE: ${{ secrets.ANDROID_GPLAY_STORE_FILE }}
|
||||
ANDROID_STORE_PASSWD: ${{ secrets.ANDROID_GPLAY_STORE_PASSWD }}
|
||||
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_GPLAY_KEY_ALIAS }}
|
||||
ANDROID_KEY_PASSWD: ${{ secrets.ANDROID_GPLAY_KEY_PASSWD }}
|
||||
|
||||
- name: Upload the Google Play artifact
|
||||
uses: actions/upload-artifact@v6
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
# Artifact name
|
||||
name: 'SlimeVR-Android-GPDev' # optional, default is artifact
|
||||
# A file, directory or wildcard pattern that describes what to upload
|
||||
path: server/android/build/outputs/bundle/release/*
|
||||
|
||||
bundle-linux:
|
||||
runs-on: ubuntu-22.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@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- uses: actions/download-artifact@v7
|
||||
with:
|
||||
name: "SlimeVR-Server"
|
||||
name: 'SlimeVR-Server'
|
||||
path: server/desktop/build/libs/
|
||||
|
||||
- name: Set up Linux dependencies
|
||||
uses: awalsh128/cache-apt-pkgs-action@latest
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
||||
with:
|
||||
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf libfuse2
|
||||
packages: |
|
||||
build-essential curl wget file libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev xdg-utils patchelf
|
||||
# Increment to invalidate the cache
|
||||
version: 1.0
|
||||
version: ${{ format('v2.0-electron-{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
|
||||
|
||||
- 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'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm i
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
run: |
|
||||
pnpm i
|
||||
pnpm run tauri build --config $( ./gui/scripts/gitversion.mjs )
|
||||
cd gui
|
||||
pnpm run build
|
||||
pnpm exec electron-builder --linux --publish never
|
||||
|
||||
- name: Make GUI tarball
|
||||
run: |
|
||||
tar czf slimevr-gui-dist.tar.gz -C gui/dist/ .
|
||||
tar czf slimevr-gui-dist.tar.gz -C gui/out/renderer/ .
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@v6
|
||||
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@v6
|
||||
with:
|
||||
name: SlimeVR-GUI-Deb
|
||||
path: target/release/bundle/deb/slimevr*.deb
|
||||
name: ${{ format('SlimeVR-GUI-Deb-{0}', env.BUILD_ARCH) }}
|
||||
path: gui/dist/artifacts/*.deb
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: SlimeVR-GUI-AppImage
|
||||
path: target/release/bundle/appimage/slimevr*.AppImage
|
||||
name: ${{ format('SlimeVR-GUI-AppImage-{0}', env.BUILD_ARCH) }}
|
||||
path: gui/dist/artifacts/*.AppImage
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: SlimeVR-GUI-RPM
|
||||
path: target/release/bundle/rpm/slimevr*.rpm
|
||||
name: ${{ format('SlimeVR-GUI-RPM-{0}', env.BUILD_ARCH) }}
|
||||
path: gui/dist/artifacts/*.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 gui/dist/artifacts/*.AppImage "./SlimeVR-$BUILD_ARCH.appimage"
|
||||
cp gui/dist/artifacts/*.deb "./SlimeVR-$BUILD_ARCH.deb"
|
||||
cp gui/dist/artifacts/*.rpm "./SlimeVR-$BUILD_ARCH.rpm"
|
||||
|
||||
- name: Upload to draft release
|
||||
uses: softprops/action-gh-release@v2
|
||||
@@ -224,72 +256,53 @@ 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@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- uses: actions/download-artifact@v7
|
||||
with:
|
||||
name: "SlimeVR-Server"
|
||||
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'
|
||||
|
||||
- name: Build
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
rustup target add x86_64-apple-darwin
|
||||
pnpm i
|
||||
pnpm run tauri build --target universal-apple-darwin --config $( ./gui/scripts/gitversion.mjs )
|
||||
|
||||
- name: Modify Application
|
||||
- name: Build
|
||||
env:
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
NODE_OPTIONS: --max-old-space-size=4096
|
||||
run: |
|
||||
cd target/universal-apple-darwin/release/bundle/macos/slimevr.app/Contents/MacOS
|
||||
cp $( git rev-parse --show-toplevel )/server/desktop/build/libs/slimevr.jar ./
|
||||
cd ../../../
|
||||
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName SlimeVR" slimevr.app/Contents/Info.plist
|
||||
/usr/libexec/PlistBuddy -c "Set :CFBundleName SlimeVR" slimevr.app/Contents/Info.plist
|
||||
codesign --sign - --deep --force slimevr.app
|
||||
mv slimevr.app SlimeVR.app
|
||||
cd ../dmg/
|
||||
./bundle_dmg.sh --volname SlimeVR --icon slimevr 180 170 --app-drop-link 480 170 \
|
||||
--window-size 660 400 --hide-extension ../macos/SlimeVR.app \
|
||||
--volicon ../macos/SlimeVR.app/Contents/Resources/icon.icns --skip-jenkins \
|
||||
--eula ../../../../LICENSE-MIT slimevr.dmg ../macos/SlimeVR.app
|
||||
cd gui
|
||||
pnpm run build
|
||||
pnpm exec electron-builder --mac --universal --publish never
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: SlimeVR-GUI-MacApp
|
||||
path: target/universal-apple-darwin/release/bundle/macos/SlimeVR*.app
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: SlimeVR-GUI-MacDmg
|
||||
path: target/universal-apple-darwin/release/bundle/dmg/slimevr.dmg
|
||||
path: gui/dist/artifacts/*.dmg
|
||||
|
||||
- name: Prepare for release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: |
|
||||
cp target/universal-apple-darwin/release/bundle/dmg/slimevr.dmg ./SlimeVR-mac.dmg
|
||||
cp gui/dist/artifacts/*.dmg ./SlimeVR-mac.dmg
|
||||
|
||||
- name: Upload to draft release
|
||||
uses: softprops/action-gh-release@v2
|
||||
@@ -300,52 +313,60 @@ 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@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- uses: actions/download-artifact@v7
|
||||
with:
|
||||
name: "SlimeVR-Server"
|
||||
name: 'SlimeVR-Server'
|
||||
path: server/desktop/build/libs/
|
||||
|
||||
- name: Cache cargo dependencies
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
shared-key: "windows-latest"
|
||||
|
||||
- uses: pnpm/action-setup@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
run: pnpm i
|
||||
|
||||
- name: Build
|
||||
shell: bash
|
||||
env:
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
run: |
|
||||
pnpm i
|
||||
pnpm run skipbundler --config $( ./gui/scripts/gitversion.mjs )
|
||||
cd gui
|
||||
pnpm run build
|
||||
pnpm exec electron-builder --win portable --publish never
|
||||
|
||||
- name: Bundle to zips
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir SlimeVR
|
||||
cp gui/src-tauri/icons/icon.ico ./SlimeVR/run.ico
|
||||
cp gui/dist/artifacts/*.exe ./SlimeVR/slimevr.exe
|
||||
cp gui/electron/resources/icons/icon.ico ./SlimeVR/run.ico
|
||||
cp server/desktop/build/libs/slimevr.jar ./SlimeVR/slimevr.jar
|
||||
cp server/core/resources/* ./SlimeVR/
|
||||
cp target/release/slimevr.exe ./SlimeVR/
|
||||
7z a -tzip SlimeVR-win64.zip ./SlimeVR/
|
||||
7z a -tzip "SlimeVR-$BUILD_ARCH.zip" ./SlimeVR/
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: SlimeVR-GUI-Windows
|
||||
name: ${{ format('SlimeVR-GUI-Windows-{0}', env.BUILD_ARCH) }}
|
||||
path: ./SlimeVR*.zip
|
||||
|
||||
- name: Upload to draft release
|
||||
@@ -354,4 +375,4 @@ jobs:
|
||||
with:
|
||||
draft: true
|
||||
generate_release_notes: true
|
||||
files: ./SlimeVR-win64.zip
|
||||
files: ./SlimeVR-*.zip
|
||||
|
||||
2
.github/workflows/label.yml
vendored
@@ -17,6 +17,6 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/labeler@v5
|
||||
- uses: actions/labeler@v6
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
||||
17
.github/workflows/pontoon-pr.yml
vendored
@@ -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@v6
|
||||
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 🥺"
|
||||
|
||||
2
.github/workflows/rebase.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: pontoon
|
||||
submodules: recursive
|
||||
|
||||
10
.gitignore
vendored
@@ -34,12 +34,16 @@
|
||||
# ignore gradle build folder
|
||||
build/
|
||||
|
||||
# Rust build artifacts
|
||||
/target
|
||||
|
||||
# direnv has been claimed for Nix usage
|
||||
.direnv/
|
||||
.devenv
|
||||
|
||||
# Ignore Android local properties
|
||||
local.properties
|
||||
|
||||
# Ignore temporary config
|
||||
vrconfig.yml.tmp
|
||||
|
||||
|
||||
# Nixos
|
||||
.bin/
|
||||
|
||||
@@ -1 +1 @@
|
||||
18.12.1
|
||||
22.17.0
|
||||
|
||||
1
.vscode/extensions.json
vendored
@@ -7,7 +7,6 @@
|
||||
"gaborv.flatbuffers",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"esbenp.prettier-vscode",
|
||||
"rust-lang.rust-analyzer",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
"EditorConfig.EditorConfig",
|
||||
"macabeus.vscode-fluent",
|
||||
|
||||
@@ -7,8 +7,6 @@ This document describes essential knowledge required to contribute to the SlimeV
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
- [Java v17+](https://adoptium.net/temurin/releases/)
|
||||
- [Node.js v16.9+](https://nodejs.org) (We recommend the use of `nvm` instead of installing Node.js directly)
|
||||
- [Microsoft Edge WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section) or `webkit2gtk` for Linux
|
||||
- [Rust](https://rustup.rs)
|
||||
|
||||
## Cloning the code
|
||||
First, clone the codebase using git in a terminal in the folder you want.
|
||||
@@ -32,13 +30,12 @@ be at `server/build/libs/slimevr.jar` (you can ignore `server.jar`).
|
||||
|
||||
(Note: Your IDE may be able to do all of the above for you.)
|
||||
|
||||
### Tauri (gui)
|
||||
### Electron (gui)
|
||||
|
||||
- Activate corepack (included with Node.JS) via `corepack enable` (might require administrator permissions)
|
||||
- Run `pnpm i` in your IDE's terminal to download and install dependencies.
|
||||
- To launch the GUI in dev mode, run `pnpm gui`.
|
||||
- Finally, to compile for production, run `pnpm run tauri build`. The result
|
||||
will be at `target/release/slimevr.exe`.
|
||||
- Finally, to compile for production, run `pnpm build`. The result
|
||||
|
||||
## Code style
|
||||
|
||||
@@ -84,7 +81,7 @@ Import the formatting settings defined in `spotless.xml`, like this:
|
||||
Eclipse will only do a subset of the checks in `spotless`, so you may still want to do
|
||||
`./gradlew spotlessApply` if you ever see an error from spotless.
|
||||
|
||||
### Tauri (gui)
|
||||
### Electron (gui)
|
||||
|
||||
We use ESLint and Prettier to format GUI code.
|
||||
- First, go into the GUI's directory with your terminal by running `cd gui`.
|
||||
@@ -105,6 +102,7 @@ When touching SolarXR:
|
||||
- After editing files, you should run `cd solarxr-protocol`, then either run
|
||||
`./generate-flatbuffer.ps1` (Windows) or `./generate-flatbuffer.sh` (Linux/OSX)
|
||||
- Make sure to commit your changes inside the submodule.
|
||||
- To make sure the gui use the latest generated code, run `pnpm i`.
|
||||
|
||||
## Code Licensing
|
||||
SlimeVR uses dual MIT and Apache-2.0 license. Be sure that any code that you reference,
|
||||
@@ -115,3 +113,9 @@ licensed under `GPL-v3`.
|
||||
## Discord
|
||||
We use discord *a lot* to coordinate and discuss development. Come join us at
|
||||
https://discord.gg/SlimeVR!
|
||||
|
||||
## Use of AI
|
||||
We DO NOT accept contributions that are generated with AI (for example, "vibe-coding").
|
||||
|
||||
If you do use AI, and you believe your usage of AI is reasonable, you must clearly disclose
|
||||
how you used AI in your submission.
|
||||
|
||||
5628
Cargo.lock
generated
16
Cargo.toml
@@ -1,16 +0,0 @@
|
||||
[workspace]
|
||||
# Use 2021 edition resolver, better resolves crate features.
|
||||
resolver = "2"
|
||||
|
||||
# A list of all rust crates in the workspace.
|
||||
members = ["gui/src-tauri"]
|
||||
|
||||
# These settings can be inherited by workspace members
|
||||
[workspace.package]
|
||||
edition = "2021"
|
||||
license = "MIT OR Apache-2.0"
|
||||
rust-version = "1.75" # Tauri's MSRV
|
||||
repository = "https://github.com/SlimeVR/SlimeVR-Server"
|
||||
|
||||
[profile.release]
|
||||
lto = "thin"
|
||||
@@ -47,6 +47,11 @@ on SlimeVR, you need to be aware of them:**
|
||||
Please refer to the [LICENSE-MIT] and [LICENSE-APACHE] files if you are at any point
|
||||
uncertain what the exact requirements are.
|
||||
|
||||
## Trademark and Logo use
|
||||
**SlimeVR is a trademark or a registered trademark of SlimeVR B.V. Usage of SlimeVR software, hardware, or other intellectual property in this or other repositories does not grant you the right to use SlimeVR trademark as your own.**
|
||||
|
||||
For more information, please refer to the [TRADEMARK].
|
||||
|
||||
## Contributions
|
||||
Any contributions submitted for inclusion in this repository will be dual-licensed under
|
||||
either:
|
||||
@@ -64,3 +69,7 @@ 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*
|
||||
|
||||
33
TRADEMARK.md
Normal file
@@ -0,0 +1,33 @@
|
||||
## SlimeVR is a trademark or a registered trademark of SlimeVR B.V.
|
||||
|
||||
**Usage of SlimeVR software, hardware, or other intellectual property in this or other repositories does not grant you the right to use SlimeVR trademark as your own.**
|
||||
|
||||
The purpose of a trademark is to remove uncertainty for users and customers regarding the product's manufacturer or endorsement. You're not allowed to market your product using SlimeVR name, and your usage of the name should be only factual and descriptive. For example, calling original SlimeVR products SlimeVR or describing compatibility of other products or derivatives. This applies to all products, including software, and hardware including non-official Full-Body Trackers.
|
||||
|
||||
**Here are a few _acceptable_ uses of SlimeVR name when selling unofficial Slime trackers:**
|
||||
* SlimeVR-compatible trackers
|
||||
* Unofficial SlimeVR trackers / Non-official SlimeVR trackers
|
||||
* DIY SlimeVR trackers
|
||||
* Third-party SlimeVR Trackers
|
||||
* Custom SlimeVR-compatible trackers
|
||||
* < Your Brand > Slime Trackers
|
||||
* Using "SlimeVR" as a search tag
|
||||
|
||||
**_Unacceptable_ uses include, but are not limited to:**
|
||||
* SlimeVR store
|
||||
* Buy SlimeVR
|
||||
* SlimeVR Trackers
|
||||
* Original SlimeVR
|
||||
* Official SlimeVR
|
||||
* SlimeVR BMI270 (or any other IMU model along with SlimeVR name)
|
||||
* < Your brand > SlimeVR / < your brand > SlimeVR Trackers
|
||||
|
||||
Use of the SlimeVR name that can cause confusion is not allowed in any part of the listing, including, but not limited to: product title, product description, product metadata, site title, site name, site metadata, site texts, social media posts, or other advertisement.
|
||||
|
||||
Also, please ensure you use the correct spelling and capitalization: only **"SlimeVR" is acceptable**. Not "Slimevr", "slimevr", or "Slime VR". You're allowed to use the word "slime" as you wish, it's not a trademark.
|
||||
|
||||
Please understand that we have an obligation to reduce confusion for the customers, and we believe that our usage terms are generous compared to many other companies and products. This applies to all sellers or derivative products, we do not make exceptions.
|
||||
|
||||
---
|
||||
|
||||
If you have any questions about SlimeVR trademark or copyrighted materials, you can reach out to us at *tm[at]slimevr.dev*.
|
||||
242
deny.toml
@@ -1,242 +0,0 @@
|
||||
# This template contains all of the possible sections and their default values
|
||||
|
||||
# Note that all fields that take a lint level have these possible values:
|
||||
# * deny - An error will be produced and the check will fail
|
||||
# * warn - A warning will be produced, but the check will not fail
|
||||
# * allow - No warning or error will be produced, though in some cases a note
|
||||
# will be
|
||||
|
||||
# The values provided in this template are the default values that will be used
|
||||
# when any section or field is not specified in your own configuration
|
||||
|
||||
# Root options
|
||||
|
||||
# The graph table configures how the dependency graph is constructed and thus
|
||||
# which crates the checks are performed against
|
||||
[graph]
|
||||
# If 1 or more target triples (and optionally, target_features) are specified,
|
||||
# only the specified targets will be checked when running `cargo deny check`.
|
||||
# This means, if a particular package is only ever used as a target specific
|
||||
# dependency, such as, for example, the `nix` crate only being used via the
|
||||
# `target_family = "unix"` configuration, that only having windows targets in
|
||||
# this list would mean the nix crate, as well as any of its exclusive
|
||||
# dependencies not shared by any other crates, would be ignored, as the target
|
||||
# list here is effectively saying which targets you are building for.
|
||||
targets = [
|
||||
# The triple can be any string, but only the target triples built in to
|
||||
# rustc (as of 1.40) can be checked against actual config expressions
|
||||
#"x86_64-unknown-linux-musl",
|
||||
# You can also specify which target_features you promise are enabled for a
|
||||
# particular target. target_features are currently not validated against
|
||||
# the actual valid features supported by the target architecture.
|
||||
#{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
|
||||
]
|
||||
# When creating the dependency graph used as the source of truth when checks are
|
||||
# executed, this field can be used to prune crates from the graph, removing them
|
||||
# from the view of cargo-deny. This is an extremely heavy hammer, as if a crate
|
||||
# is pruned from the graph, all of its dependencies will also be pruned unless
|
||||
# they are connected to another crate in the graph that hasn't been pruned,
|
||||
# so it should be used with care. The identifiers are [Package ID Specifications]
|
||||
# (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html)
|
||||
#exclude = []
|
||||
# If true, metadata will be collected with `--all-features`. Note that this can't
|
||||
# be toggled off if true, if you want to conditionally enable `--all-features` it
|
||||
# is recommended to pass `--all-features` on the cmd line instead
|
||||
all-features = false
|
||||
# If true, metadata will be collected with `--no-default-features`. The same
|
||||
# caveat with `all-features` applies
|
||||
no-default-features = false
|
||||
# If set, these feature will be enabled when collecting metadata. If `--features`
|
||||
# is specified on the cmd line they will take precedence over this option.
|
||||
#features = []
|
||||
|
||||
# The output table provides options for how/if diagnostics are outputted
|
||||
[output]
|
||||
# When outputting inclusion graphs in diagnostics that include features, this
|
||||
# option can be used to specify the depth at which feature edges will be added.
|
||||
# This option is included since the graphs can be quite large and the addition
|
||||
# of features from the crate(s) to all of the graph roots can be far too verbose.
|
||||
# This option can be overridden via `--feature-depth` on the cmd line
|
||||
feature-depth = 1
|
||||
|
||||
# This section is considered when running `cargo deny check advisories`
|
||||
# More documentation for the advisories section can be found here:
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
|
||||
[advisories]
|
||||
# The path where the advisory databases are cloned/fetched into
|
||||
#db-path = "$CARGO_HOME/advisory-dbs"
|
||||
# The url(s) of the advisory databases to use
|
||||
#db-urls = ["https://github.com/rustsec/advisory-db"]
|
||||
# A list of advisory IDs to ignore. Note that ignored advisories will still
|
||||
# output a note when they are encountered.
|
||||
ignore = [
|
||||
#"RUSTSEC-0000-0000",
|
||||
#{ id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" },
|
||||
#"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish
|
||||
#{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" },
|
||||
]
|
||||
# If this is true, then cargo deny will use the git executable to fetch advisory database.
|
||||
# If this is false, then it uses a built-in git library.
|
||||
# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
|
||||
# See Git Authentication for more information about setting up git authentication.
|
||||
#git-fetch-with-cli = true
|
||||
|
||||
# This section is considered when running `cargo deny check licenses`
|
||||
# More documentation for the licenses section can be found here:
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
|
||||
[licenses]
|
||||
# List of explicitly allowed licenses
|
||||
# See https://spdx.org/licenses/ for list of possible licenses
|
||||
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
|
||||
allow = [
|
||||
"MIT",
|
||||
"Apache-2.0",
|
||||
"Apache-2.0 WITH LLVM-exception",
|
||||
"Unicode-3.0",
|
||||
"Unicode-DFS-2016",
|
||||
"MIT-0",
|
||||
"ISC",
|
||||
"BSD-3-Clause",
|
||||
"Zlib",
|
||||
"MPL-2.0",
|
||||
]
|
||||
# The confidence threshold for detecting a license from license text.
|
||||
# The higher the value, the more closely the license text must be to the
|
||||
# canonical license text of a valid SPDX license file.
|
||||
# [possible values: any between 0.0 and 1.0].
|
||||
confidence-threshold = 0.8
|
||||
# Allow 1 or more licenses on a per-crate basis, so that particular licenses
|
||||
# aren't accepted for every possible crate as with the normal allow list
|
||||
exceptions = [
|
||||
# Each entry is the crate and version constraint, and its specific allow
|
||||
# list
|
||||
#{ allow = ["Zlib"], crate = "adler32" },
|
||||
]
|
||||
|
||||
# Some crates don't have (easily) machine readable licensing information,
|
||||
# adding a clarification entry for it allows you to manually specify the
|
||||
# licensing information
|
||||
#[[licenses.clarify]]
|
||||
# The package spec the clarification applies to
|
||||
#crate = "ring"
|
||||
# The SPDX expression for the license requirements of the crate
|
||||
#expression = "MIT AND ISC AND OpenSSL"
|
||||
# One or more files in the crate's source used as the "source of truth" for
|
||||
# the license expression. If the contents match, the clarification will be used
|
||||
# when running the license check, otherwise the clarification will be ignored
|
||||
# and the crate will be checked normally, which may produce warnings or errors
|
||||
# depending on the rest of your configuration
|
||||
#license-files = [
|
||||
# Each entry is a crate relative path, and the (opaque) hash of its contents
|
||||
#{ path = "LICENSE", hash = 0xbd0eed23 }
|
||||
#]
|
||||
|
||||
[licenses.private]
|
||||
# If true, ignores workspace crates that aren't published, or are only
|
||||
# published to private registries.
|
||||
# To see how to mark a crate as unpublished (to the official registry),
|
||||
# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
|
||||
ignore = false
|
||||
# One or more private registries that you might publish crates to, if a crate
|
||||
# is only published to private registries, and ignore is true, the crate will
|
||||
# not have its license(s) checked
|
||||
registries = [
|
||||
#"https://sekretz.com/registry
|
||||
]
|
||||
|
||||
# This section is considered when running `cargo deny check bans`.
|
||||
# More documentation about the 'bans' section can be found here:
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
|
||||
[bans]
|
||||
# Lint level for when multiple versions of the same crate are detected
|
||||
multiple-versions = "warn"
|
||||
# Lint level for when a crate version requirement is `*`
|
||||
wildcards = "allow"
|
||||
# The graph highlighting used when creating dotgraphs for crates
|
||||
# with multiple versions
|
||||
# * lowest-version - The path to the lowest versioned duplicate is highlighted
|
||||
# * simplest-path - The path to the version with the fewest edges is highlighted
|
||||
# * all - Both lowest-version and simplest-path are used
|
||||
highlight = "all"
|
||||
# The default lint level for `default` features for crates that are members of
|
||||
# the workspace that is being checked. This can be overridden by allowing/denying
|
||||
# `default` on a crate-by-crate basis if desired.
|
||||
workspace-default-features = "allow"
|
||||
# The default lint level for `default` features for external crates that are not
|
||||
# members of the workspace. This can be overridden by allowing/denying `default`
|
||||
# on a crate-by-crate basis if desired.
|
||||
external-default-features = "allow"
|
||||
# List of crates that are allowed. Use with care!
|
||||
allow = [
|
||||
#"ansi_term@0.11.0",
|
||||
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" },
|
||||
]
|
||||
# List of crates to deny
|
||||
deny = [
|
||||
#"ansi_term@0.11.0",
|
||||
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" },
|
||||
# Wrapper crates can optionally be specified to allow the crate when it
|
||||
# is a direct dependency of the otherwise banned crate
|
||||
#{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] },
|
||||
]
|
||||
|
||||
# List of features to allow/deny
|
||||
# Each entry the name of a crate and a version range. If version is
|
||||
# not specified, all versions will be matched.
|
||||
#[[bans.features]]
|
||||
#crate = "reqwest"
|
||||
# Features to not allow
|
||||
#deny = ["json"]
|
||||
# Features to allow
|
||||
#allow = [
|
||||
# "rustls",
|
||||
# "__rustls",
|
||||
# "__tls",
|
||||
# "hyper-rustls",
|
||||
# "rustls",
|
||||
# "rustls-pemfile",
|
||||
# "rustls-tls-webpki-roots",
|
||||
# "tokio-rustls",
|
||||
# "webpki-roots",
|
||||
#]
|
||||
# If true, the allowed features must exactly match the enabled feature set. If
|
||||
# this is set there is no point setting `deny`
|
||||
#exact = true
|
||||
|
||||
# Certain crates/versions that will be skipped when doing duplicate detection.
|
||||
skip = [
|
||||
#"ansi_term@0.11.0",
|
||||
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason why it can't be updated/removed" },
|
||||
]
|
||||
# Similarly to `skip` allows you to skip certain crates during duplicate
|
||||
# detection. Unlike skip, it also includes the entire tree of transitive
|
||||
# dependencies starting at the specified crate, up to a certain depth, which is
|
||||
# by default infinite.
|
||||
skip-tree = [
|
||||
#"ansi_term@0.11.0", # will be skipped along with _all_ of its direct and transitive dependencies
|
||||
#{ crate = "ansi_term@0.11.0", depth = 20 },
|
||||
]
|
||||
|
||||
# This section is considered when running `cargo deny check sources`.
|
||||
# More documentation about the 'sources' section can be found here:
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
|
||||
[sources]
|
||||
# Lint level for what to happen when a crate from a crate registry that is not
|
||||
# in the allow list is encountered
|
||||
unknown-registry = "warn"
|
||||
# Lint level for what to happen when a crate from a git repository that is not
|
||||
# in the allow list is encountered
|
||||
unknown-git = "warn"
|
||||
# List of URLs for allowed crate registries. Defaults to the crates.io index
|
||||
# if not specified. If it is specified but empty, no registries are allowed.
|
||||
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
|
||||
# List of URLs for allowed Git repositories
|
||||
allow-git = []
|
||||
|
||||
[sources.allow-org]
|
||||
# 1 or more github.com organizations to allow git sources for
|
||||
github = [""]
|
||||
# 1 or more gitlab.com organizations to allow git sources for
|
||||
gitlab = [""]
|
||||
# 1 or more bitbucket.org organizations to allow git sources for
|
||||
bitbucket = [""]
|
||||
@@ -1,121 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
dev.slimevr.SlimeVR.metainfo.xml by SlimeVR contributors
|
||||
|
||||
To the extent possible under law, the person who associated CC0 with
|
||||
dev.slimevr.SlimeVR.metainfo.xml has waived all copyright and related or neighboring rights
|
||||
to dev.slimevr.SlimeVR.metainfo.xml.
|
||||
|
||||
You should have received a copy of the CC0 legalcode along with this
|
||||
work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
-->
|
||||
<component type="desktop-application">
|
||||
<id>dev.slimevr.SlimeVR</id>
|
||||
|
||||
<name>SlimeVR</name>
|
||||
<summary>Accessible full-body tracking in VR</summary>
|
||||
<developer_name>SlimeVR Team</developer_name>
|
||||
|
||||
<!-- CC0 so attribution is not required -->
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>MIT OR Apache-2.0</project_license>
|
||||
|
||||
<content_rating type="oars-1.1" />
|
||||
<url type="homepage">https://slimevr.dev/</url>
|
||||
<url type="bugtracker">https://github.com/SlimeVR/SlimeVR-Server/issues</url>
|
||||
<url type="faq">https://docs.slimevr.dev/slimevr101.html</url>
|
||||
<url type="donation">https://github.com/sponsors/SlimeVR</url>
|
||||
<url type="vcs-browser">https://github.com/SlimeVR/SlimeVR-Server</url>
|
||||
<url type="translate">https://i18n.slimevr.dev</url>
|
||||
<url type="help">https://docs.slimevr.dev/server-setup/slimevr-setup.html</url>
|
||||
<url type="contribute">https://github.com/SlimeVR/SlimeVR-Server/blob/main/CONTRIBUTING.md</url>
|
||||
<url type="contact">https://discord.gg/SlimeVR</url>
|
||||
<recommends>
|
||||
<display_length compare="ge">300</display_length>
|
||||
</recommends>
|
||||
<supports>
|
||||
<control>pointing</control>
|
||||
<control>keyboard</control>
|
||||
<control>touch</control>
|
||||
</supports>
|
||||
|
||||
<branding>
|
||||
<color type="primary" scheme_preference="light">#BB8AE5</color>
|
||||
<color type="primary" scheme_preference="dark">#663499</color>
|
||||
</branding>
|
||||
|
||||
<description>
|
||||
<p>
|
||||
SlimeVR is a set of open hardware sensors and open source software that facilitates full-body
|
||||
tracking (FBT) in virtual reality. With no base station required, SlimeVR makes wireless
|
||||
VR FBT affordable and comfortable.
|
||||
</p>
|
||||
</description>
|
||||
|
||||
<launchable type="desktop-id">dev.slimevr.SlimeVR.desktop</launchable>
|
||||
<screenshots>
|
||||
<screenshot type="default" xml:lang="en">
|
||||
<caption>The onboarding for the GUI</caption>
|
||||
<image>https://raw.githubusercontent.com/SlimeVR/SlimeVR-Server/main/assets/img/onboarding.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
|
||||
<provides>
|
||||
<binary>slimevr</binary>
|
||||
</provides>
|
||||
|
||||
<releases>
|
||||
<release version="0.13.1" date="2024-11-05"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.1</url></release>
|
||||
<release version="0.13.1~rc.3" type="development" date="2024-10-31"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.1-rc.3</url></release>
|
||||
<release version="0.13.1~rc.2" type="development" date="2024-10-26"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.1-rc.2</url></release>
|
||||
<release version="0.13.1~rc.1" type="development" date="2024-10-16"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.1-rc.1</url></release>
|
||||
<release version="0.13.0" date="2024-09-20"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.0</url></release>
|
||||
<release version="0.13.0~rc.4" type="development" date="2024-09-13"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.0-rc.4</url></release>
|
||||
<release version="0.13.0~rc.3" type="development" date="2024-08-14"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.0-rc.3</url></release>
|
||||
<release version="0.13.0~rc.2" type="development" date="2024-08-08"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.0-rc.2</url></release>
|
||||
<release version="0.13.0~rc.1" type="development" date="2024-08-02"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.13.0-rc.1</url></release>
|
||||
<release version="0.12.1" date="2024-04-29"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.1</url></release>
|
||||
<release version="0.12.0" date="2024-04-26"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0</url></release>
|
||||
<release version="0.12.0~rc.4" type="development" date="2024-04-21"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.4</url></release>
|
||||
<release version="0.12.0~rc.3" type="development" date="2024-04-14"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.3</url></release>
|
||||
<release version="0.12.0~rc.2" type="development" date="2024-04-09"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.2</url></release>
|
||||
<release version="0.12.0~rc.1" type="development" date="2024-04-04"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.12.0-rc.1</url></release>
|
||||
<release version="0.11.0" date="2023-12-23"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.11.0</url></release>
|
||||
<release version="0.11.0~rc.2" type="development" date="2023-12-08"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.11.0-rc.2</url></release>
|
||||
<release version="0.11.0~rc.1" type="development" date="2023-11-23"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.11.0-rc.1</url></release>
|
||||
<release version="0.10.1" date="2023-09-30"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.1</url></release>
|
||||
<release version="0.10.1~rc.1" type="development" date="2023-09-29"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.1-rc.1</url></release>
|
||||
<release version="0.10.0" date="2023-09-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.0</url></release>
|
||||
<release version="0.10.0~rc.2" type="development" date="2023-09-15"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.0-rc.2</url></release>
|
||||
<release version="0.10.0~rc.1" type="development" date="2023-09-02"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.10.0-rc.1</url></release>
|
||||
<release version="0.9.1" date="2023-08-30"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1</url></release>
|
||||
<release version="0.9.1~rc.4" type="development" date="2023-08-28"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.4</url></release>
|
||||
<release version="0.9.1~rc.3" type="development" date="2023-08-19"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.3</url></release>
|
||||
<release version="0.9.1~rc.2" type="development" date="2023-08-15"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.2</url></release>
|
||||
<release version="0.9.1~rc.1" type="development" date="2023-08-13"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.1-rc.1</url></release>
|
||||
<release version="0.9.0" date="2023-08-05"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.0</url></release>
|
||||
<release version="0.9.0~rc.2" type="development" date="2023-08-02"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.0-rc.2</url></release>
|
||||
<release version="0.9.0~rc.1" type="development" date="2023-07-31"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.9.0-rc.1</url></release>
|
||||
<release version="0.8.3" date="2023-07-09"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.3</url></release>
|
||||
<release version="0.8.2" date="2023-07-09"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.2</url></release>
|
||||
<release version="0.8.2~rc.1" type="development" date="2023-07-07"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.2-rc.1</url></release>
|
||||
<release version="0.8.1" date="2023-07-04"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.1</url></release>
|
||||
<release version="0.8.0" date="2023-06-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0</url></release>
|
||||
<release version="0.8.0~rc.3" type="development" date="2023-06-20"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.3</url></release>
|
||||
<release version="0.8.0~rc.2" type="development" date="2023-06-15"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.2</url></release>
|
||||
<release version="0.8.0~rc.1" type="development" date="2023-06-01"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.8.0-rc.1</url></release>
|
||||
<release version="0.7.1" date="2023-04-14"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.7.1</url></release>
|
||||
<release version="0.7.0" date="2023-04-11"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.7.0</url></release>
|
||||
<release version="0.6.3" date="2023-02-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.3</url></release>
|
||||
<release version="0.6.2" date="2023-02-17"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.2</url></release>
|
||||
<release version="0.6.1" date="2023-02-12"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.1</url></release>
|
||||
<release version="0.6.0" date="2023-01-05"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.0</url></release>
|
||||
<release version="0.5.1" date="2022-12-12"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.5.1</url></release>
|
||||
<release version="0.5.0" date="2022-12-07"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.5.0</url></release>
|
||||
<release version="0.4.0" date="2022-11-24"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.4.0</url></release>
|
||||
<release version="0.3.1" date="2022-11-22"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.3.1</url></release>
|
||||
<release version="0.3.0" date="2022-11-16"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.3.0</url></release>
|
||||
<release version="0.2.1" date="2022-08-24"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.2.1</url></release>
|
||||
<release version="0.2.0" date="2022-06-28"><url>https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.2.0</url></release>
|
||||
</releases>
|
||||
</component>
|
||||
788
flake.lock
generated
@@ -1,661 +1,30 @@
|
||||
{
|
||||
"nodes": {
|
||||
"cachix": {
|
||||
"inputs": {
|
||||
"devenv": "devenv_2",
|
||||
"flake-compat": [
|
||||
"devenv",
|
||||
"flake-compat"
|
||||
],
|
||||
"git-hooks": [
|
||||
"devenv",
|
||||
"pre-commit-hooks"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"devenv",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726520618,
|
||||
"narHash": "sha256-jOsaBmJ/EtX5t/vbylCdS7pWYcKGmWOKg4QKUzKr6dA=",
|
||||
"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",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "cachix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
],
|
||||
"nix": "nix",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"poetry2nix": "poetry2nix",
|
||||
"pre-commit-hooks": [
|
||||
"devenv",
|
||||
"cachix",
|
||||
"devenv",
|
||||
"cachix",
|
||||
"pre-commit-hooks"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708704632,
|
||||
"narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=",
|
||||
"owner": "cachix",
|
||||
"repo": "devenv",
|
||||
"rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"ref": "python-rewrite",
|
||||
"repo": "devenv",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730270567,
|
||||
"narHash": "sha256-ZTBMwsY0i5zTT6rejotc9wqcSGkEgAeejXktJBo9Z5M=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "6535bb2a77a3bec73cc5b2d2ff63da8a479e32bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"devenv",
|
||||
"nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712014858,
|
||||
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"lastModified": 1762980239,
|
||||
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "flake-parts",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"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": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"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",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"devenv",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"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,
|
||||
"narHash": "sha256-/uEkr1UkJrh11vD02aqufCxtbF5YnhRTIKlx5kyvf+I=",
|
||||
"owner": "rrbutani",
|
||||
"repo": "nix-mk-shell-bin",
|
||||
"rev": "ff5d8bd4d68a347be5042e2f16caee391cd75887",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rrbutani",
|
||||
"repo": "nix-mk-shell-bin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix": {
|
||||
"inputs": {
|
||||
"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"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727438425,
|
||||
"narHash": "sha256-X8ES7I1cfNhR9oKp06F6ir4Np70WGZU5sfCOuNBEwMg=",
|
||||
"owner": "domenkozar",
|
||||
"repo": "nix",
|
||||
"rev": "f6c5ae4c1b2e411e6b1e6a8181cc84363d6a7546",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "domenkozar",
|
||||
"ref": "devenv-2.24",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixgl": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713543440,
|
||||
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
|
||||
"owner": "guibou",
|
||||
"repo": "nixGL",
|
||||
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "guibou",
|
||||
"repo": "nixGL",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"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,152 +34,25 @@
|
||||
"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": 1761765539,
|
||||
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"devenv": "devenv",
|
||||
"fenix": "fenix",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"mk-shell-bin": "mk-shell-bin",
|
||||
"nix2container": "nix2container",
|
||||
"nixgl": "nixgl",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1730197931,
|
||||
"narHash": "sha256-MjYc80pHGrD6TYMHHpXniCW0egVyHiDR23xAh7MN7Ww=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "468b5cd43023d9771996b06ab7215997895a6059",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
180
flake.nix
@@ -1,155 +1,49 @@
|
||||
{
|
||||
description = "Affordable full-body tracking for VR!";
|
||||
description = "SlimeVR Server & GUI";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
devenv = {
|
||||
url = "github:cachix/devenv";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix2container = {
|
||||
url = "github:nlewo/nix2container";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
mk-shell-bin.url = "github:rrbutani/nix-mk-shell-bin";
|
||||
nixgl = {
|
||||
url = "github:guibou/nixGL";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
fenix = {
|
||||
url = "github:nix-community/fenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
};
|
||||
|
||||
nixConfig = {
|
||||
extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
|
||||
extra-substituters = "https://devenv.cachix.org";
|
||||
};
|
||||
outputs = inputs@{ self, nixpkgs, flake-parts, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = [ "x86_64-linux" ];
|
||||
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
flake-parts,
|
||||
nixgl,
|
||||
...
|
||||
}:
|
||||
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||
imports = [
|
||||
inputs.devenv.flakeModule
|
||||
];
|
||||
systems = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
||||
perSystem = { pkgs, ... }:
|
||||
let
|
||||
runtimeLibs = pkgs: (with pkgs; [
|
||||
jdk17
|
||||
|
||||
perSystem = {
|
||||
config,
|
||||
self',
|
||||
inputs',
|
||||
pkgs,
|
||||
system,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
# Per-system attributes can be defined here. The self' and inputs'
|
||||
# module parameters provide easy access to attributes of the same
|
||||
# system.
|
||||
alsa-lib at-spi2-atk at-spi2-core cairo cups dbus expat
|
||||
gdk-pixbuf glib gtk3 libdrm libgbm libglvnd libnotify
|
||||
libxkbcommon mesa nspr nss pango systemd vulkan-loader
|
||||
wayland xorg.libX11 xorg.libXcomposite xorg.libXdamage
|
||||
xorg.libXext xorg.libXfixes xorg.libXrandr xorg.libxcb
|
||||
xorg.libxshmfence libusb1 udev libxcrypt-legacy
|
||||
rpm fpm
|
||||
|
||||
# Equivalent to inputs'.nixpkgs.legacyPackages.hello;
|
||||
# packages.default = pkgs.hello;
|
||||
_module.args.pkgs = import self.inputs.nixpkgs {
|
||||
inherit system;
|
||||
overlays = [nixgl.overlay];
|
||||
wine
|
||||
zlib squashfsTools fakeroot libarchive icu
|
||||
nodejs_22 pnpm pkg-config python3 gcc gnumake binutils git
|
||||
]);
|
||||
|
||||
slimeShell = pkgs.buildFHSEnv {
|
||||
name = "slimevr-env";
|
||||
targetPkgs = runtimeLibs;
|
||||
profile = ''
|
||||
export JAVA_HOME=${pkgs.jdk17}
|
||||
export PATH="${pkgs.jdk17}/bin:$PATH"
|
||||
|
||||
# Tell electron-builder to use system tools instead of downloading them
|
||||
export USE_SYSTEM_FPM=true
|
||||
export USE_SYSTEM_MKSQUASHFS=true
|
||||
'';
|
||||
runScript = "bash";
|
||||
};
|
||||
in
|
||||
{
|
||||
devShells.default = slimeShell.env;
|
||||
};
|
||||
|
||||
devenv.shells.default = let
|
||||
fenixpkgs = inputs'.fenix.packages;
|
||||
rust_toolchain = lib.importTOML ./rust-toolchain.toml;
|
||||
in {
|
||||
name = "slimevr";
|
||||
|
||||
imports = [
|
||||
# This is just like the imports in devenv.nix.
|
||||
# See https://devenv.sh/guides/using-with-flake-parts/#import-a-devenv-module
|
||||
# ./devenv-foo.nix
|
||||
];
|
||||
|
||||
# https://devenv.sh/reference/options/
|
||||
packages =
|
||||
(with pkgs; [
|
||||
pkgs.nixgl.nixGLIntel
|
||||
cacert
|
||||
])
|
||||
++ lib.optionals pkgs.stdenv.isLinux (with pkgs; [
|
||||
appimagekit
|
||||
atk
|
||||
cairo
|
||||
dbus
|
||||
dbus.lib
|
||||
dprint
|
||||
gdk-pixbuf
|
||||
glib.out
|
||||
glib-networking
|
||||
gobject-introspection
|
||||
gtk3
|
||||
harfbuzz
|
||||
libffi
|
||||
libsoup_3
|
||||
openssl
|
||||
pango
|
||||
pkg-config
|
||||
treefmt
|
||||
webkitgtk_4_1
|
||||
zlib
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
librsvg
|
||||
freetype
|
||||
expat
|
||||
libayatana-appindicator
|
||||
libusb1
|
||||
])
|
||||
++ lib.optionals pkgs.stdenv.isDarwin [
|
||||
pkgs.darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
languages.java = {
|
||||
enable = true;
|
||||
gradle.enable = true;
|
||||
jdk.package = pkgs.jdk17;
|
||||
};
|
||||
languages.kotlin.enable = true;
|
||||
|
||||
languages.javascript = {
|
||||
enable = true;
|
||||
corepack.enable = true;
|
||||
};
|
||||
|
||||
languages.rust = {
|
||||
enable = true;
|
||||
toolchain = fenixpkgs.fromToolchainName {
|
||||
name = rust_toolchain.toolchain.channel;
|
||||
sha256 = "sha256-VZZnlyP69+Y3crrLHQyJirqlHrTtGTsyiSnZB8jEvVo=";
|
||||
};
|
||||
components = rust_toolchain.toolchain.components;
|
||||
};
|
||||
|
||||
env = {
|
||||
GIO_EXTRA_MODULES = "${pkgs.glib-networking}/lib/gio/modules:${pkgs.dconf.lib}/lib/gio/modules";
|
||||
};
|
||||
|
||||
enterShell = with pkgs; ''
|
||||
# Export a LD_LIBRARY_PATH without libudev-zero as libgudev not likey
|
||||
export SLIMEVR_RUST_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH="${libudev-zero}/lib:$LD_LIBRARY_PATH"
|
||||
# GStreamer plugins won't be found without this
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${pkgs.gst_all_1.gstreamer.out}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-base}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-good}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-bad}/lib/gstreamer-1.0"
|
||||
'';
|
||||
};
|
||||
};
|
||||
flake = {
|
||||
# The usual flake attributes can be defined here, including system-
|
||||
# agnostic ones like nixosModule and system-enumerating ones, although
|
||||
# those are more easily expressed in perSystem.
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,7 +14,8 @@ android.nonTransitiveRClass=true
|
||||
org.gradle.unsafe.configuration-cache=false
|
||||
|
||||
kotlinVersion=2.0.20
|
||||
spotlessVersion=6.25.0
|
||||
spotlessVersion=8.0.0
|
||||
shadowJarVersion=8.3.2
|
||||
buildconfigVersion=5.5.0
|
||||
grgitVersion=5.2.2
|
||||
ktor_version=3.0.3
|
||||
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -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
@@ -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
@@ -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
|
||||
|
||||
|
||||
8
gui/.env
Normal file
@@ -0,0 +1,8 @@
|
||||
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:9099
|
||||
# FIRMWARE_TOOL_SCHEMA_URL=http://localhost:3000/api-json
|
||||
@@ -1,51 +0,0 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es2021": true,
|
||||
"jest": true
|
||||
},
|
||||
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@dword-design/import-alias/recommended"],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaFeatures": {
|
||||
"jsx": true
|
||||
},
|
||||
"ecmaVersion": "latest",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": ["react-hooks", "@typescript-eslint"],
|
||||
"rules": {
|
||||
"react/react-in-jsx-scope": "off",
|
||||
"react/prop-types": "off",
|
||||
"spaced-comment": "error",
|
||||
"quotes": ["error", "single"],
|
||||
"no-duplicate-imports": "error",
|
||||
"no-inline-styles": "off",
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"react/no-unescaped-entities": "off",
|
||||
"camelcase": "error",
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
"warn",
|
||||
{
|
||||
"argsIgnorePattern": "^_",
|
||||
"varsIgnorePattern": "^_"
|
||||
}
|
||||
],
|
||||
"@dword-design/import-alias/prefer-alias": [
|
||||
"error",
|
||||
{
|
||||
"alias": {
|
||||
"@": "./src/"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"settings": {
|
||||
"import/resolver": {
|
||||
"typescript": {}
|
||||
},
|
||||
"react": {
|
||||
"version": "detect"
|
||||
}
|
||||
}
|
||||
}
|
||||
8
gui/.gitignore
vendored
@@ -28,6 +28,14 @@ yarn-error.log*
|
||||
# vite
|
||||
/dist
|
||||
/stats.html
|
||||
vite.config.ts.timestamp*
|
||||
electron.vite.config.*.mjs
|
||||
|
||||
# eslint
|
||||
.eslintcache
|
||||
|
||||
# Sentry Config File
|
||||
.env.sentry-build-plugin
|
||||
|
||||
# electron
|
||||
out/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
export default {
|
||||
'**/*.{ts,tsx}': () => 'tsc -p tsconfig.json --noEmit',
|
||||
'**/*.{js,jsx,ts,tsx}': 'eslint --max-warnings=0 --cache --fix',
|
||||
'**/*.{js,jsx,ts,tsx,css,md,json}': 'prettier --write',
|
||||
'src/**/*.{js,jsx,ts,tsx}': 'eslint --max-warnings=0 --no-warn-ignored --cache --fix',
|
||||
'**/*.{js,jsx,ts,tsx,css,scss,md,json}': 'prettier --write',
|
||||
};
|
||||
|
||||
57
gui/electron-builder.yml
Normal file
@@ -0,0 +1,57 @@
|
||||
appId: dev.slimevr.SlimeVR
|
||||
productName: SlimeVR
|
||||
directories:
|
||||
output: dist/artifacts
|
||||
|
||||
asar: true
|
||||
asarUnpack:
|
||||
- out/main/chunks/*.jar
|
||||
|
||||
electronLanguages:
|
||||
- en-US
|
||||
|
||||
files:
|
||||
- out/**/*
|
||||
- index.html
|
||||
- package.json
|
||||
- node_modules/**
|
||||
# Exclude unnecessary files from node_modules to reduce size
|
||||
- "!node_modules/*/{README,readme,README.md,readme.md,CHANGELOG,CHANGELOG.md,changelog.md}"
|
||||
- "!node_modules/*/{test,tests,__tests__,docs,doc,example,examples}"
|
||||
- "!node_modules/*/.{git,github,vscode,editorconfig,eslintrc,prettierrc}"
|
||||
- "!node_modules/**/*.{map,ts,tsx,d.ts}"
|
||||
- "!**/.DS_Store"
|
||||
|
||||
linux:
|
||||
category: Game
|
||||
target:
|
||||
- target: AppImage
|
||||
- target: deb
|
||||
- target: rpm
|
||||
extraFiles:
|
||||
- from: "../server/desktop/build/libs/slimevr.jar"
|
||||
to: "."
|
||||
- from: "./electron/resources/69-slimevr-devices.rules"
|
||||
to: "."
|
||||
icon: "./electron/resources/icons"
|
||||
|
||||
deb:
|
||||
depends:
|
||||
- openjdk-17-jre-headless
|
||||
- udev
|
||||
rpm:
|
||||
depends:
|
||||
- java-latest-openjdk
|
||||
- udev
|
||||
|
||||
win:
|
||||
target:
|
||||
- target: portable
|
||||
icon: "./electron/resources/icons/icon.ico"
|
||||
|
||||
mac:
|
||||
target: dmg
|
||||
extraFiles:
|
||||
- from: "../server/desktop/build/libs/slimevr.jar"
|
||||
to: "."
|
||||
icon: "./electron/resources/icons/icon.icns"
|
||||
47
gui/electron.vite.config.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import { defineConfig } from 'electron-vite'
|
||||
import { resolve } from 'path'
|
||||
import rendererConfig from './vite.config' // Import your existing React config
|
||||
|
||||
export default defineConfig({
|
||||
main: {
|
||||
build: {
|
||||
rollupOptions: {
|
||||
input: resolve(__dirname, 'electron/main/index.ts'),
|
||||
external: [
|
||||
'pino',
|
||||
'pino-pretty',
|
||||
'pino-roll',
|
||||
'commander',
|
||||
'open'
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
preload: {
|
||||
build: {
|
||||
rollupOptions: {
|
||||
input: resolve(__dirname, 'electron/preload/index.ts'),
|
||||
output: {
|
||||
format: 'cjs', // Force CJS for the preload
|
||||
entryFileNames: 'index.js' // Change back to .js
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
renderer: {
|
||||
...rendererConfig,
|
||||
root: '.',
|
||||
build: {
|
||||
commonjsOptions: {
|
||||
// Force Rollup to treat the protocol directory as CommonJS
|
||||
// even though it's not in node_modules
|
||||
include: [/solarxr-protocol/, /node_modules/],
|
||||
// Required for Flatbuffers/Generated code interop
|
||||
transformMixedEsModules: true,
|
||||
},
|
||||
rollupOptions: {
|
||||
input: resolve(__dirname, 'index.html')
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
1
gui/electron/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
resources/java-version/JavaVersion.class
|
||||
12
gui/electron/main/cli.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { program } from "commander";
|
||||
|
||||
program
|
||||
.option('-p --path <path>', 'set launch path')
|
||||
.option(
|
||||
'--skip-server-if-running',
|
||||
'gui will not launch the server if it is already running'
|
||||
)
|
||||
.allowUnknownOption();
|
||||
|
||||
program.parse(process.argv);
|
||||
export const options = program.opts();
|
||||
425
gui/electron/main/index.ts
Normal file
@@ -0,0 +1,425 @@
|
||||
import {
|
||||
app,
|
||||
BrowserWindow,
|
||||
dialog,
|
||||
Menu,
|
||||
nativeImage,
|
||||
net,
|
||||
protocol,
|
||||
screen,
|
||||
shell,
|
||||
Tray,
|
||||
} from 'electron';
|
||||
import { IPC_CHANNELS } from '../shared';
|
||||
import path, { dirname, join } from 'path';
|
||||
import open from 'open';
|
||||
import trayIcon from '../resources/icons/icon.png?asset';
|
||||
import appleTrayIcon from '../resources/icons/appleTrayIcon.png?asset';
|
||||
import { readFile, stat } from 'fs/promises';
|
||||
import { getPlatform, handleIpc, isPortAvailable } from './utils';
|
||||
import {
|
||||
findServerJar,
|
||||
findSystemJRE,
|
||||
getGuiDataFolder,
|
||||
getLogsFolder,
|
||||
getExeFolder,
|
||||
getServerDataFolder,
|
||||
getWindowStateFile,
|
||||
} from './paths';
|
||||
import { stores } from './store';
|
||||
import { logger } from './logger';
|
||||
import { writeFileSync } from 'node:fs';
|
||||
|
||||
import { spawn } from 'node:child_process';
|
||||
import { discordPresence } from './presence';
|
||||
import { options } from './cli';
|
||||
import { ServerStatusEvent } from 'electron/preload/interface';
|
||||
|
||||
// Register custom protocol to handle asset paths with leading slashes
|
||||
protocol.registerSchemesAsPrivileged([
|
||||
{
|
||||
scheme: 'app',
|
||||
privileges: {
|
||||
standard: true,
|
||||
secure: true,
|
||||
supportFetchAPI: true,
|
||||
corsEnabled: true,
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
let mainWindow: BrowserWindow | null = null;
|
||||
|
||||
handleIpc(IPC_CHANNELS.GH_FETCH, async (e, options) => {
|
||||
if (options.type === 'fw-releases') {
|
||||
return fetch(
|
||||
'https://api.github.com/repos/SlimeVR/SlimeVR-Tracker-ESP/releases'
|
||||
).then((res) => res.json());
|
||||
}
|
||||
if (options.type === 'asset') {
|
||||
if (
|
||||
!options.url.startsWith(
|
||||
'https://github.com/SlimeVR/SlimeVR-Tracker-ESP/releases/download'
|
||||
)
|
||||
)
|
||||
return null;
|
||||
return fetch(options.url).then((res) => res.json());
|
||||
}
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.OS_STATS, async () => {
|
||||
return {
|
||||
type: getPlatform(),
|
||||
};
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.I18N_OVERRIDE, async () => {
|
||||
const overridefile = join(getServerDataFolder(), 'override.ftl');
|
||||
const exists = await stat(overridefile)
|
||||
.then(() => true)
|
||||
.catch(() => false);
|
||||
|
||||
if (!exists) return false;
|
||||
return readFile(overridefile, { encoding: 'utf-8' });
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.LOG, (e, type, ...args) => {
|
||||
let payload: Record<string, unknown> = {};
|
||||
const messageParts: unknown[] = [];
|
||||
|
||||
args.forEach((arg) => {
|
||||
if (arg instanceof Error) {
|
||||
payload.err = arg;
|
||||
} else if (typeof arg === 'object' && arg !== null) {
|
||||
payload = { ...payload, ...arg };
|
||||
} else {
|
||||
messageParts.push(arg);
|
||||
}
|
||||
});
|
||||
|
||||
const msg = messageParts.join(' ');
|
||||
|
||||
switch (type) {
|
||||
case 'error':
|
||||
logger.error(payload, msg);
|
||||
break;
|
||||
case 'warn':
|
||||
logger.warn(payload, msg);
|
||||
break;
|
||||
default:
|
||||
logger.info(payload, msg);
|
||||
}
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.OPEN_URL, (e, url) => {
|
||||
const allowsd_urls = [
|
||||
/steam:\/\/.*/,
|
||||
/ms-settings:network$/,
|
||||
/https:\/\/.*\.slimevr\.dev.*/,
|
||||
/https:\/\/github\.com\/.*/,
|
||||
/https:\/\/discord\.gg\/slimevr$/,
|
||||
];
|
||||
if (allowsd_urls.find((a) => url.match(a))) open(url);
|
||||
else logger.error({ url }, 'trying to open non allowed url');
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.STORAGE, async (e, { type, method, key, value }) => {
|
||||
const store = stores[type];
|
||||
if (!store) throw new Error(`Storage type ${type} not found`);
|
||||
|
||||
switch (method) {
|
||||
case 'get':
|
||||
return store.get(key!);
|
||||
case 'set':
|
||||
return store.set(key!, value);
|
||||
case 'delete':
|
||||
return store.delete(key!);
|
||||
case 'save':
|
||||
return store.save();
|
||||
}
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.DISCORD_PRESENCE, async (e, options) => {
|
||||
if (options.enable && !discordPresence.state.ready) {
|
||||
await discordPresence.connect();
|
||||
discordPresence.updateActivity(options.activity);
|
||||
} else if (!options.enable && discordPresence.state.ready) {
|
||||
discordPresence.destroy();
|
||||
}
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.OPEN_FILE, (e, folder) => {
|
||||
const requestedPath = path.resolve(folder);
|
||||
|
||||
const isAllowed = [getServerDataFolder(), getGuiDataFolder(), getLogsFolder()].some(
|
||||
(parent) => {
|
||||
const absoluteParent = path.resolve(parent);
|
||||
const relative = path.relative(absoluteParent, requestedPath);
|
||||
return !relative.includes('..') && !path.isAbsolute(relative);
|
||||
}
|
||||
);
|
||||
|
||||
if (isAllowed) {
|
||||
shell.openPath(requestedPath);
|
||||
} else {
|
||||
logger.error({ path: requestedPath }, 'Blocked unauthorized path');
|
||||
}
|
||||
});
|
||||
|
||||
handleIpc(IPC_CHANNELS.GET_FOLDER, (e, folder) => {
|
||||
switch (folder) {
|
||||
case 'config':
|
||||
return getGuiDataFolder();
|
||||
case 'logs':
|
||||
return getLogsFolder();
|
||||
case 'exe':
|
||||
return getExeFolder();
|
||||
}
|
||||
});
|
||||
|
||||
const windowStateFile = await readFile(getWindowStateFile(), {
|
||||
encoding: 'utf-8',
|
||||
}).catch(() => null);
|
||||
|
||||
const defaultWindowState: {
|
||||
width: number;
|
||||
height: number;
|
||||
x?: number;
|
||||
y?: number;
|
||||
minimized: boolean;
|
||||
} = {
|
||||
width: 1289.0,
|
||||
height: 709.0,
|
||||
x: undefined,
|
||||
y: undefined,
|
||||
minimized: false,
|
||||
};
|
||||
const windowState = windowStateFile ? JSON.parse(windowStateFile) : defaultWindowState;
|
||||
|
||||
const MIN_WIDTH = 393;
|
||||
const MIN_HEIGHT = 667;
|
||||
|
||||
function validateWindowState(state: typeof defaultWindowState) {
|
||||
if (state.x === undefined || state.y === undefined) {
|
||||
return state;
|
||||
}
|
||||
|
||||
const displays = screen.getAllDisplays();
|
||||
|
||||
const isVisible = displays.some((display) => {
|
||||
return (
|
||||
state.x! >= display.bounds.x &&
|
||||
state.y! >= display.bounds.y &&
|
||||
state.x! + state.width <= display.bounds.x + display.bounds.width &&
|
||||
state.y! + state.height <= display.bounds.y + display.bounds.height
|
||||
);
|
||||
});
|
||||
|
||||
const minWidth = MIN_WIDTH;
|
||||
const minHeight = MIN_HEIGHT;
|
||||
|
||||
if (!isVisible || state.width < minWidth || state.height < minHeight) {
|
||||
return defaultWindowState;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
function createWindow() {
|
||||
const validatedState = validateWindowState(windowState);
|
||||
|
||||
mainWindow = new BrowserWindow({
|
||||
width: validatedState.width,
|
||||
height: validatedState.height,
|
||||
x: validatedState.x,
|
||||
y: validatedState.y,
|
||||
minHeight: MIN_HEIGHT,
|
||||
minWidth: MIN_WIDTH,
|
||||
movable: true,
|
||||
frame: false,
|
||||
roundedCorners: true,
|
||||
webPreferences: {
|
||||
preload: join(__dirname, '../preload/index.js'),
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (windowState.minimized) {
|
||||
mainWindow.minimize();
|
||||
}
|
||||
|
||||
if (process.env.ELECTRON_RENDERER_URL) {
|
||||
mainWindow.loadURL(process.env.ELECTRON_RENDERER_URL);
|
||||
mainWindow.webContents.openDevTools();
|
||||
} else {
|
||||
mainWindow.loadURL('app://./index.html');
|
||||
}
|
||||
|
||||
mainWindow.on('closed', () => {
|
||||
mainWindow = null;
|
||||
});
|
||||
|
||||
handleIpc('window-actions', (e, action) => {
|
||||
switch (action) {
|
||||
case 'close':
|
||||
mainWindow?.close();
|
||||
break;
|
||||
case 'minimize':
|
||||
mainWindow?.minimize();
|
||||
break;
|
||||
case 'maximize':
|
||||
mainWindow?.maximize();
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
handleIpc('open-dialog', (e, options) => dialog.showOpenDialog(options));
|
||||
handleIpc('save-dialog', (e, options) => dialog.showSaveDialog(options));
|
||||
|
||||
const icon = nativeImage.createFromPath(
|
||||
getPlatform() === 'macos' ? appleTrayIcon : trayIcon
|
||||
);
|
||||
const tray = new Tray(icon);
|
||||
tray.setToolTip('SlimeVR');
|
||||
tray.on('click', () => {
|
||||
mainWindow?.show();
|
||||
});
|
||||
const contextMenu = Menu.buildFromTemplate([
|
||||
{
|
||||
label: 'Show',
|
||||
click: () => {
|
||||
mainWindow?.show();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Hide',
|
||||
click: () => {
|
||||
mainWindow?.hide();
|
||||
},
|
||||
},
|
||||
{ role: 'quit' },
|
||||
]);
|
||||
tray.setContextMenu(contextMenu);
|
||||
|
||||
const updateWindowState = () => {
|
||||
if (!mainWindow) return;
|
||||
|
||||
windowState.minimized = mainWindow.isMinimized();
|
||||
if (!mainWindow.isMinimized() && !mainWindow.isMaximized()) {
|
||||
const bounds = mainWindow.getBounds();
|
||||
windowState.width = bounds.width;
|
||||
windowState.height = bounds.height;
|
||||
windowState.x = bounds.x;
|
||||
windowState.y = bounds.y;
|
||||
}
|
||||
};
|
||||
|
||||
mainWindow.on('move', updateWindowState);
|
||||
mainWindow.on('resize', updateWindowState);
|
||||
mainWindow.on('minimize', updateWindowState);
|
||||
mainWindow.on('maximize', updateWindowState);
|
||||
}
|
||||
|
||||
const checkEnvironmentVariables = () => {
|
||||
const to_check = ['_JAVA_OPTIONS', 'JAVA_TOOL_OPTIONS'];
|
||||
|
||||
const set = to_check.filter((env) => !!process.env[env]);
|
||||
if (set.length > 0) {
|
||||
dialog.showErrorBox(
|
||||
'SlimeVR',
|
||||
`You have environment variables ${set.join(', ')} set, which may cause the SlimeVR Server to fail to launch properly.`
|
||||
);
|
||||
app.exit(0);
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
const isServerRunning = async () => !await isPortAvailable(21110)
|
||||
|
||||
const spawnServer = async () => {
|
||||
if (options.skipServerIfRunning && await isServerRunning()) {
|
||||
logger.info({ skipServerIfRunning: options.skipServerIfRunning }, 'Server alredy running, skipping');
|
||||
return;
|
||||
}
|
||||
|
||||
const serverJar = findServerJar();
|
||||
if (!serverJar) {
|
||||
logger.info('server jar not found, skipping');
|
||||
return;
|
||||
}
|
||||
const sharedDir = dirname(serverJar);
|
||||
const javaBin = await findSystemJRE(sharedDir);
|
||||
if (!javaBin) {
|
||||
dialog.showErrorBox(
|
||||
'SlimeVR',
|
||||
`Couldn't find a compatible Java version, please download Java 17 or higher`
|
||||
);
|
||||
app.exit(0);
|
||||
return;
|
||||
}
|
||||
|
||||
logger.info({ serverJar }, 'found server jar');
|
||||
|
||||
|
||||
const process = spawn(javaBin, ['-Xmx128M', '-jar', serverJar, 'run']);
|
||||
|
||||
process.stdout?.on('data', (message) => {
|
||||
mainWindow?.webContents.send(IPC_CHANNELS.SERVER_STATUS, {
|
||||
message: message.toString(),
|
||||
type: 'stdout'
|
||||
} satisfies ServerStatusEvent)
|
||||
});
|
||||
|
||||
process.stderr?.on('data', (message) => {
|
||||
mainWindow?.webContents.send(IPC_CHANNELS.SERVER_STATUS, {
|
||||
message: message.toString(),
|
||||
type: 'stderr'
|
||||
} satisfies ServerStatusEvent)
|
||||
});
|
||||
|
||||
return {
|
||||
process: process,
|
||||
close: () => {
|
||||
process.kill('SIGTERM');
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
app.whenReady().then(async () => {
|
||||
// Register protocol handler for app:// scheme to handle assets with leading slashes
|
||||
protocol.handle('app', (request) => {
|
||||
const url = request.url.slice('app://'.length);
|
||||
const filePath = path.normalize(join(__dirname, '../renderer', url));
|
||||
return net.fetch('file://' + filePath);
|
||||
});
|
||||
|
||||
checkEnvironmentVariables();
|
||||
|
||||
const server = await spawnServer();
|
||||
|
||||
createWindow();
|
||||
|
||||
logger.info('SlimeVR started!');
|
||||
|
||||
app.on('window-all-closed', () => {
|
||||
if (process.platform !== 'darwin') {
|
||||
app.quit();
|
||||
}
|
||||
});
|
||||
|
||||
process.on('exit', () => {
|
||||
server?.close();
|
||||
})
|
||||
|
||||
app.on('before-quit', () => {
|
||||
logger.info('App quitting, saving...');
|
||||
server?.close();
|
||||
stores.settings.save();
|
||||
stores.cache.save();
|
||||
|
||||
discordPresence.destroy();
|
||||
|
||||
writeFileSync(getWindowStateFile(), JSON.stringify(windowState));
|
||||
});
|
||||
});
|
||||
26
gui/electron/main/logger.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import pino from 'pino';
|
||||
import { getLogsFolder } from './paths';
|
||||
import { join } from 'node:path';
|
||||
|
||||
const transport = pino.transport({
|
||||
targets: [
|
||||
{
|
||||
target: 'pino-roll',
|
||||
options: {
|
||||
file: join(getLogsFolder(), 'slimevr-gui.log'),
|
||||
frequency: 'daily',
|
||||
size: '10m',
|
||||
mkdir: true,
|
||||
limit: { count: 7 },
|
||||
},
|
||||
level: 'info',
|
||||
},
|
||||
{
|
||||
target: 'pino-pretty',
|
||||
options: { colorize: true },
|
||||
level: 'debug',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
export const logger = pino(transport);
|
||||
125
gui/electron/main/paths.ts
Normal file
@@ -0,0 +1,125 @@
|
||||
import { app } from 'electron';
|
||||
import path, { join } from 'node:path';
|
||||
import { getPlatform } from './utils';
|
||||
import { glob } from 'glob';
|
||||
import { spawn } from 'node:child_process';
|
||||
import javaVersionJar from '../resources/java-version/JavaVersion.jar?asset&asarUnpack';
|
||||
import { existsSync } from 'node:fs';
|
||||
import { options } from './cli';
|
||||
|
||||
const javaBin = getPlatform() === 'windows' ? 'java.exe' : 'java';
|
||||
export const CONFIG_IDENTIFIER = 'dev.slimevr.SlimeVR';
|
||||
|
||||
export const getGuiDataFolder = () => {
|
||||
const platform = getPlatform();
|
||||
|
||||
switch (platform) {
|
||||
case 'linux':
|
||||
if (process.env['XDG_DATA_HOME'])
|
||||
return join(process.env['XDG_DATA_HOME'], CONFIG_IDENTIFIER);
|
||||
return join(app.getPath('home'), '.local/share', CONFIG_IDENTIFIER);
|
||||
case 'windows':
|
||||
return join(app.getPath('appData'), CONFIG_IDENTIFIER);
|
||||
case 'macos':
|
||||
return join(
|
||||
app.getPath('home'),
|
||||
'Library/Application Support',
|
||||
CONFIG_IDENTIFIER
|
||||
);
|
||||
case 'unknown':
|
||||
throw 'error';
|
||||
}
|
||||
};
|
||||
|
||||
export const getServerDataFolder = () => {
|
||||
const platform = getPlatform();
|
||||
|
||||
switch (platform) {
|
||||
case 'linux':
|
||||
case 'windows':
|
||||
case 'macos':
|
||||
return join(app.getPath('appData'), CONFIG_IDENTIFIER);
|
||||
case 'unknown':
|
||||
throw 'error';
|
||||
}
|
||||
};
|
||||
|
||||
export const getLogsFolder = () => {
|
||||
return join(getGuiDataFolder(), 'logs');
|
||||
};
|
||||
|
||||
export const getExeFolder = () => {
|
||||
return path.dirname(app.getPath('exe'));
|
||||
}
|
||||
|
||||
export const getWindowStateFile = () =>
|
||||
join(getGuiDataFolder(), '.window-state.json');
|
||||
|
||||
const localJavaBin = (sharedDir: string) => {
|
||||
const jre = join(sharedDir, 'jre/bin', javaBin);
|
||||
return jre;
|
||||
};
|
||||
|
||||
const javaHomeBin = () => {
|
||||
const javaHome = process.env['JAVA_HOME'];
|
||||
if (!javaHome) return null;
|
||||
const javaHomeJre = join(javaHome, 'bin', javaBin);
|
||||
console.log(javaHomeJre);
|
||||
return javaHomeJre;
|
||||
};
|
||||
|
||||
export const findSystemJRE = async (sharedDir: string) => {
|
||||
const paths = [
|
||||
localJavaBin(sharedDir),
|
||||
javaHomeBin(),
|
||||
...(await glob('/usr/lib/jvm/*/bin/' + javaBin)),
|
||||
...(await glob('/Library/Java/JavaVirtualMachines/*/Contents/Home/bin/' + javaBin)),
|
||||
];
|
||||
|
||||
for (const path of paths) {
|
||||
if (!path) continue;
|
||||
|
||||
const version = await new Promise<number | null>((resolve) => {
|
||||
const process = spawn(path, ['-jar', javaVersionJar], {});
|
||||
|
||||
let version: number | null = null;
|
||||
|
||||
process.stdout?.once('data', (data) => {
|
||||
try {
|
||||
version = parseFloat(data.toString());
|
||||
} catch {
|
||||
version = null;
|
||||
}
|
||||
});
|
||||
|
||||
process.on('error', () => {
|
||||
resolve(null);
|
||||
});
|
||||
|
||||
process.on('exit', () => {
|
||||
resolve(version);
|
||||
});
|
||||
});
|
||||
if (version && version >= 17) return path;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
export const findServerJar = () => {
|
||||
const paths = [
|
||||
options.path ? path.resolve(options.path) : undefined,
|
||||
// AppImage passes the fakeroot in `APPDIR` env var.
|
||||
process.env['APPDIR']
|
||||
? path.resolve(join(process.env['APPDIR'], 'usr/share/slimevr/'))
|
||||
: undefined,
|
||||
path.dirname(app.getPath('exe')),
|
||||
|
||||
// For flatpack container
|
||||
path.resolve('/app/share/slimevr/'),
|
||||
path.resolve('/usr/share/slimevr/'),
|
||||
];
|
||||
return paths
|
||||
.filter((p) => !!p)
|
||||
.map((p) => join(p!, 'slimevr.jar'))
|
||||
.find((p) => existsSync(p));
|
||||
};
|
||||
49
gui/electron/main/presence.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import { Client } from '@xhayper/discord-rpc';
|
||||
import { logger } from './logger';
|
||||
|
||||
export const richPresence = () => {
|
||||
const initialState = () => ({ ready: false, start: Date.now() });
|
||||
|
||||
const state = initialState();
|
||||
|
||||
const client = new Client({
|
||||
clientId: '1237970689009647639',
|
||||
transport: { type: 'ipc' },
|
||||
});
|
||||
client.on('ready', () => {
|
||||
state.ready = true;
|
||||
});
|
||||
|
||||
client.on('disconnected', () => {
|
||||
state.ready = false;
|
||||
});
|
||||
|
||||
return {
|
||||
state,
|
||||
connect: async () => {
|
||||
try {
|
||||
await client.login();
|
||||
} catch (e) {
|
||||
logger.error(e, 'unable to connect to discord rpc');
|
||||
}
|
||||
},
|
||||
updateActivity: (content: string) => {
|
||||
if (!state.ready) return;
|
||||
client.user
|
||||
?.setActivity({
|
||||
state: content,
|
||||
largeImageKey: 'icon',
|
||||
startTimestamp: state.start,
|
||||
})
|
||||
.catch((e) => {
|
||||
logger.error(e, 'unable to update rpc activity');
|
||||
});
|
||||
},
|
||||
destroy: () => {
|
||||
client.destroy();
|
||||
Object.assign(state, initialState());
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
export const discordPresence = richPresence();
|
||||
76
gui/electron/main/store.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
||||
import { dirname, join } from "path";
|
||||
import { logger } from "./logger";
|
||||
import { getGuiDataFolder } from "./paths";
|
||||
|
||||
|
||||
export class CustomStore {
|
||||
private data: Record<string, unknown> = {};
|
||||
private saveTimeout: NodeJS.Timeout | null = null;
|
||||
private filePath: string;
|
||||
private debounceMs: number;
|
||||
|
||||
constructor(filePath: string, debounceMs: number = 2000) {
|
||||
this.filePath = filePath;
|
||||
this.debounceMs = debounceMs;
|
||||
this.load();
|
||||
}
|
||||
|
||||
private load() {
|
||||
try {
|
||||
if (existsSync(this.filePath)) {
|
||||
const raw = readFileSync(this.filePath, 'utf-8');
|
||||
this.data = JSON.parse(raw);
|
||||
}
|
||||
} catch (err) {
|
||||
logger.error(err, `Failed to load store at ${this.filePath}`);
|
||||
this.data = {};
|
||||
}
|
||||
}
|
||||
|
||||
/** Set a key and trigger the debounced auto-save */
|
||||
set(key: string, value: unknown) {
|
||||
this.data[key] = value;
|
||||
this.triggerAutoSave();
|
||||
}
|
||||
|
||||
get<T>(key: string): T | undefined {
|
||||
return this.data[key] as T;
|
||||
}
|
||||
|
||||
delete(key: string): boolean {
|
||||
if (key in this.data) {
|
||||
delete this.data[key];
|
||||
this.triggerAutoSave();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private triggerAutoSave() {
|
||||
if (this.saveTimeout) clearTimeout(this.saveTimeout);
|
||||
this.saveTimeout = setTimeout(() => {
|
||||
this.save();
|
||||
}, this.debounceMs);
|
||||
}
|
||||
|
||||
save(): boolean {
|
||||
try {
|
||||
if (this.saveTimeout) clearTimeout(this.saveTimeout);
|
||||
|
||||
const dir = dirname(this.filePath);
|
||||
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
||||
|
||||
writeFileSync(this.filePath, JSON.stringify(this.data, null, 2), 'utf-8');
|
||||
return true;
|
||||
} catch (err) {
|
||||
logger.error(err, 'Save failed', this.filePath);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const stores = {
|
||||
settings: new CustomStore(join(getGuiDataFolder(), 'gui-settings.dat'), 1000),
|
||||
cache: new CustomStore(join(getGuiDataFolder(), 'gui-cache.dat'), 100),
|
||||
};
|
||||
50
gui/electron/main/utils.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
import os from 'os'
|
||||
import { OSStats } from "../preload/interface";
|
||||
import { ipcMain, IpcMainInvokeEvent } from 'electron';
|
||||
import { IpcInvokeMap } from '../shared';
|
||||
import net from 'net'
|
||||
|
||||
export const getPlatform = (): OSStats['type'] => {
|
||||
switch (os.platform()) {
|
||||
case 'darwin':
|
||||
return 'macos';
|
||||
case 'win32':
|
||||
return 'windows';
|
||||
case 'linux':
|
||||
return 'linux';
|
||||
default:
|
||||
return 'unknown';
|
||||
}
|
||||
};
|
||||
|
||||
export const isPortAvailable = (port: number) => {
|
||||
return new Promise((resolve) => {
|
||||
const s = net.createServer();
|
||||
s.once('error', (err) => {
|
||||
s.close();
|
||||
if ("code" in err && err["code"] == "EADDRINUSE") {
|
||||
resolve(false);
|
||||
} else {
|
||||
resolve(false);
|
||||
}
|
||||
});
|
||||
s.once('listening', () => {
|
||||
resolve(true);
|
||||
s.close();
|
||||
});
|
||||
s.listen(port);
|
||||
});
|
||||
};
|
||||
|
||||
export function handleIpc<K extends keyof IpcInvokeMap>(
|
||||
channel: K,
|
||||
handler: (
|
||||
event: IpcMainInvokeEvent,
|
||||
...args: Parameters<IpcInvokeMap[K]>
|
||||
) => ReturnType<IpcInvokeMap[K]>
|
||||
) {
|
||||
ipcMain.handle(channel, (event, ...args) => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
return handler(event, ...args as any);
|
||||
});
|
||||
}
|
||||
40
gui/electron/preload/index.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron';
|
||||
import { IElectronAPI, ServerStatusEvent } from './interface';
|
||||
import { IPC_CHANNELS } from '../shared';
|
||||
|
||||
contextBridge.exposeInMainWorld('electronAPI', {
|
||||
onServerStatus: (callback) => {
|
||||
const subscription = (_event: IpcRendererEvent, value: ServerStatusEvent) =>
|
||||
callback(value);
|
||||
ipcRenderer.on(IPC_CHANNELS.SERVER_STATUS, subscription);
|
||||
return () => ipcRenderer.removeListener(IPC_CHANNELS.SERVER_STATUS, subscription);
|
||||
},
|
||||
openUrl: (url) => ipcRenderer.invoke(IPC_CHANNELS.OPEN_URL, url),
|
||||
osStats: () => ipcRenderer.invoke(IPC_CHANNELS.OS_STATS),
|
||||
close: () => ipcRenderer.invoke(IPC_CHANNELS.WINDOW_ACTIONS, 'close'),
|
||||
minimize: () => ipcRenderer.invoke(IPC_CHANNELS.WINDOW_ACTIONS, 'minimize'),
|
||||
maximize: () => ipcRenderer.invoke(IPC_CHANNELS.WINDOW_ACTIONS, 'maximize'),
|
||||
getStorage: async (type) => {
|
||||
return {
|
||||
get: (key) =>
|
||||
ipcRenderer.invoke(IPC_CHANNELS.STORAGE, { type, method: 'get', key }),
|
||||
set: (key, value) =>
|
||||
ipcRenderer.invoke(IPC_CHANNELS.STORAGE, { type, method: 'set', key, value }),
|
||||
delete: (key) =>
|
||||
ipcRenderer.invoke(IPC_CHANNELS.STORAGE, { type, method: 'delete', key }),
|
||||
save: () => ipcRenderer.invoke(IPC_CHANNELS.STORAGE, { type, method: 'save' }),
|
||||
};
|
||||
},
|
||||
log: (type, ...args) => ipcRenderer.invoke(IPC_CHANNELS.LOG, type, ...args),
|
||||
i18nOverride: async () => ipcRenderer.invoke(IPC_CHANNELS.I18N_OVERRIDE),
|
||||
showDecorations: () => {},
|
||||
setTranslations: () => {},
|
||||
openDialog: (options) => ipcRenderer.invoke(IPC_CHANNELS.OPEN_DIALOG, options),
|
||||
saveDialog: (options) => ipcRenderer.invoke(IPC_CHANNELS.SAVE_DIALOG, options),
|
||||
openConfigFolder: async () => ipcRenderer.invoke(IPC_CHANNELS.OPEN_FILE, await ipcRenderer.invoke(IPC_CHANNELS.GET_FOLDER, 'config')),
|
||||
openLogsFolder: async () => ipcRenderer.invoke(IPC_CHANNELS.OPEN_FILE, await ipcRenderer.invoke(IPC_CHANNELS.GET_FOLDER, 'logs')),
|
||||
openFile: (path) => ipcRenderer.invoke(IPC_CHANNELS.OPEN_FILE, path),
|
||||
ghGet: (req) => ipcRenderer.invoke(IPC_CHANNELS.GH_FETCH, req),
|
||||
setPresence: (options) => ipcRenderer.invoke(IPC_CHANNELS.DISCORD_PRESENCE, options),
|
||||
getInstallDir: () => ipcRenderer.invoke(IPC_CHANNELS.GET_FOLDER, 'exe')
|
||||
} satisfies IElectronAPI);
|
||||
65
gui/electron/preload/interface.d.ts
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
import {
|
||||
OpenDialogOptions,
|
||||
OpenDialogReturnValue,
|
||||
SaveDialogOptions,
|
||||
SaveDialogReturnValue,
|
||||
} from 'electron';
|
||||
|
||||
export type ServerStatusEvent = {
|
||||
type: 'stdout' | 'stderr' | 'error' | 'terminated' | 'other';
|
||||
message: string;
|
||||
};
|
||||
|
||||
export type OSStats = {
|
||||
type: 'linux' | 'windows' | 'macos' | 'unknown';
|
||||
};
|
||||
|
||||
export interface CrossStorage {
|
||||
set(key: string, value: unknown): Promise<void>;
|
||||
get<T>(key: string): Promise<T | undefined>;
|
||||
delete(key: string): Promise<boolean>;
|
||||
save(): Promise<boolean>;
|
||||
}
|
||||
|
||||
export type GHGet = { type: 'fw-releases' } | { type: 'asset'; url: string };
|
||||
export type GHReturn = {
|
||||
asset: [number, string][] | null;
|
||||
['fw-releases']:
|
||||
| {
|
||||
assets: { browser_download_url: string; name: string; digest: string }[];
|
||||
prerelease: boolean;
|
||||
tag_name: string;
|
||||
body: string;
|
||||
}[]
|
||||
| null;
|
||||
};
|
||||
|
||||
export type DiscordPresence = { enable: false } | { enable: true, activity: string }
|
||||
|
||||
export interface IElectronAPI {
|
||||
onServerStatus: (cb: (data: ServerStatusEvent) => void) => () => void;
|
||||
openUrl: (url: string) => Promise<void>;
|
||||
osStats: () => Promise<OSStats>;
|
||||
openLogsFolder: () => Promise<void>;
|
||||
openConfigFolder: () => Promise<void>;
|
||||
close: () => void;
|
||||
minimize: () => void;
|
||||
maximize: () => void;
|
||||
showDecorations: (decorations: boolean) => void;
|
||||
setTranslations: (translations: Record<string, string>) => void;
|
||||
i18nOverride: () => Promise<string | false>;
|
||||
getStorage: (type: 'settings' | 'cache') => Promise<CrossStorage>;
|
||||
openDialog: (options: OpenDialogOptions) => Promise<OpenDialogReturnValue>;
|
||||
saveDialog: (options: SaveDialogOptions) => Promise<SaveDialogReturnValue>;
|
||||
log: (type: 'info' | 'error' | 'warn', ...args: unknown[]) => void;
|
||||
openFile: (path: string) => void;
|
||||
ghGet: <T extends GHGet>(options: T) => Promise<GHReturn[T['type']]>;
|
||||
setPresence: (options: DiscordPresence) => void;
|
||||
getInstallDir: () => Promise<string>;
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
electronAPI: IElectronAPI;
|
||||
}
|
||||
}
|
||||
46
gui/electron/resources/69-slimevr-devices.rules
Normal file
@@ -0,0 +1,46 @@
|
||||
# Copyright 2025 Eiren Rain and SlimeVR Contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
## QinHeng
|
||||
# CH340
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1A86", ATTRS{idProduct}=="7522", MODE="0660", TAG+="uaccess"
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1A86", ATTRS{idProduct}=="7523", MODE="0660", TAG+="uaccess"
|
||||
# CH341
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1A86", ATTRS{idProduct}=="5523", MODE="0660", TAG+="uaccess"
|
||||
# CH343
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1A86", ATTRS{idProduct}=="55D3", MODE="0660", TAG+="uaccess"
|
||||
# CH9102x
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1A86", ATTRS{idProduct}=="55D4", MODE="0660", TAG+="uaccess"
|
||||
|
||||
## Silabs
|
||||
# CP210x
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10C4", ATTRS{idProduct}=="EA60", MODE="0660", TAG+="uaccess"
|
||||
|
||||
## Espressif
|
||||
# ESP32-S3 / ESP32-C3 / ESP32-C5 / ESP32-C6 / ESP32-C61 / ESP32-H2 / ESP32-P4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="303A", ATTRS{idProduct}=="1001", MODE="0660", TAG+="uaccess"
|
||||
# ESP32-S2
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="303A", ATTRS{idProduct}=="0002", MODE="0660", TAG+="uaccess"
|
||||
|
||||
## FTDI
|
||||
# FT232BM/L/Q, FT245BM/L/Q
|
||||
# FT232RL/Q, FT245RL/Q
|
||||
# VNC1L with VDPS Firmware
|
||||
# VNC2 with FT232Slave
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0660", TAG+="uaccess"
|
||||
|
||||
## SlimeVR
|
||||
# smol slime dongle
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="7690", MODE="0660", TAG+="uaccess"
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="7690", MODE="0660", TAG+="uaccess"
|
||||
BIN
gui/electron/resources/icons/128x128.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
gui/electron/resources/icons/128x128@2x.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
gui/electron/resources/icons/32x32.png
Normal file
|
After Width: | Height: | Size: 747 B |
BIN
gui/electron/resources/icons/Square107x107Logo.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
gui/electron/resources/icons/Square142x142Logo.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
gui/electron/resources/icons/Square150x150Logo.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
gui/electron/resources/icons/Square284x284Logo.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
gui/electron/resources/icons/Square30x30Logo.png
Normal file
|
After Width: | Height: | Size: 698 B |
BIN
gui/electron/resources/icons/Square310x310Logo.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
gui/electron/resources/icons/Square44x44Logo.png
Normal file
|
After Width: | Height: | Size: 1008 B |
BIN
gui/electron/resources/icons/Square71x71Logo.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
gui/electron/resources/icons/Square89x89Logo.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
gui/electron/resources/icons/StoreLogo.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 922 B After Width: | Height: | Size: 922 B |
BIN
gui/electron/resources/icons/icon.icns
Normal file
BIN
gui/electron/resources/icons/icon.ico
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
gui/electron/resources/icons/icon.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
1
gui/electron/resources/icons/icon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-miterlimit="10" clip-rule="evenodd" version="1.1" viewBox="0 0 380 380" xml:space="preserve"><rect id="bg" width="380" height="380" fill="#663499" stroke-width="1" rx="76" /><g id="logo" fill="none" stroke="#fff"><path id="left" stroke-width="13.62" d="m72.867 191.74 37-39 39 36"/><path id="right" stroke-width="13.62" d="m208.87 187.74 38-35 36 38"/><path id="outer" stroke-linecap="square" stroke-width="17" d="m56.867 253.74s130.61-31.182 248 5c13.45 4.146 20.244 2.975 20-8s1.909-126.06-46-131"/></g></svg>
|
||||
|
After Width: | Height: | Size: 579 B |
BIN
gui/electron/resources/icons/ios/AppIcon-20x20@1x.png
Normal file
|
After Width: | Height: | Size: 555 B |
BIN
gui/electron/resources/icons/ios/AppIcon-20x20@2x-1.png
Normal file
|
After Width: | Height: | Size: 848 B |
BIN
gui/electron/resources/icons/ios/AppIcon-20x20@2x.png
Normal file
|
After Width: | Height: | Size: 848 B |
BIN
gui/electron/resources/icons/ios/AppIcon-20x20@3x.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-29x29@1x.png
Normal file
|
After Width: | Height: | Size: 645 B |
BIN
gui/electron/resources/icons/ios/AppIcon-29x29@2x-1.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-29x29@2x.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-29x29@3x.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-40x40@1x.png
Normal file
|
After Width: | Height: | Size: 848 B |
BIN
gui/electron/resources/icons/ios/AppIcon-40x40@2x-1.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-40x40@2x.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-40x40@3x.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-512@2x.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-60x60@2x.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-60x60@3x.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-76x76@1x.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-76x76@2x.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
gui/electron/resources/icons/ios/AppIcon-83.5x83.5@2x.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
gui/electron/resources/java-version/JavaVersion.jar
Normal file
@@ -1,8 +1,8 @@
|
||||
public class JavaVersion {
|
||||
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
var version = Runtime.version().version().get(0);
|
||||
System.exit(version);
|
||||
System.out.println(version);
|
||||
}
|
||||
}
|
||||
49
gui/electron/shared.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import {
|
||||
OpenDialogOptions,
|
||||
OpenDialogReturnValue,
|
||||
SaveDialogOptions,
|
||||
SaveDialogReturnValue,
|
||||
} from 'electron';
|
||||
import { DiscordPresence, GHGet, GHReturn, OSStats } from './preload/interface';
|
||||
|
||||
export const IPC_CHANNELS = {
|
||||
SERVER_STATUS: 'server-status',
|
||||
OPEN_URL: 'open-url',
|
||||
OS_STATS: 'os-stats',
|
||||
WINDOW_ACTIONS: 'window-actions',
|
||||
LOG: 'log',
|
||||
STORAGE: 'storage',
|
||||
OPEN_DIALOG: 'open-dialog',
|
||||
SAVE_DIALOG: 'save-dialog',
|
||||
I18N_OVERRIDE: 'i18n-override',
|
||||
OPEN_FILE: 'open-file',
|
||||
GET_FOLDER: 'get-folder',
|
||||
GH_FETCH: 'gh-fetch',
|
||||
DISCORD_PRESENCE: 'discord-presence'
|
||||
} as const;
|
||||
|
||||
export interface IpcInvokeMap {
|
||||
[IPC_CHANNELS.OPEN_URL]: (url: string) => void;
|
||||
[IPC_CHANNELS.OS_STATS]: () => Promise<OSStats>;
|
||||
[IPC_CHANNELS.WINDOW_ACTIONS]: (action: 'close' | 'minimize' | 'maximize') => void;
|
||||
[IPC_CHANNELS.LOG]: (type: 'info' | 'error' | 'warn', ...args: unknown[]) => void;
|
||||
[IPC_CHANNELS.OPEN_DIALOG]: (
|
||||
options: OpenDialogOptions
|
||||
) => Promise<OpenDialogReturnValue>;
|
||||
[IPC_CHANNELS.SAVE_DIALOG]: (
|
||||
options: SaveDialogOptions
|
||||
) => Promise<SaveDialogReturnValue>;
|
||||
[IPC_CHANNELS.I18N_OVERRIDE]: () => Promise<string | false>;
|
||||
[IPC_CHANNELS.STORAGE]: (args: {
|
||||
type: 'settings' | 'cache';
|
||||
method: 'get' | 'set' | 'delete' | 'save';
|
||||
key?: string;
|
||||
value?: unknown;
|
||||
}) => Promise<unknown>;
|
||||
[IPC_CHANNELS.OPEN_FILE]: (path: string) => void;
|
||||
[IPC_CHANNELS.GET_FOLDER]: (folder: 'config' | 'logs' | 'exe') => string;
|
||||
[IPC_CHANNELS.GH_FETCH]: <T extends GHGet>(
|
||||
options: T
|
||||
) => Promise<GHReturn[T['type']]>;
|
||||
[IPC_CHANNELS.DISCORD_PRESENCE]: (options: DiscordPresence) => void;
|
||||
}
|
||||
82
gui/eslint.config.js
Normal file
@@ -0,0 +1,82 @@
|
||||
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();
|
||||
|
||||
export const gui = [
|
||||
eslint.configs.recommended,
|
||||
...tseslint.configs.recommended,
|
||||
...compat.extends('plugin:@dword-design/import-alias/recommended'),
|
||||
...compat.plugins('eslint-plugin-react-hooks'),
|
||||
// Add import-alias rule inside compat because plugin doesn't like flat configs
|
||||
...compat.config({
|
||||
rules: {
|
||||
'@dword-design/import-alias/prefer-alias': [
|
||||
'error',
|
||||
{
|
||||
alias: {
|
||||
'@': './src/',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
{
|
||||
languageOptions: {
|
||||
ecmaVersion: 'latest',
|
||||
sourceType: 'module',
|
||||
parser: tseslint.parser,
|
||||
parserOptions: {
|
||||
ecmaFeatures: {
|
||||
jsx: true,
|
||||
},
|
||||
},
|
||||
globals: {
|
||||
...globals.browser,
|
||||
...globals.jest,
|
||||
},
|
||||
},
|
||||
files: ['src/**/*.{js,jsx,ts,tsx,json}'],
|
||||
plugins: {
|
||||
'@typescript-eslint': tseslint.plugin,
|
||||
'@stylistic': stylistic,
|
||||
},
|
||||
rules: {
|
||||
'react/react-in-jsx-scope': 'off',
|
||||
'react/prop-types': 'off',
|
||||
'spaced-comment': 'error',
|
||||
quotes: ['error', 'single'],
|
||||
'no-duplicate-imports': 'error',
|
||||
'no-inline-styles': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'react/no-unescaped-entities': 'off',
|
||||
camelcase: 'error',
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'warn',
|
||||
{
|
||||
argsIgnorePattern: '^_',
|
||||
varsIgnorePattern: '^_',
|
||||
ignoreRestSiblings: true,
|
||||
},
|
||||
],
|
||||
'@stylistic/jsx-self-closing-comp': 'error',
|
||||
},
|
||||
settings: {
|
||||
'import/resolver': {
|
||||
typescript: {},
|
||||
},
|
||||
react: {
|
||||
version: 'detect',
|
||||
},
|
||||
},
|
||||
},
|
||||
// Global ignore
|
||||
{
|
||||
ignores: ['**/firmware-tool-api/'],
|
||||
},
|
||||
];
|
||||
|
||||
export default gui;
|
||||
28
gui/openapi-codegen.config.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import {
|
||||
generateSchemaTypes,
|
||||
generateReactQueryComponents,
|
||||
} from '@openapi-codegen/typescript';
|
||||
import { defineConfig } from '@openapi-codegen/cli';
|
||||
import dotenv from 'dotenv';
|
||||
|
||||
dotenv.config()
|
||||
|
||||
export default defineConfig({
|
||||
firmwareTool: {
|
||||
from: {
|
||||
source: 'url',
|
||||
url: process.env.FIRMWARE_TOOL_SCHEMA_URL ?? 'http://localhost:3000/api-json',
|
||||
},
|
||||
outputDir: 'src/firmware-tool-api',
|
||||
to: async (context) => {
|
||||
const filenamePrefix = 'firmwareTool';
|
||||
const { schemasFiles } = await generateSchemaTypes(context, {
|
||||
filenamePrefix,
|
||||
});
|
||||
await generateReactQueryComponents(context, {
|
||||
filenamePrefix,
|
||||
schemasFiles,
|
||||
});
|
||||
},
|
||||
},
|
||||
});
|
||||
148
gui/package.json
@@ -1,82 +1,112 @@
|
||||
{
|
||||
"name": "slimevr-ui",
|
||||
"version": "0.5.1",
|
||||
"private": true,
|
||||
"name": "slimevr",
|
||||
"version": "0.0.0",
|
||||
"author": "SlimeVR Team <contact@slimevr.dev>",
|
||||
"homepage": "https://slimevr.dev",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ryuziii/discord-rpc": "1.0.1-rc.1",
|
||||
"@xhayper/discord-rpc": "^1.3.0",
|
||||
"commander": "^14.0.3",
|
||||
"discord-rich-presence": "^0.0.8",
|
||||
"glob": "^13.0.3",
|
||||
"open": "^11.0.0",
|
||||
"pino": "^10.3.1",
|
||||
"pino-pretty": "^13.1.3",
|
||||
"pino-roll": "^4.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "vite --force",
|
||||
"gui": "electron-vite dev --config electron.vite.config.ts --watch",
|
||||
"build": "electron-vite build --config electron.vite.config.ts",
|
||||
"package": "pnpm run build && electron-builder",
|
||||
"preview": "electron-vite preview --config electron.vite.config.ts",
|
||||
"skipbundler": "vite build",
|
||||
"lint": "tsc --noEmit && eslint --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && prettier --check \"src/**/*.{js,jsx,ts,tsx,css,scss,md,json}\"",
|
||||
"lint:fix": "tsc --noEmit && eslint --fix --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && pnpm run format",
|
||||
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,scss,md,json}\"",
|
||||
"javaversion-build": "cd electron/resources/java-version/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class",
|
||||
"gen:javaversion": "cd electron/resources/java-version/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class",
|
||||
"gen:firmware-tool": "openapi-codegen gen firmwareTool"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@dword-design/eslint-plugin-import-alias": "^4.0.9",
|
||||
"@electron/asar": "^4.0.1",
|
||||
"@fluent/bundle": "^0.18.0",
|
||||
"@fluent/react": "^0.15.2",
|
||||
"@fontsource/poppins": "^5.1.0",
|
||||
"@formatjs/intl-localematcher": "^0.2.32",
|
||||
"@react-three/drei": "^9.114.3",
|
||||
"@react-three/fiber": "^8.17.10",
|
||||
"@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",
|
||||
"browser-fs-access": "^0.35.0",
|
||||
"classnames": "^2.5.1",
|
||||
"flatbuffers": "22.10.26",
|
||||
"intl-pluralrules": "^2.0.1",
|
||||
"ip-num": "^1.5.1",
|
||||
"prompts": "^2.4.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-error-boundary": "^4.0.13",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-hook-form": "^7.53.0",
|
||||
"react-modal": "^3.16.1",
|
||||
"react-responsive": "^10.0.0",
|
||||
"react-router-dom": "^6.26.2",
|
||||
"semver": "^7.6.3",
|
||||
"solarxr-protocol": "file:../solarxr-protocol",
|
||||
"three": "^0.163.0",
|
||||
"ts-pattern": "^5.4.0",
|
||||
"typescript": "^5.6.3",
|
||||
"use-double-tap": "^1.3.6"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "vite --force",
|
||||
"build": "vite build",
|
||||
"dev": "tauri dev",
|
||||
"skipbundler": "tauri build --no-bundle",
|
||||
"tauri": "tauri",
|
||||
"lint": "tsc --noEmit && eslint --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && prettier --check \"src/**/*.{js,jsx,ts,tsx,css,scss,md,json}\"",
|
||||
"lint:fix": "tsc --noEmit && eslint --fix --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && pnpm run format",
|
||||
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,scss,md,json}\"",
|
||||
"preview-vite": "vite preview",
|
||||
"javaversion-build": "cd src-tauri/src/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@dword-design/eslint-plugin-import-alias": "^4.0.9",
|
||||
"@hookform/resolvers": "^3.6.0",
|
||||
"@openapi-codegen/cli": "^3.1.0",
|
||||
"@openapi-codegen/typescript": "^8.0.2",
|
||||
"@react-hookz/deep-equal": "^3.0.3",
|
||||
"@sentry/react": "10.29.0",
|
||||
"@sentry/vite-plugin": "^2.22.7",
|
||||
"@stylistic/eslint-plugin": "^5.5.0",
|
||||
"@tailwindcss/forms": "^0.5.9",
|
||||
"@tauri-apps/cli": "^2.0.2",
|
||||
"@tailwindcss/typography": "^0.5.15",
|
||||
"@tanstack/react-query": "^5.48.0",
|
||||
"@tweenjs/tween.js": "^25.0.0",
|
||||
"@twemoji/svg": "^15.0.0",
|
||||
"@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",
|
||||
"@types/react-modal": "3.16.3",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@types/three": "^0.163.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
||||
"@typescript-eslint/parser": "^7.18.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.48.1",
|
||||
"@typescript-eslint/parser": "^8.48.1",
|
||||
"@vitejs/plugin-react": "^4.3.2",
|
||||
"ajv": "^8.17.1",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^8.57.1",
|
||||
"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-plugin-react-hooks": "^4.6.2",
|
||||
"browser-fs-access": "^0.35.0",
|
||||
"classnames": "^2.5.1",
|
||||
"convert": "^5.12.0",
|
||||
"dmg-license": "^1.0.11",
|
||||
"dotenv": "^16.4.5",
|
||||
"electron": "^40.3.0",
|
||||
"electron-builder": "^26.7.0",
|
||||
"electron-vite": "^5.0.0",
|
||||
"eslint": "^9.39.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": "^7.0.1",
|
||||
"flatbuffers": "22.10.26",
|
||||
"globals": "^15.10.0",
|
||||
"intl-pluralrules": "^2.0.1",
|
||||
"ip-num": "^1.5.1",
|
||||
"jotai": "^2.12.2",
|
||||
"prettier": "^3.3.3",
|
||||
"prompts": "^2.4.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-error-boundary": "^4.0.13",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-hook-form": "^7.63.0",
|
||||
"react-markdown": "^9.0.1",
|
||||
"react-modal": "^3.16.1",
|
||||
"react-responsive": "^10.0.0",
|
||||
"react-router-dom": "^6.26.2",
|
||||
"remark-gfm": "^4.0.0",
|
||||
"rollup-plugin-visualizer": "^5.12.0",
|
||||
"sass": "^1.79.4",
|
||||
"semver": "^7.6.3",
|
||||
"solarxr-protocol": "file:../solarxr-protocol",
|
||||
"spdx-satisfies": "^5.0.1",
|
||||
"tailwind-gradient-mask-image": "^1.2.0",
|
||||
"tailwindcss": "^3.4.13",
|
||||
"vite": "^5.4.8"
|
||||
}
|
||||
"three": "^0.163.0",
|
||||
"ts-pattern": "^5.4.0",
|
||||
"typescript": "^5.6.3",
|
||||
"typescript-eslint": "^8.46.2",
|
||||
"use-double-tap": "^1.3.6",
|
||||
"uuid": "^13.0.0",
|
||||
"vite": "^5.4.8",
|
||||
"yup": "^1.4.0"
|
||||
},
|
||||
"main": "./out/main/index.js"
|
||||
}
|
||||
|
||||
BIN
gui/public/fonts/noto-sans-v42-latin-regular.woff2
Normal 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
|
||||
|
||||
@@ -26,6 +31,9 @@ tips-tap_setup = يمكنك النقر ببطء مرتين على جهاز ال
|
||||
tips-turn_on_tracker = هل تستخدم أجهزة تعقب SlimeVR الرسمية؟ تذكر <b><em> أن تشغل أجهزة التعقب </em></b> بعد توصيلها بالكمبيوتر!
|
||||
tips-failed_webgl = فشل تهيئة WebGL.
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = غير محدد
|
||||
@@ -49,12 +57,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 +149,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 = إعادة تعيين الانعراج
|
||||
@@ -124,7 +200,7 @@ widget-overlay-is_mirrored_label = عكس تراكب الشاشة
|
||||
|
||||
widget-drift_compensation-clear = حذف تعويض الانجراف
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
widget-clear_mounting = مسح إعادة تعيين التركيب
|
||||
|
||||
@@ -142,9 +218,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 +275,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 +300,25 @@ 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 = التحديث الآن
|
||||
tracker-settings-update-title = إصدار البرنامج الثابت
|
||||
|
||||
## Tracker part card info
|
||||
|
||||
@@ -296,6 +394,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 +411,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 +444,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 +498,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 +534,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 +582,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 +596,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 +613,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 +659,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 +694,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 +717,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 +750,54 @@ 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 = فتح المجلد
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
@@ -603,16 +814,12 @@ onboarding-setup_warning-cancel = متابعة الإعداد
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = العودة إلى المقدمة
|
||||
onboarding-wifi_creds = إدخل بيانات اعتماد واي فاي
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
ستستخدم أجهزة التعقب بيانات الاعتماد هذه للاتصال لاسلكيًا.
|
||||
الرجاء استخدام بيانات الاعتماد التي تتصل بها حاليًا.
|
||||
onboarding-wifi_creds-skip = تخطى إعدادات واي فاي
|
||||
onboarding-wifi_creds-submit = إرسال!
|
||||
onboarding-wifi_creds-ssid =
|
||||
.label = اسم الواي فاي
|
||||
.placeholder = أدخل اسم الواي فاي
|
||||
onboarding-wifi_creds-ssid-required = مطلوب اسم Wi-Fi
|
||||
onboarding-wifi_creds-password =
|
||||
.label = كلمة السر
|
||||
.placeholder = أدخل كلمة السر
|
||||
@@ -647,13 +854,6 @@ onboarding-reset_tutorial-2 =
|
||||
onboarding-home = مرحبا بكم في سلايم في ار
|
||||
onboarding-home-start = هيا نتجهز!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = العودة إلى تعيين أجهزة التعقب
|
||||
onboarding-enter_vr-title = حان وقت دخول في ار!
|
||||
onboarding-enter_vr-description = ضع كل أجهزة التعقب ثم أدخل في ار!
|
||||
onboarding-enter_vr-ready = أنا جاهز
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = أنت جاهز تمامًا!
|
||||
@@ -670,6 +870,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 +898,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 +935,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 +1035,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 +1073,18 @@ 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
|
||||
## Tracker manual proportions setupa
|
||||
|
||||
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
|
||||
|
||||
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 +1105,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 +1165,21 @@ 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 = الرجوع
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## Stay Aligned setup
|
||||
|
||||
|
||||
## Home
|
||||
|
||||
@@ -980,6 +1203,36 @@ 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 build status
|
||||
|
||||
|
||||
## Firmware update status
|
||||
|
||||
|
||||
## Dedicated Firmware Update Page
|
||||
|
||||
|
||||
## Tray Menu
|
||||
|
||||
@@ -1008,3 +1261,9 @@ unknown_device-modal-description =
|
||||
هل تريد توصيله ب SlimeVR؟
|
||||
unknown_device-modal-confirm = أكيد
|
||||
unknown_device-modal-forget = تجاهلها
|
||||
|
||||
## Error collection consent modal
|
||||
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
|
||||
websocket-connecting = Připojování k serveru
|
||||
websocket-connection_lost = Ztraceno spojení se serverem. Pokouším se znovu připojit...
|
||||
websocket-connection_lost-desc = Vypadá to že SlimeVR server spadl. Zkontrolujte záznamy protokolů a restartuje aplikaci
|
||||
websocket-timedout = Nelze se připojit k serveru
|
||||
websocket-timedout-desc = Vypadá to že buď vypršel časový limit SlimeVR serveru, a nebo došlo k zhroucení. Zkontrolujte záznamy protokolů a restartuje aplikaci
|
||||
websocket-error-close = Ukončit SlimeVR
|
||||
websocket-error-logs = Otevření složku s záznamy protokolů
|
||||
|
||||
## Update notification
|
||||
|
||||
@@ -26,6 +31,9 @@ tips-tap_setup = Pro výběr trackeru na něj můžete dvakrát pomalu poklepat,
|
||||
tips-turn_on_tracker = Máte oficiální SlimeVR trackery? <b><em>Po připojení k PC je nezapomeňte zapnout!</em></b>
|
||||
tips-failed_webgl = Načtení WebGL selhalo.
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Nepřiřazeno
|
||||
@@ -49,6 +57,33 @@ body_part-LEFT_HAND = Levá ruka
|
||||
body_part-LEFT_UPPER_LEG = Levé stehno
|
||||
body_part-LEFT_LOWER_LEG = Levý kotník
|
||||
body_part-LEFT_FOOT = Levá noha
|
||||
body_part-LEFT_THUMB_DISTAL = Vzdálená falanga levého palce
|
||||
body_part-LEFT_INDEX_DISTAL = Vzálená kůstka levého ukazováku
|
||||
body_part-LEFT_MIDDLE_DISTAL = Vzálená kůstka levého prostředníku
|
||||
body_part-LEFT_RING_DISTAL = Vzálená kůstka levého prsteníku
|
||||
body_part-RIGHT_THUMB_DISTAL = Vzálená falanga pravého pacle
|
||||
|
||||
## BoardType
|
||||
|
||||
board_type-UNKNOWN = Neznámý
|
||||
board_type-NODEMCU = NodeMCU
|
||||
board_type-CUSTOM = Vlastní deska
|
||||
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 = 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 = Wrangler Joycony
|
||||
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 vývojářská IMU rukavice
|
||||
|
||||
## Proportions
|
||||
|
||||
@@ -67,6 +102,9 @@ skeleton_bone-leg_group = Délka nohy
|
||||
skeleton_bone-UPPER_LEG = Délka horní části nohy
|
||||
skeleton_bone-LOWER_LEG = Délka dolní části nohy
|
||||
skeleton_bone-FOOT_LENGTH = Délka chodidla
|
||||
skeleton_bone-FOOT_LENGTH-desc =
|
||||
Toto je vzdálenost mezi vaši kotníky a prsty na nohou.
|
||||
Pro upravení, Chodtě po špičkách dokud vaše virtuální nohy nezůstanou na místě.
|
||||
skeleton_bone-FOOT_SHIFT = Odsazení chodidla
|
||||
skeleton_bone-SKELETON_OFFSET = Odsazení kostry
|
||||
skeleton_bone-SHOULDERS_DISTANCE = Vzdálenost ramen
|
||||
@@ -81,6 +119,14 @@ skeleton_bone-ELBOW_OFFSET = Odsazení loktů
|
||||
## Tracker reset buttons
|
||||
|
||||
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.
|
||||
Jste si jistí že chcete udělat?
|
||||
reset-reset_all_warning-reset = Obnovit proporce
|
||||
reset-reset_all_warning-cancel = Zrušit
|
||||
reset-reset_all_warning_default-v2 =
|
||||
<b>Varování:</b> Vaše výška ještě nebyla nakonfigurována, vaše proporce se obnoví do výchozích hodnot založených na výchozí výšce.
|
||||
Jste si jistí že to chcete udělat?
|
||||
reset-full = Plný Reset
|
||||
reset-mounting = Znovu nastavit nasazení
|
||||
reset-yaw = Rychlý reset
|
||||
@@ -112,7 +158,7 @@ bvh-recording = Nahrávání...
|
||||
## Tracking pause
|
||||
|
||||
tracking-unpaused = Pozastavit sledování
|
||||
tracking-paused = Pokračovat se sledováním
|
||||
tracking-paused = Pokračovat v sledování
|
||||
|
||||
## Widget: Overlay settings
|
||||
|
||||
@@ -124,7 +170,7 @@ widget-overlay-is_mirrored_label = Zobrazit překrytí jako zrcadlo
|
||||
|
||||
widget-drift_compensation-clear = Vymazat kompenzaci driftu
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
widget-clear_mounting = Vymazat reset nasazení
|
||||
|
||||
@@ -142,9 +188,13 @@ widget-developer_mode-more_info = Více informací
|
||||
## Widget: IMU Visualizer
|
||||
|
||||
widget-imu_visualizer = Rotace
|
||||
widget-imu_visualizer-preview = Náhled
|
||||
widget-imu_visualizer-hide = Skrýt
|
||||
widget-imu_visualizer-rotation_raw = Nezpracované
|
||||
widget-imu_visualizer-rotation_preview = Náhled
|
||||
widget-imu_visualizer-rotation_hide = Skrýt
|
||||
widget-imu_visualizer-acceleration = Akcelerace
|
||||
widget-imu_visualizer-position = Pozice
|
||||
widget-imu_visualizer-stay_aligned = Zůstaň Srovaný (Stay Aligned)
|
||||
|
||||
## Widget: Skeleton Visualizer
|
||||
|
||||
@@ -172,6 +222,7 @@ tracker-table-column-temperature = Teplota °C
|
||||
tracker-table-column-linear-acceleration = Akcel. X/Y/Z
|
||||
tracker-table-column-rotation = Rotace X/Y/Z
|
||||
tracker-table-column-position = Pozice X/Y/Z
|
||||
tracker-table-column-stay_aligned = Zůstaň Srovaný (Stay Aligned)
|
||||
tracker-table-column-url = URL
|
||||
|
||||
## Tracker rotation
|
||||
@@ -196,9 +247,17 @@ tracker-infos-url = URL Trackeru
|
||||
tracker-infos-version = Verze firmwaru
|
||||
tracker-infos-hardware_rev = Revize hardwaru
|
||||
tracker-infos-hardware_identifier = ID hardwaru
|
||||
tracker-infos-data_support = Datový typ
|
||||
tracker-infos-imu = Senzor IMU
|
||||
tracker-infos-board_type = Základní deska
|
||||
tracker-infos-network_version = Verze protokolu
|
||||
tracker-infos-magnetometer = Magnetometr
|
||||
tracker-infos-magnetometer-status-v1 =
|
||||
{ $status ->
|
||||
[DISABLED] Zakázáno
|
||||
[ENABLED] Povoleno
|
||||
*[NOT_SUPPORTED] Není podporováno
|
||||
}
|
||||
|
||||
## Tracker settings
|
||||
|
||||
@@ -213,13 +272,26 @@ tracker-settings-mounting_section-edit = Upravit nasazení
|
||||
tracker-settings-drift_compensation_section = Povolit kompenzaci driftu
|
||||
tracker-settings-drift_compensation_section-description = Měl by tento tracker kompenzovat svůj drift, když je zapnuta kompenzace driftu?
|
||||
tracker-settings-drift_compensation_section-edit = Povolit kompenzaci driftu
|
||||
tracker-settings-use_mag = Povolit magnetometr na tomto trackeru
|
||||
# Multiline!
|
||||
tracker-settings-use_mag-description =
|
||||
Měl by tento tracker používat magnetometer k redukci driftu když je použití magnetometru povoleno? <b> Prosím nevypínejte váš tracker při přepínání tohoto nastavení!</b>
|
||||
|
||||
Nejprve musíte povolit používání magnetometru, <magSetting>Kliknutím zde přejdete k nastavená magnetometru</magSetting>.
|
||||
tracker-settings-use_mag-label = Povolit magnetometr
|
||||
# The .<name> means it's an attribute and it's related to the top key.
|
||||
# In this case that is the settings for the assignment section.
|
||||
tracker-settings-name_section = Název trackeru
|
||||
tracker-settings-name_section-description = Třeba nějakou roztomilou přezdívku :)
|
||||
tracker-settings-name_section-placeholder = Erimelova levá tlapka
|
||||
tracker-settings-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-low-battery = Nelze provést aktualizaci. Baterie má méně než 50%
|
||||
tracker-settings-update-up_to_date = Aktuální
|
||||
tracker-settings-update = Aktualizovat nyní
|
||||
tracker-settings-update-title = Verze Firmwareu
|
||||
|
||||
## Tracker part card info
|
||||
|
||||
@@ -286,6 +358,7 @@ mounting_selection_menu-close = Zavřít
|
||||
settings-sidebar-title = Nastavení
|
||||
settings-sidebar-general = Obecné
|
||||
settings-sidebar-tracker_mechanics = Mechanika trackerů
|
||||
settings-sidebar-stay_aligned = Zůstaň Srovaný (Stay Aligned)
|
||||
settings-sidebar-fk_settings = Nastavení trackování
|
||||
settings-sidebar-gesture_control = Ovládání gesty
|
||||
settings-sidebar-interface = Rozhraní
|
||||
@@ -295,6 +368,10 @@ settings-sidebar-utils = Nástroje
|
||||
settings-sidebar-serial = Sériová konzole
|
||||
settings-sidebar-appearance = Vzhled
|
||||
settings-sidebar-notifications = Notifikace
|
||||
settings-sidebar-behavior = Chování
|
||||
settings-sidebar-firmware-tool = Nástroj pro DIY firmware
|
||||
settings-sidebar-vrc_warnings = Varovaní VRChat konfigurace
|
||||
settings-sidebar-advanced = Pokročilé
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -309,8 +386,20 @@ settings-general-steamvr-description =
|
||||
Užitečné pro hry nebo aplikace, které podporují pouze určité trackery.
|
||||
settings-general-steamvr-trackers-waist = Pás
|
||||
settings-general-steamvr-trackers-chest = Hrudník
|
||||
settings-general-steamvr-trackers-left_foot = Levá noha
|
||||
settings-general-steamvr-trackers-right_foot = Pravá noha
|
||||
settings-general-steamvr-trackers-left_knee = Levé koleno
|
||||
settings-general-steamvr-trackers-right_knee = Pravé koleno
|
||||
settings-general-steamvr-trackers-left_elbow = Levý loket
|
||||
settings-general-steamvr-trackers-right_elbow = Pravý loket
|
||||
settings-general-steamvr-trackers-left_hand = Levá ruka
|
||||
settings-general-steamvr-trackers-right_hand = Pravá ruka
|
||||
settings-general-steamvr-trackers-tracker_toggling = Automatické přiřazení trackeru
|
||||
settings-general-steamvr-trackers-tracker_toggling-description = Automaticky zapne trackery ve SteamVR v závislosti na aktuálním přiřazením trackerů.
|
||||
settings-general-steamvr-trackers-tracker_toggling-label = Automatické přiřazení trackeru
|
||||
settings-general-steamvr-trackers-hands-warning =
|
||||
<b>Varování:</b> trackery rukou přepíší vaše ovladače.
|
||||
Jste si jistí?
|
||||
settings-general-steamvr-trackers-hands-warning-cancel = Zrušit
|
||||
settings-general-steamvr-trackers-hands-warning-done = Ano
|
||||
|
||||
@@ -330,15 +419,52 @@ settings-general-tracker_mechanics-filtering-type-smoothing-description = Vyhlaz
|
||||
settings-general-tracker_mechanics-filtering-type-prediction = Predikce
|
||||
settings-general-tracker_mechanics-filtering-type-prediction-description = Zkracuje prodlevu a zrychluje pohyby, ale může způsobit třesení trackerů.
|
||||
settings-general-tracker_mechanics-filtering-amount = Množství
|
||||
settings-general-tracker_mechanics-yaw-reset-smooth-time = Čas vyhlazení resetu svislé osy (0s pro vypnutí vyhlazení)
|
||||
settings-general-tracker_mechanics-drift_compensation = Kompenzace driftu
|
||||
# This cares about multilines
|
||||
settings-general-tracker_mechanics-drift_compensation-description =
|
||||
Kompenzuje vychýlení IMU použitím inverzní rotace.
|
||||
Změňte velikost kompenzace a počet resetů, které jsou brány v úvahu.
|
||||
settings-general-tracker_mechanics-drift_compensation-enabled-label = Kompenzace driftu
|
||||
settings-general-tracker_mechanics-drift_compensation-prediction = Predikce kompenzace driftu
|
||||
# This cares about multilines
|
||||
settings-general-tracker_mechanics-drift_compensation-prediction-description =
|
||||
Předpovídá kompenzaci driftu svislé osy přes předešle změřený rozsah.
|
||||
Povolte toto pokud se vaše trackery neustále otáčejí na vertikální ose.
|
||||
settings-general-tracker_mechanics-drift_compensation-prediction-label = Predikce kompenzace driftu
|
||||
settings-general-tracker_mechanics-drift_compensation_warning =
|
||||
<b>Varování:</b> Kompenzaci driftu používejte pouze tehdy kdy musíte resetovat
|
||||
Neobvykle často (každých ~5-10 minut).
|
||||
|
||||
Některé IMU které náchylné k častým resetům zahrnují:
|
||||
Joy-Cons, owoTrack a MPU (bez aktuálního firmwaru).
|
||||
settings-general-tracker_mechanics-drift_compensation_warning-cancel = Zrušit
|
||||
settings-general-tracker_mechanics-drift_compensation_warning-done = Rozumím
|
||||
settings-general-tracker_mechanics-drift_compensation-amount-label = Množství kompenzace
|
||||
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Použít až x posledních obnovení
|
||||
settings-general-tracker_mechanics-save_mounting_reset = Uložit automatickou kalibraci obnovení připevnění
|
||||
settings-general-tracker_mechanics-save_mounting_reset-description =
|
||||
Uloží automatické kalibrování resetování umístění pro trackery mezi restarty. Užitečné
|
||||
pokud máte oblek, na kterém se umístění trackeru nemění mezi relacemi. <b>Nedoporučováno pro uživatele s běžnou sestavou</b>
|
||||
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = Uložit "Kalibraci nasazení"
|
||||
settings-general-tracker_mechanics-use_mag_on_all_trackers = Použít magnetometr na všech IMU trackerech, které jej podporují
|
||||
settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
|
||||
Použití magnetometr na všech trackerech které pro to mají kompatibilní firmware, snížení drifutu v stailních magnetických prostředích.
|
||||
Může být vypnuto pro jednotivé trackery v jejich nastaveních. <b> Prosíme nevypínejte žádný z trackerů při přepínání tohoto nastavení! </b>
|
||||
settings-general-tracker_mechanics-use_mag_on_all_trackers-label = Použít magnetometru na trackerech
|
||||
settings-stay_aligned = Zůstaň Srovaný (Stay Aligned)
|
||||
settings-stay_aligned-description = Zůstaň Srovaný redukuje drift pomocí postupného upravování vašich trackerů do vaší relaxůjící pózy.
|
||||
settings-stay_aligned-setup-label = Nastavte Zůstaň Sronaný
|
||||
settings-stay_aligned-setup-description = Musíte dokončit "Nastvení Zůstaň Srovaný" pro zapnutí Zůstaň Srovnaný.
|
||||
settings-stay_aligned-warnings-drift_compensation = ⚠ Prosím vypněte Kompenzaci Driftu! Kompenzace driftu bude narušovat funkčnost Zůstaň Srovnaný.
|
||||
settings-stay_aligned-enabled-label = Upravit trackery
|
||||
settings-stay_aligned-general-label = Obecné
|
||||
settings-stay_aligned-relaxed_poses-label = Relaxovací Póza
|
||||
settings-stay_aligned-relaxed_poses-standing = Upravit trackery při stoje
|
||||
settings-stay_aligned-relaxed_poses-reset_pose = Obnovit pózu
|
||||
settings-stay_aligned-relaxed_poses-close = Zavřít
|
||||
settings-stay_aligned-debug-label = Ladění
|
||||
settings-stay_aligned-debug-copy-label = Zkopírovat nastavení do schránky
|
||||
|
||||
## FK/Tracking settings
|
||||
|
||||
@@ -360,11 +486,16 @@ 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
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = Opravit pomocí omezení
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = Opravit rotaci kloubů, když překročí svůj limit
|
||||
settings-general-fk_settings-arm_fk = Trackování ramen
|
||||
settings-general-fk_settings-arm_fk-description = Vynutit sledování rukou z VR headsetu, i když jsou k dispozici údaje o poloze rukou z trackerů.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Vynutit ruce z VR Headsetu
|
||||
settings-general-fk_settings-reset_settings = Obnovit nastavení
|
||||
settings-general-fk_settings-reset_settings-reset_hmd_pitch = Obnovit HMD pitch
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Nastavte pózu rukou použitá pro reset nasazení.
|
||||
settings-general-fk_settings-arm_fk-back = Paže dozadu
|
||||
settings-general-fk_settings-arm_fk-back-description = Výchozí režim: paže směřují dozadu, předloktí dopředu.
|
||||
@@ -374,11 +505,15 @@ settings-general-fk_settings-arm_fk-tpose_down = T-póza (ruce dolů)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = Před zahájením plného resetu, očekává že zaujmete uvolněný postoj a pomalu zvednete paže do pozice Téčka (90 stupňů jako písmeno T). A pro reset umístění, že stojíte vzpřímeně a máte paže volně spuštěné podél těla.
|
||||
settings-general-fk_settings-arm_fk-forward = Vpřed
|
||||
settings-general-fk_settings-arm_fk-forward-description = Ideální pozice pro Vtubing: zvedněte paže do 90 stupňového úhlu. (90 stupňů jako písmeno T).
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Přepínače kostry
|
||||
settings-general-fk_settings-skeleton_settings-description = Zapnutí nebo vypnutí nastavení kostry. Je doporučeno je ponechat zapnuté.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Prodloužení modelu páteře
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Model s prodloužením pánve
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Model s prodloužením kolene
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Poměry kostry
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Změňte hodnoty nastavení kostry, Po změně budete možná muset poupravit vaše proporce.
|
||||
settings-general-fk_settings-self_localization-title = Režim Mocap
|
||||
settings-general-fk_settings-self_localization-description = Režim Mocap je experimentální funkce, která dokáže přibližně určit polohu vašeho těla bez VR Headsetu a dalších trackerů. Pro správnou funkci je však nutné mít trackery pro nohy a hlavu.
|
||||
settings-general-fk_settings-vive_emulation-title = Vive emulace
|
||||
settings-general-fk_settings-vive_emulation-description = Napodobit problémy Vive trackerů. Tohle je jenom pro vtip a zhoršuje trackování.
|
||||
settings-general-fk_settings-vive_emulation-label = Povolení emulace Vive
|
||||
|
||||
## Gesture control settings (tracker tapping)
|
||||
|
||||
@@ -402,9 +537,17 @@ settings-general-gesture_control-trackers =
|
||||
[many] { $amount } trackerů
|
||||
*[other] { $amount } trackerů
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Povolit klepnutí pro reset odklonu
|
||||
settings-general-gesture_control-yawResetDelay = Zpoždění resetu vybočení
|
||||
settings-general-gesture_control-yawResetTaps = Klepnutí pro resetování rotace
|
||||
settings-general-gesture_control-fullResetEnabled = Povolit klepnutí pro úplné restartování
|
||||
settings-general-gesture_control-fullResetDelay = Zpoždění úplného obnovení
|
||||
settings-general-gesture_control-fullResetTaps = Klepnutí pro úplný reset
|
||||
settings-general-gesture_control-mountingResetEnabled = Povolit klepnutí pro resetování montáže
|
||||
settings-general-gesture_control-mountingResetDelay = Zpoždění resetování montáže
|
||||
settings-general-gesture_control-mountingResetTaps = Klepnutí pro resetování montáže
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Trackery překročily práh
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Zvyšte tuto hodnotu, pokud detekce klepnutí nefunguje. Nepřekračujte ji nad hodnotu, která je potřebná k tomu, aby detekce klepnutí fungovala, protože by to mohlo způsobit více falešně pozitivních klepnutí.
|
||||
|
||||
## Appearance settings
|
||||
@@ -414,16 +557,23 @@ settings-general-interface-dev_mode = Vývojářský režim
|
||||
settings-general-interface-dev_mode-description = Tento režim může být užitečný, pokud potřebujete podrobné údaje nebo omunikovat s trackerama na pokročilejší úrovni.
|
||||
settings-general-interface-dev_mode-label = Vývojářský režim
|
||||
settings-general-interface-theme = Barva tématu
|
||||
settings-general-interface-show-navbar-onboarding = Zobrazit "{ navbar-onboarding }" na navigačním panelu
|
||||
settings-general-interface-show-navbar-onboarding-description = Tohle mění jestli bude tlačítko pro "{ navbar-onboarding }" zobrazeno na navigačním panelu
|
||||
settings-general-interface-show-navbar-onboarding-label = Zobrazit "{ navbar-onboarding }"
|
||||
settings-general-interface-lang = Zvolte jazyk
|
||||
settings-general-interface-lang-description = Změňte výchozí jazyk, který chcete používat.
|
||||
settings-general-interface-lang-placeholder = Zvolte jazyk, který chcete používat.
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = Font rozhraní
|
||||
settings-interface-appearance-font-description = Tohle mění font který používá rozhraní
|
||||
settings-interface-appearance-font-placeholder = Toto změní písmo používané v rozhraní.
|
||||
settings-interface-appearance-font-os_font = Systémový font
|
||||
settings-interface-appearance-font-slime_font = Výchozí font
|
||||
settings-interface-appearance-font_size = Výchozí velikost písma
|
||||
settings-interface-appearance-font_size-description = Toto ovlivňuje velikost písma celého rozhraní, s výjimkou panelu nastavení.
|
||||
settings-interface-appearance-decorations = Použít nativní dekorace systému
|
||||
settings-interface-appearance-decorations-description = Tímto se nebude vykreslovat horní lišta rozhraní, a místo toho se použije vlastní barva lišty zvolená v operačním systému.
|
||||
settings-interface-appearance-decorations-label = Použít nativní dekorace
|
||||
|
||||
## Notification settings
|
||||
|
||||
@@ -438,9 +588,32 @@ settings-general-interface-feedback_sound-volume = Hlasitost zvuku zpětné vazb
|
||||
settings-general-interface-connected_trackers_warning = Upozornění o připojených trackerů
|
||||
settings-general-interface-connected_trackers_warning-description = Tato možnost zobrazí vyskakovací okno pokaždé, když se pokusíte opustit SlimeVR, když máte připojen jeden nebo více trackerů. Připomene vám, abyste vypnuli své trackery, až budete hotovi, abyste prodloužili životnost baterie.
|
||||
settings-general-interface-connected_trackers_warning-label = Upozornění o připojených trackerech při ukončení
|
||||
|
||||
## Behavior settings
|
||||
|
||||
settings-interface-behavior = Chování
|
||||
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
|
||||
settings-general-interface-discord_presence = Sdílet aktivitu na Discordu
|
||||
settings-general-interface-discord_presence-description = Sdělí Discord klientu, že používáte SlimeVR společně s počtem trackerů IMU, které používáte.
|
||||
settings-general-interface-discord_presence-label = Sdílet aktivitu na Discordu
|
||||
settings-general-interface-discord_presence-message =
|
||||
{ $amount ->
|
||||
[0] Sliming around
|
||||
[one] Používá 1 tracker
|
||||
[few] Používá { $amount } trackery
|
||||
[many] Používá { $amount } trackerů
|
||||
*[other] Používá { $amount } trackerů
|
||||
}
|
||||
settings-interface-behavior-error_tracking = Sběr chyb prostřednictvím Sentry.io
|
||||
settings-interface-behavior-error_tracking-description_v2 =
|
||||
<h1>Souhlasíte se shromažďováním anonymizovaých údajů o chybých?</h1>
|
||||
|
||||
<b>Neschrožďujeme osobní udaje!</b> pro příklad IP adresy nebo přihlašovací údaje k sítím Wi-Fi. SlimeVR respektuje vaše soukromí!
|
||||
|
||||
Aby jsme mohli poskytnout nejlepší zážitek uživatelům, schromažďujeme proto anonymizované zprávy o chybých, metriky výkon a informace o operačním systém. To nám pomáhá zjištovat chyby a problémy s SlimeVR. Tyto matriky jsou schromažďovány prostřednictvím Sentry.io.
|
||||
settings-interface-behavior-error_tracking-label = Odeslat chyby vývojářům
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -459,10 +632,11 @@ 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
|
||||
settings-serial-file_type = Prostý text
|
||||
settings-serial-save_logs = Uložit jako soubor
|
||||
|
||||
## OSC router settings
|
||||
|
||||
@@ -492,10 +666,18 @@ settings-osc-router-network-address-placeholder = Adresa IPV4
|
||||
## OSC VRChat settings
|
||||
|
||||
settings-osc-vrchat = Trackery VRChat OSC
|
||||
# This cares about multilines
|
||||
settings-osc-vrchat-description-v1 =
|
||||
Pro změnu nastavení specifických pro standart OSC pro odesílání
|
||||
sledovacích dat aplikacím bez SteamVR (např. Quest standalone).
|
||||
Ujistěte se že jste povolili OSC ve VRChat přes nabídku v menu Akcí pod OSC > Povoleno.
|
||||
settings-osc-vrchat-enable = Zapnout
|
||||
settings-osc-vrchat-enable-description = Vypnutí a zapnutí odesílání a přijímání dat.
|
||||
settings-osc-vrchat-enable-label = Zapnout
|
||||
settings-osc-vrchat-oscqueryEnabled = Povolit OSCQuery
|
||||
settings-osc-vrchat-oscqueryEnabled-label = Povolit OSCQuery
|
||||
settings-osc-vrchat-network = Síťové porty
|
||||
settings-osc-vrchat-network-description-v1 = Nastavte port pro komunikaci. Může zůstat tak jak je pro VRChat.
|
||||
settings-osc-vrchat-network-port_in =
|
||||
.label = Vstup portu
|
||||
.placeholder = Vstup portu (výchozí: 9001)
|
||||
@@ -503,6 +685,7 @@ settings-osc-vrchat-network-port_out =
|
||||
.label = Výstup portu
|
||||
.placeholder = Výstup portu (výchozí: 9000)
|
||||
settings-osc-vrchat-network-address = Síťová adresa
|
||||
settings-osc-vrchat-network-address-description-v1 = Zvolte na jakou adresu zasílat data, Může zůstat nezměneno pro Vrchat.
|
||||
settings-osc-vrchat-network-address-placeholder = VRChat ip adresa
|
||||
settings-osc-vrchat-network-trackers = Trackery
|
||||
settings-osc-vrchat-network-trackers-description = Vypnuti a zapnutí odesílání konkrétních trackerů přes OSC.
|
||||
@@ -515,6 +698,10 @@ settings-osc-vrchat-network-trackers-elbows = Lokty
|
||||
## VMC OSC settings
|
||||
|
||||
settings-osc-vmc = Virtuální snímání pohybu (Také známo jako Virtual Motion Capture)
|
||||
# This cares about multilines
|
||||
settings-osc-vmc-description =
|
||||
Změna nastavení specificky pro VCM (Virtual Motion Capture) protokol
|
||||
odesílat data o kostech SlimeVR a přijímat data o kostech z jiných aplikací.
|
||||
settings-osc-vmc-enable = Zapnout
|
||||
settings-osc-vmc-enable-description = Vypnutí a zapnutí odesílání a přijímání dat.
|
||||
settings-osc-vmc-enable-label = Zapnout
|
||||
@@ -531,16 +718,56 @@ settings-osc-vmc-network-address-description = Vyberte, na kterou adresu odesíl
|
||||
settings-osc-vmc-network-address-placeholder = Adresa IPV4
|
||||
settings-osc-vmc-vrm = VRM Model
|
||||
settings-osc-vmc-vrm-description = Načtěte VRM model, k umožnení lepšímu sledování hlavy a zlepšení kompatibility s dalšími aplikacemi.
|
||||
settings-osc-vmc-vrm-model_unloaded = Není načten žádný model
|
||||
settings-osc-vmc-vrm-model_loaded =
|
||||
{ $titled ->
|
||||
[true] Model načten: { $name }
|
||||
*[false] Načten neznámý model
|
||||
}
|
||||
settings-osc-vmc-vrm-untitled_model = Nepojmenovaný model
|
||||
settings-osc-vmc-vrm-file_select = Přetáhněte zde model, který chcete použít, nebo <u>procházejte</u>
|
||||
settings-osc-vmc-anchor_hip = Zakotvit v bocích
|
||||
settings-osc-vmc-anchor_hip-description = Zakotvit sledování u boků, užitečné pro VTubing kde sedíte. Pokud je deaktivováno, načíst VRM model.
|
||||
settings-osc-vmc-anchor_hip-label = Zakotvit v bocích
|
||||
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é
|
||||
settings-utils-advanced-reset-gui = Obnovení GUI nastavení
|
||||
settings-utils-advanced-reset-gui-description = Obnovení výchozího nastavení pro rozhraní.
|
||||
settings-utils-advanced-reset-gui-label = Obnovit GUI
|
||||
settings-utils-advanced-reset-server = Obnovení nastavení sledování
|
||||
settings-utils-advanced-reset-server-description = Obnovit výchozí nastavení pro sledovaní.
|
||||
settings-utils-advanced-reset-server-label = Obnovení sledování
|
||||
settings-utils-advanced-reset-all = Obnovit všechna nastavení
|
||||
settings-utils-advanced-reset-all-description = Obnoví výchozí nastavení pro rozhraní a sledování.
|
||||
settings-utils-advanced-reset-all-label = Obnovit vše
|
||||
settings-utils-advanced-reset_warning =
|
||||
{ $type ->
|
||||
[gui]
|
||||
<b>Varování:</b> Tímhle se všechna vaše nastavení GUI obnoví na výchozí hodnoty.
|
||||
Jste si jisti že to chcete udělat?
|
||||
[server]
|
||||
<b>Varování:</b> Tímhle se všechna vaše nastavení Sledování obnoví na výchozí hodnoty.
|
||||
Jste si jisti že to chcete udělat?
|
||||
*[all]
|
||||
<b>Varování:</b> Tímhle se všechna vaše nastavení obnoví na výchozí hodnoty.
|
||||
Jste si jisti že to chcete udělat?
|
||||
}
|
||||
settings-utils-advanced-reset_warning-reset = Obnovit nastavení
|
||||
settings-utils-advanced-reset_warning-cancel = Zrušit
|
||||
settings-utils-advanced-open_data-v1 = Složka s konfigurací
|
||||
settings-utils-advanced-open_data-description-v1 = Otevřít složku s konfiguračními soubory pro SlimeVR v průzkumníku souborů?
|
||||
settings-utils-advanced-open_data-label = Otevřít složku
|
||||
settings-utils-advanced-open_logs = Složka s záznamy protokolů
|
||||
settings-utils-advanced-open_logs-description = Otevřít složku s konfiguračními soubory pro SlimeVR v průzkumníku souborů?
|
||||
settings-utils-advanced-open_logs-label = Otevřít složku
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
@@ -557,16 +784,12 @@ onboarding-setup_warning-cancel = Pokračovat v nastavení
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = Zpět na úvod
|
||||
onboarding-wifi_creds = Zadání přihlašovacích údajů k Wi-Fi
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
Sledovací zařízení budou tato přihlašovací údaje používat k připojení.
|
||||
Použijte prosím přihlašovací údaje, ke kterým jste aktuálně připojeni.
|
||||
onboarding-wifi_creds-skip = Přeskočit nastavení Wi-Fi
|
||||
onboarding-wifi_creds-submit = Odeslat!
|
||||
onboarding-wifi_creds-ssid =
|
||||
.label = Název Wi-Fi
|
||||
.placeholder = Zadejte název Wi-Fi
|
||||
onboarding-wifi_creds-ssid-required = Je vyžadován název sítě Wi-Fi
|
||||
onboarding-wifi_creds-password =
|
||||
.label = Heslo
|
||||
.placeholder = Zadejte heslo
|
||||
@@ -594,13 +817,6 @@ onboarding-reset_tutorial-1 =
|
||||
onboarding-home = Vítejte k SlimeVR
|
||||
onboarding-home-start = Pusťme se do toho!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = Zpět na přiřazení trackerů
|
||||
onboarding-enter_vr-title = Čas vstoupit do VR!
|
||||
onboarding-enter_vr-description = Nasaďte si všechny trackery a pak vstupte do VR!
|
||||
onboarding-enter_vr-ready = Jsem připraven
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = Vše je připraveno!
|
||||
@@ -611,16 +827,24 @@ onboarding-done-close = Zavřít průvodce
|
||||
|
||||
onboarding-connect_tracker-back = Zpět na přihlašovací údaje Wi-Fi
|
||||
onboarding-connect_tracker-title = Připojení trackerů
|
||||
onboarding-connect_tracker-description-p0-v1 = A nyní k té zábavné části, Připojte trackery
|
||||
onboarding-connect_tracker-description-p1-v1 = Připojte po jednom postupně všechny tracker přes USB port.
|
||||
onboarding-connect_tracker-issue-serial = Mám potíže s připojením!
|
||||
onboarding-connect_tracker-usb = USB Tracker
|
||||
onboarding-connect_tracker-connection_status-none = Hledám trackery
|
||||
onboarding-connect_tracker-connection_status-serial_init = Připojuji se k sériovému zařízení
|
||||
onboarding-connect_tracker-connection_status-obtaining_mac_address = Získávání MAC adresy trackeru
|
||||
onboarding-connect_tracker-connection_status-provisioning = Odesílám přihlašovací údaje WiFi
|
||||
onboarding-connect_tracker-connection_status-connecting = Pokouším se připojit k WiFi
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = Hledám server
|
||||
onboarding-connect_tracker-connection_status-connection_error = Nelze se připojit k síti Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-could_not_find_server = Nelze najít server
|
||||
onboarding-connect_tracker-connection_status-done = Připojeno k serveru
|
||||
onboarding-connect_tracker-connection_status-no_serial_log = Nepodařilo se získat protokoly z trackeru
|
||||
onboarding-connect_tracker-connection_status-no_serial_device_found = Nepodařilo se nalézt tracker přes USB
|
||||
onboarding-connect_serial-error-modal-no_serial_log = Je tracker zapnutý?
|
||||
onboarding-connect_serial-error-modal-no_serial_log-desc = Ujistěte se, že je tracker zapnutý a připojený k vašemu počátači
|
||||
onboarding-connect_serial-error-modal-no_serial_device_found = Nebyly nalezeny žádné trackery
|
||||
# $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",
|
||||
@@ -639,12 +863,12 @@ 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
|
||||
onboarding-calibration_tutorial-status-success = Super!
|
||||
onboarding-calibration_tutorial-status-error = Trackerem bylo pohnuto.
|
||||
onboarding-calibration_tutorial-skip = Přeskočit návod
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
@@ -673,6 +897,22 @@ onboarding-assign_trackers-assigned =
|
||||
onboarding-assign_trackers-advanced = Zobrazit pokročilá místa na přiřazení trackerů
|
||||
onboarding-assign_trackers-next = Přiřadil jsem všechny trackery
|
||||
onboarding-assign_trackers-mirror_view = Zrcadlit náhled
|
||||
onboarding-assign_trackers-option-label =
|
||||
{ $mode ->
|
||||
[lower-body] Spodní část těla
|
||||
[core] Základ
|
||||
[enhanced-core] Vylepšený základ
|
||||
[full-body] Celé tělo
|
||||
*[all] Všechny trackery
|
||||
}
|
||||
onboarding-assign_trackers-option-description =
|
||||
{ $mode ->
|
||||
[lower-body] Minimum pro sledování celého těla ve VR
|
||||
[core] + Vylepšené sledování páteře
|
||||
[enhanced-core] + Rotace chodidel
|
||||
[full-body] + Sledování loktů
|
||||
*[all] Přrazení všech dostupný trackerů
|
||||
}
|
||||
|
||||
## Tracker assignment warnings
|
||||
|
||||
@@ -696,8 +936,12 @@ onboarding-choose_mounting = Jakou metodu nasazení trackerů použít?
|
||||
# Multiline text
|
||||
onboarding-choose_mounting-description = Správná orientace nasazení zajistí přesné sledování trackerů na těle.
|
||||
onboarding-choose_mounting-auto_mounting = Automatická detekce nasazení
|
||||
# Italicized text
|
||||
onboarding-choose_mounting-auto_mounting-label-v2 = Doporučeno
|
||||
onboarding-choose_mounting-auto_mounting-description = Orientace nasazení všech trackerů bude automaticky rozpoznána ze 2 pozic.
|
||||
onboarding-choose_mounting-manual_mounting = Manuální nastavení
|
||||
# Italicized text
|
||||
onboarding-choose_mounting-manual_mounting-label-v2 = Nemusí být dostatečně přesné
|
||||
onboarding-choose_mounting-manual_mounting-description = Ručně zadejte orientaci nasazení každého trackeru.
|
||||
# Multiline text
|
||||
onboarding-choose_mounting-manual_modal-title =
|
||||
@@ -730,44 +974,24 @@ onboarding-automatic_mounting-mounting_reset-title = Reset nasazení trackerů
|
||||
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Dřepněte si, jako při lyžování: nohy pokrčte v kolenou, trup nakloňte mírně dopředu a paže pokrčte.
|
||||
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Stiskněte tlačítko "Resetovat nasazení trackerů" a vyčkejte 3 sekundy. Orientace nasazení trackerů se nastaví na základní hodnoty.
|
||||
onboarding-automatic_mounting-preparation-title = Příprava
|
||||
onboarding-automatic_mounting-preparation-step-0 = 1. Postavte se vzpřímeně s rukama na bocích.
|
||||
onboarding-automatic_mounting-preparation-step-1 = 2. Stiskněte tlačítko "Reset" a počkejte 3 sekundy, než se trackery resetují.
|
||||
onboarding-automatic_mounting-preparation-v2-step-0 = 1. Stiskněte tlačítko pro "Plný Reset"
|
||||
onboarding-automatic_mounting-put_trackers_on-title = Nasaďte si trackery
|
||||
onboarding-automatic_mounting-put_trackers_on-description = Pro kalibraci směru nasazení použijeme právě přiřazené trackery. Nasaďte si prosím všechny trackery. Můžete zkontrolovat jejich umístění na obrázku vpravo.
|
||||
onboarding-automatic_mounting-put_trackers_on-next = Mám nasazené všechny trackery
|
||||
|
||||
## Tracker proportions method choose
|
||||
## Tracker manual proportions setupa
|
||||
|
||||
onboarding-choose_proportions = Jakou metodu kalibrace chcete použít?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description-v1 =
|
||||
Proporce těla potřebujeme, abychom dobře změřili tvoje pohyby. Trackerům totiž pomáhají zjistit, kde přesně se na těle nachází.
|
||||
Když jsou proporce nastaveny špatně, sledování nebude fungovat dobře. Může to způsobit efekt kde tvůj avatar divně klouže, nebo že se divně hýbe.
|
||||
<b>Proporce stačí změřit jednou a máš to vyřešené!</b> Pokud nezměníš výrazně postavu nebo to napoprvé nedopadne dobře, nemusíš už nic měřit.
|
||||
onboarding-choose_proportions-auto_proportions = Automatická detekce proporcí
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Doporučeno
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv3 =
|
||||
Toto odhadne vaše proporce z krátkého záznamu vašich pohybů pomocí speciálního algoritmu.
|
||||
|
||||
<b>K tomu JE NUTNÉ mít VR headset připojený k SlimeVR a nasazený na hlavě!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Manuální nastavení proporcí
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Pro drobné úpravy
|
||||
onboarding-choose_proportions-manual_proportions-description = Nastavte si vaše proporce ručně dle vašich potřeb.
|
||||
onboarding-choose_proportions-export = Exportovat proporce
|
||||
onboarding-choose_proportions-import = Importovat proporce
|
||||
onboarding-choose_proportions-import-success = Importováno!
|
||||
onboarding-choose_proportions-import-failed = Import byl neúspěšný
|
||||
onboarding-choose_proportions-file_type = Soubor tělesných proporcí
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-back = Zpět na tutoriál
|
||||
onboarding-manual_proportions-title = Manuální proporce těla
|
||||
onboarding-manual_proportions-precision = Přesná úprava
|
||||
onboarding-manual_proportions-auto = Automatická kalibrace proporcí
|
||||
onboarding-manual_proportions-ratio = Upravit podle poměrů končetin
|
||||
onboarding-manual_proportions-fine_tuning_button = Automatické jemné doladění proporcí
|
||||
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = Pro použití automatického jemného lazení, prosím připojte VR headset
|
||||
onboarding-manual_proportions-export = Exportovat proporce
|
||||
onboarding-manual_proportions-import = Importovat proporce
|
||||
onboarding-manual_proportions-file_type = Soubor tělesných proporcí
|
||||
onboarding-manual_proportions-normal_increment = Normální škála
|
||||
onboarding-manual_proportions-precise_increment = Přesná škála
|
||||
onboarding-manual_proportions-grouped_proportions = Skupinové proporce
|
||||
onboarding-manual_proportions-all_proportions = Všechny proporce
|
||||
onboarding-manual_proportions-estimated_height = Odhadovaná výška uživatele
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
@@ -788,18 +1012,33 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
|
||||
SteamVR a SlimeVR: Headset odesílá pozici do serveru SlimeVR (obvykle je potřeba mít spuštěný SteamVR a připojený k SlimeVR pomocí ovladače SlimeVR pro SteamVR).
|
||||
Přesné sledování: Sledování funguje a přesně zaznamenává vaše pohyby (například jste provedli kompletní reset a trackery se správně pohybují při kopání, předklonu, sezení apod.).
|
||||
onboarding-automatic_proportions-requirements-next = Přečetl jsem si požadavky
|
||||
onboarding-automatic_proportions-check_height-title = Ujistěte se, že máte správnou výšku
|
||||
onboarding-automatic_proportions-check_height-description = Vaši výšku využíváme jako základ pro měření pohybů. Pro přibližné zjištění výšky používáme výšku vašeho VR headsetu, ale je přesnější, když si svoji skutečnou výšku zadáte sami!
|
||||
onboarding-automatic_proportions-check_height-title-v3 = Měření výšky vašeho headsetu
|
||||
onboarding-automatic_proportions-check_height-description-v2 = Váš headset HMD výška by měla být o trochu menší než vaše celá výška, protože headset měří výšku úrovně vašich očí. Toto měření bude použito pro výchozí hodnoty vaších tělesných proporcí.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Pro změření výšky stiskněte tlačítko <u>ve vzpřímeném postoji.</u> Máte na to 3 sekundy od stisknutí!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Stojím vzpřímeně!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning-v3 = Započněte měření při tom když stojíte <u>vzpřímeně</u> aby jste změřili vaší výšku. Dávejte pozor aby jste nezvedly vaše ruce nad váš headset, mohlo by to ovlivnit výsledky měření!
|
||||
onboarding-automatic_proportions-check_height-guardian_tip =
|
||||
Pokud používáte Samostatný VR headset, ujistěte se že váš opatrovník /
|
||||
Hranice zapnutá aby byla vaše výška správně!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Neznámá
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = Výška vašeho headsetu je
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = takže vaše výška by měla být
|
||||
onboarding-automatic_proportions-check_height-hmd_height2 = Výška vašeho headsetu je:
|
||||
onboarding-automatic_proportions-check_height-measure-start = Zahájit měření
|
||||
onboarding-automatic_proportions-check_height-measure-stop = Ukončit měření
|
||||
onboarding-automatic_proportions-check_height-measure-reset = Opakovat měření
|
||||
onboarding-automatic_proportions-check_height-next_step = Je to v pořádku!
|
||||
onboarding-automatic_proportions-check_floor_height-title = Změřte vaší výšku podlahy (dobrovolné)
|
||||
onboarding-automatic_proportions-check_floor_height-description = V některých případech, výška vaší podlahy nemusí být správně nastavena vaším headsetem, což způsobí že výška headsetu bude zaznamenána víš než by měla být. Můžete změřit "výšku" vaší podlahy aby jste opravily výšku vašeho headsetu
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_floor_height-calculation_warning-v2 = Začněte s měřením a přiložte ovladač proti vaší podlaze pro změření její výšky. pokud jste si jistí že výška podlahy je správně nastavená, můžete tento krok přeskočit
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_floor_height-floor_height = Výška vaší podlahy je:
|
||||
onboarding-automatic_proportions-check_floor_height-full_height = Vaše odhadnutá celá výška je:
|
||||
onboarding-automatic_proportions-check_floor_height-measure-start = Zahájit měření
|
||||
onboarding-automatic_proportions-check_floor_height-measure-stop = Ukončit měření
|
||||
onboarding-automatic_proportions-check_floor_height-measure-reset = Opakovat měření
|
||||
onboarding-automatic_proportions-check_floor_height-skip_step = Přeskočit krok a uložit
|
||||
onboarding-automatic_proportions-check_floor_height-next_step = Použít výšku podlahy a uložit
|
||||
onboarding-automatic_proportions-start_recording-title = Připravte se hýbat
|
||||
onboarding-automatic_proportions-start_recording-description = Připravte se na nahrání několika póz a pohybů. Dostanete přesné instrukce na další obrazovce. Až budete připraveni, stiskněte tlačítko a začněte!
|
||||
onboarding-automatic_proportions-start_recording-next = Spustit nahrávání
|
||||
@@ -830,8 +1069,35 @@ onboarding-automatic_proportions-verify_results-redo = Znovu provést záznam
|
||||
onboarding-automatic_proportions-verify_results-confirm = Jsou správné
|
||||
onboarding-automatic_proportions-done-title = Tělo změřeno a uloženo.
|
||||
onboarding-automatic_proportions-done-description = Kalibrace proporcí vašeho těla je dokončena!
|
||||
onboarding-automatic_proportions-error_modal = <b>Chyba:</b> Při odhadování proporcí došlo k chybě! Prosím, přečtěte si <docs>dokumentaci</docs> nebo se připojte k našemu serveru <discord>Discord</discord> a požádejte o pomoc ^_^
|
||||
onboarding-automatic_proportions-error_modal-v2 =
|
||||
<b>Varování:</b> Nastala chyba při odhadu proporcí!
|
||||
Pravděpodobně jde o nesprávnou kalibraci umístění trackerů. Ujistěte se že vaše sledování funguje správě než to zkusíte znovu.
|
||||
Prosím <docs>Zkontrolujte dokumentaci</docs> nebo se připojte na náš <discord>Discord server</discord> a požádejte o pomoc ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Rozumím!
|
||||
onboarding-automatic_proportions-smol_warning =
|
||||
Vaše nakonfigurovaná výška { $height } je menší než minimální přijatelná výška { $minHeight }.
|
||||
<b>Proveďte prosím přeměření a ujistěte se, že jsou hodnoty správné.</b>
|
||||
onboarding-automatic_proportions-smol_warning-cancel = Jít zpět
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## Stay Aligned setup
|
||||
|
||||
onboarding-stay_aligned-title = Zůstaň Srovaný!
|
||||
onboarding-stay_aligned-description = Nakonfigurujte Zustaň Srovnaný, aby byly vaše trackery srovnáný.
|
||||
onboarding-stay_aligned-put_trackers_on-title = Nasaďte si trackery
|
||||
onboarding-stay_aligned-put_trackers_on-next = Mám nasazené všechny trackery
|
||||
onboarding-stay_aligned-verify_mounting-title = Zkotrolujte nasazení
|
||||
onboarding-stay_aligned-verify_mounting-step-1 = 1. Pohybujte se ve stoje.
|
||||
onboarding-stay_aligned-verify_mounting-step-2 = 2. Posaďte se a pohybujte nohama a chodidly.
|
||||
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Stůjte v pohodlné pozici. Relaxujte!
|
||||
onboarding-stay_aligned-relaxed_poses-skip_step = Přeskočit
|
||||
onboarding-stay_aligned-done-title = Zustaň Srovnaný zapnuto!
|
||||
onboarding-stay_aligned-previous_step = Předchozí
|
||||
onboarding-stay_aligned-next_step = Další
|
||||
onboarding-stay_aligned-restart = Restart
|
||||
onboarding-stay_aligned-done = Hotovo
|
||||
|
||||
## Home
|
||||
|
||||
@@ -855,6 +1121,82 @@ status_system-StatusSteamVRDisconnected =
|
||||
*[steamvr] Nejste připojeni ke SteamVR zapomocí ovladače SlimeVR.
|
||||
}
|
||||
status_system-StatusTrackerError = Tracker { $trackerName } není v pořádku.
|
||||
status_system-StatusUnassignedHMD = Váš VR Headset by měl být přiřazen jako tracker hlavy.
|
||||
|
||||
## Firmware tool globals
|
||||
|
||||
firmware_tool-next_step = Další krok
|
||||
firmware_tool-previous_step = Předchozí krok
|
||||
firmware_tool-ok = Vypadá to dobře
|
||||
firmware_tool-retry = Zkusit znovu
|
||||
firmware_tool-loading = Načítání...
|
||||
|
||||
## Firmware tool Steps
|
||||
|
||||
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-flash_method_step = Metoda flashování
|
||||
firmware_tool-flash_method_step-description = Prosím zvolte metodu flashování, kterou chcete použít
|
||||
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:
|
||||
firmware_tool-flashbtn_step-board_OTHER =
|
||||
Před flashováním, pravděpodobně budete muset přepnout tracker do bootloader režimu.
|
||||
Ve většině případů to znamená stisknutí boot tlačítka na desce trakeru před tím než začne proces flashování.
|
||||
Pokud procesu flashování vyprší čas hned na začátku flashování, to nejspíš znamená že tracker nebyl v řežimu bootloaderu
|
||||
Podívejte se prosím na instrukce procesu flashování pro desku vašeho zařízení, aby jste zjistili jak se dostat do režimu bootloaderu
|
||||
firmware_tool-flash_method_ota-devices = Byla detekována zařízení s OTA:
|
||||
firmware_tool-flash_method_ota-no_devices = Nebyly nalezeny žádné zákadní desky které by mohly být aktualizované pomocí OTA, prosím ujistěte se že jste zvolily správný typ základní desky
|
||||
firmware_tool-flash_method_serial-wifi = Přihlašovací údaje Wi-Fi:
|
||||
firmware_tool-flash_method_serial-devices-label = Detekována Sériová Zařízení:
|
||||
firmware_tool-flash_method_serial-devices-placeholder = Vyberte sériové zařízení
|
||||
firmware_tool-flash_method_serial-no_devices = Nebyla nalezena žádná kompatibilní seriová zařízení, prosím ujistěte se že trackery jsou připojeny
|
||||
firmware_tool-build_step = Sestavování
|
||||
firmware_tool-build_step-description = Firmwere se sestavuje, čekejte prosím
|
||||
firmware_tool-flashing_step = Flashování
|
||||
firmware_tool-flashing_step-description = Probíhá flashování vašich trackerů, prosím postupujte dle instrukcí na obrazovce
|
||||
firmware_tool-flashing_step-flash_more = Flashnout více trackerů
|
||||
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-BUILDING = Sestavování firmweru
|
||||
firmware_tool-build-SAVING = Ukládání sestavení
|
||||
firmware_tool-build-DONE = Sestavení dokončeno
|
||||
firmware_tool-build-ERROR = Nepodařilo se sestavit firmwere
|
||||
|
||||
## Firmware update status
|
||||
|
||||
firmware_update-status-DOWNLOADING = Stahování firmwaru
|
||||
firmware_update-status-AUTHENTICATING = Autentifikování s mcu
|
||||
firmware_update-status-UPLOADING = Nahrávání firmwaru
|
||||
firmware_update-status-SYNCING_WITH_MCU = Synchronizace s MCU
|
||||
firmware_update-status-REBOOTING = Restartování trackeru
|
||||
firmware_update-status-PROVISIONING = Nastavování přihlašovacích údajů pro síť Wi-Fi
|
||||
firmware_update-status-DONE = Aktualizace byla dokončena!
|
||||
firmware_update-status-ERROR_DEVICE_NOT_FOUND = Zařízení se nepodařilo nalézt
|
||||
firmware_update-status-ERROR_TIMEOUT = Vypršel časový limit pro proces aktualizace
|
||||
firmware_update-status-ERROR_DOWNLOAD_FAILED = Nepodařilo se stáhnout firmware
|
||||
firmware_update-status-ERROR_AUTHENTICATION_FAILED = Ověření MCU se nezdařilo
|
||||
firmware_update-status-ERROR_UPLOAD_FAILED = Nepodařilo se nahrát firmware
|
||||
firmware_update-status-ERROR_PROVISIONING_FAILED = Nepodařilo se nastavit přihlašovací údaje pro Wi-Fi
|
||||
firmware_update-status-ERROR_UNSUPPORTED_METHOD = Metoda aktualizace není podporována
|
||||
firmware_update-status-ERROR_UNKNOWN = Neznámá chyba
|
||||
|
||||
## Dedicated Firmware Update Page
|
||||
|
||||
firmware_update-title = Aktualizace firmwaru
|
||||
firmware_update-devices = Dostupná zařízení
|
||||
firmware_update-devices-description = Prosím zvolte tracker, který chcete aktualizovat na nejnovější verzi SlimeVR firmwaru
|
||||
firmware_update-no_devices = Prosím ujistěte se, že tracker který chcete aktualizovat je ZAPNUTO a připojeno k Wi-Fi!
|
||||
firmware_update-changelog-title = Aktualizování na { $version }
|
||||
firmware_update-looking_for_devices = Hledání zařízení pro aktualizaci
|
||||
firmware_update-retry = Opakovat
|
||||
firmware_update-update = Aktualizovat Zvolený/é Tracker/y
|
||||
firmware_update-exit = Odejít
|
||||
|
||||
## Tray Menu
|
||||
|
||||
@@ -877,5 +1219,56 @@ tray_or_exit_modal-cancel = Zrušit
|
||||
|
||||
## Unknown device modal
|
||||
|
||||
unknown_device-modal-title = Byl nalezen nový tracker!
|
||||
unknown_device-modal-description =
|
||||
Byl objeven nový tracker s MAC adresou <b>{ $deviceId }</b>.
|
||||
Chcete jej připojit k SlimeVR?
|
||||
unknown_device-modal-confirm = Jasně!
|
||||
unknown_device-modal-forget = Ignoruj
|
||||
vrc_config-page-help = Nemůžete najít specifické nastavení?
|
||||
vrc_config-page-big_menu = Sledování & IK (Velké Menu)
|
||||
vrc_config-page-big_menu-desc = Nastavení souvicející s IK ve velké nabídce nastavení
|
||||
vrc_config-page-wrist_menu = Sledování & IK (Zápěstní menu)
|
||||
vrc_config-on = Zapnuto
|
||||
vrc_config-off = Vypnuto
|
||||
vrc_config-invalid = Máte špatně nakonfigurované VRChat nastavení!
|
||||
vrc_config-show_more = Ukázat více
|
||||
vrc_config-setting_name = Jméno nastavení v VRChat
|
||||
vrc_config-recommended_value = Doporučená hodnota
|
||||
vrc_config-current_value = Aktuální hodnota
|
||||
vrc_config-mute = Upozornění na ztlumení
|
||||
vrc_config-mute-btn = Ztlumení
|
||||
vrc_config-unmute-btn = Zrušit ztlumení
|
||||
vrc_config-legacy_mode = Použít starší řešení IK
|
||||
vrc_config-disable_shoulder_tracking = Vypnout sledování ramen
|
||||
vrc_config-spine_mode = Režim páteře FTB
|
||||
vrc_config-tracker_model = Model FBT trackeru
|
||||
vrc_config-avatar_measurement_type = Meření avataru
|
||||
vrc_config-calibration_range = Kalibrační rozsah
|
||||
vrc_config-calibration_visuals = Zobrazit vizualizaci kalibrace
|
||||
vrc_config-user_height = Reálná výška uživatele
|
||||
vrc_config-spine_mode-UNKNOWN = Neznámý
|
||||
vrc_config-spine_mode-LOCK_BOTH = Uzamknout obojí
|
||||
vrc_config-spine_mode-LOCK_HEAD = Uzamknout hlavu
|
||||
vrc_config-spine_mode-LOCK_HIP = Uzamknout boky
|
||||
vrc_config-tracker_model-UNKNOWN = Neznýmý
|
||||
vrc_config-tracker_model-AXIS = Osy
|
||||
vrc_config-tracker_model-BOX = Box
|
||||
vrc_config-tracker_model-SPHERE = Sféra
|
||||
vrc_config-tracker_model-SYSTEM = Systém
|
||||
vrc_config-avatar_measurement_type-UNKNOWN = Neznámý
|
||||
vrc_config-avatar_measurement_type-HEIGHT = Výška
|
||||
vrc_config-avatar_measurement_type-ARM_SPAN = Rozpětí paží
|
||||
|
||||
## Error collection consent modal
|
||||
|
||||
error_collection_modal-title = Můžeme sbírat chyby?
|
||||
error_collection_modal-description_v2 =
|
||||
{ settings-interface-behavior-error_tracking-description_v2 }
|
||||
|
||||
Tohle lze později změnit v sekci Chování v nastavení.
|
||||
error_collection_modal-confirm = Souhlasím
|
||||
error_collection_modal-cancel = Nesouhlasím
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
|
||||
@@ -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!
|
||||
@@ -27,6 +24,9 @@ tips-do_not_move_heels = Sørg for, at dine hæle ikke bevæger sig under optage
|
||||
tips-file_select = Træk og slip filer for at bruge, eller <u>gennemse</u>.
|
||||
tips-tap_setup = Du kan trykke langsomt 2 gange på din tracker for at vælge den i stedet for at vælge den i menuen.
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Ikke tildelt
|
||||
@@ -50,14 +50,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 +106,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 +124,9 @@ widget-overlay-is_mirrored_label = Vis Overlejring som Spejl
|
||||
|
||||
widget-drift_compensation-clear = Klar afdriftskompensation
|
||||
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Udviklertilstand
|
||||
@@ -134,7 +143,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 +290,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 +333,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 +347,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 +366,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 +383,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 +413,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 +423,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 +455,20 @@ 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
|
||||
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
onboarding-skip = Spring opsætning over
|
||||
@@ -474,11 +483,6 @@ onboarding-setup_warning-cancel = Fortsæt konfigurationen
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = Gå tilbage til introduktion
|
||||
onboarding-wifi_creds = Indtast Wi-Fi-oplysninger
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
Trackerne bruger disse oplysninger til at oprette forbindelse trådløst.
|
||||
Brug de oplysninger, du i øjeblikket har forbindelse til.
|
||||
onboarding-wifi_creds-skip = Spring Wi-Fi-indstillinger over
|
||||
onboarding-wifi_creds-submit = Færdig!
|
||||
onboarding-wifi_creds-ssid =
|
||||
@@ -492,20 +496,12 @@ 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
|
||||
|
||||
onboarding-home = Velkommen til SlimeVR
|
||||
onboarding-home-start = Lad os komme i gang!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = Gå tilbage til Tracker-tildeler
|
||||
onboarding-enter_vr-title = Tid til at gå ind i VR!
|
||||
onboarding-enter_vr-description = Tag alle dine trackere på, og gå derefter på VR!
|
||||
onboarding-enter_vr-ready = Jeg er klar
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = Du er klar!
|
||||
@@ -516,8 +512,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 +538,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 +564,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 +586,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 +609,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!
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
|
||||
websocket-connecting = Verbindung zum Server wird hergestellt...
|
||||
websocket-connection_lost = Verbindung zum Server verloren. Versuche Verbindung wiederherzustellen ...
|
||||
websocket-connection_lost-desc = Es sieht so aus, als wäre der SlimeVR-Server abgestürzt. Überprüfen Sie die Protokolle und starten Sie das Programm neu.
|
||||
websocket-timedout = Es konnte keine Verbindung zum Server hergestellt werden.
|
||||
websocket-timedout-desc = Es sieht so aus, als ob der SlimeVR-Server abgestürzt ist oder nicht rechtzeitig geantwortet hat. Überprüfen Sie die Protokolle und starten Sie das Programm neu.
|
||||
websocket-error-close = SlimeVR beenden
|
||||
websocket-error-logs = Öffne den Logs-Ordner
|
||||
|
||||
## Update notification
|
||||
|
||||
@@ -26,6 +31,13 @@ tips-tap_setup = Sie können langsam 2 Mal auf Ihren Tracker tippen, um ihn ausz
|
||||
tips-turn_on_tracker = Verwenden Sie offizielle SlimeVR-Tracker? Vergessen Sie nicht den <b><em>Tracker einzuschalten</em></b>, nachdem Sie ihn an den PC angeschlossen haben!
|
||||
tips-failed_webgl = Fehler beim Initialisieren von WebGL.
|
||||
|
||||
## Units
|
||||
|
||||
unit-meter = Meter
|
||||
unit-foot = Fuß
|
||||
unit-inch = Zoll
|
||||
unit-cm = Zentimeter
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Nicht zugewiesen
|
||||
@@ -49,16 +61,88 @@ body_part-LEFT_HAND = Linke Hand
|
||||
body_part-LEFT_UPPER_LEG = Linker Oberschenkel
|
||||
body_part-LEFT_LOWER_LEG = Linker Knöchel
|
||||
body_part-LEFT_FOOT = Linker Fuß
|
||||
body_part-LEFT_THUMB_METACARPAL = Linker Daumen-Mittelhandknochen
|
||||
body_part-LEFT_THUMB_PROXIMAL = Linkes Daumengrundglied
|
||||
body_part-LEFT_THUMB_DISTAL = Linkes Daumenendglied
|
||||
body_part-LEFT_INDEX_PROXIMAL = Linkes Zeigefinger-Grundglied
|
||||
body_part-LEFT_INDEX_INTERMEDIATE = Linkes Zeigefinger-Mittelglied
|
||||
body_part-LEFT_INDEX_DISTAL = Linkes Zeigefinger-Endglied
|
||||
body_part-LEFT_MIDDLE_PROXIMAL = Linkes Mittelfinger-Grundglied
|
||||
body_part-LEFT_MIDDLE_INTERMEDIATE = Linkes Mittelfinger-Mittelglied
|
||||
body_part-LEFT_MIDDLE_DISTAL = Linkes Mittelfinger-Endglied
|
||||
body_part-LEFT_RING_PROXIMAL = Linkes Ringfinger-Grundglied
|
||||
body_part-LEFT_RING_INTERMEDIATE = Linkes Ringfinger-Mittelglied
|
||||
body_part-LEFT_RING_DISTAL = Linkes Ringfinger-Endglied
|
||||
body_part-LEFT_LITTLE_PROXIMAL = Linkes Kleinfinger-Grundglied
|
||||
body_part-LEFT_LITTLE_INTERMEDIATE = Linkes Kleinfinger-Mittelglied
|
||||
body_part-LEFT_LITTLE_DISTAL = Linkes Kleinfinger-Endglied
|
||||
body_part-RIGHT_THUMB_METACARPAL = Rechter Daumen-Mittelhandknochen
|
||||
body_part-RIGHT_THUMB_PROXIMAL = Rechtes Daumengrundglied
|
||||
body_part-RIGHT_THUMB_DISTAL = Rechtes Daumenendglied
|
||||
body_part-RIGHT_INDEX_PROXIMAL = Rechtes Zeigefinger-Grundglied
|
||||
body_part-RIGHT_INDEX_INTERMEDIATE = Rechtes Zeigefinger-Mittelglied
|
||||
body_part-RIGHT_INDEX_DISTAL = Rechtes Zeigefinger-Endglied
|
||||
body_part-RIGHT_MIDDLE_PROXIMAL = Rechtes Mittelfinger-Grundglied
|
||||
body_part-RIGHT_MIDDLE_INTERMEDIATE = Rechtes Mittelfinger-Mittelglied
|
||||
body_part-RIGHT_MIDDLE_DISTAL = Rechtes Mittelfinger-Endglied
|
||||
body_part-RIGHT_RING_PROXIMAL = Rechtes Ringfinger-Grundglied
|
||||
body_part-RIGHT_RING_INTERMEDIATE = Rechtes Ringfinger-Mittelglied
|
||||
body_part-RIGHT_RING_DISTAL = Rechtes Ringfinger-Endglied
|
||||
body_part-RIGHT_LITTLE_PROXIMAL = Rechtes Kleinfinger-Grundglied
|
||||
body_part-RIGHT_LITTLE_INTERMEDIATE = Rechtes Kleinfinger-Mittelglied
|
||||
body_part-RIGHT_LITTLE_DISTAL = Rechtes Kleinfinger-Endglied
|
||||
|
||||
## BoardType
|
||||
|
||||
board_type-UNKNOWN = Unbekannt
|
||||
board_type-NODEMCU = NodeMCU
|
||||
board_type-CUSTOM = Benutzerdefiniertes Board
|
||||
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 = 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
|
||||
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-Handschuh
|
||||
|
||||
## Proportions
|
||||
|
||||
skeleton_bone-NONE = Keine
|
||||
skeleton_bone-HEAD = Kopfverschiebung
|
||||
skeleton_bone-HEAD-desc =
|
||||
Dies ist der Abstand von Ihrem Headset zur Mitte Ihres Kopfes.
|
||||
Um ihn anzupassen, bewegen Sie den Kopf von links nach rechts, als würden Sie „nein“ sagen. Ändern Sie den Wert so lange, bis sich die anderen Tracker nicht mehr mitbewegen.
|
||||
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-CHEST-desc =
|
||||
Dies ist der Abstand vom Ansatz der Brust bis zur Mitte Ihrer Wirbelsäule.
|
||||
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-WAIST = Taillenabstand
|
||||
skeleton_bone-HIP = Hüftlänge
|
||||
skeleton_bone-HIP_OFFSET = Hüftversatz
|
||||
@@ -81,14 +165,21 @@ skeleton_bone-ELBOW_OFFSET = Ellbogenversatz
|
||||
## Tracker reset buttons
|
||||
|
||||
reset-reset_all = Alle Proportionen zurücksetzen
|
||||
reset-reset_all_warning =
|
||||
<b>Achtung:</b> Die Proportionen werden zurückgesetzt und auf Basis ihrer Körpergröße neu berechnet.
|
||||
Sind sie sich sicher?
|
||||
reset-reset_all_warning-v2 =
|
||||
<b>Warnung:</b>Ihre Proportionen werden auf die Standardwerte zurückgesetzt und entsprechend Ihrer konfigurierten Körpergröße skaliert.
|
||||
Möchten Sie dies wirklich tun?
|
||||
reset-reset_all_warning-reset = Proportionen zurücksetzen
|
||||
reset-reset_all_warning-cancel = Abbrechen
|
||||
reset-reset_all_warning_default-v2 =
|
||||
<b>Warnung:</b> Ihre Körpergröße wurde nicht konfiguriert. Ihre Proportionen werden auf die Standardwerte mit der Standardgröße zurückgesetzt.
|
||||
Möchten Sie dies wirklich tun?
|
||||
reset-full = Reset
|
||||
reset-mounting = Befestigungs-Reset
|
||||
reset-mounting-feet = Fuß-Befestigungs-Reset
|
||||
reset-mounting-fingers = Fingerkalibrierung
|
||||
reset-yaw = Horizontaler Reset
|
||||
reset-error-no_feet_tracker = Kein Fußtracker zugewiesen
|
||||
reset-error-no_fingers_tracker = Kein Fingertracker zugewiesen
|
||||
|
||||
## Serial detection stuff
|
||||
|
||||
@@ -103,7 +194,7 @@ serial_detection-close = Schließen
|
||||
## Navigation bar
|
||||
|
||||
navbar-home = Start
|
||||
navbar-body_proportions = Körpermaße
|
||||
navbar-body_proportions = Körperproportionen
|
||||
navbar-trackers_assign = Tracker-Zuordnung
|
||||
navbar-mounting = Tracker-Ausrichtung
|
||||
navbar-onboarding = Einrichtungs-Assistent
|
||||
@@ -112,7 +203,9 @@ navbar-settings = Einstellungen
|
||||
## Biovision hierarchy recording
|
||||
|
||||
bvh-start_recording = BVH aufnehmen
|
||||
bvh-stop_recording = BVH-Aufnahme speichern
|
||||
bvh-recording = Aufnahme läuft...
|
||||
bvh-save_title = BVH-Aufnahme speichern
|
||||
|
||||
## Tracking pause
|
||||
|
||||
@@ -129,9 +222,9 @@ widget-overlay-is_mirrored_label = Visualisierung spiegeln
|
||||
|
||||
widget-drift_compensation-clear = Driftkompensation zurücksetzen
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
widget-clear_mounting = Befestigungs-Reset zurücksetzen
|
||||
widget-clear_mounting = Tracker-Ausrichtung zurücksetzen
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
@@ -153,6 +246,7 @@ widget-imu_visualizer-rotation_raw = Rohe Drehung
|
||||
widget-imu_visualizer-rotation_preview = Vorschau
|
||||
widget-imu_visualizer-acceleration = Beschleunigung
|
||||
widget-imu_visualizer-position = Position
|
||||
widget-imu_visualizer-stay_aligned = Stay Aligned
|
||||
|
||||
## Widget: Skeleton Visualizer
|
||||
|
||||
@@ -180,6 +274,7 @@ tracker-table-column-temperature = Temp. °C
|
||||
tracker-table-column-linear-acceleration = Beschleunigung X/Y/Z
|
||||
tracker-table-column-rotation = Rotation X/Y/Z
|
||||
tracker-table-column-position = Position X/Y/Z
|
||||
tracker-table-column-stay_aligned = Stay Aligned
|
||||
tracker-table-column-url = Adresse
|
||||
|
||||
## Tracker rotation
|
||||
@@ -193,7 +288,7 @@ tracker-rotation-back = Hinten
|
||||
tracker-rotation-back_left = Hinten-Links
|
||||
tracker-rotation-back_right = Hinten-Rechts
|
||||
tracker-rotation-custom = Benutzerdefiniert
|
||||
tracker-rotation-overriden = (von Befestigungs-Reset überschrieben)
|
||||
tracker-rotation-overriden = (von der Tracker-Ausrichtung überschrieben)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -204,6 +299,7 @@ tracker-infos-url = Tracker-Adresse
|
||||
tracker-infos-version = Firmware-Version
|
||||
tracker-infos-hardware_rev = Hardware-Version
|
||||
tracker-infos-hardware_identifier = Hardware-ID
|
||||
tracker-infos-data_support = Daten-Support
|
||||
tracker-infos-imu = IMU-Sensor
|
||||
tracker-infos-board_type = Platine
|
||||
tracker-infos-network_version = Protokoll Version
|
||||
@@ -244,6 +340,13 @@ 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-v2 = Keine Veröffentlichungen gefunden
|
||||
tracker-settings-update-incompatible = Update nicht möglich. Board inkompatibel
|
||||
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-blocked = Update nicht verfügbar. Weitere Veröffentlichungen sind nicht verfügbar.
|
||||
tracker-settings-update = Jetzt aktualisieren
|
||||
tracker-settings-update-title = Firmware-Version
|
||||
|
||||
## Tracker part card info
|
||||
|
||||
@@ -309,16 +412,24 @@ mounting_selection_menu-close = Schließen
|
||||
|
||||
settings-sidebar-title = Einstellungen
|
||||
settings-sidebar-general = Allgemein
|
||||
settings-sidebar-steamvr = SteamVR
|
||||
settings-sidebar-tracker_mechanics = Tracker-Mechanik
|
||||
settings-sidebar-stay_aligned = Stay Aligned
|
||||
settings-sidebar-fk_settings = FK-Einstellungen
|
||||
settings-sidebar-gesture_control = Gestensteuerung
|
||||
settings-sidebar-interface = Bedienoberfläche
|
||||
settings-sidebar-osc_router = OSC-Router
|
||||
settings-sidebar-osc_trackers = VRChat OSC-Tracker
|
||||
settings-sidebar-osc_vmc = VMC
|
||||
settings-sidebar-utils = Werkzeuge
|
||||
settings-sidebar-serial = Serielle Konsole
|
||||
settings-sidebar-appearance = Erscheinungsbild
|
||||
settings-sidebar-home = Startbildschirm
|
||||
settings-sidebar-checklist = Tracking-Checkliste
|
||||
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
|
||||
@@ -381,7 +492,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:
|
||||
@@ -390,16 +501,30 @@ settings-general-tracker_mechanics-drift_compensation_warning-cancel = Abbrechen
|
||||
settings-general-tracker_mechanics-drift_compensation_warning-done = Ich verstehe
|
||||
settings-general-tracker_mechanics-drift_compensation-amount-label = Kompensierungsmenge
|
||||
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Nutze die letzten x Resets
|
||||
settings-general-tracker_mechanics-save_mounting_reset = Automatische Befestigungs-Reset Kalibrierung speichern
|
||||
settings-general-tracker_mechanics-save_mounting_reset = Automatische Tracker-Ausrichtung 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 Tracker-Ausrichtung 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-save_mounting_reset-enabled-label = Tracker-Ausrichtung speichern
|
||||
settings-general-tracker_mechanics-use_mag_on_all_trackers = Verwende das Magnetometer auf allen IMU-Trackern, die dies unterstützen.
|
||||
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-description = Stay Aligned reduziert Drift, indem es deine Tracker schrittweise an deine entspannten Posen anpasst.
|
||||
settings-stay_aligned-setup-label = Stay Aligned einrichten
|
||||
settings-stay_aligned-setup-description = Sie müssen Stay Aligned einrichten, um es zu aktivieren.
|
||||
settings-stay_aligned-warnings-drift_compensation = ⚠ Bitte schalten Sie die Driftkompensation aus! Diese steht in Konflikt mit Stay Aligned.
|
||||
settings-stay_aligned-enabled-label = Tracker anpassen
|
||||
settings-stay_aligned-general-label = Allgemein
|
||||
settings-stay_aligned-relaxed_poses-label = Entspannte Posen
|
||||
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-label = Debuggen
|
||||
settings-stay_aligned-debug-description = Bitte geben Sie Ihre Einstellungen mit an, wenn Sie Probleme mit Stay Aligned melden.
|
||||
settings-stay_aligned-debug-copy-label = Einstellungen in die Zwischenablage kopieren
|
||||
|
||||
## FK/Tracking settings
|
||||
|
||||
@@ -421,19 +546,24 @@ 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
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = Mit Grenzen korrigieren
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = Korrigiert Gelenkrotationen, wenn diese über ihre Grenzen hinausgehen
|
||||
settings-general-fk_settings-ik = Positionsdaten
|
||||
settings-general-fk_settings-ik-use_position = Positionsdaten verwenden
|
||||
settings-general-fk_settings-arm_fk = Arm-Tracking
|
||||
settings-general-fk_settings-arm_fk-description = Ändern Sie die Art und Weise, wie die Arme berechnet werden.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Arme vom VR-Headset erzwingen
|
||||
settings-general-fk_settings-reset_settings = Einstellungen zurücksetzen
|
||||
settings-general-fk_settings-reset_settings-reset_hmd_pitch-description = Setzen Sie die Neigung (vertikale Drehung) Ihres Headsets zurück, wenn Sie einen vollständigen Reset durchführen. Nützlich, wenn Sie ein Headset auf der Stirn für VTubing oder Mocap tragen. Nicht für VR aktivieren.
|
||||
settings-general-fk_settings-reset_settings-reset_hmd_pitch = Headset-Nick (vertikale Drehung) zurücksetzen
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Ändern Sie, welche Armhaltung für den Befestigungs-Reset erwartet wird.
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Ändern Sie, welche Armhaltung für den Reset der Tracker-Ausrichtung erwartet wird.
|
||||
settings-general-fk_settings-arm_fk-back = nach Hinten
|
||||
settings-general-fk_settings-arm_fk-back-description = Der Standardmodus, bei dem die Oberarme nach hinten und die Unterarme nach vorne gehen.
|
||||
settings-general-fk_settings-arm_fk-tpose_up = T-Pose (oben)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = Erwartet, dass deine Arme während des vollständigen Zurücksetzens seitlich nach unten gerichtet sind und während des Befestigungs-Reset um 90 Grad nach außen gerichtet sind.
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = Erwartet, dass deine Arme während des vollständigen Zurücksetzens seitlich nach unten gerichtet sind und während des Reset der Tracker-Ausrichtung um 90 Grad nach außen gerichtet sind.
|
||||
settings-general-fk_settings-arm_fk-tpose_down = T-Pose (unten)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = Erwartet, dass deine Arme während des vollständigen Zurücksetzens um 90 Grad nach außen gerichtet sind und während des Befestigungs-Reset seitlich nach unten.
|
||||
settings-general-fk_settings-arm_fk-forward = Vorwärts
|
||||
@@ -454,15 +584,12 @@ settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Inter
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Interpolation der horizontalen und Torsionsrotationen der Knie mit denen der Fußgelenke
|
||||
settings-general-fk_settings-self_localization-title = Motion-Capture-Modus
|
||||
settings-general-fk_settings-self_localization-description = Der Motion-Capture-Modus ermöglicht es dem Skelett, ungefähr die eigene Position ohne Headset oder Tracker zu verfolgen. Beachten Sie, dass diese Funktion Fuß- und Kopf-Tracker benötigt und noch experimentell ist.
|
||||
settings-general-fk_settings-vive_emulation-title = Vive-Simulierung
|
||||
settings-general-fk_settings-vive_emulation-description = Simuliere die Tracking-Probleme, welche bei Vive-Trackern auftreten. Dies ist ein Scherz und verschlechtert das Tracking.
|
||||
settings-general-fk_settings-vive_emulation-label = Vive-Simulierung
|
||||
|
||||
## Gesture control settings (tracker tapping)
|
||||
|
||||
settings-general-gesture_control = Gestensteuerung
|
||||
settings-general-gesture_control-subtitle = Reset durch Antippen
|
||||
settings-general-gesture_control-description = Erlaubt Reset durch das Antippen eines Trackers auszulösen. Der höchste Tracker auf dem Oberkörper wird für schnelle Resets genutzt, der höchste Tracker auf dem linken Bein wird für Reset genutzt und der höchste Tracker auf dem rechten Bein wird für Befestigungs-Reset genutzt. Das Antippen muss innerhalb von 0.5 Sekunden erfolgen, um erkannt zu werden.
|
||||
settings-general-gesture_control-description = Erlaubt Reset durch das Antippen eines Trackers auszulösen. Der höchste Tracker auf dem Oberkörper wird für schnelle Resets genutzt, der höchste Tracker auf dem linken Bein wird für Reset genutzt und der höchste Tracker auf dem rechten Bein wird für Reset der Tracker-Ausrichtung genutzt. Das Antippen muss innerhalb von 0.5 Sekunden erfolgen, um erkannt zu werden.
|
||||
# This is a unit: 3 taps, 2 taps, 1 tap
|
||||
# $amount (Number) - Amount of taps (touches to the tracker's case)
|
||||
settings-general-gesture_control-taps =
|
||||
@@ -483,8 +610,8 @@ settings-general-gesture_control-yawResetTaps = Antipp-Anzahl für einen horizon
|
||||
settings-general-gesture_control-fullResetEnabled = Vollständiger Reset durch Antippen
|
||||
settings-general-gesture_control-fullResetDelay = Verzögerung für einen vollständigen Reset
|
||||
settings-general-gesture_control-fullResetTaps = Antipp-Anzahl für einen vollständigen Reset
|
||||
settings-general-gesture_control-mountingResetEnabled = Antippen für Befestigungs-Reset
|
||||
settings-general-gesture_control-mountingResetDelay = Befestigungs-Reset-Verzögerung
|
||||
settings-general-gesture_control-mountingResetEnabled = Aktivieren von Antippen für Reset der Tracker-Ausrichtung
|
||||
settings-general-gesture_control-mountingResetDelay = Verzögerung von Reset der Tracker-Ausrichtung
|
||||
settings-general-gesture_control-mountingResetTaps = Anzahl für Befestigungs-Reset
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Tracker über Schwellwert
|
||||
@@ -528,6 +655,10 @@ settings-general-interface-feedback_sound-volume = Feedback-Sound-Lautstärke
|
||||
settings-general-interface-connected_trackers_warning = Warnung zu verbundenen Trackern
|
||||
settings-general-interface-connected_trackers_warning-description = Diese Option zeigt jedes Mal ein Pop-up-Fenster an, wenn Sie versuchen, SlimeVR zu beenden, während ein oder mehrere Tracker verbunden sind. Es erinnert Sie daran, die Tracker auszuschalten, um die Akkulaufzeit zu verlängern.
|
||||
settings-general-interface-connected_trackers_warning-label = Warnung vor verbundenen Trackern beim Verlassen
|
||||
|
||||
## Behavior settings
|
||||
|
||||
settings-interface-behavior = Verhalten
|
||||
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
|
||||
@@ -540,6 +671,16 @@ settings-general-interface-discord_presence-message =
|
||||
[one] nutzt 1 Tracker
|
||||
*[other] nutzt { $amount } Tracker
|
||||
}
|
||||
settings-interface-behavior-error_tracking = Fehlererfassung über Sentry.io
|
||||
settings-interface-behavior-error_tracking-description_v2 =
|
||||
<h1>Sind Sie mit der Erhebung anonymisierter Fehlerdaten einverstanden?</h1>
|
||||
|
||||
<b>Wir erfassen keine personenbezogenen Daten,</b> wie Ihre IP-Adresse oder WLAN-Zugangsdaten. SlimeVR respektiert Ihre Privatsphäre!
|
||||
|
||||
Um die bestmögliche Benutzererfahrung zu bieten, erfassen wir anonymisierte Fehlerberichte, Leistungsmetriken und Informationen zum Betriebssystem. Dies hilft uns, Fehler und Probleme mit SlimeVR zu erkennen. Diese Metriken werden über Sentry.io erfasst.
|
||||
settings-interface-behavior-error_tracking-label = Fehler an Entwickler senden
|
||||
settings-interface-behavior-bvh_directory = Verzeichnis zum Speichern von BVH-Aufnahmen
|
||||
settings-interface-behavior-bvh_directory-label = Verzeichnis für BVH-Aufnahmen
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -555,15 +696,19 @@ settings-serial-factory_reset = Werkseinstellungen zurücksetzen
|
||||
# <b>text</b> means that the text should be bold
|
||||
settings-serial-factory_reset-warning =
|
||||
<b>Warnung:</b> Dadurch wird der Tracker auf die Werkseinstellungen zurückgesetzt.
|
||||
Das bedeutet, dass Wi-Fi- und Kalibrierungseinstellungen <b>verloren gehen!</b>
|
||||
Das bedeutet, dass die WLAN- 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
|
||||
settings-serial-file_type = Klartext
|
||||
settings-serial-save_logs = In Datei speichern
|
||||
settings-serial-send_command = Senden
|
||||
settings-serial-send_command-placeholder = Befehl...
|
||||
settings-serial-send_command-warning = <b>Warnung:</b> Das Ausführen serieller Befehle kann zu Datenverlust führen oder die Tracker unbrauchbar machen.
|
||||
settings-serial-send_command-warning-ok = Ich weiß, was ich tue
|
||||
settings-serial-send_command-warning-cancel = Abbruch
|
||||
|
||||
## OSC router settings
|
||||
|
||||
@@ -596,12 +741,19 @@ 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
|
||||
settings-osc-vrchat-enable-description = Ein- und Ausschalten des Sendens und Empfangen von Daten
|
||||
settings-osc-vrchat-enable-label = Aktivieren
|
||||
settings-osc-vrchat-oscqueryEnabled = OSCQuery aktivieren
|
||||
settings-osc-vrchat-oscqueryEnabled-description =
|
||||
OSCQuery erkennt laufende Instanzen von VRChat automatisch und sendet Daten an sie.
|
||||
Es kann sich auch selbst bei diesen Instanzen bekannt machen, um HMD- und Controller-Daten zu empfangen.
|
||||
Um den Empfang von HMD- und Controller-Daten aus VRChat zu ermöglichen, öffnen Sie das Hauptmenü,
|
||||
gehen Sie zu den Einstellungen unter "Tracking & IK" und aktivieren Sie "Erlaube das Senden von Kopf- und Handgelenk-VR-Tracking-OSC-Daten".
|
||||
settings-osc-vrchat-oscqueryEnabled-label = OSCQuery aktivieren
|
||||
settings-osc-vrchat-network = Netzwerk-Ports
|
||||
settings-osc-vrchat-network-description-v1 = Legt die Ports für das Empfangen und Senden von Daten fest. Kann für VRChat unverändert bleiben.
|
||||
settings-osc-vrchat-network-port_in =
|
||||
@@ -642,12 +794,7 @@ settings-osc-vmc-network-address-description = Setze die Adresse, wo die Daten h
|
||||
settings-osc-vmc-network-address-placeholder = IPv4-Adresse
|
||||
settings-osc-vmc-vrm = VRM-Model
|
||||
settings-osc-vmc-vrm-description = Lade ein VRM-Modell um die Kopfverankerung anzuschalten und eine bessere Kompatibilität mit anderen Anwendungen zu bekommen.
|
||||
settings-osc-vmc-vrm-model_unloaded = Kein Modell geladen
|
||||
settings-osc-vmc-vrm-model_loaded =
|
||||
{ $titled ->
|
||||
[true] Modell geladen: { $name }
|
||||
*[other] Unbenanntes Modell geladen
|
||||
}
|
||||
settings-osc-vmc-vrm-untitled_model = Unbenanntes Modell
|
||||
settings-osc-vmc-vrm-file_select = Modell per Drag & Drop laden oder <u>durchsuchen</u>
|
||||
settings-osc-vmc-anchor_hip = Hüftenverankerung
|
||||
settings-osc-vmc-anchor_hip-description = Die Hüften-Verankerung für das Tracking ist nützlich für VTubing im Sitzen. Beim Deaktivieren muss ein VRM-Model geladen werden.
|
||||
@@ -656,6 +803,11 @@ 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-ports_match_error = Die Ein- und Ausgänge des OSC-Routers können nicht gleich sein!
|
||||
settings-osc-common-network-port_banned_error = Der Port { $port } kann nicht verwendet werden!
|
||||
|
||||
## Advanced settings
|
||||
|
||||
settings-utils-advanced = Erweitert
|
||||
@@ -682,9 +834,21 @@ settings-utils-advanced-reset_warning =
|
||||
}
|
||||
settings-utils-advanced-reset_warning-reset = Einstellungen zurücksetzen
|
||||
settings-utils-advanced-reset_warning-cancel = Abbrechen
|
||||
settings-utils-advanced-open_data = Daten-Ordner
|
||||
settings-utils-advanced-open_data-description = Öffnet den Daten-Ordner von SlimeVR im Explorer, der Konfigurations- und Protokolldateien enthält.
|
||||
settings-utils-advanced-open_data-v1 = Konfigurationsordner
|
||||
settings-utils-advanced-open_data-description-v1 = Öffnet den Konfigurationsordner von SlimeVR im Explorer, der Konfigurationsdateien enthält
|
||||
settings-utils-advanced-open_data-label = Ordner öffnen
|
||||
settings-utils-advanced-open_logs = Logs-Ordner
|
||||
settings-utils-advanced-open_logs-description = Öffnet den Logs-Ordner von SlimeVR im Explorer, der die Protokolle der App enthält.
|
||||
settings-utils-advanced-open_logs-label = Ordner öffnen
|
||||
|
||||
## Home Screen
|
||||
|
||||
settings-home-list-layout = Layout der Tracker-Liste
|
||||
settings-home-list-layout-desc = Wählen Sie eines der möglichen Startbildschirm-Layouts aus
|
||||
settings-home-list-layout-table = Tabelle
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
@@ -699,24 +863,19 @@ onboarding-setup_warning-cancel = Einrichtung fortsetzen
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = Zurück zur Einführung
|
||||
onboarding-wifi_creds = WLAN-Zugangsdaten eingeben
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
Die Tracker nutzen diese Zugangsdaten, um sich mit dem WLAN zu verbinden.
|
||||
Bitte verwenden Sie die Zugangsdaten, mit denen ihr PC gerade verbunden sind.
|
||||
Dieses WLAN-Netzwerk muss ein 2.4 GHz-Netzwerk sein.
|
||||
onboarding-wifi_creds-skip = WLAN-Zugangsdaten überspringen
|
||||
onboarding-wifi_creds-submit = Weiter!
|
||||
onboarding-wifi_creds-ssid =
|
||||
.label = WLAN-Name
|
||||
.placeholder = WLAN-Name eingeben
|
||||
onboarding-wifi_creds-ssid-required = WLAN-Name ist erforderlich
|
||||
onboarding-wifi_creds-password =
|
||||
.label = Passwort
|
||||
.placeholder = Passwort eingeben
|
||||
|
||||
## Mounting setup
|
||||
|
||||
onboarding-reset_tutorial-back = Zurück zur Trackerausrichtung
|
||||
onboarding-reset_tutorial-back = Zurück zur Tracker-Ausrichtung
|
||||
onboarding-reset_tutorial = Tutorial neustarten
|
||||
onboarding-reset_tutorial-explanation = Während Sie Ihre Tracker verwenden, können sie aufgrund der IMU-Gierdrift oder weil Sie sie physisch bewegt haben, aus der Ausrichtung geraten. Sie haben mehrere Möglichkeiten, dies zu beheben.
|
||||
onboarding-reset_tutorial-skip = Schritt überspringen
|
||||
@@ -733,24 +892,17 @@ onboarding-reset_tutorial-1 =
|
||||
Dadurch werden die Position und Rotation aller Ihrer Tracker vollständig zurückgesetzt. Dies sollte die meisten Probleme beheben.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-2 =
|
||||
Tippen Sie { $taps } mal auf den markierten Tracker um einen Befestigungs-Reset auszulösen.
|
||||
Tippen Sie { $taps } mal auf den markierten Tracker um einen Reset der Tracker-Ausrichtung auszulösen.
|
||||
|
||||
Ein Befestigungs-Reset hilft dabei, die Tracker neu auszurichten, so wie diese tatsächlich an Ihnen angebracht sind. Zum Beispiel, wenn Sie ein Tracker versehentlich verschoben haben und dessen Orientierung sich stark verändert hat.
|
||||
Ein Reset der Tracker-Ausrichtung hilft dabei, die Tracker neu auszurichten, so wie diese tatsächlich an Ihnen angebracht sind. Zum Beispiel, wenn Sie ein Tracker versehentlich verschoben haben und dessen Orientierung sich stark verändert hat.
|
||||
|
||||
Sie müssen sich in einer "Skifahren"-Pose, wie im Befestigungs-Assistenten gezeigt wird, befinden. Nach dem Auslösen wird der Reset nach 3 Sekunden (konfigurierbar) durchgeführt.
|
||||
Sie müssen sich in einer "Skifahren"-Pose, wie im Tracker-Ausrichtung-Assistenten gezeigt wird, befinden. Nach dem Auslösen wird der Reset nach 3 Sekunden (konfigurierbar) durchgeführt.
|
||||
|
||||
## Setup start
|
||||
|
||||
onboarding-home = Willkommen zu SlimeVR
|
||||
onboarding-home-start = Los geht’s!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = Zurück zur Trackerzuweisung
|
||||
onboarding-enter_vr-title = Zeit für VR!
|
||||
onboarding-enter_vr-description = Ziehen Sie alle Tracker an und betreten Sie dann VR!
|
||||
onboarding-enter_vr-ready = Ich bin bereit!
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = Alles eingerichtet!
|
||||
@@ -767,12 +919,18 @@ onboarding-connect_tracker-issue-serial = Ich habe Schwierigkeiten die Tracker z
|
||||
onboarding-connect_tracker-usb = USB Tracker
|
||||
onboarding-connect_tracker-connection_status-none = Suche nach Trackern
|
||||
onboarding-connect_tracker-connection_status-serial_init = Verbindung zum seriellen Gerät wird hergestellt
|
||||
onboarding-connect_tracker-connection_status-obtaining_mac_address = Ermittle die MAC-Adresse des Trackers
|
||||
onboarding-connect_tracker-connection_status-provisioning = Sende WLAN-Zugangsdaten
|
||||
onboarding-connect_tracker-connection_status-connecting = Sende WLAN-Zugangsdaten
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = Suche nach Server
|
||||
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_tracker-connection_status-no_serial_log = Konnte keine Logs vom Tracker abrufen
|
||||
onboarding-connect_tracker-connection_status-no_serial_device_found = Konnte keinen Tracker über USB finden
|
||||
onboarding-connect_serial-error-modal-no_serial_log = Ist der Tracker eingeschaltet?
|
||||
onboarding-connect_serial-error-modal-no_serial_log-desc = Stellen Sie sicher, dass der Tracker eingeschaltet und mit Ihrem Computer verbunden ist.
|
||||
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",
|
||||
@@ -780,17 +938,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
|
||||
@@ -817,10 +974,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
|
||||
@@ -958,43 +1115,21 @@ 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 proportions method choose
|
||||
## Tracker manual proportions setupa
|
||||
|
||||
onboarding-choose_proportions = Welche Kalibrierungsmethode ist zu verwenden?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description-v1 =
|
||||
Wenn die Proportionen Ihres Körpers nicht mit den Gespeicherten übereinstimmen, ist die Präzision des Trackings schlechter. Außerdem können Probleme wie Skaten oder Rutschen auftreten oder, dass die Bewegungen Ihres Avatars nicht gut mit den Bewegungen Ihres Körpers übereinstimmen.
|
||||
<b>Sie müssen Ihren Körper nur einmal messen!</b> Es sei denn, die Messwerte sind falsch oder Ihr Körper hat sich verändert, dann müssen Sie die Körperproportionen nochmal bestimmen.
|
||||
onboarding-choose_proportions-auto_proportions = Automatische Proportionen
|
||||
# Italicized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Empfohlen
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv3 =
|
||||
Dies wird versuchen, Ihre Proportionen mit Hilfe einer Bewegungsaufnahme zu bestimmen, welche von einem Algorithmus verarbeitet wird.
|
||||
|
||||
<b>Dazu muss Ihr Headset (HMD) mit SlimeVR verbunden sein und Sie müssen es an haben!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Manuelle Körperproportionen
|
||||
# Italicized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Für kleine Anpassungen
|
||||
onboarding-choose_proportions-manual_proportions-description = Auf diese Weise können Sie Ihre Proportionen manuell anpassen, indem Sie diese direkt ändern
|
||||
onboarding-choose_proportions-export = Proportionen exportieren
|
||||
onboarding-choose_proportions-import = Proportionen importieren
|
||||
onboarding-choose_proportions-import-success = Importiert
|
||||
onboarding-choose_proportions-import-failed = Fehlgeschlagen
|
||||
onboarding-choose_proportions-file_type = Körperproportions-Datei
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
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-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
|
||||
|
||||
@@ -1015,19 +1150,31 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
|
||||
Ihr Headset sendet Positionsdaten an den SlimeVR-Server (das bedeutet allgemein, dass SteamVR läuft und über den SlimeVR-SteamVR Treiber mit SteamVR verbunden ist).
|
||||
Ihr Tracking funktioniert und stellt Ihre Bewegungen akkurat dar (z.B.: Sie haben einen Reset durchgeführt und Ihre Tracker bewegen sich beim Treten, Bücken, Sitzen, usw. richtig).
|
||||
onboarding-automatic_proportions-requirements-next = Ich habe die Anforderungen gelesen
|
||||
onboarding-automatic_proportions-check_height-title = Überprüfen Sie Ihre Körpergröße
|
||||
onboarding-automatic_proportions-check_height-description = Wir benutzen die Höhe des Headsets (HMD) als eine Schätzung für Ihre tatsächliche Grösse, doch es ist besser dass Sie diese selbst überprüfen!
|
||||
onboarding-automatic_proportions-check_height-title-v3 = Messen der Höhe Ihres Headsets
|
||||
onboarding-automatic_proportions-check_height-description-v2 = Die Höhe Ihres Headsets (HMD) sollte etwas geringer sein als Ihre vollständige Körpergröße, da Headsets die Höhe Ihrer Augen messen. Diese Messung wird als Grundlage für Ihre Körperproportionen verwendet.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Bitte betätigen Sie auf den Knopf während Sie <u>aufrecht</u> stehen, um Ihre Körpergröße zu berechnen. Sie haben 3 Sekunden Zeit, nachdem Sie auf den Knopf gedrückt haben.
|
||||
onboarding-automatic_proportions-check_height-calculation_warning-v3 = Um Ihre Körpergröße zu messen, beginnen Sie mit der Messung, während Sie <u>aufrecht</u> stehen. Achten Sie darauf, dass Sie Ihre Hände nicht höher als Ihr Headset heben, da dies die Messung beeinflussen könnte!
|
||||
onboarding-automatic_proportions-check_height-guardian_tip = Wenn Sie ein eigenständiges VR Headset verwenden, stellen Sie sicher, dass Ihr Guardian Begrenzung aktiviert ist und damit Ihre Größe korrekt ist!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Ich stehe!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Unbekannt
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = Ihre Headset-Höhe ist
|
||||
onboarding-automatic_proportions-check_height-hmd_height2 = Die Höhe Ihres Headsets beträgt:
|
||||
onboarding-automatic_proportions-check_height-measure-start = Messung starten
|
||||
onboarding-automatic_proportions-check_height-measure-stop = Messung stoppen
|
||||
onboarding-automatic_proportions-check_height-measure-reset = Messung wiederholen
|
||||
onboarding-automatic_proportions-check_height-next_step = Headset-Höhe verwenden
|
||||
onboarding-automatic_proportions-check_floor_height-title = Messen der Bodenhöhe (optional)
|
||||
onboarding-automatic_proportions-check_floor_height-description = In einigen Fällen wird die Bodenhöhe möglicherweise nicht korrekt von Ihrem Headset erfasst, wodurch die Headset-Höhe höher gemessen wird, als sie sein sollte. Sie können die „Höhe“ Ihres Bodens messen, um die Headset-Höhe zu korrigieren.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_floor_height-calculation_warning-v2 = Starten Sie die Messung und legen Sie einen Controller auf den Boden, um dessen Höhe zu messen. Wenn Sie sicher sind, dass die Bodenhöhe korrekt ist, können Sie diesen Schritt überspringen.
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = Ihre tatsächliche Körpergröße ist
|
||||
onboarding-automatic_proportions-check_height-next_step = Werte sind korrekt
|
||||
onboarding-automatic_proportions-check_floor_height-floor_height = Die Bodenhöhe beträgt:
|
||||
onboarding-automatic_proportions-check_floor_height-full_height = Die geschätzte Körpergröße ist:
|
||||
onboarding-automatic_proportions-check_floor_height-measure-start = Messung starten
|
||||
onboarding-automatic_proportions-check_floor_height-measure-stop = Messung stoppen
|
||||
onboarding-automatic_proportions-check_floor_height-measure-reset = Messung wiederholen
|
||||
onboarding-automatic_proportions-check_floor_height-skip_step = Schritt überspringen und speichern
|
||||
onboarding-automatic_proportions-check_floor_height-next_step = Bodenhöhe verwenden und speichern
|
||||
onboarding-automatic_proportions-start_recording-title = Bereiten Sie sich auf ein paar Bewegungen vor
|
||||
onboarding-automatic_proportions-start_recording-description = Wir werden nun einige bestimmte Posen und Bewegungen aufnehmen. Diese werden im nächsten Schritt angezeigt. Sei bereit damit zu beginnen, wenn du auf den Knopf drückst!
|
||||
onboarding-automatic_proportions-start_recording-next = Aufnahme starten
|
||||
@@ -1062,10 +1209,42 @@ onboarding-automatic_proportions-error_modal-v2 =
|
||||
Dies ist wahrscheinlich ein Problem mit der Tracker-Ausrichtung. Vergewissern Sie sich, dass Ihre Tracker ordnungsgemäß funktioniert, bevor Sie es erneut versuchen.
|
||||
Bitte <docs>überprüfen Sie die Dokumentation</docs> oder treten Sie unserem <discord>Discord</discord> bei, um Hilfe zu erhalten ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Verstanden!
|
||||
onboarding-automatic_proportions-smol_warning =
|
||||
Ihre konfigurierte Höhe von { $height } ist kleiner als die minimale akzeptierte Höhe von { $minHeight }.
|
||||
<b>Bitte wiederholen Sie die Messungen und stellen Sie sicher, dass sie korrekt sind.</b>
|
||||
onboarding-automatic_proportions-smol_warning-cancel = Zurück
|
||||
|
||||
## User height calibration
|
||||
|
||||
onboarding-user_height-calibration-WAITING_FOR_FW_LOOK-low = Schauen sie nicht auf den Boden
|
||||
onboarding-user_height-calibration-WAITING_FOR_FW_LOOK-high = Schauen sie nicht zu hoch nach oben
|
||||
onboarding-user_height-calibration-WAITING_FOR_CONTROLLER_PITCH = Achten sie darauf, dass der Controller nach unten zeigt
|
||||
onboarding-user_height-calibration-DONE = Erfolg!
|
||||
|
||||
## Stay Aligned setup
|
||||
|
||||
onboarding-stay_aligned-title = Stay Aligned
|
||||
onboarding-stay_aligned-description = Konfigurieren Sie Stay Aligned, um Ihre Tracker ausgerichtet zu halten.
|
||||
onboarding-stay_aligned-put_trackers_on-title = Legen Sie Ihre Tracker an
|
||||
onboarding-stay_aligned-put_trackers_on-description = Um Ihre Ruheposen zu speichern, verwenden wir die Tracker, die Sie gerade zugewiesenen haben. Legen Sie all Ihre Tracker an. In der Abbildung rechts können Sie sehen, welcher welcher ist.
|
||||
onboarding-stay_aligned-put_trackers_on-trackers_warning = Sie haben derzeit weniger als 5 Tracker verbunden und zugewiesen! Dies ist die Mindestanzahl an Trackern, die erforderlich sind, damit Stay Aligned richtig funktioniert.
|
||||
onboarding-stay_aligned-put_trackers_on-next = Ich habe alle meine Tracker angelegt
|
||||
onboarding-stay_aligned-verify_mounting-title = Tracker-Ausrichtung
|
||||
onboarding-stay_aligned-verify_mounting-redo_mounting = Tracker-Ausrichtungskalibrierung wiederholen
|
||||
onboarding-stay_aligned-preparation-title = Vorbereitung
|
||||
onboarding-stay_aligned-preparation-tip = Achten Sie darauf, aufrecht zu stehen. Schauen Sie nach vorne und lassen Sie die Arme an den Seiten hängen.
|
||||
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Nehmen Sie eine bequeme Haltung ein. Entspannen Sie sich!
|
||||
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. Drücken Sie die Taste „Pose speichern“.
|
||||
onboarding-stay_aligned-relaxed_poses-skip_step = Überspringen
|
||||
onboarding-stay_aligned-previous_step = Zurück
|
||||
onboarding-stay_aligned-next_step = Weiter
|
||||
onboarding-stay_aligned-restart = Neu starten
|
||||
onboarding-stay_aligned-done = Fertig
|
||||
|
||||
## Home
|
||||
|
||||
home-no_trackers = Keine Tracker erkannt oder zugewiesen
|
||||
home-settings-close = Schließen
|
||||
|
||||
## Trackers Still On notification
|
||||
|
||||
@@ -1087,6 +1266,108 @@ status_system-StatusSteamVRDisconnected =
|
||||
status_system-StatusTrackerError = Der Tracker "{ $trackerName }" weist einen Fehler auf.
|
||||
status_system-StatusUnassignedHMD = Das VR-Headset sollte als Kopf-Tracker zugewiesen sein.
|
||||
|
||||
## Firmware tool globals
|
||||
|
||||
firmware_tool-next_step = Nächster Schritt
|
||||
firmware_tool-previous_step = Vorheriger Schritt
|
||||
firmware_tool-ok = Sieht gut aus
|
||||
firmware_tool-retry = Erneut versuchen
|
||||
firmware_tool-loading = Lade...
|
||||
|
||||
## Firmware tool Steps
|
||||
|
||||
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-select_source-board_type = Boardtyp
|
||||
firmware_tool-select_source-firmware = Firmware-Quelle
|
||||
firmware_tool-select_source-version = Firmware-Version
|
||||
firmware_tool-select_source-official = Offiziell
|
||||
firmware_tool-select_source-dev = Dev
|
||||
firmware_tool-board_defaults = Konfigurieren Sie Ihr Board
|
||||
firmware_tool-board_defaults-add = Hinzufügen
|
||||
firmware_tool-board_defaults-reset = Auf Standard zurücksetzen
|
||||
firmware_tool-board_defaults-error-required = Erforderliches Feld
|
||||
firmware_tool-board_defaults-error-format = Ungültiges Format
|
||||
firmware_tool-board_defaults-error-format-number = Keine Zahl
|
||||
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-v2 =
|
||||
.label = WLAN
|
||||
.description = Verwenden Sie die Over-the-Air-Methode. Ihr Tracker wird seine Firmware über WLAN aktualisieren. Funktioniert nur bei Trackern, die bereits eingerichtet wurden.
|
||||
firmware_tool-flash_method_step-ota-info =
|
||||
Wir nutzen Ihre WLAN-Zugangsdaten, um den Tracker zu flashen und zu bestätigen, dass alles korrekt funktioniert hat.
|
||||
<b>Wir speichern Ihre WLAN-Zugangsdaten nicht!</b>
|
||||
firmware_tool-flash_method_step-serial-v2 =
|
||||
.label = USB
|
||||
.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:
|
||||
firmware_tool-flashbtn_step-board_OTHER =
|
||||
Bevor Sie den Tracker flashen, müssen Sie ihn wahrscheinlich in den Bootloader-Modus versetzen.
|
||||
In den meisten Fällen bedeutet das, dass Sie die Boot-Taste auf dem Board drücken müssen, bevor der Flash-Vorgang beginnt.
|
||||
Wenn der Flash-Vorgang zu Beginn aufgrund eines Timeouts fehlschlägt, bedeutet das wahrscheinlich, dass der Tracker nicht im Bootloader-Modus war.
|
||||
Bitte beziehen Sie sich auf die Flash-Anweisungen Ihres Boards, um zu erfahren, wie Sie den Bootloader-Modus aktivieren.
|
||||
firmware_tool-flash_method_ota-title = Flashen über WLAN
|
||||
firmware_tool-flash_method_ota-devices = Erkannte OTA-Geräte:
|
||||
firmware_tool-flash_method_ota-no_devices = Es sind keine Boards vorhanden, die über OTA aktualisiert werden können. Stellen Sie sicher, dass Sie den richtigen Board-Typ ausgewählt haben.
|
||||
firmware_tool-flash_method_serial-title = Über USB flashen
|
||||
firmware_tool-flash_method_serial-wifi = WLAN-Zugangsdaten:
|
||||
firmware_tool-flash_method_serial-devices-label = Erkannte serielle Geräte:
|
||||
firmware_tool-flash_method_serial-devices-placeholder = Wählen Sie ein serielles Gerät aus
|
||||
firmware_tool-flash_method_serial-no_devices = Es wurden keine kompatiblen seriellen Geräte erkannt. Stellen Sie sicher, dass der Tracker angeschlossen ist.
|
||||
firmware_tool-build_step = Building
|
||||
firmware_tool-build_step-description = Die Firmware wird erstellt, bitte warten.
|
||||
firmware_tool-flashing_step = Flashen
|
||||
firmware_tool-flashing_step-description = Ihre Tracker werden geflasht, bitte folgen Sie den Anweisungen auf dem Bildschirm.
|
||||
firmware_tool-flashing_step-warning-v2 = Trennen oder schalten Sie den Tracker während des Upload-Vorgangs nicht aus, es sei denn, Sie werden dazu aufgefordert, da dies den Tracker unbrauchbar machen kann.
|
||||
firmware_tool-flashing_step-flash_more = Weitere Tracker flashen
|
||||
firmware_tool-flashing_step-exit = Schließen
|
||||
|
||||
## firmware tool build status
|
||||
|
||||
firmware_tool-build-QUEUED = Warte darauf, zu bauen....
|
||||
firmware_tool-build-CREATING_BUILD_FOLDER = Erstelle den Build-Ordner
|
||||
firmware_tool-build-DOWNLOADING_SOURCE = Lade den Quellcode herunter
|
||||
firmware_tool-build-EXTRACTING_SOURCE = Entpacken des Quellcode
|
||||
firmware_tool-build-BUILDING = Erstellen der Firmware
|
||||
firmware_tool-build-SAVING = Speichern des Builds
|
||||
firmware_tool-build-DONE = Erstellen abgeschlossen
|
||||
firmware_tool-build-ERROR = Die Firmware konnte nicht erstellt werden
|
||||
|
||||
## Firmware update status
|
||||
|
||||
firmware_update-status-DOWNLOADING = Lade die Firmware herunter
|
||||
firmware_update-status-NEED_MANUAL_REBOOT-v2 = Bitte schalten Sie Ihren Tracker aus und wieder ein.
|
||||
firmware_update-status-AUTHENTICATING = Authentifizierung mit dem Mikrokontroller
|
||||
firmware_update-status-UPLOADING = Lade die Firmware hoch
|
||||
firmware_update-status-SYNCING_WITH_MCU = Synchronisieren mit dem Mikrokontroller
|
||||
firmware_update-status-REBOOTING = Wende das Update an
|
||||
firmware_update-status-PROVISIONING = WLAN-Zugangsdaten werden gesendet
|
||||
firmware_update-status-DONE = Update abgeschlossen!
|
||||
firmware_update-status-ERROR_DEVICE_NOT_FOUND = Gerät konnte nicht gefunden werden
|
||||
firmware_update-status-ERROR_TIMEOUT = Während des Updates ist eine Zeitüberschreitung aufgetreten
|
||||
firmware_update-status-ERROR_DOWNLOAD_FAILED = Die Firmware konnte nicht heruntergeladen werden
|
||||
firmware_update-status-ERROR_AUTHENTICATION_FAILED = Authentifizierung mit dem Mikrokontroller fehlgeschlagen
|
||||
firmware_update-status-ERROR_UPLOAD_FAILED = Die Firmware konnte nicht hochgeladen werden
|
||||
firmware_update-status-ERROR_PROVISIONING_FAILED = Die WLAN-Zugangsdaten konnten nicht festgelegt werden
|
||||
firmware_update-status-ERROR_UNSUPPORTED_METHOD = Die Update-Methode wird nicht unterstützt
|
||||
firmware_update-status-ERROR_UNKNOWN = Unbekannter Fehler
|
||||
|
||||
## Dedicated Firmware Update Page
|
||||
|
||||
firmware_update-title = Firmware-Update
|
||||
firmware_update-devices = Verfügbare Geräte
|
||||
firmware_update-devices-description = Bitte wählen Sie die Tracker aus, die Sie auf die neueste Version der SlimeVR-Firmware aktualisieren möchten
|
||||
firmware_update-no_devices = Bitte stellen Sie sicher, dass die Tracker, die Sie aktualisieren möchten, eingeschaltet und mit dem WLAN verbunden sind!
|
||||
firmware_update-changelog-title = Aktualisieren auf { $version }
|
||||
firmware_update-looking_for_devices = Suche nach Geräten zum Aktualisieren...
|
||||
firmware_update-retry = Erneut versuchen
|
||||
firmware_update-update = Aktualisiere ausgewählte Tracker
|
||||
firmware_update-exit = Schließen
|
||||
|
||||
## Tray Menu
|
||||
|
||||
tray_menu-show = Anzeigen
|
||||
@@ -1114,3 +1395,68 @@ 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-page-desc = Diese Seite zeigt den Zustand deiner VRChat-Einstellungen und zeigt, welche Einstellungen mit SlimeVR inkompatibel sind. Es wird dringend empfohlen, alle hier angezeigten Warnungen zu beheben, um das beste Nutzererlebnis mit SlimeVR zu gewährleisten.
|
||||
vrc_config-page-help-desc = Schauen Sie sich unsere <a>Dokumentation zu diesem Thema</a> an!
|
||||
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-disable_shoulder_tracking = Schultertracking deaktivieren
|
||||
vrc_config-user_height = Echte Benutzergröße
|
||||
vrc_config-spine_mode-UNKNOWN = Unbekannt
|
||||
vrc_config-spine_mode-LOCK_HEAD = Kopf sperren
|
||||
vrc_config-spine_mode-LOCK_HIP = Hüfte sperren
|
||||
vrc_config-tracker_model-UNKNOWN = Unbekannt
|
||||
vrc_config-tracker_model-AXIS = Achse
|
||||
vrc_config-tracker_model-SYSTEM = System
|
||||
vrc_config-avatar_measurement_type-UNKNOWN = Unbekannt
|
||||
vrc_config-avatar_measurement_type-HEIGHT = Höhe
|
||||
vrc_config-avatar_measurement_type-ARM_SPAN = Armspannweite
|
||||
|
||||
## Error collection consent modal
|
||||
|
||||
error_collection_modal-title = Können wir Fehler sammeln?
|
||||
error_collection_modal-description_v2 =
|
||||
{ settings-interface-behavior-error_tracking-description_v2 }
|
||||
|
||||
Sie können diese Einstellung später im Abschnitt Verhalten auf der Einstellungsseite ändern.
|
||||
error_collection_modal-confirm = Ich stimme zu
|
||||
error_collection_modal-cancel = Ich will nicht
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
tracking_checklist-settings-close = Schließen
|
||||
tracking_checklist-status-partial =
|
||||
{ $count ->
|
||||
[one] Sie haben 1 Warnung!
|
||||
*[other] Sie haben { $count } Warnungen!
|
||||
}
|
||||
tracking_checklist-MOUNTING_CALIBRATION = Tracker-Ausrichtung durchführen
|
||||
tracking_checklist-STEAMVR_DISCONNECTED = SteamVR läuft nicht
|
||||
tracking_checklist-STEAMVR_DISCONNECTED-desc = SteamVR läuft nicht. Nutzen sie es für VR?
|
||||
tracking_checklist-STEAMVR_DISCONNECTED-open = SteamVR starten
|
||||
tracking_checklist-TRACKERS_REST_CALIBRATION-desc = Sie haben keine Tracker-Kalibrierung durchgeführt. Bitte lassen Sie Ihre Tracker (gelb markiert) für einige Sekunden auf einer stabilen Oberfläche ruhen.
|
||||
tracking_checklist-TRACKER_ERROR = Tracker mit Fehlern
|
||||
tracking_checklist-VRCHAT_SETTINGS = VRChat-Einstellungen konfigurieren
|
||||
tracking_checklist-VRCHAT_SETTINGS-open = Gehen sie zu den VRChat-Warnungen
|
||||
tracking_checklist-NETWORK_PROFILE_PUBLIC-open = Kontrollpanel öffnen
|
||||
tracking_checklist-STAY_ALIGNED_CONFIGURED = Stay Aligned konfigurieren
|
||||
tracking_checklist-STAY_ALIGNED_CONFIGURED-open = Öffne den Stay Aligned Assistent
|
||||
tracking_checklist-ignore = Ignorieren
|
||||
preview-mocap_mode_soon = Mocap-Modus (Bald™)
|
||||
preview-disable_render = Vorschau deaktivieren
|
||||
preview-disabled_render = Vorschau deaktiviert
|
||||
toolbar-mounting_calibration = Tracker-Ausrichtung
|
||||
toolbar-mounting_calibration-default = Körper
|
||||
toolbar-mounting_calibration-feet = Füße
|
||||
toolbar-mounting_calibration-fingers = Finger
|
||||
toolbar-assigned_trackers = { $count } Tracker zugewiesen
|
||||
toolbar-unassigned_trackers = { $count } Tracker nicht zugewiesen
|
||||
|
||||
@@ -18,6 +18,9 @@ websocket-connection_lost = Η σύνδεση μεταξύ του διακομι
|
||||
tips-find_tracker = Δεν είστε σίγουροι ποιος ανιχνευτής είναι ποιος; Κουνήστε έναν ανιχνευτή και θα επισημάνει το αντίστοιχο στοιχείο.
|
||||
tips-do_not_move_heels = Βεβαιωθείτε ότι οι φτέρνες σας δεν κινούνται κατά την εγγραφή!
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Μη εκχωρημένο
|
||||
@@ -41,13 +44,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 +112,9 @@ widget-overlay-is_mirrored_label = Εμφάνιση υπέρθεσης ως κα
|
||||
|
||||
widget-drift_compensation-clear = Επαναφορά αντιστάθμισης drift
|
||||
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Λειτουργία προγραμματιστή
|
||||
@@ -123,6 +132,9 @@ widget-imu_visualizer = Περιστροφή
|
||||
widget-imu_visualizer-rotation_raw = Ακατέργαστο
|
||||
widget-imu_visualizer-rotation_preview = Προεπισκόπηση
|
||||
|
||||
## Widget: Skeleton Visualizer
|
||||
|
||||
|
||||
## Tracker status
|
||||
|
||||
tracker-status-none = Χωρίς κατάσταση
|
||||
@@ -231,8 +243,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 +253,13 @@ settings-general-steamvr-trackers-hands = Χέρια
|
||||
## Gesture control settings (tracker tapping)
|
||||
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
|
||||
## Notification settings
|
||||
|
||||
|
||||
## Behavior settings
|
||||
|
||||
|
||||
## Serial settings
|
||||
@@ -260,6 +276,18 @@ settings-osc-vrchat-network-trackers-feet = Πόδια
|
||||
## VMC OSC settings
|
||||
|
||||
|
||||
## Common OSC settings
|
||||
|
||||
|
||||
## Advanced settings
|
||||
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
|
||||
@@ -272,9 +300,6 @@ settings-osc-vrchat-network-trackers-feet = Πόδια
|
||||
## Setup start
|
||||
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
|
||||
## Setup done
|
||||
|
||||
|
||||
@@ -302,17 +327,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
|
||||
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
|
||||
websocket-connecting = connyecting to teh sewvew
|
||||
websocket-connection_lost = oopsie woopsie~ connyection wost to teh sewvew ;m;... uwu am twying to weconnyect owo!
|
||||
websocket-connection_lost-desc = uh ohs! it look like da swimevr serber cwashed... check ur logs and stuffs and maybe westawt da pwogwam.
|
||||
websocket-timedout = could nawt connec to da serwer
|
||||
websocket-timedout-desc = it look like da swimevr serwer cwashed ow time out, omg!! check da log and westawt da pwogwam.
|
||||
websocket-error-close = Exit SwimeVR
|
||||
websocket-error-logs = open da logs fowder
|
||||
|
||||
## Update notification
|
||||
|
||||
@@ -26,6 +31,9 @@ tips-tap_setup = u can swowly tap youw twackew 2 times to choose it insted of se
|
||||
tips-turn_on_tracker = erm.. are u using offishal SlaiemVR twackews??! rember to <b><em>tuwn on yuor twackew</em></b> aftwew coneccting it to teh PC!
|
||||
tips-failed_webgl = oh nooooo :( faiwled to initiawizwe WebGL...
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = unassyigned
|
||||
@@ -49,6 +57,58 @@ body_part-LEFT_HAND = weft pawb
|
||||
body_part-LEFT_UPPER_LEG = weft uppew weg
|
||||
body_part-LEFT_LOWER_LEG = weft wowwe weg
|
||||
body_part-LEFT_FOOT = weft pawb
|
||||
body_part-LEFT_THUMB_METACARPAL = weft thum medacarpool
|
||||
body_part-LEFT_THUMB_PROXIMAL = weft thum pwoximal
|
||||
body_part-LEFT_THUMB_DISTAL = weft thum dital
|
||||
body_part-LEFT_INDEX_PROXIMAL = weft index pwoximal
|
||||
body_part-LEFT_INDEX_INTERMEDIATE = weft index indamedeate
|
||||
body_part-LEFT_INDEX_DISTAL = weft index dissal
|
||||
body_part-LEFT_MIDDLE_PROXIMAL = weft middol pwoximal
|
||||
body_part-LEFT_MIDDLE_INTERMEDIATE = weft middol intermediation
|
||||
body_part-LEFT_MIDDLE_DISTAL = weft middol dittol
|
||||
body_part-LEFT_RING_PROXIMAL = weft wing woxiwal
|
||||
body_part-LEFT_RING_INTERMEDIATE = weft wing wintamediate
|
||||
body_part-LEFT_RING_DISTAL = weft wing distol
|
||||
body_part-LEFT_LITTLE_PROXIMAL = weft widdle woximol
|
||||
body_part-LEFT_LITTLE_INTERMEDIATE = weft widdle imtermedate
|
||||
body_part-LEFT_LITTLE_DISTAL = weft widdle dital
|
||||
body_part-RIGHT_THUMB_METACARPAL = wight thum medacarpool
|
||||
body_part-RIGHT_THUMB_PROXIMAL = wight thum thoximal
|
||||
body_part-RIGHT_THUMB_DISTAL = wight thum distol
|
||||
body_part-RIGHT_INDEX_PROXIMAL = wight index poximal
|
||||
body_part-RIGHT_INDEX_INTERMEDIATE = wight index imtertediate
|
||||
body_part-RIGHT_INDEX_DISTAL = wight index distal
|
||||
body_part-RIGHT_MIDDLE_PROXIMAL = wight middol pwoximal
|
||||
body_part-RIGHT_MIDDLE_INTERMEDIATE = wight middol intertediate
|
||||
body_part-RIGHT_MIDDLE_DISTAL = wight middol distol
|
||||
body_part-RIGHT_RING_PROXIMAL = wight wing roximal
|
||||
body_part-RIGHT_RING_INTERMEDIATE = wight wing imterdemiate
|
||||
body_part-RIGHT_RING_DISTAL = wight wing distol
|
||||
body_part-RIGHT_LITTLE_PROXIMAL = wight widdle pwoximal
|
||||
body_part-RIGHT_LITTLE_INTERMEDIATE = wight widdle imternediate
|
||||
body_part-RIGHT_LITTLE_DISTAL = wight widdle distol
|
||||
|
||||
## BoardType
|
||||
|
||||
board_type-UNKNOWN = unnown
|
||||
board_type-NODEMCU = nowdemcu
|
||||
board_type-CUSTOM = cusom boawd
|
||||
board_type-WROOM32 = wroom32
|
||||
board_type-WEMOSD1MINI = wemo d1 meenee
|
||||
board_type-TTGO_TBASE = ttgo tbase
|
||||
board_type-ESP01 = esp01
|
||||
board_type-SLIMEVR = swimevr
|
||||
board_type-LOLIN_C3_MINI = lol c3 meenee
|
||||
board_type-BEETLE32C3 = 🪲 (beetle) esp32-c3
|
||||
board_type-ESP32C3DEVKITM1 = expressive esp32-c3 devkitm1
|
||||
board_type-OWOTRACK = owo!!Track
|
||||
board_type-WRANGLER = wrangle joycons (yeehaw)
|
||||
board_type-MOCOPI = soni mocopi
|
||||
board_type-WEMOSWROOM02 = memos vroom-02 d1 meenee
|
||||
board_type-XIAO_ESP32C3 = seeeed studio xiao esp32c3
|
||||
board_type-HARITORA = hawitowa
|
||||
board_type-ESP32C6DEVKITC1 = espresso esp32-c6 devkitc1
|
||||
board_type-GLOVE_IMU_SLIMEVR_DEV = swimevr dev imu gwove
|
||||
|
||||
## Proportions
|
||||
|
||||
@@ -81,6 +141,14 @@ skeleton_bone-ELBOW_OFFSET = ewbow awfsewt
|
||||
## Tracker reset buttons
|
||||
|
||||
reset-reset_all = weset aww pwopowtions~
|
||||
reset-reset_all_warning-v2 =
|
||||
<b>warnings!!!</b> ur pwopawshuns will be weset to default scaled to ur configuwed heit.
|
||||
are u SHURE you want to do dis?!? >~>
|
||||
reset-reset_all_warning-reset = weset pwopawshuns
|
||||
reset-reset_all_warning-cancel = cancew :o
|
||||
reset-reset_all_warning_default-v2 =
|
||||
<b>wawnin!!</b> ur heit has nawt been configure, ur pwopawshuns will be weset to defawts wiff da defawt heit.
|
||||
are u REALLY sure you want to do this?! <~<
|
||||
reset-full = fuww weset~
|
||||
reset-mounting = weset meownting
|
||||
reset-yaw = yaw weset
|
||||
@@ -124,7 +192,7 @@ widget-overlay-is_mirrored_label = dispway owovelay as miwwow
|
||||
|
||||
widget-drift_compensation-clear = cwear dwift compensation
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
widget-clear_mounting = cweaw weset meownting
|
||||
|
||||
@@ -142,9 +210,12 @@ widget-developer_mode-more_info = mowe info
|
||||
## Widget: IMU Visualizer
|
||||
|
||||
widget-imu_visualizer = wotation
|
||||
widget-imu_visualizer-preview = pwewiew
|
||||
widget-imu_visualizer-hide = hoide
|
||||
widget-imu_visualizer-rotation_raw = waw
|
||||
widget-imu_visualizer-rotation_preview = pwewiew
|
||||
widget-imu_visualizer-rotation_hide = hoide
|
||||
widget-imu_visualizer-acceleration = accewewation
|
||||
widget-imu_visualizer-position = pawsition
|
||||
|
||||
## Widget: Skeleton Visualizer
|
||||
|
||||
@@ -196,9 +267,17 @@ tracker-infos-url = twackaw uawl
|
||||
tracker-infos-version = fiwmwawe vewsion
|
||||
tracker-infos-hardware_rev = hawdwawe revision
|
||||
tracker-infos-hardware_identifier = hawdwawe id
|
||||
tracker-infos-data_support = deyta suppowt
|
||||
tracker-infos-imu = imu sensow
|
||||
tracker-infos-board_type = mane bored
|
||||
tracker-infos-network_version = pwotocol vewsiowon
|
||||
tracker-infos-magnetometer = magentometer
|
||||
tracker-infos-magnetometer-status-v1 =
|
||||
{ $status ->
|
||||
[DISABLED] disabled.
|
||||
[ENABLED] enabled!!
|
||||
*[NOT_SUPPORTED] nawt suppowted...
|
||||
}
|
||||
|
||||
## Tracker settings
|
||||
|
||||
@@ -213,14 +292,19 @@ tracker-settings-mounting_section-edit = edit meownting
|
||||
tracker-settings-drift_compensation_section = awwow dwift compensation
|
||||
tracker-settings-drift_compensation_section-description = shouwd this twackew compensate fow its dwift when dwift compensation is enabwed?
|
||||
tracker-settings-drift_compensation_section-edit = awwow dwift compensation
|
||||
tracker-settings-use_mag = awwow magentometer on dis twackew
|
||||
tracker-settings-use_mag-label = awwow magnetomemer
|
||||
# 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 = twackaw name
|
||||
tracker-settings-name_section-description = owo whats dis?
|
||||
tracker-settings-name_section-placeholder = ewimewl's weft pawb
|
||||
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-up_to_date = up to dayte!! ^w^
|
||||
tracker-settings-update = uwupdate meow!
|
||||
|
||||
## Tracker part card info
|
||||
|
||||
@@ -296,6 +380,7 @@ settings-sidebar-utils = utiwities
|
||||
settings-sidebar-serial = sewiaw cownsaw
|
||||
settings-sidebar-appearance = appeawance
|
||||
settings-sidebar-notifications = notificashuns
|
||||
settings-sidebar-behavior = behavur
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -350,6 +435,7 @@ settings-general-tracker_mechanics-drift_compensation-description =
|
||||
compensates imu yaw dwift by appwying an invewse wotation.
|
||||
change amownt of compensation and how many wesets awe taken into accouwnt.
|
||||
settings-general-tracker_mechanics-drift_compensation-enabled-label = dwift compensation
|
||||
settings-general-tracker_mechanics-drift_compensation_warning-cancel = cancew :o
|
||||
settings-general-tracker_mechanics-drift_compensation-amount-label = compensation amownt
|
||||
settings-general-tracker_mechanics-drift_compensation-max_resets-label = nuwmbew of wesets uwsed
|
||||
settings-general-tracker_mechanics-save_mounting_reset = saiv awtomatic meownting weset calibwaytion
|
||||
@@ -357,6 +443,10 @@ settings-general-tracker_mechanics-save_mounting_reset-description =
|
||||
saves the auwtoemyatic meownting weset cawybwationz for da twackews betwean westawts. useful
|
||||
wen weawing a sUwUit whewe twackews dont move between sesshuns. <b>nawt wecomended for noarmal UwUsews!</b>
|
||||
settings-general-tracker_mechanics-save_mounting_reset-enabled-label = save meownting weset
|
||||
settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
|
||||
uses magnemometer on da twackews dat have a compatubble firmwear fow it, weduces dwift in stable magnettic enviwoments.
|
||||
can be disable per twackew in da twackew setting! <b>pwease dont shut down any twackew when u toggle dis!</b>
|
||||
settings-general-tracker_mechanics-use_mag_on_all_trackers-label = use mangenmometer on twackews
|
||||
|
||||
## FK/Tracking settings
|
||||
|
||||
@@ -378,8 +468,11 @@ 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
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = cowwect wit constwaints
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = cowwect joint wotashuns when dey push past their wimit
|
||||
settings-general-fk_settings-arm_fk = awm twacking
|
||||
settings-general-fk_settings-arm_fk-description = chawnge teh way teh awms awe twacked.
|
||||
settings-general-fk_settings-arm_fk-force_arms = fowce awms fwom hmd
|
||||
@@ -411,9 +504,6 @@ settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = awewa
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Avewage the knees' yaw and woww with the ankews'
|
||||
settings-general-fk_settings-self_localization-title = mocap mowd
|
||||
settings-general-fk_settings-self_localization-description = mocap mowd awwows da skeweton to wuffly twack is own posishun without a hedset or other twackews. note dat dis wequiwes feet and hed twackews to wowk and is stiwll expewimentaw.
|
||||
settings-general-fk_settings-vive_emulation-title = vive emuwation
|
||||
settings-general-fk_settings-vive_emulation-description = emuwate the waist twackew pwobwems that vive twackews hawe. tis is a jowke and mawkes twacking wowse eheh ^^
|
||||
settings-general-fk_settings-vive_emulation-label = enabwe vive emuwation
|
||||
|
||||
## Gesture control settings (tracker tapping)
|
||||
|
||||
@@ -454,6 +544,9 @@ 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!
|
||||
settings-general-interface-show-navbar-onboarding-label = show "{ navbar-onboarding }"
|
||||
settings-general-interface-lang = sewect wanguage
|
||||
settings-general-interface-lang-description = change the defawwt wanguage yuw want to use
|
||||
settings-general-interface-lang-placeholder = sewect teh wanguage to use
|
||||
@@ -465,6 +558,9 @@ settings-interface-appearance-font-os_font = os fawnt
|
||||
settings-interface-appearance-font-slime_font = defawt fawnt
|
||||
settings-interface-appearance-font_size = bass fawn scawing
|
||||
settings-interface-appearance-font_size-description = dis affects da fawnt size of da whol intewface except dis setting panew.
|
||||
settings-interface-appearance-decorations = use da sysem native decowashuns
|
||||
settings-interface-appearance-decorations-description = dis wiw not wendew da top bar of da interfase an will use da opewating syssem's insted.
|
||||
settings-interface-appearance-decorations-label = use native decowashuns
|
||||
|
||||
## Notification settings
|
||||
|
||||
@@ -479,6 +575,10 @@ settings-general-interface-feedback_sound-volume = feedback sownd volyume
|
||||
settings-general-interface-connected_trackers_warning = Connected twackews wawning
|
||||
settings-general-interface-connected_trackers_warning-description = This option wiww show a pop-up evewy time you twy exiting SwimeVR whiwe having one ow mowe connected twackews. It weminds you to tuwn off youw twackews when you awe done to pwesewve battewy wife.
|
||||
settings-general-interface-connected_trackers_warning-label = Connected twackews wawning on exit
|
||||
|
||||
## Behavior settings
|
||||
|
||||
settings-interface-behavior = behavur
|
||||
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
|
||||
@@ -509,7 +609,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
|
||||
@@ -588,12 +687,6 @@ settings-osc-vmc-network-address-description = choose which addwess to send out
|
||||
settings-osc-vmc-network-address-placeholder = IPV4 addwess
|
||||
settings-osc-vmc-vrm = VRM modew
|
||||
settings-osc-vmc-vrm-description = woad a VRM modew to awwow head anchow and enabwe a highew compatibiwity with othew appwications
|
||||
settings-osc-vmc-vrm-model_unloaded = no modew woaded
|
||||
settings-osc-vmc-vrm-model_loaded =
|
||||
{ $titled ->
|
||||
[true] modew woaded: { $name }
|
||||
*[other] untitwed modew woaded
|
||||
}
|
||||
settings-osc-vmc-vrm-file_select = dwag & dwop a modew to use OwO, ow <u>bwowse</u>
|
||||
settings-osc-vmc-anchor_hip = anchow at hips
|
||||
settings-osc-vmc-anchor_hip-description = anchow the twacking at the hips, usefuw fow seated vtubing
|
||||
@@ -602,6 +695,38 @@ 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 =
|
||||
{ $type ->
|
||||
[gui]
|
||||
<b>wawning!!</b> this wiww weset youw gui settings to defawts :(
|
||||
aw you supew dupew sure?
|
||||
[server]
|
||||
<b>wawning!!</b> this wiww weset youw twacking settings to defawts :(
|
||||
aw you supew dupew sure?
|
||||
*[all]
|
||||
<b>wawning!!</b> this wiww make aww youw settings go bye-bye!!
|
||||
aw you supew dupew sure??
|
||||
}
|
||||
settings-utils-advanced-reset_warning-reset = weset setings
|
||||
settings-utils-advanced-reset_warning-cancel = cancew :o
|
||||
settings-utils-advanced-open_data-v1 = config fowdew
|
||||
settings-utils-advanced-open_data-description-v1 = open swimevr's config fowdew in da fiwe explowew, containing teh configuwation
|
||||
settings-utils-advanced-open_data-label = open fowdew
|
||||
settings-utils-advanced-open_logs = logs fowdew
|
||||
settings-utils-advanced-open_logs-description = open swimevr's logs fowdew in da fiwe explowew, containing teh logs of da app
|
||||
settings-utils-advanced-open_logs-label = open fowdew
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
onboarding-skip = skipy setup
|
||||
@@ -617,16 +742,12 @@ onboarding-setup_warning-cancel = continu setup
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = gaww bawwk to intwoduction
|
||||
onboarding-wifi_creds = input wi-fi cwedentials
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
teh twawckaws will use these cwedentials to connect wirelessly
|
||||
pwease use teh cwedentials that yaww awe cwowently cownyected to
|
||||
onboarding-wifi_creds-skip = skipy wi-fi settiwyngs
|
||||
onboarding-wifi_creds-submit = suwbmyt!
|
||||
onboarding-wifi_creds-ssid =
|
||||
.label = wi-fi nawme
|
||||
.placeholder = entew wi-fi nawme
|
||||
onboarding-wifi_creds-ssid-required = wifi name is wequiwed!!
|
||||
onboarding-wifi_creds-password =
|
||||
.label = passwowod
|
||||
.placeholder = entew passwowod
|
||||
@@ -661,13 +782,6 @@ onboarding-reset_tutorial-2 =
|
||||
onboarding-home = wewcome to SwimeVR
|
||||
onboarding-home-start = wets get set up!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = gaww bawwk to twacker assignyment
|
||||
onboarding-enter_vr-title = time to entew vr!
|
||||
onboarding-enter_vr-description = put on awe yoaww twackaws and then entew vr!
|
||||
onboarding-enter_vr-ready = iym weady
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = yaww awe awe set!
|
||||
@@ -684,6 +798,7 @@ onboarding-connect_tracker-issue-serial = i'm having twouble connecting!
|
||||
onboarding-connect_tracker-usb = usb twackew
|
||||
onboarding-connect_tracker-connection_status-none = wooking fow twackaws
|
||||
onboarding-connect_tracker-connection_status-serial_init = conectin too da sewiaw dewise
|
||||
onboarding-connect_tracker-connection_status-obtaining_mac_address = obtainin teh twacker mac addwess
|
||||
onboarding-connect_tracker-connection_status-provisioning = sending wi-fi cwedentials
|
||||
onboarding-connect_tracker-connection_status-connecting = sending wi-fi cwedentials
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = wookin fow da sewvew
|
||||
@@ -697,22 +812,22 @@ 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
|
||||
onboarding-calibration_tutorial-status-success = congwats~!!
|
||||
onboarding-calibration_tutorial-status-error = da twackew was move ;w;
|
||||
onboarding-calibration_tutorial-skip = skip tutowiaw
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
@@ -733,10 +848,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
|
||||
@@ -836,11 +951,11 @@ onboarding-choose_mounting = wut meownting cawibwation mefod to use?
|
||||
# Multiline text
|
||||
onboarding-choose_mounting-description = meownting owientation correct fow da pwacement of twackews on u body.
|
||||
onboarding-choose_mounting-auto_mounting = awtomawic meownting
|
||||
# Italized text
|
||||
# Italicized text
|
||||
onboarding-choose_mounting-auto_mounting-label-v2 = wecommended
|
||||
onboarding-choose_mounting-auto_mounting-description = dis will automaticawwy detec da meownting diwecshuns fow aww of ya twackews fwom 2 poses
|
||||
onboarding-choose_mounting-manual_mounting = manyul meownting
|
||||
# Italized text
|
||||
# Italicized text
|
||||
onboarding-choose_mounting-manual_mounting-label-v2 = might nawt b pwecise enuff ;w;
|
||||
onboarding-choose_mounting-manual_mounting-description = dis will let u chose da meownting diwecshun manuwawwy fow eech twackew
|
||||
# Multiline text
|
||||
@@ -874,44 +989,15 @@ 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
|
||||
|
||||
## Tracker proportions method choose
|
||||
## Tracker manual proportions setupa
|
||||
|
||||
onboarding-choose_proportions = wut pwopowshun cawibwation mefod to use?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description-v1 =
|
||||
bawdy pwopowotions r used to knwo da mehsuwementz of youw bawdy. they'we wequiewed to cawcuwate da twackews' pawsitshons.
|
||||
wen pwopowotiosn of ur bawdey don match teh ones saeved, yow twacking pwecisiown wiww b wowse and u wiww nowotice tingz wike skayting ow slaiding, ow yor bodiey matching uor avataw wel.
|
||||
<b>u only need to mewhsuwe your bawdee once!!</b> unwess dey awe rong ow yer boady haz chaenged, you dont need to do them agen. UwU
|
||||
onboarding-choose_proportions-auto_proportions = awtomatic pwopowtions
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = wecommended
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv3 =
|
||||
This wiww guess youw pwopowtions by wecowding a sampwe of youw movements and passing it thwough an awgowithm.
|
||||
|
||||
<b>This wequiwes having youw headset (HMD) connected to SwimeVR and on youw head!</b>
|
||||
onboarding-choose_proportions-manual_proportions = manuwal pwopowtions
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = fow smol touchies
|
||||
onboarding-choose_proportions-manual_proportions-description = dis will let u ajust ur pwopowtions manuwally by modifying dem diwectwy
|
||||
onboarding-choose_proportions-export = expowt pawpowshuns
|
||||
onboarding-choose_proportions-import = Impowt pwopowtions
|
||||
onboarding-choose_proportions-import-success = Impowted
|
||||
onboarding-choose_proportions-import-failed = Faiwed
|
||||
onboarding-choose_proportions-file_type = body pawpowshuns file
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
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
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
@@ -932,21 +1018,33 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
|
||||
Youw headset is wepowting positionaw data to the SwimeVR sewvew (this genewawwy means having SteamVR wunning and connected to SwimeVR using SwimeVR's SteamVR dwivew).
|
||||
Youw twacking is wowking and is accuwatewy wepwesenting youw movements (ex. you have pewfowmed a fuww weset and they move the wight diwection when kicking, bending ovew, sitting, etc).
|
||||
onboarding-automatic_proportions-requirements-next = i have wed da wequiwemens
|
||||
onboarding-automatic_proportions-check_height-title = check youw height
|
||||
onboarding-automatic_proportions-check_height-description = we use youw height as a basis of ouw measuwements by using da hmd's height as an appwoximashun of youw actuwaw height, but is better to check if they are right youwsewf!
|
||||
onboarding-automatic_proportions-check_height-title-v3 = measuwe youw headset heit
|
||||
onboarding-automatic_proportions-check_height-description-v2 = youw hedset heit shuld be swightwy less than youw fuww heit, becoz hedsets measuwe youw eye heit. dis measuwement wiww be used az a basewine fow youw body pwopowtions.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = pwease pwess da button while standing <u>upwight</u> to cawcuwate youw height. you hav 3 second aftew you pwess da button! >w<
|
||||
onboarding-automatic_proportions-check_height-calculation_warning-v3 = stawt measuwing whiwe standin <u>upwite</u> to measuwe youw heit. be cawefuw to not waise youw hands highew than youw hedset, becoz dey may affect teh measuwement!
|
||||
onboarding-automatic_proportions-check_height-guardian_tip =
|
||||
if u r using a standowone VR hedset, make suwe to have youw gawrdian /
|
||||
bowndawy tuwned on so ur heit iz cowwect!!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = am standing!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = unnown
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = youw hmd heit is
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = so youw actuaw heit is
|
||||
onboarding-automatic_proportions-check_height-hmd_height2 = youw hedset heit is:
|
||||
onboarding-automatic_proportions-check_height-measure-start = stawt measuwing
|
||||
onboarding-automatic_proportions-check_height-measure-stop = stawp measuwing
|
||||
onboarding-automatic_proportions-check_height-measure-reset = wetwy measuwing
|
||||
onboarding-automatic_proportions-check_height-next_step = dey awe fine
|
||||
onboarding-automatic_proportions-check_floor_height-title = measuwe youw fwoor heit (opshunaw)
|
||||
onboarding-automatic_proportions-check_floor_height-description = sometimez youw fwoor heit may nawt be set cowwectwy by youw hedset, cawsing da hedset heit 2 be measuwed too high (ono :c). u can measuwe da "heit" of youw fwoor to cowwect youw hedset heit.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_floor_height-calculation_warning-v2 = stawt measuwing and put a contwowwew agens youw fwoor to measuwe its heit. if u r suwe dat youw fwoor heit is cowwect, u can skip dis step.
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_floor_height-floor_height = youw fwoor heit is:
|
||||
onboarding-automatic_proportions-check_floor_height-full_height = youw estimated fuww heit is:
|
||||
onboarding-automatic_proportions-check_floor_height-measure-start = stawt measuwing
|
||||
onboarding-automatic_proportions-check_floor_height-measure-stop = stawp measuwing
|
||||
onboarding-automatic_proportions-check_floor_height-measure-reset = wetwy measuwing
|
||||
onboarding-automatic_proportions-check_floor_height-skip_step = skip dis and saiv
|
||||
onboarding-automatic_proportions-check_floor_height-next_step = use fwoor heit and saiv
|
||||
onboarding-automatic_proportions-start_recording-title = get wowdy to move
|
||||
onboarding-automatic_proportions-start_recording-description = we'we now going to wowcawd some specific poses and moves. these will be pwompted in teh wowst screen. be wowdy to stawt when teh buttawn is pwessed!
|
||||
onboarding-automatic_proportions-start_recording-next = stawt wowcawding
|
||||
@@ -976,10 +1074,21 @@ onboarding-automatic_proportions-verify_results-redo = wedo wecowding
|
||||
onboarding-automatic_proportions-verify_results-confirm = tehywee coowect
|
||||
onboarding-automatic_proportions-done-title = bawdy meowsured anwd sayved uwu
|
||||
onboarding-automatic_proportions-done-description = yoww body pwopowwtions cawybowwation is cowowplete! ^w^
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>wawning:</b> an ewwow was fownd whiwe estimating pawpowshuns! ;w;
|
||||
pwease <docs>check da docs</docs> or join ouw <discord>Discord</discord> fow hewp >~>
|
||||
onboarding-automatic_proportions-error_modal-v2 =
|
||||
<b>oh nyo...</b> thewe wuz an ewwow whiwe estimatin da pwopowtions... :(
|
||||
dis is wikewy a mountin cawibwation issue. make suwe youw twackin wowks pwopewy befow twying agen.
|
||||
pwease <docs>chek da docs</docs> ow join ouw <discord>discowd</discord> fow hewp :3
|
||||
onboarding-automatic_proportions-error_modal-confirm = undewstood!
|
||||
onboarding-automatic_proportions-smol_warning =
|
||||
youw configuwed heit of { $height } iz way 2 widdle den da { $minHeight }.
|
||||
<b>pwease wedo da measuwments and ensuwe dey r cowwect.</b>
|
||||
onboarding-automatic_proportions-smol_warning-cancel = go bak
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## Stay Aligned setup
|
||||
|
||||
|
||||
## Home
|
||||
|
||||
@@ -1005,6 +1114,81 @@ status_system-StatusSteamVRDisconnected =
|
||||
status_system-StatusTrackerError = da { $trackerName } twackew has ewwow. >~<
|
||||
status_system-StatusUnassignedHMD = teh VR hedset shud be awssaignd as a hed twackew.
|
||||
|
||||
## Firmware tool globals
|
||||
|
||||
firmware_tool-next_step = next step
|
||||
firmware_tool-previous_step = pwevious step
|
||||
firmware_tool-ok = wooks gud
|
||||
firmware_tool-retry = wetwy
|
||||
firmware_tool-loading = woadin...
|
||||
|
||||
## Firmware tool Steps
|
||||
|
||||
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-flash_method_step = fwashin mefod
|
||||
firmware_tool-flash_method_step-description = pwease sewect teh fwashin mefod u wanna use
|
||||
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:
|
||||
firmware_tool-flashbtn_step-board_OTHER =
|
||||
befow fwashin u prob need 2 put da twackew into buwutwoadew mowd :3
|
||||
mowst of da time it meens pressin da buwut buddon on da boawd befow da fwashin pwocess stawts.
|
||||
if da fwashin pwocess timeout at da stawt of da fwashin it prob meens dat da twackew wuz nawt in buwutwoadew mowd ono
|
||||
pwease wefew to da fwashin instwucshuns of youw boawd to no how 2 tuwn on da buwutwoadew mowd :3
|
||||
firmware_tool-flash_method_ota-devices = detectewed ovew teh aiw dewices:
|
||||
firmware_tool-flash_method_ota-no_devices = thewe r no boawds dat can be uwupdated usin ovew teh aiw, make suwe u sewected da cowwect boawd taip
|
||||
firmware_tool-flash_method_serial-wifi = wifi cwedenshuls:
|
||||
firmware_tool-flash_method_serial-devices-label = detectewed sewiaw dewices:
|
||||
firmware_tool-flash_method_serial-devices-placeholder = sewect a sewiaw dewice
|
||||
firmware_tool-flash_method_serial-no_devices = thewe r no compatibwe sewiaw dewices detectewed, make suwe da twackew is pwugged in
|
||||
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-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-BUILDING = bildin da fiwmwawe
|
||||
firmware_tool-build-SAVING = savin da bild
|
||||
firmware_tool-build-DONE = bild compwete!
|
||||
firmware_tool-build-ERROR = unabwe to bild da fiwmwawe...
|
||||
|
||||
## Firmware update status
|
||||
|
||||
firmware_update-status-DOWNLOADING = downwoadin da fiwmwawe
|
||||
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
|
||||
firmware_update-status-REBOOTING = appwyin da uwupdate
|
||||
firmware_update-status-PROVISIONING = settin da wifi cwedenshuls
|
||||
firmware_update-status-DONE = uwupdate compwete!!
|
||||
firmware_update-status-ERROR_DEVICE_NOT_FOUND = culd nawt find da dewice
|
||||
firmware_update-status-ERROR_TIMEOUT = da uwupdate pwocess timed owt
|
||||
firmware_update-status-ERROR_DOWNLOAD_FAILED = culd nawt downwoad da fiwmwawe
|
||||
firmware_update-status-ERROR_AUTHENTICATION_FAILED = culd nawt awthenticate wit da mcu
|
||||
firmware_update-status-ERROR_UPLOAD_FAILED = culd nawt upwoad da fiwmwawe
|
||||
firmware_update-status-ERROR_PROVISIONING_FAILED = culd nawt set da wifi cwedenshuls
|
||||
firmware_update-status-ERROR_UNSUPPORTED_METHOD = da uwupdate mefod is nawt suppowted
|
||||
firmware_update-status-ERROR_UNKNOWN = unyown ewwow
|
||||
|
||||
## Dedicated Firmware Update Page
|
||||
|
||||
firmware_update-title = fiwmwawe uwupdate
|
||||
firmware_update-devices = avaiwabwe dewices
|
||||
firmware_update-devices-description = pwease sewect da twackews u want to uwupdate to da latest vershun of swimevr fiwmwawe
|
||||
firmware_update-no_devices = pwease make suwe dat da twackews u want to uwupdate r AWN an conecced to da wifi!
|
||||
firmware_update-changelog-title = uwupdatin to { $version }
|
||||
firmware_update-looking_for_devices = lookin fow dewices to uwupdate...
|
||||
firmware_update-retry = wetwy
|
||||
firmware_update-update = uwupdate sewected twackews
|
||||
firmware_update-exit = exit
|
||||
|
||||
## Tray Menu
|
||||
|
||||
tray_menu-show = show
|
||||
@@ -1032,3 +1216,9 @@ unknown_device-modal-description =
|
||||
d-do u wanna conect it to SwimeVR?
|
||||
unknown_device-modal-confirm = sure!!
|
||||
unknown_device-modal-forget = ignowe it
|
||||
|
||||
## Error collection consent modal
|
||||
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
|
||||
@@ -7,8 +7,13 @@
|
||||
|
||||
## 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
|
||||
websocket-error-close = Salir de SlimeVR
|
||||
websocket-error-logs = Abrir la carpeta de registros
|
||||
|
||||
## Update notification
|
||||
|
||||
@@ -26,6 +31,9 @@ tips-tap_setup = Puedes tocar lentamente 2 veces el sensor para seleccionarlo en
|
||||
tips-turn_on_tracker = ¿Estas usando trackers de SlimeVR oficiales? ¡Recuerda <b><em>encender tus trackers<em><b> después de conectarlos al PC!
|
||||
tips-failed_webgl = Fallo al inicializar WebGL.
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Sin asignar
|
||||
@@ -49,45 +57,200 @@ body_part-LEFT_HAND = Mano izquierda
|
||||
body_part-LEFT_UPPER_LEG = Muslo izquierdo
|
||||
body_part-LEFT_LOWER_LEG = Tobillo izquierdo
|
||||
body_part-LEFT_FOOT = Pie izquierdo
|
||||
body_part-LEFT_THUMB_METACARPAL = Metacarpiano del pulgar izquierdo
|
||||
body_part-LEFT_THUMB_PROXIMAL = Proximal del pulgar izquierdo
|
||||
body_part-LEFT_THUMB_DISTAL = Distal del pulgar izquierdo
|
||||
body_part-LEFT_INDEX_PROXIMAL = Proximal del índice izquierdo
|
||||
body_part-LEFT_INDEX_INTERMEDIATE = Medial del índice izquierdo
|
||||
body_part-LEFT_INDEX_DISTAL = Distal del índice izquierdo
|
||||
body_part-LEFT_MIDDLE_PROXIMAL = Proximal del dedo medio izquierdo
|
||||
body_part-LEFT_MIDDLE_INTERMEDIATE = Medial del dedo medio izquierdo
|
||||
body_part-LEFT_MIDDLE_DISTAL = Distal del dedo medio izquierdo
|
||||
body_part-LEFT_RING_PROXIMAL = Proximal del dedo anular izquierdo
|
||||
body_part-LEFT_RING_INTERMEDIATE = Medial del dedo anular izquierdo
|
||||
body_part-LEFT_RING_DISTAL = Distal del dedo anular izquierdo
|
||||
body_part-LEFT_LITTLE_PROXIMAL = Proximal del meñique izquierdo
|
||||
body_part-LEFT_LITTLE_INTERMEDIATE = Medial del meñique izquierdo
|
||||
body_part-LEFT_LITTLE_DISTAL = Distal del meñique izquierdo
|
||||
body_part-RIGHT_THUMB_METACARPAL = Metacarpiano del pulgar derecho
|
||||
body_part-RIGHT_THUMB_PROXIMAL = Proximal del pulgar derecho
|
||||
body_part-RIGHT_THUMB_DISTAL = Distal del pulgar derecho
|
||||
body_part-RIGHT_INDEX_PROXIMAL = Proximal del índice derecho
|
||||
body_part-RIGHT_INDEX_INTERMEDIATE = Medial del índice derecho
|
||||
body_part-RIGHT_INDEX_DISTAL = Distal del índice derecho
|
||||
body_part-RIGHT_MIDDLE_PROXIMAL = Proximal del dedo medio derecho
|
||||
body_part-RIGHT_MIDDLE_INTERMEDIATE = Medial del dedo medio derecho
|
||||
body_part-RIGHT_MIDDLE_DISTAL = Distal del dedo medio derecho
|
||||
body_part-RIGHT_RING_PROXIMAL = Proximal del dedo anular derecho
|
||||
body_part-RIGHT_RING_INTERMEDIATE = Medial del dedo anular derecho
|
||||
body_part-RIGHT_RING_DISTAL = Distal del dedo anular derecho
|
||||
body_part-RIGHT_LITTLE_PROXIMAL = Proximal del meñique derecho
|
||||
body_part-RIGHT_LITTLE_INTERMEDIATE = Medial del meñique derecho
|
||||
body_part-RIGHT_LITTLE_DISTAL = Distal del meñique derecho
|
||||
|
||||
## BoardType
|
||||
|
||||
board_type-UNKNOWN = Desconocido
|
||||
board_type-NODEMCU = NodeMCU
|
||||
board_type-CUSTOM = Placa personalizada
|
||||
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 = 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
|
||||
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 = Guante SlimeVR Dev IMU
|
||||
|
||||
## Proportions
|
||||
|
||||
skeleton_bone-NONE = Nada
|
||||
skeleton_bone-HEAD = Inclinación de cabeza
|
||||
skeleton_bone-HEAD-desc =
|
||||
Esta es la distancia entre tu casco y el medio de tu cabeza.
|
||||
Para ajustarlo, mueve tu cabeza de izquierda a derecha como si no estuvieras de acuerdo
|
||||
y modifícalo hasta que cualquier movimiento con otros trackers sea insignificante.
|
||||
skeleton_bone-NECK = Largo del cuello
|
||||
skeleton_bone-NECK-desc =
|
||||
Esta es la distancia entre el medio de tu cabeza hacia la base de tu nuca.
|
||||
Para ajustarlo, mueve tu cabeza de arriba a abajo como su estuvieras asintiendo o ladea tu cabeza
|
||||
hacia la izquierda y derecha y modifícalo hasta que cualquier movimiento con otros trackers sea insignificante.
|
||||
skeleton_bone-torso_group = Largo del torso
|
||||
skeleton_bone-torso_group-desc =
|
||||
Esta es la distancia entre la base de tu nuca con tus caderas.
|
||||
Para ajustarlo, modifícalo parándote recto hasta que tus caderas virtuales se alineen
|
||||
con las reales.
|
||||
skeleton_bone-UPPER_CHEST = Largo del pecho superior
|
||||
skeleton_bone-UPPER_CHEST-desc =
|
||||
Esta es la distancia entre la base de tu nuca hacia el medio de tu pecho.
|
||||
Para ajustarlo, ajusta el largo de tu torso apropiadamente y modifícalo en varias posiciones
|
||||
(Sentándote, agachándote, acostándote, etc.) hasta que tu columna virtual se alinee con la real.
|
||||
skeleton_bone-CHEST_OFFSET = Chest Offset
|
||||
skeleton_bone-CHEST_OFFSET-desc =
|
||||
Esto se puede ajustar para mover tu tracker de pecho virtual hacia arriba o abajo para ayudar
|
||||
con la calibración en ciertos juegos o aplicaciones que lo esperan mas alto o bajo.
|
||||
skeleton_bone-CHEST = Largo del pecho
|
||||
skeleton_bone-CHEST-desc =
|
||||
Esta es la distancia entre la mitad de tu pecho hasta la mitad de tu columna.
|
||||
Para ajustarlo, ajusta el largo de tu torso apropiadamente y modifícalo en varias posiciones
|
||||
(sentándote, agachándote, acostándote, etc.) hasta que tu columna virtual se alinee con la real.
|
||||
skeleton_bone-WAIST = Largo de la cintura
|
||||
skeleton_bone-WAIST-desc =
|
||||
Esta es la distancia entre la mitad de tu columna con tu ombligo.
|
||||
Para ajustarlo, ajusta el largo de tu torso apropiadamente y modifícalo en varias posiciones
|
||||
(sentándote, agachándote, acostándote, etc.) hasta que tu columna virtual se alinee con la real.
|
||||
skeleton_bone-HIP = Largo de la cadera
|
||||
skeleton_bone-HIP-desc =
|
||||
Esta es la distancia entre tu ombligo hacia tus caderas
|
||||
Para ajustarla, ajusta el largo de tu torso apropiadamente y modifícala en varias posiciones
|
||||
(sentándote, agachándote, acostándote, etc.) hasta que tu columna virtual se alinee con la real.
|
||||
skeleton_bone-HIP_OFFSET = Desplazamiento de la cadera
|
||||
skeleton_bone-HIP_OFFSET-desc =
|
||||
Esto se puede ajustar para mover tu cadera virtual hacia arriba o hacia abajo para ayudar
|
||||
con la calibración en ciertos juegos o aplicaciones que lo esperen en tu cintura.
|
||||
skeleton_bone-HIPS_WIDTH = Ancho de la cadera
|
||||
skeleton_bone-HIPS_WIDTH-desc =
|
||||
Esta es la distancia entre el comienzo de tus piernas.
|
||||
Para ajustarlo, inicia un reinicio completo con tus piernas rectas y modifícalo hasta que
|
||||
tus piernas virtuales se alineen con las reales horizontalmente.
|
||||
skeleton_bone-leg_group = Largo de la pierna
|
||||
skeleton_bone-leg_group-desc =
|
||||
Esta es la distancia entre tus caderas hacia tus pies.
|
||||
Para ajustarlo, ajusta el largo de tu torso apropiadamente y modifícalo
|
||||
hasta que tus pies virtuales estén al mismo nivel que los tuyos.
|
||||
skeleton_bone-UPPER_LEG = Largo del muslo
|
||||
skeleton_bone-UPPER_LEG-desc =
|
||||
Esta es la distancia entre tus caderas hacia tus rodillas.
|
||||
Para ajustarlo, ajusta el largo de tus piernas apropiadamente y modifícalo
|
||||
hasta que tus rodillas virtuales estén al mismo nivel que las tuyas.
|
||||
skeleton_bone-LOWER_LEG = Largo de la tibia
|
||||
skeleton_bone-LOWER_LEG-desc =
|
||||
Esta es la distancia entre tus rodillas hacia tus tobillos.
|
||||
Para ajustarlo, ajusta el largo de tus piernas apropiadamente y modifícalo
|
||||
hasta que tus rodillas virtuales estén al mismo nivel que las tuyas.
|
||||
skeleton_bone-FOOT_LENGTH = Largo del pie
|
||||
skeleton_bone-FOOT_LENGTH-desc =
|
||||
Esta es la distancia entre tus tobillos hacia tus dedos del pie.
|
||||
Para ajustarla, párate de puntillas y modifícalo hasta que tus pies virtuales se mantengan en su lugar.
|
||||
skeleton_bone-FOOT_SHIFT = Desplazamiento de pies
|
||||
skeleton_bone-FOOT_SHIFT-desc =
|
||||
Este valor es la distancia horizontal entre tu rodilla hacia tu tobillo.
|
||||
Toma en cuenta las piernas bajas yendo hacia atrás cuando te paras recto.
|
||||
Para ajustarlo, pon el largo de los pies en 0, inicia un reinicio completo y modifícalo hasta que tus pies
|
||||
virtuales se alineen con el medio de tus tobillos.
|
||||
skeleton_bone-SKELETON_OFFSET = Desplazamiento del esqueleto
|
||||
skeleton_bone-SKELETON_OFFSET-desc =
|
||||
Esto puede ser ajustado para compensar todos tus trackers hacia adelante o hacia atrás.
|
||||
Se puede usar para ayudar con la calibración en ciertos juegos o aplicaciones
|
||||
que pueden esperar tus trackers estando más adelante.
|
||||
skeleton_bone-SHOULDERS_DISTANCE = Distancia de los hombros
|
||||
skeleton_bone-SHOULDERS_DISTANCE-desc =
|
||||
Esta es la distancia vertical desde la base de tu nuca hasta tus hombros.
|
||||
Para ajustarlo, pon el largo del brazo superior en 0 y modifícalo hasta que tus trackers de codo virtuales
|
||||
se alineen verticalmente con tus hombros reales.
|
||||
skeleton_bone-SHOULDERS_WIDTH = Ancho de los hombros
|
||||
skeleton_bone-SHOULDERS_WIDTH-desc =
|
||||
Esta es la distancia horizontal desde la base de tu nuca hasta tus hombros.
|
||||
Para ajustarlo, pon el largo del brazo superior en 0 y modifícalo hasta que tus trackers de codo virtuales
|
||||
se alineen horizontalmente con tus hombros reales.
|
||||
skeleton_bone-arm_group = Largo del brazo
|
||||
skeleton_bone-arm_group-desc =
|
||||
Esta es la distancia desde tus hombros hasta tus muñecas.
|
||||
Para ajustarlo, ajusta la distancia de los hombros apropiadamente, pon la distancia de las manos Y
|
||||
en 0 y modifícalo hasta que tus trackers de mano se alineen con tus muñecas.
|
||||
skeleton_bone-UPPER_ARM = Largo del brazo superior
|
||||
skeleton_bone-UPPER_ARM-desc =
|
||||
Esta es la distancia desde tus hombros hasta tus codos.
|
||||
Para ajustarlo, ajusta el largo de los brazos apropiadamente y modifícalo hasta que
|
||||
tus trackers de codos se alineen con tus codos reales.
|
||||
skeleton_bone-LOWER_ARM = Distancia del antebrazo
|
||||
skeleton_bone-LOWER_ARM-desc =
|
||||
Esta es la distancia desde tus codos hasta tus muñecas.
|
||||
Para ajustarlo, ajusta el largo de los brazos apropiadamente y modifícalo hasta que
|
||||
tus trackers de codos se alineen con tus codos reales.
|
||||
skeleton_bone-HAND_Y = Distancia Y de la mano
|
||||
skeleton_bone-HAND_Y-desc =
|
||||
Esta es la distancia vertical desde tus muñecas hasta la mitad de tu mano.
|
||||
Para ajustarlo para captura de movimiento, ajusta el largo de los brazos apropiadamente y modifícalo hasta que tus
|
||||
trackers de manos se alineen verticalmente con el medio de tus manos.
|
||||
Para ajustarlo para tracking de codo desde tus controles, pon el largo de los brazos en 0 y
|
||||
modifícalo hasta que tus trackers de codos se alineen verticalmente con tus muñecas.
|
||||
skeleton_bone-HAND_Z = Distancia Z de la mano
|
||||
skeleton_bone-HAND_Z-desc =
|
||||
Esta es la distancia horizontal desde tus muñecas hasta la mitad de tu mano.
|
||||
Para ajustarlo para captura de movimiento, ponlo en 0.
|
||||
Para ajustarlo para tracking de codos desde tus controles, pon el largo de los brazos en 0 y
|
||||
modifícalo hasta que tus trackers de codos se alineen horizontalmente con tus muñecas.
|
||||
skeleton_bone-ELBOW_OFFSET = Desplazamiento del codo
|
||||
skeleton_bone-ELBOW_OFFSET-desc =
|
||||
Esto se puede ajustar para mover tus trackers de codos virtuales hacia arriba o hacia abajo para ayudar
|
||||
con VRChat accidentalmente colocando un tracker de codo al pecho.
|
||||
|
||||
## Tracker reset buttons
|
||||
|
||||
reset-reset_all = Reiniciar todas las proporciones
|
||||
reset-reset_all_warning =
|
||||
<b>Advertencia:</b> Esto reiniciará tus proporciones para ser basadas solamente en tu altura.
|
||||
¿Estás seguro de que quieres seguir?
|
||||
reset-reset_all_warning-v2 =
|
||||
<b>Advertencia:</b> Sus proporciones se restablecerán a los valores predeterminados escalados a su altura configurada.
|
||||
¿Estás seguro de que quiere hacer esto?
|
||||
reset-reset_all_warning-reset = Reiniciar proporciones
|
||||
reset-reset_all_warning-cancel = Cancelar
|
||||
reset-reset_all_warning_default-v2 =
|
||||
<b>Advertencia:</b> Su altura no ha sido configurada, sus proporciones se restablecerán a los valores predeterminados con la altura predeterminada.
|
||||
¿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
|
||||
@@ -113,6 +276,7 @@ navbar-settings = Ajustes
|
||||
|
||||
bvh-start_recording = Grabar BVH
|
||||
bvh-recording = Grabando...
|
||||
bvh-save_title = Guardar grabación BVH
|
||||
|
||||
## Tracking pause
|
||||
|
||||
@@ -129,7 +293,7 @@ widget-overlay-is_mirrored_label = Mostrar interfaz reflejada
|
||||
|
||||
widget-drift_compensation-clear = Olvidar compensación de drift
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
widget-clear_mounting = Olvidar reinicio de montura
|
||||
|
||||
@@ -153,6 +317,7 @@ widget-imu_visualizer-rotation_raw = Raw
|
||||
widget-imu_visualizer-rotation_preview = Preview
|
||||
widget-imu_visualizer-acceleration = Aceleración
|
||||
widget-imu_visualizer-position = Posición
|
||||
widget-imu_visualizer-stay_aligned = Mantente Alineado
|
||||
|
||||
## Widget: Skeleton Visualizer
|
||||
|
||||
@@ -180,6 +345,7 @@ tracker-table-column-temperature = Temp. °C
|
||||
tracker-table-column-linear-acceleration = Accel. 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 = Mantente Alineado
|
||||
tracker-table-column-url = URL
|
||||
|
||||
## Tracker rotation
|
||||
@@ -204,6 +370,7 @@ tracker-infos-url = URL del sensor
|
||||
tracker-infos-version = Versión del firmware
|
||||
tracker-infos-hardware_rev = Revisión del hardware
|
||||
tracker-infos-hardware_identifier = ID del hardware
|
||||
tracker-infos-data_support = Dato soportado
|
||||
tracker-infos-imu = Sensor IMU
|
||||
tracker-infos-board_type = Placa principal
|
||||
tracker-infos-network_version = Versión del protocolo
|
||||
@@ -244,6 +411,13 @@ 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-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 = Actualizar ahora
|
||||
tracker-settings-update-title = Versión del firmware
|
||||
|
||||
## Tracker part card info
|
||||
|
||||
@@ -309,16 +483,22 @@ mounting_selection_menu-close = Cerrar
|
||||
|
||||
settings-sidebar-title = Ajustes
|
||||
settings-sidebar-general = General
|
||||
settings-sidebar-steamvr = SteamVR
|
||||
settings-sidebar-tracker_mechanics = Mecánicas del sensor
|
||||
settings-sidebar-stay_aligned = Mantente Alineado
|
||||
settings-sidebar-fk_settings = Ajustes de FK
|
||||
settings-sidebar-gesture_control = Control de gestos
|
||||
settings-sidebar-interface = Interfaz
|
||||
settings-sidebar-osc_router = Router OSC
|
||||
settings-sidebar-osc_trackers = Sensores OSC de VRChat
|
||||
settings-sidebar-osc_vmc = VMC
|
||||
settings-sidebar-utils = Utilidades
|
||||
settings-sidebar-serial = Consola serial
|
||||
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
|
||||
@@ -400,6 +580,25 @@ settings-general-tracker_mechanics-use_mag_on_all_trackers-description =
|
||||
Usa el magnetómetro en todos los trackers que tienen un firmware compatible, lo que reduce la desviación en entornos magnéticos estables.
|
||||
Se puede desactivar por sensor en la configuración del sensor. <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 trackers
|
||||
settings-stay_aligned = Mantente Alineado
|
||||
settings-stay_aligned-description = Mantente Alineado reduce el desvío ajustando gradualmente tus trackers para calzar tus poses relajadas.
|
||||
settings-stay_aligned-setup-label = Configurar Mantente Alineado
|
||||
settings-stay_aligned-setup-description = Debes completar «Configurar Mantente Alineado» para activar Mantente Alineado.
|
||||
settings-stay_aligned-warnings-drift_compensation = ⚠ ¡Por favor desactiva la compensación de desvío! La compensación de desvío causará conflictos con Mantente Alineado.
|
||||
settings-stay_aligned-enabled-label = Ajustar trackers
|
||||
settings-stay_aligned-hide_yaw_correction-label = Ocultar ajustes (para comparar sin Mantente Alineado)
|
||||
settings-stay_aligned-general-label = General
|
||||
settings-stay_aligned-relaxed_poses-label = Poses relajadas
|
||||
settings-stay_aligned-relaxed_poses-description = Mantente Alineado utiliza tus poses relajadas para mantener tus trackers alineados. Utiliza «Configurar Mantente Alineado» para actualizar estas poses.
|
||||
settings-stay_aligned-relaxed_poses-standing = Ajustar trackers al estar parado
|
||||
settings-stay_aligned-relaxed_poses-sitting = Ajustar trackers al sentarse en una silla
|
||||
settings-stay_aligned-relaxed_poses-flat = Ajustar trackers al sentarse en el suelo o recostándose en su espalda.
|
||||
settings-stay_aligned-relaxed_poses-save_pose = Guardar pose
|
||||
settings-stay_aligned-relaxed_poses-reset_pose = Reiniciar pose
|
||||
settings-stay_aligned-relaxed_poses-close = Cerrar
|
||||
settings-stay_aligned-debug-label = Depuración
|
||||
settings-stay_aligned-debug-description = Por favor incluye tus ajustes cuando reportes problemas acerca de Mantente Alineado.
|
||||
settings-stay_aligned-debug-copy-label = Copiar ajustes al portapapeles
|
||||
|
||||
## FK/Tracking settings
|
||||
|
||||
@@ -421,8 +620,16 @@ 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
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = Corregir con las limitaciones
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = Corregir las rotaciones de las articulaciones cuando superan su límite
|
||||
settings-general-fk_settings-ik = Datos de posición
|
||||
settings-general-fk_settings-ik-use_position = Usar datos de posición
|
||||
settings-general-fk_settings-ik-use_position-description = Permite el uso de los datos de posición de los trackers que lo proveen. Cuando actives esto asegúrate de hacer un reinicio completo y recalibrar en el juego.
|
||||
settings-general-fk_settings-arm_fk = Trackeo de brazos
|
||||
settings-general-fk_settings-arm_fk-description = Cambia cómo el movimiento de los brazos es detectado.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Forzar brazos desde el HMD
|
||||
@@ -454,9 +661,6 @@ settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Prome
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Promediar la rotación del eje vertical y horizontal de las rodillas con la de los tobillos
|
||||
settings-general-fk_settings-self_localization-title = Modo mocap
|
||||
settings-general-fk_settings-self_localization-description = El modo mocap permite al esqueleto rastrear de forma aproximada su propia posición sin un casco o otros sensores. Nota que esto requiere que los trackers en el pie y cabeza estén y sigue siendo experimental.
|
||||
settings-general-fk_settings-vive_emulation-title = Vive emulation
|
||||
settings-general-fk_settings-vive_emulation-description = Emulate the waist tracker problems that Vive trackers have. This is a joke and makes tracking worse.
|
||||
settings-general-fk_settings-vive_emulation-label = Habilitar emulación de Vive
|
||||
|
||||
## Gesture control settings (tracker tapping)
|
||||
|
||||
@@ -497,9 +701,9 @@ settings-general-interface-dev_mode = Modo desarrollador
|
||||
settings-general-interface-dev_mode-description = Este modo puede ser útil si es que necesitas información a fondo o para un nivel de interacción más avanzado con los sensores conectados.
|
||||
settings-general-interface-dev_mode-label = Modo desarrollador
|
||||
settings-general-interface-theme = Tema de color
|
||||
settings-general-interface-show-navbar-onboarding = Mostrar "{ navbar-onboarding }" en la barra de navegación
|
||||
settings-general-interface-show-navbar-onboarding = Mostrar «{ navbar-onboarding }» en la barra de navegación
|
||||
settings-general-interface-show-navbar-onboarding-description = Esto cambia si el botón "{ navbar-onboarding }" se muestra en la barra de navegación.
|
||||
settings-general-interface-show-navbar-onboarding-label = Mostrar "{ navbar-onboarding }"
|
||||
settings-general-interface-show-navbar-onboarding-label = Mostrar «{ navbar-onboarding }»
|
||||
settings-general-interface-lang = Selecciona un idioma
|
||||
settings-general-interface-lang-description = Cambia el idioma que quieras usar.
|
||||
settings-general-interface-lang-placeholder = Selecciona el idioma a utilizar
|
||||
@@ -528,6 +732,10 @@ settings-general-interface-feedback_sound-volume = Volumen del sonido de feedbac
|
||||
settings-general-interface-connected_trackers_warning = Advertencia de trackers conectados
|
||||
settings-general-interface-connected_trackers_warning-description = Esta opción hará que aparezca un pop-up cada vez que intentas salir de SlimeVR mientras tienes uno o más trackers conectados. Te recuerda de apagar tus trackers cuando ya paraste de usarlos así preservas la duración de la batería.
|
||||
settings-general-interface-connected_trackers_warning-label = Advertencia de trackers conectados al salir
|
||||
|
||||
## Behavior settings
|
||||
|
||||
settings-interface-behavior = Comportamiento
|
||||
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
|
||||
@@ -541,6 +749,17 @@ settings-general-interface-discord_presence-message =
|
||||
[many] Usando { $amount } de sensores
|
||||
*[other] Usando { $amount } sensores
|
||||
}
|
||||
settings-interface-behavior-error_tracking = Recopilación de errores a través de Sentry.io
|
||||
settings-interface-behavior-error_tracking-description_v2 =
|
||||
<h1>Consientes a la recopilación de datos de errores anonimizados?</h1>
|
||||
|
||||
<b>No recopilamos información personal</b> como tu dirección IP o credenciales del Wi-Fi. ¡SlimeVR respeta tu privacidad!
|
||||
|
||||
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
|
||||
|
||||
@@ -559,12 +778,16 @@ 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 = Enviar
|
||||
settings-serial-send_command-placeholder = Comando...
|
||||
settings-serial-send_command-warning = <b>Peligro:</b> Ejecutar comandos seriales puede causar perdida de datos o romper los trackers.
|
||||
settings-serial-send_command-warning-ok = Sé lo que estoy haciendo
|
||||
settings-serial-send_command-warning-cancel = Cancelar
|
||||
|
||||
## OSC router settings
|
||||
|
||||
@@ -604,6 +827,13 @@ settings-osc-vrchat-description-v1 =
|
||||
settings-osc-vrchat-enable = Habilitar
|
||||
settings-osc-vrchat-enable-description = Habilita el envio y recibo de datos.
|
||||
settings-osc-vrchat-enable-label = Habilitar
|
||||
settings-osc-vrchat-oscqueryEnabled = Habilitar OSCQuery
|
||||
settings-osc-vrchat-oscqueryEnabled-description =
|
||||
OSCQuery detecta automáticamente las instancias en ejecución de VRChat y les envía datos.
|
||||
También puede anunciarse a ellos para recibir datos del HMD y los mandos.
|
||||
Para permitir la recepción de datos de HMD y mandos de VRChat, vaya a la configuración de su menú principal
|
||||
en «Seguimiento e IK» y habilite «Permitir el envío de datos OSC de seguimiento de VR de cabeza y muñeca».
|
||||
settings-osc-vrchat-oscqueryEnabled-label = Habilitar OSCQuery
|
||||
settings-osc-vrchat-network = Puertos de conexión
|
||||
settings-osc-vrchat-network-description-v1 = Establece los puertos para recibir y enviar datos. Se puede dejar sin cambiar para VRChat.
|
||||
settings-osc-vrchat-network-port_in =
|
||||
@@ -646,12 +876,7 @@ settings-osc-vmc-network-address-description = Establece la dirección donde se
|
||||
settings-osc-vmc-network-address-placeholder = Dirección IPv4
|
||||
settings-osc-vmc-vrm = Modelo VRM
|
||||
settings-osc-vmc-vrm-description = Carga un modelo VRM para permitir el anclaje de cabeza y habilitar una mejor compatibilidad con otras aplicaciones
|
||||
settings-osc-vmc-vrm-model_unloaded = Ningún modelo cargado
|
||||
settings-osc-vmc-vrm-model_loaded =
|
||||
{ $titled ->
|
||||
[true] Modelo cargado: { $name }
|
||||
*[other] Modelo sin nombre cargado
|
||||
}
|
||||
settings-osc-vmc-vrm-untitled_model = Modelo sin nombre
|
||||
settings-osc-vmc-vrm-file_select = Arrastra y suelta un modelo para usar, o <u>selecciona uno</u>.
|
||||
settings-osc-vmc-anchor_hip = Anclaje por cadera
|
||||
settings-osc-vmc-anchor_hip-description = Anclar el tracking a la cadera, útil para hacer de VTuber sentado. Si lo desactivas, carga un modelo VRM.
|
||||
@@ -660,6 +885,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
|
||||
@@ -686,9 +916,18 @@ settings-utils-advanced-reset_warning =
|
||||
}
|
||||
settings-utils-advanced-reset_warning-reset = Reiniciar ajustes
|
||||
settings-utils-advanced-reset_warning-cancel = Cancelar
|
||||
settings-utils-advanced-open_data = Carpeta de datos
|
||||
settings-utils-advanced-open_data-description = Abre la carpeta de datos de SlimeVR en el explorador de archivos, conteniendo archivos de configuración y registros.
|
||||
settings-utils-advanced-open_data-v1 = Carpeta de configuración
|
||||
settings-utils-advanced-open_data-description-v1 = Abre la carpeta de configuración de SlimeVR en el explorador de archivos, que contiene la configuración
|
||||
settings-utils-advanced-open_data-label = Abrir carpeta
|
||||
settings-utils-advanced-open_logs = Carpeta de registros
|
||||
settings-utils-advanced-open_logs-description = Abre la carpeta de registros de SlimeVR en el explorador de archivos, que contiene los registros de la aplicación
|
||||
settings-utils-advanced-open_logs-label = Abrir carpeta
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
@@ -705,16 +944,12 @@ onboarding-setup_warning-cancel = Continuar configuración
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = Volver a la introducción
|
||||
onboarding-wifi_creds = Ingresar credenciales del Wi-Fi
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
Los sensores utilizarán estas credenciales para conectarse inalámbricamente.
|
||||
Por favor usa las credenciales del Wi-Fi al cuál estás conectado actualmente.
|
||||
onboarding-wifi_creds-skip = Saltar ajustes de Wi-Fi
|
||||
onboarding-wifi_creds-submit = ¡Enviar!
|
||||
onboarding-wifi_creds-ssid =
|
||||
.label = Nombre del WiFi
|
||||
.placeholder = Ingresa el nombre del WiFi
|
||||
onboarding-wifi_creds-ssid-required = Se requiere el nombre del Wi-Fi
|
||||
onboarding-wifi_creds-password =
|
||||
.label = Contraseña
|
||||
.placeholder = Ingresa la contraseña
|
||||
@@ -749,13 +984,6 @@ onboarding-reset_tutorial-2 =
|
||||
onboarding-home = Bienvenido a SlimeVR
|
||||
onboarding-home-start = ¡Comencemos!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = Volver a la asignación de sensores
|
||||
onboarding-enter_vr-title = ¡Es hora de entrar a la RV!
|
||||
onboarding-enter_vr-description = ¡Ponte todos tus sensores y luego entra a la RV!
|
||||
onboarding-enter_vr-ready = Estoy listo
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = ¡Estás listo!
|
||||
@@ -772,12 +1000,24 @@ onboarding-connect_tracker-issue-serial = ¡Tengo problemas conectándolos!
|
||||
onboarding-connect_tracker-usb = Sensor USB
|
||||
onboarding-connect_tracker-connection_status-none = Buscando sensores
|
||||
onboarding-connect_tracker-connection_status-serial_init = Conectando al dispositivo serial
|
||||
onboarding-connect_tracker-connection_status-obtaining_mac_address = Obteniendo la dirección MAC del sensor
|
||||
onboarding-connect_tracker-connection_status-provisioning = Enviando credenciales Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-connecting = Enviando credenciales Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = Buscando servidor
|
||||
onboarding-connect_tracker-connection_status-connection_error = Incapaz de 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 con el servidor
|
||||
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 por USB
|
||||
onboarding-connect_serial-error-modal-no_serial_log = ¿El tracker esta encendido?
|
||||
onboarding-connect_serial-error-modal-no_serial_log-desc = Asegúrate de que el tracker esté encendido y conectado a tu computadora
|
||||
onboarding-connect_serial-error-modal-no_serial_device_found = No se detectan trackers
|
||||
onboarding-connect_serial-error-modal-no_serial_device_found-desc =
|
||||
Por favor conecta un tracker con el cable usb hacia tu computadora y enciende el tracker.
|
||||
Si esto no funciona:
|
||||
- intenta con otro cable usb
|
||||
- intenta con otro puerto usb
|
||||
- intenta reinstalando el servidor de SlimeVR y selecciona «Drivers 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",
|
||||
@@ -795,7 +1035,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
|
||||
@@ -822,9 +1062,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
|
||||
@@ -964,44 +1204,27 @@ onboarding-automatic_mounting-mounting_reset-title = Reinicio de montura
|
||||
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Arrodíllate en una posición de «esquiar» con tus piernas dobladas, la parte superior de tu cuerpo inclinada hacia adelante, y tus brazos doblados.
|
||||
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Presiona el botón «Reinicio de montura» y espera 3 segundos hasta que se reinicie la montura.
|
||||
onboarding-automatic_mounting-preparation-title = Preparación
|
||||
onboarding-automatic_mounting-preparation-step-0 = 1. Párate derecho con tus brazos a los costados.
|
||||
onboarding-automatic_mounting-preparation-step-1 = 2. Presiona el botón «Reiniciar» y espera 3 segundos hasta que se reinicien los sensores.
|
||||
onboarding-automatic_mounting-preparation-v2-step-0 = 1. Presiona el botón «Reinicio completo».
|
||||
onboarding-automatic_mounting-preparation-v2-step-1 = 2. Párate recto con los brazos a tus lados. Asegúrate de mirar hacia adelante.
|
||||
onboarding-automatic_mounting-preparation-v2-step-2 = 3. Mantén la posición hasta que el temporizador de 3s termine.
|
||||
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 proportions method choose
|
||||
## Tracker manual proportions setupa
|
||||
|
||||
onboarding-choose_proportions = ¿Qué método de calibración de proporciones quiere usar?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description-v1 =
|
||||
Las proporciones corporales son utilizadas para saber las medidas de tu cuerpo. Se requieren para calcular la posición de los trackers.
|
||||
Cuando las proporciones de tu cuerpo no encajan con las guardadas, la precisión de tu tracking será peor y notarás cosas como deslizamiento o desplazamiento, o tu cuerpo no encajando bien con tu avatar.
|
||||
<b>¡Solo necesitas medir tu cuerpo una vez!</b> A menos que estén mal o tu cuerpo haya cambiado, no necesitas hacerlo de nuevo.
|
||||
onboarding-choose_proportions-auto_proportions = Proporciones automáticas
|
||||
# Italicized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Recomendado
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv3 =
|
||||
Esto estimará tus proporciones grabando una muestra de tus movimientos y pasándolos a través de un algoritmo.
|
||||
|
||||
<b>¡Esto requiere tener tu visor (HMD) conectado a SlimeVR y en tu cabeza!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Proporciones manuales
|
||||
# Italicized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Para toques pequeños
|
||||
onboarding-choose_proportions-manual_proportions-description = Esto te permitirá ajustar tus proporciones manualmente de forma directa
|
||||
onboarding-choose_proportions-export = Exportar proporciones
|
||||
onboarding-choose_proportions-import = Importar proporciones
|
||||
onboarding-choose_proportions-import-success = Importado
|
||||
onboarding-choose_proportions-import-failed = Error
|
||||
onboarding-choose_proportions-file_type = Archivo de proporciones del cuerpo
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-back = Volver al tutorial de reinicio
|
||||
onboarding-manual_proportions-title = Proporciones de cuerpo manuales
|
||||
onboarding-manual_proportions-precision = Ajuste con precisión
|
||||
onboarding-manual_proportions-auto = Calibración automática
|
||||
onboarding-manual_proportions-ratio = Ajustar por porcentajes
|
||||
onboarding-manual_proportions-fine_tuning_button = Ajustar automáticamente las proporciones
|
||||
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = Por favor conecte un visor VR para utilizar el ajuste automático
|
||||
onboarding-manual_proportions-export = Exportar proporciones
|
||||
onboarding-manual_proportions-import = Importar proporciones
|
||||
onboarding-manual_proportions-file_type = Archivo de proporciones del cuerpo
|
||||
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 de usuario estimada
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
@@ -1022,21 +1245,33 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
|
||||
Tu visor esta reportando datos posicionales al servidor de SlimeVR (esto generalmente significa tener SteamVR abierto y conectado a SlimeVR usando el driver de SlimeVR para SteamVR).
|
||||
Tus sensores están funcionando y están representando tus movimientos con precisión (ej: Realizaste un reinicio completo y se mueven en la dirección correcta cuando pateas, te agachas, te sientas, etc).
|
||||
onboarding-automatic_proportions-requirements-next = He leído los requisitos
|
||||
onboarding-automatic_proportions-check_height-title = Compruebe su altura
|
||||
onboarding-automatic_proportions-check_height-description = Utilizamos tu altura como base de nuestras mediciones utilizando la altura del VR como aproximación a tu altura real, ¡Pero es mejor que compruebes tú mismo si son correctas!
|
||||
onboarding-automatic_proportions-check_height-title-v3 = Mide la altura de tu visor
|
||||
onboarding-automatic_proportions-check_height-description-v2 = La altura de su casco (HMD) debe ser ligeramente menor que su altura total, ya que el casco está a la altura de sus ojos. Esta medida se utilizará como punto de partida para las proporciones de su cuerpo.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Por favor, pulse el botón mientras está <u>de pie</u> para calcular su altura. ¡Tienes unos 3 segundos después de pulsar el botón!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning-v3 = Empieza a medir mientras estás <u>de pié</u> para medir tu altura. Ten cuidado con no levantar tus manos más allá de tu visor, ¡Ya que esto puede afectar la medición!
|
||||
onboarding-automatic_proportions-check_height-guardian_tip =
|
||||
Si está utilizando un casco de VR portable, asegúrese de tener el guardián/
|
||||
barrera activado así la altura es detectada correctamente!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Estoy de pie
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Desconocida
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = La altura de tu HMD es
|
||||
onboarding-automatic_proportions-check_height-hmd_height2 = La altura de su casco es:
|
||||
onboarding-automatic_proportions-check_height-measure-start = Empezar a medir
|
||||
onboarding-automatic_proportions-check_height-measure-stop = Dejar de medir
|
||||
onboarding-automatic_proportions-check_height-measure-reset = Volver a intentar la medición
|
||||
onboarding-automatic_proportions-check_height-next_step = Usar la altura del visor
|
||||
onboarding-automatic_proportions-check_floor_height-title = Medir la altura de su piso (opcional)
|
||||
onboarding-automatic_proportions-check_floor_height-description = En algunos casos, es posible que el casco no ajuste correctamente la altura del piso, lo que hace que la altura del casco sea más alta de lo que debería ser. Puede medir la "altura" de su piso para corregir la altura de su casco.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_floor_height-calculation_warning-v2 = Empieza la medición y pon un mando en el piso para medir la altura. Si estás seguro de que la altura de tu piso es correcta, puedes saltar este paso.
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = entonces tu altura real es
|
||||
onboarding-automatic_proportions-check_height-next_step = Están bien
|
||||
onboarding-automatic_proportions-check_floor_height-floor_height = La altura de su piso es:
|
||||
onboarding-automatic_proportions-check_floor_height-full_height = Su altura total estimada es:
|
||||
onboarding-automatic_proportions-check_floor_height-measure-start = Empezar a medir
|
||||
onboarding-automatic_proportions-check_floor_height-measure-stop = Dejar de medir
|
||||
onboarding-automatic_proportions-check_floor_height-measure-reset = Volver a intentar la medición
|
||||
onboarding-automatic_proportions-check_floor_height-skip_step = Saltar paso y guardar
|
||||
onboarding-automatic_proportions-check_floor_height-next_step = Utilice la altura del piso y guardar
|
||||
onboarding-automatic_proportions-start_recording-title = Prepárate para moverte
|
||||
onboarding-automatic_proportions-start_recording-description = Ahora vamos a grabar poses y movimientos en específico. Estas serán mostradas en la siguiente ventana. ¡Prepárate para empezar cuando presiones el botón!
|
||||
onboarding-automatic_proportions-start_recording-next = Empezar grabación
|
||||
@@ -1071,10 +1306,52 @@ onboarding-automatic_proportions-error_modal-v2 =
|
||||
Esto es posiblemente debido a un problema con la calibración de montura. Asegúrate de que tu tracking funcione adecuadamente antes de intentarlo nuevamente.
|
||||
Por favor <docs>revisa la documentación</docs> o únete a nuestro <discord>Discord</discord> por ayuda ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = ¡Entendido!
|
||||
onboarding-automatic_proportions-smol_warning =
|
||||
La altura configurada de { $height } es menor que la altura mínima aceptada de { $minHeight }.
|
||||
<b>Por favor vuelva a hacer las mediciones y asegúrese de que sean correctas.</b>
|
||||
onboarding-automatic_proportions-smol_warning-cancel = Volver
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## Stay Aligned setup
|
||||
|
||||
onboarding-stay_aligned-title = Mantente Alineado
|
||||
onboarding-stay_aligned-description = Configura Mantente Alineado para mantener tus trackers alineados.
|
||||
onboarding-stay_aligned-put_trackers_on-title = Ponte tus trackers
|
||||
onboarding-stay_aligned-put_trackers_on-description = Para guardar tus poses de descanso, usaremos los trackers que acabas de asignar. Colócate todos tus trackers, puedes ver cuál es cuál en la figura de la derecha.
|
||||
onboarding-stay_aligned-put_trackers_on-trackers_warning = ¡Tienes menos de 5 trackers actualmente conectados y asignados! Este es el monto mínimo de trackers requeridos para que Mantente Alineado funcione apropiadamente.
|
||||
onboarding-stay_aligned-put_trackers_on-next = Tengo puestos todos mis sensores
|
||||
onboarding-stay_aligned-verify_mounting-title = Revisa tu montura
|
||||
onboarding-stay_aligned-verify_mounting-step-0 = Mantente Alineado requiere buena montura. De otra manera, no obtendrás una buena experiencia con Mantente Alineado.
|
||||
onboarding-stay_aligned-verify_mounting-step-1 = 1. Camina mientras estás parado.
|
||||
onboarding-stay_aligned-verify_mounting-step-2 = 2. Siéntate y mueve tus piernas y pies.
|
||||
onboarding-stay_aligned-verify_mounting-step-3 = 3. Si tus trackers no están en el lugar correcto, presiona «Reiniciar calibración de montura»
|
||||
onboarding-stay_aligned-verify_mounting-redo_mounting = Reiniciar calibración de montura
|
||||
onboarding-stay_aligned-preparation-title = Preparación
|
||||
onboarding-stay_aligned-preparation-tip = Asegúrate de pararte recto. Debes estar mirando hacia enfrente y tus brazos deben estar hacia tus lados.
|
||||
onboarding-stay_aligned-relaxed_poses-standing-title = Pose de pie relajada
|
||||
onboarding-stay_aligned-relaxed_poses-standing-step-0 = 1. Párate en una posición cómoda. ¡Relájate!
|
||||
onboarding-stay_aligned-relaxed_poses-standing-step-1-v2 = 2. Presiona el botón «Guardar pose».
|
||||
onboarding-stay_aligned-relaxed_poses-sitting-title = Pose sentado en silla relajada
|
||||
onboarding-stay_aligned-relaxed_poses-sitting-step-0 = 1. Siéntate en una posición cómoda. ¡Relajate!
|
||||
onboarding-stay_aligned-relaxed_poses-sitting-step-1-v2 = 2. Presiona el botón «Guardar pose».
|
||||
onboarding-stay_aligned-relaxed_poses-flat-title = Pose sentado en piso relajada
|
||||
onboarding-stay_aligned-relaxed_poses-flat-step-0 = 1. Siéntate en el piso con tus piernas en frente ¡Relájate!
|
||||
onboarding-stay_aligned-relaxed_poses-flat-step-1-v2 = 2. Presiona el botón «Guardar pose».
|
||||
onboarding-stay_aligned-relaxed_poses-skip_step = Saltar
|
||||
onboarding-stay_aligned-done-title = ¡Mantente Alineado activado!
|
||||
onboarding-stay_aligned-done-description = ¡Tu configuración de Mantente Alineado está completa!
|
||||
onboarding-stay_aligned-done-description-2 = ¡Configuración completa! Puedes reiniciar el proceso si quieres re-calibrar 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
|
||||
|
||||
home-no_trackers = No hay sensores detectados o asignados
|
||||
home-settings-close = Cerrar
|
||||
|
||||
## Trackers Still On notification
|
||||
|
||||
@@ -1095,6 +1372,112 @@ status_system-StatusSteamVRDisconnected =
|
||||
}
|
||||
status_system-StatusTrackerError = El tracker { $trackerName } tiene un error.
|
||||
status_system-StatusUnassignedHMD = El casco de RV debe ser asignado como un sensor de cabeza.
|
||||
status_system-StatusPublicNetwork = Tu perfil de red está actualmente configurado como Público. Esto no es recomendado para el correcto funcionamiento de SlimeVR. <PublicFixLink>Ve como arreglarlo aquí.</PublicFixLink>
|
||||
|
||||
## Firmware tool globals
|
||||
|
||||
firmware_tool-next_step = Siguiente paso
|
||||
firmware_tool-previous_step = Paso anterior
|
||||
firmware_tool-ok = Se ve bien
|
||||
firmware_tool-retry = Reintentar
|
||||
firmware_tool-loading = Cargando...
|
||||
|
||||
## Firmware tool Steps
|
||||
|
||||
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-select_source = Selecciona el firmware para flashear
|
||||
firmware_tool-select_source-description = Selecciona el firmware que quieres flashear en tu placa
|
||||
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-description = Establece los pines o ajustes relativos a tu hardware
|
||||
firmware_tool-board_defaults-add = Añadir
|
||||
firmware_tool-board_defaults-reset = Reestablecer a predeterminado
|
||||
firmware_tool-board_defaults-error-required = Campo requerido
|
||||
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-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-ota-info =
|
||||
Utilizamos tus credenciales de wifi para flashear el tracker y confirmar que todo funcionó correctamente.
|
||||
<b>¡Nosotros no guardamos tus credenciales wifi!</b>
|
||||
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:
|
||||
firmware_tool-flashbtn_step-board_OTHER =
|
||||
Antes de flashear, probablemente tendrá que poner el sensor en modo bootloader.
|
||||
La mayoría de las veces, esto significa presionar el botón de boot en la placa antes de que comience el proceso de flasheo. Si el proceso de flasheo se agota al comienzo, probablemente significa que el sensor no estaba en modo bootloader.
|
||||
Por favor, consulte las instrucciones de flasheo de su placa para saber cómo activar el modo bootloader.
|
||||
firmware_tool-flash_method_ota-title = Flashear por Wi-Fi
|
||||
firmware_tool-flash_method_ota-devices = Dispositivos OTA detectados:
|
||||
firmware_tool-flash_method_ota-no_devices = No hay placas que se puedan actualizar mediante OTA, asegúrese de seleccionar el tipo de placa correcto
|
||||
firmware_tool-flash_method_serial-title = Flashear por USB
|
||||
firmware_tool-flash_method_serial-wifi = Credenciales del Wi-Fi:
|
||||
firmware_tool-flash_method_serial-devices-label = Dispositivos serial detectados:
|
||||
firmware_tool-flash_method_serial-devices-placeholder = Seleccione un dispositivo serial
|
||||
firmware_tool-flash_method_serial-no_devices = No se han detectado dispositivos serial compatibles, asegúrese de que el sensor esté conectado
|
||||
firmware_tool-build_step = Compilando
|
||||
firmware_tool-build_step-description = El firmware se está compilando, por favor espere
|
||||
firmware_tool-flashing_step = Flasheando
|
||||
firmware_tool-flashing_step-description = Sus sensores se están flasheando, por favor siga las instrucciones en la pantalla
|
||||
firmware_tool-flashing_step-warning-v2 = No desconectes o apagues el tracker durante el proceso de subida a menos que se te indique, puede causar que tu placa quede inutilizable.
|
||||
firmware_tool-flashing_step-flash_more = Flashear más sensores
|
||||
firmware_tool-flashing_step-exit = Salir
|
||||
|
||||
## firmware tool build status
|
||||
|
||||
firmware_tool-build-QUEUED = Esperando a construir....
|
||||
firmware_tool-build-CREATING_BUILD_FOLDER = Creando la carpeta de compilación
|
||||
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
|
||||
firmware_tool-build-ERROR = No se pudo compilar el firmware
|
||||
|
||||
## Firmware update status
|
||||
|
||||
firmware_update-status-DOWNLOADING = Descargando el firmware
|
||||
firmware_update-status-NEED_MANUAL_REBOOT-v2 = Por favor apaga tu tracker y enciéndelo de nuevo
|
||||
firmware_update-status-AUTHENTICATING = Autenticando con el microcontrolador
|
||||
firmware_update-status-UPLOADING = Cargando el firmware
|
||||
firmware_update-status-SYNCING_WITH_MCU = Sincronizando con el microcontrolador
|
||||
firmware_update-status-REBOOTING = Aplicando la actualización
|
||||
firmware_update-status-PROVISIONING = Configurando las credenciales del Wi-Fi
|
||||
firmware_update-status-DONE = ¡Actualización completa!
|
||||
firmware_update-status-ERROR_DEVICE_NOT_FOUND = No se pudo encontrar el dispositivo
|
||||
firmware_update-status-ERROR_TIMEOUT = Se agotó el tiempo de espera del proceso de actualización
|
||||
firmware_update-status-ERROR_DOWNLOAD_FAILED = No se pudo descargar el firmware
|
||||
firmware_update-status-ERROR_AUTHENTICATION_FAILED = No se pudo autenticar con el microcontrolador
|
||||
firmware_update-status-ERROR_UPLOAD_FAILED = No se pudo cargar el firmware
|
||||
firmware_update-status-ERROR_PROVISIONING_FAILED = No se pudieron configurar las credenciales del Wi-Fi
|
||||
firmware_update-status-ERROR_UNSUPPORTED_METHOD = El método de actualización no es compatible
|
||||
firmware_update-status-ERROR_UNKNOWN = Error desconocido
|
||||
|
||||
## Dedicated Firmware Update Page
|
||||
|
||||
firmware_update-title = Actualización de firmware
|
||||
firmware_update-devices = Dispositivos disponibles
|
||||
firmware_update-devices-description = Seleccione los sensores que desea actualizar a la última versión del firmware de SlimeVR
|
||||
firmware_update-no_devices = ¡Asegúrese de que los sensores que desea actualizar estén encendidos y conectados al Wi-Fi!
|
||||
firmware_update-changelog-title = Actualizando a { $version }
|
||||
firmware_update-looking_for_devices = Buscando dispositivos para actualizar...
|
||||
firmware_update-retry = Reintentar
|
||||
firmware_update-update = Actualizar sensores seleccionados
|
||||
firmware_update-exit = Salir
|
||||
|
||||
## Tray Menu
|
||||
|
||||
@@ -1123,3 +1506,62 @@ unknown_device-modal-description =
|
||||
¿Lo quieres conectar a SlimeVR?
|
||||
unknown_device-modal-confirm = ¡Claro!
|
||||
unknown_device-modal-forget = Ignorarlo
|
||||
# VRChat config warnings
|
||||
vrc_config-page-title = Advertencias de la configuración de VRChat
|
||||
vrc_config-page-desc = Esta página muestra el estado de tus ajustes de VRChat y muestra que ajustes son incompatibles con SlimeVR. Es altamente recomendado que arregles cualquier advertencia mostrada aquí para la mejor experiencia de usuario con SlimeVR.
|
||||
vrc_config-page-help = ¿No puedes encontrar los ajustes?
|
||||
vrc_config-page-help-desc = ¡Revisa nuestra <a>documentación en este tema!</a>
|
||||
vrc_config-page-big_menu = Tracking e IK (Menú Grande)
|
||||
vrc_config-page-big_menu-desc = Ajustes relacionados a IK en el menú de ajustes grande
|
||||
vrc_config-page-wrist_menu = Tracking e IK (Menú de Muñeca)
|
||||
vrc_config-page-wrist_menu-desc = Ajustes relacionados a IK en el menú de ajustes pequeño (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 = De-silenciar
|
||||
vrc_config-legacy_mode = Usar solución de IK de legado
|
||||
vrc_config-disable_shoulder_tracking = Desactivar tracking de hombros
|
||||
vrc_config-shoulder_width_compensation = Compensación de ancho de hombros
|
||||
vrc_config-spine_mode = Modo columna de FBT
|
||||
vrc_config-tracker_model = Modelo de tracker FBT
|
||||
vrc_config-avatar_measurement_type = Medida de avatar
|
||||
vrc_config-calibration_range = Rango de calibración
|
||||
vrc_config-calibration_visuals = Mostrar visualización de calibración
|
||||
vrc_config-user_height = Altura real del usuario
|
||||
vrc_config-spine_mode-UNKNOWN = Desconocido
|
||||
vrc_config-spine_mode-LOCK_BOTH = Bloquear ambas
|
||||
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 = Longitud del brazo
|
||||
|
||||
## Error collection consent modal
|
||||
|
||||
error_collection_modal-title = ¿Podemos recopilar errores?
|
||||
error_collection_modal-description_v2 =
|
||||
{ settings-interface-behavior-error_tracking-description_v2 }
|
||||
|
||||
Tu puedes cambiar esta configuración más tarde en la sección de comportamiento de la pagina de configuración.
|
||||
error_collection_modal-confirm = Acepto
|
||||
error_collection_modal-cancel = No quiero
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
tracking_checklist-settings-close = Cerrar
|
||||
tracking_checklist-STEAMVR_DISCONNECTED-open = Abrir SteamVR
|
||||
tracking_checklist-TRACKERS_REST_CALIBRATION = Calibra tus trackers
|
||||
tracking_checklist-ignore = Ignorar
|
||||
toolbar-assigned_trackers = { $count } trackers asignados
|
||||
toolbar-unassigned_trackers = { $count } trackers sin asignar
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
|
||||
websocket-connecting = Conectándose al servidor
|
||||
websocket-connection_lost = Conexión con el servidor perdida. Intentando reconectar...
|
||||
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
|
||||
websocket-error-close = Salir de SlimeVR
|
||||
websocket-error-logs = Abra la carpeta de registros
|
||||
|
||||
## Update notification
|
||||
|
||||
@@ -26,6 +31,9 @@ tips-tap_setup = Haz clic en el menú o golpea suavemente el tracker 2 veces par
|
||||
tips-turn_on_tracker = ¿Estás usando trackers oficiales de SlimeVR? Recuerda <b><em>encender el tracker</em></b> antes de conectarlo a la PC!
|
||||
tips-failed_webgl = No se pudo iniciar WebGL.
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Sin asignar
|
||||
@@ -49,27 +57,147 @@ body_part-LEFT_HAND = Mano izquierda
|
||||
body_part-LEFT_UPPER_LEG = Muslo izquierdo
|
||||
body_part-LEFT_LOWER_LEG = Tobillo Izquierdo
|
||||
body_part-LEFT_FOOT = Pie izquierdo
|
||||
body_part-LEFT_THUMB_METACARPAL = Metacarpiano del pulgar izquierdo
|
||||
body_part-LEFT_THUMB_PROXIMAL = Proximal del pulgar izquierdo
|
||||
body_part-LEFT_THUMB_DISTAL = Distal del pulgar izquierdo
|
||||
body_part-LEFT_INDEX_PROXIMAL = Proximal del índice izquierdo
|
||||
body_part-LEFT_INDEX_INTERMEDIATE = Intermedio del índice izquierdo
|
||||
body_part-LEFT_INDEX_DISTAL = Distal del indice izquierdo
|
||||
body_part-LEFT_MIDDLE_PROXIMAL = Proximal del medio izquierdo
|
||||
body_part-LEFT_MIDDLE_INTERMEDIATE = Intermedio del medio izquierdo
|
||||
body_part-LEFT_MIDDLE_DISTAL = Distal del medio izquierdo
|
||||
body_part-LEFT_RING_PROXIMAL = Proximal del anular izquierdo
|
||||
body_part-LEFT_RING_INTERMEDIATE = Intermedio de anular izquierdo
|
||||
body_part-LEFT_RING_DISTAL = Distal del anular izquierdo
|
||||
body_part-LEFT_LITTLE_PROXIMAL = Proximal del meñique izquierdo
|
||||
body_part-LEFT_LITTLE_INTERMEDIATE = Intermedio del meñique izquierdo
|
||||
body_part-LEFT_LITTLE_DISTAL = Distal del meñique izquierdo
|
||||
body_part-RIGHT_THUMB_METACARPAL = Metacarpiano del pulgar derecho
|
||||
body_part-RIGHT_THUMB_PROXIMAL = Proximal del pulgar derecho
|
||||
body_part-RIGHT_THUMB_DISTAL = Distal del pulgar derecho
|
||||
body_part-RIGHT_INDEX_PROXIMAL = Proximal del indice derecho
|
||||
body_part-RIGHT_INDEX_INTERMEDIATE = Indermedio del indice derecho
|
||||
body_part-RIGHT_INDEX_DISTAL = Distal del indice derecho
|
||||
body_part-RIGHT_MIDDLE_PROXIMAL = Proximal del medio derecho
|
||||
body_part-RIGHT_MIDDLE_INTERMEDIATE = Intermedio del medio derecho
|
||||
body_part-RIGHT_MIDDLE_DISTAL = Distal del medio derecho
|
||||
body_part-RIGHT_RING_PROXIMAL = Proximal del anular derecho
|
||||
body_part-RIGHT_RING_INTERMEDIATE = Intermedio del anular derecho
|
||||
body_part-RIGHT_RING_DISTAL = Distal del anular derecho
|
||||
body_part-RIGHT_LITTLE_PROXIMAL = Proximal del meñique derecho
|
||||
body_part-RIGHT_LITTLE_INTERMEDIATE = Intermedio del meñique derecho
|
||||
body_part-RIGHT_LITTLE_DISTAL = Distal del meñique derecho
|
||||
|
||||
## BoardType
|
||||
|
||||
board_type-UNKNOWN = Desconocido
|
||||
board_type-NODEMCU = NodeMCU
|
||||
board_type-CUSTOM = Placa Desconocida
|
||||
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 = 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
|
||||
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 = Guante SlimeVR Dev IMU
|
||||
|
||||
## Proportions
|
||||
|
||||
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.
|
||||
Para ajustarla, mueve tu cabeza para arriba y abajo como si estuvieras asintiendo
|
||||
o inclinalo a la izquierda y la derecha, continuando modificando
|
||||
hasta que el movimiento en otros rastreadores es insignificante.
|
||||
skeleton_bone-torso_group = Longitud del torso
|
||||
skeleton_bone-torso_group-desc =
|
||||
Esta es la distacia desde la base de tu cuello hasta tus caderas.
|
||||
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
|
||||
@@ -81,8 +209,18 @@ skeleton_bone-ELBOW_OFFSET = Compensacion de los codos
|
||||
## Tracker reset buttons
|
||||
|
||||
reset-reset_all = Reiniciar todas las proporciones
|
||||
reset-reset_all_warning-v2 =
|
||||
<b>Advertencia:</b> Sus proporciones se restablecerán a los valores predeterminados escalados a su altura configurada.
|
||||
¿Estás seguro de que quiere hacer esto?
|
||||
reset-reset_all_warning-reset = Restablecer proporciones
|
||||
reset-reset_all_warning-cancel = Cancelar
|
||||
reset-reset_all_warning_default-v2 =
|
||||
<b>Advertencia:</b> Su altura no ha sido configurado, sus proporciones se restablecerán a los valores predeterminados con la altura predeterminada.
|
||||
¿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
|
||||
@@ -108,6 +246,7 @@ navbar-settings = Configuración
|
||||
|
||||
bvh-start_recording = Grabar BVH
|
||||
bvh-recording = Grabando...
|
||||
bvh-save_title = Guardar grabación BVH
|
||||
|
||||
## Tracking pause
|
||||
|
||||
@@ -124,7 +263,7 @@ widget-overlay-is_mirrored_label = Mostrar overlay como espejo
|
||||
|
||||
widget-drift_compensation-clear = Eliminar compensacion del drift
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
widget-clear_mounting = Limpiar reinicio de montura
|
||||
|
||||
@@ -142,8 +281,13 @@ widget-developer_mode-more_info = Más información
|
||||
## Widget: IMU Visualizer
|
||||
|
||||
widget-imu_visualizer = Rotación
|
||||
widget-imu_visualizer-preview = Previsualización
|
||||
widget-imu_visualizer-hide = Ocultar
|
||||
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
|
||||
|
||||
@@ -171,6 +315,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
|
||||
@@ -195,9 +340,17 @@ tracker-infos-url = URL del Tracker
|
||||
tracker-infos-version = Versión del firmware
|
||||
tracker-infos-hardware_rev = Revisión del hardware
|
||||
tracker-infos-hardware_identifier = ID de hardware
|
||||
tracker-infos-data_support = Soporte de datos
|
||||
tracker-infos-imu = Sensor IMU
|
||||
tracker-infos-board_type = Placa principal
|
||||
tracker-infos-network_version = Versión de protocolo
|
||||
tracker-infos-magnetometer = Magnetómetro
|
||||
tracker-infos-magnetometer-status-v1 =
|
||||
{ $status ->
|
||||
[DISABLED] Deshabilitado
|
||||
[ENABLED] Habilitado
|
||||
*[NOT_SUPPORTED] Incompatible
|
||||
}
|
||||
|
||||
## Tracker settings
|
||||
|
||||
@@ -212,14 +365,27 @@ tracker-settings-mounting_section-edit = Editar montura
|
||||
tracker-settings-drift_compensation_section = Permitir compensación de drift
|
||||
tracker-settings-drift_compensation_section-description = ¿Debería este tracker compensar el drifteo cuando la compensación de drifteo está activada?
|
||||
tracker-settings-drift_compensation_section-edit = Permitir compensación de drift
|
||||
tracker-settings-use_mag = Permitir magnetómetro en este tracker
|
||||
# Multiline!
|
||||
tracker-settings-use_mag-description =
|
||||
¿Debería este tracker usar el magnetómetro para reducir el drift cuando se permita el uso de este? <b>¡Por favor, no apague su tracker mientras activas esto!</b>
|
||||
|
||||
Primero debe permitir el uso del magnetómetro, <magSetting>haga clic aquí para ir a la configuración</magSetting>.
|
||||
tracker-settings-use_mag-label = Permitir magnetómetro
|
||||
# The .<name> means it's an attribute and it's related to the top key.
|
||||
# In this case that is the settings for the assignment section.
|
||||
tracker-settings-name_section = Nombre del tracker
|
||||
tracker-settings-name_section-description = Dale un sobrenombre lindo :)
|
||||
tracker-settings-name_section-placeholder = Pata izquierda del Eevee
|
||||
tracker-settings-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-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 = Actualizar ahora
|
||||
tracker-settings-update-title = Versión del firmware
|
||||
|
||||
## Tracker part card info
|
||||
|
||||
@@ -286,6 +452,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
|
||||
@@ -295,6 +462,10 @@ settings-sidebar-utils = Utilidades
|
||||
settings-sidebar-serial = Consola serial
|
||||
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
|
||||
|
||||
@@ -341,20 +512,57 @@ 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 =
|
||||
Predice la compensación de drift horizontal más allá del rango medido anteriormente.
|
||||
Habilite esta opción si sus rastreadores están girando continuamente en el eje horizontal.
|
||||
settings-general-tracker_mechanics-drift_compensation-prediction-label = Predicción de compensación de drift
|
||||
settings-general-tracker_mechanics-drift_compensation_warning =
|
||||
<b>Advertencia:</b> Utilice la compensación de drift solo si necesita restablecer
|
||||
muy a menudo (cada ~5-10 minutos).
|
||||
|
||||
Algunas IMU propensas a restablecimientos frecuentes incluyen:
|
||||
Joy-Cons, owoTrack y MPUs (sin firmware reciente).
|
||||
settings-general-tracker_mechanics-drift_compensation_warning-cancel = Cancelar
|
||||
settings-general-tracker_mechanics-drift_compensation_warning-done = Yo entiendo
|
||||
settings-general-tracker_mechanics-drift_compensation-amount-label = Cantidad de compensación
|
||||
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Usar los últimos X reinicios.
|
||||
settings-general-tracker_mechanics-save_mounting_reset = Guardar la calibración de reajuste de montaje automático
|
||||
settings-general-tracker_mechanics-save_mounting_reset-description =
|
||||
Guarda las calibraciones de reajuste de montaje automático para los trackers entre reinicios. Útil
|
||||
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
|
||||
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
|
||||
|
||||
@@ -376,8 +584,13 @@ 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
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints = Corregir con las limitaciones
|
||||
settings-general-fk_settings-enforce_joint_constraints-correct_constraints-description = Corregir las rotaciones de las articulaciones cuando superan su límite
|
||||
settings-general-fk_settings-arm_fk = Tracking de brazos
|
||||
settings-general-fk_settings-arm_fk-description = Forzar el seguimiento de los brazos desde el HMD incluso si hay datos de posición de la mano disponibles.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Forzar brazos desde el HMD
|
||||
@@ -409,9 +622,6 @@ settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Prome
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Promedia el balanceo de las rodillas con la de los tobillos
|
||||
settings-general-fk_settings-self_localization-title = Modo Captura de movimiento
|
||||
settings-general-fk_settings-self_localization-description = El modo captura de movimiento permite al esqueleto seguir aproximadamente tu posición sin auriculares ni otros trackers. Ten en cuenta que esto requiere trrackers de pies y cabeza para funcionar y que aún está en fase experimental.
|
||||
settings-general-fk_settings-vive_emulation-title = Emulación Vive
|
||||
settings-general-fk_settings-vive_emulation-description = Emula los problemas de cintura que lo Vive trackers producen. Es una broma y produce peor tracking.
|
||||
settings-general-fk_settings-vive_emulation-label = Habilitar emulación Vive
|
||||
|
||||
## Gesture control settings (tracker tapping)
|
||||
|
||||
@@ -422,9 +632,9 @@ settings-general-gesture_control-description = Permite que los reinicios se acti
|
||||
# $amount (Number) - Amount of taps (touches to the tracker's case)
|
||||
settings-general-gesture_control-taps =
|
||||
{ $amount ->
|
||||
[one] toque
|
||||
[many] toques
|
||||
*[other] toques
|
||||
[one] 1 toque
|
||||
[many] { $amount } toques
|
||||
*[other] { $amount } toques
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
@@ -468,6 +678,8 @@ settings-interface-appearance-font-os_font = Fuente SO
|
||||
settings-interface-appearance-font-slime_font = Fuente predeterminada
|
||||
settings-interface-appearance-font_size = Escala de la fuente base
|
||||
settings-interface-appearance-font_size-description = Esto afecta al tamaño de la fuente de toda la interfaz excepto este panel de configuración
|
||||
settings-interface-appearance-decorations = Utilizar las decoraciones nativas del sistema
|
||||
settings-interface-appearance-decorations-description = Esto no renderizará la barra superior de la interfaz y utilizará la del sistema operativo en su lugar.
|
||||
settings-interface-appearance-decorations-label = Usar decoraciones nativos.
|
||||
|
||||
## Notification settings
|
||||
@@ -483,6 +695,10 @@ settings-general-interface-feedback_sound-volume = Volumen del sonido de feedbac
|
||||
settings-general-interface-connected_trackers_warning = Advertencia de trackers conectados
|
||||
settings-general-interface-connected_trackers_warning-description = Esta opción mostrará una ventana emergente cada vez que intentes salir de SlimeVR mientras tengas uno o más trackers conectados. Te recuerda que debes apagar los trackers cuando hayas terminado para ahorrar batería.
|
||||
settings-general-interface-connected_trackers_warning-label = Aviso de trackers conectados al cerrar
|
||||
|
||||
## Behavior settings
|
||||
|
||||
settings-interface-behavior = Comportamiento
|
||||
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
|
||||
@@ -495,6 +711,17 @@ settings-general-interface-discord_presence-message =
|
||||
[one] Usando 1 tracker
|
||||
*[other] Usando { $amount } trackers
|
||||
}
|
||||
settings-interface-behavior-error_tracking = Recopilación de errores a través de Sentry.io
|
||||
settings-interface-behavior-error_tracking-description_v2 =
|
||||
<h1>¿Da su consentimiento para la recopilación de datos de error anónimos?</h1>
|
||||
|
||||
<b>No recopilamos información personal</b> , como su dirección IP o credenciales inalámbricas. ¡SlimeVR valora tu privacidad!
|
||||
|
||||
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
|
||||
|
||||
@@ -513,12 +740,13 @@ 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
|
||||
settings-serial-file_type = Texto sin formato
|
||||
settings-serial-save_logs = Guardar en archivo
|
||||
settings-serial-send_command = Enviar
|
||||
settings-serial-send_command-warning-cancel = Cancelar
|
||||
|
||||
## OSC router settings
|
||||
|
||||
@@ -558,6 +786,13 @@ settings-osc-vrchat-description-v1 =
|
||||
settings-osc-vrchat-enable = Habilitar
|
||||
settings-osc-vrchat-enable-description = Alternar el envío y la recepción de datos
|
||||
settings-osc-vrchat-enable-label = Habilitar
|
||||
settings-osc-vrchat-oscqueryEnabled = Habilitar OSCQuery
|
||||
settings-osc-vrchat-oscqueryEnabled-description =
|
||||
OSCQuery detecta automáticamente las instancias en ejecución de VRChat y les envía datos.
|
||||
También puede anunciarse a ellos para recibir datos de HMD y mandos.
|
||||
Para permitir la recepción de datos de HMD y mandos de VRChat, vaya a la configuración de su menú principal
|
||||
en "Seguimiento e IK" y habilite "Permitir el envío de datos OSC de seguimiento de VR de cabeza y muñeca".
|
||||
settings-osc-vrchat-oscqueryEnabled-label = Habilitar OSCQuery
|
||||
settings-osc-vrchat-network = Puertos de red
|
||||
settings-osc-vrchat-network-description-v1 = Establece los puertos para recibir y enviar datos. Se puede dejar sin modificar para VRChat.
|
||||
settings-osc-vrchat-network-port_in =
|
||||
@@ -598,12 +833,7 @@ settings-osc-vmc-network-address-description = Elige la dirección a la que se e
|
||||
settings-osc-vmc-network-address-placeholder = Dirección IPV4
|
||||
settings-osc-vmc-vrm = Modelo VRM
|
||||
settings-osc-vmc-vrm-description = Cargar un modelo VRM para permitir el anclaje de la cabeza y posibilitar una mayor compatibilidad con otras aplicaciones.
|
||||
settings-osc-vmc-vrm-model_unloaded = No hay modelo cargado
|
||||
settings-osc-vmc-vrm-model_loaded =
|
||||
{ $titled ->
|
||||
[true] Modelo cargado: { $name }
|
||||
*[false] Modelo sin título cargado
|
||||
}
|
||||
settings-osc-vmc-vrm-untitled_model = Modelo sin título
|
||||
settings-osc-vmc-vrm-file_select = Arrastre y suelte un modelo para utilizarlo, o <u>busquelo</u>
|
||||
settings-osc-vmc-anchor_hip = Anclar a la cadera
|
||||
settings-osc-vmc-anchor_hip-description = Ancla el tracking a la cadera, útil para VTubing sentado. Si se deshabilita, carga un modelo VRM.
|
||||
@@ -612,6 +842,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
|
||||
@@ -623,9 +856,33 @@ settings-utils-advanced-reset-server-description = Restaurar la configuración p
|
||||
settings-utils-advanced-reset-server-label = Restablecer el tracking,
|
||||
settings-utils-advanced-reset-all = Restablecer todas las configuraciónes
|
||||
settings-utils-advanced-reset-all-description = Restaurar la configuración predeterminada para el interfaz y el tracking.
|
||||
settings-utils-advanced-reset-all-label = Restablecer todo
|
||||
settings-utils-advanced-reset_warning =
|
||||
{ $type ->
|
||||
[gui]
|
||||
<b>Advertencia:</b> Esto restablecerá la configuración de la interfaz a los valores predeterminados
|
||||
¿Esta seguro de que quiere hacer esto?
|
||||
[server]
|
||||
<b>Advertencia:</b> Esto restablecerá la configuración de los trackers a los valores predeterminados
|
||||
¿Esta seguro de que quiere hacer esto?
|
||||
*[all]
|
||||
<b>Advertencia:</b> Esto restablecerá todas las configuraciones a los valores predeterminados
|
||||
¿Esta seguro de que quiere hacer esto?
|
||||
}
|
||||
settings-utils-advanced-reset_warning-reset = Restablecer la configuración
|
||||
settings-utils-advanced-reset_warning-cancel = Cancelar
|
||||
settings-utils-advanced-open_data = Carpeta de datos
|
||||
settings-utils-advanced-open_data-v1 = Carpeta de configuración
|
||||
settings-utils-advanced-open_data-description-v1 = Abrirá la carpeta de configuración de SlimeVR en el explorador de archivos, que contiene la configuración
|
||||
settings-utils-advanced-open_data-label = Abrir carpeta
|
||||
settings-utils-advanced-open_logs = Carpeta de registros
|
||||
settings-utils-advanced-open_logs-description = Abra la carpeta de registros de SlimeVR en el explorador de archivos, que contiene los registros de la aplicación
|
||||
settings-utils-advanced-open_logs-label = Abrir carpeta
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
@@ -642,16 +899,12 @@ onboarding-setup_warning-cancel = Continuar con la configuración
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = Volver a la introducción
|
||||
onboarding-wifi_creds = Introduce credenciales de Wi-Fi
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
Los trackers utilizarán estas credenciales para conectarse de forma inalámbrica.
|
||||
Por favor, utiliza las credenciales a las que está conectado actualmente.
|
||||
onboarding-wifi_creds-skip = Omitir configuración Wi-Fi
|
||||
onboarding-wifi_creds-submit = ¡Enviar!
|
||||
onboarding-wifi_creds-ssid =
|
||||
.label = Nombre Wi-Fi
|
||||
.placeholder = Introduce nombre de Wi-Fi
|
||||
onboarding-wifi_creds-ssid-required = Es necesario el nombre del Wi-Fi
|
||||
onboarding-wifi_creds-password =
|
||||
.label = Contraseña
|
||||
.placeholder = Introduce contraseña
|
||||
@@ -686,13 +939,6 @@ onboarding-reset_tutorial-2 =
|
||||
onboarding-home = Bienvenido a SlimeVR
|
||||
onboarding-home-start = ¡Vamos a prepararnos!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = Volver a la asignación del tracker
|
||||
onboarding-enter_vr-title = ¡Hora de entrar en VR!
|
||||
onboarding-enter_vr-description = ¡Ponte todos tus trackers y luego entra a la realidad virtual!
|
||||
onboarding-enter_vr-ready = Estoy listo
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = ¡Todo listo!
|
||||
@@ -709,12 +955,24 @@ onboarding-connect_tracker-issue-serial = ¡Tengo problemas para conectarme!
|
||||
onboarding-connect_tracker-usb = Tracker USB
|
||||
onboarding-connect_tracker-connection_status-none = Buscando trackers
|
||||
onboarding-connect_tracker-connection_status-serial_init = Conectándose al dispositivo serial
|
||||
onboarding-connect_tracker-connection_status-obtaining_mac_address = Obteniendo la dirección MAC del tracker
|
||||
onboarding-connect_tracker-connection_status-provisioning = Enviando credenciales Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-connecting = Intentando conectarse a una red Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = Buscando servidor
|
||||
onboarding-connect_tracker-connection_status-connection_error = No se puede conectar al Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-could_not_find_server = No se pudo encontrar el servidor
|
||||
onboarding-connect_tracker-connection_status-done = Conectado al Server
|
||||
onboarding-connect_tracker-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",
|
||||
@@ -732,12 +990,12 @@ 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
|
||||
onboarding-calibration_tutorial-status-success = ¡Bien!
|
||||
onboarding-calibration_tutorial-status-error = El tracker se ha movido
|
||||
onboarding-calibration_tutorial-skip = Saltar tutorial
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
@@ -899,44 +1157,27 @@ 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-step-0 = 1. Mantente erguido con los brazos a los lados.
|
||||
onboarding-automatic_mounting-preparation-step-1 = 2. Pulse el botón "Reinicio completo" y espere 3 segundos antes de que los trackers se reinicien.
|
||||
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 proportions method choose
|
||||
## Tracker manual proportions setupa
|
||||
|
||||
onboarding-choose_proportions = ¿Qué método de calibración de proporciones utilizara?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description-v1 =
|
||||
Las proporciones corporales se utilizaran para conocer las medidas de tu cuerpo. Son necesarias para calcular las posiciones de los trackers.
|
||||
Cuando las proporciones de tu cuerpo no coincidan con las guardadas, la precisión del tracking será peor y notarás cosas como que patinas o te deslizas, o que tu cuerpo no se ajusta bien a tu avatar.
|
||||
<b>¡Sólo necesitas medir tu cuerpo una vez!</b> A menos que estén mal o tu cuerpo haya cambiado, entonces no necesitas volver a hacerlo.
|
||||
onboarding-choose_proportions-auto_proportions = Proporciones automáticas
|
||||
# Italicized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Recomendado
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv3 =
|
||||
Adivinará tus proporciones grabando una muestra de tus movimientos y pasándola por un algoritmo.
|
||||
|
||||
<b>¡Esto requiere tener tu visor (HMD) conectado a SlimeVR y en tu cabeza!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Proporciones manuales
|
||||
# Italicized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Para pequeños retoques
|
||||
onboarding-choose_proportions-manual_proportions-description = Esto te permitirá ajustar tus proporciones manualmente modificándolas directamente
|
||||
onboarding-choose_proportions-export = Exportar proporciones
|
||||
onboarding-choose_proportions-import = Importar proporciones
|
||||
onboarding-choose_proportions-import-success = Importado
|
||||
onboarding-choose_proportions-import-failed = Fallido
|
||||
onboarding-choose_proportions-file_type = Archivo de proporciones físicas
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-back = Volver al tutorial de reinicios
|
||||
onboarding-manual_proportions-title = Proporciones físicas manuales
|
||||
onboarding-manual_proportions-precision = Ajuste por precisión
|
||||
onboarding-manual_proportions-auto = Proporciones automáticas
|
||||
onboarding-manual_proportions-ratio = Ajustar por grupos de ratio
|
||||
onboarding-manual_proportions-fine_tuning_button = Ajuste automático de las proporciones
|
||||
onboarding-manual_proportions-fine_tuning_button-disabled-tooltip = Conecte el visor RV para usar el ajuste automatico
|
||||
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
|
||||
|
||||
@@ -957,21 +1198,33 @@ onboarding-automatic_proportions-requirements-descriptionv2 =
|
||||
Tu visor están reportando datos de posición al servidor de SlimeVR (esto generalmente significa tener SteamVR ejecutándose y conectado a SlimeVR usando el driver para SteamVR de SlimeVR).
|
||||
Su tracking está funcionando y está representando con precisión sus movimientos (ej. usted ha realizado un reinicio completo y se mueven en la dirección correcta al patear, agacharse, sentarse, etc).
|
||||
onboarding-automatic_proportions-requirements-next = He leído los requisitos
|
||||
onboarding-automatic_proportions-check_height-title = Comprueba tu altura
|
||||
onboarding-automatic_proportions-check_height-description = Utilizamos tu estatura como base de nuestras mediciones utilizando la altura de tu visor (HMD) como aproximación a tu estatura real, ¡pero es mejor que compruebes tú mismo si son correctas!
|
||||
onboarding-automatic_proportions-check_height-title-v3 = Medir la altura del visor
|
||||
onboarding-automatic_proportions-check_height-description-v2 = La altura se su visor (HMD) deberia ser un poco menos que su altura total, ya que el visor mide la altura hasta sus ojos. Esta medición sera usada como base para las proporciones de su cuerpo.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Por favor, pulse el botón mientras esté <u>derecho</u> para calcular su altura. ¡Tienes 3 segundos después de pulsar el botón!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning-v3 = Empieze a medir mientras este <u>de pie</u> para medir su altura. ¡Tenga cuidado de no levantar las manos mas alto que su visor, ya que podria afectar la medición!
|
||||
onboarding-automatic_proportions-check_height-guardian_tip =
|
||||
Si usted está usando un visor VR standalone, ¡asegúrese de tener su guardián /
|
||||
limite activado para que tu altura sea la correcta!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = ¡Estoy de pie!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Desconocida
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = La altura de tu HMD es
|
||||
onboarding-automatic_proportions-check_height-hmd_height2 = La altura del visor es:
|
||||
onboarding-automatic_proportions-check_height-measure-start = Empezar a medir
|
||||
onboarding-automatic_proportions-check_height-measure-stop = Parar de medir
|
||||
onboarding-automatic_proportions-check_height-measure-reset = Reintentar medición
|
||||
onboarding-automatic_proportions-check_height-next_step = Usar la altura del visor
|
||||
onboarding-automatic_proportions-check_floor_height-title = Medir la altura del piso (opcional)
|
||||
onboarding-automatic_proportions-check_floor_height-description = En algunos casos, es posible que la altura del suelo no esté configurada correctamente por su visor, lo que hace esta sea más alta de lo que debería ser. Puede medir la "altura" de su piso para corregir la altura del visor.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_floor_height-calculation_warning-v2 = Comience a medir y coloque un mando contra su piso para medir su altura. Si está seguro de que la altura de su suelo es la correcta, puede omitir este paso.
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = por lo que tu altura real es
|
||||
onboarding-automatic_proportions-check_height-next_step = Están bien
|
||||
onboarding-automatic_proportions-check_floor_height-floor_height = La altura del suelo es:
|
||||
onboarding-automatic_proportions-check_floor_height-full_height = Su altura total estimada es:
|
||||
onboarding-automatic_proportions-check_floor_height-measure-start = Empezar a medir
|
||||
onboarding-automatic_proportions-check_floor_height-measure-stop = Parar de medir
|
||||
onboarding-automatic_proportions-check_floor_height-measure-reset = Reintentar medición
|
||||
onboarding-automatic_proportions-check_floor_height-skip_step = Saltar paso y guardar
|
||||
onboarding-automatic_proportions-check_floor_height-next_step = Usar altura del suelo y guardar
|
||||
onboarding-automatic_proportions-start_recording-title = Prepárate para moverte
|
||||
onboarding-automatic_proportions-start_recording-description = Ahora vamos a grabar algunas poses y movimientos específicos. Se le indicarán en la siguiente pantalla. ¡Prepárate para empezar cuando pulse el botón!
|
||||
onboarding-automatic_proportions-start_recording-next = Iniciar grabación
|
||||
@@ -1001,7 +1254,52 @@ onboarding-automatic_proportions-verify_results-redo = Rehacer la grabación
|
||||
onboarding-automatic_proportions-verify_results-confirm = Estan correctas
|
||||
onboarding-automatic_proportions-done-title = Proporciones medidas y guardadas.
|
||||
onboarding-automatic_proportions-done-description = ¡Calibración de las proporciones físicas completada!
|
||||
onboarding-automatic_proportions-error_modal-v2 =
|
||||
<b>Advertencia:</b> ¡Hubo un error al estimar las proporciones!
|
||||
Es probable que se trate de un problema de calibración de montura. Asegúrate de que el tracking funciona correctamente antes de volver a intentarlo.
|
||||
<docs>Consulta la documentación</docs> o únete a nuestro <discord>Discord</discord> para obtener ayuda ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = ¡Entendido!
|
||||
onboarding-automatic_proportions-smol_warning =
|
||||
La altura configurada de { $height } es menor que la altura mínima aceptada de { $minHeight }.
|
||||
<b>Vuelva a hacer las mediciones y asegúrese de que sean correctas.</b>
|
||||
onboarding-automatic_proportions-smol_warning-cancel = Volver
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1027,6 +1325,83 @@ status_system-StatusSteamVRDisconnected =
|
||||
status_system-StatusTrackerError = El tracker { $trackerName } tiene un error.
|
||||
status_system-StatusUnassignedHMD = El casco de RV debe asignarse como tracker de cabeza.
|
||||
|
||||
## Firmware tool globals
|
||||
|
||||
firmware_tool-next_step = Siguiente paso
|
||||
firmware_tool-previous_step = Paso anterior
|
||||
firmware_tool-ok = Se ve bien
|
||||
firmware_tool-retry = Reintentar
|
||||
firmware_tool-loading = Cargando...
|
||||
|
||||
## Firmware tool Steps
|
||||
|
||||
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-flash_method_step = Método de flasheado
|
||||
firmware_tool-flash_method_step-description = Seleccione el método de flasheado que desea utilizar
|
||||
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 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_OTHER =
|
||||
Antes de flashear, probablemente tendrá que poner el tracker en modo bootloader.
|
||||
La mayoría de las veces significa presionar el botón de boot en la placa antes de que comience el proceso de flasheo.
|
||||
Si el tiempo de espera del proceso de flasheo se agota al comienzo, probablemente signifique que el tracker no estaba en modo bootloader
|
||||
Consulte las instrucciones de flasheo de su placa para saber cómo activar el modo bootloader
|
||||
firmware_tool-flash_method_ota-devices = Dispositivos OTA detectados:
|
||||
firmware_tool-flash_method_ota-no_devices = No hay placas que se puedan actualizar mediante OTA, asegúrese de seleccionar el tipo de placa correcto
|
||||
firmware_tool-flash_method_serial-wifi = Credenciales del Wi-Fi:
|
||||
firmware_tool-flash_method_serial-devices-label = Dispositivos seriales detectados:
|
||||
firmware_tool-flash_method_serial-devices-placeholder = Seleccione un dispositivo serial
|
||||
firmware_tool-flash_method_serial-no_devices = No se han detectado dispositivos serial compatibles, asegúrese de que el tracker esté enchufado
|
||||
firmware_tool-build_step = Compilando
|
||||
firmware_tool-build_step-description = El firmware se está compilando, espere por favor
|
||||
firmware_tool-flashing_step = Flasheando
|
||||
firmware_tool-flashing_step-description = Sus trackers estan siendo flasheados, por favor siga las instrucciones en pantalla
|
||||
firmware_tool-flashing_step-warning-v2 = No desconectes ni apagues el tracker durante el proceso de carga a menos que se le indique, ya que puede hacer que tu placa quede inutilizable
|
||||
firmware_tool-flashing_step-flash_more = Flashear más trackers
|
||||
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-BUILDING = Compilando el firmware
|
||||
firmware_tool-build-SAVING = Guardando la compilación
|
||||
firmware_tool-build-DONE = Compilación completa
|
||||
firmware_tool-build-ERROR = No se ha podido compilar el firmware
|
||||
|
||||
## Firmware update status
|
||||
|
||||
firmware_update-status-DOWNLOADING = Descargando el firmware
|
||||
firmware_update-status-NEED_MANUAL_REBOOT-v2 = Por favor, apague y vuelva a encender su rastreador
|
||||
firmware_update-status-AUTHENTICATING = Autenticando con el microcontrolador
|
||||
firmware_update-status-UPLOADING = Cargando el firmware
|
||||
firmware_update-status-SYNCING_WITH_MCU = Sincronizando con el microcontrolador
|
||||
firmware_update-status-REBOOTING = Aplicando la actualización
|
||||
firmware_update-status-PROVISIONING = Aplicando credenciales Wi-Fi
|
||||
firmware_update-status-DONE = ¡Actualización completa!
|
||||
firmware_update-status-ERROR_DEVICE_NOT_FOUND = No se ha podido encontrar el dispositivo
|
||||
firmware_update-status-ERROR_TIMEOUT = Se agotó el tiempo de espera del proceso de actualización
|
||||
firmware_update-status-ERROR_DOWNLOAD_FAILED = No se pudo descargar el firmware
|
||||
firmware_update-status-ERROR_AUTHENTICATION_FAILED = No se pudo autenticar con el microcontrolador
|
||||
firmware_update-status-ERROR_UPLOAD_FAILED = No se pudo cargar el firmware
|
||||
firmware_update-status-ERROR_PROVISIONING_FAILED = No se pudieron configurar las credenciales de Wi-Fi
|
||||
firmware_update-status-ERROR_UNSUPPORTED_METHOD = El metodo de actualización no es compatible
|
||||
firmware_update-status-ERROR_UNKNOWN = Error desconocido
|
||||
|
||||
## Dedicated Firmware Update Page
|
||||
|
||||
firmware_update-title = Actualización de firmware
|
||||
firmware_update-devices = Dispositivos disponibles
|
||||
firmware_update-devices-description = Seleccione los trackers que desea actualizar a la última versión del firmware de SlimeVR
|
||||
firmware_update-no_devices = ¡Asegúrese de que los trackers que desea actualizar estén encendidos y conectados al Wi-Fi!
|
||||
firmware_update-changelog-title = Actualizando a { $version }
|
||||
firmware_update-looking_for_devices = Buscando dispositivos para actualizar...
|
||||
firmware_update-retry = Reintentar
|
||||
firmware_update-update = Actualizar rastreadores seleccionados
|
||||
firmware_update-exit = Salir
|
||||
|
||||
## Tray Menu
|
||||
|
||||
tray_menu-show = Mostrar
|
||||
@@ -1054,3 +1429,56 @@ 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
|
||||
|
||||
error_collection_modal-title = ¿Podemos recopilar errores?
|
||||
error_collection_modal-description_v2 =
|
||||
{ settings-interface-behavior-error_tracking-description_v2 }
|
||||
|
||||
Puede cambiar esta configuración más adelante en la sección Comportamiento de la página de configuración.
|
||||
error_collection_modal-confirm = Acepto
|
||||
error_collection_modal-cancel = No quiero
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
|
||||
@@ -24,6 +24,9 @@ tips-do_not_move_heels = Veenduge, et teie kannad ei liigu salvestamise ajal!
|
||||
tips-file_select = Pukseerige failid kasutamiseks, või <u>sirvi</u>.
|
||||
tips-tap_setup = Saate jälgija valimiseks menüüst valimise asemel aeglaselt oma jälgijat 2 korda puudutada.
|
||||
|
||||
## Units
|
||||
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Määramata
|
||||
@@ -48,6 +51,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
|
||||
@@ -122,7 +128,7 @@ widget-overlay-is_mirrored_label = Näita Ülekatet Peeglina
|
||||
|
||||
widget-drift_compensation-clear = Selgem triivi kompenseerimine
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
## Widget: Clear Mounting calibration
|
||||
|
||||
widget-clear_mounting = Lähtesta paigaldusasend
|
||||
|
||||
@@ -142,7 +148,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 +306,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 +370,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 +433,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 +453,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 +484,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 +495,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 +527,23 @@ 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
|
||||
|
||||
|
||||
## Home Screen
|
||||
|
||||
|
||||
## Tracking Checlist
|
||||
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
onboarding-skip = Jäta seadistamine vahele
|
||||
@@ -556,11 +559,6 @@ onboarding-setup_warning-cancel = Jätka seadistamist
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = Mine tagasi juhistele
|
||||
onboarding-wifi_creds = Sisestage enda Wi-Fi andmed!
|
||||
# This cares about multilines
|
||||
onboarding-wifi_creds-description =
|
||||
Jälgijad kasutavad neid andmeid, et ühendada juhtmevabalt.
|
||||
Palun kasutage neid Wi-Fi andmeid, millega te praegu olete ühendatud.
|
||||
onboarding-wifi_creds-skip = Jätke Wi-Fi seaded vahele.
|
||||
onboarding-wifi_creds-submit = Jätka!
|
||||
onboarding-wifi_creds-ssid =
|
||||
@@ -600,13 +598,6 @@ onboarding-reset_tutorial-2 =
|
||||
onboarding-home = Tere tulemast SlimeVR-i
|
||||
onboarding-home-start = Hakkame sättima!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-back = Minge tagasi jälgijate määramisse
|
||||
onboarding-enter_vr-title = Aeg minna VR-i!
|
||||
onboarding-enter_vr-description = Pange selga kõik jälgijad ja VR prillid.
|
||||
onboarding-enter_vr-ready = Olen valmis
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = Kõik on valmis!
|
||||
@@ -617,8 +608,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 +625,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 +660,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 +673,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 +700,13 @@ 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
|
||||
## Tracker manual proportions setupa
|
||||
|
||||
onboarding-choose_proportions = Millist proportsiooni kalibreerimismeetodit kasutada?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description =
|
||||
Keha proportsioone kasutatakse teie keha mõõtude tundmiseks. Neid on vaja, et arvutada jälgijate asukohad.
|
||||
Kui teie keha proportsioonid ei vasta salvestatud proportsioonidele, on teie jälgimistäpsus halvem ja märkate selliseid asju nagu jalgade uisutamine või libistamine või keha ei sobi teie avatariga hästi.
|
||||
onboarding-choose_proportions-auto_proportions = Automaatsed proportsioonid
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Soovitatud
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Väikeste puudutuste jaoks
|
||||
onboarding-choose_proportions-manual_proportions-description = See võimaldab teil proportsioone käsitsi reguleerida, muutes neid otseselt
|
||||
onboarding-choose_proportions-export = Ekspordi proportsioonid
|
||||
onboarding-choose_proportions-file_type = Keha proportsioonide fail
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-back = Mine tagasi lähtestamise õppetusse
|
||||
onboarding-manual_proportions-title = Käsitsi keha proportsioonid
|
||||
onboarding-manual_proportions-precision = Täpne reguleerimine
|
||||
onboarding-manual_proportions-auto = Automaatne kalibreerimine
|
||||
onboarding-manual_proportions-ratio = Kohandamine suhtarvugruppide järgi
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
@@ -758,15 +720,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 +754,19 @@ 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!
|
||||
|
||||
## User height calibration
|
||||
|
||||
|
||||
## 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 +775,33 @@ 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
|
||||
|
||||
|
||||
## Tracking checklist section
|
||||
|
||||
|
||||