Compare commits
174 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12b5461849 | ||
|
|
9b43f77c31 | ||
|
|
d3fab10ea7 | ||
|
|
de51497cee | ||
|
|
a19de94130 | ||
|
|
e11b80c8e0 | ||
|
|
9b3f9eccab | ||
|
|
3752a11f84 | ||
|
|
7c89185a40 | ||
|
|
4284e1f52c | ||
|
|
7a37773441 | ||
|
|
4dc8ce979d | ||
|
|
6a30da671d | ||
|
|
3f307605cc | ||
|
|
185dc8d674 | ||
|
|
55d6a01a4c | ||
|
|
34f357572a | ||
|
|
1aaf01f2ca | ||
|
|
bc5f9a17c4 | ||
|
|
7231f46804 | ||
|
|
b467af8c46 | ||
|
|
4393a6f137 | ||
|
|
5d773a37ab | ||
|
|
17306c1976 | ||
|
|
6dfc8a8101 | ||
|
|
ac5a68d33d | ||
|
|
f2d663c341 | ||
|
|
4cab877daa | ||
|
|
71366b9d52 | ||
|
|
de2dee45e4 | ||
|
|
522ec4c96a | ||
|
|
dc2937bdb0 | ||
|
|
57aaf2e7ee | ||
|
|
b30e4dadbe | ||
|
|
9a5c694278 | ||
|
|
f6bad3f3de | ||
|
|
5a4d1399b7 | ||
|
|
7fc0c88331 | ||
|
|
9eb63b6fb9 | ||
|
|
50620dd42f | ||
|
|
7b1e4a84d3 | ||
|
|
917092eb00 | ||
|
|
4df2d8771c | ||
|
|
a92dec8805 | ||
|
|
942f64a2f1 | ||
|
|
5211d340d2 | ||
|
|
f3cefdcc61 | ||
|
|
00e0824a84 | ||
|
|
7f9f6f4b18 | ||
|
|
81bf58f8c0 | ||
|
|
2d35456645 | ||
|
|
25da8715fe | ||
|
|
e366c5909c | ||
|
|
ed04b70713 | ||
|
|
e6bcbd9b3a | ||
|
|
fc44d902f1 | ||
|
|
c975949c35 | ||
|
|
c611570524 | ||
|
|
02e0af8c51 | ||
|
|
e4e5a884ef | ||
|
|
6d005223c7 | ||
|
|
975f340a63 | ||
|
|
cdb4d15d60 | ||
|
|
f343b0e80c | ||
|
|
dad0188854 | ||
|
|
8a6778155d | ||
|
|
7a968c3086 | ||
|
|
9730c78049 | ||
|
|
1a57820e31 | ||
|
|
c85facfba7 | ||
|
|
72deebdf87 | ||
|
|
5ab5e3e1bc | ||
|
|
7b84b041aa | ||
|
|
775d78731d | ||
|
|
ecbe1fb75d | ||
|
|
c273594163 | ||
|
|
51b1e2170e | ||
|
|
56d114c461 | ||
|
|
0d47d69134 | ||
|
|
329d77d0f4 | ||
|
|
e7673338b5 | ||
|
|
9715326a99 | ||
|
|
93c910be6a | ||
|
|
06520b9baa | ||
|
|
23dd9aab18 | ||
|
|
0367e3a62d | ||
|
|
f84efc413d | ||
|
|
414482c139 | ||
|
|
a6b3465ea5 | ||
|
|
dddedd9a60 | ||
|
|
d89a4c2704 | ||
|
|
0ad237a219 | ||
|
|
9c980f06f9 | ||
|
|
f607693d83 | ||
|
|
27faa1908c | ||
|
|
39cd1f9ba9 | ||
|
|
c59f20a79a | ||
|
|
e7de25dfab | ||
|
|
74f1d8ed61 | ||
|
|
ad41c46092 | ||
|
|
f3346bbeee | ||
|
|
ca6f82492d | ||
|
|
02acc6ede1 | ||
|
|
d9c631fcf6 | ||
|
|
ea9df2c31f | ||
|
|
e18bd2d382 | ||
|
|
b6a681b1bb | ||
|
|
793dd374f8 | ||
|
|
97b617bb24 | ||
|
|
1aa32b8264 | ||
|
|
5c2c6749c3 | ||
|
|
e472b12e83 | ||
|
|
75fc1c37d3 | ||
|
|
9c4b9b401e | ||
|
|
4243951214 | ||
|
|
2f61d5b4b8 | ||
|
|
35e6b8b721 | ||
|
|
82db6a1ff5 | ||
|
|
17be65d2a2 | ||
|
|
db2f7fbd49 | ||
|
|
95f1bfd52f | ||
|
|
f0f2731387 | ||
|
|
5f3182e2c6 | ||
|
|
8b4a2843a1 | ||
|
|
efd20ee7b2 | ||
|
|
c076ebabb3 | ||
|
|
9e650dad08 | ||
|
|
dc22b503e8 | ||
|
|
0bd6a9002a | ||
|
|
9c7558cae8 | ||
|
|
d89a53ef44 | ||
|
|
525f29f3c5 | ||
|
|
c94d71c24f | ||
|
|
31ff3f4868 | ||
|
|
a6911e072c | ||
|
|
bf062c9b65 | ||
|
|
8945e05354 | ||
|
|
ea3cdb7658 | ||
|
|
ae40121a31 | ||
|
|
f64a45fb2e | ||
|
|
cb19aa17cc | ||
|
|
4564671b38 | ||
|
|
60f74d6d5c | ||
|
|
4450260dd0 | ||
|
|
55f030a145 | ||
|
|
3038de8a5f | ||
|
|
338e153834 | ||
|
|
544efb6efe | ||
|
|
0e64f1241f | ||
|
|
ffe530dc94 | ||
|
|
a8ce510f70 | ||
|
|
1b17fcbec3 | ||
|
|
01f1d2ee56 | ||
|
|
d14a7bb5e7 | ||
|
|
a14a2ea253 | ||
|
|
b67de108e7 | ||
|
|
e4a4f38c15 | ||
|
|
858354eee8 | ||
|
|
fcb736d371 | ||
|
|
f6d8026761 | ||
|
|
cb5e27875c | ||
|
|
72f506822a | ||
|
|
4e942fded5 | ||
|
|
463e558e7f | ||
|
|
a1db52144a | ||
|
|
81b7ea0967 | ||
|
|
a489e32828 | ||
|
|
6eaf04ba64 | ||
|
|
b8ceaa6bc0 | ||
|
|
6b7c47d36c | ||
|
|
c0f8fb1758 | ||
|
|
07600f0133 | ||
|
|
3634bedef1 | ||
|
|
e864487246 |
11
.envrc
@@ -1 +1,10 @@
|
||||
use flake
|
||||
if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
|
||||
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
|
||||
fi
|
||||
|
||||
nix_direnv_watch_file rust-toolchain.toml
|
||||
nix_direnv_watch_file package.json
|
||||
if ! use flake . --impure
|
||||
then
|
||||
echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2
|
||||
fi
|
||||
|
||||
6
.github/CODEOWNERS
vendored
@@ -1,9 +1,9 @@
|
||||
# Global code owner
|
||||
* @Eirenliel
|
||||
|
||||
# Make Loucas the owner of all GUI stuff
|
||||
/gui/ @loucass003
|
||||
/package-lock.json @loucass003
|
||||
# Make Loucas and Uriel the owners of all GUI stuff
|
||||
/gui/ @loucass003 @ImUrX
|
||||
/package-lock.json @loucass003 @ImUrX
|
||||
|
||||
# Uriel and Erimel responsible for i18n
|
||||
/gui/public/i18n/ @ImUrX @Louka3000
|
||||
|
||||
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: SlimeVR
|
||||
8
.github/workflows/build-gui.yml
vendored
@@ -41,7 +41,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-20.04, windows-latest, macos-latest]
|
||||
os: [ubuntu-22.04, windows-latest, macos-latest]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
@@ -54,11 +54,11 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- if: matrix.os == 'ubuntu-20.04'
|
||||
- if: matrix.os == 'ubuntu-22.04'
|
||||
name: Set up Linux dependencies
|
||||
uses: awalsh128/cache-apt-pkgs-action@latest
|
||||
with:
|
||||
packages: libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
|
||||
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf
|
||||
# Increment to invalidate the cache
|
||||
version: 1.0
|
||||
# Enables a workaround to attempt to run pre and post install scripts
|
||||
@@ -91,7 +91,7 @@ jobs:
|
||||
# A file, directory or wildcard pattern that describes what to upload
|
||||
path: target/release/slimevr.exe
|
||||
|
||||
- if: matrix.os == 'ubuntu-20.04'
|
||||
- if: matrix.os == 'ubuntu-22.04'
|
||||
name: Upload a Build Artifact (Linux)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
|
||||
31
.github/workflows/gradle.yaml
vendored
@@ -22,6 +22,8 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Get tags
|
||||
run: git fetch --tags origin --recurse-submodules=no
|
||||
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v3
|
||||
@@ -32,6 +34,9 @@ jobs:
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v2
|
||||
|
||||
- run: mkdir ./gui/dist && touch ./gui/dist/somefile
|
||||
shell: bash
|
||||
|
||||
- name: Check code formatting
|
||||
run: ./gradlew spotlessCheck
|
||||
|
||||
@@ -46,6 +51,8 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Get tags
|
||||
run: git fetch --tags origin --recurse-submodules=no
|
||||
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v3
|
||||
@@ -65,7 +72,7 @@ jobs:
|
||||
# Artifact name
|
||||
name: "SlimeVR-Server" # optional, default is artifact
|
||||
# A file, directory or wildcard pattern that describes what to upload
|
||||
path: server/build/libs/*
|
||||
path: server/desktop/build/libs/*
|
||||
|
||||
- name: Upload to draft release
|
||||
uses: softprops/action-gh-release@v1
|
||||
@@ -74,11 +81,11 @@ jobs:
|
||||
draft: true
|
||||
generate_release_notes: true
|
||||
files: |
|
||||
server/build/libs/*
|
||||
server/desktop/build/libs/*
|
||||
|
||||
|
||||
bundle-linux:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [build, test]
|
||||
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
|
||||
steps:
|
||||
@@ -89,12 +96,12 @@ jobs:
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: "SlimeVR-Server"
|
||||
path: server/build/libs/
|
||||
path: server/desktop/build/libs/
|
||||
|
||||
- name: Set up Linux dependencies
|
||||
uses: awalsh128/cache-apt-pkgs-action@latest
|
||||
with:
|
||||
packages: libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf libfuse2
|
||||
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf libfuse2
|
||||
# Increment to invalidate the cache
|
||||
version: 1.0
|
||||
# Enables a workaround to attempt to run pre and post install scripts
|
||||
@@ -105,7 +112,7 @@ jobs:
|
||||
- name: Cache cargo dependencies
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
shared-key: "ubuntu-20.04"
|
||||
shared-key: "ubuntu-22.04"
|
||||
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v3
|
||||
@@ -134,7 +141,7 @@ jobs:
|
||||
cd target/release/bundle/appimage
|
||||
chmod a+x slimevr*.AppImage
|
||||
./slimevr*.AppImage --appimage-extract
|
||||
cp $( git rev-parse --show-toplevel )/server/build/libs/slimevr.jar squashfs-root/slimevr.jar
|
||||
cp $( git rev-parse --show-toplevel )/server/desktop/build/libs/slimevr.jar squashfs-root/slimevr.jar
|
||||
chmod 644 squashfs-root/slimevr.jar
|
||||
appimagetool squashfs-root slimevr*.AppImage
|
||||
|
||||
@@ -172,7 +179,7 @@ jobs:
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: "SlimeVR-Server"
|
||||
path: server/build/libs/
|
||||
path: server/desktop/build/libs/
|
||||
|
||||
- name: Cache cargo dependencies
|
||||
uses: Swatinem/rust-cache@v2
|
||||
@@ -193,7 +200,7 @@ jobs:
|
||||
- name: Modify Application
|
||||
run: |
|
||||
cd target/release/bundle/macos/slimevr.app/Contents/MacOS
|
||||
cp $( git rev-parse --show-toplevel )/server/build/libs/slimevr.jar ./
|
||||
cp $( git rev-parse --show-toplevel )/server/desktop/build/libs/slimevr.jar ./
|
||||
cd ../../../../dmg/
|
||||
./bundle_dmg.sh --volname slimevr --icon slimevr 180 170 --app-drop-link 480 170 \
|
||||
--window-size 660 400 --hide-extension ../macos/slimevr.app \
|
||||
@@ -237,7 +244,7 @@ jobs:
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: "SlimeVR-Server"
|
||||
path: server/build/libs/
|
||||
path: server/desktop/build/libs/
|
||||
|
||||
- name: Cache cargo dependencies
|
||||
uses: Swatinem/rust-cache@v2
|
||||
@@ -260,8 +267,8 @@ jobs:
|
||||
run: |
|
||||
mkdir SlimeVR
|
||||
cp gui/src-tauri/icons/icon.ico ./SlimeVR/run.ico
|
||||
cp server/build/libs/slimevr.jar ./SlimeVR/slimevr.jar
|
||||
cp server/resources/* ./SlimeVR/
|
||||
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/
|
||||
|
||||
|
||||
4
.gitignore
vendored
@@ -36,3 +36,7 @@ build/
|
||||
|
||||
# direnv has been claimed for Nix usage
|
||||
.direnv/
|
||||
.devenv
|
||||
|
||||
# Ignore Android local properties
|
||||
local.properties
|
||||
|
||||
36
.husky/pre-commit
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env sh
|
||||
. "$(dirname -- "$0")/_/husky.sh"
|
||||
|
||||
YELLOW="\033[1;33m"
|
||||
GREEN="\033[1;32m"
|
||||
RESET="\033[0m"
|
||||
|
||||
if git rev-parse -q --verify MERGE_HEAD; then
|
||||
echo -e "${YELLOW}Skipping precommit hook because of merge${RESET}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
APP_PRE_COMMIT_OPTIONS="$(dirname "$0")/_/pre-commit.options"
|
||||
|
||||
if ! [ -f "$APP_PRE_COMMIT_OPTIONS" ]; then
|
||||
echo -e "${YELLOW}\nSkipping pre-commit hook."
|
||||
echo -e "If you want to use pre-commit for lint-staged, run:\n"
|
||||
echo -e " ${GREEN}echo -e 'APP_LINT=true;' > ${APP_PRE_COMMIT_OPTIONS}${RESET}"
|
||||
echo -e "${YELLOW}\nIt will add some delay before committing!\n${RESET}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
source $APP_PRE_COMMIT_OPTIONS
|
||||
|
||||
if [ -n "${APP_LINT}" ] && [ "${APP_LINT}" == "true" ]; then
|
||||
echo -e "${GREEN}[husky] [pre-commit] [lint-staged]${RESET}"
|
||||
case "$(uname -sr)" in
|
||||
CYGWIN*|MINGW*|MINGW32*|MSYS*)
|
||||
npx.cmd lint-staged
|
||||
;;
|
||||
|
||||
*)
|
||||
npx lint-staged
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
9
.lintstagedrc.mjs
Normal file
@@ -0,0 +1,9 @@
|
||||
export default {
|
||||
'server/**/*.{java,kt,kts}': (filenames) =>
|
||||
filenames.map(
|
||||
(filename) =>
|
||||
`./gradlew${
|
||||
process.platform === 'win32' ? '.bat' : ''
|
||||
} spotlessApply "-PspotlessIdeHook=${filename}"`
|
||||
),
|
||||
};
|
||||
1669
Cargo.lock
generated
@@ -11,3 +11,12 @@ edition = "2021"
|
||||
license = "MIT OR Apache-2.0"
|
||||
rust-version = "1.65" # This version stabilized GATs and let-else
|
||||
repository = "https://github.com/SlimeVR/SlimeVR-Server"
|
||||
|
||||
[profile.release]
|
||||
lto = "thin"
|
||||
strip = "debuginfo" # Only affects Unix binaries with DWARF
|
||||
|
||||
[patch.crates-io]
|
||||
tauri = { git = "https://github.com/imurx/tauri", branch = "ipc-backport" }
|
||||
tauri-runtime = { git = "https://github.com/imurx/tauri", branch = "ipc-backport" }
|
||||
tauri-build = { git = "https://github.com/imurx/tauri", branch = "ipc-backport" }
|
||||
|
||||
@@ -1,26 +1,3 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath("org.jetbrains.kotlinx:atomicfu-gradle-plugin:0.20.2")
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
kotlin("jvm") version "1.8.21"
|
||||
}
|
||||
|
||||
subprojects {
|
||||
plugins.apply("kotlinx-atomicfu")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(kotlin("stdlib-jdk8"))
|
||||
}
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
id("org.ajoberstar.grgit") version "5.2.0"
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
<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">880</display_length>
|
||||
<display_length compare="ge">300</display_length>
|
||||
</recommends>
|
||||
<supports>
|
||||
<control>pointing</control>
|
||||
@@ -44,12 +44,10 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
|
||||
<description>
|
||||
<p>
|
||||
<code>SlimeVR</code>
|
||||
is a set of open hardware sensors and open source software that facilitates full-body
|
||||
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>
|
||||
@@ -60,6 +58,25 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
<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>
|
||||
|
||||
312
flake.lock
generated
@@ -1,5 +1,59 @@
|
||||
{
|
||||
"nodes": {
|
||||
"devenv": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nix": "nix",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692203620,
|
||||
"narHash": "sha256-9SF/H8oCWv166q5o+JtV7tK+koydgFMu02HCB27UWpU=",
|
||||
"owner": "cachix",
|
||||
"repo": "devenv",
|
||||
"rev": "eee80243720b7f284128873a9694a520d9967b2f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "devenv",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1690933134,
|
||||
"narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "flake-parts",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
@@ -19,15 +73,12 @@
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||
"lastModified": 1653893745,
|
||||
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -36,28 +87,111 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"devenv",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660459072,
|
||||
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lowdown-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1633514407,
|
||||
"narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=",
|
||||
"owner": "kristapsdz",
|
||||
"repo": "lowdown",
|
||||
"rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "kristapsdz",
|
||||
"repo": "lowdown",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"mk-shell-bin": {
|
||||
"locked": {
|
||||
"lastModified": 1677004959,
|
||||
"narHash": "sha256-/uEkr1UkJrh11vD02aqufCxtbF5YnhRTIKlx5kyvf+I=",
|
||||
"owner": "rrbutani",
|
||||
"repo": "nix-mk-shell-bin",
|
||||
"rev": "ff5d8bd4d68a347be5042e2f16caee391cd75887",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rrbutani",
|
||||
"repo": "nix-mk-shell-bin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix": {
|
||||
"inputs": {
|
||||
"lowdown-src": "lowdown-src",
|
||||
"nixpkgs": [
|
||||
"devenv",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-regression": "nixpkgs-regression"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676545802,
|
||||
"narHash": "sha256-EK4rZ+Hd5hsvXnzSzk2ikhStJnD63odF7SzsQ8CuSPU=",
|
||||
"owner": "domenkozar",
|
||||
"repo": "nix",
|
||||
"rev": "7c91803598ffbcfe4a55c44ac6d49b2cf07a527f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "domenkozar",
|
||||
"ref": "relaxed-flakes",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix2container": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688922987,
|
||||
"narHash": "sha256-RnQwrCD5anqWfyDAVbfFIeU+Ha6cwt5QcIwIkaGRzQw=",
|
||||
"owner": "nlewo",
|
||||
"repo": "nix2container",
|
||||
"rev": "ab381a7d714ebf96a83882264245dbd34f0a7ec8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nlewo",
|
||||
"repo": "nix2container",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1686412476,
|
||||
"narHash": "sha256-inl9SVk6o5h75XKC79qrDCAobTD1Jxh6kVYTZKHzewA=",
|
||||
"lastModified": 1678875422,
|
||||
"narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "21951114383770f96ae528d0ae68824557768e81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681358109,
|
||||
"narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9",
|
||||
"rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -67,32 +201,109 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1686364106,
|
||||
"narHash": "sha256-h4gCQg+jizmAbdg6UPlhxQVk4A7Ar/zoLa0wx3wBya0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "ba011dd1c5028dbb880bc3b0f427e0ff689e6203",
|
||||
"dir": "lib",
|
||||
"lastModified": 1690881714,
|
||||
"narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9e1960bc196baf6881340d53dccb203a951745a2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-regression": {
|
||||
"locked": {
|
||||
"lastModified": 1643052045,
|
||||
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1685801374,
|
||||
"narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1692356644,
|
||||
"narHash": "sha256-AYkPFT+CbCVSBmh0WwIzPpwhEJ4Yy3A7JZvUkGJIg5o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8ecc900b2f695d74dea35a92f8a9f9b32c8ea33d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"devenv",
|
||||
"flake-compat"
|
||||
],
|
||||
"flake-utils": "flake-utils",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"devenv",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688056373,
|
||||
"narHash": "sha256-2+SDlNRTKsgo3LBRiMUcoEUb6sDViRNQhzJquZ4koOI=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "5843cf069272d92b60c3ed9e55b7a8989c01d4c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"devenv": "devenv",
|
||||
"flake-parts": "flake-parts",
|
||||
"mk-shell-bin": "mk-shell-bin",
|
||||
"nix2container": "nix2container",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -107,21 +318,6 @@
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
172
flake.nix
@@ -1,87 +1,109 @@
|
||||
{
|
||||
description = "Server app for SlimeVR ecosystem";
|
||||
description = "Affordable full-body tracking for VR!";
|
||||
|
||||
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
devenv.url = "github:cachix/devenv";
|
||||
nix2container.url = "github:nlewo/nix2container";
|
||||
nix2container.inputs.nixpkgs.follows = "nixpkgs";
|
||||
mk-shell-bin.url = "github:rrbutani/nix-mk-shell-bin";
|
||||
};
|
||||
|
||||
inputs.rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
nixConfig = {
|
||||
extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
|
||||
extra-substituters = "https://devenv.cachix.org";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
rust-overlay,
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem
|
||||
(
|
||||
system: let
|
||||
overlays = [(import rust-overlay)];
|
||||
pkgs = import nixpkgs {
|
||||
inherit system overlays;
|
||||
};
|
||||
rustTarget = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
|
||||
nativeBuildInputs = with pkgs; [
|
||||
curl
|
||||
gcc
|
||||
openssl
|
||||
pkgconfig
|
||||
which
|
||||
zlib
|
||||
outputs = inputs @ {flake-parts, ...}:
|
||||
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||
imports = [
|
||||
inputs.devenv.flakeModule
|
||||
];
|
||||
systems = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
||||
|
||||
freetype
|
||||
expat
|
||||
];
|
||||
buildInputs = with pkgs; [
|
||||
appimagekit
|
||||
atk
|
||||
cairo
|
||||
dbus
|
||||
dbus.lib
|
||||
dprint
|
||||
gdk-pixbuf
|
||||
glib.out
|
||||
gobject-introspection
|
||||
gtk3
|
||||
harfbuzz
|
||||
libayatana-appindicator-gtk3
|
||||
libffi
|
||||
libsoup
|
||||
openssl.out
|
||||
pango
|
||||
pkg-config
|
||||
treefmt
|
||||
webkitgtk
|
||||
zlib
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
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.
|
||||
|
||||
# Some nice things to have
|
||||
exa
|
||||
fd
|
||||
# Equivalent to inputs'.nixpkgs.legacyPackages.hello;
|
||||
# packages.default = pkgs.hello;
|
||||
|
||||
jdk17 # JDK17
|
||||
nodejs
|
||||
gradle
|
||||
];
|
||||
in {
|
||||
devShells.default = pkgs.mkShell {
|
||||
nativeBuildInputs =
|
||||
nativeBuildInputs
|
||||
++ [
|
||||
];
|
||||
buildInputs =
|
||||
buildInputs
|
||||
++ [
|
||||
rustTarget
|
||||
devenv.shells.default = {
|
||||
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 =
|
||||
[
|
||||
]
|
||||
++ lib.optionals pkgs.stdenv.isLinux (with pkgs; [
|
||||
appimagekit
|
||||
atk
|
||||
cairo
|
||||
dbus
|
||||
dbus.lib
|
||||
dprint
|
||||
gdk-pixbuf
|
||||
glib.out
|
||||
gobject-introspection
|
||||
gtk3
|
||||
harfbuzz
|
||||
libffi
|
||||
libsoup_3
|
||||
openssl.out
|
||||
pango
|
||||
pkg-config
|
||||
treefmt
|
||||
webkitgtk_4_1
|
||||
zlib
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
librsvg
|
||||
freetype
|
||||
expat
|
||||
])
|
||||
++ lib.optionals pkgs.stdenv.isDarwin [
|
||||
pkgs.darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
alias ls=exa
|
||||
alias find=fd
|
||||
languages.java = {
|
||||
enable = true;
|
||||
gradle.enable = true;
|
||||
jdk.package = pkgs.jdk17;
|
||||
};
|
||||
languages.kotlin.enable = true;
|
||||
|
||||
languages.javascript = {
|
||||
enable = true;
|
||||
corepack.enable = true;
|
||||
};
|
||||
|
||||
languages.rust.enable = true;
|
||||
|
||||
enterShell = with pkgs; ''
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
flake = {
|
||||
# The usual flake attributes can be defined here, including system-
|
||||
# agnostic ones like nixosModule and system-enumerating ones, although
|
||||
# those are more easily expressed in perSystem.
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,3 +8,12 @@ org.gradle.jvmargs=--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAME
|
||||
kotlin.code.style=official
|
||||
# https://github.com/Kotlin/kotlinx-atomicfu#atomicfu-compiler-plugin
|
||||
kotlinx.atomicfu.enableJvmIrTransformation=true
|
||||
|
||||
android.useAndroidX=true
|
||||
android.nonTransitiveRClass=true
|
||||
org.gradle.unsafe.configuration-cache=false
|
||||
|
||||
kotlinVersion=1.9.0-RC
|
||||
spotlessVersion=6.12.0
|
||||
shadowJarVersion=8.1.1
|
||||
buildconfigVersion=3.1.0
|
||||
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
|
||||
networkTimeout=10000
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
7
gradlew
vendored
@@ -85,6 +85,9 @@ done
|
||||
APP_BASE_NAME=${0##*/}
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
|
||||
@@ -194,10 +197,6 @@ if "$cygwin" || "$msys" ; then
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# 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, and $GRADLE_OPTS can contain fragments of
|
||||
# shell script including quotes and variable substitutions, so put them in
|
||||
|
||||
0
gradlew.bat
vendored
Normal file → Executable file
@@ -4,7 +4,7 @@
|
||||
"es2021": true,
|
||||
"jest": true
|
||||
},
|
||||
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
|
||||
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@dword-design/import-alias/recommended"],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaFeatures": {
|
||||
@@ -30,6 +30,14 @@
|
||||
"argsIgnorePattern": "^_",
|
||||
"varsIgnorePattern": "^_"
|
||||
}
|
||||
],
|
||||
"@dword-design/import-alias/prefer-alias": [
|
||||
"error",
|
||||
{
|
||||
"alias": {
|
||||
"@": "./src/"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"settings": {
|
||||
|
||||
6
gui/.gitignore
vendored
@@ -25,5 +25,9 @@ yarn-error.log*
|
||||
|
||||
*.log
|
||||
|
||||
# vite
|
||||
/dist
|
||||
/stats.html
|
||||
|
||||
/dist
|
||||
# eslint
|
||||
.eslintcache
|
||||
|
||||
5
gui/.lintstagedrc.mjs
Normal file
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
"**/*.{ts,tsx}": () => "tsc -p tsconfig.json --noEmit",
|
||||
"**/*.{js,jsx,ts,tsx}": "eslint --max-warnings=0 --cache --fix",
|
||||
"**/*.{js,jsx,ts,tsx,css,md,json}": "prettier --write"
|
||||
};
|
||||
@@ -8,12 +8,18 @@
|
||||
"@fontsource/poppins": "^4.5.8",
|
||||
"@formatjs/intl-localematcher": "^0.2.32",
|
||||
"@react-three/fiber": "^8.10.0",
|
||||
"@tauri-apps/api": "^1.4.0",
|
||||
"@tauri-apps/api": "^2.0.0-alpha.5",
|
||||
"@tauri-apps/plugin-app": "github:tauri-apps/tauri-plugin-app#v2",
|
||||
"@tauri-apps/plugin-dialog": "github:tauri-apps/tauri-plugin-dialog#v2",
|
||||
"@tauri-apps/plugin-fs": "github:tauri-apps/tauri-plugin-fs#v2",
|
||||
"@tauri-apps/plugin-os": "github:tauri-apps/tauri-plugin-os#v2",
|
||||
"@tauri-apps/plugin-shell": "github:tauri-apps/tauri-plugin-shell#v2",
|
||||
"@tauri-apps/plugin-window": "github:tauri-apps/tauri-plugin-window#v2",
|
||||
"@vitejs/plugin-react": "^3.0.0",
|
||||
"browser-fs-access": "^0.34.1",
|
||||
"browserslist": "^4.18.1",
|
||||
"classnames": "^2.3.1",
|
||||
"eslint-config-react-app": "^7.0.0",
|
||||
"file-saver": "^2.0.5",
|
||||
"flatbuffers": "^22.10.26",
|
||||
"identity-obj-proxy": "^3.0.0",
|
||||
"intl-pluralrules": "^1.3.1",
|
||||
@@ -29,10 +35,11 @@
|
||||
"react-modal": "3.15.1",
|
||||
"react-responsive": "^9.0.2",
|
||||
"react-router-dom": "^6.2.2",
|
||||
"semver": "^7.5.0",
|
||||
"semver": "^7.5.3",
|
||||
"solarxr-protocol": "file:../solarxr-protocol",
|
||||
"three": "^0.148.0",
|
||||
"typescript": "^4.6.3"
|
||||
"ts-pattern": "^5.0.1",
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "vite --force",
|
||||
@@ -40,8 +47,8 @@
|
||||
"dev": "tauri dev",
|
||||
"skipbundler": "tauri build -b none",
|
||||
"tauri": "tauri",
|
||||
"lint": "eslint --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && prettier --check \"src/**/*.{js,jsx,ts,tsx,css,md,json}\"",
|
||||
"lint:fix": "eslint --fix \"src/**/*.{js,jsx,ts,tsx,json}\"",
|
||||
"lint": "tsc --noEmit && eslint --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && prettier --check \"src/**/*.{js,jsx,ts,tsx,css,md,json}\"",
|
||||
"lint:fix": "tsc --noEmit && eslint --fix --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && npm run format",
|
||||
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,md,json}\"",
|
||||
"preview-vite": "vite preview",
|
||||
"javaversion-build": "cd src-tauri/src/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class"
|
||||
@@ -64,29 +71,31 @@
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/forms": "^0.5.0",
|
||||
"@tauri-apps/cli": "^1.4.0",
|
||||
"@dword-design/eslint-plugin-import-alias": "^4.0.8",
|
||||
"@tailwindcss/forms": "^0.5.3",
|
||||
"@tauri-apps/cli": "^2.0.0-alpha.10",
|
||||
"@types/file-saver": "^2.0.5",
|
||||
"@types/react": "18.0.25",
|
||||
"@types/react-dom": "^18.0.5",
|
||||
"@types/react-modal": "3.13.1",
|
||||
"@types/three": "^0.148.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.59.6",
|
||||
"@typescript-eslint/parser": "^5.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"autoprefixer": "^10.4.4",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^8.18.0",
|
||||
"eslint": "^8.44.0",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-import-resolver-typescript": "^3.1.1",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.6.0",
|
||||
"eslint-plugin-react": "^7.30.1",
|
||||
"eslint-import-resolver-typescript": "^3.5.5",
|
||||
"eslint-plugin-import": "^2.27.5",
|
||||
"eslint-plugin-jsx-a11y": "^6.7.1",
|
||||
"eslint-plugin-react": "^7.32.2",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"postcss": "^8.4.12",
|
||||
"prettier": "^2.7.1",
|
||||
"postcss": "^8.4.24",
|
||||
"prettier": "^2.8.8",
|
||||
"pretty-quick": "^3.1.3",
|
||||
"rollup-plugin-visualizer": "^5.9.2",
|
||||
"tailwind-gradient-mask-image": "^1.0.0",
|
||||
"tailwindcss": "^3.3.1",
|
||||
"vite": "^4.0.3"
|
||||
"tailwindcss": "^3.3.2",
|
||||
"vite": "^4.3.9"
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 11 KiB |
BIN
gui/public/fonts/Lexend[HEXP,wght].woff2
Normal file
BIN
gui/public/fonts/NotoSansCJK-VF.otf.woff2
Normal file
BIN
gui/public/fonts/OpenDyslexic-Bold-Italic.woff
Normal file
BIN
gui/public/fonts/OpenDyslexic-Bold.woff
Normal file
BIN
gui/public/fonts/OpenDyslexic-Italic.woff
Normal file
BIN
gui/public/fonts/OpenDyslexic-Regular.woff
Normal file
BIN
gui/public/fonts/Ubuntu-R.woff2
Normal file
BIN
gui/public/fonts/twemoji-glyf_colr_1.woff2
Normal file
BIN
gui/public/fonts/twemoji-picosvg.woff2
Normal file
@@ -7,7 +7,7 @@
|
||||
|
||||
## Websocket (server) status
|
||||
|
||||
websocket-connecting = جاري التوصيل بالسيرفر
|
||||
websocket-connecting = يتم التوصيل بالسيرفر
|
||||
websocket-connection_lost = انقطع الاتصال بالسيرفر. يتم إعادة التوصيل...
|
||||
|
||||
## Update notification
|
||||
@@ -122,6 +122,10 @@ widget-overlay-is_mirrored_label = عكس تراكب الشاشة
|
||||
|
||||
widget-drift_compensation-clear = حذف تعويض الانجراف
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = مسح إعادة تعيين التركيب
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = وضع المطوّر
|
||||
@@ -165,9 +169,15 @@ tracker-table-column-url = عنوان URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = المقدمة
|
||||
tracker-rotation-front_left = أمامي-يسار
|
||||
tracker-rotation-front_right = أمامي -يمين
|
||||
tracker-rotation-left = اليسار
|
||||
tracker-rotation-right = اليمين
|
||||
tracker-rotation-back = الخلف
|
||||
tracker-rotation-back_left = الخلف اليسار
|
||||
tracker-rotation-back_right = الخلف الأيمن
|
||||
tracker-rotation-custom = مخصص
|
||||
tracker-rotation-overriden = (تم تجاوزه عن طريق إعادة الضبط المتصاعد)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -272,6 +282,8 @@ settings-sidebar-osc_router = راوتر أوه أس سي
|
||||
settings-sidebar-osc_trackers = أجهزة تعقب في ار تشات أوه أس سي
|
||||
settings-sidebar-utils = الأدوات المساعدة
|
||||
settings-sidebar-serial = وحدة التحكم التسلسلية
|
||||
settings-sidebar-appearance = مظهر
|
||||
settings-sidebar-notifications = إشعارات
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -336,14 +348,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = يمكن أن ي
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = الانجذاب إلى أصابع القدم يحاول تخمين دوران قدميك إذا لم تكن أجهزة تعقب القدم قيد الاستخدام.
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = تثبيت اصبع القدم يحاول تخمين دوران قدميك إذا لم تكن أجهزة تعقب القدم قيد الاستخدام.
|
||||
settings-general-fk_settings-leg_fk = تعقب الساق
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = تمكين إعادة ضبط تركيب القدمين عن طريق المشي على رؤوس الأصابع.
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet = إعادة تعيين تركيب القدمين
|
||||
settings-general-fk_settings-arm_fk = تعقب الذراع
|
||||
settings-general-fk_settings-arm_fk-description = تغيير طريقة تعقب الذراعين.
|
||||
settings-general-fk_settings-arm_fk-force_arms = إجبار الذراعين من ايتش أم دي
|
||||
settings-general-fk_settings-skeleton_settings = إعدادات الهيكل العظمي
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = قم بتغيير وضع الذراع المتوقع لإعادة ضبط المتصاعد.
|
||||
settings-general-fk_settings-arm_fk-back = العودة
|
||||
settings-general-fk_settings-arm_fk-back-description = الوضع الافتراضي، مع وضع الذراعين العلويين إلى الخلف والساعدين للأمام.
|
||||
settings-general-fk_settings-arm_fk-tpose_up = تي بوز (أعلى)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = يتوقع أن تكون ذراعيك لأسفل على الجانبين أثناء إعادة الضبط الكامل ، و 90 درجة حتى الجانبين أثناء إعادة ضبط التركيب.
|
||||
settings-general-fk_settings-arm_fk-tpose_down = تي بوز (لأسفل)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = يتوقع أن تكون ذراعيك 90 درجة لأعلى على الجانبين أثناء إعادة الضبط الكامل ، ولأسفل على الجانبين أثناء إعادة ضبط التركيب.
|
||||
settings-general-fk_settings-arm_fk-forward = أمامي
|
||||
settings-general-fk_settings-arm_fk-forward-description = يتوقع أن تكون ذراعيك 90 درجة للأمام. مفيد ل VTubing.
|
||||
settings-general-fk_settings-skeleton_settings-toggles = تبديل الهيكل العظمي
|
||||
settings-general-fk_settings-skeleton_settings-description = تبديل إعدادات الهيكل العظمي أو إيقافه. يوصى بتركها شغالة.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = العمود الفقري الممتد
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = الحوض الممتد
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = الركبة الممتدة
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = نموذج العمود الفقري الممتد
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = نموذج الحوض الممتد
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = نموذج الركبة الممتدة
|
||||
settings-general-fk_settings-skeleton_settings-ratios = نسب الهيكل العظمي
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = تغيير قيم إعدادات الهيكل العظمي. قد تحتاج إلى ضبط النسب الخاصة بك بعد تغييرها.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = خصص الخصر من الصدر إلى الورك
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = خصص الخصر من الصدر إلى الساقين
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = خصص الورك من الصدر إلى الساقين
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = خصص الورك من الخصر إلى الساقين
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = متوسط انعراج الفخذ وتدحرج مع الساقين'
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = متوسط الانحراف وتدحرج مع الكاحلين
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = متوسط انحراف الركبتين ولفة مع الكاحلين
|
||||
settings-general-fk_settings-self_localization-title = وضع Mocap
|
||||
settings-general-fk_settings-self_localization-description = يسمح وضع Mocap للهيكل العظمي بتعقب موضعه تقريبا بدون سماعة رأس أو أجهزة تعقب أخرى. لاحظ أن هذا يتطلب أجهزة تعقب القدمين والرأس للعمل ولا تزال تجريبية.
|
||||
settings-general-fk_settings-vive_emulation-title = محاكاة فايف
|
||||
settings-general-fk_settings-vive_emulation-description = محاكاة مشاكل تعقب الخصر التي تعاني منها أجهزة تعقب فايف. هذه مزحة وتجعل التتبع أسوأ.
|
||||
settings-general-fk_settings-vive_emulation-label = تمكين محاكاة فايف
|
||||
@@ -364,6 +398,17 @@ settings-general-gesture_control-taps =
|
||||
[many] { $amount } نقرات
|
||||
*[other] { $amount } نقرات
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[zero] لا أجهزة تعقب
|
||||
[one] جهاز تعقب واحد
|
||||
[two] جهازي تعقب
|
||||
[few] { "" }
|
||||
[many] { "" }
|
||||
*[other] { $amount } أجهزة تعقب
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = تمكين النقر لإعادة التعيين الانعراج
|
||||
settings-general-gesture_control-yawResetDelay = إعادة تعيين التأخير الانعراج
|
||||
settings-general-gesture_control-yawResetTaps = عدد النقرات لإعادة تعيين الانعراج
|
||||
@@ -373,13 +418,32 @@ settings-general-gesture_control-fullResetTaps = عدد النقرات لإعا
|
||||
settings-general-gesture_control-mountingResetEnabled = تمكين النقر لإعادة تعيين التركيب
|
||||
settings-general-gesture_control-mountingResetDelay = تأخير إعادة تعيين التركيب
|
||||
settings-general-gesture_control-mountingResetTaps = نقرات لإعادة تعيين التركيب
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = أجهزة تعقب فوق قيمة القطع
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = قم بزيادة هذه القيمة إذا كان اكتشاف النقر لا يعمل. لا تقم بزيادته فوق ما هو مطلوب لجعل اكتشاف النقر يعمل لأنه قد يتسبب في المزيد من الإيجابيات الخاطئة.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = واجهة المستخدم
|
||||
settings-interface-appearance = مظهر
|
||||
settings-general-interface-dev_mode = وضع المطوّر
|
||||
settings-general-interface-dev_mode-description = يمكن أن يكون هذا الوضع مفيدًا إذا كنت بحاجة إلى بيانات متعمقة أو للتفاعل مع أجهزة التعقب المتصلة على مستوى أكثر تقدمًا.
|
||||
settings-general-interface-dev_mode-label = وضع المطوّر
|
||||
settings-general-interface-theme = موضوع اللون
|
||||
settings-general-interface-lang = اختر اللغة
|
||||
settings-general-interface-lang-description = قم بتغيير اللغة الافتراضية التي تريد استخدامها.
|
||||
settings-general-interface-lang-placeholder = اختر اللغة التي تريد استخدامها
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = خط واجهة المستخدم الرسومية
|
||||
settings-interface-appearance-font-description = هذا يغير الخط المستخدم من قبل الواجهة.
|
||||
settings-interface-appearance-font-placeholder = الخط الافتراضي
|
||||
settings-interface-appearance-font-os_font = خط نظام التشغيل
|
||||
settings-interface-appearance-font-slime_font = الخط الافتراضي
|
||||
settings-interface-appearance-font_size = قياس الخط الأساسي
|
||||
settings-interface-appearance-font_size-description = يؤثر هذا على حجم خط الواجهة بأكملها باستثناء لوحة الإعدادات هذه.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = إشعارات
|
||||
settings-general-interface-serial_detection = الكشف عن جهاز تسلسلي
|
||||
settings-general-interface-serial_detection-description = سيعرض هذا الخيار نافذة منبثقة في كل مرة تقوم فيها بتوصيل جهاز تسلسلي جديد يمكن أن يكون جهاز تعقب. يساعد في تحسين عملية إعداد جهاز التعقب.
|
||||
settings-general-interface-serial_detection-label = الكشف عن جهاز تسلسلي
|
||||
@@ -387,10 +451,6 @@ settings-general-interface-feedback_sound = صوت ردود الفعل
|
||||
settings-general-interface-feedback_sound-description = سيصدر هذا الخيار صوتًا عند تشغيل إعادة الضبط
|
||||
settings-general-interface-feedback_sound-label = صوت ردود الفعل
|
||||
settings-general-interface-feedback_sound-volume = حجم صوت ردود الفعل
|
||||
settings-general-interface-theme = موضوع اللون
|
||||
settings-general-interface-lang = اختر اللغة
|
||||
settings-general-interface-lang-description = قم بتغيير اللغة الافتراضية التي تريد استخدامها.
|
||||
settings-general-interface-lang-placeholder = اختر اللغة التي تريد استخدامها
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -623,8 +683,8 @@ onboarding-assignment_tutorial = كيفية تحضير جهاز تعقب Slime
|
||||
onboarding-assignment_tutorial-first_step = 1. ضع ملصق جزء الجسم (إذا كان لديك واحد) على جهاز التعقب وفقا لاختيارك
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = ملصق
|
||||
onboarding-assignment_tutorial-second_step = 2. قم بتوصيل الشريط بجهاز التعقب الخاص بك ، مع الحفاظ على جانب الخطاف والحلقة من وجه الشريط في الاتجاه التالي:
|
||||
onboarding-assignment_tutorial-second_step-continuation = يجب أن يكون جانب الخطاف والحلقة للامتداد في هذا الاتجاه:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. قم بتوصيل الشريط بجهاز التعقب، مع الحفاظ على جانب الفيلكرو من الشريط في نفس اتجاه وجه السلايم لجهاز التعقب:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = يجب أن يكون جانب الفيلكرو للامتداد متجها للأعلى مثل الصورة التالية:
|
||||
onboarding-assignment_tutorial-done = وضعت الملصقات والأشرطة!
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -768,12 +828,18 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = النسب التلقائية
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = الموصى به
|
||||
onboarding-choose_proportions-auto_proportions-description = سيقدر هذا النسب الخاصة بك عن طريق تسجيل عينة من حركاتك وتمريرها من خلال برنامج
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
سيؤدي ذلك إلى تخمين نسبك عن طريق تسجيل عينة من تحركاتك وتمريرها عبر خوارزمية.
|
||||
|
||||
<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
|
||||
@@ -804,6 +870,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
تعمل أجهزة التتبع وسماعات الرأس بشكل صحيح داخل سرفر سلايم في ار .
|
||||
تقوم سماعة الرأس الخاصة بك بالإبلاغ عن بيانات الموقع إلى سرفر سلايم في ار (وهذا يعني بشكل عام تشغيل سلايم في ار وتوصيله بـ سلايم في ار باستخدام برنامج تشغيل ستيم في ار من سلايم في ار ).
|
||||
onboarding-automatic_proportions-requirements-next = لقد قرأت المتطلبات
|
||||
onboarding-automatic_proportions-check_height-title = تحقق من طولك
|
||||
onboarding-automatic_proportions-check_height-description = نستخدم طولك كأساس لقياساتنا باستخدام ارتفاع HMD كتقريب لطولك الفعلي ، ولكن من الأفضل التحقق مما إذا كانت صحيحة بنفسك!
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = يرجى الضغط على الزر أثناء الوقوف <u>في وضع مستقيم</u> لحساب طولك. لديك 3 ثوان بعد الضغط على الزر!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = أنا واقف!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = مجهول
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = طولك من خلال HMD
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = لذا فإن طولك الفعلي هو
|
||||
onboarding-automatic_proportions-check_height-next_step = انهم بخير
|
||||
onboarding-automatic_proportions-start_recording-title = استعد للتحرك
|
||||
onboarding-automatic_proportions-start_recording-description = سنقوم الآن بتسجيل بعض الوضعيات والحركات المحددة. ستتم مطالبتك بذلك في الشاشة التالية. كن مستعدا للبدء عند الضغط على الزر!
|
||||
onboarding-automatic_proportions-start_recording-next = بدء التسجيل
|
||||
@@ -837,6 +915,10 @@ onboarding-automatic_proportions-verify_results-redo = إعادة التسجيل
|
||||
onboarding-automatic_proportions-verify_results-confirm = تبدو صحيحة
|
||||
onboarding-automatic_proportions-done-title = تم قياس الجسم و حفظه.
|
||||
onboarding-automatic_proportions-done-description = اكتملت معايرة نسب جسمك!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>تحذير:</b> تم العثور على خطأ أثناء تقدير النسب!
|
||||
يرجى <docs>التحقق من المستندات</docs> أو الانضمام إلى <discord>Discord</discord> للحصول على المساعدة ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = مفهوم!
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = Rechte Hand
|
||||
body_part-RIGHT_UPPER_LEG = Rechter Oberschenkel
|
||||
body_part-RIGHT_LOWER_LEG = Rechter Unterschenkel
|
||||
body_part-RIGHT_FOOT = Rechter Fuß
|
||||
body_part-UPPER_CHEST = Obere Brust
|
||||
body_part-CHEST = Brust
|
||||
body_part-WAIST = Taille
|
||||
body_part-HIP = Hüfte
|
||||
@@ -53,8 +54,9 @@ skeleton_bone-NONE = Keine
|
||||
skeleton_bone-HEAD = Kopfverschiebung
|
||||
skeleton_bone-NECK = Halslänge
|
||||
skeleton_bone-torso_group = Oberkörperhöhe
|
||||
skeleton_bone-CHEST = Brustabstand
|
||||
skeleton_bone-UPPER_CHEST = Obere Brustlänge
|
||||
skeleton_bone-CHEST_OFFSET = Brustversatz
|
||||
skeleton_bone-CHEST = Brustabstand
|
||||
skeleton_bone-WAIST = Taillenabstand
|
||||
skeleton_bone-HIP = Hüftlänge
|
||||
skeleton_bone-HIP_OFFSET = Hüftversatz
|
||||
@@ -120,6 +122,9 @@ widget-overlay-is_mirrored_label = Visualisierung spiegeln
|
||||
|
||||
widget-drift_compensation-clear = Driftkompensation zurücksetzen
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Entwicklermodus
|
||||
@@ -163,9 +168,15 @@ tracker-table-column-url = Adresse
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Vorne
|
||||
tracker-rotation-front_left = Vorne-Links
|
||||
tracker-rotation-front_right = Vorne-Rechts
|
||||
tracker-rotation-left = Links
|
||||
tracker-rotation-right = Rechts
|
||||
tracker-rotation-back = Hinten
|
||||
tracker-rotation-back_left = Hinten-Links
|
||||
tracker-rotation-back_right = Hinten-Rechts
|
||||
tracker-rotation-custom = Benutzerdefiniert
|
||||
tracker-rotation-overriden = (von Befestigungs-Reset überschrieben)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -269,6 +280,8 @@ settings-sidebar-osc_router = OSC-Router
|
||||
settings-sidebar-osc_trackers = VRChat OSC-Tracker
|
||||
settings-sidebar-utils = Werkzeuge
|
||||
settings-sidebar-serial = Serielle Konsole
|
||||
settings-sidebar-appearance = Erscheinungsbild
|
||||
settings-sidebar-notifications = Benachrichtigungen
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -338,9 +351,10 @@ settings-general-fk_settings-arm_fk-description = Ändern Sie die Art und Weise,
|
||||
settings-general-fk_settings-arm_fk-force_arms = Arme vom VR-Headset erzwingen
|
||||
settings-general-fk_settings-skeleton_settings = Skeletteinstellungen
|
||||
settings-general-fk_settings-skeleton_settings-description = Schalten Sie Skeletteinstellungen ein oder aus. Es wird empfohlen, diese eingeschaltet zu lassen.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Erweiterte Wirbelsäule
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Erweiterter Beckenbereich
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Erweiterte Knie
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Erweitertes Wirbelsäulen-Modell
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Erweitertes Pelvis-Modell
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Erweitertes Knie-Modell
|
||||
settings-general-fk_settings-self_localization-title = Motion-Capture-Modus
|
||||
settings-general-fk_settings-vive_emulation-title = Vive-Simulierung
|
||||
settings-general-fk_settings-vive_emulation-description = Simuliere die Tracking-Probleme, welche bei Vive-Trackern auftreten. Dies ist ein Scherz und verschlechtert das Tracking.
|
||||
settings-general-fk_settings-vive_emulation-label = Vive-Simulierung
|
||||
@@ -357,6 +371,13 @@ settings-general-gesture_control-taps =
|
||||
[one] 1-mal antippen
|
||||
*[other] { $amount }-mal antippen
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] Tracker
|
||||
*[other] Tracker
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Horizontaler Reset durch Antippen
|
||||
settings-general-gesture_control-yawResetDelay = Verzögerung für einen horizontalen Reset
|
||||
settings-general-gesture_control-yawResetTaps = Antipp-Anzahl für einen horizontalen Reset
|
||||
@@ -366,13 +387,30 @@ settings-general-gesture_control-fullResetTaps = Antipp-Anzahl für einen vollst
|
||||
settings-general-gesture_control-mountingResetEnabled = Antippen für Befestigungs-Reset
|
||||
settings-general-gesture_control-mountingResetDelay = Befestigungs-Reset-Verzögerung
|
||||
settings-general-gesture_control-mountingResetTaps = Anzahl für Befestigungs-Reset
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Tracker über Schwellwert
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Bedienoberfläche
|
||||
settings-interface-appearance = Erscheinungsbild
|
||||
settings-general-interface-dev_mode = Entwicklermodus
|
||||
settings-general-interface-dev_mode-description = Der Entwicklermodus stellt mehr Daten dar und erlaubt auch erweiterte Einstellungen, so wie erweiterte Optionen bei verbundenen Trackern.
|
||||
settings-general-interface-dev_mode-label = Entwicklermodus
|
||||
settings-general-interface-theme = Farbschema
|
||||
settings-general-interface-lang = Sprachauswahl
|
||||
settings-general-interface-lang-description = Ändern Sie die Standard-Sprache, die Sie verwenden möchten
|
||||
settings-general-interface-lang-placeholder = Wählen Sie die zu verwendende Sprache aus
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = GUI-Schriftart
|
||||
settings-interface-appearance-font-description = Verändert die Schriftart der Benutzeroberfläche.
|
||||
settings-interface-appearance-font-placeholder = Standard-Schriftart
|
||||
settings-interface-appearance-font-os_font = Betriebssystem-Schriftart
|
||||
settings-interface-appearance-font-slime_font = Standard-Schriftart
|
||||
settings-interface-appearance-font_size = Standard-Schriftgröße
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Benachrichtigungen
|
||||
settings-general-interface-serial_detection = Serielle Geräteerkennung
|
||||
settings-general-interface-serial_detection-description = Diese Option zeigt jedes Mal ein Pop-up-Fenster an, wenn ein neues serielles Gerät angeschlossen wird, das ein Tracker sein könnte. Dies hilft beim Einrichtungsprozess des Trackers
|
||||
settings-general-interface-serial_detection-label = Serielle Geräteerkennung
|
||||
@@ -380,10 +418,6 @@ settings-general-interface-feedback_sound = Feedback-Geräusch
|
||||
settings-general-interface-feedback_sound-description = Diese Option wird ein Geräusch abspielen, wenn ein Reset ausgeführt wurde.
|
||||
settings-general-interface-feedback_sound-label = Feedback-Geräusch
|
||||
settings-general-interface-feedback_sound-volume = Feedback-Sound-Lautstärke
|
||||
settings-general-interface-theme = Farbschema
|
||||
settings-general-interface-lang = Sprachauswahl
|
||||
settings-general-interface-lang-description = Ändern Sie die Standard-Sprache, die Sie verwenden möchten
|
||||
settings-general-interface-lang-placeholder = Wählen Sie die zu verwendende Sprache aus
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -736,7 +770,6 @@ onboarding-choose_proportions = Welche Kalibrierungsmethode ist zu verwenden?
|
||||
onboarding-choose_proportions-auto_proportions = Automatische Proportionen
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Empfohlen
|
||||
onboarding-choose_proportions-auto_proportions-description = Dadurch werden Ihre Proportionen erraten, indem Stichproben Ihrer Bewegungen verrechnet werden
|
||||
onboarding-choose_proportions-manual_proportions = Manuelle Körperproportionen
|
||||
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
|
||||
@@ -748,6 +781,7 @@ onboarding-manual_proportions-back = Gehen Sie zurück zum Reset-Tutorial
|
||||
onboarding-manual_proportions-title = Manuelle Körperproportionen
|
||||
onboarding-manual_proportions-precision = Feinanpassung
|
||||
onboarding-manual_proportions-auto = Automatische Kalibrierung
|
||||
onboarding-manual_proportions-ratio = Anpassung nach Proportionen
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
@@ -761,6 +795,14 @@ onboarding-automatic_proportions-put_trackers_on-description = Um Ihre Proportio
|
||||
onboarding-automatic_proportions-put_trackers_on-next = Ich habe alle meine Tracker angelegt
|
||||
onboarding-automatic_proportions-requirements-title = Anforderungen
|
||||
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-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-height = Ihre Körpergröße ist
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height = Und Ihre Headset-Höhe ist
|
||||
onboarding-automatic_proportions-start_recording-title = Bereiten Sie sich auf ein paar Bewegungen vor
|
||||
onboarding-automatic_proportions-start_recording-description = Wir werden nun einige bestimmte Posen und Bewegungen aufnehmen. Diese werden im nächsten Bildschirm angezeigt. Bereiten Sie sicht darauf vor, wenn Sie den Knopf drücken!
|
||||
onboarding-automatic_proportions-start_recording-next = Aufnahme starten
|
||||
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = wight pawb
|
||||
body_part-RIGHT_UPPER_LEG = wight uppew weg
|
||||
body_part-RIGHT_LOWER_LEG = wight wowwe weg
|
||||
body_part-RIGHT_FOOT = wight pawb
|
||||
body_part-UPPER_CHEST = uppew chest
|
||||
body_part-CHEST = chwest~
|
||||
body_part-WAIST = wyayst~
|
||||
body_part-HIP = hyip
|
||||
@@ -53,8 +54,9 @@ skeleton_bone-NONE = none
|
||||
skeleton_bone-HEAD = hed shyft
|
||||
skeleton_bone-NECK = nyeck wength
|
||||
skeleton_bone-torso_group = towso wength
|
||||
skeleton_bone-CHEST = chwest wength
|
||||
skeleton_bone-UPPER_CHEST = uppew chest wength
|
||||
skeleton_bone-CHEST_OFFSET = chwest awfset
|
||||
skeleton_bone-CHEST = chwest wength
|
||||
skeleton_bone-WAIST = weyst wength
|
||||
skeleton_bone-HIP = hip wength
|
||||
skeleton_bone-HIP_OFFSET = hyip awfset
|
||||
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = dispway owovelay as miwwow
|
||||
|
||||
widget-drift_compensation-clear = cwear dwift compensation
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = cweaw weset meownting
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = devwowwewow mode
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = uawl
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = fwowt
|
||||
tracker-rotation-front_left = fwont-weft
|
||||
tracker-rotation-front_right = fwont-wight
|
||||
tracker-rotation-left = lewft
|
||||
tracker-rotation-right = wight
|
||||
tracker-rotation-back = bak
|
||||
tracker-rotation-back_left = back-weft
|
||||
tracker-rotation-back_right = back-wight
|
||||
tracker-rotation-custom = custowm
|
||||
tracker-rotation-overriden = (ovewwidden by meownting weset)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } wight tigh?
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } wight ankew?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } wight pawb?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } wight contwowwaw?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } uppew chest?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } chwest?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } waste?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } hiyp?
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = OSC wouwter
|
||||
settings-sidebar-osc_trackers = VRChawt OSC Twayckaws
|
||||
settings-sidebar-utils = utiwities
|
||||
settings-sidebar-serial = sewiaw cownsaw
|
||||
settings-sidebar-appearance = appeawance
|
||||
settings-sidebar-notifications = notificashuns
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -336,11 +351,21 @@ settings-general-fk_settings-leg_fk = leg twacking
|
||||
settings-general-fk_settings-arm_fk = awm twacking
|
||||
settings-general-fk_settings-arm_fk-description = chawnge teh way teh awms awe twacked.
|
||||
settings-general-fk_settings-arm_fk-force_arms = fowce awms fwom hmd
|
||||
settings-general-fk_settings-skeleton_settings = skeweton sewttings
|
||||
settings-general-fk_settings-skeleton_settings-toggles = skeweton toggews
|
||||
settings-general-fk_settings-skeleton_settings-description = toggwe skeweton sewttings on owow off. is wowcommended to weawve these on~
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = ewtended spine
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = ewtended pelvis
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = ewtended neey
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = extwended spine modew
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = extwended pewvis modew
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = extwended nee modew
|
||||
settings-general-fk_settings-skeleton_settings-ratios = skeweton watios
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = change da vawue of skeweton settings. u may need to ajust ur pawpowshuns aftew changin dese.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = impute waist fwom chest to hip
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = impute waist fwom chest to wegs
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = impute hip fwom chest to wegs
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = impute hip fwom waist to wegs
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = awewage da hip's yaw and woll wiff da legs'
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = awewage da knee twackews' yaw and woll wiff da ankews'
|
||||
settings-general-fk_settings-self_localization-title = mocap mowd
|
||||
settings-general-fk_settings-self_localization-description = mocap mowd awwows da skeweton to wuffly twack is own posishun without a hedset or other twackews. note dat dis wequiwes feet and hed twackews to wowk and is stiwll expewimentaw.
|
||||
settings-general-fk_settings-vive_emulation-title = vive emuwation
|
||||
settings-general-fk_settings-vive_emulation-description = emuwate the waist twackew pwobwems that vive twackews hawe. tis is a jowke and mawkes twacking wowse eheh ^^
|
||||
settings-general-fk_settings-vive_emulation-label = enabwe vive emuwation
|
||||
@@ -357,6 +382,13 @@ settings-general-gesture_control-taps =
|
||||
[one] 1 bap
|
||||
*[other] { $amount } baps
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 twackew
|
||||
*[other] { $amount } twackews
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = enabwe bap to yaw weset
|
||||
settings-general-gesture_control-yawResetDelay = yaw weset deway
|
||||
settings-general-gesture_control-yawResetTaps = baps fow yaw weset
|
||||
@@ -366,13 +398,32 @@ settings-general-gesture_control-fullResetTaps = baps fow fuww weset
|
||||
settings-general-gesture_control-mountingResetEnabled = enable wap to weset mountwing
|
||||
settings-general-gesture_control-mountingResetDelay = mountwing weset deway
|
||||
settings-general-gesture_control-mountingResetTaps = baps for mountwing weset
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = twackews over thweshowd
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = incwease dis vawue if da bap detecshun is nawt wowking. dont incwease it above what is need to make bap detecshun wowk as it wowd cauwse mowe fawse pawsitives.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = intewface
|
||||
settings-interface-appearance = appeawance
|
||||
settings-general-interface-dev_mode = devwowwewow mode
|
||||
settings-general-interface-dev_mode-description = this mode can be wowseffuw if you need in-dipth data owow to intewact with cownnected twackaws on a wowowe wowadvanced wowwevew
|
||||
settings-general-interface-dev_mode-label = devwowwewow mode
|
||||
settings-general-interface-theme = cowor theem
|
||||
settings-general-interface-lang = sewect wanguage
|
||||
settings-general-interface-lang-description = change the defawwt wanguage yuw want to use
|
||||
settings-general-interface-lang-placeholder = sewect teh wanguage to use
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = gui fawnt
|
||||
settings-interface-appearance-font-description = dis change da fawnt use by da intewface.
|
||||
settings-interface-appearance-font-placeholder = defawt fawnt
|
||||
settings-interface-appearance-font-os_font = os fawnt
|
||||
settings-interface-appearance-font-slime_font = defawt fawnt
|
||||
settings-interface-appearance-font_size = bass fawn scawing
|
||||
settings-interface-appearance-font_size-description = dis affects da fawnt size of da whol intewface except dis setting panew.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = notificashuns
|
||||
settings-general-interface-serial_detection = shewyaw device deteccion
|
||||
settings-general-interface-serial_detection-description = this option will shaww a pawp-up evewy time yuw pwug a new shewyaw device that cawwld be a twayckaw. it helps iympwooving teh setup pwocess of a twayckaw
|
||||
settings-general-interface-serial_detection-label = shewyaw device deteccion
|
||||
@@ -380,10 +431,6 @@ settings-general-interface-feedback_sound = feeback sownd
|
||||
settings-general-interface-feedback_sound-description = dis awptshun wiww pway a sownd wen a weset is twiggered (meow~!)
|
||||
settings-general-interface-feedback_sound-label = feeback sownd
|
||||
settings-general-interface-feedback_sound-volume = feedback sownd volyume
|
||||
settings-general-interface-theme = cowor theem
|
||||
settings-general-interface-lang = sewect wanguage
|
||||
settings-general-interface-lang-description = change the defawwt wanguage yuw want to use
|
||||
settings-general-interface-lang-placeholder = sewect teh wanguage to use
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -527,7 +574,7 @@ onboarding-wifi_creds-password =
|
||||
|
||||
onboarding-reset_tutorial-back = gaww bawwk to meownting cawwibwation
|
||||
onboarding-reset_tutorial = weset wtutowial
|
||||
onboarding-reset_tutorial-description = dis featuwe isn't done, just pwess continyue
|
||||
onboarding-reset_tutorial-explanation = whiwe you use youw twackews dey mite get out of awignment becus of imu yaw dwift, or because u might have moved dem physicawwy. you have sevewew way to fix dis.
|
||||
onboarding-reset_tutorial-skip = skip sedup
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-0 =
|
||||
@@ -612,8 +659,8 @@ onboarding-assignment_tutorial = how to pwepawe a Swime Twackew befowe puting it
|
||||
onboarding-assignment_tutorial-first_step = 1. pwace a body pawt stickew (if you has wun) on da twackew accowding to u choosing :3
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = sticker
|
||||
onboarding-assignment_tutorial-second_step = 2. put da stwap to u twackew, keep da hook an woop side of the stwap face in the fowlowing owientation:
|
||||
onboarding-assignment_tutorial-second_step-continuation = da hook an woop side fow da extenson shouwd be in this owientation:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. attach da stwap to youw twackew, keeping da vewcwo side of da stwap facing da same diwecshun as da swime face of youw twackew:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = da vewcwo side fow da extenshun shud be facing up wike da fowwowing image:
|
||||
onboarding-assignment_tutorial-done = i put da stickew an stwap on :3
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -707,11 +754,11 @@ onboarding-choose_mounting = wut meownting cawibwation mefod to use?
|
||||
onboarding-choose_mounting-description = meownting owientation correct fow da pwacement of twackews on u body.
|
||||
onboarding-choose_mounting-auto_mounting = awtomawic meownting
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-subtitle = wecommended
|
||||
onboarding-choose_mounting-auto_mounting-label = expewimentaw
|
||||
onboarding-choose_mounting-auto_mounting-description = dis will automaticawwy detec da meownting diwecshuns fow aww of ya twackews fwom 2 poses
|
||||
onboarding-choose_mounting-manual_mounting = manyul meownting
|
||||
# Italized text
|
||||
onboarding-choose_mounting-manual_mounting-subtitle = if yu know wut u r doin
|
||||
onboarding-choose_mounting-manual_mounting-label = wecommended
|
||||
onboarding-choose_mounting-manual_mounting-description = dis will let u chose da meownting diwecshun manuwawwy fow eech twackew
|
||||
|
||||
## Tracker manual mounting setup
|
||||
@@ -753,12 +800,15 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = awtomatic pwopowtions
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = wecommended
|
||||
onboarding-choose_proportions-auto_proportions-description = dis will guess ur pwopowshuns by wecowding a sampwe of ur movement and pass it thwough an ai
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
dis wiww guess youw pwopowshuns by wecowding a sampwe of youw movement and passing it thru an algowithm.
|
||||
|
||||
<b>dis wequiwes having youw hmd connected to SwimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = manuwal pwopowtions
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = fow smol touchies
|
||||
onboarding-choose_proportions-manual_proportions-description = dis will let u ajust ur pwopowtions manuwally by modifying dem diwectwy
|
||||
onboarding-choose_proportions-save = sav pawpwotions
|
||||
onboarding-choose_proportions-export = expowt pawpowshuns
|
||||
onboarding-choose_proportions-file_type = body pawpowshuns file
|
||||
|
||||
## Tracker manual proportions setup
|
||||
@@ -789,6 +839,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
ur twackews and headset awe wowking pwopewwy within the SwimeVR sewvew.
|
||||
ur headset is wepowting positionyaw data to the SwimeVR sewvew (this genyewawwy wenyewawwy means having SteamVR wunnying and connyected to SwimeVR using SwimeVR's SteamVR dwivew).
|
||||
onboarding-automatic_proportions-requirements-next = i have wed da wequiwemens
|
||||
onboarding-automatic_proportions-check_height-title = check youw height
|
||||
onboarding-automatic_proportions-check_height-description = we use youw height as a basis of ouw measuwements by using da hmd's height as an appwoximashun of youw actuwaw height, but is better to check if they are right youwsewf!
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = pwease pwess da button while standing <u>upwight</u> to cawcuwate youw height. you hav 3 second aftew you pwess da button! >w<
|
||||
onboarding-automatic_proportions-check_height-fetch_height = am standing!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = unnown
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = youw hmd heit is
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = so youw actuaw heit is
|
||||
onboarding-automatic_proportions-check_height-next_step = dey awe fine
|
||||
onboarding-automatic_proportions-start_recording-title = get wowdy to move
|
||||
onboarding-automatic_proportions-start_recording-description = we'we now going to wowcawd some specific poses and moves. these will be pwompted in teh wowst screen. be wowdy to stawt when teh buttawn is pwessed!
|
||||
onboarding-automatic_proportions-start_recording-next = stawt wowcawding
|
||||
@@ -818,6 +880,10 @@ onboarding-automatic_proportions-verify_results-redo = wedo wecowding
|
||||
onboarding-automatic_proportions-verify_results-confirm = tehywee coowect
|
||||
onboarding-automatic_proportions-done-title = bawdy meowsured anwd sayved uwu
|
||||
onboarding-automatic_proportions-done-description = yoww body pwopowwtions cawybowwation is cowowplete! ^w^
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>wawning:</b> an ewwow was fownd whiwe estimating pawpowshuns! ;w;
|
||||
pwease <docs>check da docs</docs> or join ouw <discord>Discord</discord> fow hewp >~>
|
||||
onboarding-automatic_proportions-error_modal-confirm = undewstood!
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
@@ -109,6 +109,9 @@ widget-overlay-is_mirrored_label = Display Overlay as Mirror
|
||||
## Widget: Drift compensation
|
||||
widget-drift_compensation-clear = Clear drift compensation
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
widget-clear_mounting = Clear reset mounting
|
||||
|
||||
## Widget: Developer settings
|
||||
widget-developer_mode = Developer Mode
|
||||
widget-developer_mode-high_contrast = High contrast
|
||||
@@ -147,9 +150,15 @@ tracker-table-column-url = URL
|
||||
|
||||
## Tracker rotation
|
||||
tracker-rotation-front = Front
|
||||
tracker-rotation-front_left = Front-Left
|
||||
tracker-rotation-front_right = Front-Right
|
||||
tracker-rotation-left = Left
|
||||
tracker-rotation-right = Right
|
||||
tracker-rotation-back = Back
|
||||
tracker-rotation-back_left = Back-Left
|
||||
tracker-rotation-back_right = Back-Right
|
||||
tracker-rotation-custom = Custom
|
||||
tracker-rotation-overriden = (overriden by mounting reset)
|
||||
|
||||
## Tracker information
|
||||
tracker-infos-manufacturer = Manufacturer
|
||||
@@ -249,6 +258,8 @@ settings-sidebar-osc_router = OSC router
|
||||
settings-sidebar-osc_trackers = VRChat OSC Trackers
|
||||
settings-sidebar-utils = Utilities
|
||||
settings-sidebar-serial = Serial console
|
||||
settings-sidebar-appearance = Appearance
|
||||
settings-sidebar-notifications = Notifications
|
||||
|
||||
## SteamVR settings
|
||||
settings-general-steamvr = SteamVR
|
||||
@@ -311,14 +322,38 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip can R
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap attempts to guess the rotation of your feet if feet trackers are not in use.
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant rotates your feet to be parallel to the ground when in contact.
|
||||
settings-general-fk_settings-leg_fk = Leg tracking
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Enable feet Mounting Reset by tiptoeing.
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet = Feet Mounting Reset
|
||||
settings-general-fk_settings-arm_fk = Arm tracking
|
||||
settings-general-fk_settings-arm_fk-description = Force arms to be tracked from the HMD even if positional hand data is available.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Force arms from HMD
|
||||
settings-general-fk_settings-skeleton_settings = Skeleton settings
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Change which arm pose is expected for mounting reset.
|
||||
settings-general-fk_settings-arm_fk-back = Back
|
||||
settings-general-fk_settings-arm_fk-back-description = The default mode, with the upper arms going back and lower arms going forward.
|
||||
settings-general-fk_settings-arm_fk-tpose_up = T-pose (up)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = Expects your arms to be down on the sides during Full Reset, and 90 degrees up to the sides during Mounting Reset.
|
||||
settings-general-fk_settings-arm_fk-tpose_down = T-pose (down)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = Expects your arms to be 90 degrees up to the sides during Full Reset, and down on the sides during Mounting Reset.
|
||||
settings-general-fk_settings-arm_fk-forward = Forward
|
||||
settings-general-fk_settings-arm_fk-forward-description = Expects your arms to be up 90 degrees forward. Useful for VTubing.
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Skeleton toggles
|
||||
settings-general-fk_settings-skeleton_settings-description = Toggle skeleton settings on or off. It is recommended to leave these on.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Extended spine
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Extended pelvis
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Extended knee
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Extended spine model
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Extended pelvis model
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Extended knee model
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Skeleton ratios
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Change the values of skeleton settings. You may need to adjust your proportions after changing these.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Impute waist from chest to hip
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Impute waist from chest to legs
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Impute hip from chest to legs
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Impute hip from waist to legs
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Average the hip's yaw and roll with the legs'
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Average the knee trackers' yaw and roll with the ankles'
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Average the knees' yaw and roll with the ankles'
|
||||
|
||||
settings-general-fk_settings-self_localization-title = Mocap mode
|
||||
settings-general-fk_settings-self_localization-description = Mocap Mode allows the skeleton to roughly track its own position without a headset or other trackers. Note that this requires feet and head trackers to work and is still experimental.
|
||||
|
||||
settings-general-fk_settings-vive_emulation-title = Vive emulation
|
||||
settings-general-fk_settings-vive_emulation-description = Emulate the waist tracker problems that Vive trackers have. This is a joke and makes tracking worse.
|
||||
settings-general-fk_settings-vive_emulation-label = Enable Vive emulation
|
||||
@@ -326,13 +361,19 @@ settings-general-fk_settings-vive_emulation-label = Enable Vive emulation
|
||||
## Gesture control settings (tracker tapping)
|
||||
settings-general-gesture_control = Gesture control
|
||||
settings-general-gesture_control-subtitle = Tap based resets
|
||||
settings-general-gesture_control-description = Allows for resets to be triggered by tapping a tracker. The tracker highest up on your torso is used for Yaw Reset, the tracker highest up on your left leg is used for Full Reset, and the tracker highest up on your right leg is used for Mounting Reset. It should be mentioned that taps must happen within 0.6 seconds to be registered.
|
||||
settings-general-gesture_control-description = Allows for resets to be triggered by tapping a tracker. The tracker highest up on your torso is used for Yaw Reset, the tracker highest up on your left leg is used for Full Reset, and the tracker highest up on your right leg is used for Mounting Reset. Taps must occur within the time limit of 0.3 seconds times the number of taps to be recognized.
|
||||
# This is a unit: 3 taps, 2 taps, 1 tap
|
||||
# $amount (Number) - Amount of taps (touches to the tracker's case)
|
||||
settings-general-gesture_control-taps = { $amount ->
|
||||
[one] 1 tap
|
||||
*[other] { $amount } taps
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers = { $amount ->
|
||||
[one] 1 tracker
|
||||
*[other] { $amount } trackers
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Enable tap to yaw reset
|
||||
settings-general-gesture_control-yawResetDelay = Yaw reset delay
|
||||
settings-general-gesture_control-yawResetTaps = Taps for yaw reset
|
||||
@@ -342,23 +383,37 @@ settings-general-gesture_control-fullResetTaps = Taps for full reset
|
||||
settings-general-gesture_control-mountingResetEnabled = Enable tap to reset mounting
|
||||
settings-general-gesture_control-mountingResetDelay = Mounting reset delay
|
||||
settings-general-gesture_control-mountingResetTaps = Taps for mounting reset
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Trackers over threshold
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Increase this value if tap detection is not working. Do not increase it above what is needed to make tap detection work as it would cause more false positives.
|
||||
|
||||
## Interface settings
|
||||
settings-general-interface = Interface
|
||||
## Appearance settings
|
||||
settings-interface-appearance = Appearance
|
||||
settings-general-interface-dev_mode = Developer Mode
|
||||
settings-general-interface-dev_mode-description = This mode can be useful if you need in-depth data or to interact with connected trackers on a more advanced level.
|
||||
settings-general-interface-dev_mode-label = Developer Mode
|
||||
settings-general-interface-serial_detection = Serial device detection
|
||||
settings-general-interface-serial_detection-description = This option will show a pop-up every time you plug a new serial device that could be a tracker. It helps improving the setup process of a tracker.
|
||||
settings-general-interface-serial_detection-label = Serial device detection
|
||||
settings-general-interface-feedback_sound = Feedback sound
|
||||
settings-general-interface-feedback_sound-description = This option will play a sound when a reset is triggered
|
||||
settings-general-interface-feedback_sound-label = Feedback sound
|
||||
settings-general-interface-feedback_sound-volume = Feedback sound volume
|
||||
settings-general-interface-theme = Color theme
|
||||
settings-general-interface-lang = Select language
|
||||
settings-general-interface-lang-description = Change the default language you want to use.
|
||||
settings-general-interface-lang-placeholder = Select the language to use
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = GUI font
|
||||
settings-interface-appearance-font-description = This changes the font used by the interface.
|
||||
settings-interface-appearance-font-placeholder = Default font
|
||||
settings-interface-appearance-font-os_font = OS font
|
||||
settings-interface-appearance-font-slime_font = Default font
|
||||
settings-interface-appearance-font_size = Base font scaling
|
||||
settings-interface-appearance-font_size-description = This affects the font size of the whole interface except this settings panel.
|
||||
|
||||
## Notification settings
|
||||
settings-interface-notifications = Notifications
|
||||
settings-general-interface-serial_detection = Serial device detection
|
||||
settings-general-interface-serial_detection-description = This option will show a pop-up every time you plug a new serial device that could be a tracker. It helps improving the setup process of a tracker.
|
||||
settings-general-interface-serial_detection-label = Serial device detection
|
||||
settings-general-interface-feedback_sound = Feedback sound
|
||||
settings-general-interface-feedback_sound-description = This option will play a sound when a reset is triggered.
|
||||
settings-general-interface-feedback_sound-label = Feedback sound
|
||||
settings-general-interface-feedback_sound-volume = Feedback sound volume
|
||||
|
||||
## Serial settings
|
||||
settings-serial = Serial Console
|
||||
@@ -442,7 +497,7 @@ settings-osc-vmc-enable = Enable
|
||||
settings-osc-vmc-enable-description = Toggle the sending and receiving of data.
|
||||
settings-osc-vmc-enable-label = Enable
|
||||
settings-osc-vmc-network = Network ports
|
||||
settings-osc-vmc-network-description = Set the ports for listening and sending data via VMC
|
||||
settings-osc-vmc-network-description = Set the ports for listening and sending data via VMC.
|
||||
settings-osc-vmc-network-port_in =
|
||||
.label = Port In
|
||||
.placeholder = Port in (default: 39540)
|
||||
@@ -450,10 +505,10 @@ settings-osc-vmc-network-port_out =
|
||||
.label = Port Out
|
||||
.placeholder = Port out (default: 39539)
|
||||
settings-osc-vmc-network-address = Network address
|
||||
settings-osc-vmc-network-address-description = Choose which address to send out data at via VMC
|
||||
settings-osc-vmc-network-address-description = Choose which address to send out data at via VMC.
|
||||
settings-osc-vmc-network-address-placeholder = IPV4 address
|
||||
settings-osc-vmc-vrm = VRM Model
|
||||
settings-osc-vmc-vrm-description = Load a VRM model to allow head anchor and enable a higher compatibility with other applications
|
||||
settings-osc-vmc-vrm-description = Load a VRM model to allow head anchor and enable a higher compatibility with other applications.
|
||||
settings-osc-vmc-vrm-model_unloaded = No model loaded
|
||||
settings-osc-vmc-vrm-model_loaded = { $titled ->
|
||||
*[false] Untitled model loaded
|
||||
@@ -569,8 +624,8 @@ onboarding-assignment_tutorial = How to prepare a Slime Tracker before putting i
|
||||
onboarding-assignment_tutorial-first_step = 1. Place a body part sticker (if you have one) on the tracker according to your choosing
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Sticker
|
||||
onboarding-assignment_tutorial-second_step = 2. Attach the strap to your tracker, keeping the hook and loop side of the strap face in the following orientation:
|
||||
onboarding-assignment_tutorial-second_step-continuation = The hook and loop side for the extension should be in this orientation:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. Attach the strap to your tracker, keeping the velcro side of the strap facing the same direction as the slime face of your tracker:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = The velcro side for the extension should be facing up like the following image:
|
||||
onboarding-assignment_tutorial-done = I put stickers and straps!
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -695,12 +750,18 @@ onboarding-choose_proportions-description = Body proportions are used to know th
|
||||
onboarding-choose_proportions-auto_proportions = Automatic proportions
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Recommended
|
||||
onboarding-choose_proportions-auto_proportions-description = This will guess your proportions by recording a sample of your movements and passing it through an algorithm
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
This will guess your proportions by recording a sample of your movements and passing it through an algorithm.
|
||||
|
||||
<b>This requires having your HMD connected to SlimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Manual proportions
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = For small touches
|
||||
onboarding-choose_proportions-manual_proportions-description = This will let you adjust your proportions manually by modifying them directly
|
||||
onboarding-choose_proportions-export = Export proportions
|
||||
onboarding-choose_proportions-import = Import proportions
|
||||
onboarding-choose_proportions-import-success = Imported
|
||||
onboarding-choose_proportions-import-failed = Failed
|
||||
onboarding-choose_proportions-file_type = Body proportions file
|
||||
|
||||
## Tracker manual proportions setup
|
||||
@@ -729,6 +790,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
Your trackers and headset are working properly within the SlimeVR server.
|
||||
Your headset is reporting positional data to the SlimeVR server (this generally means having SteamVR running and connected to SlimeVR using SlimeVR's SteamVR driver).
|
||||
onboarding-automatic_proportions-requirements-next = I have read the requirements
|
||||
onboarding-automatic_proportions-check_height-title = Check your height
|
||||
onboarding-automatic_proportions-check_height-description = We use your height as a basis of our measurements by using the HMD's height as an approximation of your actual height, but it's better to check if they are right yourself!
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Please press the button while standing <u>upright</u> to calculate your height. You have 3 seconds after you press the button!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = I'm standing!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Unknown
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = Your HMD height is
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = so your actual height is
|
||||
onboarding-automatic_proportions-check_height-next_step = They are fine
|
||||
onboarding-automatic_proportions-start_recording-title = Get ready to move
|
||||
onboarding-automatic_proportions-start_recording-description = We're now going to record some specific poses and moves. These will be prompted in the next screen. Be ready to start when the button is pressed!
|
||||
onboarding-automatic_proportions-start_recording-next = Start Recording
|
||||
@@ -757,6 +830,10 @@ onboarding-automatic_proportions-verify_results-redo = Redo recording
|
||||
onboarding-automatic_proportions-verify_results-confirm = They're correct
|
||||
onboarding-automatic_proportions-done-title = Body measured and saved.
|
||||
onboarding-automatic_proportions-done-description = Your body proportions' calibration is complete!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>Warning:</b> An error was found while estimating proportions!
|
||||
Please <docs>check the docs</docs> or join our <discord>Discord</discord> for help ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Understood!
|
||||
|
||||
## Home
|
||||
home-no_trackers = No trackers detected or assigned
|
||||
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = Mano derecha
|
||||
body_part-RIGHT_UPPER_LEG = Muslo derecho
|
||||
body_part-RIGHT_LOWER_LEG = Tobillo derecho
|
||||
body_part-RIGHT_FOOT = Pie derecho
|
||||
body_part-UPPER_CHEST = Pecho superior
|
||||
body_part-CHEST = Pecho
|
||||
body_part-WAIST = Cintura
|
||||
body_part-HIP = Cadera
|
||||
@@ -53,8 +54,9 @@ skeleton_bone-NONE = Nada
|
||||
skeleton_bone-HEAD = Inclinación de cabeza
|
||||
skeleton_bone-NECK = Largo del cuello
|
||||
skeleton_bone-torso_group = Largo del torso
|
||||
skeleton_bone-CHEST = Largo del pecho
|
||||
skeleton_bone-UPPER_CHEST = Largo del pecho superior
|
||||
skeleton_bone-CHEST_OFFSET = Chest Offset
|
||||
skeleton_bone-CHEST = Largo del pecho
|
||||
skeleton_bone-WAIST = Largo de la cintura
|
||||
skeleton_bone-HIP = Largo de la cadera
|
||||
skeleton_bone-HIP_OFFSET = Desplazamiento de la cadera
|
||||
@@ -118,7 +120,11 @@ widget-overlay-is_mirrored_label = Mostrar interfaz reflejada
|
||||
|
||||
## Widget: Drift compensation
|
||||
|
||||
widget-drift_compensation-clear = Limpiar compensación de desviación
|
||||
widget-drift_compensation-clear = Olvidar compensación de drift
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Olvidar reinicio de montura
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Frente
|
||||
tracker-rotation-front_left = Frente izquierdo
|
||||
tracker-rotation-front_right = Frente derecho
|
||||
tracker-rotation-left = Izquierda
|
||||
tracker-rotation-right = Derecha
|
||||
tracker-rotation-back = Atrás
|
||||
tracker-rotation-back_left = Atrás izquierdo
|
||||
tracker-rotation-back_right = Atrás derecho
|
||||
tracker-rotation-custom = Personalizado
|
||||
tracker-rotation-overriden = (siendo invalidado por el reinicio de montura)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } muslo derec
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } tobillo derecho?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } pie derecho?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } mando derecho?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } pecho superior?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } pecho?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } cintura?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } cadera?
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = Router OSC
|
||||
settings-sidebar-osc_trackers = Sensores OSC de VRChat
|
||||
settings-sidebar-utils = Utilidades
|
||||
settings-sidebar-serial = Consola serial
|
||||
settings-sidebar-appearance = Apariencia
|
||||
settings-sidebar-notifications = Notificaciones
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -336,11 +351,21 @@ settings-general-fk_settings-leg_fk = Tracking de piernas
|
||||
settings-general-fk_settings-arm_fk = Trackeo de brazos
|
||||
settings-general-fk_settings-arm_fk-description = Cambia cómo el movimiento de los brazos es detectado.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Forzar brazos desde el HMD
|
||||
settings-general-fk_settings-skeleton_settings = Ajustes de esqueleto
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Interruptores del esqueleto
|
||||
settings-general-fk_settings-skeleton_settings-description = Habilita o deshabilita los ajustes de esqueleto. Es recomendado dejar estos ajustes habilitados.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Extención de columna
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Extención de pelvis
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Extención de rodillas
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modelo extendido de la columna
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Modelo extendido del pelvis
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modelo extendido de la rodilla
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Radios del esqueleto
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Cambia los valores de los ajustes del esqueleto. Podes llegar a necesitar reajustar tus proporciones después de cambiar estos valores.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Imputar de la cintura al pecho hasta la cadera
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Imputar de la cintura al pecho hasta las piernas
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Imputar de la cadera al pecho hasta las piernas
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Imputar de la cadera a la cintura hasta las piernas
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Promediar la rotación del eje vertical y horizontal de la cadera con la de las piernas
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Promediar la rotación del eje vertical y horizontal de la rodilla con la de los tobillos
|
||||
settings-general-fk_settings-self_localization-title = Modo mocap
|
||||
settings-general-fk_settings-self_localization-description = El modo mocap permite al esqueleto rastrear de forma aproximada su propia posición sin un casco o otros sensores. Nota que esto requiere que los trackers en el pie y cabeza estén y sigue siendo experimental.
|
||||
settings-general-fk_settings-vive_emulation-title = Vive emulation
|
||||
settings-general-fk_settings-vive_emulation-description = Emulate the waist tracker problems that Vive trackers have. This is a joke and makes tracking worse.
|
||||
settings-general-fk_settings-vive_emulation-label = Habilitar emulación de Vive
|
||||
@@ -357,6 +382,13 @@ settings-general-gesture_control-taps =
|
||||
[one] 1 toque
|
||||
*[other] { $amount } toques
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 tracker
|
||||
*[other] { $amount } trackers
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Activar toques para reinicio horizontal
|
||||
settings-general-gesture_control-yawResetDelay = Retraso del reinicio horizontal
|
||||
settings-general-gesture_control-yawResetTaps = Toques para reinicio horizontal
|
||||
@@ -366,13 +398,32 @@ settings-general-gesture_control-fullResetTaps = Toques para reinicio completo
|
||||
settings-general-gesture_control-mountingResetEnabled = Activar toques para reinicio de montura
|
||||
settings-general-gesture_control-mountingResetDelay = Retraso del reinicio de montura
|
||||
settings-general-gesture_control-mountingResetTaps = Toques para reinicio de montura
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Trackers sobre el límite
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Aumente este valor si la detección de toques no funciona. No lo aumente mas de lo necesario para que funciona ya que puede causar que la detección tenga más falsas positivas.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Interfaz
|
||||
settings-interface-appearance = Apariencia
|
||||
settings-general-interface-dev_mode = Modo desarrollador
|
||||
settings-general-interface-dev_mode-description = Este modo puede ser útil si es que necesitas información a fondo o para un nivel de interacción más avanzado con los sensores conectados.
|
||||
settings-general-interface-dev_mode-label = Modo desarrollador
|
||||
settings-general-interface-theme = Tema de color
|
||||
settings-general-interface-lang = Selecciona un idioma
|
||||
settings-general-interface-lang-description = Cambia el idioma que quieras usar.
|
||||
settings-general-interface-lang-placeholder = Selecciona el idioma a utilizar
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = Fuente de la interfaz
|
||||
settings-interface-appearance-font-description = Esto cambia el estilo de letra utilizado por la interfaz.
|
||||
settings-interface-appearance-font-placeholder = Fuente predeterminada
|
||||
settings-interface-appearance-font-os_font = Fuente del sistema operativo
|
||||
settings-interface-appearance-font-slime_font = Fuente predeterminada
|
||||
settings-interface-appearance-font_size = Tamaño base de la fuente
|
||||
settings-interface-appearance-font_size-description = Esto afecta al tamaño de las letras en toda la interfaz excepto en este panel de ajustes.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Notificaciones
|
||||
settings-general-interface-serial_detection = Detección de dispositivo serial
|
||||
settings-general-interface-serial_detection-description = Esta opción mostrará un notificación cada vez que conectes un nuevo dispositivo serial que pueda ser un sensor. Ayuda a mejorar el proceso de configuración de un sensor.
|
||||
settings-general-interface-serial_detection-label = Detección de dispositivo serial
|
||||
@@ -380,10 +431,6 @@ settings-general-interface-feedback_sound = Sonido de feedback
|
||||
settings-general-interface-feedback_sound-description = Esta opción reproducirá un sonido cuando se realice un reinicio.
|
||||
settings-general-interface-feedback_sound-label = Sonido de feedback
|
||||
settings-general-interface-feedback_sound-volume = Volumen del sonido de feedback
|
||||
settings-general-interface-theme = Tema de color
|
||||
settings-general-interface-lang = Selecciona un idioma
|
||||
settings-general-interface-lang-description = Cambia el idioma que quieras usar.
|
||||
settings-general-interface-lang-placeholder = Selecciona el idioma a utilizar
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -527,25 +574,25 @@ onboarding-wifi_creds-password =
|
||||
|
||||
onboarding-reset_tutorial-back = Volver a la calibración de montura
|
||||
onboarding-reset_tutorial = Reiniciar tutorial
|
||||
onboarding-reset_tutorial-description = Esta aún parte no está finalizada, por favor presione continuar
|
||||
onboarding-reset_tutorial-explanation = Mientras estés usando tus trackers, estos pueden empezar a desalinearse por el drift horizontal del IMU, o porque los moviste físicamente. Hay varias formas de arreglar este tipo de problemas.
|
||||
onboarding-reset_tutorial-skip = Saltar paso
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-0 =
|
||||
Toca { $taps } veces el tracker resaltado para activar el reinicio horizontal.
|
||||
|
||||
|
||||
Esto va a hacer que tus sensores miren para la misma dirección que tu HMD.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-1 =
|
||||
Toca { $taps } veces el tracker resaltado para activar el reinicio completo.
|
||||
|
||||
|
||||
Se requiere que estas de forma parada (pose en i). Esto tiene un delay de 3 segundos (configurable) antes de que actualmente suceda.
|
||||
Esto reinicia completamente la posición y rotación de todos tus sensores, debería de arreglar la mayoría de tus problemas.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-2 =
|
||||
Toca { $taps } veces el tracker resaltado para activar el reinicio de montura.
|
||||
|
||||
|
||||
El reinicio de montura ayuda en como tus sensores están puestos en tu cuerpo, ya que si los movistes o cambiaste para donde están orientados bastante, esto debería de ayudar.
|
||||
|
||||
|
||||
Requiere que estas en una pose como que estás esquiando, como se muestra en el tutorial de montura automática y tenes un retraso de 3 segundos (configurable) antes de que actualmente suceda.
|
||||
|
||||
## Setup start
|
||||
@@ -612,8 +659,8 @@ onboarding-assignment_tutorial = Como preparar un Tracker Slime antes de ponerte
|
||||
onboarding-assignment_tutorial-first_step = 1. Pon un sticker con la parte del cuerpo de tu elección (si tenes uno)
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Sticker
|
||||
onboarding-assignment_tutorial-second_step = 2. Coloque la correa en el tracker, manteniendo el lado con velcro de la correa en la siguiente orientación:
|
||||
onboarding-assignment_tutorial-second_step-continuation = El lado con velcro en las extensiones deben también estar en la siguiente orientación:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. Coloca la tira de velcro a tu tracker, manteniendo el lado del velcro de la tira, mirando para la misma dirección que la cara del slime de tu sensor:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = El lado del velcro de la tira para la extensión deberá estar viendo para arriba como en la siguiente imagen:
|
||||
onboarding-assignment_tutorial-done = ¡Puse las correas y stickers!
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -707,11 +754,11 @@ onboarding-choose_mounting = ¿Qué método de calibración de montura quiere us
|
||||
onboarding-choose_mounting-description = La orientación de montura corrige la colocación (o orientación) de los trackers en tu cuerpo.
|
||||
onboarding-choose_mounting-auto_mounting = Montura automática
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-subtitle = Recomendado
|
||||
onboarding-choose_mounting-auto_mounting-label = Experimental
|
||||
onboarding-choose_mounting-auto_mounting-description = Esto detectará automáticamente las direcciones de montura para todos tus trackers a partir de 2 poses
|
||||
onboarding-choose_mounting-manual_mounting = Montura manual
|
||||
# Italized text
|
||||
onboarding-choose_mounting-manual_mounting-subtitle = Si sabes lo que estás haciendo
|
||||
onboarding-choose_mounting-manual_mounting-label = Recomendado
|
||||
onboarding-choose_mounting-manual_mounting-description = Esto te permitirá elegir la dirección de montura manualmente para cada tracker.
|
||||
|
||||
## Tracker manual mounting setup
|
||||
@@ -753,7 +800,9 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = Proporciones automáticas
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Recomendado
|
||||
onboarding-choose_proportions-auto_proportions-description = Esto adivinará tus proporciones en base de muestras de tus movimientos y pasándola a través de un algoritmo.
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
Esto adivinará tus proporciones grabando una muestra de tus movimientos y pasándola por un algoritmo.
|
||||
<b>¡Esto requiere tener tu VR conectado a SlimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Proporciones manuales
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Para toques pequeños
|
||||
@@ -789,6 +838,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
Tus trackers y VR están funcionando correctamente con el servidor de SlimeVR.
|
||||
Tu VR está reportando datos posicionales al servidor de SlimeVR (esto generalmente implica que SteamVR esté corriendo y conectado a SlimeVR usando el driver de SlimeVR para SteamVR).
|
||||
onboarding-automatic_proportions-requirements-next = He leído los requisitos
|
||||
onboarding-automatic_proportions-check_height-title = Compruebe su altura
|
||||
onboarding-automatic_proportions-check_height-description = Utilizamos tu altura como base de nuestras mediciones utilizando la altura del VR como aproximación a tu altura real, ¡Pero es mejor que compruebes tú mismo si son correctas!
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Por favor, pulse el botón mientras está <u>de pie</u> para calcular su altura. ¡Tienes unos 3 segundos después de pulsar el botón!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Estoy de pie
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Desconocida
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = La altura de tu HMD es
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = entonces tu altura real es
|
||||
onboarding-automatic_proportions-check_height-next_step = Están bien
|
||||
onboarding-automatic_proportions-start_recording-title = Prepárate para moverte
|
||||
onboarding-automatic_proportions-start_recording-description = Ahora vamos a grabar poses y movimientos en específico. Estas serán mostradas en la siguiente ventana. ¡Prepárate para empezar cuando presiones el botón!
|
||||
onboarding-automatic_proportions-start_recording-next = Empezar grabación
|
||||
@@ -818,6 +879,10 @@ onboarding-automatic_proportions-verify_results-redo = Rehacer grabación
|
||||
onboarding-automatic_proportions-verify_results-confirm = Son correctos
|
||||
onboarding-automatic_proportions-done-title = Cuerpo medido y guardado.
|
||||
onboarding-automatic_proportions-done-description = ¡La calibración de tus proporciones corporales fue completada!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>Atención:</b> ¡Se ha encontrado un error durante la estimación de sus proporciones!
|
||||
Por favor <docs>fijate la documentación</docs> o únete a nuestro <discord>Discord</discord> para obtener ayuda ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = ¡Entendido!
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
514
gui/public/i18n/es-ES/translation.ftl
Normal file
@@ -0,0 +1,514 @@
|
||||
# Please developers (not translators) don't reuse a key inside another key
|
||||
# or concat text with a translation string in the code, use the appropriate
|
||||
# features like variables and selectors in each appropriate case!
|
||||
# And also comment the string if it's something not easy to translate, so you help
|
||||
# translators on what it means
|
||||
|
||||
|
||||
## Websocket (server) status
|
||||
|
||||
websocket-connecting = Conectándose al servidor
|
||||
websocket-connection_lost = Conexión con el servidor perdida. Intentando reconectar...
|
||||
|
||||
## Update notification
|
||||
|
||||
version_update-title = Nueva versión disponible: { $version }
|
||||
version_update-description = Al hacer clic en "{ version_update-update }" se descargará el instalador de SlimeVR.
|
||||
version_update-update = Actualizar
|
||||
version_update-close = Cerrar
|
||||
|
||||
## Tips
|
||||
|
||||
tips-find_tracker = ¿No estás seguro de qué tracker es el correcto? Agitalo y se resaltará el tracker correspondiente.
|
||||
tips-do_not_move_heels = Asegúrate de no mover los talones durante el guardado de datos.
|
||||
tips-file_select = Arrastra y suelta los archivos para usarlos o <u>navega</u>.
|
||||
tips-tap_setup = Haz clic en el menú o golpea suavemente el tracker 2 veces para seleccionarlo automaticamente.
|
||||
|
||||
## Body parts
|
||||
|
||||
body_part-NONE = Sin asignar
|
||||
body_part-HEAD = Cabeza
|
||||
body_part-NECK = Cuello
|
||||
body_part-RIGHT_SHOULDER = Hombro derecho
|
||||
body_part-RIGHT_UPPER_ARM = Brazo derecho
|
||||
body_part-RIGHT_LOWER_ARM = Antebrazo derecho
|
||||
body_part-RIGHT_HAND = Mano derecha
|
||||
body_part-RIGHT_UPPER_LEG = Muslo derecho
|
||||
body_part-RIGHT_LOWER_LEG = Tobillo derecho
|
||||
body_part-RIGHT_FOOT = Pie derecho
|
||||
body_part-UPPER_CHEST = Abdomen superior
|
||||
body_part-CHEST = Pecho
|
||||
body_part-WAIST = Cintura
|
||||
body_part-HIP = Cadera
|
||||
body_part-LEFT_SHOULDER = Hombro izquierdo
|
||||
body_part-LEFT_UPPER_ARM = Brazo izquierdo
|
||||
body_part-LEFT_LOWER_ARM = Antebrazo izquierdo
|
||||
body_part-LEFT_HAND = Mano izquierda
|
||||
body_part-LEFT_UPPER_LEG = Muslo izquierdo
|
||||
body_part-LEFT_LOWER_LEG = Tobillo Izquierdo
|
||||
body_part-LEFT_FOOT = Pie izquierdo
|
||||
|
||||
## Proportions
|
||||
|
||||
skeleton_bone-NONE = Ninguno
|
||||
skeleton_bone-HEAD = Desplazamiento de la cabeza
|
||||
skeleton_bone-NECK = Longitud del cuello
|
||||
skeleton_bone-torso_group = Longitud del torso
|
||||
skeleton_bone-UPPER_CHEST = Longitud del torso superior
|
||||
skeleton_bone-CHEST_OFFSET = Compensacion del pecho
|
||||
skeleton_bone-CHEST = Longitud del pecho
|
||||
skeleton_bone-WAIST = Longitud de cintura
|
||||
skeleton_bone-HIP = Longitud de cadera
|
||||
skeleton_bone-HIP_OFFSET = Compensacion de cadera
|
||||
skeleton_bone-HIPS_WIDTH = Ancho de la Cadera
|
||||
skeleton_bone-leg_group = Largo de las piernas
|
||||
skeleton_bone-UPPER_LEG = Largo de la zona alta de las piernas
|
||||
skeleton_bone-LOWER_LEG = Largo de la zona baja de las piernas
|
||||
skeleton_bone-FOOT_LENGTH = Largo del pie
|
||||
skeleton_bone-FOOT_SHIFT = Desplazamiento del pie
|
||||
skeleton_bone-SKELETON_OFFSET = Compensacion del esqueleto
|
||||
skeleton_bone-SHOULDERS_DISTANCE = Distancia de los hombros
|
||||
skeleton_bone-SHOULDERS_WIDTH = Ancho de los hombros
|
||||
skeleton_bone-arm_group = Largo del brazo
|
||||
skeleton_bone-UPPER_ARM = Largo de la zona alta del brazo
|
||||
skeleton_bone-LOWER_ARM = Largo del antebrazo
|
||||
skeleton_bone-HAND_Y = Distancia de la mano Y
|
||||
skeleton_bone-HAND_Z = Distancia de la mano Z
|
||||
skeleton_bone-ELBOW_OFFSET = Compensacion de los codos
|
||||
|
||||
## Tracker reset buttons
|
||||
|
||||
reset-reset_all = Reiniciar todas las proporciones
|
||||
reset-full = Reiniciar
|
||||
reset-mounting = Reiniciar montura
|
||||
reset-yaw = Restablecimiento horizontal
|
||||
|
||||
## Serial detection stuff
|
||||
|
||||
serial_detection-new_device-p0 = ¡Nuevo dispositivo serial detectado!
|
||||
serial_detection-new_device-p1 = ¡Introduce las credenciales de tu red Wi-Fi!
|
||||
serial_detection-new_device-p2 = Por favor, selecciona lo que desea hacer con él
|
||||
serial_detection-open_wifi = Conectar a una red Wi-Fi
|
||||
serial_detection-open_serial = Abrir la consola serial
|
||||
serial_detection-submit = ¡Enviar!
|
||||
serial_detection-close = Cerrar
|
||||
|
||||
## Navigation bar
|
||||
|
||||
navbar-home = Inicio
|
||||
navbar-body_proportions = Proporciones corporales
|
||||
navbar-trackers_assign = Asignación de trackers
|
||||
navbar-mounting = Calibración de montura
|
||||
navbar-onboarding = Asistente de Configuración
|
||||
navbar-settings = Configuración
|
||||
|
||||
## Biovision hierarchy recording
|
||||
|
||||
bvh-start_recording = Grabar BVH
|
||||
bvh-recording = Grabando...
|
||||
|
||||
## Tracking pause
|
||||
|
||||
tracking-unpaused = Pausar tracking
|
||||
tracking-paused = Reanudar tracking
|
||||
|
||||
## Widget: Overlay settings
|
||||
|
||||
widget-overlay = Overlay
|
||||
widget-overlay-is_visible_label = Mostrar overlay en SteamVR
|
||||
widget-overlay-is_mirrored_label = Mostrar overlay como espejo
|
||||
|
||||
## Widget: Drift compensation
|
||||
|
||||
widget-drift_compensation-clear = Eliminar compensacion del drift
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Modo de desarrollador
|
||||
widget-developer_mode-high_contrast = Contraste alto
|
||||
widget-developer_mode-precise_rotation = Rotación precisa
|
||||
widget-developer_mode-filter_slimes_and_hmd = Filtrar Slimes y HMD
|
||||
widget-developer_mode-sort_by_name = Ordenar por nombre
|
||||
widget-developer_mode-raw_slime_rotation = Rotación sin filtrar
|
||||
widget-developer_mode-more_info = Más información
|
||||
|
||||
## Widget: IMU Visualizer
|
||||
|
||||
widget-imu_visualizer = Rotación
|
||||
widget-imu_visualizer-rotation_raw = Sin filtrar
|
||||
widget-imu_visualizer-rotation_preview = Previsualización
|
||||
widget-imu_visualizer-rotation_hide = Ocultar
|
||||
|
||||
## Tracker status
|
||||
|
||||
tracker-status-none = Sin estatus
|
||||
tracker-status-busy = Ocupado
|
||||
tracker-status-error = Error
|
||||
tracker-status-disconnected = Desconectado
|
||||
tracker-status-occluded = Ocluída
|
||||
tracker-status-ok = Ok
|
||||
|
||||
## Tracker status columns
|
||||
|
||||
tracker-table-column-name = Nombre
|
||||
tracker-table-column-type = Tipo
|
||||
tracker-table-column-battery = Batería
|
||||
tracker-table-column-ping = Ping
|
||||
tracker-table-column-tps = TPS
|
||||
tracker-table-column-temperature = Temperatura °C
|
||||
tracker-table-column-linear-acceleration = Aceleración X/Y/Z
|
||||
tracker-table-column-rotation = Rotación X/Y/Z
|
||||
tracker-table-column-position = Posición X/Y/Z
|
||||
tracker-table-column-url = URL
|
||||
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Frontal
|
||||
tracker-rotation-front_left = Frontal-Izquierdo
|
||||
tracker-rotation-front_right = Frontal-Derecho
|
||||
tracker-rotation-left = Izquierda
|
||||
tracker-rotation-right = Derecha
|
||||
tracker-rotation-back = Trasero
|
||||
tracker-rotation-back_left = Trasero-Izquierdo
|
||||
tracker-rotation-back_right = Trasero-Derecho
|
||||
tracker-rotation-custom = Personalizado
|
||||
|
||||
## Tracker information
|
||||
|
||||
tracker-infos-manufacturer = Fabricante
|
||||
tracker-infos-display_name = Nombre visible
|
||||
tracker-infos-custom_name = Nombre personalizado
|
||||
tracker-infos-url = URL del Tracker
|
||||
tracker-infos-version = Versión del firmware
|
||||
tracker-infos-hardware_rev = Revisión del hardware
|
||||
tracker-infos-hardware_identifier = ID de hardware
|
||||
tracker-infos-imu = Sensor IMU
|
||||
tracker-infos-board_type = Placa principal
|
||||
|
||||
## Tracker settings
|
||||
|
||||
tracker-settings-back = Volver a la lista de trackers
|
||||
tracker-settings-title = Configuración de los trackers
|
||||
tracker-settings-assignment_section = Asignación
|
||||
tracker-settings-assignment_section-description = Parte del cuerpo que tiene el tracker asignado.
|
||||
tracker-settings-assignment_section-edit = Editar asignación
|
||||
tracker-settings-mounting_section = Posición de montura
|
||||
tracker-settings-mounting_section-description = ¿Donde está montado el tracker?
|
||||
tracker-settings-mounting_section-edit = Editar montura
|
||||
tracker-settings-drift_compensation_section = Permitir compensación de drift
|
||||
tracker-settings-drift_compensation_section-description = ¿Debería este tracker compensar el drifteo cuando la compensación de drifteo está activada?
|
||||
tracker-settings-drift_compensation_section-edit = Permitir compensación de drift
|
||||
# The .<name> means it's an attribute and it's related to the top key.
|
||||
# In this case that is the settings for the assignment section.
|
||||
tracker-settings-name_section = Nombre del tracker
|
||||
tracker-settings-name_section-description = Dale un sobrenombre lindo :)
|
||||
tracker-settings-name_section-placeholder = Pata izquierda del Eevee
|
||||
|
||||
## Tracker part card info
|
||||
|
||||
tracker-part_card-no_name = Sin nombre
|
||||
tracker-part_card-unassigned = Sin asignar
|
||||
|
||||
## Body assignment menu
|
||||
|
||||
body_assignment_menu = ¿Donde quieres que esté este tracker?
|
||||
body_assignment_menu-description = Elige una ubicación donde desees asignar este tracker. También puedes administrar todos los trackers a la vez en lugar de uno por uno.
|
||||
body_assignment_menu-show_advanced_locations = Mostrar asignación de extremidades avanzada
|
||||
body_assignment_menu-manage_trackers = Administrar todos los trackers
|
||||
body_assignment_menu-unassign_tracker = Desasignar tracker
|
||||
|
||||
## Tracker assignment menu
|
||||
|
||||
# A -translation_key (with a dash in the front) means that it's a label.
|
||||
# It can only be used in the translation file, it's nice for reusing names and that kind of stuff.
|
||||
#
|
||||
# We are using it here because english doesn't require changing the text in each case but
|
||||
# maybe your language does.
|
||||
-tracker_selection-part = ¿Que tracker asignar a tu
|
||||
tracker_selection_menu-NONE = ¿Qué tracker deseas desasignar?
|
||||
tracker_selection_menu-HEAD = { -tracker_selection-part } cabeza?
|
||||
tracker_selection_menu-NECK = { -tracker_selection-part } cuello?
|
||||
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } hombro derecho?
|
||||
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } brazo derecho?
|
||||
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } antebrazo derecho?
|
||||
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } mano derecha?
|
||||
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } muslo derecho?
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } tobillo derecho?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } pie derecho?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } pecho?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } cintura?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } cadera?
|
||||
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } hombro izquierdo?
|
||||
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } brazo izquierdo?
|
||||
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } antebrazo izquierdo?
|
||||
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } mano izquierda?
|
||||
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } muslo izquierdo?
|
||||
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } tobillo izquierdo?
|
||||
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } pie izquierdo?
|
||||
tracker_selection_menu-unassigned = Trackers sin asignar
|
||||
tracker_selection_menu-assigned = Trackers asignados
|
||||
tracker_selection_menu-dont_assign = No asignar
|
||||
# This line cares about multilines.
|
||||
# <b>text</b> means that the text should be bold.
|
||||
tracker_selection_menu-neck_warning =
|
||||
<b>Advertencia:</b> Un tracker en el cuello puede ser mortal si está ajustado demasiado fuerte,
|
||||
la correa podría cortar la circulación a tu cabeza!
|
||||
tracker_selection_menu-neck_warning-done = Entiendo los riesgos
|
||||
tracker_selection_menu-neck_warning-cancel = Cancelar
|
||||
|
||||
## Mounting menu
|
||||
|
||||
mounting_selection_menu = ¿Dónde quieres que esté este tracker?
|
||||
mounting_selection_menu-close = Cerrar
|
||||
|
||||
## Sidebar settings
|
||||
|
||||
settings-sidebar-title = Configuración
|
||||
settings-sidebar-general = General
|
||||
settings-sidebar-tracker_mechanics = Mecánicas del tracker
|
||||
settings-sidebar-fk_settings = Configuración del tracking
|
||||
settings-sidebar-gesture_control = Control de los gestos
|
||||
settings-sidebar-interface = Interfaz
|
||||
settings-sidebar-osc_router = Router OSC
|
||||
settings-sidebar-utils = Utilidades
|
||||
settings-sidebar-serial = Consola serial
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
settings-general-steamvr = SteamVR
|
||||
settings-general-steamvr-subtitle = Trackers de SteamVR
|
||||
# Not all translation keys support multiline, only the ones that specify it will actually
|
||||
# split it in lines (that also means you can split in lines however you want in those).
|
||||
# The first spaces (not tabs) for indentation will be ignored, just to make the file look nice when writing.
|
||||
# This one is one of this cases that cares about multilines
|
||||
settings-general-steamvr-description =
|
||||
Activa o desactiva trackers específicos de SteamVR.
|
||||
Útil para juegos o aplicaciones que solo soportan ciertos trackers.
|
||||
settings-general-steamvr-trackers-waist = Cintura
|
||||
settings-general-steamvr-trackers-chest = Pecho
|
||||
settings-general-steamvr-trackers-feet = Pies
|
||||
settings-general-steamvr-trackers-knees = Rodillas
|
||||
settings-general-steamvr-trackers-elbows = Codos
|
||||
settings-general-steamvr-trackers-hands = Manos
|
||||
|
||||
## Tracker mechanics
|
||||
|
||||
settings-general-tracker_mechanics = Mecánicas del tracker
|
||||
settings-general-tracker_mechanics-filtering = Filtro
|
||||
# This also cares about multilines
|
||||
settings-general-tracker_mechanics-filtering-description =
|
||||
Escoge el tipo de filtro para tus trackers.
|
||||
Predicción predice el movimiento mientras que Suavizado suaviza el movimiento.
|
||||
settings-general-tracker_mechanics-filtering-type = Tipo de filtro
|
||||
settings-general-tracker_mechanics-filtering-type-none = Sin filtrar
|
||||
settings-general-tracker_mechanics-filtering-type-none-description = Usa las rotaciones tal como son. No hará ningún filtrado.
|
||||
settings-general-tracker_mechanics-filtering-type-smoothing = Suavizado
|
||||
settings-general-tracker_mechanics-filtering-type-smoothing-description = Suaviza los movimientos pero añade algo de latencia.
|
||||
settings-general-tracker_mechanics-filtering-type-prediction = Predicción
|
||||
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduce la latencia y hace que los movimientos sean mas inmediatos, pero puede aumentar la fluctuación.
|
||||
settings-general-tracker_mechanics-filtering-amount = Cantidad
|
||||
settings-general-tracker_mechanics-drift_compensation = Compensación en la desviación
|
||||
settings-general-tracker_mechanics-drift_compensation-enabled-label = Compensación en la desviación
|
||||
settings-general-tracker_mechanics-drift_compensation-amount-label = Cantidad de compensación
|
||||
|
||||
## FK/Tracking settings
|
||||
|
||||
settings-general-fk_settings = Configuración de FK Tracking
|
||||
# Floor clip:
|
||||
# why the name - came from the idea of noclip in video games, but is the opposite where clipping to the floor is a desired feature
|
||||
# definition - Prevents the foot trackers from going lower than they where when a reset was performed
|
||||
settings-general-fk_settings-leg_tweak-floor_clip = Floor clip
|
||||
# Skating correction:
|
||||
# why the name - without this enabled the feet will often slide across the ground as if your skating across the ground,
|
||||
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
|
||||
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
|
||||
settings-general-fk_settings-leg_tweak-skating_correction = Corrección del patinaje
|
||||
settings-general-fk_settings-leg_tweak-skating_correction-amount = Intensidad de la corrección del patinaje
|
||||
settings-general-fk_settings-leg_fk = Tracking de piernas
|
||||
settings-general-fk_settings-arm_fk = Tracking de brazos
|
||||
settings-general-fk_settings-arm_fk-description = Forzar el seguimiento de los brazos desde el HMD incluso si hay datos de posición de la mano disponibles.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Forzar brazos desde el HMD
|
||||
settings-general-fk_settings-skeleton_settings-description = Activa o desactiva la configuración del esqueleto. Se recomienda dejar esta opción activada.
|
||||
settings-general-fk_settings-vive_emulation-title = Emulación Vive
|
||||
settings-general-fk_settings-vive_emulation-description = Emula los problemas de cintura que lo Vive trackers producen. Es una broma y produce peor tracking.
|
||||
settings-general-fk_settings-vive_emulation-label = Habilitar emulación Vive
|
||||
|
||||
## Gesture control settings (tracker tapping)
|
||||
|
||||
settings-general-gesture_control = Control de gestos
|
||||
settings-general-gesture_control-subtitle = Reinicio basado en toques
|
||||
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface-dev_mode = Modo de desarrollador
|
||||
settings-general-interface-dev_mode-label = Modo de desarrollador
|
||||
settings-general-interface-theme = Temas
|
||||
settings-general-interface-lang = Seleccionar idioma
|
||||
settings-general-interface-lang-description = Cambiar el idioma predeterminado que deseas utilizar.
|
||||
settings-general-interface-lang-placeholder = Seleccionar el idioma que desea utilizar
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-general-interface-serial_detection = Detección de dispositivos seriales
|
||||
settings-general-interface-serial_detection-label = Detección de dispositivos seriales
|
||||
|
||||
## Serial settings
|
||||
|
||||
settings-serial = Consola serial
|
||||
settings-serial-connection_lost = Conexión a puerto serial perdida, Reconectando...
|
||||
settings-serial-reboot = Reiniciar
|
||||
settings-serial-factory_reset = Restablecimiento de fábrica
|
||||
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
|
||||
|
||||
## OSC router settings
|
||||
|
||||
settings-osc-router-enable = Habilitar
|
||||
settings-osc-router-enable-label = Habilitar
|
||||
settings-osc-router-network = Puertos de red
|
||||
settings-osc-router-network-address = Dirección de red
|
||||
settings-osc-router-network-address-placeholder = Dirección IPV4
|
||||
|
||||
## OSC VRChat settings
|
||||
|
||||
settings-osc-vrchat-enable = Habilitar
|
||||
settings-osc-vrchat-enable-label = Habilitar
|
||||
settings-osc-vrchat-network = Puertos de red
|
||||
settings-osc-vrchat-network-address = Dirección de red
|
||||
settings-osc-vrchat-network-trackers = Trackers
|
||||
settings-osc-vrchat-network-trackers-chest = Pecho
|
||||
settings-osc-vrchat-network-trackers-hip = Cadera
|
||||
settings-osc-vrchat-network-trackers-knees = Rodillas
|
||||
settings-osc-vrchat-network-trackers-feet = Pies
|
||||
|
||||
## VMC OSC settings
|
||||
|
||||
settings-osc-vmc-enable = Habilitar
|
||||
settings-osc-vmc-enable-label = Habilitar
|
||||
settings-osc-vmc-network = Puertos de red
|
||||
settings-osc-vmc-network-address = Dirección de red
|
||||
settings-osc-vmc-network-address-placeholder = Dirección IPV4
|
||||
settings-osc-vmc-vrm-model_unloaded = No hay modelo cargado
|
||||
settings-osc-vmc-anchor_hip = Anclar a la cadera
|
||||
settings-osc-vmc-anchor_hip-label = Anclar a la cadera
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
onboarding-skip = Omitir configuración
|
||||
onboarding-continue = Continuar
|
||||
onboarding-previous_step = Paso anterior
|
||||
onboarding-setup_warning-skip = Omitir configuración
|
||||
onboarding-setup_warning-cancel = Continuar con la configuración
|
||||
|
||||
## Wi-Fi setup
|
||||
|
||||
onboarding-wifi_creds-back = Volver a la introducción
|
||||
onboarding-wifi_creds-skip = Omitir configuración Wi-Fi
|
||||
onboarding-wifi_creds-submit = ¡Enviar!
|
||||
|
||||
## Mounting setup
|
||||
|
||||
onboarding-reset_tutorial = Tutorial para resetteo de trackers
|
||||
onboarding-reset_tutorial-skip = Omitir paso
|
||||
|
||||
## Setup start
|
||||
|
||||
onboarding-home = Bienvenido a SlimeVR
|
||||
onboarding-home-start = ¡Vamos a prepararnos!
|
||||
|
||||
## Enter VR part of setup
|
||||
|
||||
onboarding-enter_vr-title = ¡Hora de entrar en VR!
|
||||
onboarding-enter_vr-ready = Estoy listo
|
||||
|
||||
## Setup done
|
||||
|
||||
onboarding-done-title = ¡Todo listo!
|
||||
onboarding-done-close = Cerrar configuración
|
||||
|
||||
## Tracker connection setup
|
||||
|
||||
onboarding-connect_tracker-title = Conectar trackers
|
||||
onboarding-connect_tracker-description-p0 = ¡Ahora a la parte divertida, conectando todos los trackers!
|
||||
onboarding-connect_tracker-issue-serial = ¡Tengo problemas para conectarme!
|
||||
onboarding-connect_tracker-connection_status-none = Buscando trackers
|
||||
onboarding-connect_tracker-connection_status-serial_init = Conectándose al dispositivo serial
|
||||
onboarding-connect_tracker-connection_status-provisioning = Enviando credenciales Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-connecting = Intentando conectarse a una red Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = Buscando servidor
|
||||
onboarding-connect_tracker-connection_status-could_not_find_server = No se pudo encontrar el servidor
|
||||
|
||||
## Tracker calibration tutorial
|
||||
|
||||
onboarding-calibration_tutorial = Tutorial de calibración de IMU
|
||||
onboarding-calibration_tutorial-subtitle = ¡Esto ayudará a reducir el drift de los trackers!
|
||||
onboarding-calibration_tutorial-calibrate = Mis trackers estan en una superficie plana
|
||||
onboarding-calibration_tutorial-status-calibrating = Calibrando
|
||||
onboarding-calibration_tutorial-status-success = ¡Bien!
|
||||
onboarding-calibration_tutorial-status-error = El tracker se ha movido
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Sticker
|
||||
|
||||
## Tracker assignment setup
|
||||
|
||||
onboarding-assign_trackers-title = Asignar trackers
|
||||
onboarding-assign_trackers-advanced = Mostrar ubicaciones de asignación avanzadas
|
||||
onboarding-assign_trackers-next = He asignado todos los trackers
|
||||
|
||||
## Tracker assignment warnings
|
||||
|
||||
|
||||
## Tracker mounting method choose
|
||||
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-label = Experimental
|
||||
# Italized text
|
||||
onboarding-choose_mounting-manual_mounting-label = Recomendado
|
||||
|
||||
## Tracker manual mounting setup
|
||||
|
||||
onboarding-manual_mounting-next = Siguiente paso
|
||||
|
||||
## Tracker automatic mounting setup
|
||||
|
||||
onboarding-automatic_mounting-next = Siguiente paso
|
||||
onboarding-automatic_mounting-prev_step = Paso anterior
|
||||
onboarding-automatic_mounting-done-restart = Volver a intentarlo
|
||||
onboarding-automatic_mounting-preparation-title = Preparación
|
||||
|
||||
## Tracker proportions method choose
|
||||
|
||||
onboarding-choose_proportions-auto_proportions = Proporciones automáticas
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Recomendado
|
||||
onboarding-choose_proportions-manual_proportions = Proporciones manuales
|
||||
onboarding-choose_proportions-export = Exportar proporciones
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-auto = Proporciones automáticas
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
onboarding-automatic_proportions-prev_step = Paso anterior
|
||||
onboarding-automatic_proportions-requirements-title = Requisitos
|
||||
onboarding-automatic_proportions-requirements-next = He leído los requisitos
|
||||
onboarding-automatic_proportions-recording-title = REC
|
||||
onboarding-automatic_proportions-recording-processing = Procesando los resultados
|
||||
onboarding-automatic_proportions-verify_results-title = Verificar resultados
|
||||
onboarding-automatic_proportions-verify_results-processing = Procesando los resultados
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
## Status system
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
### SlimeVR complete GUI translations
|
||||
|
||||
|
||||
# Please developers (not translators) don't reuse a key inside another key
|
||||
# or concat text with a translation string in the code, use the appropriate
|
||||
# features like variables and selectors in each appropriate case!
|
||||
@@ -13,10 +10,19 @@
|
||||
websocket-connecting = Serveriga ühendamine
|
||||
websocket-connection_lost = Ühendus serveriga on kaotatud. Ühenduse taastamine...
|
||||
|
||||
## Update notification
|
||||
|
||||
version_update-title = Uus versioon olemas: { $version }
|
||||
version_update-description = Vajutades "{ version_update-update }" tõmbab programm alla SlimeVR installeri.
|
||||
version_update-update = Värskenda
|
||||
version_update-close = Sulge
|
||||
|
||||
## Tips
|
||||
|
||||
tips-find_tracker = Ei ole kindel milline jälgija on mis? Raputage jälgijat ja vaadake milline jälgija tõstetakse esile.
|
||||
tips-find_tracker = Ei ole kindel milline jälgija on mis? Raputage jälgijat, ning õige jälgija tõstetakse esile.
|
||||
tips-do_not_move_heels = Veenduge, et teie kannad ei liigu salvestamise ajal!
|
||||
tips-file_select = Pukseerige failid kasutamiseks, või <u>sirvi</u>.
|
||||
tips-tap_setup = Saate jälgija valimiseks menüüst valimise asemel aeglaselt oma jälgijat 2 korda puudutada.
|
||||
|
||||
## Body parts
|
||||
|
||||
@@ -30,6 +36,7 @@ body_part-RIGHT_HAND = Parem käsi
|
||||
body_part-RIGHT_UPPER_LEG = Parem reis
|
||||
body_part-RIGHT_LOWER_LEG = Parem säär
|
||||
body_part-RIGHT_FOOT = Parem jalg
|
||||
body_part-UPPER_CHEST = Rinna ülaosa
|
||||
body_part-CHEST = Rind
|
||||
body_part-WAIST = Vöökoht
|
||||
body_part-HIP = Puus
|
||||
@@ -46,19 +53,23 @@ body_part-LEFT_FOOT = Vasak jalg
|
||||
skeleton_bone-NONE = Mitte midagi
|
||||
skeleton_bone-HEAD = Pea Nihe
|
||||
skeleton_bone-NECK = Kaela Pikkus
|
||||
skeleton_bone-CHEST = Chest Length
|
||||
skeleton_bone-CHEST_OFFSET = Chest Offset
|
||||
skeleton_bone-WAIST = Waist Length
|
||||
skeleton_bone-HIP = Hip Lengthskeleton_bone-CHEST = Rinna Vahemaa
|
||||
skeleton_bone-torso_group = Torso pikkus
|
||||
skeleton_bone-UPPER_CHEST = Rinna ülaosa pikkus
|
||||
skeleton_bone-CHEST_OFFSET = Rindkere nihe
|
||||
skeleton_bone-CHEST = Rinna pikkus
|
||||
skeleton_bone-WAIST = Vööümbermõõt
|
||||
skeleton_bone-HIP = Puusa pikkus
|
||||
skeleton_bone-HIP_OFFSET = Puusa Nihe
|
||||
skeleton_bone-HIPS_WIDTH = Puusa Laius
|
||||
skeleton_bone-UPPER_LEG = Upper Leg Length
|
||||
skeleton_bone-leg_group = Jala pikkus
|
||||
skeleton_bone-UPPER_LEG = Jala ülaosa pikkus
|
||||
skeleton_bone-LOWER_LEG = Lower Leg Length
|
||||
skeleton_bone-FOOT_LENGTH = Jala Pikkus
|
||||
skeleton_bone-FOOT_SHIFT = Jala Nihe
|
||||
skeleton_bone-SKELETON_OFFSET = Skeletti Nihe
|
||||
skeleton_bone-SHOULDERS_DISTANCE = Õlgade Kaugus
|
||||
skeleton_bone-SHOULDERS_WIDTH = Õlgade Laius
|
||||
skeleton_bone-arm_group = Käe pikkus
|
||||
skeleton_bone-UPPER_ARM = Õlavarre Pikkus
|
||||
skeleton_bone-LOWER_ARM = Käsivarre Kaugus
|
||||
skeleton_bone-HAND_Y = Käte kaugus Y
|
||||
@@ -70,6 +81,7 @@ skeleton_bone-ELBOW_OFFSET = Küünarnuki Nihe
|
||||
reset-reset_all = Lähtesta kõik proportsioonid
|
||||
reset-full = Lähtesta
|
||||
reset-mounting = Lähtesta Paigaldusasend
|
||||
reset-yaw = Lähtesta lengerdus
|
||||
|
||||
## Serial detection stuff
|
||||
|
||||
@@ -90,11 +102,16 @@ navbar-mounting = Jälgijate Paigalduse Kalibreerimine
|
||||
navbar-onboarding = Häälestusviisard
|
||||
navbar-settings = Seaded
|
||||
|
||||
## Bounding volume hierarchy recording
|
||||
## Biovision hierarchy recording
|
||||
|
||||
bvh-start_recording = Salvesta BVH
|
||||
bvh-recording = Salvestamine...
|
||||
|
||||
## Tracking pause
|
||||
|
||||
tracking-unpaused = Peata jälgimine
|
||||
tracking-paused = Jätka jälgimine
|
||||
|
||||
## Widget: Overlay settings
|
||||
|
||||
widget-overlay = Ülekate
|
||||
@@ -105,13 +122,17 @@ widget-overlay-is_mirrored_label = Näita Ülekatet Peeglina
|
||||
|
||||
widget-drift_compensation-clear = Selgem triivi kompenseerimine
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Lähtesta paigaldusasend
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Arendaja režiim
|
||||
widget-developer_mode-high_contrast = Kõrge kontrastsus
|
||||
widget-developer_mode-precise_rotation = Täpne pööre
|
||||
widget-developer_mode-fast_data_feed = Kiire andmevoog
|
||||
widget-developer_mode-filter_slimes_and_hmd = Filtreerige slimid ja HMD-d
|
||||
widget-developer_mode-filter_slimes_and_hmd = Filtreerige Slimed ja HMD-d
|
||||
widget-developer_mode-sort_by_name = Sorteeri nime järgi
|
||||
widget-developer_mode-raw_slime_rotation = Toores pööre
|
||||
widget-developer_mode-more_info = Rohkem infot
|
||||
@@ -121,6 +142,7 @@ widget-developer_mode-more_info = Rohkem infot
|
||||
widget-imu_visualizer = Rotatsiooni
|
||||
widget-imu_visualizer-rotation_raw = Toores
|
||||
widget-imu_visualizer-rotation_preview = Eelvaade
|
||||
widget-imu_visualizer-rotation_hide = Peida
|
||||
|
||||
## Tracker status
|
||||
|
||||
@@ -147,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Ees
|
||||
tracker-rotation-front_left = Ees vasakul
|
||||
tracker-rotation-front_right = Ees paremal
|
||||
tracker-rotation-left = Vasak
|
||||
tracker-rotation-right = Parem
|
||||
tracker-rotation-back = Taga
|
||||
tracker-rotation-back_left = Taga vasakul
|
||||
tracker-rotation-back_right = Taga paremal
|
||||
tracker-rotation-custom = Kohandatud
|
||||
tracker-rotation-overriden = (tühistatud paigalduse lähtestamine tõttu)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -159,6 +187,9 @@ tracker-infos-custom_name = Kohandatud Nimi
|
||||
tracker-infos-url = Jälgija URL
|
||||
tracker-infos-version = Püsivara versioon
|
||||
tracker-infos-hardware_rev = Riistvara revisjon
|
||||
tracker-infos-hardware_identifier = Riistvara ID
|
||||
tracker-infos-imu = IMU sensor
|
||||
tracker-infos-board_type = Põhiplaat
|
||||
|
||||
## Tracker settings
|
||||
|
||||
@@ -211,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } paremale re
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } paremale säärele?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } paremale jalale?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } paremale kontrollerile?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } rinnale?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } rind?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } vöökoht?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } puus?
|
||||
@@ -247,8 +279,11 @@ settings-sidebar-fk_settings = FK seaded
|
||||
settings-sidebar-gesture_control = Žesti juhtimine
|
||||
settings-sidebar-interface = Liides
|
||||
settings-sidebar-osc_router = OSC ruuter
|
||||
settings-sidebar-osc_trackers = VRChati OSC Jälgija
|
||||
settings-sidebar-utils = Olemus / Lisad
|
||||
settings-sidebar-serial = Jadakonsool
|
||||
settings-sidebar-appearance = Välimus
|
||||
settings-sidebar-notifications = Teavitused
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -305,15 +340,32 @@ settings-general-fk_settings-leg_tweak-floor_clip = Põranda läbimine
|
||||
# since this largely prevents this it corrects for it hence skating correction (note this may be renamed to sliding correction)
|
||||
# definition - Guesses when each foot is in contact with the ground and uses that information to improve tracking
|
||||
settings-general-fk_settings-leg_tweak-skating_correction = Libisemise korrigeerimine
|
||||
settings-general-fk_settings-leg_tweak-toe_snap = Varba klõpsatus maha
|
||||
settings-general-fk_settings-leg_tweak-foot_plant = Jalg maas
|
||||
settings-general-fk_settings-leg_tweak-skating_correction-amount = Libisemise korrigeerimine jõud
|
||||
settings-general-fk_settings-leg_tweak-skating_correction-description = Uisukorrektsioon korrigeerib uisutamist, kuid võib vähendada teatud liikumismustrite täpsust. Selle lubamisel veenduge, et mängus lähtestatakse jälgimine ja kalibreeritakse jälgimine uuesti.
|
||||
settings-general-fk_settings-leg_tweak-floor_clip-description = Põrandaklõpsatus võib vähendada või isegi välistada jalgade läbi põranda minemise. Selle lubamisel veenduge, et mängus lähtestatakse jälgimine ja kalibreeritakse jälgimine uuesti.
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = Varvaste klõpsatus maha üritab ära arvata jalgade pöörlemist, kui jalgade jälgijaid ei kasutata.
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = Jalg-maas pöörab jalad kokkupuutel maapinnaga paralleelseks.
|
||||
settings-general-fk_settings-leg_fk = Jalgade jälgimine
|
||||
settings-general-fk_settings-arm_fk = Käe jälgimine
|
||||
settings-general-fk_settings-arm_fk-description = Muuda viisi kuidas käsi jälgitakse.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Sunni käed HMD-st
|
||||
settings-general-fk_settings-skeleton_settings = Skeletti seaded
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Skeleti lülitid
|
||||
settings-general-fk_settings-skeleton_settings-description = Lülita skeletti seaded sisse või välja. Soovitatud on see sisse jätta.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Selgroo laiendamine
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Vaagnaluu laiendamine
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Põlve laiendamine
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Laiendatud selgroo mudel
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Laiendatud vaagna mudel
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Laiendatud põlve mudel
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Skeleti suhted
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Muutke skeleti seadete väärtusi. Võimalik, et peate pärast nende muutmist oma proportsioone kohandama.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Imputeeri vöökoht rinnast ja puusast
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Imputeeri vöökoht rinnast ja jalgadest
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Imputeeri puusakoht rinnast ja jalgadest
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Imputeeri puusakoht vöökohast ja jalgadest
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Leia keskmine puusa lengerdus ja pöörlemine jalgade abiga
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Leia keskmine põlvede lengerdus ja pöörlemine säärte abiga
|
||||
settings-general-fk_settings-self_localization-title = Mocapi režiim
|
||||
settings-general-fk_settings-self_localization-description = Mocap-režiim võimaldab skeletil ligikaudselt jälgida oma asukohta ilma peakomplekti või muude jälgijateta. Pange tähele, et see nõuab jalgade ja peajälgijate olemasolu ning on endiselt eksperimentaalne.
|
||||
settings-general-fk_settings-vive_emulation-title = Vive-i emulatsioon
|
||||
settings-general-fk_settings-vive_emulation-description = Emuleeri vöökoha jälgija probleeme mis Vive jälgijatel on. See on nali ja teeb jälgijate täpsuse halvaks.
|
||||
settings-general-fk_settings-vive_emulation-label = Luba Vive-i emulatsioon
|
||||
@@ -322,30 +374,63 @@ settings-general-fk_settings-vive_emulation-label = Luba Vive-i emulatsioon
|
||||
|
||||
settings-general-gesture_control = Žesti juhtimine
|
||||
settings-general-gesture_control-subtitle = Puudutusepõhised lähtestused
|
||||
settings-general-gesture_control-description = Lubab lähtestada jälgija puudutades jälgijat. Jälgija kere kõige kõrgemal osal kasutatakse kiireks lähtestamiseks, jälgija vasaku jala kõige kõrgemal osal kasutatakse lähtestamiseks ja jälgija parema jala kõige kõrgemal osal kasutatakse paigalduse lähtestamiseks. Vajutused peavad toimuma 0.6 sekundi jooksul, et need registreeritaks.
|
||||
settings-general-gesture_control-description = Lubab lähtestada jälgija puudutades jälgijat. Jälgija kere kõige kõrgemal osal kasutatakse kiireks lähtestamiseks, jälgija vasaku jala kõige kõrgemal osal kasutatakse lähtestamiseks ja jälgija parema jala kõige kõrgemal osal kasutatakse paigalduse lähtestamiseks. Vajutused peavad toimuma 0.3 sekundi jooksul, et need registreeritaks.
|
||||
# This is a unit: 3 taps, 2 taps, 1 tap
|
||||
# $amount (Number) - Amount of taps (touches to the tracker's case)
|
||||
settings-general-gesture_control-taps =
|
||||
{ $amount ->
|
||||
[one] 1 tap
|
||||
*[other] { $amount } taps
|
||||
[one] 1 puudutus
|
||||
*[other] { $amount } puudutusi
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 jälgija
|
||||
*[other] { $amount } jälgijat
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Luba puudutamine lengerduse lähtestamiseks
|
||||
settings-general-gesture_control-yawResetDelay = Lengerduse lähtestamise viivitus
|
||||
settings-general-gesture_control-yawResetTaps = Puudutust lengerduse lähtestamiseks
|
||||
settings-general-gesture_control-fullResetEnabled = Luba puudutus täielikuks lähtestamiseks
|
||||
settings-general-gesture_control-fullResetDelay = Tavalise lähtestamise viivitus
|
||||
settings-general-gesture_control-fullResetTaps = Puudutust tavaliseks lähtestamiseks
|
||||
settings-general-gesture_control-mountingResetEnabled = Luba, et vajutus lähtestab paigalduseasendi
|
||||
settings-general-gesture_control-mountingResetDelay = Paigaldusasendi lähtestamise viivitus
|
||||
settings-general-gesture_control-mountingResetTaps = Paigaldusasendi lähtestamise vajutus
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Jälgijad üle läve
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Suurendage seda väärtust, kui puudutuse tuvastamine ei tööta. Ärge suurendage seda üle selle, mis on vajalik puudutuse tuvastuse toimimiseks, kuna see põhjustaks rohkem valepositiivseid tulemusi.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Liides
|
||||
settings-interface-appearance = Välimus
|
||||
settings-general-interface-dev_mode = Arendaja režiim
|
||||
settings-general-interface-dev_mode-description = See režiim on kasulik, kui on vaja põhjalike andmeid või või suhelda ühendatud jälgijatega kõrgemal tasemel.
|
||||
settings-general-interface-dev_mode-label = Arendaja režiim
|
||||
settings-general-interface-serial_detection = Jadaseadme märkamine
|
||||
settings-general-interface-serial_detection-description = See valik näitab hüpikakent iga kord kui panna sisse uus jada seade, mis võib olla jälgija. See aitab jälgija seadistusprotsessi parandada.
|
||||
settings-general-interface-serial_detection-label = Jadaseadme märkamine
|
||||
settings-general-interface-theme = Värviteema
|
||||
settings-general-interface-lang = Vaikekeel
|
||||
settings-general-interface-lang-description = Muutke vaikekeelt, mida soovite kasutada.
|
||||
settings-general-interface-lang-placeholder = Vali keel, mida kasutada
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = GUI font
|
||||
settings-interface-appearance-font-description = See muudab liidese kasutatavat fonti.
|
||||
settings-interface-appearance-font-placeholder = Vaikimisi font
|
||||
settings-interface-appearance-font-os_font = OS-i font
|
||||
settings-interface-appearance-font-slime_font = Vaikimisi font
|
||||
settings-interface-appearance-font_size = Fondi mastaapimise alus
|
||||
settings-interface-appearance-font_size-description = See mõjutab kogu liidese fondi suurust, välja arvatud see seadete paneel.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Teavitused
|
||||
settings-general-interface-serial_detection = Jadaseadme märkamine
|
||||
settings-general-interface-serial_detection-description = See valik näitab hüpikakent iga kord kui panna sisse uus jada seade, mis võib olla jälgija. See aitab jälgija seadistusprotsessi parandada.
|
||||
settings-general-interface-serial_detection-label = Jadaseadme märkamine
|
||||
settings-general-interface-feedback_sound = Tagasiside heli
|
||||
settings-general-interface-feedback_sound-description = See suvand esitab lähtestamise käivitamisel heli.
|
||||
settings-general-interface-feedback_sound-label = Tagasiside heli
|
||||
settings-general-interface-feedback_sound-volume = Tagasiside helitugevus
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -417,19 +502,56 @@ settings-osc-vrchat-network-address-placeholder = VRChat ip aadress
|
||||
settings-osc-vrchat-network-trackers = Jälgia
|
||||
settings-osc-vrchat-network-trackers-description = Lülita sisse/välja teatud jälgijate andmete saatmise OSC kaudu.
|
||||
settings-osc-vrchat-network-trackers-chest = Rind
|
||||
settings-osc-vrchat-network-trackers-waist = Vöökoht
|
||||
settings-osc-vrchat-network-trackers-hip = Puus
|
||||
settings-osc-vrchat-network-trackers-knees = Põlved
|
||||
settings-osc-vrchat-network-trackers-feet = Jalad
|
||||
settings-osc-vrchat-network-trackers-elbows = Küünarnukid
|
||||
|
||||
## VMC OSC settings
|
||||
|
||||
settings-osc-vmc = Virtual Motion Capture
|
||||
# This cares about multilines
|
||||
settings-osc-vmc-description =
|
||||
VMC (Virtual Motion Capture) protokollile omaste sätete muutmine
|
||||
SlimeVR-i luuandmete saatmiseks ja luuandmete vastuvõtmiseks teistest rakendustest.
|
||||
settings-osc-vmc-enable = Luba
|
||||
settings-osc-vmc-enable-description = Lülitage andmete sisestamine sisse/välja.
|
||||
settings-osc-vmc-enable-label = Luba
|
||||
settings-osc-vmc-network = Pordid
|
||||
settings-osc-vmc-network-description = Määrake pordid VMC kaudu andmete kuulamiseks ja saatmiseks.
|
||||
settings-osc-vmc-network-port_in =
|
||||
.label = Port sisse
|
||||
.placeholder = Port sisse (vaikimisi: 39540)
|
||||
settings-osc-vmc-network-port_out =
|
||||
.label = Port välja
|
||||
.placeholder = Port välja (vaikimisi 39539)
|
||||
settings-osc-vmc-network-address = Võrgu aadress
|
||||
settings-osc-vmc-network-address-description = Valige, millisel aadressil soovite VMC kaudu andmeid saata.
|
||||
settings-osc-vmc-network-address-placeholder = IPV4 aadress
|
||||
settings-osc-vmc-vrm = VRM-mudel
|
||||
settings-osc-vmc-vrm-description = Laadige VRM-mudel, et võimaldada peaankurdamist ja suuremat ühilduvust teiste rakendustega.
|
||||
settings-osc-vmc-vrm-model_unloaded = Mudelit pole laaditud
|
||||
settings-osc-vmc-vrm-model_loaded =
|
||||
{ $titled ->
|
||||
[true] Mudel laaditud: { $name }
|
||||
*[other] Pealkirjata mudel on laaditud
|
||||
}
|
||||
settings-osc-vmc-vrm-file_select = Kasutatava mudeli pukseerimine või <u>sirvimine</u>
|
||||
settings-osc-vmc-anchor_hip = Ankurda puusadel
|
||||
settings-osc-vmc-anchor_hip-description = Ankurdage jälgimine puusadele, mis on kasulik istuva VTubingu jaoks. Keelamise korral laadige VRM-mudel.
|
||||
settings-osc-vmc-anchor_hip-label = Ankurda puusadel
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
onboarding-skip = Jäta seadistamine vahele
|
||||
onboarding-continue = Jätka
|
||||
onboarding-wip = Töö käib
|
||||
onboarding-previous_step = Eelmine samm
|
||||
onboarding-setup_warning =
|
||||
<b>Hoiatus:</b> Hea jälgimise jaoks on vajalik esialgne seadistamine,
|
||||
see on vajalik, kui kasutate SlimeVR-i esimest korda.
|
||||
onboarding-setup_warning-skip = Jäta seadistamine vahele
|
||||
onboarding-setup_warning-cancel = Jätka seadistamist
|
||||
|
||||
## Wi-Fi setup
|
||||
|
||||
@@ -445,22 +567,37 @@ onboarding-wifi_creds-ssid =
|
||||
.label = SSID
|
||||
.placeholder = Sisesta SSID
|
||||
onboarding-wifi_creds-password =
|
||||
.label = parool
|
||||
.label = Parool
|
||||
.placeholder = Sisesta parool
|
||||
|
||||
## Mounting setup
|
||||
|
||||
onboarding-reset_tutorial-back = Minge tagasi paigaldus kalibreerimisse
|
||||
onboarding-reset_tutorial = Lähtesta õpetus
|
||||
onboarding-reset_tutorial-description = See funktsioon pole valmis, vajutage lihtsalt nuppu Jätka
|
||||
onboarding-reset_tutorial-explanation = Kui kasutate oma jälgijaid, võivad need IMU lengerdamise tõttu joondusest välja tulla või kuna olete neid füüsiliselt liigutanud. Teil on selle parandamiseks mitu võimalust.
|
||||
onboarding-reset_tutorial-skip = Jäta samm vahele
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-0 =
|
||||
Puudutage { $taps } korda esiletõstetud jälgijat, et käivitada lengerduse lähtestamine.
|
||||
|
||||
See setib jälgijad teie HMD-ga samas suunas.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-1 =
|
||||
Täieliku lähtestamise käivitamiseks puudutage esiletõstetud jälgijat { $taps } korda.
|
||||
|
||||
Sa pead seisma (i-poosis). Enne kui see juhtub, on 3-sekundiline viivitus (konfigureeritav).
|
||||
See lähtestab täielikult kõigi teie jälgijate asukoha ja pöörlemise. See peaks lahendama enamiku probleeme.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-2 =
|
||||
Puudutage { $taps } korda esiletõstetud jälgijat, et lähtestada paigaldus.
|
||||
|
||||
Paigaldamise lähtestamine aitab kaasa sellele, kuidas jälgijad teile tegelikult pannakse, nii et kui te neid kogemata liigutasite ja muutsite nende orientatsiooni suure summa võrra, aitab see.
|
||||
|
||||
Peate olema poosis, nagu suusatate, nagu see on näidatud automaatse paigaldamise viisardil, ja teil on 3-sekundiline viivitus (konfigureeritav), enne kui see käivitub.
|
||||
|
||||
## Setup start
|
||||
|
||||
onboarding-home = Tere tulemast SlimeVR-i
|
||||
# This cares about multilines and it's centered!!
|
||||
onboarding-home-description =
|
||||
Toome kogu keha jälgimise
|
||||
kõigile
|
||||
onboarding-home-start = Hakkame sättima!
|
||||
|
||||
## Enter VR part of setup
|
||||
@@ -505,6 +642,27 @@ onboarding-connect_tracker-connected_trackers =
|
||||
} connected
|
||||
onboarding-connect_tracker-next = Olen ühendanud kõik oma jälgijad
|
||||
|
||||
## Tracker calibration tutorial
|
||||
|
||||
onboarding-calibration_tutorial = IMU kalibreerimise õpetus
|
||||
onboarding-calibration_tutorial-subtitle = See aitab vähendada jälgija driftimist!
|
||||
onboarding-calibration_tutorial-description = Iga kord, kui lülitate oma jälgijad sisse, peavad nad kalibreerimiseks hetkeks tasasel pinnal olema. Teeme sama, klõpsates nuppu "{ onboarding-calibration_tutorial-calibrate }", <b>ärge liigutage neid!</b>
|
||||
onboarding-calibration_tutorial-calibrate = Panin oma jälgijad lauale
|
||||
onboarding-calibration_tutorial-status-waiting = Ootan sind
|
||||
onboarding-calibration_tutorial-status-calibrating = Kalibreerimine
|
||||
onboarding-calibration_tutorial-status-success = Võimas!
|
||||
onboarding-calibration_tutorial-status-error = Jälgija liigutati
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
onboarding-assignment_tutorial = Kuidas valmistada Slime Trackerit enne selle külge panemist
|
||||
onboarding-assignment_tutorial-first_step = 1. Asetage kehaosa kleebis (kui teil see on) jälgijale vastavalt oma valikule
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Kleebis
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. Kinnitage rihm oma jälgija külge, hoides rihma takjakülge jälgimisseadme pealmise poolega samas suunas:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = Extensioni takjapaela pool peaks olema ülespoole suunatud nagu järgmine pilt:
|
||||
onboarding-assignment_tutorial-done = Panin kleepsud ja rihmad külge!
|
||||
|
||||
## Tracker assignment setup
|
||||
|
||||
onboarding-assign_trackers-back = Minge tagasi Wi-Fi andmetesse
|
||||
@@ -524,6 +682,17 @@ onboarding-assign_trackers-next = Määrasin kõikide jälgijate asukohad
|
||||
## Tracker assignment warnings
|
||||
|
||||
|
||||
## Tracker mounting method choose
|
||||
|
||||
onboarding-choose_mounting-auto_mounting = Automaatne paigaldamine
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-label = Eksperimentaalne
|
||||
onboarding-choose_mounting-auto_mounting-description = See tuvastab automaatselt kõigi teie jälgijate paigaldussuuna 2 poosist
|
||||
onboarding-choose_mounting-manual_mounting = Käsitsi paigaldamine
|
||||
# Italized text
|
||||
onboarding-choose_mounting-manual_mounting-label = Soovitatud
|
||||
onboarding-choose_mounting-manual_mounting-description = See võimaldab teil valida iga jälgija paigaldussuuna käsitsi
|
||||
|
||||
## Tracker manual mounting setup
|
||||
|
||||
onboarding-manual_mounting-back = Minge tagasi, et siseneda VR-i
|
||||
@@ -553,12 +722,29 @@ onboarding-automatic_mounting-put_trackers_on-title = Pange kõik jälgijad peal
|
||||
onboarding-automatic_mounting-put_trackers_on-description = Et kalibreerida jälgijate paigaldus asendi pööret pange kõik jälgijad peale ja nüüd te näete mis on mis jälgijad paremal pool ekraani.
|
||||
onboarding-automatic_mounting-put_trackers_on-next = Mul on kõik jälgijad küljes
|
||||
|
||||
## Tracker proportions method choose
|
||||
|
||||
onboarding-choose_proportions = Millist proportsiooni kalibreerimismeetodit kasutada?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description =
|
||||
Keha proportsioone kasutatakse teie keha mõõtude tundmiseks. Neid on vaja, et arvutada jälgijate asukohad.
|
||||
Kui teie keha proportsioonid ei vasta salvestatud proportsioonidele, on teie jälgimistäpsus halvem ja märkate selliseid asju nagu jalgade uisutamine või libistamine või keha ei sobi teie avatariga hästi.
|
||||
onboarding-choose_proportions-auto_proportions = Automaatsed proportsioonid
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Soovitatud
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Väikeste puudutuste jaoks
|
||||
onboarding-choose_proportions-manual_proportions-description = See võimaldab teil proportsioone käsitsi reguleerida, muutes neid otseselt
|
||||
onboarding-choose_proportions-export = Ekspordi proportsioonid
|
||||
onboarding-choose_proportions-file_type = Keha proportsioonide fail
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-back = Mine tagasi lähtestamise õppetusse
|
||||
onboarding-manual_proportions-title = Käsitsi keha proportsioonid
|
||||
onboarding-manual_proportions-precision = Täpne reguleerimine
|
||||
onboarding-manual_proportions-auto = Automaatne kalibreerimine
|
||||
onboarding-manual_proportions-ratio = Kohandamine suhtarvugruppide järgi
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
@@ -570,22 +756,34 @@ onboarding-automatic_proportions-prev_step = Eelmine Samm
|
||||
onboarding-automatic_proportions-put_trackers_on-title = Pange kõik jälgijad peale
|
||||
onboarding-automatic_proportions-put_trackers_on-description = Et kalibreerida teie proportsioone pange kõik jälgijad peale ja te näete mis on mis jälgijad paremal pool ekraani.
|
||||
onboarding-automatic_proportions-put_trackers_on-next = Mul on kõik jälgijad küljes
|
||||
onboarding-automatic_proportions-preparation-title = Ettevalmistus
|
||||
onboarding-automatic_proportions-preparation-description = Võtke tool ja pange see täpselt enda seljataha maha mänguruumi sisse. Olge valmis maha istuma et seadistada autobone.
|
||||
onboarding-automatic_proportions-preparation-next = Ma olen enda tooli ees
|
||||
onboarding-automatic_proportions-requirements-title = Nõuded
|
||||
onboarding-automatic_proportions-requirements-next = Olen lugenud nõudeid
|
||||
onboarding-automatic_proportions-check_height-title = Kontrollige oma pikkust
|
||||
onboarding-automatic_proportions-check_height-description = Me kasutame teie pikkust oma mõõtmiste alusena, kasutades HMD kõrgust teie tegeliku kõrguse ligikaudseks arvutamiseks, kuid parem on ise kontrollida, kas need on õiged!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Ma seisan!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Tundmatu
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = Teie HMD kõrgus on
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = nii et teie tegelik kõrgus on
|
||||
onboarding-automatic_proportions-check_height-next_step = Nendega on kõik korras
|
||||
onboarding-automatic_proportions-start_recording-title = Olge valmis liikuma
|
||||
onboarding-automatic_proportions-start_recording-description = Me nüüd salvestame teatud poose ja liigutusi neid näete järgmisel ekraanil. Olge valmis, kui te vajutate nuppu!
|
||||
onboarding-automatic_proportions-start_recording-next = Alusta salvestamist
|
||||
onboarding-automatic_proportions-recording-title = REC
|
||||
onboarding-automatic_proportions-recording-description-p0 = Salvestamine on pooleli...
|
||||
onboarding-automatic_proportions-recording-description-p1 = Tehke allpool näidatud liigutusi:
|
||||
onboarding-automatic_proportions-recording-steps-0 = Painutage põlvi paar korda.
|
||||
onboarding-automatic_proportions-recording-steps-1 = Istuge toolile ja tõuske püsti.
|
||||
onboarding-automatic_proportions-recording-steps-2 = Keerake ülakeha vasakule, seejärel paremale.
|
||||
onboarding-automatic_proportions-recording-steps-3 = Keerake ülakeha paremale, seejärel vasakule.
|
||||
onboarding-automatic_proportions-recording-steps-4 = Liigutage ringi, kuni taimer lõpeb.
|
||||
# Each line of text is a different list item
|
||||
onboarding-automatic_proportions-recording-steps =
|
||||
Sirgelt püsti seistes pöörage pea ringi igas suunas.
|
||||
Painutage selg ettepoole ja kükitage. Kükitades vaadake vasakule, seejärel paremale.
|
||||
Keerake ülakeha vasakule (vastupäeva), seejärel sirutage alla maapinna poole.
|
||||
Keerake ülakeha paremale (päripäeva), seejärel sirutage alla maapinna poole.
|
||||
Pöörage puusi ringiratast, nagu kasutaksite hularõngast.
|
||||
Kui salvestusel on veel aega, korrake juhiseid, kuni aeg on läbi.
|
||||
onboarding-automatic_proportions-recording-processing = Tulemuse töötlemine
|
||||
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 15)
|
||||
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
|
||||
onboarding-automatic_proportions-recording-timer =
|
||||
{ $time ->
|
||||
[one] 1 sekund
|
||||
@@ -599,7 +797,17 @@ onboarding-automatic_proportions-verify_results-redo = Tee salvestus uuesti
|
||||
onboarding-automatic_proportions-verify_results-confirm = Nad on õiged
|
||||
onboarding-automatic_proportions-done-title = Kere mõõdetud ja salvestatud.
|
||||
onboarding-automatic_proportions-done-description = Teie keha proportsioonid kalibreerimine on valmis!
|
||||
onboarding-automatic_proportions-error_modal-confirm = Sain aru!
|
||||
|
||||
## Home
|
||||
|
||||
home-no_trackers = Jälgijaid ei tuvastatud ega määratud
|
||||
|
||||
## Status system
|
||||
|
||||
status_system-StatusSteamVRDisconnected =
|
||||
{ $type ->
|
||||
[steamvr_feeder] Praegu ei ole SlimeVR-feeder äpiga ühendatud.
|
||||
*[other] Praegu ei ole SlimeVR-draiveri kaudu SteamVR-iga ühendatud.
|
||||
}
|
||||
status_system-StatusTrackerError = Jälgijal { $trackerName } on tõrge.
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
### SlimeVR complete GUI translations
|
||||
|
||||
|
||||
# Please developers (not translators) don't reuse a key inside another key
|
||||
# or concat text with a translation string in the code, use the appropriate
|
||||
# features like variables and selectors in each appropriate case!
|
||||
@@ -13,10 +10,19 @@
|
||||
websocket-connecting = Yhdistetään palvelimeen
|
||||
websocket-connection_lost = Yhteys epäonnistui. Yritetään uudelleen...
|
||||
|
||||
## Update notification
|
||||
|
||||
version_update-title = Uusi versio saatavilla: { $version }
|
||||
version_update-description = Valitsemalla "{ version_update-update }" lataa SlimeVR-asennusohjelman.
|
||||
version_update-update = Päivitys
|
||||
version_update-close = Sulje
|
||||
|
||||
## Tips
|
||||
|
||||
tips-find_tracker = Epävarma, mikä jäljitin on mikä? Ravista jäljitintä ja se korostaa vastaavan kohdan.
|
||||
tips-do_not_move_heels = Varmista, että kantapääsi ei liiku tallennuksen aikana!
|
||||
tips-file_select = Vedä ja pudota käytettäviä tiedostoja tai <u>selaa</u>.
|
||||
tips-tap_setup = Voit hitaasti napauttaa 2 kertaa jäljitintä valitaksesi sen, sen sijaan, että valitsisit sen valikosta.
|
||||
|
||||
## Body parts
|
||||
|
||||
@@ -30,6 +36,7 @@ body_part-RIGHT_HAND = Oikea käsi
|
||||
body_part-RIGHT_UPPER_LEG = Oikea reisi
|
||||
body_part-RIGHT_LOWER_LEG = Oikea nilkka
|
||||
body_part-RIGHT_FOOT = Oikea jalkaterä
|
||||
body_part-UPPER_CHEST = Ylärinta
|
||||
body_part-CHEST = Rinta
|
||||
body_part-WAIST = Vyötärö
|
||||
body_part-HIP = Lonkka
|
||||
@@ -47,8 +54,9 @@ skeleton_bone-NONE = Ei mikään
|
||||
skeleton_bone-HEAD = Pään säätö
|
||||
skeleton_bone-NECK = Kaulan pituus
|
||||
skeleton_bone-torso_group = Vartalon pituus
|
||||
skeleton_bone-CHEST = Rinnan pituus
|
||||
skeleton_bone-UPPER_CHEST = Ylärinnan pituus
|
||||
skeleton_bone-CHEST_OFFSET = Rinnan keskitys
|
||||
skeleton_bone-CHEST = Rinnan pituus
|
||||
skeleton_bone-WAIST = Vyötärön pituus
|
||||
skeleton_bone-HIP = Lonkan pituus
|
||||
skeleton_bone-HIP_OFFSET = Lonkan keskitys
|
||||
@@ -94,11 +102,16 @@ navbar-mounting = Asennuksen Kalibrointi
|
||||
navbar-onboarding = Asennustoiminto
|
||||
navbar-settings = Asetukset
|
||||
|
||||
## Bounding volume hierarchy recording
|
||||
## Biovision hierarchy recording
|
||||
|
||||
bvh-start_recording = Tallenna BVH
|
||||
bvh-recording = Tallennetaan...
|
||||
|
||||
## Tracking pause
|
||||
|
||||
tracking-unpaused = Keskeytä jäljitys
|
||||
tracking-paused = Jatka jäljitystä
|
||||
|
||||
## Widget: Overlay settings
|
||||
|
||||
widget-overlay = Overlay
|
||||
@@ -109,6 +122,10 @@ widget-overlay-is_mirrored_label = Näytä Overlay Peilinä
|
||||
|
||||
widget-drift_compensation-clear = Tyhjennä ajautumakompensaatio
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Tyhjennä asennuksen nollaus
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Kehittäjätila
|
||||
@@ -125,6 +142,7 @@ widget-developer_mode-more_info = Lisätietoja
|
||||
widget-imu_visualizer = Kierto
|
||||
widget-imu_visualizer-rotation_raw = Käsittelemätön
|
||||
widget-imu_visualizer-rotation_preview = Esikatselu
|
||||
widget-imu_visualizer-rotation_hide = Piilota
|
||||
|
||||
## Tracker status
|
||||
|
||||
@@ -151,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Etu
|
||||
tracker-rotation-front_left = Etu-vasen
|
||||
tracker-rotation-front_right = Etu-oikea
|
||||
tracker-rotation-left = Vasen
|
||||
tracker-rotation-right = Oikea
|
||||
tracker-rotation-back = Taka
|
||||
tracker-rotation-back_left = Taka-vasen
|
||||
tracker-rotation-back_right = Taka-oikea
|
||||
tracker-rotation-custom = Mukautettu
|
||||
tracker-rotation-overriden = (asennusnollauksen ohittama)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -163,6 +187,9 @@ tracker-infos-custom_name = Mukautettu Nimi
|
||||
tracker-infos-url = Jäljittimen URL
|
||||
tracker-infos-version = Laiteohjelmiston Versio
|
||||
tracker-infos-hardware_rev = Laitteston Tarkistus
|
||||
tracker-infos-hardware_identifier = Laitteiston ID
|
||||
tracker-infos-imu = IMU-Sensor
|
||||
tracker-infos-board_type = Päälevy
|
||||
|
||||
## Tracker settings
|
||||
|
||||
@@ -205,6 +232,28 @@ body_assignment_menu-unassign_tracker = Poista jäljittimen määritys
|
||||
# maybe your language does.
|
||||
-tracker_selection-part = Minkä jäljittimen valitset
|
||||
tracker_selection_menu-NONE = Minkä jäljittimen määrityksen haluat poistaa?
|
||||
tracker_selection_menu-HEAD = { -tracker_selection-part } pää?
|
||||
tracker_selection_menu-NECK = { -tracker_selection-part } kaula?
|
||||
tracker_selection_menu-RIGHT_SHOULDER = { -tracker_selection-part } oikea olkapää?
|
||||
tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part } oikea olkavarsi?
|
||||
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part } oikea kyynärvarsi?
|
||||
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part } oikea käsi?
|
||||
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } oikea reisi?
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } oikea nilkka?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } oikea jalkaterä?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } oikea ohjain?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } ylärinta?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } rinta?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } vyötärö?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } lonkka?
|
||||
tracker_selection_menu-LEFT_SHOULDER = { -tracker_selection-part } vasen olkapää?
|
||||
tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part } vasen olkavarsi?
|
||||
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part } vasen kyynärvarsi?
|
||||
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part } vasen käsi?
|
||||
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part } vasen reisi?
|
||||
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part } vasen nilkka?
|
||||
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part } vasen jalkaterä?
|
||||
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } vasen ohjain?
|
||||
tracker_selection_menu-unassigned = Määrittämättömät jäljittimet
|
||||
tracker_selection_menu-assigned = Määritetyt jäljittimet
|
||||
tracker_selection_menu-dont_assign = Älä määritä
|
||||
@@ -230,8 +279,11 @@ settings-sidebar-fk_settings = Jäljityksen asetukset
|
||||
settings-sidebar-gesture_control = Eleohjaus
|
||||
settings-sidebar-interface = Käyttöliittymä
|
||||
settings-sidebar-osc_router = OSC-reititin
|
||||
settings-sidebar-osc_trackers = VRChat OSC-jäljittimet
|
||||
settings-sidebar-utils = Lisäohjelmat
|
||||
settings-sidebar-serial = Sarjakonsoli
|
||||
settings-sidebar-appearance = Ulkonäkö
|
||||
settings-sidebar-notifications = Ilmoitukset
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -299,11 +351,21 @@ settings-general-fk_settings-leg_fk = Jalkojen jäljitys
|
||||
settings-general-fk_settings-arm_fk = Käsivarsien jäljitys
|
||||
settings-general-fk_settings-arm_fk-description = Muuta tapaa, jolla käsivarsia jäljitetään.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Pakota kädet HMD:ltä
|
||||
settings-general-fk_settings-skeleton_settings = Luurangon asetukset
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Luurankoasetuksia
|
||||
settings-general-fk_settings-skeleton_settings-description = Ota tai poista käytöstä luurankoasetukset. On suositeltavaa jättää nämä päälle.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Laajennettu selkäranka
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Laajennettu lantioluu
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Laajennettu polvi
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Laajennettu selkärankamalli
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Laajennettu lantiomalli
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Laajennettu polvimalli
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Luurankosuhteet
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Muuta luurankoasetusten arvoja. Saatat joutua säätämään mittasuhteitasi muutosten jälkeen.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Laskelmoi vyötärö rinnasta lantioon
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Laskelmoi vyötärö rinnasta jalkoihin
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Laskelmoi lonkka rinnasta jalkoihin
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Laskelmoi lantio vyötäröstä jalkoihin
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Keskimääritä lonkan kallistus jaloilla'
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Keskimääritä polvijäljittimen kallistus nilkoilla'
|
||||
settings-general-fk_settings-self_localization-title = Mocap-tila
|
||||
settings-general-fk_settings-self_localization-description = Mocap-tila sallii luurangon karkeasti seurata omaa sijaintiaan ilman laseja tai muita jäljittimiä. Huomioi, että tämä vaatii jalka- ja pääjäljittimien toimimista ja on vielä kokeellinen.
|
||||
settings-general-fk_settings-vive_emulation-title = Vive-emulointi
|
||||
settings-general-fk_settings-vive_emulation-description = Emuloi vyötäröjäljittimen ongelmia, joita Vive jäljittimillä on. Tämä on vitsi ja pahentaa jäljitystä.
|
||||
settings-general-fk_settings-vive_emulation-label = Ota Vive-emulointi käyttöön
|
||||
@@ -320,6 +382,13 @@ settings-general-gesture_control-taps =
|
||||
[one] 1 napautus
|
||||
*[other] { $amount } napautusta
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 jäljitin
|
||||
*[other] { $amount } jäljitintä
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Ota käyttöön kallistumanollaus napautus
|
||||
settings-general-gesture_control-yawResetDelay = Kallistumanollaus viive
|
||||
settings-general-gesture_control-yawResetTaps = Napautuksia kallistumanollaukseen.
|
||||
@@ -329,13 +398,32 @@ settings-general-gesture_control-fullResetTaps = Napautuksia täysinollaukseen
|
||||
settings-general-gesture_control-mountingResetEnabled = Ota käyttöön asennusnollaus napautus
|
||||
settings-general-gesture_control-mountingResetDelay = Asennusnollaus viive
|
||||
settings-general-gesture_control-mountingResetTaps = Napautuksia asennusnollaukseen
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Jäljittimet yli kynnysarvon
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Suurenna tätä arvoa jos napautustunnistus ei toimi. Älä suurenna yli sen, mikä on tarpeellista, koska se voi aiheuttaa enemmän virheitä.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Käyttöliittymä
|
||||
settings-interface-appearance = Ulkonäkö
|
||||
settings-general-interface-dev_mode = Kehittäjätila
|
||||
settings-general-interface-dev_mode-description = Tämä tila voi olla hyödyllinen, jos tarvitset perusteellisia tietoja tai haluat olla tekemisissä yhdistettyjen jäljittimien kanssa edistyneemmällä tasolla.
|
||||
settings-general-interface-dev_mode-label = Kehittäjätila
|
||||
settings-general-interface-theme = Väri teema
|
||||
settings-general-interface-lang = Valitse kieli
|
||||
settings-general-interface-lang-description = Vaihda oletuskieli, jota haluat käyttää.
|
||||
settings-general-interface-lang-placeholder = Valitse käytettävä kieli
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = GUI-fontti
|
||||
settings-interface-appearance-font-description = Tämä muuttaa käyttöliittymän käyttämää fonttia.
|
||||
settings-interface-appearance-font-placeholder = Oletusfontti
|
||||
settings-interface-appearance-font-os_font = OS-fontti
|
||||
settings-interface-appearance-font-slime_font = Oletusfontti
|
||||
settings-interface-appearance-font_size = Perusfontin skaalaus
|
||||
settings-interface-appearance-font_size-description = Tämä vaikuttaa koko käyttöliittymän fonttikokoon tätä asetuspaneelia lukuun ottamatta.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Ilmoitukset
|
||||
settings-general-interface-serial_detection = Sarjalaitteen tunnistus
|
||||
settings-general-interface-serial_detection-description = Tämä vaihtoehto näyttää ponnahdusikkunan aina, kun liität uuden sarjalaitteen, joka voi olla jäljitin. Se auttaa parantamaan jäljittimen asennusprosessia.
|
||||
settings-general-interface-serial_detection-label = Sarjalaitteen tunnistus
|
||||
@@ -343,10 +431,6 @@ settings-general-interface-feedback_sound = Palaute ääni
|
||||
settings-general-interface-feedback_sound-description = Tämä asetus toistaa äänen nollauksen tapahtuessa.
|
||||
settings-general-interface-feedback_sound-label = Palaute ääni
|
||||
settings-general-interface-feedback_sound-volume = Palaute äänen voimakkuus
|
||||
settings-general-interface-theme = Väri teema
|
||||
settings-general-interface-lang = Valitse kieli
|
||||
settings-general-interface-lang-description = Vaihda oletuskieli, jota haluat käyttää.
|
||||
settings-general-interface-lang-placeholder = Valitse käytettävä kieli
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -418,6 +502,7 @@ settings-osc-vrchat-network-address-placeholder = VRChat IP-osoite
|
||||
settings-osc-vrchat-network-trackers = Jäljittimet
|
||||
settings-osc-vrchat-network-trackers-description = Vaihda tiettyjen jäljittimien lähettäminen OSC:n kautta.
|
||||
settings-osc-vrchat-network-trackers-chest = Rinta
|
||||
settings-osc-vrchat-network-trackers-hip = Lonkka
|
||||
settings-osc-vrchat-network-trackers-knees = Polvet
|
||||
settings-osc-vrchat-network-trackers-feet = Jalat
|
||||
settings-osc-vrchat-network-trackers-elbows = Kyynärpäät
|
||||
@@ -451,13 +536,22 @@ settings-osc-vmc-vrm-model_loaded =
|
||||
[true] Malli ladattu: { $name }
|
||||
*[other] Nimetön malli ladattu
|
||||
}
|
||||
settings-osc-vmc-vrm-file_select = Vedä ja pudota mallia käytettäväksi tai <u>selaa</u>
|
||||
settings-osc-vmc-anchor_hip = Ankkuri lantiolla
|
||||
settings-osc-vmc-anchor_hip-description = Ankkuroi jäljitin lonkalle, hyödyllinen istuvaan VTubing. Jos poistat käytöstä, lataa VRM-malli.
|
||||
settings-osc-vmc-anchor_hip-label = Ankkuroi lonkalle
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
onboarding-skip = Ohita asennus
|
||||
onboarding-continue = Jatka
|
||||
onboarding-wip = Keskeneräinen
|
||||
onboarding-previous_step = Edellinen vaihe
|
||||
onboarding-setup_warning =
|
||||
<b>Varoitus:</b> Alkuasennus vaaditaan hyvään jäljitykseen,
|
||||
sitä tarvitaan, jos käytät SlimeVR:ää ensimmäistä kertaa.
|
||||
onboarding-setup_warning-skip = Ohita asennus
|
||||
onboarding-setup_warning-cancel = Jatka asennusta
|
||||
|
||||
## Wi-Fi setup
|
||||
|
||||
@@ -480,7 +574,26 @@ onboarding-wifi_creds-password =
|
||||
|
||||
onboarding-reset_tutorial-back = Palaa asennuksen kalibrointiin
|
||||
onboarding-reset_tutorial = Nollaa tutoriaali
|
||||
onboarding-reset_tutorial-description = Tämä ominaisuus ei ole valmis, paina vain Jatka
|
||||
onboarding-reset_tutorial-explanation = Kun käytät jäljittimiä, ne saattavat epälinjoittua IMU:n ajautumisen tai fyysisen siirron takia. Sinulla on useita tapoja korjata tämä.
|
||||
onboarding-reset_tutorial-skip = Ohita vaihe
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-0 =
|
||||
Napauta { $taps } kertaa korostettua jäljitintä käynnistääksesi kallistuman nollauksen.
|
||||
|
||||
Tämä osoittaa jäljittimet samaan suuntaan kuin HMD.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-1 =
|
||||
Napauta { $taps } kertaa korostettua jäljitintä käynnistääksesi täysinollauksen.
|
||||
|
||||
Sinun on seisottava paikallasi (i-pose) tätä varten. On 3 sekunnin viive (muokattavissa), ennen kuin se tapahtuu.
|
||||
Tämä täysin nollaa kaikkien jäljittimien sijainnin ja kierron. Sen pitäisi korjata useimmat ongelmat.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-2 =
|
||||
Napauta { $taps } kertaa korostettua jäljitintä käynnistääksesi asennuksen nollaus.
|
||||
|
||||
Asennuksen nollaus auttaa siinä, kuinka jäljittimet on todella asetettu sinulla, joten jos vahingossa siirsit ja muutit suuresti niiden suuntaa, tämä auttaa.
|
||||
|
||||
Sinun on oltava hiihto-asennossa, kuten on näytettynä Automaattisessa Asennuksessa ja sinulla on 3 sekunnin viive (muokattavissa), ennen kuin se käynnistyy.
|
||||
|
||||
## Setup start
|
||||
|
||||
@@ -506,30 +619,237 @@ onboarding-connect_tracker-back = Palaa Wi-Fi-tunnistetietoihin
|
||||
onboarding-connect_tracker-title = Yhdistä jäljittimet
|
||||
onboarding-connect_tracker-description-p0 = Nyt hauskaan osaan, kaikkien jäljittimien yhdistämiseen!
|
||||
onboarding-connect_tracker-description-p1 = Yhdistä vain kaikki, joita ei ole vielä yhdistetty, USB-portin kautta.
|
||||
onboarding-connect_tracker-issue-serial = Minulla on ongelmia yhteyden muodostamisessa!
|
||||
onboarding-connect_tracker-usb = USB-jäljitin
|
||||
onboarding-connect_tracker-connection_status-none = Etsitään jäljittimiä
|
||||
onboarding-connect_tracker-connection_status-serial_init = Yhdistetään sarjalaitteeseen
|
||||
onboarding-connect_tracker-connection_status-provisioning = Lähetetään Wi-Fi-tunnistetietoja
|
||||
onboarding-connect_tracker-connection_status-connecting = Yritetään muodostaa yhteys Wi-Fi-verkkoon
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = Etsitään palvelinta
|
||||
onboarding-connect_tracker-connection_status-connection_error = Wi-Fi-yhteyden muodostaminen epäonnistui
|
||||
onboarding-connect_tracker-connection_status-could_not_find_server = Palvelinta ei löytynyt
|
||||
onboarding-connect_tracker-connection_status-done = Yhdistetty palvelimeen
|
||||
# $amount (Number) - Amount of trackers connected (this is a number, but you can use CLDR plural rules for your language)
|
||||
# More info on https://www.unicode.org/cldr/cldr-aux/charts/22/supplemental/language_plural_rules.html
|
||||
# English in this case only has 2 plural rules, which are "one" and "other",
|
||||
# we use 0 in an explicit way because there is no plural rule in english for 0, so we directly say
|
||||
# if $amount is 0 then we say "No trackers connected"
|
||||
onboarding-connect_tracker-connected_trackers =
|
||||
{ $amount ->
|
||||
[0] Jäljittimiä ei ole yhdistetty
|
||||
[one] 1 jäljitin yhdistetty
|
||||
*[other] { $amount } jäljitintä yhdistetty
|
||||
}
|
||||
onboarding-connect_tracker-next = Yhdistin kaikki jäljittimeni
|
||||
|
||||
## Tracker calibration tutorial
|
||||
|
||||
onboarding-calibration_tutorial = IMU-kalibrointi tutoriaali
|
||||
onboarding-calibration_tutorial-subtitle = Tämä auttaa vähentämään jäljittimen ajautumaa!
|
||||
onboarding-calibration_tutorial-description = Joka kerta, kun käynnistät jäljittimet, niiden täytyy levätä hetken tasaisella alustalla kalibroidakseen. Tehdään sama asia painamalla "{ onboarding-calibration_tutorial-calibrate }" nappia, <b>älä liikuta niitä!</b>
|
||||
onboarding-calibration_tutorial-calibrate = Asetin jäljittimeni pöydälle
|
||||
onboarding-calibration_tutorial-status-waiting = Odotetaan sinua
|
||||
onboarding-calibration_tutorial-status-calibrating = Kalibroi
|
||||
onboarding-calibration_tutorial-status-success = Kiva!
|
||||
onboarding-calibration_tutorial-status-error = Jäljitintä liikutettiin
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
onboarding-assignment_tutorial = Kuinka valmistellaan Slime-jäljitin ennen käyttöä
|
||||
onboarding-assignment_tutorial-first_step = 1. Aseta kehonosatarra (jos sinulla on) jäljittimeen valintasi mukaan
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Tarra
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = Jatkeen tarranauhapuolen tulee olla ylöspäin seuraavan kuvan mukaisesti:
|
||||
onboarding-assignment_tutorial-done = Laitoin tarrat ja hihnat!
|
||||
|
||||
## Tracker assignment setup
|
||||
|
||||
onboarding-assign_trackers-back = Palaa Wi-Fi-tunnistetietoihin
|
||||
onboarding-assign_trackers-title = Määritä jäljittimet
|
||||
onboarding-assign_trackers-description = Valitaan, mikä jäljitin menee minne. Napsauta paikkaa, johon haluat sijoittaa jäljittimen
|
||||
# Look at translation of onboarding-connect_tracker-connected_trackers on how to use plurals
|
||||
# $assigned (Number) - Trackers that have been assigned a body part
|
||||
# $trackers (Number) - Trackers connected to the server
|
||||
onboarding-assign_trackers-assigned =
|
||||
{ $trackers ->
|
||||
[one] { $assigned } / 1 jäljitintä määritetty
|
||||
*[other] { $assigned } / { $trackers } jäljittimiä määritetty
|
||||
}
|
||||
onboarding-assign_trackers-advanced = Näytä tarkempia määrityssijainteja
|
||||
onboarding-assign_trackers-next = Määritin kaikki jäljittimet
|
||||
|
||||
## Tracker assignment warnings
|
||||
|
||||
# Note for devs, number is used for representing boolean states per bit.
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-LEFT_FOOT =
|
||||
{ $unassigned ->
|
||||
[6] Vasen jalkaterä on määritetty, mutta myös vasen nilkka on määritettävä!
|
||||
[5] Vasen jalkaterä on määritetty, mutta myös vasen reisi on määritettävä!
|
||||
[4] Vasen jalkaterä on määritetty, mutta myös vasen nilkka ja vasen reisi on määritettävä!
|
||||
[3] Vasen jalkaterä on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
|
||||
[2] Vasen jalkaterä on määritetty, mutta myös vasen nilkka ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
[1] Vasen jalkaterä on määritetty, mutta myös vasen reisi ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
[0] Vasen jalkaterä on määritetty, mutta myös vasen nilkka, vasen reisi ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
*[other] Vasen jalkaterä on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-RIGHT_FOOT =
|
||||
{ $unassigned ->
|
||||
[6] Oikea jalkaterä on määritetty, mutta myös oikea nilkka on määritettävä!
|
||||
[5] Oikea jalkaterä on määritetty, mutta myös oikea reisi on määritettävä!
|
||||
[4] Oikea jalkaterä on määritetty, mutta myös oikea nilkka ja oikea reisi on määritettävä!
|
||||
[3] Oikea jalkaterä on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
|
||||
[2] Oikea jalkaterä on määritetty, mutta myös oikea nilkka ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
[1] Oikea jalkaterä on määritetty, mutta myös oikea reisi ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
[0] Oikea jalkaterä on määritetty, mutta myös oikea nilkka, oikea reisi ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
*[other] Oikea jalkaterä on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-LEFT_LOWER_LEG =
|
||||
{ $unassigned ->
|
||||
[0] Vasen nilkka on määritetty, mutta myös vasen reisi ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
[1] Vasen nilkka on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
|
||||
[2] Vasen nilkka on määritetty, mutta myös vasen reisi on määritettävä!
|
||||
*[other] Vasen nilkka on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-RIGHT_LOWER_LEG =
|
||||
{ $unassigned ->
|
||||
[0] Oikea nilkka on määritetty, mutta myös oikea reisi ja joko rinta, lantio tai vyötärö on määritettävä!
|
||||
[1] Oikea nilkka on määritetty, mutta joko rinta, lantio tai vyötärö on myös määritettävä!
|
||||
[2] Oikea nilkka on määritetty, mutta myös oikea reisi on määritettävä!
|
||||
*[other] Oikea nilkka on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-LEFT_UPPER_LEG =
|
||||
{ $unassigned ->
|
||||
[0] Vasen reisi on määritetty, mutta myös rinta, lantio tai vyötärö on määritettävä!
|
||||
*[other] Vasen reisi on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-RIGHT_UPPER_LEG =
|
||||
{ $unassigned ->
|
||||
[0] Oikea reisi on määritetty, mutta myös rinta, lantio tai vyötärö on määritettävä!
|
||||
*[other] Oikea reisi on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-HIP =
|
||||
{ $unassigned ->
|
||||
[0] Lonkka on määritetty, mutta myös rinta on määritettävä!
|
||||
*[other] Lonkka on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
# $unassigned (Number) - Bits are based on BodyAssignment.ASSIGNMENT_RULES order
|
||||
onboarding-assign_trackers-warning-WAIST =
|
||||
{ $unassigned ->
|
||||
[0] Vyötärö on määritetty, mutta myös rinta on määritettävä!
|
||||
*[other] Vyötärö on määritetty, mutta myös tuntematon määrittelemätön osa on määritettävä!
|
||||
}
|
||||
|
||||
## Tracker mounting method choose
|
||||
|
||||
onboarding-choose_mounting = Mitä asennuskalibrointimenetelmää käytetään?
|
||||
# Multiline text
|
||||
onboarding-choose_mounting-description = Asennussuuntaus korjaa jäljittimien sijoittelun kehossasi.
|
||||
onboarding-choose_mounting-auto_mounting = Automaattinen asennus
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-label = Kokeellinen
|
||||
onboarding-choose_mounting-auto_mounting-description = Tämä tunnistaa automaattisesti kaikkien jäljittimiesi asennussuunnat 2 asennosta
|
||||
onboarding-choose_mounting-manual_mounting = Manuaalinen asennus
|
||||
# Italized text
|
||||
onboarding-choose_mounting-manual_mounting-label = Suositeltu
|
||||
onboarding-choose_mounting-manual_mounting-description = Näin voit valita asennussuunnan manuaalisesti kullekin jäljittimelle
|
||||
|
||||
## Tracker manual mounting setup
|
||||
|
||||
onboarding-manual_mounting-back = Palaa takaisin VR:ään
|
||||
onboarding-manual_mounting = Manuaalinen Asennus
|
||||
onboarding-manual_mounting-description = Napsauta jokaista jäljitintä ja valitse, mihin suuntaan ne on asennettu
|
||||
onboarding-manual_mounting-auto_mounting = Automaattinen asennus
|
||||
onboarding-manual_mounting-next = Seuraava vaihe
|
||||
|
||||
## Tracker automatic mounting setup
|
||||
|
||||
onboarding-automatic_mounting-back = Palaa takaisin VR:ään
|
||||
onboarding-automatic_mounting-title = Asennuksen Kalibrointi
|
||||
onboarding-automatic_mounting-description = Jotta SlimeVR jäljittimet toimisivat, meidän on määritettävä jäljittimille asennuksen kierto, jotta ne voidaan kohdistaa fyysisen jäljittimen asennuksen kanssa.
|
||||
onboarding-automatic_mounting-manual_mounting = Manuaalinen asennus
|
||||
onboarding-automatic_mounting-next = Seuraava vaihe
|
||||
onboarding-automatic_mounting-prev_step = Edellinen vaihe
|
||||
onboarding-automatic_mounting-done-title = Asennuskierrokset kalibroitu.
|
||||
onboarding-automatic_mounting-done-description = Asennuskalibrointi on valmis!
|
||||
onboarding-automatic_mounting-done-restart = Yritä uudelleen
|
||||
onboarding-automatic_mounting-mounting_reset-title = Asennuksen Nollaus
|
||||
onboarding-automatic_mounting-mounting_reset-step-0 = 1. Kyykisty "hiihtoasentoon" siten, että jalat ovat koukussa, ylävartalo kallistettuna eteenpäin ja kädet koukussa.
|
||||
onboarding-automatic_mounting-mounting_reset-step-1 = 2. Paina "Nollaa Asennus" -painiketta ja odota 3 sekuntia, ennen kuin jäljittimien asennuskierrot nollautuvat.
|
||||
onboarding-automatic_mounting-preparation-title = Valmistelu
|
||||
onboarding-automatic_mounting-preparation-step-0 = 1. Seiso pystyssä kädet sivuilla.
|
||||
onboarding-automatic_mounting-preparation-step-1 = 2. Paina "Täysinollaus" -painiketta ja odota 3 sekuntia, ennen kuin jäljittimet nollautuvat.
|
||||
onboarding-automatic_mounting-put_trackers_on-title = Laita jäljittimet päällesi
|
||||
onboarding-automatic_mounting-put_trackers_on-description = Kalibroidaksemme asennuskierrokset käytämme juuri määrittämiäsi jäljittimiä. Laita kaikki jäljittimet päällesi, näet mitkä ovat mitäkin oikealla olevassa kuvassa.
|
||||
onboarding-automatic_mounting-put_trackers_on-next = Minulla on kaikki jäljittimet päällä
|
||||
|
||||
## Tracker proportions method choose
|
||||
|
||||
onboarding-choose_proportions = Mitä kalibrointimenetelmää käytetään?
|
||||
onboarding-choose_proportions-auto_proportions = Automaattiset mittasuhteet
|
||||
onboarding-choose_proportions-manual_proportions = Manuaaliset mittasuhteet
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-title = Manuaaliset kehon mittasuhteet
|
||||
onboarding-manual_proportions-precision = Tarkka säätö
|
||||
onboarding-manual_proportions-auto = Automaattiset mittasuhteet
|
||||
onboarding-manual_proportions-ratio = Säädä suhderyhmien mukaan
|
||||
|
||||
## Tracker automatic proportions setup
|
||||
|
||||
onboarding-automatic_proportions-title = Mittaa kehosi
|
||||
onboarding-automatic_proportions-manual = Manuaaliset mittasuhteet
|
||||
onboarding-automatic_proportions-prev_step = Edellinen vaihe
|
||||
onboarding-automatic_proportions-put_trackers_on-title = Laita jäljittimet päällesi
|
||||
onboarding-automatic_proportions-put_trackers_on-next = Minulla on kaikki jäljittimet päällä
|
||||
onboarding-automatic_proportions-requirements-title = Vaatimukset
|
||||
onboarding-automatic_proportions-requirements-next = Olen lukenut vaatimukset
|
||||
onboarding-automatic_proportions-check_height-title = Tarkista pituutesi
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Seison
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Tuntematon
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = HMD-korkeus on
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = Joten todellinen pituutesi on
|
||||
onboarding-automatic_proportions-check_height-next_step = Ne ovat hyvät
|
||||
onboarding-automatic_proportions-start_recording-title = Valmistaudu liikkumaan
|
||||
onboarding-automatic_proportions-start_recording-next = Aloita tallennus
|
||||
onboarding-automatic_proportions-recording-description-p0 = Tallennus käynnissä...
|
||||
onboarding-automatic_proportions-recording-description-p1 = Tee alla esitetyt liikkeet:
|
||||
onboarding-automatic_proportions-recording-processing = Käsitellään tuloksia
|
||||
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
|
||||
onboarding-automatic_proportions-recording-timer =
|
||||
{ $time ->
|
||||
[one] 1 sekuntti jäljellä
|
||||
*[other] { $time } sekuntia jäljellä
|
||||
}
|
||||
onboarding-automatic_proportions-verify_results-title = Vahvista tulokset
|
||||
onboarding-automatic_proportions-verify_results-description = Tarkista alla olevat tulokset, näyttävätkö ne oikeilta?
|
||||
onboarding-automatic_proportions-verify_results-results = Tallennuksen tulokset
|
||||
onboarding-automatic_proportions-verify_results-processing = Käsitellään tuloksia
|
||||
onboarding-automatic_proportions-verify_results-confirm = Nämä ovat oikein
|
||||
onboarding-automatic_proportions-done-title = Keho mitattu ja tallennettu.
|
||||
onboarding-automatic_proportions-done-description = Kehosi mittasuhteiden kalibrointi on valmis!
|
||||
onboarding-automatic_proportions-error_modal-confirm = Ymmäretty!
|
||||
|
||||
## Home
|
||||
|
||||
home-no_trackers = Jäjittimiä ei havaittu tai määritetty
|
||||
|
||||
## Status system
|
||||
|
||||
status_system-StatusTrackerReset = On suositeltavaa suorittaa täydellinen nollaus, koska yhtä tai useampaa jäljitintä ei ole säädetty.
|
||||
status_system-StatusSteamVRDisconnected =
|
||||
{ $type ->
|
||||
[steamvr_feeder] Tällä hetkellä ei ole yhdistetty SlimeVR Feeder -sovellukseen.
|
||||
*[other] Tällä hetkellä ei ole yhdistetty SteamVR:ään SlimeVR-ajurin kautta.
|
||||
}
|
||||
status_system-StatusTrackerError = { $trackerName } jäljittimessä on virhe
|
||||
|
||||
@@ -20,7 +20,7 @@ version_update-close = Fermer
|
||||
## Tips
|
||||
|
||||
tips-find_tracker = Impossible de différencier vos capteurs ? Secouez-en un pour qu'il soit mis en évidence.
|
||||
tips-do_not_move_heels = Assurez-vous de ne pas bouger vos pieds pendant la calibration !
|
||||
tips-do_not_move_heels = Assurez-vous de ne pas bouger vos pieds pendant l'enregistrement !
|
||||
tips-file_select = Glissez et déposez des fichiers à utiliser, ou <u>parcourir</u>.
|
||||
tips-tap_setup = Vous pouvez tapoter lentement votre capteur 2 fois pour le choisir au lieu de le sélectionner depuis le menu.
|
||||
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = Main droite
|
||||
body_part-RIGHT_UPPER_LEG = Cuisse droite
|
||||
body_part-RIGHT_LOWER_LEG = Cheville droite
|
||||
body_part-RIGHT_FOOT = Pied droit
|
||||
body_part-UPPER_CHEST = Poitrine supérieure
|
||||
body_part-CHEST = Poitrine
|
||||
body_part-WAIST = Taille
|
||||
body_part-HIP = Hanche
|
||||
@@ -53,8 +54,9 @@ skeleton_bone-NONE = Aucun
|
||||
skeleton_bone-HEAD = Décalage de la tête
|
||||
skeleton_bone-NECK = Longueur du cou
|
||||
skeleton_bone-torso_group = Longueur du torse
|
||||
skeleton_bone-CHEST = Longueur de la poitrine
|
||||
skeleton_bone-UPPER_CHEST = Longueur de la poitrine supérieure
|
||||
skeleton_bone-CHEST_OFFSET = Décalage de la poitrine
|
||||
skeleton_bone-CHEST = Longueur de la poitrine
|
||||
skeleton_bone-WAIST = Longueur de la taille
|
||||
skeleton_bone-HIP = Longueur des hanches
|
||||
skeleton_bone-HIP_OFFSET = Décalage de la hanche
|
||||
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = Afficher le squelette en tant que miroir
|
||||
|
||||
widget-drift_compensation-clear = Réinitialiser la compensation de la dérive
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Mettre à zéro la réinitialisation de l'alignement
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Mode développeur
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Avant
|
||||
tracker-rotation-front_left = Avant-Gauche
|
||||
tracker-rotation-front_right = Avant-Droite
|
||||
tracker-rotation-left = Gauche
|
||||
tracker-rotation-right = Droite
|
||||
tracker-rotation-back = Arrière
|
||||
tracker-rotation-back_left = Arrière-Gauche
|
||||
tracker-rotation-back_right = Arrière-Droite
|
||||
tracker-rotation-custom = Personnalisé
|
||||
tracker-rotation-overriden = (remplacé par la réinitialisation du montage)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } cuisse droi
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } cheville droite ?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } pied droit ?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } manette droite ?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } poitrine supérieure ?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } poitrine ?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } taille ?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } hanche ?
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = Routeur OSC
|
||||
settings-sidebar-osc_trackers = Capteurs OSC VRChat
|
||||
settings-sidebar-utils = Utilitaires
|
||||
settings-sidebar-serial = Console série
|
||||
settings-sidebar-appearance = Apparence
|
||||
settings-sidebar-notifications = Notifications
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -333,14 +348,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Le limitage au s
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = La correction des orteils estime l'orientation de vos pieds si vous ne portez pas de capteurs sur ses derniers.
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = La correction des pieds oriente vos pieds pour qu'ils soient parallèles au sol lorsqu'ils le touche.
|
||||
settings-general-fk_settings-leg_fk = Capture des jambes
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Activer la réinitialisation de l'alignement des pieds en allant sur la pointe des pieds.
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet = Réinitialisation de l'alignement des pieds
|
||||
settings-general-fk_settings-arm_fk = Capture des bras
|
||||
settings-general-fk_settings-arm_fk-description = Changez la façon dont les bras sont captés.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Forcer les bras en provenance du casque VR
|
||||
settings-general-fk_settings-skeleton_settings = Paramètres du squelette
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Changer la pose des bras attendue pour la réinitialisation de l'alignement.
|
||||
settings-general-fk_settings-arm_fk-back = En arrière
|
||||
settings-general-fk_settings-arm_fk-back-description = Le mode par défaut, avec les bras vers l’arrière et les avant-bras vers l’avant.
|
||||
settings-general-fk_settings-arm_fk-tpose_up = T-pose (vers le haut)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = S’attend à ce que vos bras soient vers le bas sur les côtés pendant la réinitialisation complète et à 90 degrés vers l'extérieur pendant la réinitialisation de l'alignement.
|
||||
settings-general-fk_settings-arm_fk-tpose_down = T-pose (vers le bas)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = S’attend à ce que vos bras soient à 90 degrés vers l'extérieur pendant la réinitialisation complète et vers le bas sur les côtés pendant la réinitialisation de l'alignement.
|
||||
settings-general-fk_settings-arm_fk-forward = En avant
|
||||
settings-general-fk_settings-arm_fk-forward-description = S’attend à ce que vos bras soient levés 90 degrés vers l’avant. Utile pour le VTubing.
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Bascules du squelette
|
||||
settings-general-fk_settings-skeleton_settings-description = Activez ou désactivez des paramètres avancés de capture.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Colone vertébrale avancée
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Bassin avancé
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Genoux avancés
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modèle de colonne vertébrale avancé
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Modèle de bassin avancé
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modèle de genou avancé
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Ratios du squelette
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Modifiez les valeurs des paramètres du squelette. Vous devrez peut-être ajuster vos proportions après les avoir modifiées.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Interpoler la taille de la poitrine à la hanche
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Interpoler la taille de la poitrine aux jambes
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Interpoler la hanche de la poitrine aux jambes
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Interpoler la hanche de la taille aux jambes
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Interpoler la rotation horizontale et de torsion de la hanche avec celle des jambes
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Interpoler les rotations horizontales et de torsion des capteurs de genoux avec celles des chevilles
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Interpoler les rotations horizontales et de torsion des genoux avec celles des chevilles
|
||||
settings-general-fk_settings-self_localization-title = Mode Mocap
|
||||
settings-general-fk_settings-self_localization-description = Le mode Mocap permet au squelette de suivre grossièrement sa propre position sans casque ou autres capteurs. Ce mode nécessite des capteurs de pieds et de tête afin de fonctionner et est encore expérimental.
|
||||
settings-general-fk_settings-vive_emulation-title = Émulation Vive
|
||||
settings-general-fk_settings-vive_emulation-description = Simule les problèmes des capteurs de taille que capteurs Vive ont. Cette optionest une blague et rend la capture des mouvements pire.
|
||||
settings-general-fk_settings-vive_emulation-label = Activer l'émulation Vive
|
||||
@@ -357,6 +394,13 @@ settings-general-gesture_control-taps =
|
||||
[one] 1 tap
|
||||
*[other] { $amount } taps
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 capteur
|
||||
*[other] { $amount } capteurs
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Tapoter pour réinitialisation horizontale
|
||||
settings-general-gesture_control-yawResetDelay = Délai de réinitialisation horizontale
|
||||
settings-general-gesture_control-yawResetTaps = Nombre de tapes pour réinitialisation horizontale
|
||||
@@ -366,24 +410,39 @@ settings-general-gesture_control-fullResetTaps = Nombre de tapes pour réinitial
|
||||
settings-general-gesture_control-mountingResetEnabled = Tapoter pour réinitialisation de l'alignement
|
||||
settings-general-gesture_control-mountingResetDelay = Délai de réinitialisation de l'alignement
|
||||
settings-general-gesture_control-mountingResetTaps = Nombre de tapes pour la réinitialisation de l'alignement
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Capteurs au-dessus du seuil
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Augmentez cette valeur si la détection des tapotements ne fonctionne pas. N'augmentez pas cette valeur au-delà de ce qui est nécessaire pour que la détection des tapotements fonctionne, car cela pourrait entraîner des faux positifs.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Interface
|
||||
settings-interface-appearance = Apparence
|
||||
settings-general-interface-dev_mode = Mode développeur
|
||||
settings-general-interface-dev_mode-description = Ce mode peut être utile pour avoir des données approfondies ou pour interagir avec des capteurs connectés à un niveau plus avancé.
|
||||
settings-general-interface-dev_mode-label = Mode développeur
|
||||
settings-general-interface-serial_detection = Détection de périphérique série
|
||||
settings-general-interface-serial_detection-description = Cette option affichera une fenêtre chaque fois qu'un nouveau périphérique série qui pourrait être un capteur est connecté.
|
||||
settings-general-interface-serial_detection-label = Détection de périphérique série
|
||||
settings-general-interface-feedback_sound = Son de retour
|
||||
settings-general-interface-feedback_sound-description = Cette option va jouer un son lorsqu'une réanitilisation est enclenchée
|
||||
settings-general-interface-feedback_sound-label = Son de retour
|
||||
settings-general-interface-feedback_sound-volume = Volume du son de retour
|
||||
settings-general-interface-theme = Thème
|
||||
settings-general-interface-lang = Langue
|
||||
settings-general-interface-lang-description = Choisir la langue par défaut.
|
||||
settings-general-interface-lang-placeholder = Langue
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = Police de l'interface
|
||||
settings-interface-appearance-font-description = Cela change la police d'écriture utilisée par l'interface.
|
||||
settings-interface-appearance-font-placeholder = Police par défaut
|
||||
settings-interface-appearance-font-os_font = Police du système d’exploitation
|
||||
settings-interface-appearance-font-slime_font = Police par défaut
|
||||
settings-interface-appearance-font_size = Agrandissement du texte
|
||||
settings-interface-appearance-font_size-description = Cela affecte la taille du texte de toute l'interface, sauf de ce menu.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Notifications
|
||||
settings-general-interface-serial_detection = Détection de périphérique série
|
||||
settings-general-interface-serial_detection-description = Cette option affichera une fenêtre chaque fois qu'un nouveau périphérique série qui pourrait être un capteur est connecté.
|
||||
settings-general-interface-serial_detection-label = Détection de périphérique série
|
||||
settings-general-interface-feedback_sound = Son de retour
|
||||
settings-general-interface-feedback_sound-description = Cette option va jouer un son lorsqu'une réanitilisation est enclenchée.
|
||||
settings-general-interface-feedback_sound-label = Son de retour
|
||||
settings-general-interface-feedback_sound-volume = Volume du son de retour
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -612,8 +671,8 @@ onboarding-assignment_tutorial = Comment préparer un capteur Slime avant de le
|
||||
onboarding-assignment_tutorial-first_step = 1. Placez un autocollant de partie du corps (si vous en avez un) sur le capteur selon votre choix
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Autocollant
|
||||
onboarding-assignment_tutorial-second_step = 2. Attachez la sangle à votre capteur en gardant le côté velcro de la sangle dans l’orientation suivante:
|
||||
onboarding-assignment_tutorial-second_step-continuation = La partie velcro pour l’extension doit être dans cette orientation:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. Attachez la sangle à votre capteur en gardant le velcro de la sangle dans la même direction que le visage du capteur :
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = Le velcro de l’extension doit être orienté vers le haut comme dans l’image suivante :
|
||||
onboarding-assignment_tutorial-done = J'ai mis les autocollants et les sangles !
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -753,12 +812,18 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = Proportions automatiques
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Recommendée
|
||||
onboarding-choose_proportions-auto_proportions-description = Ceci estimera vos proportions en enregistrant un extrait de vos mouvements et en le faisant traiter par un algorithme
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
Cela permettra d'estimer vos proportions en enregistrant un échantillon de vos mouvements et en le faisant passer par un algorithme.
|
||||
|
||||
<b>Cela nécessite d’avoir votre casque VR connecté à SlimeVR !</b>
|
||||
onboarding-choose_proportions-manual_proportions = Proportions manuelles
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Pour les retouches
|
||||
onboarding-choose_proportions-manual_proportions-description = Ceci vous permettra d'ajuster vos proportions manuellement en les modifiant directement
|
||||
onboarding-choose_proportions-export = Exporter les proportions
|
||||
onboarding-choose_proportions-import = Importer les proportions
|
||||
onboarding-choose_proportions-import-success = Importé
|
||||
onboarding-choose_proportions-import-failed = Raté
|
||||
onboarding-choose_proportions-file_type = Fichier de proportions
|
||||
|
||||
## Tracker manual proportions setup
|
||||
@@ -789,6 +854,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
Vos capteurs et votre casque VR fonctionnent correctement au sein du serveur SlimeVR.
|
||||
Votre casque envoie sa position au serveur SlimeVR (cela signifie généralement que SteamVR est ouvert et connecté à SlimeVR en utilisant le driver SteamVR de SlimeVR).
|
||||
onboarding-automatic_proportions-requirements-next = J'ai lu les exigences
|
||||
onboarding-automatic_proportions-check_height-title = Vérifiez votre taille
|
||||
onboarding-automatic_proportions-check_height-description = Nous utilisons votre taille comme la base de nos mesures en utilisant la hauteur de votre casque comme approximation de votre taille réelle, mais il est préférable de vérifier si elles sont correctes vous-même !
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Veuillez appuyer sur le bouton en vous <u>tenant debout</u> pour calculer votre taille. Vous avez un délais de 3 secondes après avoir appuyé sur le bouton !
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Je suis debout !
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Inconnu
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = La hauteur de votre casque est
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = donc votre taille est
|
||||
onboarding-automatic_proportions-check_height-next_step = Ils sont bons
|
||||
onboarding-automatic_proportions-start_recording-title = Préparez-vous à bouger
|
||||
onboarding-automatic_proportions-start_recording-description = Nous allons maintenant enregistrer quelques positions et mouvements spécifiques. Ceux-ci seront inscris sur l’écran suivant. Soyez prêt à commencer dès que vous appuyez sur le bouton !
|
||||
onboarding-automatic_proportions-start_recording-next = Commencer l'enregistrement
|
||||
@@ -818,6 +895,10 @@ onboarding-automatic_proportions-verify_results-redo = Refaire l'enregistrement
|
||||
onboarding-automatic_proportions-verify_results-confirm = Les résultats sont corrects
|
||||
onboarding-automatic_proportions-done-title = Calibration terminée
|
||||
onboarding-automatic_proportions-done-description = La calibration de vos proportions est terminée !
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>Avertissement :</b> Une erreur a été détectée lors de l’estimation des proportions !
|
||||
Veuillez <docs>consulter la documentation</docs> ou rejoindre notre <discord>Discord</discord> pour obtenir de l’aide ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Compris !
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = Mano destra
|
||||
body_part-RIGHT_UPPER_LEG = Coscia destra
|
||||
body_part-RIGHT_LOWER_LEG = Caviglia destra
|
||||
body_part-RIGHT_FOOT = Piede destro
|
||||
body_part-UPPER_CHEST = Parte superiore del petto
|
||||
body_part-CHEST = Petto
|
||||
body_part-WAIST = Girovita
|
||||
body_part-HIP = Bacino
|
||||
@@ -53,8 +54,9 @@ skeleton_bone-NONE = Nessuna selezione
|
||||
skeleton_bone-HEAD = Correzione per la testa
|
||||
skeleton_bone-NECK = Lunghezza del collo
|
||||
skeleton_bone-torso_group = Lunghezza del torso
|
||||
skeleton_bone-CHEST = Lunghezza del torace
|
||||
skeleton_bone-UPPER_CHEST = Lunghezza della parte superiore del petto
|
||||
skeleton_bone-CHEST_OFFSET = Correzione per il petto
|
||||
skeleton_bone-CHEST = Lunghezza del torace
|
||||
skeleton_bone-WAIST = Lunghezza del girovita
|
||||
skeleton_bone-HIP = Lunghezza del bacino
|
||||
skeleton_bone-HIP_OFFSET = Correzione per il bacino
|
||||
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = Includi uno specchio nel Overlay
|
||||
|
||||
widget-drift_compensation-clear = Rimuovi compensazione per il drift
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Ripristina impostazioni di reset posizionamento
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Modalità sviluppatore
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Davanti
|
||||
tracker-rotation-front_left = Anteriore sinistra
|
||||
tracker-rotation-front_right = Anteriore destra
|
||||
tracker-rotation-left = Sinistra
|
||||
tracker-rotation-right = Destra
|
||||
tracker-rotation-back = Dietro
|
||||
tracker-rotation-back_left = Posteriore sinistra
|
||||
tracker-rotation-back_right = Posteriore destra
|
||||
tracker-rotation-custom = Personalizzata
|
||||
tracker-rotation-overriden = (sovrascritto dal reset posizionamento)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } coscia dest
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } caviglia destra?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } piede destro?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } controller destro?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } parte superiore del petto?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } petto?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } girovita?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } bacino?
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = Router OSC
|
||||
settings-sidebar-osc_trackers = Tracker OSC per VRChat
|
||||
settings-sidebar-utils = Strumenti
|
||||
settings-sidebar-serial = Console seriale
|
||||
settings-sidebar-appearance = Aspetto
|
||||
settings-sidebar-notifications = Notifiche
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -331,14 +346,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = "Compenetrazione
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = "Dita dei piedi piantate" prova ad indovinare la rotazione dei tuoi piedi quando non stai usando dei tracker per i piedi.
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = "Piedi piantati" ruota i piedi in modo tale che siano paralleli al terreno quando in contatto con esso.
|
||||
settings-general-fk_settings-leg_fk = Tracking delle gambe
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Abilita Reset posizionamento dei piedi mettendosi in punta di piedi.
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset posizionamento dei piedi
|
||||
settings-general-fk_settings-arm_fk = Tracking delle braccia
|
||||
settings-general-fk_settings-arm_fk-description = Cambia la modalità di tracking delle braccia.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Forza il calcolo della posizione delle braccia a utilizzare il HMD
|
||||
settings-general-fk_settings-skeleton_settings = Impostazioni dello scheletro
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Cambia la posa delle braccia usata per il reset posizionamento.
|
||||
settings-general-fk_settings-arm_fk-back = Indietro
|
||||
settings-general-fk_settings-arm_fk-back-description = La modalità predefinita, con la parte superiori delle braccia che vanno indietro e le parte inferiori delle braccia che vanno avanti.
|
||||
settings-general-fk_settings-arm_fk-tpose_up = Posa a T (in alto)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = Si aspetta che le braccia siano abbassate sui lati durante il Reset Completo e a 90 gradi con il busto ai lati per il Reset Posizionamento.
|
||||
settings-general-fk_settings-arm_fk-tpose_down = Posa a T (in basso)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = Si aspetta che le braccia siano a 90 gradi con il busto ai lati durante il Reset Completo e abbassate sui lati per il Reset Posizionamento.
|
||||
settings-general-fk_settings-arm_fk-forward = Avanti
|
||||
settings-general-fk_settings-arm_fk-forward-description = Si aspetta che le tue braccia siano alzate di 90 gradi in avanti. Utile per VTubing.
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Interruttori per lo scheletro
|
||||
settings-general-fk_settings-skeleton_settings-description = Abilita o disabilita le impostazioni dello scheletro. É raccomandato lasciare queste impostazioni attive.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Colonna vertebrale estesa
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Bacino esteso
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Ginocchia estese
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Modello di colonna vertebrale estesa
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = modello di bacino esteso
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Modello di ginocchio esteso
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Proporzioni dello scheletro
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Modifica i valori delle impostazioni dello scheletro. Potrebbe essere necessario regolare le proporzioni dopo aver modificato queste impostazioni.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Imputazione dei valori del girovita dalla combinazione del petto e bacino
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Imputazione dei valori del girovita dalla combinazione del petto e gambe
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Imputazione dei valori del bacino dalla combinazione del petto e gambe
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Imputazione dei valori del bacino dalla combinazione del girovita e gambe
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Media dell'orientamento del bacino e la rotazione delle gambe
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Media dell'orientamento del ginocchio e la rotazione delle caviglie
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Media dell'orientamento delle ginocchia e la rotazione delle caviglie
|
||||
settings-general-fk_settings-self_localization-title = Modalità Mocap
|
||||
settings-general-fk_settings-self_localization-description = La modalità Mocap consente allo scheletro di tracciare approssimativamente la propria posizione senza visore o altri tracker. Si noti che questo richiede trakers per piedi e la testa per funzionare ed è ancora in fase sperimentale.
|
||||
settings-general-fk_settings-vive_emulation-title = Imitazione Vive
|
||||
settings-general-fk_settings-vive_emulation-description = Imita i problemi che hanno i Vive tracker utilizzati sul girovita. Questo è uno scherzo e peggiora il tracciamento.
|
||||
settings-general-fk_settings-vive_emulation-label = Abilita l'imitazione Vive
|
||||
@@ -355,6 +392,14 @@ settings-general-gesture_control-taps =
|
||||
[one] 1 tocco
|
||||
*[other] { $amount } tocchi
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 tracker
|
||||
[many] { $amount } tracker
|
||||
*[other] { $amount } tracker
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Abilita tocco per il reset orientamento
|
||||
settings-general-gesture_control-yawResetDelay = Ritardo per il reset orientamento
|
||||
settings-general-gesture_control-yawResetTaps = Numero di tocchi per il reset orientamento
|
||||
@@ -364,13 +409,32 @@ settings-general-gesture_control-fullResetTaps = Numero di tocchi per il reset c
|
||||
settings-general-gesture_control-mountingResetEnabled = Abilita tocco per reset posizionamento
|
||||
settings-general-gesture_control-mountingResetDelay = Ritardo per il reset posizionamento
|
||||
settings-general-gesture_control-mountingResetTaps = Numero di tocchi per il reset posizionamento
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Tracker sopra il limite
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Aumenta questo valore se il rilevamento del tocco non funziona. Non aumentarlo al di sopra di quanto necessario per far funzionare il rilevamento del tocco in quanto causerebbe più falsi positivi.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Interfaccia
|
||||
settings-interface-appearance = Aspetto
|
||||
settings-general-interface-dev_mode = Modalità sviluppatore
|
||||
settings-general-interface-dev_mode-description = Questa modalità è utile se hai bisogno di dati approfonditi o devi interagire in maniera più avanzata con i tracker connessi.
|
||||
settings-general-interface-dev_mode-label = Modalità sviluppatore
|
||||
settings-general-interface-theme = Colore di tema
|
||||
settings-general-interface-lang = Seleziona la lingua
|
||||
settings-general-interface-lang-description = Seleziona la lingua che vuoi utilizzare
|
||||
settings-general-interface-lang-placeholder = Seleziona la lingua da utilizzare
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = Font della GUI
|
||||
settings-interface-appearance-font-description = Questo cambia il font utilizzato dall'interfaccia.
|
||||
settings-interface-appearance-font-placeholder = Font predefinito
|
||||
settings-interface-appearance-font-os_font = Font di sistema
|
||||
settings-interface-appearance-font-slime_font = Font predefinito
|
||||
settings-interface-appearance-font_size = Ridimensionamento del font di base
|
||||
settings-interface-appearance-font_size-description = Questo influisce sulla dimensione del font dell'intera interfaccia ad eccezione di questo pannello delle impostazioni.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Notifiche
|
||||
settings-general-interface-serial_detection = Rilevazione nuovi dispositivi seriali
|
||||
settings-general-interface-serial_detection-description = Questa opzione mostrerà un pop-up ogni volta che colleghi un nuovo dispositivo seriale che potrebbe essere un tracker. Aiuta a facilitare la configurazione iniziale di un tracker
|
||||
settings-general-interface-serial_detection-label = Rilevazione nuovi dispositivi seriali
|
||||
@@ -378,10 +442,6 @@ settings-general-interface-feedback_sound = Suono di feedback
|
||||
settings-general-interface-feedback_sound-description = Questa opzione riprodurrà un suono quando viene effettuato un reset
|
||||
settings-general-interface-feedback_sound-label = Suono di feedback
|
||||
settings-general-interface-feedback_sound-volume = Volume del suono di feedback
|
||||
settings-general-interface-theme = Colore di tema
|
||||
settings-general-interface-lang = Seleziona la lingua
|
||||
settings-general-interface-lang-description = Seleziona la lingua che vuoi utilizzare
|
||||
settings-general-interface-lang-placeholder = Seleziona la lingua da utilizzare
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -525,7 +585,7 @@ onboarding-wifi_creds-password =
|
||||
|
||||
onboarding-reset_tutorial-back = Torna alla calibrazione posizionamento
|
||||
onboarding-reset_tutorial = Tutorial di reset
|
||||
onboarding-reset_tutorial-description = Questa funzionalità non è completa, premi continua
|
||||
onboarding-reset_tutorial-explanation = Mentre usi i tuoi tracker, potrebbero perdere l'allineamento a causa del drift dell'orientamento dell'IMU, o perché potresti averli spostati fisicamente. Hai diversi modi per risolvere questo problema.
|
||||
onboarding-reset_tutorial-skip = Salta passaggio
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-0 =
|
||||
@@ -597,9 +657,22 @@ onboarding-connect_tracker-next = Ho collegato tutti i miei tracker
|
||||
|
||||
onboarding-calibration_tutorial = Tutorial di calibrazione IMU
|
||||
onboarding-calibration_tutorial-subtitle = Ciò aiuterà a ridurre il drift del tracker!
|
||||
onboarding-calibration_tutorial-description = Ogni volta che accendi i tracker, devono riposare per un momento su una superficie piana per calibrare. Facciamo la stessa cosa cliccando sul pulsante "{ onboarding-calibration_tutorial-calibrate }", <b>non muoverli!</b>
|
||||
onboarding-calibration_tutorial-calibrate = Ho messo i miei tracker sul tavolo
|
||||
onboarding-calibration_tutorial-status-waiting = Ti aspettiamo
|
||||
onboarding-calibration_tutorial-status-calibrating = Calibrazione in corso
|
||||
onboarding-calibration_tutorial-status-success = Bene!
|
||||
onboarding-calibration_tutorial-status-error = Il tracker è stato mosso
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
onboarding-assignment_tutorial = Come preparare uno Slime Tracker prima di indossarlo
|
||||
onboarding-assignment_tutorial-first_step = 1. Posiziona un adesivo di una parte del corpo sul tracker in base alla tua scelta (se ne hai uno)
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Adesivo
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. Fissare il cinturino al tracker, mantenendo il lato in velcro del cinturino rivolto nella stessa direzione del lato frontale del tuo slime tracker:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = Il lato del velcro per l'estensione dovrebbe essere rivolto verso l'alto come nell'immagine seguente:
|
||||
onboarding-assignment_tutorial-done = Ho messo gli adesivi e i cinturini!
|
||||
|
||||
## Tracker assignment setup
|
||||
|
||||
@@ -688,13 +761,15 @@ onboarding-assign_trackers-warning-WAIST =
|
||||
## Tracker mounting method choose
|
||||
|
||||
onboarding-choose_mounting = Quale metodo di calibrazione del posizionamento vuoi usare?
|
||||
# Multiline text
|
||||
onboarding-choose_mounting-description = L'orientamento di posizionamento corregge la posizione dei tracker sul corpo.
|
||||
onboarding-choose_mounting-auto_mounting = Posizionamento automatico
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-subtitle = Raccomandato
|
||||
onboarding-choose_mounting-auto_mounting-label = Sperimentale
|
||||
onboarding-choose_mounting-auto_mounting-description = Questo processo identificherá automaticamente le direzioni per la posizione di montaggio di tutti i traker facendo 2 pose
|
||||
onboarding-choose_mounting-manual_mounting = Posizionamento manuale
|
||||
# Italized text
|
||||
onboarding-choose_mounting-manual_mounting-subtitle = Se sai cosa stai facendo
|
||||
onboarding-choose_mounting-manual_mounting-label = Raccomandato
|
||||
onboarding-choose_mounting-manual_mounting-description = Questo processo ti lascerá scegliere manualmente le direzioni per la posizione di montaggio di tutti i tracker
|
||||
|
||||
## Tracker manual mounting setup
|
||||
@@ -729,14 +804,26 @@ onboarding-automatic_mounting-put_trackers_on-next = Sto indossando tutti i miei
|
||||
## Tracker proportions method choose
|
||||
|
||||
onboarding-choose_proportions = Quale metodo di calibrazione delle proporzioni vuoi usare?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description =
|
||||
"Proporzioni del corpo" vengono utilizzate per conoscere le misure del tuo corpo. Sono necessarie per calcolare le posizioni dei tracker.
|
||||
Quando le proporzioni del tuo corpo non corrispondono a quelle salvate, la tua precisione di tracciamento sarà peggiore e noterai cose come slittamento o la posizione del tuo corpo non corrisponderá bene alla posizione del tuo avatar.
|
||||
onboarding-choose_proportions-auto_proportions = Proporzioni automatiche
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Raccomandato
|
||||
onboarding-choose_proportions-auto_proportions-description = Questo processo indovinerá le tue proporzioni del corpo registrando alcuni specifici movimenti che sono poi elaborati tramite un algoritmo
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
Questo indovinerà le tue proporzioni registrando un campione dei tuoi movimenti e passandolo attraverso un algoritmo.
|
||||
|
||||
<b>Ciò richiede che il tuo HMD sia collegato a SlimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Proporzioni manuali
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Per piccole modifiche
|
||||
onboarding-choose_proportions-manual_proportions-description = Questo processo ti permetterà di regolare manualmente le proporzioni del corpo modificandole direttamente.
|
||||
onboarding-choose_proportions-export = Esporta le proporzioni del corpo
|
||||
onboarding-choose_proportions-import = Importa le proporzioni del corpo
|
||||
onboarding-choose_proportions-import-success = Importate con successo
|
||||
onboarding-choose_proportions-import-failed = Importaggio fallito
|
||||
onboarding-choose_proportions-file_type = File delle proporzioni del corpo
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
@@ -765,6 +852,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
I tuoi tracker e il visore stanno funzionando correttamente con il server di SlimeVR.
|
||||
Il tuo visore sta riportando dati di posizione al server di SlimeVR (ciò significa generalmente avere SteamVR in esecuzione e connesso a SlimeVR usando il driver di SlimeVR per SteamVR).
|
||||
onboarding-automatic_proportions-requirements-next = Ho letto i requisiti.
|
||||
onboarding-automatic_proportions-check_height-title = Controlla la tua altezza
|
||||
onboarding-automatic_proportions-check_height-description = Usiamo la tua altezza come base delle nostre misurazioni utilizzando l'altezza dell'HMD come approssimazione della tua altezza effettiva, ma è meglio controllare se il valore è giusto!
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Si prega di premere il pulsante stando in piedi <u>in posizione eretta</u> per calcolare l'altezza. Hai 3 secondi dopo aver premuto il pulsante!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Sono in piedi!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Sconosciuto
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = L'altezza del tuo HMD è
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = quindi la tua altezza effettiva è
|
||||
onboarding-automatic_proportions-check_height-next_step = Sono corretti
|
||||
onboarding-automatic_proportions-start_recording-title = Preparati a muoverti
|
||||
onboarding-automatic_proportions-start_recording-description = Ora registreremo alcune pose e movimenti specifici. Questi verranno descritte nelle schermate successive. Preparati a iniziare quando premi il pulsante!
|
||||
onboarding-automatic_proportions-start_recording-next = Inizia registrazione
|
||||
@@ -794,6 +893,10 @@ onboarding-automatic_proportions-verify_results-redo = Rifai registrazione
|
||||
onboarding-automatic_proportions-verify_results-confirm = Sono corretti
|
||||
onboarding-automatic_proportions-done-title = Corpo misurato e salvato.
|
||||
onboarding-automatic_proportions-done-description = La calibrazione delle proporzioni del tuo corpo è completa!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>Avvertimento:</b> È stato riscontrato un errore durante la stima delle proporzioni!
|
||||
Per piacere, <docs>controlla la documentazione</docs> o unisciti al nostro <discord>Discord</discord> per ricevere aiuto ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Ho capito!
|
||||
|
||||
## Home
|
||||
|
||||
@@ -801,3 +904,10 @@ home-no_trackers = Nessun tracker rilevato o assegnato
|
||||
|
||||
## Status system
|
||||
|
||||
status_system-StatusTrackerReset = É consigliato eseguire un reset completo poiché uno o più tracker non sono regolati.
|
||||
status_system-StatusSteamVRDisconnected =
|
||||
{ $type ->
|
||||
[steamvr_feeder] Attualmente non è connesso a SlimeVR Feeder App.
|
||||
*[other] Attualmente non è connesso a SteamVR tramite il driver SlimeVR.
|
||||
}
|
||||
status_system-StatusTrackerError = Il tracker { $trackerName } ha un errore.
|
||||
|
||||
@@ -120,6 +120,9 @@ widget-overlay-is_mirrored_label = オーバーレイをミラーとして表示
|
||||
|
||||
widget-drift_compensation-clear = ドリフト補正をクリアする
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = 開発者モード
|
||||
@@ -166,6 +169,7 @@ tracker-rotation-front = 前
|
||||
tracker-rotation-left = 左
|
||||
tracker-rotation-right = 右
|
||||
tracker-rotation-back = 後
|
||||
tracker-rotation-custom = カスタム
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -267,6 +271,7 @@ settings-sidebar-osc_router = OSCルーター
|
||||
settings-sidebar-osc_trackers = VRChatOSCトラッカー
|
||||
settings-sidebar-utils = ユーティリティ
|
||||
settings-sidebar-serial = シリアルコンソール
|
||||
settings-sidebar-notifications = 通知
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -328,11 +333,8 @@ settings-general-fk_settings-leg_fk = 足のトラッキング
|
||||
settings-general-fk_settings-arm_fk = アームトラッキング
|
||||
settings-general-fk_settings-arm_fk-description = 腕の追従方法を変更する。
|
||||
settings-general-fk_settings-arm_fk-force_arms = Force arms from HMD
|
||||
settings-general-fk_settings-skeleton_settings = スケルトン設定
|
||||
settings-general-fk_settings-skeleton_settings-description = スケルトン設定のオン/オフを切り替えます。これらはオンのままにしておくことをお勧めします。
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Extended spine
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Extended pelvis
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Extended knee
|
||||
settings-general-fk_settings-self_localization-title = モーションキャプチャモード
|
||||
settings-general-fk_settings-vive_emulation-title = Viveエミュレーション
|
||||
settings-general-fk_settings-vive_emulation-description = Viveトラッカーが抱える腰トラッカーの問題をエミュレートします。
|
||||
settings-general-fk_settings-vive_emulation-label = Viveエミュレーションの有効化
|
||||
@@ -359,22 +361,28 @@ settings-general-gesture_control-mountingResetEnabled = タップによるマウ
|
||||
settings-general-gesture_control-mountingResetDelay = マウントリセットディレイ
|
||||
settings-general-gesture_control-mountingResetTaps = タップによるマウントリセット
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = インターフェース
|
||||
settings-general-interface-dev_mode = 開発者モード
|
||||
settings-general-interface-dev_mode-description = このモードは、詳細なデータが必要な場合や、接続されたトラッカーをより高度なレベルで操作する場合に役立ちます。
|
||||
settings-general-interface-dev_mode-label = 開発者モード
|
||||
settings-general-interface-theme = カラーテーマ
|
||||
settings-general-interface-lang = 言語を選択
|
||||
settings-general-interface-lang-description = 使用したいデフォルトの言語を変更する
|
||||
settings-general-interface-lang-placeholder = 使用する言語を選択する
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = GUIフォント
|
||||
settings-interface-appearance-font-os_font = OSフォント
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = 通知
|
||||
settings-general-interface-serial_detection = シリアルデバイスの検出
|
||||
settings-general-interface-serial_detection-description = このオプションは、トラッカーとなり得る新しいシリアルデバイスを接続するたびにポップアップを表示します。これはトラッカーの設定プロセスを改善するのに役立ちます。
|
||||
settings-general-interface-serial_detection-label = シリアルデバイスの検出
|
||||
settings-general-interface-feedback_sound = フィードバック音
|
||||
settings-general-interface-feedback_sound-label = フィードバック音
|
||||
settings-general-interface-feedback_sound-volume = フィードバック音量
|
||||
settings-general-interface-theme = カラーテーマ
|
||||
settings-general-interface-lang = 言語を選択
|
||||
settings-general-interface-lang-description = 使用したいデフォルトの言語を変更する
|
||||
settings-general-interface-lang-placeholder = 使用する言語を選択する
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -570,6 +578,8 @@ onboarding-assign_trackers-next = すべてのトラッカーを割り当てま
|
||||
|
||||
## Tracker mounting method choose
|
||||
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-label = 実験的な
|
||||
|
||||
## Tracker manual mounting setup
|
||||
|
||||
@@ -624,6 +634,8 @@ onboarding-automatic_proportions-put_trackers_on-description = プロポーシ
|
||||
onboarding-automatic_proportions-put_trackers_on-next = すべてのトラッカーを装着しました
|
||||
onboarding-automatic_proportions-requirements-title = 要件
|
||||
onboarding-automatic_proportions-requirements-next = 要件を読みました
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height = あなたの身長は
|
||||
onboarding-automatic_proportions-start_recording-title = 測定の準備をする
|
||||
onboarding-automatic_proportions-start_recording-description = これから具体的なポーズや動きを記録します。これらは次の画面に表示されます。ボタンが押されたらすぐに始められるように準備しておいてください!
|
||||
onboarding-automatic_proportions-start_recording-next = レコーディングスタート
|
||||
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = 오른손
|
||||
body_part-RIGHT_UPPER_LEG = 오른쪽 다리 위
|
||||
body_part-RIGHT_LOWER_LEG = 오른쪽 다리 아래
|
||||
body_part-RIGHT_FOOT = 오른발
|
||||
body_part-UPPER_CHEST = 가슴 위
|
||||
body_part-CHEST = 가슴
|
||||
body_part-WAIST = 허리
|
||||
body_part-HIP = 골반
|
||||
@@ -53,8 +54,9 @@ skeleton_bone-NONE = 없음
|
||||
skeleton_bone-HEAD = 머리 밀림
|
||||
skeleton_bone-NECK = 목 길이
|
||||
skeleton_bone-torso_group = 몸통 길이
|
||||
skeleton_bone-CHEST = 가슴 길이
|
||||
skeleton_bone-UPPER_CHEST = 가슴 위쪽 길이
|
||||
skeleton_bone-CHEST_OFFSET = 가슴 오프셋
|
||||
skeleton_bone-CHEST = 가슴 길이
|
||||
skeleton_bone-WAIST = 허리 길이
|
||||
skeleton_bone-HIP = 골반 길이
|
||||
skeleton_bone-HIP_OFFSET = 골반 오프셋
|
||||
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = 오버레이 반전
|
||||
|
||||
widget-drift_compensation-clear = 틀어짐 보정 초기화
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = 착용 방향 정렬 초기화
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = 개발자 모드
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = 앞쪽
|
||||
tracker-rotation-front_left = 왼쪽 앞
|
||||
tracker-rotation-front_right = 오른쪽 앞
|
||||
tracker-rotation-left = 왼쪽
|
||||
tracker-rotation-right = 오른쪽
|
||||
tracker-rotation-back = 뒤쪽
|
||||
tracker-rotation-back_left = 왼쪽 뒤
|
||||
tracker-rotation-back_right = 오른쪽 뒤
|
||||
tracker-rotation-custom = 사용자 지정
|
||||
tracker-rotation-overriden = (착용 방향 보정으로 재정의됨)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = 오른쪽 다리 위{ -tracker_selectio
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = 오른쪽 다리 아래{ -tracker_selection-part }
|
||||
tracker_selection_menu-RIGHT_FOOT = 오른쪽 발{ -tracker_selection-part }
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = 오른쪽 컨트롤러{ -tracker_selection-part }
|
||||
tracker_selection_menu-UPPER_CHEST = 가슴 위{ -tracker_selection-part }
|
||||
tracker_selection_menu-CHEST = 가슴{ -tracker_selection-part }
|
||||
tracker_selection_menu-WAIST = 허리{ -tracker_selection-part }
|
||||
tracker_selection_menu-HIP = 골반{ -tracker_selection-part }
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = OSC 라우터
|
||||
settings-sidebar-osc_trackers = VRChat OSC 트래커
|
||||
settings-sidebar-utils = 유틸리티
|
||||
settings-sidebar-serial = 시리얼 콘솔
|
||||
settings-sidebar-appearance = 모양
|
||||
settings-sidebar-notifications = 알림
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -336,11 +351,10 @@ settings-general-fk_settings-leg_fk = 발 트래킹
|
||||
settings-general-fk_settings-arm_fk = 팔 운동학
|
||||
settings-general-fk_settings-arm_fk-description = 팔이 추적되는 방식을 변경할 수 있어요.
|
||||
settings-general-fk_settings-arm_fk-force_arms = 팔을 HMD에서만 받아오기
|
||||
settings-general-fk_settings-skeleton_settings = 골격 설정
|
||||
settings-general-fk_settings-skeleton_settings-description = 골격 설정을 설정하거나 해제해요. 이것들은 켜두는 게 좋아요.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = 척추 확장
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = 골반 확장
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = 무릎 확장
|
||||
settings-general-fk_settings-skeleton_settings-ratios = 골격 비율
|
||||
settings-general-fk_settings-self_localization-title = Mocap 모드
|
||||
settings-general-fk_settings-self_localization-description = Mocap 모드에서는 헤드셋이나 다른 트래커 없이 골격이 자신의 위치를 대략적으로 추적할 수 있어요. 발과 머리 트래커가 필요하고 아직 실험적이에요.
|
||||
settings-general-fk_settings-vive_emulation-title = VIVE 에뮬레이션
|
||||
settings-general-fk_settings-vive_emulation-description = 바이브 트래커가 가지고 있는 허리 트래커 문제를 따라해보세요! 사실 이건 장난이고 추적을 더 악화시켜요.
|
||||
settings-general-fk_settings-vive_emulation-label = VIVE 에뮬레이션 활성화
|
||||
@@ -356,6 +370,9 @@ settings-general-gesture_control-taps =
|
||||
{ $amount ->
|
||||
*[other] { $amount } 탭
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers = { $amount } 트래커
|
||||
settings-general-gesture_control-yawResetEnabled = 탭해서 Yaw 정렬 활성화
|
||||
settings-general-gesture_control-yawResetDelay = Yaw 정렬 딜레이
|
||||
settings-general-gesture_control-yawResetTaps = Yaw 정렬 탭 횟수
|
||||
@@ -365,13 +382,32 @@ settings-general-gesture_control-fullResetTaps = 탭해서 전체 정렬
|
||||
settings-general-gesture_control-mountingResetEnabled = 탭해서 착용 방향 정렬 활성화
|
||||
settings-general-gesture_control-mountingResetDelay = 착용 방향 정렬 딜레이
|
||||
settings-general-gesture_control-mountingResetTaps = 탭해서 착용 방향 정렬
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = 트래커 감지 한계
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = 몸을 움직이면서 제스처 제어를 하고 싶은데 잘 작동하지 않는다면 이 값을 늘리세요. 탭 탐지가 작동하는 데 필요한 값 이상으로 늘리지 마세요. 더 많은 오작동이 발생할 수 있어요.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = 인터페이스
|
||||
settings-interface-appearance = 모양
|
||||
settings-general-interface-dev_mode = 개발자 모드
|
||||
settings-general-interface-dev_mode-description = 이 모드는 더 많은 데이터가 필요하거나 고급 수준에서 연결된 트래커와 상호 작용하는 경우에 유용할 수 있어요.
|
||||
settings-general-interface-dev_mode-label = 개발자 모드
|
||||
settings-general-interface-theme = 컬러 테마
|
||||
settings-general-interface-lang = 언어 선택
|
||||
settings-general-interface-lang-description = 사용하고 싶은 기본 언어를 선택하세요.
|
||||
settings-general-interface-lang-placeholder = 사용할 언어를 선택하세요
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = GUI 글꼴
|
||||
settings-interface-appearance-font-description = 이렇게 하면 인터페이스에서 사용하는 글꼴이 변경돼요.
|
||||
settings-interface-appearance-font-placeholder = 기본 글꼴
|
||||
settings-interface-appearance-font-os_font = OS 글꼴
|
||||
settings-interface-appearance-font-slime_font = 기본 글꼴
|
||||
settings-interface-appearance-font_size = 글꼴 크기 조정
|
||||
settings-interface-appearance-font_size-description = 변경하면 이 설정 패널을 제외하고 모든 인터페이스의 글꼴 크기가 달라져요.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = 알림
|
||||
settings-general-interface-serial_detection = 시리얼 디바이스 감지
|
||||
settings-general-interface-serial_detection-description = 이 옵션은 트래커일 수도 있는 새로운 시리얼 디바이스를 연결할 때마다 팝업을 표시해요. 트래커 설정 프로세스를 개선하는 데 도움이 될 거예요.
|
||||
settings-general-interface-serial_detection-label = 시리얼 디바이스 감지
|
||||
@@ -379,10 +415,6 @@ settings-general-interface-feedback_sound = 피드백 사운드
|
||||
settings-general-interface-feedback_sound-description = 이 옵션을 켜면 트래커를 정렬할 때 효과음을 재생해요
|
||||
settings-general-interface-feedback_sound-label = 피드백 사운드
|
||||
settings-general-interface-feedback_sound-volume = 피드백 사운드 음량
|
||||
settings-general-interface-theme = 컬러 테마
|
||||
settings-general-interface-lang = 언어 선택
|
||||
settings-general-interface-lang-description = 사용하고 싶은 기본 언어를 선택하세요.
|
||||
settings-general-interface-lang-placeholder = 사용할 언어를 선택하세요
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -526,6 +558,27 @@ onboarding-wifi_creds-password =
|
||||
|
||||
onboarding-reset_tutorial-back = 착용 방향 정렬로 돌아가기
|
||||
onboarding-reset_tutorial = 정렬 튜토리얼
|
||||
onboarding-reset_tutorial-explanation =
|
||||
트래커를 사용하다 보면 Yaw 드리프트 또는 트래커가 미끄러져서 틀어짐이 발생할 수 있어요.
|
||||
지금부터 그런 문제를 해결하는 방법을 알려 드릴게요.
|
||||
onboarding-reset_tutorial-skip = 무시하고 건너뛰기
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-0 =
|
||||
Yaw 정렬을 시도하려면 강조된 트래커를 { $taps }번 탭하세요.
|
||||
그러면 트래커는 HMD가 바라보는 면과 같은 방향으로 정렬될 거예요.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-1 =
|
||||
전체 정렬을 시도하려면 강조된 트래커를 { $taps }번 탭하세요.
|
||||
|
||||
탭한 다음 3초 뒤에(설정에서 변경 가능) 실제 보정이 이뤄지기 때문에 그 사이에 일어나서 차렷 자세로 보정을 기다리면 돼요.
|
||||
전체 정렬은 모든 트래커의 위치와 각도를 원래대로 되돌리기 때문에 대부분의 틀어짐 문제를 해결할 수 있어요.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-2 =
|
||||
착용 방향 정렬을 시도하려면 강조된 트래커를 { $taps }번 탭하세요.
|
||||
|
||||
착용 방향 정렬은 실제로 몸에 있는 트래커의 위치를 감지할 수 있어요. 트래커를 정확한 방향으로 착용하지 않거나 실수로 움직여서 트래커가 미끄러져도 착용 방향 정렬을 통해 해결할 수 있어요.
|
||||
|
||||
자동 착용 방향 설정 마법사에서 봤던 것처럼 스키를 타는 듯한 자세로 몸을 구부리고 있으세요. 탭한 다음 3초 뒤에(설정에서 변경 가능) 보정이 시작될 거예요.
|
||||
|
||||
## Setup start
|
||||
|
||||
@@ -577,6 +630,9 @@ onboarding-connect_tracker-next = 모든 트래커를 잘 연결했어요
|
||||
|
||||
onboarding-calibration_tutorial = IMU 캘리브레이션 튜토리얼
|
||||
onboarding-calibration_tutorial-subtitle = 트래커 틀어짐을 줄이는 데 도움이 될 거예요!
|
||||
onboarding-calibration_tutorial-description =
|
||||
매번 트래커의 전원을 켤 때마다 평평한 바닥에 트래커를 두고 잠시 기다려서 보정을 수행해야 해요. <b>(트래커를 움직이지 마세요!)</b>
|
||||
어떻게 하면 되는지 "{ onboarding-calibration_tutorial-calibrate }"를 눌러 같이 따라해보죠!
|
||||
onboarding-calibration_tutorial-status-calibrating = 캘리브레이팅
|
||||
|
||||
## Tracker assignment tutorial
|
||||
@@ -714,11 +770,11 @@ onboarding-choose_proportions = 신체 비율을 설정하기 위해 어떤 방
|
||||
onboarding-choose_proportions-auto_proportions = 자동으로 비율 설정
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = 권장
|
||||
onboarding-choose_proportions-auto_proportions-description = 이렇게 하면 움직임 샘플을 기록하고 알고리즘을 통과해서 자동으로 신체 비율을 설정할 수 있어요
|
||||
onboarding-choose_proportions-manual_proportions = 수동으로 비율 설정
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = 정밀하게 설정하고 싶다면
|
||||
onboarding-choose_proportions-manual_proportions-description = 이렇게 하면 신체 비율을 직접 수정하여 수동으로 조절할 수 있어요
|
||||
onboarding-choose_proportions-export = 다른 이름으로 저장
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
@@ -776,6 +832,7 @@ onboarding-automatic_proportions-verify_results-redo = 다시 기록하기
|
||||
onboarding-automatic_proportions-verify_results-confirm = 정확해요!
|
||||
onboarding-automatic_proportions-done-title = 몸을 측정하고 저장했어요
|
||||
onboarding-automatic_proportions-done-description = 신체 비율 보정이 완료되었어요!
|
||||
onboarding-automatic_proportions-error_modal-confirm = 이해했어요!
|
||||
|
||||
## Home
|
||||
|
||||
@@ -783,3 +840,10 @@ home-no_trackers = 감지되거나 할당된 트래커가 없어요.
|
||||
|
||||
## Status system
|
||||
|
||||
status_system-StatusTrackerReset = 아직 정렬되지 않은 트래커가 있어서 전체 정렬을 수행해주세요.
|
||||
status_system-StatusSteamVRDisconnected =
|
||||
{ $type ->
|
||||
[steamvr_feeder] SlimeVR 피더와 통신할 수 없어요.
|
||||
*[other] SlimeVR 드라이버를 통해 SteamVR과 통신할 수 없어요.
|
||||
}
|
||||
status_system-StatusTrackerError = { $trackerName } 트래커에 문제가 발생했어요.
|
||||
|
||||
@@ -13,7 +13,7 @@ websocket-connection_lost = Verbinding met de server verbroken. Opniew verbindin
|
||||
## Update notification
|
||||
|
||||
version_update-title = Nieuwe versie beschikbaar: { $version }
|
||||
version_update-description = Als u op "Bijwerken" klikt, wordt het SlimeVR-installatieprogramma voor je gedownload.
|
||||
version_update-description = Als je op "{ version_update-update }" klikt, wordt het SlimeVR-installatieprogramma voor je gedownload.
|
||||
version_update-update = Bijwerken
|
||||
version_update-close = Sluiten
|
||||
|
||||
@@ -28,7 +28,7 @@ tips-tap_setup = Je kan langzaam 2 keer op je tracker tikken om deze te kiezen i
|
||||
|
||||
body_part-NONE = Niet toegewezen
|
||||
body_part-HEAD = Hoofd
|
||||
body_part-NECK = Neck
|
||||
body_part-NECK = Nek
|
||||
body_part-RIGHT_SHOULDER = Rechterschouder
|
||||
body_part-RIGHT_UPPER_ARM = Rechterbovenarm
|
||||
body_part-RIGHT_LOWER_ARM = Rechteronderarm
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = Rechterhand
|
||||
body_part-RIGHT_UPPER_LEG = Rechterdij
|
||||
body_part-RIGHT_LOWER_LEG = Rechterenkel
|
||||
body_part-RIGHT_FOOT = Rechtervoet
|
||||
body_part-UPPER_CHEST = Bovenborst
|
||||
body_part-CHEST = Borst
|
||||
body_part-WAIST = Taille
|
||||
body_part-HIP = Heup
|
||||
@@ -51,11 +52,12 @@ body_part-LEFT_FOOT = Linkervoet
|
||||
|
||||
skeleton_bone-NONE = Geen
|
||||
skeleton_bone-HEAD = Hoofdverschuiving
|
||||
skeleton_bone-NECK = Necklengte
|
||||
skeleton_bone-torso_group = Torso lengte
|
||||
skeleton_bone-CHEST = Borstafstand
|
||||
skeleton_bone-NECK = Neklengte
|
||||
skeleton_bone-torso_group = Romp lengte
|
||||
skeleton_bone-UPPER_CHEST = Bovenborst Lengte
|
||||
skeleton_bone-CHEST_OFFSET = Borstoffset
|
||||
skeleton_bone-WAIST = Tailleafstand
|
||||
skeleton_bone-CHEST = Borstafstand
|
||||
skeleton_bone-WAIST = Taille lengte
|
||||
skeleton_bone-HIP = Heuplengte
|
||||
skeleton_bone-HIP_OFFSET = Heupoffset
|
||||
skeleton_bone-HIPS_WIDTH = Heupbreedte
|
||||
@@ -64,7 +66,7 @@ skeleton_bone-UPPER_LEG = Bovenbeenlengte
|
||||
skeleton_bone-LOWER_LEG = Onderbeenlengte
|
||||
skeleton_bone-FOOT_LENGTH = Voetlengte
|
||||
skeleton_bone-FOOT_SHIFT = Voetverschuiving
|
||||
skeleton_bone-SKELETON_OFFSET = Skelettenoffset
|
||||
skeleton_bone-SKELETON_OFFSET = Skelet offset
|
||||
skeleton_bone-SHOULDERS_DISTANCE = Schoudersafstand
|
||||
skeleton_bone-SHOULDERS_WIDTH = Schouderbreedte
|
||||
skeleton_bone-arm_group = Armlengte
|
||||
@@ -77,16 +79,16 @@ skeleton_bone-ELBOW_OFFSET = Elleboogoffset
|
||||
## Tracker reset buttons
|
||||
|
||||
reset-reset_all = Alle afmetingen resetten
|
||||
reset-full = Resetten
|
||||
reset-mounting = Bevestiging resetten
|
||||
reset-yaw = Horizontale reset
|
||||
reset-full = Volledige reset
|
||||
reset-mounting = Reset montage
|
||||
reset-yaw = Yaw Reset
|
||||
|
||||
## Serial detection stuff
|
||||
|
||||
serial_detection-new_device-p0 = Nieuw serieel apparaat gedetecteerd!
|
||||
serial_detection-new_device-p1 = Voer je WiFi-inloggegevens in!
|
||||
serial_detection-new_device-p2 = Selecteer wat je wil doen
|
||||
serial_detection-open_wifi = Verbinding maken met WiFi
|
||||
serial_detection-open_wifi = Verbind met Wi-Fi
|
||||
serial_detection-open_serial = Seriële console openen
|
||||
serial_detection-submit = Verzenden!
|
||||
serial_detection-close = Sluiten
|
||||
@@ -94,10 +96,10 @@ serial_detection-close = Sluiten
|
||||
## Navigation bar
|
||||
|
||||
navbar-home = Startpagina
|
||||
navbar-body_proportions = Lichaams- verhoudingen
|
||||
navbar-trackers_assign = Tracker- toewijzing
|
||||
navbar-mounting = Bevestigings- kalibratie
|
||||
navbar-onboarding = Setupgids
|
||||
navbar-body_proportions = Lichaamsverhoudingen
|
||||
navbar-trackers_assign = Tracker-toewijzing
|
||||
navbar-mounting = Bevestigings-kalibratie
|
||||
navbar-onboarding = Installatiewizard
|
||||
navbar-settings = Instellingen
|
||||
|
||||
## Biovision hierarchy recording
|
||||
@@ -108,7 +110,7 @@ bvh-recording = Opname bezig...
|
||||
## Tracking pause
|
||||
|
||||
tracking-unpaused = Pauzeer tracking
|
||||
tracking-paused = Herneem tracking
|
||||
tracking-paused = Hervat tracking
|
||||
|
||||
## Widget: Overlay settings
|
||||
|
||||
@@ -118,7 +120,11 @@ widget-overlay-is_mirrored_label = Overlay weergeven als spiegel
|
||||
|
||||
## Widget: Drift compensation
|
||||
|
||||
widget-drift_compensation-clear = Reset huidige drift compensatie waarden
|
||||
widget-drift_compensation-clear = Reset huidige drift compensatie
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Reset montage legen
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
@@ -127,7 +133,7 @@ widget-developer_mode-high_contrast = Hoog contrast
|
||||
widget-developer_mode-precise_rotation = Precieze rotatie
|
||||
widget-developer_mode-fast_data_feed = Snelle data feed
|
||||
widget-developer_mode-filter_slimes_and_hmd = Filter slimes en HMD
|
||||
widget-developer_mode-sort_by_name = Op naam sorteren
|
||||
widget-developer_mode-sort_by_name = Sorteer op naam
|
||||
widget-developer_mode-raw_slime_rotation = Ruwe rotatie
|
||||
widget-developer_mode-more_info = Meer informatie
|
||||
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Voorzijde
|
||||
tracker-rotation-front_left = Linksvoor
|
||||
tracker-rotation-front_right = Rechtsvoor
|
||||
tracker-rotation-left = Links
|
||||
tracker-rotation-right = Rechts
|
||||
tracker-rotation-back = Achterzijde
|
||||
tracker-rotation-back_left = Linksachter
|
||||
tracker-rotation-back_right = Rechtsachter
|
||||
tracker-rotation-custom = Aangepast
|
||||
tracker-rotation-overriden = (overschreven door montage reset)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -187,7 +199,7 @@ tracker-settings-assignment_section = Toewijzing
|
||||
tracker-settings-assignment_section-description = Aan welk lichaamsdeel de tracker is toegewezen.
|
||||
tracker-settings-assignment_section-edit = Toewijzing bewerken
|
||||
tracker-settings-mounting_section = Bevestigingsorientatie
|
||||
tracker-settings-mounting_section-description = Hoe is de tracker georiënteerd?
|
||||
tracker-settings-mounting_section-description = Waar is de tracker gemonteerd?
|
||||
tracker-settings-mounting_section-edit = Bevestiging bewerken
|
||||
tracker-settings-drift_compensation_section = Laat drift compensatie toe
|
||||
tracker-settings-drift_compensation_section-description = Moet deze tracker compenseren voor drift wanneer drift compensatie is ingeschakeld?
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } rechterdij?
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } rechterenkel?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } rechtervoet?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } rechtercontroller?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } bovenborst?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } borst?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } taille?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } heup?
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = OSC-router
|
||||
settings-sidebar-osc_trackers = VRChat OSC Trackers
|
||||
settings-sidebar-utils = Hulpmiddelen
|
||||
settings-sidebar-serial = Serieel console
|
||||
settings-sidebar-appearance = Uiterlijk
|
||||
settings-sidebar-notifications = Notificaties
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -328,15 +343,32 @@ settings-general-fk_settings-leg_tweak-skating_correction = Skating-correctie
|
||||
settings-general-fk_settings-leg_tweak-toe_snap = Teen snap
|
||||
settings-general-fk_settings-leg_tweak-foot_plant = Voetplant
|
||||
settings-general-fk_settings-leg_tweak-skating_correction-amount = Skating-correctie sterkte
|
||||
settings-general-fk_settings-leg_tweak-skating_correction-description = Schaatscorrectie corrigeert voor schaatsen, maar kan de nauwkeurigheid van bepaalde bewegingspatronen verminderen. Zorg ervoor dat je bij het inschakelen een volledige reset uitvoert en opnieuw kalibreert in het spel.
|
||||
settings-general-fk_settings-leg_tweak-floor_clip-description =
|
||||
Floor-clip kan het doorknippen van de vloer verminderen of zelfs elimineren.
|
||||
Zorg ervoor dat u bij het inschakelen een volledige reset uitvoert en opnieuw kalibreert in het spel.
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap probeert de rotatie van uw voeten te raden als voet-trackers niet worden gebruikt.
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant roteert je voeten zodat ze evenwijdig aan de grond zijn wanneer ze in contact zijn.
|
||||
settings-general-fk_settings-leg_fk = Been tracking
|
||||
settings-general-fk_settings-arm_fk = Arm tracking
|
||||
settings-general-fk_settings-arm_fk-description = Verander de manier waarop de armen worden getrackt.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Dwing armen vanuit HMD
|
||||
settings-general-fk_settings-skeleton_settings = Skeleton instellingen
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Pas de verwachte armhouding aan voor het resetten van de montage.
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Skelet schakelaars
|
||||
settings-general-fk_settings-skeleton_settings-description = Schakel skeleton instellingen in of uit. Het is aanbevolen om deze aan te laten.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Uitgebreide rug
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Uitgebreide bekken
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Uitgebreide knieën
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Uitgebreid ruggengraat model
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Uitgebreid bekken model
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Uitgebreid knie model
|
||||
settings-general-fk_settings-skeleton_settings-ratios = skelet verhoudingen
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Pas de waardes van de skelet instellingen aan. Het kan zijn dat je hierna je lichaams proporties moet aanpassen.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Bereken taille van borst naar heup
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Bereken taille van borst naar benen
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Bereken heup van borst naar benen
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Bereken heup van taille naar benen
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Bereken het gemiddelde van de 'yaw en roll van de heup met die van de benen'
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Bereken het gemiddelde van de 'yaw en roll van de knie trackers met die van de enkels'
|
||||
settings-general-fk_settings-self_localization-title = Mocap modus
|
||||
settings-general-fk_settings-self_localization-description = Mocap modus staat het skelet model toe om zijn eigen positie te bepalen zonder het gebruik van een headset of andere trackers. Dit vergt wel het gebruik van voet en hoofd trackers, dit is momenteel nog expirimenteel.
|
||||
settings-general-fk_settings-vive_emulation-title = Vive-emulatie
|
||||
settings-general-fk_settings-vive_emulation-description = Emuleer de problemen met de taille van Vive trackers. Dit is een mop en maakt tracking slechter.
|
||||
settings-general-fk_settings-vive_emulation-label = Vive-emulatie inschakelen
|
||||
@@ -353,6 +385,13 @@ settings-general-gesture_control-taps =
|
||||
[one] 1 tik
|
||||
*[other] { $amount } tikken
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] één
|
||||
*[other] anders
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Activeer tikken voor horizontale reset
|
||||
settings-general-gesture_control-yawResetDelay = Vertraging horizontale reset
|
||||
settings-general-gesture_control-yawResetTaps = Hoeveelheid tikken voor horizontale reset
|
||||
@@ -362,13 +401,32 @@ settings-general-gesture_control-fullResetTaps = Hoeveelheid tikken voor volledi
|
||||
settings-general-gesture_control-mountingResetEnabled = Activeer tikken voor bevestigingskalibratie
|
||||
settings-general-gesture_control-mountingResetDelay = Vertraging bevestigingskalibratie
|
||||
settings-general-gesture_control-mountingResetTaps = Hoeveelheid tikken voor bevestigingskalibratie
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Trackers over drempelwaarde
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Verhoog deze waarde als de tik detectie niet werkt. Zet deze waarde niet te hoog om tik detectie te laten werken, dit kan vals positieve resultaten creëren.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Interface
|
||||
settings-interface-appearance = Uiterlijk
|
||||
settings-general-interface-dev_mode = Ontwikkelaarsmodus
|
||||
settings-general-interface-dev_mode-description = Deze modus kan nuttig zijn als je diepgaande gegevens nodig hebt of op een geavanceerd niveau wilt communiceren met aangesloten trackers.
|
||||
settings-general-interface-dev_mode-label = Ontwikkelaarsmodus
|
||||
settings-general-interface-theme = Themakleur
|
||||
settings-general-interface-lang = Selecteer taal
|
||||
settings-general-interface-lang-description = Verander de standaardtaal die je wilt gebruiken.
|
||||
settings-general-interface-lang-placeholder = Selecteer de te gebruiken taal
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = GUI lettertype
|
||||
settings-interface-appearance-font-description = Dit past het lettertype aan welke gebruikt wordt binnen het interface
|
||||
settings-interface-appearance-font-placeholder = Standaard lettertype
|
||||
settings-interface-appearance-font-os_font = Besturingssysteem lettertype
|
||||
settings-interface-appearance-font-slime_font = Standaard lettertype
|
||||
settings-interface-appearance-font_size = Standaard lettertype grote
|
||||
settings-interface-appearance-font_size-description = Dit past het lettertype grote aan voor het gehele interfeace, behalve voor deze instellingen pagina.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Notificaties
|
||||
settings-general-interface-serial_detection = Detectie van seriële apparaten
|
||||
settings-general-interface-serial_detection-description = Met deze optie verschijnt er elke keer dat je een nieuw serieel apparaat aansluit dat mogelijk een tracker is, een pop-up. Dit helpt bij het verbeteren van het instelproces van een tracker.
|
||||
settings-general-interface-serial_detection-label = Detectie van seriële apparaten
|
||||
@@ -376,10 +434,6 @@ settings-general-interface-feedback_sound = Feedback geluid
|
||||
settings-general-interface-feedback_sound-description = Speelt een geluid telkens de reset wordt uitgevoerd
|
||||
settings-general-interface-feedback_sound-label = Feedback geluid
|
||||
settings-general-interface-feedback_sound-volume = Feedback geluid volume
|
||||
settings-general-interface-theme = Themakleur
|
||||
settings-general-interface-lang = Selecteer taal
|
||||
settings-general-interface-lang-description = Verander de standaardtaal die je wilt gebruiken.
|
||||
settings-general-interface-lang-placeholder = Selecteer de te gebruiken taal
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -523,7 +577,26 @@ onboarding-wifi_creds-password =
|
||||
|
||||
onboarding-reset_tutorial-back = Ga terug naar de bevestigingskalibratie
|
||||
onboarding-reset_tutorial = Reset tutorial
|
||||
onboarding-reset_tutorial-explanation = Terwijl je jouw trackers gebruikt, kunnen ze uit de lijn raken vanwege IMU-yaw-drift, of omdat je ze fysiek hebt verplaatst. Je hebt verschillende manieren om dit op te lossen.
|
||||
onboarding-reset_tutorial-skip = Stap overslaan
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-0 =
|
||||
Tik { $taps } keer op de gemarkeerde tracker om de yaw-reset te activeren.
|
||||
|
||||
Hierdoor staan de trackers in dezelfde richting als je HMD.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-1 =
|
||||
Tik { $taps } keer op de gemarkeerde tracker om een volledige reset uit te voeren.
|
||||
|
||||
Hiervoor moet je staan (i-pose). Er is een vertraging van 3 seconden (instelbaar) voordat het daadwerkelijk gebeurt.
|
||||
Hiermee wordt de positie en rotatie van al je trackers volledig gereset. Dit zou de meeste problemen moeten oplossen.
|
||||
# Cares about multiline
|
||||
onboarding-reset_tutorial-2 =
|
||||
Tik { $taps } keer op de gemarkeerde tracker om de montage opnieuw in te stellen.
|
||||
|
||||
Montage-reset helpt bij hoe de trackers daadwerkelijk op je worden geplaatst, dus als je ze per ongeluk hebt verplaatst en de oriëntatie ervan voor een groot deel hebt veranderd, zal dit helpen.
|
||||
|
||||
Je moet in een houding staan alsof je aan het skiën bent, zoals wordt weergegeven in de Automatische montage wizard, je hebt een vertraging van 3 seconden (instelbaar) voordat deze wordt geactiveerd.
|
||||
|
||||
## Setup start
|
||||
|
||||
@@ -585,6 +658,13 @@ onboarding-calibration_tutorial-status-error = De tracker werd verplaatst
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
onboarding-assignment_tutorial = Hoe een Slime Tracker voor te bereiden voordat u deze aantrekt
|
||||
onboarding-assignment_tutorial-first_step = 1. Plaats een lichaamsdeelsticker (als je die hebt) op de tracker naar keuze
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Sticker
|
||||
onboarding-assignment_tutorial-second_step-v2 = Bevestig de strap aan de tracker met de klittenbandzijde in dezelfde richting als de voorzijde van de tracker:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = De klittenbandzijde van de extensie moet naar boven gericht zijn, zoals in de foto afgebeeld:
|
||||
onboarding-assignment_tutorial-done = Ik heb stickers en riemen geplaatst!
|
||||
|
||||
## Tracker assignment setup
|
||||
|
||||
@@ -673,6 +753,8 @@ onboarding-assign_trackers-warning-WAIST =
|
||||
## Tracker mounting method choose
|
||||
|
||||
onboarding-choose_mounting = Welke montagekalibratiemethode moet worden gebruikt?
|
||||
# Multiline text
|
||||
onboarding-choose_mounting-description = De oriëntatie van de montage corrigeert de plaatsing van trackers op uw lichaam.
|
||||
onboarding-choose_mounting-auto_mounting = Automatische bevestiging
|
||||
# Italized text
|
||||
onboarding-choose_mounting-auto_mounting-label = Experimenteel
|
||||
@@ -714,14 +796,23 @@ onboarding-automatic_mounting-put_trackers_on-next = Ik heb al mijn trackers aan
|
||||
## Tracker proportions method choose
|
||||
|
||||
onboarding-choose_proportions = Welke verhoudingskalibratiemethode moet worden gebruikt?
|
||||
# Multiline string
|
||||
onboarding-choose_proportions-description = Lichaamsverhoudingen worden gebruikt om de maten van je lichaam te kennen. Die zijn nodig om de posities van de trackers te berekenen. Wanneer de verhoudingen van uw lichaam niet overeenkomen met de opgeslagen verhoudingen, zal je trackingprecisie slechter zijn en zal je dingen opmerken zoals schaatsen of glijden, of je lichaam past niet goed bij je avatar.
|
||||
onboarding-choose_proportions-auto_proportions = Automatische verhoudingen
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Aanbevolen
|
||||
onboarding-choose_proportions-auto_proportions-description = We kunnen je verhoudingen proberen approximeren door middel van jouw bewegingen
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
Dit zal je proporties gokken met jouw bewegingen op basis van een opname, waarna deze door een algoritme gehaald worden.
|
||||
<b>Hiervoor moet een HMD verbonden zijn aan SlimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Handmatige lichaamsverhoudingen
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Voor kleine details
|
||||
onboarding-choose_proportions-manual_proportions-description = Hier kan je jouw verhoudingen handmatig aanpassen
|
||||
onboarding-choose_proportions-export = Export proporties
|
||||
onboarding-choose_proportions-import = Importeer proporties
|
||||
onboarding-choose_proportions-import-success = geïmporteerd
|
||||
onboarding-choose_proportions-import-failed = Mislukt
|
||||
onboarding-choose_proportions-file_type = Lichaamsproporties bestand
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
@@ -751,6 +842,20 @@ onboarding-automatic_proportions-requirements-description =
|
||||
Je trackers en headset werken goed binnen de SlimeVR server.
|
||||
Je headset rapporteert positiegegevens aan de SlimeVR-server (dit betekent over het algemeen dat SteamVR wordt uitgevoerd en verbonden met SlimeVR met behulp van SlimeVR's SteamVR-stuurprogramma).
|
||||
onboarding-automatic_proportions-requirements-next = Ik heb de vereisten gelezen
|
||||
onboarding-automatic_proportions-check_height-title = Controleer je lengte
|
||||
onboarding-automatic_proportions-check_height-description =
|
||||
We gebruiken je lengte als een basis voor onze metingen middels de HMD's hoogte, hiermee bepalen we je echte lengte.
|
||||
Maar het is beter om zelf te controleren of dit klopt.
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Druk op de knop terwijl je <u>rechtop</u> staat om je lengte te berekenen. Je hebt 3 seconden na dat je op de knop drukt!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Ik sta!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Onbekend
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = Je HMD lengte is
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = Je echte lengte is
|
||||
onboarding-automatic_proportions-check_height-next_step = Ze zijn goed
|
||||
onboarding-automatic_proportions-start_recording-title = Zorg dat je klaar bent om te bewegen
|
||||
onboarding-automatic_proportions-start_recording-description = We gaan nu enkele specifieke houdingen en bewegingen opnemen. Deze worden in het volgende scherm geprompt. Zorg dat je klaar bent om te beginnen als de knop wordt ingedrukt!
|
||||
onboarding-automatic_proportions-start_recording-next = Start opname
|
||||
@@ -780,6 +885,10 @@ onboarding-automatic_proportions-verify_results-redo = Opname opnieuw doen
|
||||
onboarding-automatic_proportions-verify_results-confirm = Ze zijn correct
|
||||
onboarding-automatic_proportions-done-title = Lichaam gemeten en opgeslagen.
|
||||
onboarding-automatic_proportions-done-description = Je kalibratie voor lichaamsverhoudingen is voltooid!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>Waarschuwing:</b> Er is een error ontstaan bij het schatten van de proporties!
|
||||
Check alsjeblieft <docs>de docs</docs> of join onze <discord>Discord</Discord> voor hulp ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Begrepen!
|
||||
|
||||
## Home
|
||||
|
||||
@@ -787,3 +896,10 @@ home-no_trackers = Geen trackers gedetecteerd of toegewezen
|
||||
|
||||
## Status system
|
||||
|
||||
status_system-StatusTrackerReset = Het wordt aanbevolen om een volledige reset uit te voeren omdat een of meer trackers niet zijn aangepast.
|
||||
status_system-StatusSteamVRDisconnected =
|
||||
{ $type ->
|
||||
[steamvr_feeder] Momenteel niet verbonden naar de SlimeVR Feeder App.
|
||||
*[other] Momenteel niet verbonden naar SteamVR via de SlimeVR driver.
|
||||
}
|
||||
status_system-StatusTrackerError = De { $trackerName } tracker heeft een error.
|
||||
|
||||
@@ -122,6 +122,10 @@ widget-overlay-is_mirrored_label = Pokaż Overlay jako Lustro
|
||||
|
||||
widget-drift_compensation-clear = Wyczyść kompensację dryfu
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Wyczyść resetowanie montażu
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Tryb Dewelopera
|
||||
@@ -165,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Przód
|
||||
tracker-rotation-front_left = Przedni lewy
|
||||
tracker-rotation-front_right = Przedni prawy
|
||||
tracker-rotation-left = Lewa
|
||||
tracker-rotation-right = Prawa
|
||||
tracker-rotation-back = Tył
|
||||
tracker-rotation-back_left = Lewy tył
|
||||
tracker-rotation-back_right = Prawy tył
|
||||
tracker-rotation-custom = Własne
|
||||
tracker-rotation-overriden = (nadpisany przez reset montażu)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -272,6 +282,8 @@ settings-sidebar-osc_router = OSC router
|
||||
settings-sidebar-osc_trackers = Śledzenie VRChat OSC
|
||||
settings-sidebar-utils = Narzędzia
|
||||
settings-sidebar-serial = Konsola Seryjna
|
||||
settings-sidebar-appearance = Wygląd
|
||||
settings-sidebar-notifications = Powiadomienia
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -336,14 +348,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = Floor-clip może
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = Toe-snap próbuje odgadnąć obrót twoich stóp, jeśli trackery stóp nie są używane.
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = Foot-plant obraca stopy, aby były równoległe do podłoża podczas kontaktu.
|
||||
settings-general-fk_settings-leg_fk = Śledzenie nóg
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = Włącz resetowanie montażu stóp, chodząc na palcach.
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet = Reset mocowania stóp
|
||||
settings-general-fk_settings-arm_fk = Śledzenie ramienia
|
||||
settings-general-fk_settings-arm_fk-description = Zmień sposób śledzenia ramion.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Śledź ramiona z gogli VR
|
||||
settings-general-fk_settings-skeleton_settings = Ustawienia szkieletu
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = Zmień pozycję ramienia oczekiwaną przy resetowaniu montażu.
|
||||
settings-general-fk_settings-arm_fk-back = Wstecz
|
||||
settings-general-fk_settings-arm_fk-back-description = Tryb domyślny, w którym górne ramiona cofają się, a dolne ramiona przesuwają się do przodu.
|
||||
settings-general-fk_settings-arm_fk-tpose_up = T-pose (w górę)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = Oczekuje, że podczas pełnego resetu twoje ramiona będą opuszczone na boki w 90 stopni w górę podczas resetu montażowego.
|
||||
settings-general-fk_settings-arm_fk-tpose_down = T-pose (w dół)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = Oczekuje, że Twoje ramiona będą ustawione pod kątem w 90 stopni na boki podczas Pełnego Resetu i w dół po bokach podczas Resetu Montażowego.
|
||||
settings-general-fk_settings-arm_fk-forward = Do przodu
|
||||
settings-general-fk_settings-arm_fk-forward-description = Oczekuje, że Twoje ramiona będą uniesione pod kątem 90 stopni do przodu. Przydatne w VTubingu.
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Przełączniki szkieletowe
|
||||
settings-general-fk_settings-skeleton_settings-description = Włącz lub wyłącz ustawienia szkieletu. Zaleca się pozostawienie ich włączonych.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Wydłużony kręgosłup
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Rozszerzona miednica
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Wydłużone kolano
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Wydłużony model kręgosłupa
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Rozszerzony model miednicy
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Model z przedłużonym kolanem
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Współczynniki szkieletu
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Zmień wartości ustawień szkieletu. Po zmianie może być konieczne dostosowanie proporcji.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Przypisz talię od klatki piersiowej do bioder
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Przypisz talię od klatki piersiowej do nóg
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Przypisz biodro od klatki piersiowej do nóg
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Przypisz biodro od pasa do nóg
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Średnie odchylenie biodra i przetoczenie nogami
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Uśrednij odchylenie i przechylenie nakolanników za pomocą kostek
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Średnie odchylenie kolan i przechylenie kostek
|
||||
settings-general-fk_settings-self_localization-title = Tryb Mocap
|
||||
settings-general-fk_settings-self_localization-description = Tryb Mocap pozwala szkieletowi z grubsza śledzić własną pozycję bez headsetu lub innych trackerów. Pamiętaj, że wymaga to śledzenia stóp i głowy do działania i nadal jest eksperymentalne.
|
||||
settings-general-fk_settings-vive_emulation-title = Emulacja Vive
|
||||
settings-general-fk_settings-vive_emulation-description = Naśladuj problemy z trackerem talii, które mają trackery Vive. To żart i pogarsza śledzenie.
|
||||
settings-general-fk_settings-vive_emulation-label = Włącz emulację Vive
|
||||
@@ -362,6 +396,15 @@ settings-general-gesture_control-taps =
|
||||
[many] { $amount } dotknięć
|
||||
*[other] { $amount } dotknięć
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 tracker
|
||||
[few] 2 trackery
|
||||
[many] { $amount } trackery
|
||||
*[other] { $amount } trackery
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Włącz stuknięcie, aby zresetować odchylanie
|
||||
settings-general-gesture_control-yawResetDelay = Opóźnienie resetowania odchylenia
|
||||
settings-general-gesture_control-yawResetTaps = Stuknięcie do resetowania odchylenia
|
||||
@@ -371,13 +414,32 @@ settings-general-gesture_control-fullResetTaps = Stuknij do pełnego resetu
|
||||
settings-general-gesture_control-mountingResetEnabled = Włącz stuknięcie, aby zresetować położenie
|
||||
settings-general-gesture_control-mountingResetDelay = Opóźnienie resetowania położenia
|
||||
settings-general-gesture_control-mountingResetTaps = Stuknięcie do resetowania położenia
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Trackery ponad progiem
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Zwiększ tę wartość, jeśli wykrywanie dotknięcia nie działa. Nie zwiększaj go ponad to, co jest potrzebne, aby wykrywanie dotknięcia działało, ponieważ spowoduje to fałszywe alarmy
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Interfejs
|
||||
settings-interface-appearance = Wygląd
|
||||
settings-general-interface-dev_mode = Tryb Dewelopera
|
||||
settings-general-interface-dev_mode-description = Ten tryb przydaje się do sprawdzania większej ilości danych.
|
||||
settings-general-interface-dev_mode-label = Tryb Dewelopera
|
||||
settings-general-interface-theme = Motyw kolorystyczny
|
||||
settings-general-interface-lang = Wybierz Język
|
||||
settings-general-interface-lang-description = Zmień podstawowy język jaki chcesz używać
|
||||
settings-general-interface-lang-placeholder = Wybierz Język który będziesz używać
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = Czcionka interfejsu użytkownika
|
||||
settings-interface-appearance-font-description = Spowoduje to zmianę czcionki używanej przez interfejs
|
||||
settings-interface-appearance-font-placeholder = Domyślna czcionka
|
||||
settings-interface-appearance-font-os_font = Czcionka systemu operacyjnego
|
||||
settings-interface-appearance-font-slime_font = Domyślna czcionka
|
||||
settings-interface-appearance-font_size = Skalowanie czcionki bazowej
|
||||
settings-interface-appearance-font_size-description = Wpływa to na rozmiar czcionki całego interfejsu z wyjątkiem tego panelu ustawień
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Powiadomienia
|
||||
settings-general-interface-serial_detection = Wykrywanie urządzeń
|
||||
settings-general-interface-serial_detection-description = Ta opcja daje powiadomienia jeżeli serwer wykryje urządzenie które może być trackerem
|
||||
settings-general-interface-serial_detection-label = Wykrywanie urządzeń
|
||||
@@ -385,10 +447,6 @@ settings-general-interface-feedback_sound = Dźwięk Informacji
|
||||
settings-general-interface-feedback_sound-description = Ta opcja odtworzy dźwięk, gdy reset zostanie uruchomiony
|
||||
settings-general-interface-feedback_sound-label = Dźwięk Informacji
|
||||
settings-general-interface-feedback_sound-volume = Poziom głośności sprzężenia zwrotnego
|
||||
settings-general-interface-theme = Motyw kolorystyczny
|
||||
settings-general-interface-lang = Wybierz Język
|
||||
settings-general-interface-lang-description = Zmień podstawowy język jaki chcesz używać
|
||||
settings-general-interface-lang-placeholder = Wybierz Język który będziesz używać
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -619,8 +677,8 @@ onboarding-assignment_tutorial = Jak przygotować Slime Tracker przed założeni
|
||||
onboarding-assignment_tutorial-first_step = 1. Umieść naklejkę z częścią ciała (jeśli ją posiadasz) na trackerze według własnego uznania
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Naklejka
|
||||
onboarding-assignment_tutorial-second_step = 2. Przymocuj pasek do trackera, utrzymując stronę paska z haczykiem i pętelką w następującej orientacji:
|
||||
onboarding-assignment_tutorial-second_step-continuation = Strona z haczykiem i pętelką dla przedłużenia powinna być w tej orientacji:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. Przymocuj pasek do trackera, tak aby rzep paska był skierowany w tę samą stronę, co slime face część trackera:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = Strona z rzepem dla przedłużenia powinna być skierowana do góry, jak na poniższym obrazku:
|
||||
onboarding-assignment_tutorial-done = Umieszczam naklejki i paski!
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -762,12 +820,18 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = Proporcje automatyczne
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Zalecana
|
||||
onboarding-choose_proportions-auto_proportions-description = To odgadnie twoje proporcje, rejestrując próbkę twoich ruchów i przepuszczając ją przez sztuczną inteligencję
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
To odgadnie twoje proporcje, rejestrując próbkę twoich ruchów i przepuszczając ją przez algorytm.
|
||||
|
||||
<b>Wymaga podłączenia HMD do SlimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = Ręczne proporcje
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = Drobne detale
|
||||
onboarding-choose_proportions-manual_proportions-description = Umożliwi to ręczne dostosowanie proporcji poprzez ich bezpośrednią modyfikację
|
||||
onboarding-choose_proportions-export = Eksportuj proporcje
|
||||
onboarding-choose_proportions-import = Importuj proporcje
|
||||
onboarding-choose_proportions-import-success = Importowane
|
||||
onboarding-choose_proportions-import-failed = Niepowodzenie
|
||||
onboarding-choose_proportions-file_type = Proporcje ciała
|
||||
|
||||
## Tracker manual proportions setup
|
||||
@@ -798,6 +862,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
Twoje urządzenia śledzące i zestaw VR działają poprawnie na serwerze SlimeVR.
|
||||
Twój zestaw VR przesyła dane pozycyjne do serwera SlimeVR (oznacza to ogólnie, że SteamVR działa i jest połączony ze SlimeVR za pomocą sterownika SlimeVR dla SteamVR).
|
||||
onboarding-automatic_proportions-requirements-next = Zapoznałem się z wymaganiami
|
||||
onboarding-automatic_proportions-check_height-title = Sprawdź swój wzrost
|
||||
onboarding-automatic_proportions-check_height-description = Używamy Twojego wzrostu jako podstawy naszych pomiarów, używając wzrostu HMD jako przybliżenia Twojego rzeczywistego wzrostu, ale lepiej samemu sprawdzić, czy są prawidłowe!
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Naciśnij przycisk stojąc <u>wyprostowany</u>, aby obliczyć swój wzrost. Masz 3 sekundy po naciśnięciu przycisku!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Stoję!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Nieznany
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = Twoja wysokość HMD to
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = Twoje rzeczywisty wzrost to
|
||||
onboarding-automatic_proportions-check_height-next_step = Są w porządku
|
||||
onboarding-automatic_proportions-start_recording-title = Bądź gotowy żeby się ruszać
|
||||
onboarding-automatic_proportions-start_recording-description = Będziemy teraz nagrywać specyficzne pozycje i ruchy. Będą one pokazane w następnym okienku. Bądź gotowy po naciśnięciu przycisku!
|
||||
onboarding-automatic_proportions-start_recording-next = Uruchom nagrywanie
|
||||
@@ -829,6 +905,10 @@ onboarding-automatic_proportions-verify_results-redo = Powtórz Nagrywanie
|
||||
onboarding-automatic_proportions-verify_results-confirm = Są Prawidłowe
|
||||
onboarding-automatic_proportions-done-title = Zmierzono oraz Zapisano.
|
||||
onboarding-automatic_proportions-done-description = Twoja kalibracja ciała została zakończona!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>Ostrzeżenie:</b> Wykryto błąd podczas szacowania proporcji!
|
||||
Proszę <docs>sprawdź dokumenty</docs> lub dołącz do naszego <discord>Discord</discord>, aby uzyskać pomoc ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Zrozumiano!
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = Правая рука
|
||||
body_part-RIGHT_UPPER_LEG = Правое бедро
|
||||
body_part-RIGHT_LOWER_LEG = Правая голень
|
||||
body_part-RIGHT_FOOT = Правая ступня
|
||||
body_part-UPPER_CHEST = Верхняя часть груди
|
||||
body_part-CHEST = Грудь
|
||||
body_part-WAIST = Талия
|
||||
body_part-HIP = Таз
|
||||
@@ -53,8 +54,9 @@ skeleton_bone-NONE = Пусто
|
||||
skeleton_bone-HEAD = Голова
|
||||
skeleton_bone-NECK = Длина шеи
|
||||
skeleton_bone-torso_group = Длина туловища
|
||||
skeleton_bone-CHEST = Длина груди
|
||||
skeleton_bone-UPPER_CHEST = Длина верхней части груди
|
||||
skeleton_bone-CHEST_OFFSET = Смещение груди
|
||||
skeleton_bone-CHEST = Длина груди
|
||||
skeleton_bone-WAIST = Длина талии
|
||||
skeleton_bone-HIP = Длина таза
|
||||
skeleton_bone-HIP_OFFSET = Смещение таза
|
||||
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = Показывать оверлей как з
|
||||
|
||||
widget-drift_compensation-clear = Очистить компенсацию дрифта
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Обнулить сброс выравнивания
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Режим разработчика
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = Спереди
|
||||
tracker-rotation-front_left = Левая сторона передней части
|
||||
tracker-rotation-front_right = Правая сторона передней части
|
||||
tracker-rotation-left = Слева
|
||||
tracker-rotation-right = Справа
|
||||
tracker-rotation-back = Сзади
|
||||
tracker-rotation-back_left = Левая сторона задней части
|
||||
tracker-rotation-back_right = Правая сторона задней части
|
||||
tracker-rotation-custom = Пользовательское
|
||||
tracker-rotation-overriden = (перезаписан крепёжным сбросом)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part } право
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part } правой лодышке?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part } правой ступне?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part } правому контроллеру?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part } верхняя часть груди?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part } груди?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part } талии?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part } тазу?
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = OSC роутер
|
||||
settings-sidebar-osc_trackers = VRChat OSC Трекеры
|
||||
settings-sidebar-utils = Утилиты
|
||||
settings-sidebar-serial = Консоль
|
||||
settings-sidebar-appearance = Внешность
|
||||
settings-sidebar-notifications = Уведомление
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -336,11 +351,21 @@ settings-general-fk_settings-leg_fk = Трекинг ноги
|
||||
settings-general-fk_settings-arm_fk = Трекинг руки
|
||||
settings-general-fk_settings-arm_fk-description = Измените способ отслеживания рук.
|
||||
settings-general-fk_settings-arm_fk-force_arms = Руки от HMD
|
||||
settings-general-fk_settings-skeleton_settings = Настройки скелета
|
||||
settings-general-fk_settings-skeleton_settings-toggles = Переключатели скелета
|
||||
settings-general-fk_settings-skeleton_settings-description = Включите или выключите настройки скелета. Рекомендуется оставить их включенными.
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Удлиненный позвоночник
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Расширенный таз
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Вытянутое колено
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = Модель вытянутого позвоночника
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = Модель удлиненного таза
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = Модель с удлиненным коленом
|
||||
settings-general-fk_settings-skeleton_settings-ratios = Соотношения скелета
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = Измените значения параметров скелета. Возможно, вам придется скорректировать пропорции после их изменения.
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = Рассчитать талию от груди до бёдер
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = Рассчитать талию от груди до ног
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = Рассчитать бедро от груди до ног
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Рассчитать бедро от талии до ног
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Усредните рыскание и перекат бедра c рысканьем и перекатом ног
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Усредните рыскание и крен коленных трекеров с рысканьем и креном трекеров лодыжек
|
||||
settings-general-fk_settings-self_localization-title = Режим Mocap
|
||||
settings-general-fk_settings-self_localization-description = Режим Mocap позволяет скелету примерно отслеживать свое собственное положение без использования гарнитуры или других трекеров. Обратите внимание, что для работы этого требуются трекеры ног и головы, и это все еще экспериментальный метод.
|
||||
settings-general-fk_settings-vive_emulation-title = Эмуляция Vive
|
||||
settings-general-fk_settings-vive_emulation-description = Имитируйте проблемы с отслеживанием талии, которые возникают у трекеров Vive. Это шутка, и она ухудшает отслеживание.
|
||||
settings-general-fk_settings-vive_emulation-label = Включить эмуляцию Vive
|
||||
@@ -359,6 +384,15 @@ settings-general-gesture_control-taps =
|
||||
[many] { $amount } нажатий
|
||||
*[other] { $amount } нажатий
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers =
|
||||
{ $amount ->
|
||||
[one] 1 трекер
|
||||
[few] { $amount } трекера
|
||||
[many] { $amount } трекеров
|
||||
*[other] { $amount } трекеров
|
||||
}
|
||||
settings-general-gesture_control-yawResetEnabled = Включить нажатие для сброса
|
||||
settings-general-gesture_control-yawResetDelay = Задержка сброса
|
||||
settings-general-gesture_control-yawResetTaps = Нажатия для сброса
|
||||
@@ -368,13 +402,32 @@ settings-general-gesture_control-fullResetTaps = Нажатия для полн
|
||||
settings-general-gesture_control-mountingResetEnabled = Включить нажатия для сброса крепления
|
||||
settings-general-gesture_control-mountingResetDelay = Задержка сброса крепления
|
||||
settings-general-gesture_control-mountingResetTaps = Нажатия для сброса крепления
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = Трекеры превышают порог
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = Увеличьте это значение, если обнаружение касания не работает. Не увеличивайте его выше того, что необходимо для работы обнаружения касания, так как это приведет к большему количеству ложных срабатываний.
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Интерфейс
|
||||
settings-interface-appearance = Внешность
|
||||
settings-general-interface-dev_mode = Режим разработчика
|
||||
settings-general-interface-dev_mode-description = Этот режим может быть полезен, если вам нужны подробные данные или для взаимодействия с подключенными трекерами на более продвинутом уровне.
|
||||
settings-general-interface-dev_mode-label = Режим разработчика
|
||||
settings-general-interface-theme = Варианты оформления
|
||||
settings-general-interface-lang = Выбрать язык
|
||||
settings-general-interface-lang-description = Измените язык по умолчанию, который вы хотите использовать.
|
||||
settings-general-interface-lang-placeholder = Выберите язык для использования
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = Шрифт GUI
|
||||
settings-interface-appearance-font-description = Это изменяет шрифт, используемый интерфейсом.
|
||||
settings-interface-appearance-font-placeholder = Шрифт по умолчанию
|
||||
settings-interface-appearance-font-os_font = Шрифт ОС
|
||||
settings-interface-appearance-font-slime_font = Шрифт по умолчанию
|
||||
settings-interface-appearance-font_size = Базовое масштабирование шрифта
|
||||
settings-interface-appearance-font_size-description = Это влияет на размер шрифта всего интерфейса, за исключением этой панели настроек.
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Уведомления
|
||||
settings-general-interface-serial_detection = Обнаружение серийного устройства
|
||||
settings-general-interface-serial_detection-description = Эта опция будет показывать всплывающее окно каждый раз, когда вы подключаете новое серийное устройство, которое может быть трекером. Это помогает улучшить процесс настройки трекера.
|
||||
settings-general-interface-serial_detection-label = Обнаружение серийного устройства
|
||||
@@ -382,10 +435,6 @@ settings-general-interface-feedback_sound = Звук обратной связи
|
||||
settings-general-interface-feedback_sound-description = Эта опция будет воспроизводить звук при срабатывании сброса.
|
||||
settings-general-interface-feedback_sound-label = Звук обратной связи
|
||||
settings-general-interface-feedback_sound-volume = Громкость реакции интерфейса на косание треккера
|
||||
settings-general-interface-theme = Варианты оформления
|
||||
settings-general-interface-lang = Выбрать язык
|
||||
settings-general-interface-lang-description = Измените язык по умолчанию, который вы хотите использовать.
|
||||
settings-general-interface-lang-placeholder = Выберите язык для использования
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -616,8 +665,8 @@ onboarding-assignment_tutorial = Как подготовить Slime Треке
|
||||
onboarding-assignment_tutorial-first_step = 1. Наклейте стикер с частью тела (если он у вас есть) на трекер по вашему выбору.
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Стикер
|
||||
onboarding-assignment_tutorial-second_step = 2. Прикрепите ремешок к вашему трекеру, придерживая лицевую сторону ремешка со стороны крючка и петли в следующем положении:
|
||||
onboarding-assignment_tutorial-second_step-continuation = Сторона крючка и петли для удлинителя должна быть в этой ориентации:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. Прикрепите ремешок к трекеру, держа липучку в том же направлении, что и верхняя сторона трекера:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = Липучка расширения должна смотреть вверх, как показано на следующей картинке:
|
||||
onboarding-assignment_tutorial-done = Я наклеил стикеры и ремешки!
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -759,12 +808,18 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = Автоматическая привязка
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = Рекомендуется
|
||||
onboarding-choose_proportions-auto_proportions-description = Это позволит угадать ваши пропорции, записав образец ваших движений и передав его через алгоритм.
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
Приложение попытаеться угадать ваши пропорции, записывая образец ваших движений и пропуская его через алгоритм.
|
||||
|
||||
<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
|
||||
@@ -795,6 +850,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
Ваши трекеры и гарнитура правильно работают на сервере SlimeVR.
|
||||
Ваша гарнитура передает данные о местоположении на сервер SlimeVR (обычно это означает, что SteamVR запущен и подключен к SlimeVR с помощью драйвера SlimeVR SteamVR).
|
||||
onboarding-automatic_proportions-requirements-next = Я прочитал требования
|
||||
onboarding-automatic_proportions-check_height-title = Проверьте ваш рост
|
||||
onboarding-automatic_proportions-check_height-description = Мы используем ваш рост в качестве основы для наших измерений, используя высоту HMD как приблизительное значение к вашему фактическому росту, но лучше проверить, верны ли эти значения самому!
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = Для рассчёта вашего роста, пожалуйста, нажимите кнопку стоя, <u>смотря вперёд</u>. У вас будут 3 секунды после того, как вы нажмете кнопку!
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Я стою!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Неизвестно
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = Высота вашего HMD равна
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = поэтому ваш реальный рост равен
|
||||
onboarding-automatic_proportions-check_height-next_step = С ними всё хорошо
|
||||
onboarding-automatic_proportions-start_recording-title = Будьте готовы к движению
|
||||
onboarding-automatic_proportions-start_recording-description = Теперь мы собираемся записать некоторые конкретные позы и движения. Они будут запрошены на следующем экране. Будьте готовы начать, когда кнопка будет нажата!
|
||||
onboarding-automatic_proportions-start_recording-next = Начать запись
|
||||
@@ -826,6 +893,10 @@ onboarding-automatic_proportions-verify_results-redo = Перезаписать
|
||||
onboarding-automatic_proportions-verify_results-confirm = Они правильные
|
||||
onboarding-automatic_proportions-done-title = Тело измерено и сохранено.
|
||||
onboarding-automatic_proportions-done-description = Калибровка пропорций вашего тела завершена!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>Предупреждение:</b> Была обнаружена ошибка при расчёте пропорций!
|
||||
Пожалуйста, <docs>ознакомьтесь с документацией</docs>, или присоединитесь к нашему <discord>Discord серверу</discord> для получения помощи ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = Принято!
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
### SlimeVR complete GUI translations
|
||||
|
||||
|
||||
# Please developers (not translators) don't reuse a key inside another key
|
||||
# or concat text with a translation string in the code, use the appropriate
|
||||
# features like variables and selectors in each appropriate case!
|
||||
@@ -13,10 +10,19 @@
|
||||
websocket-connecting = Đang kết nối với máy chủ
|
||||
websocket-connection_lost = Kết nối với máy chủ đã mất. Đang kết nối lại...
|
||||
|
||||
## Update notification
|
||||
|
||||
version_update-title = Phiên bản mới có thể cập nhật:
|
||||
version_update-description = Nhấp vào "{ version_update-update }" sẽ tải xuống trình cài đặt SlimeVR cho bạn.
|
||||
version_update-update = Cập nhật
|
||||
version_update-close = Đóng
|
||||
|
||||
## Tips
|
||||
|
||||
tips-find_tracker = Không rõ tracker nào đang được chọn? Di chuyển nó và trong menu sẽ sáng lên tracker đó
|
||||
tips-do_not_move_heels = Không di chuyển gót chân trong khi đo
|
||||
tips-file_select = Kéo và thả tệp để sử dụng hoặc <u>duyệt</u>.
|
||||
tips-tap_setup = Bạn có thể từ từ nhấn vào 2 lần trình theo dõi của mình để chọn nó thay vì chọn nó từ menu.
|
||||
|
||||
## Body parts
|
||||
|
||||
@@ -30,7 +36,7 @@ body_part-RIGHT_HAND = Tay phải
|
||||
body_part-RIGHT_UPPER_LEG = Bắp chân phải
|
||||
body_part-RIGHT_LOWER_LEG = Cẳng chân phải
|
||||
body_part-RIGHT_FOOT = Bàn chân phải
|
||||
body_part-RIGHT_CONTROLLER = Tay cầm bên phải
|
||||
body_part-UPPER_CHEST = Ngực trên
|
||||
body_part-CHEST = Ngực
|
||||
body_part-WAIST = Eo
|
||||
body_part-HIP = Hông
|
||||
@@ -41,19 +47,19 @@ body_part-LEFT_HAND = Tay trái
|
||||
body_part-LEFT_UPPER_LEG = Bắp chân trái
|
||||
body_part-LEFT_LOWER_LEG = Cẳng chân trái
|
||||
body_part-LEFT_FOOT = Bàn chân trái
|
||||
body_part-LEFT_CONTROLLER = Tay cầm bên trái
|
||||
|
||||
## Proportions
|
||||
|
||||
skeleton_bone-NONE = Chưa được gán
|
||||
skeleton_bone-HEAD = Sai số đầu
|
||||
skeleton_bone-NECK = Chiều dài cổ
|
||||
skeleton_bone-CHEST = Khoảng cách ngực
|
||||
skeleton_bone-CHEST_OFFSET = Sai số ngực
|
||||
skeleton_bone-CHEST = Khoảng cách ngực
|
||||
skeleton_bone-WAIST = Khoảng cách eo
|
||||
skeleton_bone-HIP = Khoảng cách hông
|
||||
skeleton_bone-HIP_OFFSET = Sai số hông
|
||||
skeleton_bone-HIPS_WIDTH = Chiều rộng hông
|
||||
skeleton_bone-leg_group = Chiều dài chân
|
||||
skeleton_bone-UPPER_LEG = Chiều dài bắp chân
|
||||
skeleton_bone-LOWER_LEG = Chiều dài cẳng chân
|
||||
skeleton_bone-FOOT_LENGTH = Chiều dài bàn chân
|
||||
@@ -61,10 +67,9 @@ skeleton_bone-FOOT_SHIFT = Sai số bàn chân
|
||||
skeleton_bone-SKELETON_OFFSET = Sai số thân
|
||||
skeleton_bone-SHOULDERS_DISTANCE = Khoảng cách vai
|
||||
skeleton_bone-SHOULDERS_WIDTH = Chiều rộng vai
|
||||
skeleton_bone-arm_group = Chiều dài cánh tay
|
||||
skeleton_bone-UPPER_ARM = Chiều dài bắp tay
|
||||
skeleton_bone-LOWER_ARM = Chiều dài cẳng tay
|
||||
skeleton_bone-CONTROLLER_Y = Khoảng cách tay cầm theo trục Y
|
||||
skeleton_bone-CONTROLLER_Z = Khoảng cách tay cầm theo trục Z
|
||||
skeleton_bone-ELBOW_OFFSET = Sai số khuỷu tay
|
||||
|
||||
## Tracker reset buttons
|
||||
@@ -72,7 +77,6 @@ skeleton_bone-ELBOW_OFFSET = Sai số khuỷu tay
|
||||
reset-reset_all = Đặt lại tất cả bộ phận
|
||||
reset-full = Đặt lại
|
||||
reset-mounting = Đặt lại hướng gắn tracker
|
||||
reset-quick = Đặt lại nhanh
|
||||
|
||||
## Serial detection stuff
|
||||
|
||||
@@ -93,17 +97,30 @@ navbar-mounting = Cân chỉnh hướng gắn tracker
|
||||
navbar-onboarding = Trình thiết lập
|
||||
navbar-settings = Cài đặt
|
||||
|
||||
## Bounding volume hierarchy recording
|
||||
## Biovision hierarchy recording
|
||||
|
||||
bvh-start_recording = Ghi BVH
|
||||
bvh-recording = Đang ghi...
|
||||
|
||||
## Tracking pause
|
||||
|
||||
tracking-unpaused = Tạm dừng tracking
|
||||
tracking-paused = Bỏ dừng theo dõi
|
||||
|
||||
## Widget: Overlay settings
|
||||
|
||||
widget-overlay = Overlay
|
||||
widget-overlay-is_visible_label = Xem overlay trên SteamVR
|
||||
widget-overlay-is_mirrored_label = Xem overlay trong gương
|
||||
|
||||
## Widget: Drift compensation
|
||||
|
||||
widget-drift_compensation-clear = Xóa sai số
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = Đặt lại hướng gắn tracker
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = Chế độ nhà phát triển
|
||||
@@ -120,6 +137,7 @@ widget-developer_mode-more_info = Thêm thông tin
|
||||
widget-imu_visualizer = Góc quay
|
||||
widget-imu_visualizer-rotation_raw = Gốc
|
||||
widget-imu_visualizer-rotation_preview = Qua xử lí
|
||||
widget-imu_visualizer-rotation_hide = Ẩn
|
||||
|
||||
## Tracker status
|
||||
|
||||
@@ -149,6 +167,7 @@ tracker-rotation-front = Trước
|
||||
tracker-rotation-left = Trái
|
||||
tracker-rotation-right = Phải
|
||||
tracker-rotation-back = Sau
|
||||
tracker-rotation-custom = Tùy chọn
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -156,6 +175,10 @@ tracker-infos-manufacturer = Nhà sản xuất
|
||||
tracker-infos-display_name = Tên hiển thị
|
||||
tracker-infos-custom_name = Tên gọi
|
||||
tracker-infos-url = Đường dẫn
|
||||
tracker-infos-version = Phiên bản firmware
|
||||
tracker-infos-hardware_rev = Revision phần cứng
|
||||
tracker-infos-hardware_identifier = Hardware ID
|
||||
tracker-infos-imu = Cảm biến IMU (IMU Sensor)
|
||||
|
||||
## Tracker settings
|
||||
|
||||
@@ -222,6 +245,8 @@ tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part } tay cầm b
|
||||
tracker_selection_menu-unassigned = Chưa gắn vị trí
|
||||
tracker_selection_menu-assigned = Đã gán vị trí
|
||||
tracker_selection_menu-dont_assign = Không gắn
|
||||
tracker_selection_menu-neck_warning-done = Tôi hiểu những rủi ro
|
||||
tracker_selection_menu-neck_warning-cancel = Hủy
|
||||
|
||||
## Mounting menu
|
||||
|
||||
@@ -237,8 +262,10 @@ settings-sidebar-fk_settings = Cài đặt tracker
|
||||
settings-sidebar-gesture_control = Cử chỉ điều khiển
|
||||
settings-sidebar-interface = Giao diện
|
||||
settings-sidebar-osc_router = Router OSC
|
||||
settings-sidebar-osc_trackers = Trình theo dõi VRChat OSC
|
||||
settings-sidebar-utils = Công cụ
|
||||
settings-sidebar-serial = Cổng Serial
|
||||
settings-sidebar-notifications = Thông báo
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -286,8 +313,6 @@ settings-general-tracker_mechanics-drift_compensation-max_resets-label = Số l
|
||||
## FK/Tracking settings
|
||||
|
||||
settings-general-fk_settings = Cài đặt nâng cao
|
||||
settings-general-fk_settings-leg_tweak = Chân
|
||||
settings-general-fk_settings-leg_tweak-description = "Ngăn xuyên sàn" có thể giảm thiểu khả năng chân xuống thấp hơn sàn sau khi đặt lại vị trí tracker, có thể gây vấn đề nếu đang đứng bằng đầu gối. "Sửa trượt" giúp giảm thiểu tình trạng chân có chuyển động nhỏ so với sàn khi đứng yên, có thể làm giảm độ chính xác với một số chuyển động cụ thể
|
||||
# Floor clip:
|
||||
# why the name - came from the idea of noclip in video games, but is the opposite where clipping to the floor is a desired feature
|
||||
# definition - Prevents the foot trackers from going lower than they where when a reset was performed
|
||||
@@ -301,11 +326,8 @@ settings-general-fk_settings-leg_tweak-skating_correction-amount = Mức độ s
|
||||
settings-general-fk_settings-arm_fk = Track cánh tay
|
||||
settings-general-fk_settings-arm_fk-description = Thay đổi cách cánh tay được track
|
||||
settings-general-fk_settings-arm_fk-force_arms = Lấy dữ liệu cánh tay từ kính
|
||||
settings-general-fk_settings-skeleton_settings = Cài đặt khung cơ thể
|
||||
settings-general-fk_settings-skeleton_settings-description = Bật hoặc tắt các cài đặt về khung cơ thể. Các lựa chọn này nên được giữ bật
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = Xương sống kéo dài
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = Xương chậu kéo dài
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = Đầu gối kéo dài
|
||||
settings-general-fk_settings-self_localization-title = Chế độ Mocap
|
||||
settings-general-fk_settings-vive_emulation-title = Giả lập tracker Vive
|
||||
settings-general-fk_settings-vive_emulation-description = Giả lập cách tracker của Vive gặp vấn đề với việc theo dõi eo, đây là 1 tính năng được làm cho vui và sẽ làm giảm độ chính xác
|
||||
settings-general-fk_settings-vive_emulation-label = Giả lập tracker Vive
|
||||
@@ -322,28 +344,33 @@ settings-general-gesture_control-taps =
|
||||
[one] 1 tap
|
||||
*[other] { $amount } lần
|
||||
}
|
||||
settings-general-gesture_control-quickResetEnabled = Chạm để đặt lại nhanh
|
||||
settings-general-gesture_control-quickResetDelay = Thời gian delay trước khi đặt lại nhanh
|
||||
settings-general-gesture_control-quickResetTaps = Số lần chạm cho đặt lại nhanh
|
||||
settings-general-gesture_control-resetEnabled = Chạm để đặt lại
|
||||
settings-general-gesture_control-resetDelay = Thời gian delay trước khi đặt lại
|
||||
settings-general-gesture_control-resetTaps = Số lần chạm cho đặt lại
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers = { $amount } trackers
|
||||
settings-general-gesture_control-mountingResetEnabled = Chạm để đặt lại hướng gắn tracker
|
||||
settings-general-gesture_control-mountingResetDelay = Thời gian delay trước khi đặt lại hướng gắn tracker
|
||||
settings-general-gesture_control-mountingResetTaps = Số lần chạm cho đặt lại hướng gắn tracker
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = Giao diện
|
||||
settings-general-interface-dev_mode = Chế độ nhà phát triển
|
||||
settings-general-interface-dev_mode-description = Hữu dụng nếu cần thêm thông tin chi tiết của tracker hay can thiệp sâu hơn vào tracker
|
||||
settings-general-interface-dev_mode-label = Chế độ nhà phát triển
|
||||
settings-general-interface-serial_detection = Nhận dạng thiết bị Serial mới
|
||||
settings-general-interface-serial_detection-description = Hiển thị pop-up mỗi lần một thiết bị Serial mới được kết nối qua USB (có thể là tracker), giúp cải thiện quá trình thiết lập tracker
|
||||
settings-general-interface-serial_detection-label = Nhận dạng thiết bị Serial mới
|
||||
settings-general-interface-theme = Màu giao diện
|
||||
settings-general-interface-lang = Thay đổi ngôn ngữ (Change language)
|
||||
settings-general-interface-lang-description = Đổi ngôn ngữ hiển thị (Change the default language you want to use)
|
||||
settings-general-interface-lang-placeholder = Chọn ngôn ngữ để sử dụng (Select the language to use)
|
||||
settings-interface-appearance-font-placeholder = Phông chữ mặc định
|
||||
settings-interface-appearance-font-os_font = Phông chữ hệ điều hành
|
||||
settings-interface-appearance-font-slime_font = Phông chữ mặc định
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = Thông báo
|
||||
settings-general-interface-serial_detection = Nhận dạng thiết bị Serial mới
|
||||
settings-general-interface-serial_detection-description = Hiển thị pop-up mỗi lần một thiết bị Serial mới được kết nối qua USB (có thể là tracker), giúp cải thiện quá trình thiết lập tracker
|
||||
settings-general-interface-serial_detection-label = Nhận dạng thiết bị Serial mới
|
||||
settings-general-interface-feedback_sound-description = Tùy chọn này sẽ phát âm thanh khi thiết lập lại được kích hoạt.
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -355,6 +382,8 @@ settings-serial-description =
|
||||
settings-serial-connection_lost = Kết nối đến Serial đã mất, đang kết nối lại...
|
||||
settings-serial-reboot = Khởi động lại
|
||||
settings-serial-factory_reset = Khôi phục cài đặt gốc
|
||||
settings-serial-factory_reset-warning-ok = Tôi biết mình đang làm gì
|
||||
settings-serial-factory_reset-warning-cancel = Hủy
|
||||
settings-serial-get_infos = Lấy thông tin
|
||||
settings-serial-serial_select = Chọn cổng Serial
|
||||
settings-serial-auto_dropdown_item = Tự động
|
||||
@@ -408,16 +437,25 @@ settings-osc-vrchat-network-address-placeholder = Địa chỉ IP của thiết
|
||||
settings-osc-vrchat-network-trackers = Cấu hình Tracker
|
||||
settings-osc-vrchat-network-trackers-description = Chọn các tracker mà SlimeVR sẽ gửi dữ liệu OSC đến VRChat
|
||||
settings-osc-vrchat-network-trackers-chest = Ngực
|
||||
settings-osc-vrchat-network-trackers-waist = Eo
|
||||
settings-osc-vrchat-network-trackers-hip = Hông
|
||||
settings-osc-vrchat-network-trackers-knees = Đầu gối
|
||||
settings-osc-vrchat-network-trackers-feet = Bàn chân
|
||||
settings-osc-vrchat-network-trackers-elbows = Khuỷu tay
|
||||
|
||||
## VMC OSC settings
|
||||
|
||||
settings-osc-vmc-enable = Bật
|
||||
settings-osc-vmc-enable-description = Cho phép nhận và gửi dữ liệu OSC
|
||||
settings-osc-vmc-enable-label = Chuyển tiếp dữ liệu OSC
|
||||
|
||||
## Setup/onboarding menu
|
||||
|
||||
onboarding-skip = Bỏ qua cài đặt
|
||||
onboarding-continue = Tiếp tục
|
||||
onboarding-wip = Chưa hoàn thiện
|
||||
onboarding-previous_step = Quay lại
|
||||
onboarding-setup_warning-skip = Bỏ qua cài đặt
|
||||
onboarding-setup_warning-cancel = Tiếp tục thiết lập
|
||||
|
||||
## Wi-Fi setup
|
||||
|
||||
@@ -440,15 +478,12 @@ onboarding-wifi_creds-password =
|
||||
|
||||
onboarding-reset_tutorial-back = Quay lại cân chỉnh vị trí gắn tracker
|
||||
onboarding-reset_tutorial = Làm lại
|
||||
onboarding-reset_tutorial-description = Tính năng này chưa hoàn thiện, vui lòng bấm tiếp tục và quay lại sau
|
||||
onboarding-reset_tutorial-explanation = Trong khi bạn sử dụng trình theo dõi của mình, tracker có thể bị lệch khỏi căn chỉnh do IMU bị trượt, trôi dạt hoặc vì bạn có thể đã di chuyển chúng về mặt vật lý. Bạn có một số cách để khắc phục điều này.
|
||||
onboarding-reset_tutorial-skip = Bỏ qua bước
|
||||
|
||||
## Setup start
|
||||
|
||||
onboarding-home = Chào mừng bạn đến với SlimeVR!
|
||||
# This cares about multilines and it's centered!!
|
||||
onboarding-home-description =
|
||||
Mang FBT đến
|
||||
với mọi người
|
||||
onboarding-home-start = Bắt đầu thiết lập!
|
||||
|
||||
## Enter VR part of setup
|
||||
@@ -472,11 +507,14 @@ onboarding-connect_tracker-description-p0 = Cập nhật thông tin Wi-Fi cho tr
|
||||
onboarding-connect_tracker-description-p1 = Hãy kết nối các tracker chưa thiết lập qua cổng USB
|
||||
onboarding-connect_tracker-issue-serial = Có vấn đề với việc kết nối? Kiểm tra thông tin qua cổng Serial
|
||||
onboarding-connect_tracker-usb = USB Tracker
|
||||
onboarding-connect_tracker-connection_status-none = Đang tìm tracker
|
||||
onboarding-connect_tracker-connection_status-serial_init = Kết nối với thiết bị nối tiếp serial
|
||||
onboarding-connect_tracker-connection_status-provisioning = Đang gửi thông tin Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-connecting = Đang gửi thông tin Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-connected = Đã kết nối đến Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-error = Không thể kết nối đến Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-start_connecting = Đang tìm tracker
|
||||
onboarding-connect_tracker-connection_status-handshake = Đã kết nối đến máy chủ SlimeVR
|
||||
onboarding-connect_tracker-connection_status-looking_for_server = Đang tìm máy chủ
|
||||
onboarding-connect_tracker-connection_status-connection_error = Không thể kết nối đến Wi-Fi
|
||||
onboarding-connect_tracker-connection_status-could_not_find_server = Không thể tìm thấy máy chủ
|
||||
onboarding-connect_tracker-connection_status-done = Đã kết nối đến máy chủ SlimeVR
|
||||
# $amount (Number) - Amount of trackers connected (this is a number, but you can use CLDR plural rules for your language)
|
||||
# More info on https://www.unicode.org/cldr/cldr-aux/charts/22/supplemental/language_plural_rules.html
|
||||
# English in this case only has 2 plural rules, which are "one" and "other",
|
||||
@@ -490,6 +528,21 @@ onboarding-connect_tracker-connected_trackers =
|
||||
} đã giao
|
||||
onboarding-connect_tracker-next = Đã kết nối với tất cả tracker
|
||||
|
||||
## Tracker calibration tutorial
|
||||
|
||||
onboarding-calibration_tutorial-subtitle = Cái này sẽ giúp giảm trôi trượt theo dõi!
|
||||
onboarding-calibration_tutorial-calibrate = Tôi đã đặt thiết bị theo dõi của mình lên bàn
|
||||
onboarding-calibration_tutorial-status-waiting = Đang chờ bạn hoàn thành
|
||||
onboarding-calibration_tutorial-status-success = Nice!
|
||||
|
||||
## Tracker assignment tutorial
|
||||
|
||||
onboarding-assignment_tutorial = Làm thế nào để chuẩn bị một Slime Tracker trước khi đưa nó vào
|
||||
onboarding-assignment_tutorial-first_step = 1. Đặt nhãn dán bộ phận cơ thể (nếu có) trên tracker theo lựa chọn của bạn
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = Sticker
|
||||
onboarding-assignment_tutorial-done = Tôi đã dán nhãn dán và dây đai!
|
||||
|
||||
## Tracker assignment setup
|
||||
|
||||
onboarding-assign_trackers-back = Quay lại cài đặt Wi-Fi
|
||||
@@ -506,6 +559,12 @@ onboarding-assign_trackers-assigned =
|
||||
onboarding-assign_trackers-advanced = Xem thêm vị trí đặt
|
||||
onboarding-assign_trackers-next = Hoàn thành
|
||||
|
||||
## Tracker assignment warnings
|
||||
|
||||
|
||||
## Tracker mounting method choose
|
||||
|
||||
|
||||
## Tracker manual mounting setup
|
||||
|
||||
onboarding-manual_mounting-back = Quay lại chuẩn bị cân chỉnh
|
||||
@@ -535,6 +594,9 @@ onboarding-automatic_mounting-put_trackers_on-title = Đeo tracker lên người
|
||||
onboarding-automatic_mounting-put_trackers_on-description = Để cân chỉnh hướng gắn của tracker, SlimeVR sẽ tiến hành đo góc nghiêng của tracker khi đang đeo để cân chỉnh hướng gắn, hãy đeo tracker theo đúng vị trí đã thiết lập
|
||||
onboarding-automatic_mounting-put_trackers_on-next = Tiếp tục
|
||||
|
||||
## Tracker proportions method choose
|
||||
|
||||
|
||||
## Tracker manual proportions setup
|
||||
|
||||
onboarding-manual_proportions-back = Quay lại cân chỉnh hướng gắn
|
||||
@@ -552,22 +614,19 @@ onboarding-automatic_proportions-prev_step = Quay lại
|
||||
onboarding-automatic_proportions-put_trackers_on-title = Đeo tracker lên người
|
||||
onboarding-automatic_proportions-put_trackers_on-description = Để đo kích thước cơ thể, SlimeVR sẽ sử dụng một thuật toán để dự đoán kích thước của các bộ phận, hãy đeo tracker theo đúng vị trí đã thiết lập như hình bên
|
||||
onboarding-automatic_proportions-put_trackers_on-next = Tiếp tục
|
||||
onboarding-automatic_proportions-preparation-title = Chuẩn bị
|
||||
onboarding-automatic_proportions-preparation-description = Chuẩn bị một chiếc ghế trong khu vực chơi vì quá trình đo sẽ yêu cầu đến việc ngồi xuống
|
||||
onboarding-automatic_proportions-preparation-next = Đã có ghế ngồi sau lưng
|
||||
onboarding-automatic_proportions-requirements-title = Yêu cầu
|
||||
onboarding-automatic_proportions-requirements-next = Tôi đã đọc các yêu cầu
|
||||
onboarding-automatic_proportions-check_height-fetch_height = Tôi đang đứng!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = Không rõ
|
||||
onboarding-automatic_proportions-start_recording-title = Chuẩn bị đo
|
||||
onboarding-automatic_proportions-start_recording-description = Phần mềm sẽ đo một số chuyển động, cử chỉ cụ thể, hãy chuẩn bị cho việc di chuyển theo yêu cầu trong phần tiếp theo
|
||||
onboarding-automatic_proportions-start_recording-next = Bắt đầu
|
||||
onboarding-automatic_proportions-recording-title = REC
|
||||
onboarding-automatic_proportions-recording-description-p0 = Đang ghi...
|
||||
onboarding-automatic_proportions-recording-description-p1 = Thực hiện các thao tác sau:
|
||||
onboarding-automatic_proportions-recording-steps-0 = Uốn duỗi chân vài lần (squat)
|
||||
onboarding-automatic_proportions-recording-steps-1 = Ngồi lên ghế rồi đứng lên
|
||||
onboarding-automatic_proportions-recording-steps-2 = Vặn thân sang trái và uốn người sang phải
|
||||
onboarding-automatic_proportions-recording-steps-3 = Vặn thân sang phải và uốn người sang trái
|
||||
onboarding-automatic_proportions-recording-steps-4 = Làm thêm các chuyển động khác đến khi hết thời gian
|
||||
onboarding-automatic_proportions-recording-processing = Đang xử lí kết quả...
|
||||
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 15)
|
||||
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
|
||||
onboarding-automatic_proportions-recording-timer =
|
||||
{ $time ->
|
||||
[one] 1 second
|
||||
@@ -581,7 +640,18 @@ onboarding-automatic_proportions-verify_results-redo = Thử lại
|
||||
onboarding-automatic_proportions-verify_results-confirm = Kết quả tương đối chính xác
|
||||
onboarding-automatic_proportions-done-title = Đã lưu chỉ số đo
|
||||
onboarding-automatic_proportions-done-description = Quá trình đo đã hoàn tất
|
||||
onboarding-automatic_proportions-error_modal-confirm = Đã hiểu!
|
||||
|
||||
## Home
|
||||
|
||||
home-no_trackers = Không tìm thấy tracker / Tracker chưa được gán
|
||||
|
||||
## Status system
|
||||
|
||||
status_system-StatusTrackerReset = Bạn nên thực hiện thiết lập lại toàn bộ vì một hoặc nhiều trình theo dõi không được điều chỉnh.
|
||||
status_system-StatusSteamVRDisconnected =
|
||||
{ $type ->
|
||||
[steamvr_feeder] Hiện đang không kết nối với SteamVR thông qua trình điều khiển SlimeVR Feeder App.
|
||||
*[other] Hiện đang không kết nối với SteamVR thông qua driver SlimeVR.
|
||||
}
|
||||
status_system-StatusTrackerError = Tracker { $trackerName } có lỗi.
|
||||
|
||||
@@ -19,7 +19,7 @@ version_update-close = 关闭
|
||||
|
||||
## Tips
|
||||
|
||||
tips-find_tracker = 不确定哪个追踪器是哪个?在现实中摇动一个追踪器,对应的那个将在屏幕上高亮显示。
|
||||
tips-find_tracker = 分不清哪个追踪器是哪个了?摇一摇它,对应的那个将被高亮显示。
|
||||
tips-do_not_move_heels = 确保你的脚跟在录制的时候不会发生移动!
|
||||
tips-file_select = 拖放文档或 <u>浏览文档</u> 以使用
|
||||
tips-tap_setup = 你可以缓慢地敲击2次追踪器来选中它,而不是从菜单中选取。
|
||||
@@ -36,6 +36,7 @@ body_part-RIGHT_HAND = 右手
|
||||
body_part-RIGHT_UPPER_LEG = 右大腿
|
||||
body_part-RIGHT_LOWER_LEG = 右小腿
|
||||
body_part-RIGHT_FOOT = 右脚
|
||||
body_part-UPPER_CHEST = 上胸
|
||||
body_part-CHEST = 胸部
|
||||
body_part-WAIST = 腰部
|
||||
body_part-HIP = 髋部
|
||||
@@ -53,6 +54,7 @@ skeleton_bone-NONE = 无
|
||||
skeleton_bone-HEAD = 头部偏移
|
||||
skeleton_bone-NECK = 颈部长度
|
||||
skeleton_bone-torso_group = 躯干长度
|
||||
skeleton_bone-UPPER_CHEST = 上胸长度
|
||||
skeleton_bone-CHEST_OFFSET = 胸部偏移
|
||||
skeleton_bone-CHEST = 胸部长度
|
||||
skeleton_bone-WAIST = 腰部长度
|
||||
@@ -64,7 +66,7 @@ skeleton_bone-UPPER_LEG = 大腿长度
|
||||
skeleton_bone-LOWER_LEG = 小腿长度
|
||||
skeleton_bone-FOOT_LENGTH = 脚部长度
|
||||
skeleton_bone-FOOT_SHIFT = 脚部偏移
|
||||
skeleton_bone-SKELETON_OFFSET = 骨骼偏移
|
||||
skeleton_bone-SKELETON_OFFSET = 骨架偏移
|
||||
skeleton_bone-SHOULDERS_DISTANCE = 肩膀距离
|
||||
skeleton_bone-SHOULDERS_WIDTH = 肩膀宽度
|
||||
skeleton_bone-arm_group = 手臂长度
|
||||
@@ -120,6 +122,10 @@ widget-overlay-is_mirrored_label = 镜像显示覆盖层
|
||||
|
||||
widget-drift_compensation-clear = 清除漂移补偿数据
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = 清除重置佩戴
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = 开发者选项
|
||||
@@ -163,9 +169,15 @@ tracker-table-column-url = 地址
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = 前
|
||||
tracker-rotation-front_left = 左前
|
||||
tracker-rotation-front_right = 右前
|
||||
tracker-rotation-left = 左
|
||||
tracker-rotation-right = 右
|
||||
tracker-rotation-back = 后
|
||||
tracker-rotation-back_left = 左后
|
||||
tracker-rotation-back_right = 右后
|
||||
tracker-rotation-custom = 自定义
|
||||
tracker-rotation-overriden = (被重置佩戴覆盖)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -230,6 +242,7 @@ tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part }右大腿?
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part }右小腿?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part }右脚?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part }右控制器?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part }上胸?
|
||||
tracker_selection_menu-CHEST = { -tracker_selection-part }胸部?
|
||||
tracker_selection_menu-WAIST = { -tracker_selection-part }腰部?
|
||||
tracker_selection_menu-HIP = { -tracker_selection-part }髋部?
|
||||
@@ -269,6 +282,8 @@ settings-sidebar-osc_router = OSC 路由
|
||||
settings-sidebar-osc_trackers = VRChat OSC 追踪器
|
||||
settings-sidebar-utils = 工具
|
||||
settings-sidebar-serial = 串口控制台
|
||||
settings-sidebar-appearance = 外观
|
||||
settings-sidebar-notifications = 通知
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -279,8 +294,8 @@ settings-general-steamvr-subtitle = SteamVR 追踪器
|
||||
# The first spaces (not tabs) for indentation will be ignored, just to make the file look nice when writing.
|
||||
# This one is one of this cases that cares about multilines
|
||||
settings-general-steamvr-description =
|
||||
启用或禁用特定的追踪器
|
||||
对于只支持特定追踪器的应用会很有用。
|
||||
启用或禁用特定的 SteamVR 追踪器
|
||||
对于只支持特定追踪器的游戏或应用会很有用。
|
||||
settings-general-steamvr-trackers-waist = 腰部
|
||||
settings-general-steamvr-trackers-chest = 胸部
|
||||
settings-general-steamvr-trackers-feet = 脚部
|
||||
@@ -333,14 +348,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = 地板限制可
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = 脚趾着地可以在没有脚部追踪器的情况下尝试猜测脚部的俯仰。
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = 脚掌着地会在脚与地面接触时保持脚掌与地板平行。
|
||||
settings-general-fk_settings-leg_fk = 腿部追踪
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = 开启脚部佩戴重置。(佩戴重置时需要踮起脚尖)
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet = 脚部佩戴重置
|
||||
settings-general-fk_settings-arm_fk = 手臂追踪
|
||||
settings-general-fk_settings-arm_fk-description = 即使有手臂位置数据可用,也强制使用头显的数据追踪手臂。
|
||||
settings-general-fk_settings-arm_fk-force_arms = 强制使用头显数据追踪手臂
|
||||
settings-general-fk_settings-skeleton_settings = 骨架设置
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = 更改佩戴重置时使用的手臂姿势。
|
||||
settings-general-fk_settings-arm_fk-back = 向后弯折
|
||||
settings-general-fk_settings-arm_fk-back-description = 默认,重置时大臂向后,小臂向前,类似滑雪。
|
||||
settings-general-fk_settings-arm_fk-tpose_up = T-pose(抬起)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = 完整重置时手臂垂下,呈立正姿势;佩戴重置时手臂向两侧伸平。
|
||||
settings-general-fk_settings-arm_fk-tpose_down = T-pose(放下)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = 完整重置时手臂向两侧伸平;佩戴重置时手臂垂下,呈立正姿势。
|
||||
settings-general-fk_settings-arm_fk-forward = 向前伸平
|
||||
settings-general-fk_settings-arm_fk-forward-description = 重置时手臂向前伸平,有利于坐姿进行虚拟直播。
|
||||
settings-general-fk_settings-skeleton_settings-toggles = 骨架设置
|
||||
settings-general-fk_settings-skeleton_settings-description = 打开或关闭骨架设置。建议保持这些设置不变。
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = 脊柱延伸
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = 骨盆延伸
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = 膝盖延伸
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = 延伸脊柱模型
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = 延伸骨盆模型
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = 伸展膝盖模型
|
||||
settings-general-fk_settings-skeleton_settings-ratios = 骨架比例
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = 更改骨架设置的参数。您可能需要在更改后调整身体比例。
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = 用胸部到髋部的数据推算腰部
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = 用胸部到腿部的数据推算腰部
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = 用胸部到腿部的数据推算髋部
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = 用腰部到腿部的数据推算髋部
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = 平均髋部与腿部间航向轴和横滚轴的数值
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = 平均膝盖追踪器与小腿间航向轴和横滚轴的数值
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = 平均膝盖与小腿间航向轴和横滚轴的数值
|
||||
settings-general-fk_settings-self_localization-title = 动作捕捉模式
|
||||
settings-general-fk_settings-self_localization-description = 动作捕捉模式允许在没有头戴设备或其他追踪器的情况下粗略地跟踪骨架姿态。请注意,本功能需要脚部和头部追踪器,且现阶段依然是实验性的。
|
||||
settings-general-fk_settings-vive_emulation-title = Vive 模拟
|
||||
settings-general-fk_settings-vive_emulation-description = 模拟Vive追踪器的腰部丢追问题。( 注:这是一个玩笑功能,会劣化追踪质量。)
|
||||
settings-general-fk_settings-vive_emulation-label = 开启 Vive 模拟
|
||||
@@ -356,6 +393,9 @@ settings-general-gesture_control-taps =
|
||||
{ $amount ->
|
||||
*[other] { $amount }次敲击
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers = { $amount } 个追踪器
|
||||
settings-general-gesture_control-yawResetEnabled = 开启敲击重置航向轴
|
||||
settings-general-gesture_control-yawResetDelay = 敲击重置航向轴延迟
|
||||
settings-general-gesture_control-yawResetTaps = 重置航向轴敲击次数
|
||||
@@ -365,13 +405,32 @@ settings-general-gesture_control-fullResetTaps = 完整重置敲击次数
|
||||
settings-general-gesture_control-mountingResetEnabled = 开启敲击重置佩戴
|
||||
settings-general-gesture_control-mountingResetDelay = 敲击重置佩戴延迟
|
||||
settings-general-gesture_control-mountingResetTaps = 重置佩戴敲击次数
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = 可触发敲击重置的追踪器数量
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = 如敲击重置不起作用请增加此值。请在保证敲击重置可用的情况下将此值设置的尽可能低,否则会导致误报。
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = 交互界面
|
||||
settings-interface-appearance = 外观
|
||||
settings-general-interface-dev_mode = 开发者模式
|
||||
settings-general-interface-dev_mode-description = 如果你需要深入的数据或更深入地与连接的追踪器进行交互,打开此模式将会非常有用。
|
||||
settings-general-interface-dev_mode-description = 如果你需要深入的资料或对连接的追踪器进行进阶调整,开启此模式将会非常有用。
|
||||
settings-general-interface-dev_mode-label = 开发者模式
|
||||
settings-general-interface-theme = 主题颜色
|
||||
settings-general-interface-lang = 选择语言
|
||||
settings-general-interface-lang-description = 更改要使用的默认语言
|
||||
settings-general-interface-lang-placeholder = 选择要使用的语言
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = 字体
|
||||
settings-interface-appearance-font-description = 修改使用的字体。
|
||||
settings-interface-appearance-font-placeholder = 默认字体
|
||||
settings-interface-appearance-font-os_font = 系统字体
|
||||
settings-interface-appearance-font-slime_font = 默认字体
|
||||
settings-interface-appearance-font_size = 字体缩放
|
||||
settings-interface-appearance-font_size-description = 这会影响除此设置面板外所有界面的字体大小。
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = 通知
|
||||
settings-general-interface-serial_detection = 串口设备检测
|
||||
settings-general-interface-serial_detection-description = 每次插入可能是追踪器的新串口设备时,此选项都会显示一个弹出窗口。这有助于改进追踪器的设置过程。
|
||||
settings-general-interface-serial_detection-label = 串口设备检测
|
||||
@@ -379,10 +438,6 @@ settings-general-interface-feedback_sound = 声音反馈
|
||||
settings-general-interface-feedback_sound-description = 开启此选项会在触发重置时发出提示音
|
||||
settings-general-interface-feedback_sound-label = 声音反馈
|
||||
settings-general-interface-feedback_sound-volume = 提示音音量
|
||||
settings-general-interface-theme = 主题颜色
|
||||
settings-general-interface-lang = 选择语言
|
||||
settings-general-interface-lang-description = 更改要使用的默认语言
|
||||
settings-general-interface-lang-placeholder = 选择要使用的语言
|
||||
|
||||
## Serial settings
|
||||
|
||||
@@ -411,7 +466,7 @@ settings-osc-router = OSC 路由
|
||||
# This cares about multilines
|
||||
settings-osc-router-description =
|
||||
从另一个程序转发 OSC 信息。
|
||||
在使用另一个 VRChat 的 OSC 程序时会很有用。
|
||||
例如需要在 VRChat 同时使用另一个 OSC 程序。
|
||||
settings-osc-router-enable = 启用
|
||||
settings-osc-router-enable-description = 控制信息转发功能的开关。
|
||||
settings-osc-router-enable-label = 启用
|
||||
@@ -610,8 +665,8 @@ onboarding-assignment_tutorial = 在佩戴 Slime 追踪器之前的准备工作
|
||||
onboarding-assignment_tutorial-first_step = 1. 根据您分配的情况在追踪器上粘贴标识身体部位的贴纸(如果有)
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = 贴纸
|
||||
onboarding-assignment_tutorial-second_step = 2. 将绑带与追踪器连接,调整绑带的粘扣朝向到如下图所示(如果有):
|
||||
onboarding-assignment_tutorial-second_step-continuation = 扩展追踪器的粘扣朝向:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. 将绑带穿过追踪器,确保绑带有粘扣面的朝向与追踪器上的笑脸标志同向:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = 扩展追踪器的粘扣朝向应如下图所示:
|
||||
onboarding-assignment_tutorial-done = 我把贴纸和绑带都弄好了!
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -747,12 +802,18 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = 自动调整身体比例
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = 推荐
|
||||
onboarding-choose_proportions-auto_proportions-description = 这将录制你的运动样本并通过AI来猜测你的身体比例
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
这将录制你的运动样本并通过算法来推测你的身体比例。
|
||||
|
||||
<b>需要连接头戴设备到 SlimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = 手动调整身体比例
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = 用于精细调整
|
||||
onboarding-choose_proportions-manual_proportions-description = 这将需要你手动修改以调整你的身体比例
|
||||
onboarding-choose_proportions-export = 导出身体比例
|
||||
onboarding-choose_proportions-import = 导入身体比例
|
||||
onboarding-choose_proportions-import-success = 导入成功
|
||||
onboarding-choose_proportions-import-failed = 导入失败
|
||||
onboarding-choose_proportions-file_type = 身体比例文件
|
||||
|
||||
## Tracker manual proportions setup
|
||||
@@ -783,6 +844,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
你的追踪器和头戴设备在 SlimeVR 服务器中工作正常。
|
||||
你的头戴设备在回报位置信息给 SlimeVR 服务器(通常需要 SteamVR 正在运行且通过 SlimeVR 的 SteamVR 驱动连接到 SlimeVR)。
|
||||
onboarding-automatic_proportions-requirements-next = 我已阅读
|
||||
onboarding-automatic_proportions-check_height-title = 检查你的身高
|
||||
onboarding-automatic_proportions-check_height-description = 我们会使用头戴设备回报的高度来推算您的实际身高,但我们仍建议您检查一下数值是否正确。
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = 请<u>站直</u>后按下按钮以计算身高,按下后您有 3 秒钟来调整姿势。
|
||||
onboarding-automatic_proportions-check_height-fetch_height = 我站好了!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = 未知
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = 你的头戴设备的高度是
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = 所以你的实际身高是
|
||||
onboarding-automatic_proportions-check_height-next_step = 数值没问题
|
||||
onboarding-automatic_proportions-start_recording-title = 准备录制运动
|
||||
onboarding-automatic_proportions-start_recording-description = 我们现在要记录一些特定的姿势和动作。这些将在下一个屏幕中提示。当按钮被按下时,准备好开始!
|
||||
onboarding-automatic_proportions-start_recording-next = 开始录制
|
||||
@@ -808,6 +881,10 @@ onboarding-automatic_proportions-verify_results-redo = 重新录制
|
||||
onboarding-automatic_proportions-verify_results-confirm = 他们是正确的!
|
||||
onboarding-automatic_proportions-done-title = 身体数据已测量并保存。
|
||||
onboarding-automatic_proportions-done-description = 你的身体比例校准已完成!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>警告:</b> 推算身体比例时发生错误!
|
||||
请 <docs>阅读文档</docs> 或加入我们的 <discord>Discord</discord> 寻求帮助 ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = 了解!
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ version_update-close = 關閉
|
||||
|
||||
## Tips
|
||||
|
||||
tips-find_tracker = 若你不確定手上的追蹤器是哪一個,搖一搖它,對應的項目就會顯示出來
|
||||
tips-find_tracker = 若你不確定手上的追蹤器是哪一個,搖一搖它,對應的項目就會顯示出來。
|
||||
tips-do_not_move_heels = 確保你的腳跟在測量過程時不會發生移動!
|
||||
tips-file_select = 拖曳檔案或 <u>瀏覽檔案</u> 以使用
|
||||
tips-tap_setup = 除了從列表挑選追蹤器以外,您也可以慢慢敲擊 2 次追蹤器來選擇它。
|
||||
@@ -34,7 +34,7 @@ body_part-RIGHT_UPPER_ARM = 右上臂
|
||||
body_part-RIGHT_LOWER_ARM = 右前臂
|
||||
body_part-RIGHT_HAND = 右手
|
||||
body_part-RIGHT_UPPER_LEG = 右大腿
|
||||
body_part-RIGHT_LOWER_LEG = 右小腿
|
||||
body_part-RIGHT_LOWER_LEG = 右腳踝
|
||||
body_part-RIGHT_FOOT = 右腳
|
||||
body_part-UPPER_CHEST = 上胸
|
||||
body_part-CHEST = 胸部
|
||||
@@ -45,7 +45,7 @@ body_part-LEFT_UPPER_ARM = 左上臂
|
||||
body_part-LEFT_LOWER_ARM = 左前臂
|
||||
body_part-LEFT_HAND = 左手
|
||||
body_part-LEFT_UPPER_LEG = 左大腿
|
||||
body_part-LEFT_LOWER_LEG = 左小腿
|
||||
body_part-LEFT_LOWER_LEG = 左腳踝
|
||||
body_part-LEFT_FOOT = 左腳
|
||||
|
||||
## Proportions
|
||||
@@ -122,6 +122,10 @@ widget-overlay-is_mirrored_label = 鏡像顯示內嵌介面
|
||||
|
||||
widget-drift_compensation-clear = 清除偏移補償數據
|
||||
|
||||
## Widget: Clear Reset Mounting
|
||||
|
||||
widget-clear_mounting = 清除配戴重置
|
||||
|
||||
## Widget: Developer settings
|
||||
|
||||
widget-developer_mode = 開發者選項
|
||||
@@ -165,9 +169,15 @@ tracker-table-column-url = URL
|
||||
## Tracker rotation
|
||||
|
||||
tracker-rotation-front = 前
|
||||
tracker-rotation-front_left = 左前方
|
||||
tracker-rotation-front_right = 右前方
|
||||
tracker-rotation-left = 左
|
||||
tracker-rotation-right = 右
|
||||
tracker-rotation-back = 後
|
||||
tracker-rotation-back_left = 左後方
|
||||
tracker-rotation-back_right = 右後方
|
||||
tracker-rotation-custom = 自訂
|
||||
tracker-rotation-overriden = (本設定已被配戴重置覆蓋)
|
||||
|
||||
## Tracker information
|
||||
|
||||
@@ -229,7 +239,7 @@ tracker_selection_menu-RIGHT_UPPER_ARM = { -tracker_selection-part }右上臂?
|
||||
tracker_selection_menu-RIGHT_LOWER_ARM = { -tracker_selection-part }右前臂?
|
||||
tracker_selection_menu-RIGHT_HAND = { -tracker_selection-part }右手?
|
||||
tracker_selection_menu-RIGHT_UPPER_LEG = { -tracker_selection-part }右大腿?
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part }右小腿?
|
||||
tracker_selection_menu-RIGHT_LOWER_LEG = { -tracker_selection-part }右腳踝?
|
||||
tracker_selection_menu-RIGHT_FOOT = { -tracker_selection-part }右腳?
|
||||
tracker_selection_menu-RIGHT_CONTROLLER = { -tracker_selection-part }右控制器?
|
||||
tracker_selection_menu-UPPER_CHEST = { -tracker_selection-part }上胸?
|
||||
@@ -241,7 +251,7 @@ tracker_selection_menu-LEFT_UPPER_ARM = { -tracker_selection-part }左上臂?
|
||||
tracker_selection_menu-LEFT_LOWER_ARM = { -tracker_selection-part }左前臂?
|
||||
tracker_selection_menu-LEFT_HAND = { -tracker_selection-part }左手?
|
||||
tracker_selection_menu-LEFT_UPPER_LEG = { -tracker_selection-part }左大腿?
|
||||
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part }左小腿?
|
||||
tracker_selection_menu-LEFT_LOWER_LEG = { -tracker_selection-part }左腳踝?
|
||||
tracker_selection_menu-LEFT_FOOT = { -tracker_selection-part }左腳?
|
||||
tracker_selection_menu-LEFT_CONTROLLER = { -tracker_selection-part }左控制器?
|
||||
tracker_selection_menu-unassigned = 尚未分配的追蹤器
|
||||
@@ -272,6 +282,8 @@ settings-sidebar-osc_router = OSC 路由
|
||||
settings-sidebar-osc_trackers = VRChat OSC 追蹤器
|
||||
settings-sidebar-utils = 工具
|
||||
settings-sidebar-serial = 串列埠終端
|
||||
settings-sidebar-appearance = 外觀
|
||||
settings-sidebar-notifications = 通知
|
||||
|
||||
## SteamVR settings
|
||||
|
||||
@@ -282,8 +294,8 @@ settings-general-steamvr-subtitle = SteamVR 追蹤器
|
||||
# The first spaces (not tabs) for indentation will be ignored, just to make the file look nice when writing.
|
||||
# This one is one of this cases that cares about multilines
|
||||
settings-general-steamvr-description =
|
||||
開啟或關閉特定的 SteamVR 追蹤器。
|
||||
對於只支援特定追蹤器的遊戲或應用程式會很有用。
|
||||
開啟或關閉特定的 SteamVR 追蹤器,
|
||||
對於只支援特定追蹤器的遊戲或應用程式,本功能會有所幫助。
|
||||
settings-general-steamvr-trackers-waist = 腰部
|
||||
settings-general-steamvr-trackers-chest = 胸部
|
||||
settings-general-steamvr-trackers-feet = 腳部
|
||||
@@ -336,14 +348,36 @@ settings-general-fk_settings-leg_tweak-floor_clip-description = 地板限制功
|
||||
settings-general-fk_settings-leg_tweak-toe_snap-description = 腳趾跟地功能在沒有腳部的追蹤器時,會嘗試猜測腳掌的旋轉角度。
|
||||
settings-general-fk_settings-leg_tweak-foot_plant-description = 腳底貼地功能會在腳底與地面接觸時,將腳部旋轉成與地板平行。
|
||||
settings-general-fk_settings-leg_fk = 腿部追蹤
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet-description = 開啟腳部配戴重置,進行配戴重置時需要踮起腳尖。
|
||||
settings-general-fk_settings-leg_fk-reset_mounting_feet = 腳部配戴重置
|
||||
settings-general-fk_settings-arm_fk = 手臂追蹤
|
||||
settings-general-fk_settings-arm_fk-description = 強制透過頭戴顯示器來追蹤手臂,即使有手部的定位資料。
|
||||
settings-general-fk_settings-arm_fk-force_arms = 強制從頭戴顯示器進行手臂追蹤
|
||||
settings-general-fk_settings-skeleton_settings = 骨架設定
|
||||
settings-general-fk_settings-arm_fk-reset_mode-description = 更改配戴重置時,手臂需要做出的姿勢。
|
||||
settings-general-fk_settings-arm_fk-back = 收肘姿勢
|
||||
settings-general-fk_settings-arm_fk-back-description = 預設模式,重置時手肘朝後,前臂向前。
|
||||
settings-general-fk_settings-arm_fk-tpose_up = T 型姿勢(抬起)
|
||||
settings-general-fk_settings-arm_fk-tpose_up-description = 完整重置時手臂向下,呈立正姿勢;配戴重置時手臂向兩側伸展,與身體呈 90 度。
|
||||
settings-general-fk_settings-arm_fk-tpose_down = T 型姿勢(放下)
|
||||
settings-general-fk_settings-arm_fk-tpose_down-description = 完整重置時手臂向兩側伸展,與身體呈 90 度;配戴重置時手臂向下,呈立正姿勢。
|
||||
settings-general-fk_settings-arm_fk-forward = 向前伸展
|
||||
settings-general-fk_settings-arm_fk-forward-description = 重置時手臂向前伸展,與身體呈 90 度,可用於坐姿進行虛擬直播。
|
||||
settings-general-fk_settings-skeleton_settings-toggles = 骨架設定
|
||||
settings-general-fk_settings-skeleton_settings-description = 開啟或關閉骨架設定。建議保持這些設定開啟。
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine = 脊椎延伸
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis = 骨盆延伸
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees = 膝蓋延伸
|
||||
settings-general-fk_settings-skeleton_settings-extended_spine_model = 延伸脊椎模型
|
||||
settings-general-fk_settings-skeleton_settings-extended_pelvis_model = 延伸骨盆模型
|
||||
settings-general-fk_settings-skeleton_settings-extended_knees_model = 延伸膝蓋模型
|
||||
settings-general-fk_settings-skeleton_settings-ratios = 骨架比例
|
||||
settings-general-fk_settings-skeleton_settings-ratios-description = 修改骨架設定的參數,您可能需要在修改後調整軀幹比例。
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_hip = 推算腰部定位時,胸部與臀部定位使用的比例
|
||||
settings-general-fk_settings-skeleton_settings-impute_waist_from_chest_legs = 推算腰部定位時,胸部與腿部定位使用的比例
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_chest_legs = 推算臀部定位時,胸部與腿部定位使用的比例
|
||||
settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = 推算臀部定位時, 腰部與腿部定位使用的比例
|
||||
settings-general-fk_settings-skeleton_settings-interp_hip_legs = 臀部的偏航軸與翻滾軸,混合腿部定位的比例
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = 膝部的偏航軸與翻滾軸,混合腳踝定位的比例
|
||||
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = 將膝部的偏航軸與翻滾軸與腳踝計算平均
|
||||
settings-general-fk_settings-self_localization-title = 動作捕捉模式
|
||||
settings-general-fk_settings-self_localization-description = 動作捕捉模式允許在沒有頭戴顯示器或其他追蹤器時,粗略的追蹤身體骨架的定位。請注意,本功能需要腳部與頭部的追蹤器,並且本功能仍在實驗階段。
|
||||
settings-general-fk_settings-vive_emulation-title = Vive 模擬
|
||||
settings-general-fk_settings-vive_emulation-description = 模擬 Vive 追蹤器的腰部追蹤失效問題。( 註:這是一個玩笑功能,會降低追蹤品質。)
|
||||
settings-general-fk_settings-vive_emulation-label = 開啟 Vive 模擬
|
||||
@@ -352,13 +386,16 @@ settings-general-fk_settings-vive_emulation-label = 開啟 Vive 模擬
|
||||
|
||||
settings-general-gesture_control = 手勢控制
|
||||
settings-general-gesture_control-subtitle = 敲擊重置
|
||||
settings-general-gesture_control-description = 使用敲擊追蹤器的方法觸發重置。敲擊軀幹所配戴的最高的追蹤器會啟用左右偏擺重置,敲擊左腳配戴最高的追蹤器會觸發完整重置,敲擊右腳配戴最高的追蹤器會觸發配戴重置。請注意,需要在 0.6 秒內滿足敲擊次數才會觸發。
|
||||
settings-general-gesture_control-description = 使用敲擊追蹤器的方法觸發重置。敲擊軀幹所配戴的最高的追蹤器會啟用左右偏擺重置,敲擊左腳配戴最高的追蹤器會觸發完整重置,敲擊右腳配戴最高的追蹤器會觸發配戴重置。請注意,需要在 0.3 秒內滿足敲擊次數才會觸發。
|
||||
# This is a unit: 3 taps, 2 taps, 1 tap
|
||||
# $amount (Number) - Amount of taps (touches to the tracker's case)
|
||||
settings-general-gesture_control-taps =
|
||||
{ $amount ->
|
||||
*[other] { $amount } 次敲擊
|
||||
}
|
||||
# This is a unit: 3 trackers, 2 trackers, 1 tracker
|
||||
# $amount (Number) - Amount of trackers
|
||||
settings-general-gesture_control-trackers = { $amount } 個追蹤器
|
||||
settings-general-gesture_control-yawResetEnabled = 敲擊以左右偏擺重置
|
||||
settings-general-gesture_control-yawResetDelay = 左右偏擺重置延遲
|
||||
settings-general-gesture_control-yawResetTaps = 左右偏擺重置敲擊次數
|
||||
@@ -368,30 +405,45 @@ settings-general-gesture_control-fullResetTaps = 完整重置敲擊次數
|
||||
settings-general-gesture_control-mountingResetEnabled = 敲擊以配戴重置
|
||||
settings-general-gesture_control-mountingResetDelay = 重置佩戴延遲
|
||||
settings-general-gesture_control-mountingResetTaps = 重置佩戴敲擊次數
|
||||
# The number of trackers that can have higher acceleration before a tap is rejected
|
||||
settings-general-gesture_control-numberTrackersOverThreshold = 觸發敲擊判定的最多追蹤器數量
|
||||
settings-general-gesture_control-numberTrackersOverThreshold-description = 如果敲擊偵測無法作動,請嘗試增加此值以降低敲擊判定的門檻。為避免誤判,請勿設定超過所需要的數值。
|
||||
|
||||
## Interface settings
|
||||
## Appearance settings
|
||||
|
||||
settings-general-interface = 使用者介面
|
||||
settings-interface-appearance = 外觀
|
||||
settings-general-interface-dev_mode = 開發者模式
|
||||
settings-general-interface-dev_mode-description = 如果你需要深入的資料或與連線的追蹤器進行進階互動,開啟此模式將會非常有用。
|
||||
settings-general-interface-dev_mode-description = 本功能會提供更深入的資料,也能與已連線的追蹤器進行更進一步的控制。
|
||||
settings-general-interface-dev_mode-label = 開發者模式
|
||||
settings-general-interface-theme = 佈景主題色彩
|
||||
settings-general-interface-lang = 選擇語言
|
||||
settings-general-interface-lang-description = 更改所使用的介面語言。
|
||||
settings-general-interface-lang-placeholder = 選擇要使用的語言
|
||||
# Keep the font name untranslated
|
||||
settings-interface-appearance-font = UI 字體
|
||||
settings-interface-appearance-font-description = 本設定會修改 UI 所使用的字體。
|
||||
settings-interface-appearance-font-placeholder = 預設字體
|
||||
settings-interface-appearance-font-os_font = 作業系統字體
|
||||
settings-interface-appearance-font-slime_font = 預設字體
|
||||
settings-interface-appearance-font_size = 文字縮放
|
||||
settings-interface-appearance-font_size-description = 本設定會影響整個 UI 的文字大小,除了本設定面板以外。
|
||||
|
||||
## Notification settings
|
||||
|
||||
settings-interface-notifications = 通知
|
||||
settings-general-interface-serial_detection = 串列埠裝置檢測
|
||||
settings-general-interface-serial_detection-description = 每次插入新串列埠的裝置(可能是追蹤器)時,此選項會顯示一個彈出視窗。這有助於改進追蹤器的設定流程。
|
||||
settings-general-interface-serial_detection-label = 串列埠裝置檢測
|
||||
settings-general-interface-feedback_sound = 聲音回饋
|
||||
settings-general-interface-feedback_sound-description = 啟用本選項後,觸發重置時會發出提示音
|
||||
settings-general-interface-feedback_sound-description = 啟用本選項後,觸發重置時會發出提示音。
|
||||
settings-general-interface-feedback_sound-label = 聲音回饋
|
||||
settings-general-interface-feedback_sound-volume = 聲音回饋音量
|
||||
settings-general-interface-theme = 佈景主題色彩
|
||||
settings-general-interface-lang = 選擇語言
|
||||
settings-general-interface-lang-description = 更改要使用的預設語言
|
||||
settings-general-interface-lang-placeholder = 選擇要使用的語言
|
||||
|
||||
## Serial settings
|
||||
|
||||
settings-serial = 串列埠終端
|
||||
# This cares about multilines
|
||||
settings-serial-description = 這裡用於顯示串列埠的即時資訊,有助於瞭解韌體是否發生問題。
|
||||
settings-serial-description = 這裡用於顯示串列埠的即時資訊,可能有助於瞭解韌體是否發生問題。
|
||||
settings-serial-connection_lost = 串列埠連線中斷,正在重新連線……
|
||||
settings-serial-reboot = 重新啟動
|
||||
settings-serial-factory_reset = 恢復出廠設定
|
||||
@@ -412,7 +464,7 @@ settings-osc-router = OSC 路由
|
||||
# This cares about multilines
|
||||
settings-osc-router-description =
|
||||
從另一個程式轉發 OSC 訊息。
|
||||
例如在 VRChat 同時使用另一個 OSC 程式時,此功能會有幫助。
|
||||
例如需要在 VRChat 同時使用另一個 OSC 程式時,可以使用本功能。
|
||||
settings-osc-router-enable = 啟用
|
||||
settings-osc-router-enable-description = 切換轉發 OSC 訊息。
|
||||
settings-osc-router-enable-label = 啟用
|
||||
@@ -465,13 +517,13 @@ settings-osc-vrchat-network-trackers-elbows = 肘部
|
||||
settings-osc-vmc = Virtual Motion Capture
|
||||
# This cares about multilines
|
||||
settings-osc-vmc-description =
|
||||
修改 VMC (Virtual Motion Capture) 協定的相關設定
|
||||
以傳送 SlimeVR 的骨骼資料,並接收來自其他應用程式的骨骼資料
|
||||
修改 VMC (Virtual Motion Capture) 協定的相關設定,
|
||||
以傳送 SlimeVR 的骨骼資料,並接收來自其他應用程式的骨骼資料。
|
||||
settings-osc-vmc-enable = 啟用
|
||||
settings-osc-vmc-enable-description = 切換資料的傳送和接收。
|
||||
settings-osc-vmc-enable-label = 啟用
|
||||
settings-osc-vmc-network = 連接埠
|
||||
settings-osc-vmc-network-description = 設定用於監聽和傳送 VMC 資料的連接埠
|
||||
settings-osc-vmc-network-description = 設定用於監聽和傳送 VMC 資料的連接埠。
|
||||
settings-osc-vmc-network-port_in =
|
||||
.label = 輸入埠
|
||||
.placeholder = 輸入埠(預設:39540)
|
||||
@@ -479,10 +531,10 @@ settings-osc-vmc-network-port_out =
|
||||
.label = 輸出埠
|
||||
.placeholder = 輸出埠(預設:39539)
|
||||
settings-osc-vmc-network-address = 網路地址
|
||||
settings-osc-vmc-network-address-description = 設定用來發送 VMC 資料的位址
|
||||
settings-osc-vmc-network-address-description = 設定用來發送 VMC 資料的位址。
|
||||
settings-osc-vmc-network-address-placeholder = IPV4 地址
|
||||
settings-osc-vmc-vrm = VRM 模型
|
||||
settings-osc-vmc-vrm-description = 載入 VRM 模型以允許頭部錨定,並增進與其他應用程式的相容性
|
||||
settings-osc-vmc-vrm-description = 載入 VRM 模型以允許頭部錨定,並與其他應用程式有更高的相容性。
|
||||
settings-osc-vmc-vrm-model_unloaded = 未載入模型
|
||||
settings-osc-vmc-vrm-model_loaded =
|
||||
{ $titled ->
|
||||
@@ -544,7 +596,7 @@ onboarding-reset_tutorial-1 =
|
||||
onboarding-reset_tutorial-2 =
|
||||
對所標記之追蹤器敲擊 { $taps } 次即可觸發配戴重置。
|
||||
|
||||
配戴校正能對追蹤器實際的配戴方式進行調整,因此若您不小心移動到追蹤器,或是大幅度的變更配戴方向,這個功能會有所幫助。
|
||||
配戴重置能對追蹤器實際的配戴方式進行調整,因此若您不小心移動到追蹤器,或是大幅度的變更配戴方向,這個功能會有所幫助。
|
||||
|
||||
做此校正時需要進行滑雪姿勢,如自動配戴校正的畫面所示。在觸發 3 秒後(可修改)才會真正進行重置。
|
||||
|
||||
@@ -611,8 +663,8 @@ onboarding-assignment_tutorial = 戴上 Slime 追蹤器前的準備事項
|
||||
onboarding-assignment_tutorial-first_step = 1. 若有標示身體部位的貼紙,可在您所要分配使用的追蹤器上貼上。
|
||||
# This text has a character limit of around 11 characters, so please keep it short
|
||||
onboarding-assignment_tutorial-sticker = 貼紙
|
||||
onboarding-assignment_tutorial-second_step = 2. 將綁帶有魔鬼氈(魔術貼)的一面,依照下圖所示的方向穿過追蹤器:
|
||||
onboarding-assignment_tutorial-second_step-continuation = 延伸追蹤器應照下圖所示:
|
||||
onboarding-assignment_tutorial-second_step-v2 = 2. 將綁帶有魔鬼氈(魔術貼)的一面朝向臉部標誌穿過追蹤器:
|
||||
onboarding-assignment_tutorial-second_step-continuation-v2 = 延伸追蹤器的穿法應照下圖所示:
|
||||
onboarding-assignment_tutorial-done = 我把貼紙跟綁帶都弄上了
|
||||
|
||||
## Tracker assignment setup
|
||||
@@ -721,7 +773,7 @@ onboarding-manual_mounting-next = 下一步
|
||||
|
||||
onboarding-automatic_mounting-back = 返回到進入 VR
|
||||
onboarding-automatic_mounting-title = 配戴校正
|
||||
onboarding-automatic_mounting-description = 為了讓 SlimeVR 追蹤器正常運作,我們需要為你的追蹤器設定一個配戴方向,以使其與你的物理追蹤器配戴方式對齊。
|
||||
onboarding-automatic_mounting-description = 為了讓 SlimeVR 追蹤器正常運作,我們需要為每個追蹤器設定配戴方向,以符合您實際的追蹤器配戴方式。
|
||||
onboarding-automatic_mounting-manual_mounting = 進行手動設定
|
||||
onboarding-automatic_mounting-next = 下一步
|
||||
onboarding-automatic_mounting-prev_step = 上一步
|
||||
@@ -748,12 +800,18 @@ onboarding-choose_proportions-description =
|
||||
onboarding-choose_proportions-auto_proportions = 自動軀幹比例校正
|
||||
# Italized text
|
||||
onboarding-choose_proportions-auto_proportions-subtitle = 推薦使用
|
||||
onboarding-choose_proportions-auto_proportions-description = 本選項會透過演算法,分析身體的移動來推算軀幹比例
|
||||
onboarding-choose_proportions-auto_proportions-descriptionv2 =
|
||||
本選項會從您的身體動作錄製一段樣本,並通過演算法來推算您的軀幹比例。
|
||||
|
||||
<b>使用本功能需要連接頭戴顯示器到 SlimeVR!</b>
|
||||
onboarding-choose_proportions-manual_proportions = 手動軀幹比例校正
|
||||
# Italized text
|
||||
onboarding-choose_proportions-manual_proportions-subtitle = 適合進行微調
|
||||
onboarding-choose_proportions-manual_proportions-description = 本選項可以讓你直接修改軀幹比例的設定值
|
||||
onboarding-choose_proportions-export = 匯出軀幹比例
|
||||
onboarding-choose_proportions-import = 匯入軀幹比例
|
||||
onboarding-choose_proportions-import-success = 匯入成功
|
||||
onboarding-choose_proportions-import-failed = 匯入失敗
|
||||
onboarding-choose_proportions-file_type = 軀幹比例描述檔
|
||||
|
||||
## Tracker manual proportions setup
|
||||
@@ -784,6 +842,18 @@ onboarding-automatic_proportions-requirements-description =
|
||||
你的追蹤器與頭戴顯示器在 SlimeVR 伺服器中運作正常。
|
||||
你的頭戴顯示器會回報定位資料給 SlimeVR 伺服器(通常為執行 SteamVR 並透過 SlimeVR 的 SteamVR 驅動程式來連接 SlimeVR)。
|
||||
onboarding-automatic_proportions-requirements-next = 我已閱讀使用需求
|
||||
onboarding-automatic_proportions-check_height-title = 檢查您的身高
|
||||
onboarding-automatic_proportions-check_height-description = 我們會透過頭戴顯示器回報的高度來推算您的實際身高,但我們仍建議您檢查一下數值是否正確。
|
||||
# All the text is in bold!
|
||||
onboarding-automatic_proportions-check_height-calculation_warning = 請<u>站直</u>並按下按鈕以計算身高,按下按鈕後您有 3 秒鐘來調整姿勢。
|
||||
onboarding-automatic_proportions-check_height-fetch_height = 我站著了!
|
||||
# Context is that the height is unknown
|
||||
onboarding-automatic_proportions-check_height-unknown = 不明
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-hmd_height1 = 您的頭戴顯示器高度是
|
||||
# Shows an element below it
|
||||
onboarding-automatic_proportions-check_height-height1 = 所以您的實際身高是
|
||||
onboarding-automatic_proportions-check_height-next_step = 數值沒問題
|
||||
onboarding-automatic_proportions-start_recording-title = 準備擺動作囉
|
||||
onboarding-automatic_proportions-start_recording-description = 我們現在要記錄一些特定的姿勢和動作,將會在下一個畫面中提示。當按鈕被按下時,準備好開始!
|
||||
onboarding-automatic_proportions-start_recording-next = 開始錄製
|
||||
@@ -800,7 +870,7 @@ onboarding-automatic_proportions-recording-steps =
|
||||
如果進度條還沒走完,可以重複以上動作直到錄製結束。
|
||||
onboarding-automatic_proportions-recording-processing = 正在處理結果
|
||||
# $time (Number) - Seconds left for the automatic calibration recording to finish (max 20)
|
||||
onboarding-automatic_proportions-recording-timer = 剩餘 { $time } 秒
|
||||
onboarding-automatic_proportions-recording-timer = 剩下 { $time } 秒
|
||||
onboarding-automatic_proportions-verify_results-title = 檢查結果
|
||||
onboarding-automatic_proportions-verify_results-description = 檢查下面的結果,它們看起來是正確的嗎?
|
||||
onboarding-automatic_proportions-verify_results-results = 錄製結果
|
||||
@@ -809,6 +879,10 @@ onboarding-automatic_proportions-verify_results-redo = 重新錄製
|
||||
onboarding-automatic_proportions-verify_results-confirm = 他們是正確的!
|
||||
onboarding-automatic_proportions-done-title = 身體資料已測量並儲存。
|
||||
onboarding-automatic_proportions-done-description = 你的身體比例校正已完成!
|
||||
onboarding-automatic_proportions-error_modal =
|
||||
<b>警告:</b> 推算軀幹比例時發生錯誤。
|
||||
請<docs>閱讀文件</docs>或加入我們的 <discord>Discord</discord> 伺服器以尋求協助 ^_^
|
||||
onboarding-automatic_proportions-error_modal-confirm = 瞭解!
|
||||
|
||||
## Home
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 312 KiB |
BIN
gui/public/images/boxslime.webp
Normal file
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 1.5 MiB |
BIN
gui/public/images/front-standing-pose.webp
Normal file
|
After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 1.1 MiB |
BIN
gui/public/images/mounting-reset-pose.webp
Normal file
|
After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 998 KiB |
BIN
gui/public/images/reset-pose.webp
Normal file
|
After Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 758 KiB |
BIN
gui/public/images/slime-girl.webp
Normal file
|
After Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 426 KiB |
BIN
gui/public/images/slimes.webp
Normal file
|
After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 387 KiB |
BIN
gui/public/images/slimetower.webp
Normal file
|
After Width: | Height: | Size: 20 KiB |
5
gui/public/logo.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-miterlimit="10" version="1.1" viewBox="0 0 380 380" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>svg { background-color: #663499; }</style>
|
||||
<rect id="bg" width="100%" height="100%" fill="#663499"/><g id="logo" fill="none" stroke="#fff"><path id="left" d="m72.867 191.74 37-39 39 36" stroke-width="13.62px"/><path id="right" d="m208.87 187.74 38-35 36 38" stroke-width="13.62px"/><path id="outer" d="m56.867 253.74s130.61-31.182 248 5c13.45 4.146 20.244 2.975 20-8s1.909-126.06-46-131" stroke-linecap="square" stroke-width="17px"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 660 B |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,7 +1,16 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"name": "SlimeVR GUI",
|
||||
"short_name": "SlimeVR GUI",
|
||||
"description": "A web interface for controlling the SlimeVR Server software",
|
||||
"display": "standalone",
|
||||
"theme_color": "#663499",
|
||||
"background_color": "#663499",
|
||||
"icons": [
|
||||
{
|
||||
"src": "logo.svg",
|
||||
"type": "image/svg+xml",
|
||||
"sizes": "any 512x512 192x192"
|
||||
},
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
@@ -17,9 +26,5 @@
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -21,16 +21,24 @@ default = ["custom-protocol"]
|
||||
custom-protocol = ["tauri/custom-protocol"]
|
||||
|
||||
[build-dependencies]
|
||||
tauri-build = { version = "1.2", features = [] }
|
||||
tauri-build = { version = "2.0.0-alpha.6", features = [] }
|
||||
cfg_aliases = "0.1"
|
||||
shadow-rs = "0.23"
|
||||
|
||||
[dependencies]
|
||||
serde_json = "1"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
tauri = { version = "1.4", features = ["devtools", "dialog", "dialog-save", "fs-all", "os-all", "path-all", "shell-execute", "shell-open", "window-close", "window-maximize", "window-minimize", "window-set-resizable", "window-set-size", "window-set-title", "window-start-dragging", "window-unmaximize", "window-unminimize"] }
|
||||
tauri-runtime = "0.14"
|
||||
pretty_env_logger = "0.5"
|
||||
tauri = { version = "2.0.0-alpha.10", features = ["devtools"] }
|
||||
tauri-runtime = "0.13.0-alpha.6"
|
||||
tauri-plugin-dialog = { git = "https://github.com/tauri-apps/plugins-workspace", rev = "4ab90f048eab2918344f97dc8e04413a404e392d" }
|
||||
tauri-plugin-fs = { git = "https://github.com/tauri-apps/plugins-workspace", rev = "4ab90f048eab2918344f97dc8e04413a404e392d" }
|
||||
tauri-plugin-os = { git = "https://github.com/tauri-apps/plugins-workspace", rev = "4ab90f048eab2918344f97dc8e04413a404e392d" }
|
||||
tauri-plugin-shell = { git = "https://github.com/tauri-apps/plugins-workspace", rev = "4ab90f048eab2918344f97dc8e04413a404e392d" }
|
||||
tauri-plugin-window = { git = "https://github.com/tauri-apps/plugins-workspace", rev = "4ab90f048eab2918344f97dc8e04413a404e392d", features = [
|
||||
"devtools",
|
||||
] }
|
||||
flexi_logger = "0.25"
|
||||
log-panics = { version = "2", features = ["with-backtrace"] }
|
||||
log = "0.4"
|
||||
clap = { version = "4.0.29", features = ["derive"] }
|
||||
clap-verbosity-flag = "2"
|
||||
@@ -38,11 +46,13 @@ rand = "0.8.5"
|
||||
tempfile = "3"
|
||||
which = "4.3"
|
||||
glob = "0.3"
|
||||
open = "4"
|
||||
open = "5"
|
||||
shadow-rs = { version = "0.23", default-features = false }
|
||||
const_format = "0.2.30"
|
||||
cfg-if = "1"
|
||||
color-eyre = "0.6"
|
||||
rfd = "0.11.4"
|
||||
dirs-next = "2.0.0"
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
win32job = "1"
|
||||
|
||||
@@ -9,11 +9,12 @@ use std::time::Duration;
|
||||
use std::time::Instant;
|
||||
|
||||
use clap::Parser;
|
||||
use color_eyre::Result;
|
||||
use state::WindowState;
|
||||
use tauri::api::process::{Command, CommandChild};
|
||||
use tauri::Manager;
|
||||
use tauri::RunEvent;
|
||||
use tauri::WindowEvent;
|
||||
use tauri_plugin_shell::process::CommandChild;
|
||||
|
||||
use crate::util::{
|
||||
get_launch_path, show_error, valid_java_paths, Cli, JAVA_BIN, MINIMUM_JAVA_VERSION,
|
||||
@@ -38,22 +39,70 @@ fn update_window_state(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn main() {
|
||||
#[tauri::command]
|
||||
fn logging(msg: String) {
|
||||
log::info!(target: "webview", "{}", msg)
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
fn erroring(msg: String) {
|
||||
log::error!(target: "webview", "{}", msg)
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
fn warning(msg: String) {
|
||||
log::warn!(target: "webview", "{}", msg)
|
||||
}
|
||||
|
||||
fn main() -> Result<()> {
|
||||
log_panics::init();
|
||||
let hook = panic::take_hook();
|
||||
// Make an error dialog box when panicking
|
||||
panic::set_hook(Box::new(|panic_info| {
|
||||
println!("{}", panic_info);
|
||||
panic::set_hook(Box::new(move |panic_info| {
|
||||
show_error(&panic_info.to_string());
|
||||
hook(panic_info);
|
||||
}));
|
||||
|
||||
let cli = Cli::parse();
|
||||
let tauri_context = tauri::generate_context!();
|
||||
|
||||
// Set up loggers and global handlers
|
||||
{
|
||||
if std::env::var_os("RUST_LOG").is_none() {
|
||||
std::env::set_var("RUST_LOG", "info")
|
||||
}
|
||||
pretty_env_logger::init();
|
||||
}
|
||||
let _logger = {
|
||||
use flexi_logger::{
|
||||
Age, Cleanup, Criterion, Duplicate, FileSpec, Logger, Naming, WriteMode,
|
||||
};
|
||||
use tauri::path::Error;
|
||||
|
||||
// Based on https://docs.rs/tauri/2.0.0-alpha.10/src/tauri/path/desktop.rs.html#238-256
|
||||
#[cfg(target_os = "macos")]
|
||||
let path = dirs_next::home_dir().ok_or(Error::UnknownPath).map(|dir| {
|
||||
dir.join("Library/Logs")
|
||||
.join(&tauri_context.config().tauri.bundle.identifier)
|
||||
});
|
||||
|
||||
#[cfg(not(target_os = "macos"))]
|
||||
let path = dirs_next::data_dir()
|
||||
.ok_or(Error::UnknownPath)
|
||||
.map(|dir| {
|
||||
dir.join(&tauri_context.config().tauri.bundle.identifier)
|
||||
.join("logs")
|
||||
});
|
||||
|
||||
Logger::try_with_env_or_str("info")?
|
||||
.log_to_file(
|
||||
FileSpec::default().directory(path.expect("We need a log dir")),
|
||||
)
|
||||
.format_for_files(util::logger_format)
|
||||
.format_for_stderr(util::logger_format)
|
||||
.rotate(
|
||||
Criterion::Age(Age::Day),
|
||||
Naming::Timestamps,
|
||||
Cleanup::KeepLogFiles(2),
|
||||
)
|
||||
.duplicate_to_stderr(Duplicate::All)
|
||||
.write_mode(WriteMode::BufferAndFlush)
|
||||
.start()?
|
||||
};
|
||||
|
||||
// Ensure child processes die when spawned on windows
|
||||
// and then check for WebView2's existence
|
||||
@@ -75,27 +124,28 @@ fn main() {
|
||||
if !webview2_exists() {
|
||||
// This makes a dialog appear which let's you press Ok or Cancel
|
||||
// If you press Ok it will open the SlimeVR installer documentation
|
||||
use tauri::api::dialog::{
|
||||
blocking::MessageDialogBuilder, MessageDialogButtons, MessageDialogKind,
|
||||
};
|
||||
use rfd::{MessageButtons, MessageDialog, MessageLevel};
|
||||
|
||||
let confirm = MessageDialogBuilder::new("SlimeVR", "Couldn't find WebView2 installed. You can install it with the SlimeVR installer")
|
||||
.buttons(MessageDialogButtons::OkCancel)
|
||||
.kind(MessageDialogKind::Error)
|
||||
let confirm = MessageDialog::new()
|
||||
.set_title("SlimeVR")
|
||||
.set_description("Couldn't find WebView2 installed. You can install it with the SlimeVR installer")
|
||||
.set_buttons(MessageButtons::OkCancel)
|
||||
.set_level(MessageLevel::Error)
|
||||
.show();
|
||||
if confirm {
|
||||
open::that("https://docs.slimevr.dev/server-setup/installing-and-connecting.html#install-the-latest-slimevr-installer").unwrap();
|
||||
}
|
||||
return;
|
||||
return Ok(());
|
||||
}
|
||||
}
|
||||
|
||||
// Spawn server process
|
||||
let exit_flag = Arc::new(AtomicBool::new(false));
|
||||
let mut backend: Option<CommandChild> = None;
|
||||
let backend = Arc::new(Mutex::new(Option::<CommandChild>::None));
|
||||
let backend_termination = backend.clone();
|
||||
let run_path = get_launch_path(cli);
|
||||
|
||||
let stdout_recv = if let Some(p) = run_path {
|
||||
let server_info = if let Some(p) = run_path {
|
||||
log::info!("Server found on path: {}", p.to_str().unwrap());
|
||||
|
||||
// Check if any Java already installed is compatible
|
||||
@@ -106,17 +156,11 @@ fn main() {
|
||||
.or_else(|| valid_java_paths().first().map(|x| x.0.to_owned()));
|
||||
let Some(java_bin) = java_bin else {
|
||||
show_error(&format!("Couldn't find a compatible Java version, please download Java {} or higher", MINIMUM_JAVA_VERSION));
|
||||
return;
|
||||
return Ok(());
|
||||
};
|
||||
|
||||
log::info!("Using Java binary: {:?}", java_bin);
|
||||
let (recv, child) = Command::new(java_bin.to_str().unwrap())
|
||||
.current_dir(p)
|
||||
.args(["-Xmx512M", "-jar", "slimevr.jar", "run"])
|
||||
.spawn()
|
||||
.expect("Unable to start the server jar");
|
||||
backend = Some(child);
|
||||
Some(recv)
|
||||
Some((java_bin, p))
|
||||
} else {
|
||||
log::warn!("No server found. We will not start the server.");
|
||||
None
|
||||
@@ -124,15 +168,25 @@ fn main() {
|
||||
|
||||
let exit_flag_terminated = exit_flag.clone();
|
||||
let build_result = tauri::Builder::default()
|
||||
.invoke_handler(tauri::generate_handler![update_window_state])
|
||||
.plugin(tauri_plugin_dialog::init())
|
||||
.plugin(tauri_plugin_fs::init())
|
||||
.plugin(tauri_plugin_os::init())
|
||||
.plugin(tauri_plugin_shell::init())
|
||||
.plugin(tauri_plugin_window::init())
|
||||
.invoke_handler(tauri::generate_handler![
|
||||
update_window_state,
|
||||
logging,
|
||||
erroring,
|
||||
warning
|
||||
])
|
||||
.setup(move |app| {
|
||||
let window_state =
|
||||
WindowState::open_state(app.path_resolver().app_config_dir().unwrap())
|
||||
WindowState::open_state(app.path().app_config_dir().unwrap())
|
||||
.unwrap_or_default();
|
||||
|
||||
let window = tauri::WindowBuilder::new(
|
||||
app,
|
||||
"local",
|
||||
"main",
|
||||
tauri::WindowUrl::App("index.html".into()),
|
||||
)
|
||||
.title("SlimeVR")
|
||||
@@ -150,15 +204,32 @@ fn main() {
|
||||
|
||||
app.manage(Mutex::new(window_state));
|
||||
|
||||
if let Some(mut recv) = stdout_recv {
|
||||
if let Some((java_bin, p)) = server_info {
|
||||
let app_handle = app.app_handle();
|
||||
tauri::async_runtime::spawn(async move {
|
||||
use tauri::api::process::CommandEvent;
|
||||
use tauri_plugin_shell::{process::CommandEvent, ShellExt};
|
||||
|
||||
while let Some(cmd_event) = recv.recv().await {
|
||||
let (mut rx, child) = app_handle
|
||||
.shell()
|
||||
.command(java_bin.to_str().unwrap())
|
||||
.current_dir(p)
|
||||
.args(["-Xmx512M", "-jar", "slimevr.jar", "run"])
|
||||
.spawn()
|
||||
.expect("Unable to start the server jar");
|
||||
|
||||
{
|
||||
let mut lock = backend.lock().unwrap();
|
||||
*lock = Some(child)
|
||||
}
|
||||
|
||||
while let Some(cmd_event) = rx.recv().await {
|
||||
let emit_me = match cmd_event {
|
||||
CommandEvent::Stderr(s) => ("stderr", s),
|
||||
CommandEvent::Stdout(s) => ("stdout", s),
|
||||
CommandEvent::Stderr(v) => {
|
||||
("stderr", String::from_utf8(v).unwrap_or_default())
|
||||
}
|
||||
CommandEvent::Stdout(v) => {
|
||||
("stdout", String::from_utf8(v).unwrap_or_default())
|
||||
}
|
||||
CommandEvent::Error(s) => ("error", s),
|
||||
CommandEvent::Terminated(s) => {
|
||||
exit_flag_terminated.store(true, Ordering::Relaxed);
|
||||
@@ -168,7 +239,7 @@ fn main() {
|
||||
};
|
||||
app_handle
|
||||
.emit_all("server-status", emit_me)
|
||||
.expect("Failed to emit");
|
||||
.expect("Check server log files. \nFailed to emit");
|
||||
}
|
||||
log::error!("Java server receiver died");
|
||||
app_handle
|
||||
@@ -190,26 +261,26 @@ fn main() {
|
||||
WindowEvent::Resized(_) => std::thread::sleep(std::time::Duration::from_nanos(1)),
|
||||
_ => (),
|
||||
})
|
||||
.build(tauri::generate_context!());
|
||||
.build(tauri_context);
|
||||
match build_result {
|
||||
Ok(app) => {
|
||||
app.run(move |app_handle, event| match event {
|
||||
RunEvent::ExitRequested { .. } => {
|
||||
let window_state = app_handle.state::<Mutex<WindowState>>();
|
||||
let lock = window_state.lock().unwrap();
|
||||
let config_dir =
|
||||
app_handle.path_resolver().app_config_dir().unwrap();
|
||||
let config_dir = app_handle.path().app_config_dir().unwrap();
|
||||
let window_state_res = lock.save_state(config_dir);
|
||||
match window_state_res {
|
||||
Ok(()) => log::info!("saved window state"),
|
||||
Err(e) => log::error!("failed to save window state: {}", e),
|
||||
}
|
||||
|
||||
let Some(ref mut child) = backend else { return };
|
||||
let mut lock = backend_termination.lock().unwrap();
|
||||
let Some(ref mut child) = *lock else { return };
|
||||
let write_result = child.write(b"exit\n");
|
||||
match write_result {
|
||||
Ok(()) => log::info!("send exit to backend"),
|
||||
Err(_) => log::info!("fail to send exit to backend"),
|
||||
Err(_) => log::error!("fail to send exit to backend"),
|
||||
}
|
||||
let ten_seconds = Duration::from_secs(10);
|
||||
let start_time = Instant::now();
|
||||
@@ -229,13 +300,13 @@ fn main() {
|
||||
// I should log this anyways, don't want to dig a grave by not logging the error.
|
||||
log::error!("CreateWebview error {}", error);
|
||||
|
||||
use tauri::api::dialog::{
|
||||
blocking::MessageDialogBuilder, MessageDialogButtons, MessageDialogKind,
|
||||
};
|
||||
use rfd::{MessageButtons, MessageDialog, MessageLevel};
|
||||
|
||||
let confirm = MessageDialogBuilder::new("SlimeVR", "You seem to have a faulty installation of WebView2. You can check a guide on how to fix that in the docs!")
|
||||
.buttons(MessageDialogButtons::OkCancel)
|
||||
.kind(MessageDialogKind::Error)
|
||||
let confirm = MessageDialog::new()
|
||||
.set_title("SlimeVR")
|
||||
.set_description("You seem to have a faulty installation of WebView2. You can check a guide on how to fix that in the docs!")
|
||||
.set_buttons(MessageButtons::OkCancel)
|
||||
.set_level(MessageLevel::Error)
|
||||
.show();
|
||||
if confirm {
|
||||
open::that("https://docs.slimevr.dev/common-issues.html#webview2-is-missing--slimevr-gui-crashes-immediately--panicked-at--webview2error").unwrap();
|
||||
@@ -246,4 +317,6 @@ fn main() {
|
||||
show_error(&error.to_string());
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ use std::{
|
||||
|
||||
use clap::Parser;
|
||||
use const_format::concatcp;
|
||||
use flexi_logger::{style, DeferredNow};
|
||||
use log::Record;
|
||||
use shadow_rs::shadow;
|
||||
use tempfile::Builder;
|
||||
|
||||
@@ -93,20 +95,17 @@ pub fn spawn_java(java: &OsStr, java_version: &OsStr) -> std::io::Result<Child>
|
||||
#[cfg(desktop)]
|
||||
pub fn show_error(text: &str) -> bool {
|
||||
use rand::{seq::SliceRandom, thread_rng};
|
||||
use tauri::api::dialog::{
|
||||
blocking::MessageDialogBuilder, MessageDialogButtons, MessageDialogKind,
|
||||
};
|
||||
use rfd::{MessageButtons, MessageDialog, MessageLevel};
|
||||
|
||||
MessageDialogBuilder::new(
|
||||
format!(
|
||||
MessageDialog::new()
|
||||
.set_title(&format!(
|
||||
"SlimeVR GUI crashed - {}",
|
||||
POSSIBLE_TITLES.choose(&mut thread_rng()).unwrap()
|
||||
),
|
||||
text,
|
||||
)
|
||||
.buttons(MessageDialogButtons::Ok)
|
||||
.kind(MessageDialogKind::Error)
|
||||
.show()
|
||||
))
|
||||
.set_description(text)
|
||||
.set_buttons(MessageButtons::Ok)
|
||||
.set_level(MessageLevel::Error)
|
||||
.show()
|
||||
}
|
||||
|
||||
#[cfg(mobile)]
|
||||
@@ -216,3 +215,25 @@ pub fn valid_java_paths() -> Vec<(OsString, i32)> {
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
|
||||
pub fn logger_format(
|
||||
w: &mut dyn std::io::Write,
|
||||
_now: &mut DeferredNow,
|
||||
record: &Record,
|
||||
) -> Result<(), std::io::Error> {
|
||||
let level = record.level();
|
||||
let module_path = record.module_path().unwrap_or("<unnamed>");
|
||||
// optionally print target
|
||||
let target = if module_path.starts_with(record.target()) {
|
||||
"".to_string()
|
||||
} else {
|
||||
format!(", {}", record.target())
|
||||
};
|
||||
write!(
|
||||
w,
|
||||
"{} [{}{target}] {}",
|
||||
style(level).paint(level.to_string()),
|
||||
record.module_path().unwrap_or("<unnamed>"),
|
||||
style(level).paint(record.args().to_string())
|
||||
)
|
||||
}
|
||||
|
||||
@@ -9,6 +9,29 @@
|
||||
"beforeDevCommand": "npm run start",
|
||||
"beforeBuildCommand": "npm run build"
|
||||
},
|
||||
"plugins": {
|
||||
"shell": {
|
||||
"open": true
|
||||
},
|
||||
"fs": {
|
||||
"scope": ["$APP/*", "$APP"],
|
||||
"all": true
|
||||
},
|
||||
"os": {
|
||||
"all": true
|
||||
},
|
||||
"window": {
|
||||
"setResizable": true,
|
||||
"setTitle": true,
|
||||
"maximize": true,
|
||||
"unmaximize": true,
|
||||
"minimize": true,
|
||||
"unminimize": true,
|
||||
"close": true,
|
||||
"startDragging": true,
|
||||
"setSize": true
|
||||
}
|
||||
},
|
||||
"tauri": {
|
||||
"bundle": {
|
||||
"active": true,
|
||||
@@ -30,7 +53,7 @@
|
||||
"deb": {
|
||||
"depends": ["openjdk-17-jre-headless"],
|
||||
"files": {
|
||||
"/usr/share/slimevr/slimevr.jar": "../../server/build/libs/slimevr.jar"
|
||||
"/usr/share/slimevr/slimevr.jar": "../../server/desktop/build/libs/slimevr.jar"
|
||||
}
|
||||
},
|
||||
"appimage": {
|
||||
@@ -50,43 +73,15 @@
|
||||
"timestampUrl": ""
|
||||
}
|
||||
},
|
||||
"updater": {
|
||||
"active": false
|
||||
},
|
||||
"allowlist": {
|
||||
"dialog": {
|
||||
"all": false,
|
||||
"save": true
|
||||
},
|
||||
"shell": {
|
||||
"all": false,
|
||||
"execute": true,
|
||||
"open": true
|
||||
},
|
||||
"fs": {
|
||||
"scope": ["$APP/*", "$APP"],
|
||||
"all": true
|
||||
},
|
||||
"path": {
|
||||
"all": true
|
||||
},
|
||||
"os": {
|
||||
"all": true
|
||||
},
|
||||
"window": {
|
||||
"setResizable": true,
|
||||
"setTitle": true,
|
||||
"maximize": true,
|
||||
"unmaximize": true,
|
||||
"minimize": true,
|
||||
"unminimize": true,
|
||||
"close": true,
|
||||
"startDragging": true,
|
||||
"setSize": true
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"csp": null
|
||||
"csp": null,
|
||||
"dangerousRemoteDomainIpcAccess": [
|
||||
{
|
||||
"domain": "tauri.localhost",
|
||||
"windows": ["main"],
|
||||
"plugins": ["dialog", "fs", "os", "shell", "window"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
import React from 'react';
|
||||
import { render, screen } from '@testing-library/react';
|
||||
import App from './App';
|
||||
|
||||
test('renders learn react link', () => {
|
||||
render(<App />);
|
||||
const linkElement = screen.getByText(/learn react/i);
|
||||
expect(linkElement).toBeInTheDocument();
|
||||
});
|
||||
183
gui/src/App.tsx
@@ -35,10 +35,9 @@ import { SerialDetectionModal } from './components/SerialDetectionModal';
|
||||
import { VRCOSCSettings } from './components/settings/pages/VRCOSCSettings';
|
||||
import { TopBar } from './components/TopBar';
|
||||
import { TrackerSettingsPage } from './components/tracker/TrackerSettings';
|
||||
import { useConfig } from './hooks/config';
|
||||
import { OSCRouterSettings } from './components/settings/pages/OSCRouterSettings';
|
||||
import { useLocalization } from '@fluent/react';
|
||||
import { os } from '@tauri-apps/api';
|
||||
import * as os from '@tauri-apps/plugin-os';
|
||||
import { VMCSettings } from './components/settings/pages/VMCSettings';
|
||||
import { MountingChoose } from './components/onboarding/pages/mounting/MountingChoose';
|
||||
import { ProportionsChoose } from './components/onboarding/pages/body-proportions/ProportionsChoose';
|
||||
@@ -46,101 +45,108 @@ import { StatusProvider } from './components/providers/StatusSystemContext';
|
||||
import { VersionUpdateModal } from './components/VersionUpdateModal';
|
||||
import { CalibrationTutorialPage } from './components/onboarding/pages/CalibrationTutorial';
|
||||
import { AssignmentTutorialPage } from './components/onboarding/pages/assignment-preparation/AssignmentTutorial';
|
||||
import { open } from '@tauri-apps/api/shell';
|
||||
import { open } from '@tauri-apps/plugin-shell';
|
||||
import semver from 'semver';
|
||||
import { useBreakpoint } from './hooks/breakpoint';
|
||||
import { VRModePage } from './components/vr-mode/VRModePage';
|
||||
import { InterfaceSettings } from './components/settings/pages/InterfaceSettings';
|
||||
import { error, log } from './utils/logging';
|
||||
import { AppLayout } from './AppLayout';
|
||||
|
||||
export const GH_REPO = 'SlimeVR/SlimeVR-Server';
|
||||
export const VersionContext = createContext('');
|
||||
export const DOCS_SITE = 'https://docs.slimevr.dev/';
|
||||
export const DOCS_SITE = 'https://docs.slimevr.dev';
|
||||
export const SLIMEVR_DISCORD = 'https://discord.gg/slimevr';
|
||||
|
||||
function Layout() {
|
||||
const { loading } = useConfig();
|
||||
|
||||
if (loading) return <></>;
|
||||
|
||||
const { isMobile } = useBreakpoint('mobile');
|
||||
|
||||
return (
|
||||
<>
|
||||
<SerialDetectionModal></SerialDetectionModal>
|
||||
<VersionUpdateModal></VersionUpdateModal>
|
||||
<Routes>
|
||||
<Route
|
||||
path="/"
|
||||
element={
|
||||
<MainLayoutRoute isMobile={isMobile}>
|
||||
<Home />
|
||||
</MainLayoutRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="/vr-mode"
|
||||
element={
|
||||
<MainLayoutRoute isMobile={isMobile}>
|
||||
<VRModePage />
|
||||
</MainLayoutRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="/tracker/:trackernum/:deviceid"
|
||||
element={
|
||||
<MainLayoutRoute background={false} isMobile={isMobile}>
|
||||
<TrackerSettingsPage />
|
||||
</MainLayoutRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="/settings"
|
||||
element={
|
||||
<SettingsLayoutRoute>
|
||||
<Outlet></Outlet>
|
||||
</SettingsLayoutRoute>
|
||||
}
|
||||
>
|
||||
<Route path="trackers" element={<GeneralSettings />} />
|
||||
<Route path="serial" element={<Serial />} />
|
||||
<Route path="osc/router" element={<OSCRouterSettings />} />
|
||||
<Route path="osc/vrchat" element={<VRCOSCSettings />} />
|
||||
<Route path="osc/vmc" element={<VMCSettings />} />
|
||||
<Route element={<AppLayout />}>
|
||||
<Route
|
||||
path="/"
|
||||
element={
|
||||
<MainLayoutRoute isMobile={isMobile}>
|
||||
<Home />
|
||||
</MainLayoutRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="/vr-mode"
|
||||
element={
|
||||
<MainLayoutRoute isMobile={isMobile}>
|
||||
<VRModePage />
|
||||
</MainLayoutRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="/tracker/:trackernum/:deviceid"
|
||||
element={
|
||||
<MainLayoutRoute background={false} isMobile={isMobile}>
|
||||
<TrackerSettingsPage />
|
||||
</MainLayoutRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="/settings"
|
||||
element={
|
||||
<SettingsLayoutRoute>
|
||||
<Outlet />
|
||||
</SettingsLayoutRoute>
|
||||
}
|
||||
>
|
||||
<Route path="trackers" element={<GeneralSettings />} />
|
||||
<Route path="serial" element={<Serial />} />
|
||||
<Route path="osc/router" element={<OSCRouterSettings />} />
|
||||
<Route path="osc/vrchat" element={<VRCOSCSettings />} />
|
||||
<Route path="osc/vmc" element={<VMCSettings />} />
|
||||
<Route path="interface" element={<InterfaceSettings />} />
|
||||
</Route>
|
||||
<Route
|
||||
path="/onboarding"
|
||||
element={
|
||||
<OnboardingLayout>
|
||||
<Outlet />
|
||||
</OnboardingLayout>
|
||||
}
|
||||
>
|
||||
<Route path="home" element={<HomePage />} />
|
||||
<Route path="wifi-creds" element={<WifiCredsPage />} />
|
||||
<Route path="connect-trackers" element={<ConnectTrackersPage />} />
|
||||
<Route
|
||||
path="calibration-tutorial"
|
||||
element={<CalibrationTutorialPage />}
|
||||
/>
|
||||
<Route
|
||||
path="assign-tutorial"
|
||||
element={<AssignmentTutorialPage />}
|
||||
/>
|
||||
<Route path="trackers-assign" element={<TrackersAssignPage />} />
|
||||
<Route path="enter-vr" element={<EnterVRPage />} />
|
||||
<Route path="mounting/choose" element={<MountingChoose />}></Route>
|
||||
<Route path="mounting/auto" element={<AutomaticMountingPage />} />
|
||||
<Route path="mounting/manual" element={<ManualMountingPage />} />
|
||||
<Route path="reset-tutorial" element={<ResetTutorialPage />} />
|
||||
<Route
|
||||
path="body-proportions/choose"
|
||||
element={<ProportionsChoose />}
|
||||
/>
|
||||
<Route
|
||||
path="body-proportions/auto"
|
||||
element={<AutomaticProportionsPage />}
|
||||
/>
|
||||
<Route
|
||||
path="body-proportions/manual"
|
||||
element={<ManualProportionsPage />}
|
||||
/>
|
||||
<Route path="done" element={<DonePage />} />
|
||||
</Route>
|
||||
<Route path="*" element={<TopBar></TopBar>}></Route>
|
||||
</Route>
|
||||
<Route
|
||||
path="/onboarding"
|
||||
element={
|
||||
<OnboardingLayout>
|
||||
<Outlet></Outlet>
|
||||
</OnboardingLayout>
|
||||
}
|
||||
>
|
||||
<Route path="home" element={<HomePage />} />
|
||||
<Route path="wifi-creds" element={<WifiCredsPage />} />
|
||||
<Route path="connect-trackers" element={<ConnectTrackersPage />} />
|
||||
<Route
|
||||
path="calibration-tutorial"
|
||||
element={<CalibrationTutorialPage />}
|
||||
/>
|
||||
<Route path="assign-tutorial" element={<AssignmentTutorialPage />} />
|
||||
<Route path="trackers-assign" element={<TrackersAssignPage />} />
|
||||
<Route path="enter-vr" element={<EnterVRPage />} />
|
||||
<Route path="mounting/choose" element={<MountingChoose />}></Route>
|
||||
<Route path="mounting/auto" element={<AutomaticMountingPage />} />
|
||||
<Route path="mounting/manual" element={<ManualMountingPage />} />
|
||||
<Route path="reset-tutorial" element={<ResetTutorialPage />} />
|
||||
<Route
|
||||
path="body-proportions/choose"
|
||||
element={<ProportionsChoose />}
|
||||
/>
|
||||
<Route
|
||||
path="body-proportions/auto"
|
||||
element={<AutomaticProportionsPage />}
|
||||
/>
|
||||
<Route
|
||||
path="body-proportions/manual"
|
||||
element={<ManualProportionsPage />}
|
||||
/>
|
||||
<Route path="done" element={<DonePage />} />
|
||||
</Route>
|
||||
<Route path="*" element={<TopBar></TopBar>}></Route>
|
||||
</Routes>
|
||||
</>
|
||||
);
|
||||
@@ -166,19 +172,19 @@ export default function App() {
|
||||
setUpdateFound(releases[0].tag_name);
|
||||
}
|
||||
}
|
||||
fetchReleases().catch(() => console.error('failed to fetch releases'));
|
||||
fetchReleases().catch(() => error('failed to fetch releases'));
|
||||
}, []);
|
||||
|
||||
if (window.__TAURI_METADATA__) {
|
||||
useEffect(() => {
|
||||
os.type()
|
||||
.then((type) => document.body.classList.add(type.toLowerCase()))
|
||||
.catch(console.error);
|
||||
.catch(error);
|
||||
|
||||
return () => {
|
||||
os.type()
|
||||
.then((type) => document.body.classList.remove(type.toLowerCase()))
|
||||
.catch(console.error);
|
||||
.catch(error);
|
||||
};
|
||||
}, []);
|
||||
}
|
||||
@@ -192,6 +198,7 @@ export default function App() {
|
||||
if ('stderr' === eventType) {
|
||||
// This strange invocation is what lets us lose the line information in the console
|
||||
// See more here: https://stackoverflow.com/a/48994308
|
||||
// These two are fine to keep with console.log, they are server logs
|
||||
setTimeout(
|
||||
console.log.bind(
|
||||
console,
|
||||
@@ -210,11 +217,11 @@ export default function App() {
|
||||
)
|
||||
);
|
||||
} else if (eventType === 'error') {
|
||||
console.error('Error: %s', s);
|
||||
error('Error: %s', s);
|
||||
} else if (eventType === 'terminated') {
|
||||
console.error('Server Process Terminated: %s', s);
|
||||
error('Server Process Terminated: %s', s);
|
||||
} else if (eventType === 'other') {
|
||||
console.log('Other process event: %s', s);
|
||||
log('Other process event: %s', s);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
51
gui/src/AppLayout.tsx
Normal file
@@ -0,0 +1,51 @@
|
||||
import { useLayoutEffect } from 'react';
|
||||
import { useConfig } from './hooks/config';
|
||||
import { Outlet, useNavigate } from 'react-router-dom';
|
||||
|
||||
export function AppLayout() {
|
||||
const { loading, config } = useConfig();
|
||||
const navigate = useNavigate();
|
||||
|
||||
useLayoutEffect(() => {
|
||||
if (loading || !config) return;
|
||||
if (config.theme !== undefined) {
|
||||
document.documentElement.dataset.theme = config.theme;
|
||||
}
|
||||
|
||||
if (config.fonts !== undefined) {
|
||||
document.documentElement.style.setProperty(
|
||||
'--font-name',
|
||||
config.fonts.map((x) => `"${x}"`).join(',')
|
||||
);
|
||||
}
|
||||
|
||||
if (config.textSize !== undefined) {
|
||||
document.documentElement.style.setProperty(
|
||||
'--font-size',
|
||||
`${config.textSize}rem`
|
||||
);
|
||||
}
|
||||
}, [config, loading]);
|
||||
|
||||
useLayoutEffect(() => {
|
||||
if (config && !config.doneOnboarding) {
|
||||
navigate('/onboarding/home');
|
||||
}
|
||||
}, [config?.doneOnboarding]);
|
||||
|
||||
// const location = useLocation();
|
||||
// const navigationType = useNavigationType();
|
||||
// useEffect(() => {
|
||||
// if (import.meta.env.PROD) return;
|
||||
// console.log('The current URL is', { ...location });
|
||||
// console.log('The last navigation action was', navigationType);
|
||||
// }, [location, navigationType]);
|
||||
|
||||
if (loading) return <></>;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Outlet />
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
RecordBVHStatusT,
|
||||
RpcMessage,
|
||||
} from 'solarxr-protocol';
|
||||
import { useWebsocketAPI } from '../hooks/websocket-api';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { BigButton } from './commons/BigButton';
|
||||
import { RecordIcon } from './commons/icon/RecordIcon';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useLocalization } from '@fluent/react';
|
||||
import { ClearDriftCompensationRequestT, RpcMessage } from 'solarxr-protocol';
|
||||
import { useWebsocketAPI } from '../hooks/websocket-api';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { BigButton } from './commons/BigButton';
|
||||
import { TrashIcon } from './commons/icon/TrashIcon';
|
||||
|
||||
|
||||
44
gui/src/components/ClearMountingButton.tsx
Normal file
@@ -0,0 +1,44 @@
|
||||
import { useLocalization } from '@fluent/react';
|
||||
import { ClearMountingResetRequestT, RpcMessage } from 'solarxr-protocol';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { BigButton } from './commons/BigButton';
|
||||
import { TrashIcon } from './commons/icon/TrashIcon';
|
||||
import { useTrackers } from '@/hooks/tracker';
|
||||
import { Quaternion } from 'three';
|
||||
import { QuaternionFromQuatT, similarQuaternions } from '@/maths/quaternion';
|
||||
import { useMemo } from 'react';
|
||||
|
||||
const _q = new Quaternion();
|
||||
|
||||
export function ClearMountingButton() {
|
||||
const { l10n } = useLocalization();
|
||||
const { sendRPCPacket } = useWebsocketAPI();
|
||||
const { useAssignedTrackers } = useTrackers();
|
||||
const assignedTrackers = useAssignedTrackers();
|
||||
|
||||
const trackerWithMounting = useMemo(
|
||||
() =>
|
||||
assignedTrackers.some(
|
||||
(d) =>
|
||||
!similarQuaternions(
|
||||
QuaternionFromQuatT(d?.tracker.info?.mountingResetOrientation),
|
||||
_q
|
||||
)
|
||||
),
|
||||
[assignedTrackers]
|
||||
);
|
||||
|
||||
const clearMounting = () => {
|
||||
const record = new ClearMountingResetRequestT();
|
||||
sendRPCPacket(RpcMessage.ClearMountingResetRequest, record);
|
||||
};
|
||||
|
||||
return (
|
||||
<BigButton
|
||||
text={l10n.getString('widget-clear_mounting')}
|
||||
icon={<TrashIcon width={20} />}
|
||||
onClick={clearMounting}
|
||||
disabled={!trackerWithMounting}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -6,10 +6,10 @@ import {
|
||||
RpcMessage,
|
||||
SettingsRequestT,
|
||||
} from 'solarxr-protocol';
|
||||
import { useElemSize, useLayout } from '../hooks/layout';
|
||||
import { useElemSize, useLayout } from '@/hooks/layout';
|
||||
import { Navbar } from './Navbar';
|
||||
import { TopBar } from './TopBar';
|
||||
import { useWebsocketAPI } from '../hooks/websocket-api';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { WidgetsComponent } from './WidgetsComponent';
|
||||
|
||||
export function MainLayoutRoute({
|
||||
@@ -77,7 +77,7 @@ export function MainLayoutRoute({
|
||||
>
|
||||
<div
|
||||
className={classNames(
|
||||
'flex flex-col rounded-xl w-full overflow-hidden mobile:overflow-y-auto',
|
||||
'flex flex-col rounded-xl w-full overflow-clip mobile:overflow-y-auto',
|
||||
background && 'bg-background-70'
|
||||
)}
|
||||
>
|
||||
|
||||
@@ -8,7 +8,7 @@ import { HumanIcon } from './commons/icon/HumanIcon';
|
||||
import { RulerIcon } from './commons/icon/RulerIcon';
|
||||
import { SparkleIcon } from './commons/icon/SparkleIcon';
|
||||
import { WrenchIcon } from './commons/icon/WrenchIcons';
|
||||
import { useBreakpoint } from '../hooks/breakpoint';
|
||||
import { useBreakpoint } from '@/hooks/breakpoint';
|
||||
|
||||
export function NavButton({
|
||||
to,
|
||||
|
||||
@@ -6,9 +6,9 @@ import {
|
||||
RpcMessage,
|
||||
SerialDeviceT,
|
||||
} from 'solarxr-protocol';
|
||||
import { useConfig } from '../hooks/config';
|
||||
import { useWebsocketAPI } from '../hooks/websocket-api';
|
||||
import { useWifiForm, WifiFormData } from '../hooks/wifi-form';
|
||||
import { useConfig } from '@/hooks/config';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { useWifiForm, WifiFormData } from '@/hooks/wifi-form';
|
||||
import { BaseModal } from './commons/BaseModal';
|
||||
import { Button } from './commons/Button';
|
||||
import { BulbIcon } from './commons/icon/BulbIcon';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { appWindow } from '@tauri-apps/api/window';
|
||||
import { getCurrent } from '@tauri-apps/plugin-window';
|
||||
import { ReactNode, useContext, useEffect, useState } from 'react';
|
||||
import { NavLink, useMatch } from 'react-router-dom';
|
||||
import {
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
ServerInfosRequestT,
|
||||
ServerInfosResponseT,
|
||||
} from 'solarxr-protocol';
|
||||
import { useWebsocketAPI } from '../hooks/websocket-api';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { CloseIcon } from './commons/icon/CloseIcon';
|
||||
import { MaximiseIcon } from './commons/icon/MaximiseIcon';
|
||||
import { MinimiseIcon } from './commons/icon/MinimiseIcon';
|
||||
@@ -14,11 +14,11 @@ import { SlimeVRIcon } from './commons/icon/SimevrIcon';
|
||||
import { ProgressBar } from './commons/ProgressBar';
|
||||
import { Typography } from './commons/Typography';
|
||||
import { DownloadIcon } from './commons/icon/DownloadIcon';
|
||||
import { open } from '@tauri-apps/api/shell';
|
||||
import { GH_REPO, VersionContext, DOCS_SITE } from '../App';
|
||||
import { open } from '@tauri-apps/plugin-shell';
|
||||
import { GH_REPO, VersionContext, DOCS_SITE } from '@/App';
|
||||
import classNames from 'classnames';
|
||||
import { QuestionIcon } from './commons/icon/QuestionIcon';
|
||||
import { useBreakpoint, useIsTauri } from '../hooks/breakpoint';
|
||||
import { useBreakpoint, useIsTauri } from '@/hooks/breakpoint';
|
||||
import { GearIcon } from './commons/icon/GearIcon';
|
||||
import { invoke } from '@tauri-apps/api';
|
||||
|
||||
@@ -185,13 +185,13 @@ export function TopBar({
|
||||
<>
|
||||
<div
|
||||
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
|
||||
onClick={() => appWindow.minimize()}
|
||||
onClick={() => getCurrent().minimize()}
|
||||
>
|
||||
<MinimiseIcon></MinimiseIcon>
|
||||
</div>
|
||||
<div
|
||||
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
|
||||
onClick={() => appWindow.toggleMaximize()}
|
||||
onClick={() => getCurrent().toggleMaximize()}
|
||||
>
|
||||
<MaximiseIcon></MaximiseIcon>
|
||||
</div>
|
||||
@@ -199,7 +199,7 @@ export function TopBar({
|
||||
className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7"
|
||||
onClick={async () => {
|
||||
await invoke('update_window_state');
|
||||
appWindow.close();
|
||||
getCurrent().close();
|
||||
}}
|
||||
>
|
||||
<CloseIcon></CloseIcon>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useLocalization } from '@fluent/react';
|
||||
import { useState } from 'react';
|
||||
import { SetPauseTrackingRequestT, RpcMessage } from 'solarxr-protocol';
|
||||
import { useWebsocketAPI } from '../hooks/websocket-api';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { BigButton } from './commons/BigButton';
|
||||
import { PlayIcon } from './commons/icon/PlayIcon';
|
||||
import { PauseIcon } from './commons/icon/PauseIcon';
|
||||
|
||||
@@ -3,9 +3,10 @@ import { useContext, useState } from 'react';
|
||||
import { BaseModal } from './commons/BaseModal';
|
||||
import { Button } from './commons/Button';
|
||||
import { Typography } from './commons/Typography';
|
||||
import { open } from '@tauri-apps/api/shell';
|
||||
import { open } from '@tauri-apps/plugin-shell';
|
||||
import semver from 'semver';
|
||||
import { GH_REPO, VersionContext } from '../App';
|
||||
import { GH_REPO, VersionContext } from '@/App';
|
||||
import { error } from '@/utils/logging';
|
||||
|
||||
export function VersionUpdateModal() {
|
||||
const { l10n } = useLocalization();
|
||||
@@ -24,7 +25,7 @@ export function VersionUpdateModal() {
|
||||
);
|
||||
}
|
||||
} catch {
|
||||
console.error('failed to parse new version');
|
||||
error('failed to parse new version');
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -6,21 +6,23 @@ import { ResetButton } from './home/ResetButton';
|
||||
import { OverlayWidget } from './widgets/OverlayWidget';
|
||||
import { TipBox } from './commons/TipBox';
|
||||
import { DeveloperModeWidget } from './widgets/DeveloperModeWidget';
|
||||
import { useConfig } from '../hooks/config';
|
||||
import { useConfig } from '@/hooks/config';
|
||||
import {
|
||||
ResetType,
|
||||
RpcMessage,
|
||||
SettingsRequestT,
|
||||
SettingsResponseT,
|
||||
StatusData,
|
||||
} from 'solarxr-protocol';
|
||||
import { useMemo, useState } from 'react';
|
||||
import { parseStatusToLocale, useStatusContext } from '../hooks/status-system';
|
||||
import { useWebsocketAPI } from '../hooks/websocket-api';
|
||||
import { useAppContext } from '../hooks/app';
|
||||
import { useEffect, useMemo, useState } from 'react';
|
||||
import { parseStatusToLocale, useStatusContext } from '@/hooks/status-system';
|
||||
import { useWebsocketAPI } from '@/hooks/websocket-api';
|
||||
import { useAppContext } from '@/hooks/app';
|
||||
import { ClearMountingButton } from './ClearMountingButton';
|
||||
|
||||
export function WidgetsComponent() {
|
||||
const { config } = useConfig();
|
||||
const { useRPCPacket } = useWebsocketAPI();
|
||||
const { useRPCPacket, sendRPCPacket } = useWebsocketAPI();
|
||||
const [driftCompensationEnabled, setDriftCompensationEnabled] =
|
||||
useState(false);
|
||||
const { trackers } = useAppContext();
|
||||
@@ -31,6 +33,10 @@ export function WidgetsComponent() {
|
||||
[statuses]
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
sendRPCPacket(RpcMessage.SettingsRequest, new SettingsRequestT());
|
||||
}, []);
|
||||
|
||||
useRPCPacket(RpcMessage.SettingsResponse, (settings: SettingsResponseT) => {
|
||||
if (settings.driftCompensation != null)
|
||||
setDriftCompensationEnabled(settings.driftCompensation.enabled);
|
||||
@@ -41,9 +47,8 @@ export function WidgetsComponent() {
|
||||
<div className="grid grid-cols-2 gap-2 w-full [&>*:nth-child(odd):last-of-type]:col-span-full">
|
||||
<ResetButton type={ResetType.Yaw} variant="big"></ResetButton>
|
||||
<ResetButton type={ResetType.Full} variant="big"></ResetButton>
|
||||
{config?.debug && (
|
||||
<ResetButton type={ResetType.Mounting} variant="big"></ResetButton>
|
||||
)}
|
||||
<ResetButton type={ResetType.Mounting} variant="big"></ResetButton>
|
||||
<ClearMountingButton></ClearMountingButton>
|
||||
<BVHButton></BVHButton>
|
||||
<TrackingPauseButton></TrackingPauseButton>
|
||||
{driftCompensationEnabled && (
|
||||
@@ -53,7 +58,7 @@ export function WidgetsComponent() {
|
||||
<div className="w-full">
|
||||
<OverlayWidget></OverlayWidget>
|
||||
</div>
|
||||
<div className="w-full flex flex-col max-h-[33%] gap-3 overflow-y-auto mb-2">
|
||||
<div className="w-full flex flex-col gap-3 mb-2">
|
||||
{unprioritizedStatuses.map((status) => (
|
||||
<Localized
|
||||
id={`status_system-${StatusData[status.dataType]}`}
|
||||
|
||||
14
gui/src/components/commons/A.tsx
Normal file
@@ -0,0 +1,14 @@
|
||||
import { open } from '@tauri-apps/plugin-shell';
|
||||
import { ReactNode } from 'react';
|
||||
|
||||
export function A({ href, children }: { href: string; children?: ReactNode }) {
|
||||
return (
|
||||
<a
|
||||
href="javascript:void(0)"
|
||||
onClick={() => open(href).catch(() => window.open(href, '_blank'))}
|
||||
className="underline"
|
||||
>
|
||||
{children}
|
||||
</a>
|
||||
);
|
||||
}
|
||||
@@ -19,7 +19,7 @@ export function BigButton({
|
||||
{...props}
|
||||
type="button"
|
||||
className={classNames(
|
||||
'flex flex-col justify-center rounded-md py-3 gap-1 px-3 cursor-pointer items-center ',
|
||||
'flex flex-col justify-center rounded-md py-3 gap-1 px-3 cursor-pointer items-center',
|
||||
{
|
||||
'bg-background-60 hover:bg-background-60 cursor-not-allowed text-background-40 fill-background-40':
|
||||
disabled,
|
||||
@@ -30,7 +30,7 @@ export function BigButton({
|
||||
)}
|
||||
>
|
||||
<div className="flex justify-around">{icon}</div>
|
||||
<div className="flex text-default flex-grow">{text}</div>
|
||||
<div className="flex text-default flex-grow items-center">{text}</div>
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ import {
|
||||
useState,
|
||||
} from 'react';
|
||||
import { BodyPart, TrackerDataT } from 'solarxr-protocol';
|
||||
import { FlatDeviceTracker } from '../../hooks/app';
|
||||
import { useTracker } from '../../hooks/tracker';
|
||||
import { FlatDeviceTracker } from '@/hooks/app';
|
||||
import { useTracker } from '@/hooks/tracker';
|
||||
import { PersonFrontIcon } from './PersonFrontIcon';
|
||||
|
||||
interface SlotDot {
|
||||
|
||||
@@ -2,7 +2,7 @@ import classNames from 'classnames';
|
||||
import { ReactNode, useLayoutEffect, useRef, useState } from 'react';
|
||||
import { BodyPart } from 'solarxr-protocol';
|
||||
import { PersonFrontIcon } from './PersonFrontIcon';
|
||||
import { useBreakpoint } from '../../hooks/breakpoint';
|
||||
import { useBreakpoint } from '@/hooks/breakpoint';
|
||||
|
||||
export function BodyInteractions({
|
||||
leftControls,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { BodyPart } from 'solarxr-protocol';
|
||||
import { useLocaleConfig } from '../../i18n/config';
|
||||
import { useLocaleConfig } from '@/i18n/config';
|
||||
import { AnkleIcon } from './icon/AnkleIcon';
|
||||
import { ChestIcon } from './icon/ChestIcon';
|
||||
import { ControllerIcon } from './icon/ControllerIcon';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import classNames from 'classnames';
|
||||
import React, { ReactNode, useMemo } from 'react';
|
||||
import { NavLink } from 'react-router-dom';
|
||||
import { LoaderIcon } from './icon/LoaderIcon';
|
||||
import { LoaderIcon, SlimeState } from './icon/LoaderIcon';
|
||||
|
||||
function ButtonContent({
|
||||
loading,
|
||||
@@ -29,7 +29,7 @@ function ButtonContent({
|
||||
</div>
|
||||
{loading && (
|
||||
<div className="absolute top-0 left-0 w-full h-full flex justify-center items-center fill-background-10">
|
||||
<LoaderIcon youSpinMeRightRoundBabyRightRound></LoaderIcon>
|
||||
<LoaderIcon slimeState={SlimeState.JUMPY}></LoaderIcon>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
|
||||
@@ -6,11 +6,12 @@ import {
|
||||
UseFormGetValues,
|
||||
useWatch,
|
||||
} from 'react-hook-form';
|
||||
import { a11yClick } from '../utils/a11y';
|
||||
import { a11yClick } from '@/utils/a11y';
|
||||
|
||||
export interface DropdownItem {
|
||||
label: string;
|
||||
value: string;
|
||||
fontName?: string;
|
||||
}
|
||||
|
||||
export type DropdownDirection = 'up' | 'down';
|
||||
@@ -130,7 +131,7 @@ export function Dropdown({
|
||||
onKeyDown={(ev) => a11yClick(ev) && setOpen((open) => !open)}
|
||||
tabIndex={0}
|
||||
>
|
||||
<div className="flex-grow">
|
||||
<div className="flex-grow text-standard">
|
||||
{items.find((i) => i.value == value)?.label || placeholder}
|
||||
</div>
|
||||
<div
|
||||
@@ -176,6 +177,7 @@ export function Dropdown({
|
||||
<ul className="py-1 text-sm flex flex-col">
|
||||
{items.map((item) => (
|
||||
<li
|
||||
style={item.fontName ? { fontFamily: item.fontName } : {}}
|
||||
className={classNames(
|
||||
'py-2 px-4 min-w-max cursor-pointer',
|
||||
variant == 'primary' &&
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { useLocalization } from '@fluent/react';
|
||||
import { useEffect, useMemo, useContext } from 'react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { useConfig } from '../../hooks/config';
|
||||
import { langs, LangContext } from '../../i18n/config';
|
||||
import { useConfig } from '@/hooks/config';
|
||||
import { langs, LangContext } from '@/i18n/config';
|
||||
import { Dropdown, DropdownDirection } from './Dropdown';
|
||||
|
||||
export function LangSelector({
|
||||
|
||||
@@ -10,14 +10,16 @@ export function NumberSelector({
|
||||
min,
|
||||
max,
|
||||
step,
|
||||
disabled = false,
|
||||
}: {
|
||||
label: string;
|
||||
label?: string;
|
||||
valueLabelFormat?: (value: number) => string;
|
||||
control: Control<any>;
|
||||
name: string;
|
||||
min: number;
|
||||
max: number;
|
||||
step: number | ((value: number, add: boolean) => number);
|
||||
disabled?: boolean;
|
||||
}) {
|
||||
const stepFn =
|
||||
typeof step === 'function'
|
||||
@@ -32,18 +34,18 @@ export function NumberSelector({
|
||||
render={({ field: { onChange, value } }) => (
|
||||
<div className="flex flex-col gap-1 w-full">
|
||||
<Typography bold>{label}</Typography>
|
||||
<div className="flex gap-2 bg-background-60 p-2 rounded-lg">
|
||||
<div className="flex gap-5 bg-background-60 p-2 rounded-lg">
|
||||
<div className="flex">
|
||||
<Button
|
||||
variant="tertiary"
|
||||
rounded
|
||||
onClick={() => onChange(stepFn(value, false))}
|
||||
disabled={stepFn(value, false) < min}
|
||||
disabled={stepFn(value, false) < min || disabled}
|
||||
>
|
||||
-
|
||||
</Button>
|
||||
</div>
|
||||
<div className="flex flex-grow justify-center items-center w-10">
|
||||
<div className="flex flex-grow justify-center items-center w-10 text-standard">
|
||||
{valueLabelFormat ? valueLabelFormat(value) : value}
|
||||
</div>
|
||||
<div className="flex">
|
||||
@@ -51,7 +53,7 @@ export function NumberSelector({
|
||||
variant="tertiary"
|
||||
rounded
|
||||
onClick={() => onChange(stepFn(value, true))}
|
||||
disabled={stepFn(value, true) > max}
|
||||
disabled={stepFn(value, true) > max || disabled}
|
||||
>
|
||||
+
|
||||
</Button>
|
||||
|
||||
@@ -12,7 +12,7 @@ export function PersonFrontIcon({ width }: { width?: number }) {
|
||||
<image
|
||||
height={'105%'}
|
||||
x="8.5%"
|
||||
href="/images/front-standing-pose.png"
|
||||
href="/images/front-standing-pose.webp"
|
||||
></image>
|
||||
{/* <path d="M84.53 224.074C83.953 230.874 88.569 266.874 90.951 280.984C92.085 287.671 95.195 298.565 94.076 304.349C92.476 312.411 92.017 322.843 92.896 328.918C93.451 332.607 95.196 349.618 92.696 355.845C91.389 359.108 88.996 375.832 88.996 375.832C82.756 391.587 86.278 390.812 86.278 390.812C88.21 393.183 91.519 390.998 91.519 390.998C92.1549 391.464 92.9388 391.682 93.7241 391.612C94.5094 391.542 95.2421 391.188 95.785 390.616C97.949 392.407 100.471 390.396 100.471 390.396C103.189 391.807 105.71 389.205 105.71 389.205C107.271 389.991 107.653 388.998 107.653 388.998C112.337 388.698 105.039 373.706 105.039 373.706C103.291 360.242 106.773 352.748 106.773 352.748C118.178 318.926 118.758 309.948 114.199 297.204C112.915 293.524 112.59 292.067 113.181 290.47C114.547 286.783 113.551 271.953 115.217 266.064C118.431 254.706 121.602 225.903 123.254 212.464C125.475 194.364 115.388 170.088 115.388 170.088C113.179 160.21 116.418 125.016 116.418 125.016C120.941 132.054 120.768 144.477 120.768 144.477C120.05 157.506 131.294 177.42 131.294 177.42C136.694 185.649 138.742 193.456 138.742 194.036C138.742 196.407 138.223 202.145 138.223 202.145L138.43 207.145C138.803 209.721 139.034 212.316 139.123 214.918C138.28 227.953 140.35 225.501 140.35 225.501C142.098 225.501 144.018 215.011 144.018 215.011C144.018 217.711 143.357 225.811 144.818 228.869C146.564 232.512 147.848 228.244 147.871 227.387C148.333 210.787 149.33 215.138 149.33 215.138C150.301 228.602 151.494 231.644 153.63 230.591C155.25 229.818 153.769 214.433 153.769 214.433C156.544 223.572 158.649 225.027 158.649 225.027C163.229 228.243 160.397 219.361 159.76 217.602C156.371 208.256 156.267 205.017 156.267 205.017C160.501 213.417 163.692 213.104 163.692 213.104C167.822 211.786 160.083 199.894 155.548 194.197C153.234 191.297 150.248 187.408 149.384 185.097C147.973 181.188 146.907 168.62 146.907 168.62C146.48 153.79 142.813 147.348 142.813 147.348C136.544 137.314 135.365 118.598 135.365 118.598L135.09 87C132.89 65.445 117.01 65.29 117.01 65.29C100.957 62.9 98.723 57.714 98.723 57.714C95.323 52.821 97.266 43.44 97.266 43.44C100.087 41.145 101.175 35.053 101.175 35.053C105.859 31.461 105.63 26.205 103.466 26.262C101.73 26.308 102.123 24.87 102.123 24.87C105.052 1.208 84.046 0 84.046 0H80.836C80.836 0 59.821 1.208 62.746 24.864C62.746 24.864 63.139 26.304 61.388 26.256C59.23 26.199 59.029 31.456 63.696 35.047C63.696 35.047 64.783 41.137 67.605 43.434C67.605 43.434 69.548 52.814 66.148 57.708C66.148 57.708 63.922 62.894 47.861 65.284C47.861 65.284 31.952 65.44 29.788 86.994L29.488 118.594C29.488 118.594 28.331 137.311 22.038 147.344C22.038 147.344 18.389 153.787 17.967 168.616C17.967 168.616 16.898 181.184 15.492 185.093C14.635 187.393 11.653 191.276 9.32001 194.193C4.74601 199.878 -2.94199 211.745 1.17101 213.1C1.17101 213.1 4.37901 213.412 8.59601 205.013C8.59601 205.013 8.50901 208.229 5.12501 217.598C4.46001 219.334 1.63201 228.217 6.21301 225.024C6.21301 225.024 8.33501 223.567 11.093 214.43C11.093 214.43 9.61301 229.815 11.26 230.588C13.412 231.642 14.586 228.599 15.56 215.135C15.56 215.135 16.56 210.787 17.017 227.384C17.04 228.241 18.295 232.509 20.049 228.866C21.529 225.811 20.864 217.727 20.864 215.008C20.864 215.008 22.764 225.498 24.536 225.498C24.536 225.498 26.624 227.95 25.767 214.915C25.628 212.786 26.375 208.415 26.467 207.142L26.667 202.142C26.667 202.142 26.146 196.417 26.146 194.033C26.146 193.442 28.194 185.646 33.594 177.417C33.594 177.417 44.826 157.494 44.103 144.474C44.103 144.474 43.947 132.051 48.47 125.013C48.47 125.013 51.68 160.205 49.505 170.085C49.505 170.085 39.405 194.358 41.629 212.461C43.27 225.937 46.435 254.702 49.657 266.061C51.34 271.938 50.345 286.761 51.693 290.467C52.301 292.076 51.982 293.558 50.675 297.201C46.141 309.947 46.718 318.925 58.123 352.745C58.123 352.745 61.633 360.239 59.859 373.703C59.859 373.703 52.572 388.695 57.239 388.995C57.239 388.995 57.604 389.988 59.182 389.202C59.182 389.202 61.703 391.802 64.427 390.393C64.427 390.393 66.95 392.407 69.106 390.613C69.6451 391.185 70.3751 391.54 71.158 391.61C71.9409 391.681 72.7225 391.462 73.355 390.995C73.355 390.995 76.664 393.227 78.63 390.809C78.63 390.809 82.123 391.584 75.904 375.829C75.904 375.829 73.522 359.129 72.209 355.842C69.709 349.621 71.474 332.57 72.009 328.915C72.87 322.806 72.409 312.398 70.835 304.346C69.684 298.575 72.801 287.679 73.952 280.981C76.317 266.881 80.952 230.881 80.373 224.071L82.288 224.743C83.0863 224.756 83.8692 224.522 84.53 224.074Z" /> */}
|
||||
<circle
|
||||
|
||||
72
gui/src/components/commons/Range.tsx
Normal file
@@ -0,0 +1,72 @@
|
||||
import classNames from 'classnames';
|
||||
import { Control, Controller } from 'react-hook-form';
|
||||
|
||||
export function Range({
|
||||
control,
|
||||
name,
|
||||
values,
|
||||
min,
|
||||
max,
|
||||
step,
|
||||
// input props
|
||||
...props
|
||||
}: {
|
||||
control: Control<any>;
|
||||
name: string;
|
||||
max: number;
|
||||
min: number;
|
||||
step: number;
|
||||
values: { value: number; label: string; defaultValue?: boolean }[];
|
||||
} & React.HTMLProps<HTMLInputElement>) {
|
||||
return (
|
||||
<Controller
|
||||
control={control}
|
||||
name={name}
|
||||
render={({ field: { onChange, ref, name, value } }) => (
|
||||
<label className="text-standard w-full text-center flex items-center flex-col">
|
||||
<input
|
||||
type="range"
|
||||
className=" text-background-10 border-accent-background-30"
|
||||
style={{
|
||||
width: 'calc(88% - 0.5vw)',
|
||||
}}
|
||||
name={name}
|
||||
ref={ref}
|
||||
value={value}
|
||||
onChange={onChange}
|
||||
list={`${name}-datalist`}
|
||||
min={min}
|
||||
max={max}
|
||||
step={step}
|
||||
{...props}
|
||||
/>
|
||||
<datalist id={`${name}-datalist`} className="">
|
||||
{values.map(({ value }, i) => (
|
||||
<option key={i}>{value}</option>
|
||||
))}
|
||||
</datalist>
|
||||
<div className="w-full flex flex-nowrap overflow-clip">
|
||||
{Array((max - min) / step + 1)
|
||||
.fill(0)
|
||||
.map((_v, i) => {
|
||||
const value = values.find(
|
||||
({ value }) => i * step + min === value
|
||||
);
|
||||
return (
|
||||
<span
|
||||
key={i}
|
||||
className={classNames(
|
||||
'flex-1',
|
||||
value?.defaultValue && 'text-status-success'
|
||||
)}
|
||||
>
|
||||
{value?.label}
|
||||
</span>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</label>
|
||||
)}
|
||||
/>
|
||||
);
|
||||
}
|
||||