summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--api/lang/zh_CN.ts4
-rw-r--r--cmake/opentrack-hier.cmake2
-rw-r--r--cmake/opentrack-i18n.cmake133
-rw-r--r--cmake/opentrack-install.cmake26
-rw-r--r--compat/lang/zh_CN.ts4
-rw-r--r--contrib-noinst/ft_tester/Makefile.am (renamed from contrib/very-important-source-code/ft_tester/Makefile.am)0
-rw-r--r--contrib-noinst/ft_tester/Makefile.in (renamed from contrib/very-important-source-code/ft_tester/Makefile.in)0
-rw-r--r--contrib-noinst/ft_tester/fttester.rc.in (renamed from contrib/very-important-source-code/ft_tester/fttester.rc.in)134
-rw-r--r--contrib-noinst/ft_tester/main.cpp (renamed from contrib/very-important-source-code/ft_tester/main.cpp)0
-rw-r--r--contrib-noinst/ft_tester/resource.h (renamed from contrib/very-important-source-code/ft_tester/resource.h)0
-rw-r--r--contrib-noinst/important-stuff/NPClient.h (renamed from contrib/very-important-source-code/important-stuff/NPClient.h)0
-rw-r--r--contrib-noinst/important-stuff/NPClient.spec (renamed from contrib/very-important-source-code/important-stuff/NPClient.spec)0
-rw-r--r--contrib-noinst/important-stuff/NPClient_dll.h (renamed from contrib/very-important-source-code/important-stuff/NPClient_dll.h)0
-rw-r--r--contrib-noinst/important-stuff/NPClient_main.c (renamed from contrib/very-important-source-code/important-stuff/NPClient_main.c)0
-rw-r--r--contrib-noinst/important-stuff/game_data.c (renamed from contrib/very-important-source-code/important-stuff/game_data.c)0
-rw-r--r--contrib-noinst/important-stuff/game_data.h (renamed from contrib/very-important-source-code/important-stuff/game_data.h)0
-rw-r--r--contrib-noinst/make-csv.pl (renamed from contrib/very-important-source-code/make-csv.pl)0
-rw-r--r--contrib-noinst/tester/Makefile.am (renamed from contrib/very-important-source-code/tester/Makefile.am)0
-rw-r--r--contrib-noinst/tester/Makefile.in (renamed from contrib/very-important-source-code/tester/Makefile.in)0
-rw-r--r--contrib-noinst/tester/main.cpp (renamed from contrib/very-important-source-code/tester/main.cpp)0
-rw-r--r--contrib-noinst/tester/npifc.c (renamed from contrib/very-important-source-code/tester/npifc.c)0
-rw-r--r--contrib-noinst/tester/npifc.h (renamed from contrib/very-important-source-code/tester/npifc.h)0
-rw-r--r--contrib-noinst/tester/npview.rc.in (renamed from contrib/very-important-source-code/tester/npview.rc.in)98
-rw-r--r--contrib-noinst/tester/resource.h (renamed from contrib/very-important-source-code/tester/resource.h)0
-rw-r--r--contrib/aruco/README.txt2
-rw-r--r--contrib/cfs3/readme.txt27
-rw-r--r--contrib/cfs3/tirviews.dllbin109568 -> 0 bytes
-rw-r--r--contrib/opentrack-231-logo.jpgbin124979 -> 0 bytes
-rw-r--r--contrib/ppjoy/ppjoy mapping for facetracknoir.jpgbin155205 -> 0 bytes
-rw-r--r--contrib/ppjoy/readme.txt24
-rw-r--r--contrib/translation-stub.sh17
-rw-r--r--csv/lang/zh_CN.ts4
-rw-r--r--cv/lang/zh_CN.ts4
-rw-r--r--dinput/lang/zh_CN.ts4
-rw-r--r--ext-falcon-bms-linear-acc/lang/zh_CN.ts4
-rw-r--r--filter-accela/lang/nl_NL.ts16
-rw-r--r--filter-accela/lang/ru_RU.ts16
-rw-r--r--filter-accela/lang/stub.ts16
-rw-r--r--filter-accela/lang/zh_CN.ts50
-rw-r--r--filter-ewma2/lang/nl_NL.ts8
-rw-r--r--filter-ewma2/lang/ru_RU.ts8
-rw-r--r--filter-ewma2/lang/stub.ts8
-rw-r--r--filter-ewma2/lang/zh_CN.ts48
-rw-r--r--filter-kalman/lang/nl_NL.ts6
-rw-r--r--filter-kalman/lang/ru_RU.ts6
-rw-r--r--filter-kalman/lang/stub.ts6
-rw-r--r--filter-kalman/lang/zh_CN.ts31
-rw-r--r--gui/lang/nl_NL.ts166
-rw-r--r--gui/lang/ru_RU.ts166
-rw-r--r--gui/lang/stub.ts166
-rw-r--r--gui/lang/zh_CN.ts343
-rw-r--r--logic/lang/zh_CN.ts4
-rw-r--r--migration/lang/zh_CN.ts4
-rw-r--r--options/lang/zh_CN.ts4
-rw-r--r--pose-widget/lang/zh_CN.ts4
-rw-r--r--proto-flightgear/lang/nl_NL.ts3
-rw-r--r--proto-flightgear/lang/ru_RU.ts3
-rw-r--r--proto-flightgear/lang/stub.ts3
-rw-r--r--proto-flightgear/lang/zh_CN.ts19
-rw-r--r--proto-fsuipc/lang/nl_NL.ts9
-rw-r--r--proto-fsuipc/lang/ru_RU.ts9
-rw-r--r--proto-fsuipc/lang/stub.ts9
-rw-r--r--proto-fsuipc/lang/zh_CN.ts42
-rw-r--r--proto-ft/lang/nl_NL.ts8
-rw-r--r--proto-ft/lang/ru_RU.ts8
-rw-r--r--proto-ft/lang/stub.ts8
-rw-r--r--proto-ft/lang/zh_CN.ts44
-rw-r--r--proto-mouse/lang/nl_NL.ts21
-rw-r--r--proto-mouse/lang/ru_RU.ts21
-rw-r--r--proto-mouse/lang/stub.ts21
-rw-r--r--proto-mouse/lang/zh_CN.ts59
-rw-r--r--proto-simconnect/ftnoir_protocol_sc.h3
-rw-r--r--proto-simconnect/lang/nl_NL.ts10
-rw-r--r--proto-simconnect/lang/ru_RU.ts10
-rw-r--r--proto-simconnect/lang/stub.ts10
-rw-r--r--proto-simconnect/lang/zh_CN.ts50
-rw-r--r--proto-udp/lang/nl_NL.ts4
-rw-r--r--proto-udp/lang/ru_RU.ts4
-rw-r--r--proto-udp/lang/stub.ts4
-rw-r--r--proto-udp/lang/zh_CN.ts26
-rw-r--r--proto-vjoystick/lang/nl_NL.ts2
-rw-r--r--proto-vjoystick/lang/ru_RU.ts2
-rw-r--r--proto-vjoystick/lang/stub.ts2
-rw-r--r--proto-vjoystick/lang/zh_CN.ts15
-rw-r--r--sdk-paths-sthalik@MSVC-windows.cmake31
-rw-r--r--spline/lang/zh_CN.ts4
-rw-r--r--tracker-aruco/lang/nl_NL.ts21
-rw-r--r--tracker-aruco/lang/ru_RU.ts21
-rw-r--r--tracker-aruco/lang/stub.ts21
-rw-r--r--tracker-aruco/lang/zh_CN.ts91
-rw-r--r--tracker-freepie-udp/lang/nl_NL.ts34
-rw-r--r--tracker-freepie-udp/lang/ru_RU.ts34
-rw-r--r--tracker-freepie-udp/lang/stub.ts34
-rw-r--r--tracker-freepie-udp/lang/zh_CN.ts79
-rw-r--r--tracker-fusion/lang/nl_NL.ts9
-rw-r--r--tracker-fusion/lang/ru_RU.ts9
-rw-r--r--tracker-fusion/lang/stub.ts9
-rw-r--r--tracker-fusion/lang/zh_CN.ts49
-rw-r--r--tracker-hatire/lang/nl_NL.ts116
-rw-r--r--tracker-hatire/lang/ru_RU.ts116
-rw-r--r--tracker-hatire/lang/stub.ts116
-rw-r--r--tracker-hatire/lang/zh_CN.ts350
-rw-r--r--tracker-hydra/lang/nl_NL.ts2
-rw-r--r--tracker-hydra/lang/ru_RU.ts2
-rw-r--r--tracker-hydra/lang/stub.ts2
-rw-r--r--tracker-hydra/lang/zh_CN.ts15
-rw-r--r--tracker-joystick/lang/nl_NL.ts63
-rw-r--r--tracker-joystick/lang/ru_RU.ts63
-rw-r--r--tracker-joystick/lang/stub.ts63
-rw-r--r--tracker-joystick/lang/zh_CN.ts79
-rw-r--r--tracker-pt/lang/nl_NL.ts95
-rw-r--r--tracker-pt/lang/ru_RU.ts95
-rw-r--r--tracker-pt/lang/stub.ts95
-rw-r--r--tracker-pt/lang/zh_CN.ts279
-rw-r--r--tracker-pt/module/lang/zh_CN.ts4
-rw-r--r--tracker-rift-025/lang/nl_NL.ts9
-rw-r--r--tracker-rift-025/lang/ru_RU.ts9
-rw-r--r--tracker-rift-025/lang/stub.ts9
-rw-r--r--tracker-rift-025/lang/zh_CN.ts46
-rw-r--r--tracker-rift-042/lang/nl_NL.ts7
-rw-r--r--tracker-rift-042/lang/ru_RU.ts7
-rw-r--r--tracker-rift-042/lang/stub.ts7
-rw-r--r--tracker-rift-042/lang/zh_CN.ts38
-rw-r--r--tracker-rift-080/lang/nl_NL.ts6
-rw-r--r--tracker-rift-080/lang/ru_RU.ts6
-rw-r--r--tracker-rift-080/lang/stub.ts6
-rw-r--r--tracker-rift-080/lang/zh_CN.ts31
-rw-r--r--tracker-rift-140/lang/nl_NL.ts6
-rw-r--r--tracker-rift-140/lang/ru_RU.ts6
-rw-r--r--tracker-rift-140/lang/stub.ts6
-rw-r--r--tracker-rift-140/lang/zh_CN.ts31
-rw-r--r--tracker-rs/lang/nl_NL.ts9
-rw-r--r--tracker-rs/lang/ru_RU.ts9
-rw-r--r--tracker-rs/lang/stub.ts9
-rw-r--r--tracker-rs/lang/zh_CN.ts53
-rw-r--r--tracker-s2bot/lang/nl_NL.ts37
-rw-r--r--tracker-s2bot/lang/ru_RU.ts37
-rw-r--r--tracker-s2bot/lang/stub.ts37
-rw-r--r--tracker-s2bot/lang/zh_CN.ts83
-rw-r--r--tracker-steamvr/lang/nl_NL.ts4
-rw-r--r--tracker-steamvr/lang/ru_RU.ts4
-rw-r--r--tracker-steamvr/lang/stub.ts4
-rw-r--r--tracker-steamvr/lang/zh_CN.ts26
-rw-r--r--tracker-test/lang/nl_NL.ts2
-rw-r--r--tracker-test/lang/ru_RU.ts2
-rw-r--r--tracker-test/lang/stub.ts2
-rw-r--r--tracker-test/lang/zh_CN.ts15
-rw-r--r--tracker-tobii-eyex/lang/nl_NL.ts18
-rw-r--r--tracker-tobii-eyex/lang/ru_RU.ts18
-rw-r--r--tracker-tobii-eyex/lang/stub.ts18
-rw-r--r--tracker-tobii-eyex/lang/zh_CN.ts56
-rw-r--r--tracker-udp/lang/nl_NL.ts22
-rw-r--r--tracker-udp/lang/ru_RU.ts22
-rw-r--r--tracker-udp/lang/stub.ts22
-rw-r--r--tracker-udp/lang/zh_CN.ts58
-rw-r--r--tracker-wii/lang/nl_NL.ts289
-rw-r--r--tracker-wii/lang/ru_RU.ts343
-rw-r--r--tracker-wii/wiiyourself/lang/zh_CN.ts4
-rw-r--r--variant/default/lang/nl_NL.ts56
-rw-r--r--variant/default/lang/ru_RU.ts56
-rw-r--r--variant/default/lang/stub.ts56
-rw-r--r--variant/default/lang/zh_CN.ts189
163 files changed, 2607 insertions, 3180 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8c408efc..7859958a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -35,7 +35,7 @@ set_property(GLOBAL PROPERTY opentrack-all-source-dirs "")
set(opentrack_all-translations "" CACHE STRING "Leave empty for default")
if(".${opentrack_all-translations}" STREQUAL ".")
- set(opentrack_all-translations "nl_NL;ru_RU;stub")
+ set(opentrack_all-translations "nl_NL;ru_RU;stub;zh_CN")
endif()
include(opentrack-word-size)
@@ -71,4 +71,4 @@ endfunction()
otr_add_subdirs()
otr_merge_translations()
-install_sources()
+#install_sources()
diff --git a/api/lang/zh_CN.ts b/api/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/api/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/cmake/opentrack-hier.cmake b/cmake/opentrack-hier.cmake
index 6bfee1a1..7a0659c6 100644
--- a/cmake/opentrack-hier.cmake
+++ b/cmake/opentrack-hier.cmake
@@ -51,8 +51,6 @@ function(otr_setup_refresh_install_dir)
endif()
endfunction()
-otr_setup_refresh_install_dir()
-
set(opentrack-contrib-pfx "${opentrack-doc-pfx}/contrib")
set(opentrack-binary-suffix "")
diff --git a/cmake/opentrack-i18n.cmake b/cmake/opentrack-i18n.cmake
index 7005187c..16530e1e 100644
--- a/cmake/opentrack-i18n.cmake
+++ b/cmake/opentrack-i18n.cmake
@@ -1,61 +1,72 @@
-function(otr_i18n_for_target_directory n)
- get_property(variant GLOBAL PROPERTY opentrack-variant)
- if(NOT ".${variant}" STREQUAL "default")
- set(force-skip-update TRUE)
- else()
- set(force-skip-update FALSE)
- endif()
-
- set(k "opentrack-${n}")
-
- get_property(lupdate-binary TARGET "${Qt5_LUPDATE_EXECUTABLE}" PROPERTY IMPORTED_LOCATION)
-
- foreach(i ${opentrack_all-translations})
- set(t "${CMAKE_CURRENT_SOURCE_DIR}/lang/${i}.ts")
- set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" PROPERTY CLEAN_NO_CUSTOM 1)
- if(maybe-skip-update OR NOT opentrack_disable-i18n-update)
- add_custom_command(OUTPUT "${t}"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_SOURCE_DIR}/lang"
- COMMAND "${lupdate-binary}" -silent -recursive -no-obsolete -locations relative . -ts "${t}"
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- DEPENDS ${${k}-cc} ${${k}-hh} ${${k}-ui} ${${k}-rc}
- COMMENT "Running lupdate for ${n}/${i}")
- set(target-name "i18n-lang-${i}-module-${n}")
- add_custom_target(${target-name} DEPENDS "${t}")
- endif()
- set_property(GLOBAL APPEND PROPERTY "opentrack-ts-files-${i}" "${t}")
- endforeach()
-endfunction()
-
-function(otr_merge_translations)
- install(CODE "file(REMOVE_RECURSE \"\${CMAKE_INSTALL_PREFIX}/i18n\")")
-
- set(all-qm-files "")
-
- foreach(i ${opentrack_all-translations})
- get_property(ts-files GLOBAL PROPERTY "opentrack-ts-files-${i}")
-
- set(ts-files_ "")
-
- foreach(k ${ts-files})
- if(EXISTS "${k}" OR NOT opentrack_disable-i18n-update)
- list(APPEND ts-files_ "${k}")
- endif()
- endforeach()
-
- get_property(lrelease-binary TARGET "${Qt5_LRELEASE_EXECUTABLE}" PROPERTY IMPORTED_LOCATION)
-
- if(NOT ".${ts-files_}" STREQUAL ".")
- set(qm-output "${CMAKE_CURRENT_BINARY_DIR}/${i}.qm")
- list(APPEND all-qm-files "${qm-output}")
- add_custom_command(OUTPUT "${qm-output}"
- COMMAND "${lrelease-binary}" -nounfinished -silent ${ts-files_} -qm "${qm-output}"
- DEPENDS ${ts-files}
- COMMENT "Running lrelease for ${i}")
- set(lang-target "i18n-lang-${i}")
- add_custom_target("${lang-target}" DEPENDS "${qm-output}")
- install(FILES "${qm-output}" DESTINATION "${opentrack-i18n-pfx}" RENAME "${i}.qm" ${opentrack-perms})
- endif()
- endforeach()
- add_custom_target(i18n ALL DEPENDS ${all-qm-files})
-endfunction()
+function(otr_i18n_for_target_directory n)
+ set(k "opentrack-${n}")
+
+ get_property(lupdate-binary TARGET "${Qt5_LUPDATE_EXECUTABLE}" PROPERTY IMPORTED_LOCATION)
+
+ foreach(i ${opentrack_all-translations})
+ set(t "${CMAKE_CURRENT_SOURCE_DIR}/lang/${i}.ts")
+ set(t2 "${CMAKE_CURRENT_BINARY_DIR}/lang/${i}.ts")
+ set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" PROPERTY CLEAN_NO_CUSTOM 1)
+ set(input ${${k}-cc} ${${k}-hh} ${${k}-ui} ${${k}-rc})
+ add_custom_command(OUTPUT "${t2}"
+ COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_CURRENT_SOURCE_DIR}/lang"
+ COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/lang"
+ COMMAND "${lupdate-binary}" .
+ -I "${CMAKE_SOURCE_DIR}"
+ -silent
+ -recursive
+ -no-obsolete
+ -locations none
+ -no-ui-lines
+ -ts "${t}"
+ COMMAND "${CMAKE_COMMAND}" -E copy "${t}" "${t2}"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+ DEPENDS ${input}
+ COMMENT "Running lupdate for ${n}/${i}")
+ set_property(SOURCE ${input} PROPERTY GENERATED TRUE)
+ set(target-name "i18n-lang-${i}-module-${n}")
+ add_custom_target(${target-name} DEPENDS "${t2}")
+ set_property(GLOBAL APPEND PROPERTY "opentrack-ts-files-${i}" "${t2}")
+ endforeach()
+endfunction()
+
+function(otr_merge_translations)
+ install(CODE "file(REMOVE_RECURSE \"\${CMAKE_INSTALL_PREFIX}/i18n\")")
+
+ get_property(variant GLOBAL PROPERTY opentrack-variant)
+ if(NOT ".${variant}" STREQUAL ".default")
+ set(force-skip-update TRUE)
+ else()
+ set(force-skip-update FALSE)
+ endif()
+
+ set(all-qm-files "")
+
+ foreach(i ${opentrack_all-translations})
+ get_property(ts-files GLOBAL PROPERTY "opentrack-ts-files-${i}")
+ get_property(lrelease-binary TARGET "${Qt5_LRELEASE_EXECUTABLE}" PROPERTY IMPORTED_LOCATION)
+
+ set(qm-output "${CMAKE_CURRENT_BINARY_DIR}/${i}.qm")
+ list(APPEND all-qm-files "${qm-output}")
+ add_custom_command(OUTPUT "${qm-output}"
+ COMMAND "${lrelease-binary}" -nounfinished -silent ${ts-files} -qm "${qm-output}"
+ DEPENDS ${ts-files}
+ COMMENT "Running lrelease for ${i}")
+ otr_escape_string(esc-qm-output "${qm-output}")
+ otr_escape_string(esc-i18n-pfx "${opentrack-i18n-pfx}")
+ otr_escape_string(esc-perms "${opentrack-perms-file}")
+ otr_escape_string(esc-name "${i}")
+
+ # this is because with i18n update disabled,
+ # the file may not exist when running `make i18n-lang-foo_FOO'
+ install(CODE "
+ if(EXISTS \"${esc-qm-output}\")
+ file(INSTALL \"${esc-qm-output}\"
+ DESTINATION \"${esc-i18n-pfx}\"
+ FILE_PERMISSIONS ${esc-perms})
+ endif()
+ ")
+ endforeach()
+
+ add_custom_target(i18n ALL DEPENDS ${all-qm-files})
+endfunction()
diff --git a/cmake/opentrack-install.cmake b/cmake/opentrack-install.cmake
index 01f59722..f50b93d9 100644
--- a/cmake/opentrack-install.cmake
+++ b/cmake/opentrack-install.cmake
@@ -15,17 +15,26 @@ macro(otr_inst_dir path)
endmacro()
function(install_sources)
- get_property(source-dirs GLOBAL PROPERTY opentrack-all-source-dirs)
- foreach(k ${source-dirs})
- file(RELATIVE_PATH dest "${CMAKE_SOURCE_DIR}" "${k}")
- otr_inst_dir("${opentrack-doc-src-pfx}" "${dest}")
- endforeach()
+ if(FALSE)
+ otr_setup_refresh_install_dir()
+ get_property(source-dirs GLOBAL PROPERTY opentrack-all-source-dirs)
+ foreach(k ${source-dirs})
+ file(RELATIVE_PATH dest "${CMAKE_SOURCE_DIR}" "${k}")
+ otr_inst_dir("${opentrack-doc-src-pfx}" "${dest}")
+ endforeach()
+ otr_inst_dir("${opentrack-doc-src-pfx}" "${CMAKE_SOURCE_DIR}/cmake")
+ otr_inst_dir("${opentrack-doc-src-pfx}" "${CMAKE_SOURCE_DIR}/bin")
+ otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/CMakeLists.txt")
+ otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/README.md")
+ otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/CONTRIBUTING.md")
+ otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/WARRANTY.txt")
+ otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/OPENTRACK-LICENSING.txt")
+ otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/AUTHORS.md")
+ endif()
endfunction()
otr_inst_dir("${opentrack-doc-pfx}" ${CMAKE_SOURCE_DIR}/3rdparty-notices)
otr_inst_dir("${opentrack-doc-pfx}" "${CMAKE_SOURCE_DIR}/settings" "${CMAKE_SOURCE_DIR}/contrib")
-otr_inst_dir("${opentrack-doc-src-pfx}" "${CMAKE_SOURCE_DIR}/cmake")
-otr_inst_dir("${opentrack-doc-src-pfx}" "${CMAKE_SOURCE_DIR}/bin")
if(WIN32)
otr_inst2(. FILES "${CMAKE_SOURCE_DIR}/bin/qt.conf")
@@ -47,6 +56,3 @@ otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/CONTRIBUTING.md"
otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/WARRANTY.txt")
otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/OPENTRACK-LICENSING.txt")
otr_inst2("${opentrack-doc-src-pfx}" FILES "${CMAKE_SOURCE_DIR}/AUTHORS.md")
-
-set(opentrack_disable-i18n-update FALSE CACHE BOOL "")
-
diff --git a/compat/lang/zh_CN.ts b/compat/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/compat/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/contrib/very-important-source-code/ft_tester/Makefile.am b/contrib-noinst/ft_tester/Makefile.am
index 02747edb..02747edb 100644
--- a/contrib/very-important-source-code/ft_tester/Makefile.am
+++ b/contrib-noinst/ft_tester/Makefile.am
diff --git a/contrib/very-important-source-code/ft_tester/Makefile.in b/contrib-noinst/ft_tester/Makefile.in
index d1fff34d..d1fff34d 100644
--- a/contrib/very-important-source-code/ft_tester/Makefile.in
+++ b/contrib-noinst/ft_tester/Makefile.in
diff --git a/contrib/very-important-source-code/ft_tester/fttester.rc.in b/contrib-noinst/ft_tester/fttester.rc.in
index 332f3c73..c072cd1b 100644
--- a/contrib/very-important-source-code/ft_tester/fttester.rc.in
+++ b/contrib-noinst/ft_tester/fttester.rc.in
@@ -1,67 +1,67 @@
-// Generated by ResEdit 1.5.9
-// Copyright (C) 2006-2011
-// http://www.resedit.net
-
-#include <windows.h>
-#include <commctrl.h>
-#include <richedit.h>
-#include "resource.h"
-
-#ifdef HAVE_CONFIG_H
- #include "../../../config.h"
-#endif
-
-
-
-
-//
-// Dialog resources
-//
-//LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-IDD_DIALOG1 DIALOGEX 0, 0, 333, 183
-STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
-CAPTION "FreeTrack client test utility v@PACKAGE_VERSION@"
-FONT 8, "Ms Shell Dlg", 400, 0, 1
-{
- DEFPUSHBUTTON "Quit", IDQUIT, 262, 153, 50, 14
- PUSHBUTTON "Start", IDC_START, 199, 153, 50, 14
- EDITTEXT IDC_YAW, 38, 15, 48, 14, ES_AUTOHSCROLL
- RTEXT "Yaw", IDC_STATIC, 12, 17, 21, 14, SS_RIGHT
- EDITTEXT IDC_PITCH, 38, 38, 48, 14, ES_AUTOHSCROLL
- RTEXT "Pitch", IDC_STATIC, 16, 40, 17, 14, SS_RIGHT
- EDITTEXT IDC_ROLL, 38, 61, 48, 14, ES_AUTOHSCROLL
- RTEXT "Roll", IDC_STATIC, 20, 63, 13, 14, SS_RIGHT
- EDITTEXT IDC_X, 38, 84, 48, 14, ES_AUTOHSCROLL
- RTEXT "X", IDC_STATIC, 27, 86, 6, 14, SS_RIGHT
- EDITTEXT IDC_Y, 38, 107, 48, 14, ES_AUTOHSCROLL
- RTEXT "Y", IDC_STATIC, 27, 109, 6, 14, SS_RIGHT
- EDITTEXT IDC_Z, 38, 130, 48, 14, ES_AUTOHSCROLL
- RTEXT "Z", IDC_STATIC, 27, 132, 6, 14, SS_RIGHT
- EDITTEXT IDC_RYAW, 137, 15, 48, 14, ES_AUTOHSCROLL
- RTEXT "Raw Yaw", IDC_STATIC, 101, 17, 32, 8, SS_RIGHT
- EDITTEXT IDC_RPITCH, 137, 38, 48, 14, ES_AUTOHSCROLL
- RTEXT "Raw Pitch", IDC_STATIC, 99, 40, 34, 8, SS_RIGHT
- EDITTEXT IDC_RROLL, 137, 61, 48, 14, ES_AUTOHSCROLL
- RTEXT "Raw Roll", IDC_STATIC, 103, 63, 30, 8, SS_RIGHT
- EDITTEXT IDC_RX, 137, 84, 48, 14, ES_AUTOHSCROLL
- RTEXT "Raw X", IDC_STATIC, 111, 86, 22, 8, SS_RIGHT
- EDITTEXT IDC_RY, 137, 107, 48, 14, ES_AUTOHSCROLL
- RTEXT "Raw Y", IDC_STATIC, 111, 109, 22, 8, SS_RIGHT
- EDITTEXT IDC_RZ, 137, 130, 48, 14, ES_AUTOHSCROLL
- RTEXT "Raw Z", IDC_STATIC, 111, 132, 22, 8, SS_RIGHT
- EDITTEXT IDC_NUM, 264, 15, 48, 14, ES_AUTOHSCROLL
- RTEXT "Frame Number", IDC_STATIC, 212, 17, 47, 8, SS_RIGHT
- EDITTEXT IDC_RES, 264, 38, 48, 14, ES_AUTOHSCROLL
- RTEXT "Camera Resolution", IDC_STATIC, 199, 40, 60, 8, SS_RIGHT
- EDITTEXT IDC_PT0, 227, 61, 85, 14, ES_AUTOHSCROLL
- RTEXT "Point 1", IDC_STATIC, 199, 63, 23, 8, SS_RIGHT
- EDITTEXT IDC_PT1, 227, 84, 85, 14, ES_AUTOHSCROLL
- RTEXT "Point 2", IDC_STATIC, 199, 86, 23, 8, SS_RIGHT
- EDITTEXT IDC_PT2, 227, 107, 85, 14, ES_AUTOHSCROLL
- RTEXT "Point 3", IDC_STATIC, 199, 109, 23, 8, SS_RIGHT
- EDITTEXT IDC_PT3, 227, 130, 85, 14, ES_AUTOHSCROLL
- RTEXT "Point 4", IDC_STATIC, 199, 132, 23, 8, SS_RIGHT
- EDITTEXT IDC_TITLE, 38, 153, 147, 14, ES_AUTOHSCROLL
- RTEXT "Title", IDC_STATIC, 19, 155, 14, 8, SS_RIGHT
-}
-
+// Generated by ResEdit 1.5.9
+// Copyright (C) 2006-2011
+// http://www.resedit.net
+
+#include <windows.h>
+#include <commctrl.h>
+#include <richedit.h>
+#include "resource.h"
+
+#ifdef HAVE_CONFIG_H
+ #include "../../../config.h"
+#endif
+
+
+
+
+//
+// Dialog resources
+//
+//LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+IDD_DIALOG1 DIALOGEX 0, 0, 333, 183
+STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
+CAPTION "FreeTrack client test utility v@PACKAGE_VERSION@"
+FONT 8, "Ms Shell Dlg", 400, 0, 1
+{
+ DEFPUSHBUTTON "Quit", IDQUIT, 262, 153, 50, 14
+ PUSHBUTTON "Start", IDC_START, 199, 153, 50, 14
+ EDITTEXT IDC_YAW, 38, 15, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Yaw", IDC_STATIC, 12, 17, 21, 14, SS_RIGHT
+ EDITTEXT IDC_PITCH, 38, 38, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Pitch", IDC_STATIC, 16, 40, 17, 14, SS_RIGHT
+ EDITTEXT IDC_ROLL, 38, 61, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Roll", IDC_STATIC, 20, 63, 13, 14, SS_RIGHT
+ EDITTEXT IDC_X, 38, 84, 48, 14, ES_AUTOHSCROLL
+ RTEXT "X", IDC_STATIC, 27, 86, 6, 14, SS_RIGHT
+ EDITTEXT IDC_Y, 38, 107, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Y", IDC_STATIC, 27, 109, 6, 14, SS_RIGHT
+ EDITTEXT IDC_Z, 38, 130, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Z", IDC_STATIC, 27, 132, 6, 14, SS_RIGHT
+ EDITTEXT IDC_RYAW, 137, 15, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Raw Yaw", IDC_STATIC, 101, 17, 32, 8, SS_RIGHT
+ EDITTEXT IDC_RPITCH, 137, 38, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Raw Pitch", IDC_STATIC, 99, 40, 34, 8, SS_RIGHT
+ EDITTEXT IDC_RROLL, 137, 61, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Raw Roll", IDC_STATIC, 103, 63, 30, 8, SS_RIGHT
+ EDITTEXT IDC_RX, 137, 84, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Raw X", IDC_STATIC, 111, 86, 22, 8, SS_RIGHT
+ EDITTEXT IDC_RY, 137, 107, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Raw Y", IDC_STATIC, 111, 109, 22, 8, SS_RIGHT
+ EDITTEXT IDC_RZ, 137, 130, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Raw Z", IDC_STATIC, 111, 132, 22, 8, SS_RIGHT
+ EDITTEXT IDC_NUM, 264, 15, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Frame Number", IDC_STATIC, 212, 17, 47, 8, SS_RIGHT
+ EDITTEXT IDC_RES, 264, 38, 48, 14, ES_AUTOHSCROLL
+ RTEXT "Camera Resolution", IDC_STATIC, 199, 40, 60, 8, SS_RIGHT
+ EDITTEXT IDC_PT0, 227, 61, 85, 14, ES_AUTOHSCROLL
+ RTEXT "Point 1", IDC_STATIC, 199, 63, 23, 8, SS_RIGHT
+ EDITTEXT IDC_PT1, 227, 84, 85, 14, ES_AUTOHSCROLL
+ RTEXT "Point 2", IDC_STATIC, 199, 86, 23, 8, SS_RIGHT
+ EDITTEXT IDC_PT2, 227, 107, 85, 14, ES_AUTOHSCROLL
+ RTEXT "Point 3", IDC_STATIC, 199, 109, 23, 8, SS_RIGHT
+ EDITTEXT IDC_PT3, 227, 130, 85, 14, ES_AUTOHSCROLL
+ RTEXT "Point 4", IDC_STATIC, 199, 132, 23, 8, SS_RIGHT
+ EDITTEXT IDC_TITLE, 38, 153, 147, 14, ES_AUTOHSCROLL
+ RTEXT "Title", IDC_STATIC, 19, 155, 14, 8, SS_RIGHT
+}
+
diff --git a/contrib/very-important-source-code/ft_tester/main.cpp b/contrib-noinst/ft_tester/main.cpp
index a737f88f..a737f88f 100644
--- a/contrib/very-important-source-code/ft_tester/main.cpp
+++ b/contrib-noinst/ft_tester/main.cpp
diff --git a/contrib/very-important-source-code/ft_tester/resource.h b/contrib-noinst/ft_tester/resource.h
index 8bba17b4..8bba17b4 100644
--- a/contrib/very-important-source-code/ft_tester/resource.h
+++ b/contrib-noinst/ft_tester/resource.h
diff --git a/contrib/very-important-source-code/important-stuff/NPClient.h b/contrib-noinst/important-stuff/NPClient.h
index 770e1c71..770e1c71 100644
--- a/contrib/very-important-source-code/important-stuff/NPClient.h
+++ b/contrib-noinst/important-stuff/NPClient.h
diff --git a/contrib/very-important-source-code/important-stuff/NPClient.spec b/contrib-noinst/important-stuff/NPClient.spec
index 7fe5f1b4..7fe5f1b4 100644
--- a/contrib/very-important-source-code/important-stuff/NPClient.spec
+++ b/contrib-noinst/important-stuff/NPClient.spec
diff --git a/contrib/very-important-source-code/important-stuff/NPClient_dll.h b/contrib-noinst/important-stuff/NPClient_dll.h
index b0bab5db..b0bab5db 100644
--- a/contrib/very-important-source-code/important-stuff/NPClient_dll.h
+++ b/contrib-noinst/important-stuff/NPClient_dll.h
diff --git a/contrib/very-important-source-code/important-stuff/NPClient_main.c b/contrib-noinst/important-stuff/NPClient_main.c
index f892f89e..f892f89e 100644
--- a/contrib/very-important-source-code/important-stuff/NPClient_main.c
+++ b/contrib-noinst/important-stuff/NPClient_main.c
diff --git a/contrib/very-important-source-code/important-stuff/game_data.c b/contrib-noinst/important-stuff/game_data.c
index 48774187..48774187 100644
--- a/contrib/very-important-source-code/important-stuff/game_data.c
+++ b/contrib-noinst/important-stuff/game_data.c
diff --git a/contrib/very-important-source-code/important-stuff/game_data.h b/contrib-noinst/important-stuff/game_data.h
index b71f7a15..b71f7a15 100644
--- a/contrib/very-important-source-code/important-stuff/game_data.h
+++ b/contrib-noinst/important-stuff/game_data.h
diff --git a/contrib/very-important-source-code/make-csv.pl b/contrib-noinst/make-csv.pl
index 5dc265f8..5dc265f8 100644
--- a/contrib/very-important-source-code/make-csv.pl
+++ b/contrib-noinst/make-csv.pl
diff --git a/contrib/very-important-source-code/tester/Makefile.am b/contrib-noinst/tester/Makefile.am
index e025209a..e025209a 100644
--- a/contrib/very-important-source-code/tester/Makefile.am
+++ b/contrib-noinst/tester/Makefile.am
diff --git a/contrib/very-important-source-code/tester/Makefile.in b/contrib-noinst/tester/Makefile.in
index cc49d754..cc49d754 100644
--- a/contrib/very-important-source-code/tester/Makefile.in
+++ b/contrib-noinst/tester/Makefile.in
diff --git a/contrib/very-important-source-code/tester/main.cpp b/contrib-noinst/tester/main.cpp
index 95ca0d9b..95ca0d9b 100644
--- a/contrib/very-important-source-code/tester/main.cpp
+++ b/contrib-noinst/tester/main.cpp
diff --git a/contrib/very-important-source-code/tester/npifc.c b/contrib-noinst/tester/npifc.c
index b036464e..b036464e 100644
--- a/contrib/very-important-source-code/tester/npifc.c
+++ b/contrib-noinst/tester/npifc.c
diff --git a/contrib/very-important-source-code/tester/npifc.h b/contrib-noinst/tester/npifc.h
index d580e16d..d580e16d 100644
--- a/contrib/very-important-source-code/tester/npifc.h
+++ b/contrib-noinst/tester/npifc.h
diff --git a/contrib/very-important-source-code/tester/npview.rc.in b/contrib-noinst/tester/npview.rc.in
index 231002f1..1ab6fe48 100644
--- a/contrib/very-important-source-code/tester/npview.rc.in
+++ b/contrib-noinst/tester/npview.rc.in
@@ -1,49 +1,49 @@
-// Generated by ResEdit 1.5.9
-// Copyright (C) 2006-2011
-// http://www.resedit.net
-
-#include <windows.h>
-#include <commctrl.h>
-#include <richedit.h>
-#include "resource.h"
-
-#ifdef HAVE_CONFIG_H
- #include "../../../config.h"
-#endif
-
-
-
-//
-// Dialog resources
-//
-//LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-IDD_DIALOG1 DIALOGEX 0, 0, 379, 124
-STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
-CAPTION "NPTest v@PACKAGE_VERSION@"
-FONT 8, "Ms Shell Dlg", 400, 0, 1
-{
- DEFPUSHBUTTON "Quit", IDQUIT, 262, 102, 50, 14
- DEFPUSHBUTTON "Start", IDSTART, 7, 102, 50, 14
- EDITTEXT IDC_PITCH, 32, 32, 51, 14, ES_AUTOHSCROLL
- LTEXT "Pitch", IDC_STATIC, 11, 34, 20, 8, SS_LEFT
- LTEXT "Yaw", IDC_STATIC, 11, 59, 20, 8, SS_LEFT
- EDITTEXT IDC_YAW, 32, 57, 51, 14, ES_AUTOHSCROLL
- LTEXT "Roll", IDC_STATIC, 11, 84, 20, 8, SS_LEFT
- EDITTEXT IDC_ROLL, 32, 82, 51, 14, ES_AUTOHSCROLL
- LTEXT "X", IDC_STATIC, 101, 35, 6, 8, SS_LEFT
- EDITTEXT IDC_X1, 112, 32, 51, 14, ES_AUTOHSCROLL
- LTEXT "Y", IDC_STATIC, 101, 60, 6, 8, SS_LEFT
- EDITTEXT IDC_Y1, 112, 57, 51, 14, ES_AUTOHSCROLL
- LTEXT "Z", IDC_STATIC, 101, 85, 6, 8, SS_LEFT
- EDITTEXT IDC_Z1, 112, 82, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_X2, 172, 32, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_Y2, 172, 57, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_Z2, 172, 82, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_X3, 232, 32, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_Y3, 232, 57, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_Z3, 232, 82, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_S, 292, 32, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_F, 292, 57, 51, 14, ES_AUTOHSCROLL
- EDITTEXT IDC_APPID, 32, 12, 51, 12, ES_AUTOHSCROLL
- LTEXT "ID", IDC_STATIC, 17, 14, 8, 8, SS_LEFT
-}
+// Generated by ResEdit 1.5.9
+// Copyright (C) 2006-2011
+// http://www.resedit.net
+
+#include <windows.h>
+#include <commctrl.h>
+#include <richedit.h>
+#include "resource.h"
+
+#ifdef HAVE_CONFIG_H
+ #include "../../../config.h"
+#endif
+
+
+
+//
+// Dialog resources
+//
+//LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+IDD_DIALOG1 DIALOGEX 0, 0, 379, 124
+STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
+CAPTION "NPTest v@PACKAGE_VERSION@"
+FONT 8, "Ms Shell Dlg", 400, 0, 1
+{
+ DEFPUSHBUTTON "Quit", IDQUIT, 262, 102, 50, 14
+ DEFPUSHBUTTON "Start", IDSTART, 7, 102, 50, 14
+ EDITTEXT IDC_PITCH, 32, 32, 51, 14, ES_AUTOHSCROLL
+ LTEXT "Pitch", IDC_STATIC, 11, 34, 20, 8, SS_LEFT
+ LTEXT "Yaw", IDC_STATIC, 11, 59, 20, 8, SS_LEFT
+ EDITTEXT IDC_YAW, 32, 57, 51, 14, ES_AUTOHSCROLL
+ LTEXT "Roll", IDC_STATIC, 11, 84, 20, 8, SS_LEFT
+ EDITTEXT IDC_ROLL, 32, 82, 51, 14, ES_AUTOHSCROLL
+ LTEXT "X", IDC_STATIC, 101, 35, 6, 8, SS_LEFT
+ EDITTEXT IDC_X1, 112, 32, 51, 14, ES_AUTOHSCROLL
+ LTEXT "Y", IDC_STATIC, 101, 60, 6, 8, SS_LEFT
+ EDITTEXT IDC_Y1, 112, 57, 51, 14, ES_AUTOHSCROLL
+ LTEXT "Z", IDC_STATIC, 101, 85, 6, 8, SS_LEFT
+ EDITTEXT IDC_Z1, 112, 82, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_X2, 172, 32, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_Y2, 172, 57, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_Z2, 172, 82, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_X3, 232, 32, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_Y3, 232, 57, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_Z3, 232, 82, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_S, 292, 32, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_F, 292, 57, 51, 14, ES_AUTOHSCROLL
+ EDITTEXT IDC_APPID, 32, 12, 51, 12, ES_AUTOHSCROLL
+ LTEXT "ID", IDC_STATIC, 17, 14, 8, 8, SS_LEFT
+}
diff --git a/contrib/very-important-source-code/tester/resource.h b/contrib-noinst/tester/resource.h
index 328d9cb7..328d9cb7 100644
--- a/contrib/very-important-source-code/tester/resource.h
+++ b/contrib-noinst/tester/resource.h
diff --git a/contrib/aruco/README.txt b/contrib/aruco/README.txt
new file mode 100644
index 00000000..8029a6e3
--- /dev/null
+++ b/contrib/aruco/README.txt
@@ -0,0 +1,2 @@
+Note, the utility only creates .bmp files. Trying to produce a `.png` or jpeg
+file will make it error out.
diff --git a/contrib/cfs3/readme.txt b/contrib/cfs3/readme.txt
deleted file mode 100644
index e51cebfa..00000000
--- a/contrib/cfs3/readme.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-FaceTrackNoIR for
-
- * Combat Flight Simulator 3 (also works for Over Flanders Fields)
- * Wings of War
- * NASCAR Racing Season 2003
- * Colin McRae Rally 4
- * Race Driver 2
- * F1 Challenge
- * Richard Burns Rally
-
-FaceTrackNoIR was made compatible with these programs with the help of the functions TrackIR provides in the dll TIRViews.dll.
-This dll can be downloaded from the TrackIR website: http://www.naturalpoint.com/trackir/06-support/support-download-software-and-manuals.html
-
-To make the functions work, copy the dll in the FaceTrackNoIR installation folder. Then tick the 'use TIRViews.dll' checkbox for the 'fake TrackIR' game protocol.
-
-Please let us know if you like the program, if you have ideas for improvements or any questions you might have.
-
-
-
-The FaceTrackNoIR team:
-
-Wim Vriend
-Ron Hendriks
-
-
-
-Disclaimer: For usage of 3rd party software like FlightGear, the FaceTrackNoIR team is not responsible. Use it at your own risk. \ No newline at end of file
diff --git a/contrib/cfs3/tirviews.dll b/contrib/cfs3/tirviews.dll
deleted file mode 100644
index a1fb306f..00000000
--- a/contrib/cfs3/tirviews.dll
+++ /dev/null
Binary files differ
diff --git a/contrib/opentrack-231-logo.jpg b/contrib/opentrack-231-logo.jpg
deleted file mode 100644
index 1b4ecc2b..00000000
--- a/contrib/opentrack-231-logo.jpg
+++ /dev/null
Binary files differ
diff --git a/contrib/ppjoy/ppjoy mapping for facetracknoir.jpg b/contrib/ppjoy/ppjoy mapping for facetracknoir.jpg
deleted file mode 100644
index 052c6899..00000000
--- a/contrib/ppjoy/ppjoy mapping for facetracknoir.jpg
+++ /dev/null
Binary files differ
diff --git a/contrib/ppjoy/readme.txt b/contrib/ppjoy/readme.txt
deleted file mode 100644
index 20c52111..00000000
--- a/contrib/ppjoy/readme.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-FaceTrackNoIR for PPJoy 'enabled' games/programs.
-
-FaceTrackNoIR was made compatible with the PPJoy virtual joystick(s), that can be used by various other programs as input.
-
-To start the PPJoy protocol-server in FaceTrackNoIR, select Virtual Joystick in the 'game-protocol' listbox. The
-settings, necessary to configure PPJoy for FaceTrackNoIR as included in the PPJoy folder, in the file
-PPJoy mapping for FaceTrackNoIR.jpg.
-
-PPJoy was made by Deon van der Westhuysen and is unfortunately not updated anymore. You can download it from the website
-http://shareware.pcmag.com/free/Miscellaneous-Utilities/PPJoy/75176.html, but possibly from others as well...
-
-
-Regards,
-
-
-The FaceTrackNoIR team:
-
-Wim Vriend
-Ron Hendriks
-
-
-
-
-Disclaimer: For usage of 3rd party software like PPJoy, the FaceTrackNoIR team is not responsible. Use it at your own risk. \ No newline at end of file
diff --git a/contrib/translation-stub.sh b/contrib/translation-stub.sh
deleted file mode 100644
index bb5ed51d..00000000
--- a/contrib/translation-stub.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-build_dir=build-msvc15
-
-set -e
-
-dir="$(dirname -- "$0")"
-cd "$dir/.."
-
-pushd "./$build_dir" >/dev/null
-cmake --build . --target i18n >/dev/null
-popd >/dev/null
-
-rel="$(git describe --tag --alw)"
-
-rm -f "$rel"
-find . -wholename "?*/lang/stub.ts" | zip -q9 "$build_dir/$rel-i18n-stub.zip" -@
diff --git a/csv/lang/zh_CN.ts b/csv/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/csv/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/cv/lang/zh_CN.ts b/cv/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/cv/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/dinput/lang/zh_CN.ts b/dinput/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/dinput/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/ext-falcon-bms-linear-acc/lang/zh_CN.ts b/ext-falcon-bms-linear-acc/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/ext-falcon-bms-linear-acc/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/filter-accela/lang/nl_NL.ts b/filter-accela/lang/nl_NL.ts
index 0f75d9fb..53f37992 100644
--- a/filter-accela/lang/nl_NL.ts
+++ b/filter-accela/lang/nl_NL.ts
@@ -4,46 +4,34 @@
<context>
<name>AccelaUICdialog_accela</name>
<message>
- <location filename="../ftnoir_accela_filtercontrols.ui" line="+29"/>
<source>Filter settings</source>
<translation type="unfinished">Filter-instellingen</translation>
</message>
<message>
- <location line="+37"/>
- <location line="+117"/>
<source>Smoothing</source>
<translation type="unfinished">Verzachten</translation>
</message>
<message>
- <location line="-24"/>
<source>Position filtering (X, Y, Z - translation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+137"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Accela by &lt;/span&gt;&lt;a href=&quot;https://github.com/sthalik&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Stanisław Halik&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;&lt;br/&gt;Thanks to &lt;/span&gt;&lt;a href=&quot;https://github.com/dbaarda&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Donovan Baarda&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;2012-2017&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Visit &lt;/span&gt;&lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Accela-in-opentrack-2.3&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;our wiki&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; for description of the settings.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-100"/>
- <location line="+35"/>
<source>0mm</source>
<translation type="unfinished">0mm</translation>
</message>
<message>
- <location line="-117"/>
- <location line="+124"/>
<source>Deadzone</source>
<translation type="unfinished">Deadzone</translation>
</message>
<message>
- <location line="-196"/>
<source>Rotation filtering (Yaw, pitch, and roll)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
- <location line="+48"/>
<source>0°</source>
<translation type="unfinished"></translation>
</message>
@@ -51,14 +39,10 @@
<context>
<name>dialog_accela</name>
<message>
- <location filename="../ftnoir_filter_accela_dialog.cpp" line="+28"/>
- <location line="+2"/>
<source>%1°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1"/>
- <location line="+2"/>
<source>%1mm</source>
<translation type="unfinished"></translation>
</message>
diff --git a/filter-accela/lang/ru_RU.ts b/filter-accela/lang/ru_RU.ts
index 3a2f2004..387f993b 100644
--- a/filter-accela/lang/ru_RU.ts
+++ b/filter-accela/lang/ru_RU.ts
@@ -4,46 +4,34 @@
<context>
<name>AccelaUICdialog_accela</name>
<message>
- <location filename="../ftnoir_accela_filtercontrols.ui" line="+29"/>
<source>Filter settings</source>
<translation>Настройка фильтра</translation>
</message>
<message>
- <location line="+37"/>
- <location line="+117"/>
<source>Smoothing</source>
<translation>Сглаживание</translation>
</message>
<message>
- <location line="-24"/>
<source>Position filtering (X, Y, Z - translation)</source>
<translation>Фильтрация смещений (X, Y, Z)</translation>
</message>
<message>
- <location line="+137"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Accela by &lt;/span&gt;&lt;a href=&quot;https://github.com/sthalik&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Stanisław Halik&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;&lt;br/&gt;Thanks to &lt;/span&gt;&lt;a href=&quot;https://github.com/dbaarda&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Donovan Baarda&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;2012-2017&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Visit &lt;/span&gt;&lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Accela-in-opentrack-2.3&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;our wiki&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; for description of the settings.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Accela-фильтр создан &lt;/span&gt;&lt;a href=&quot;https://github.com/sthalik&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Stanisław Halik&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;&apos;ом&lt;br/&gt;Спасибо за помощь &lt;/span&gt;&lt;a href=&quot;https://github.com/dbaarda&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Donovan Baarda&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;2012-2016&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Посетите &lt;/span&gt;&lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Accela-in-opentrack-2.3&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;нашу вики&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; для понимания процесса настройки.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt; {10p?} {10p?} {0057a?} {10p?} {10p?} {0057a?} {10p?} {2012-2017&lt;?} {8p?} {2.3&quot;?} {8p?} {0000f?} {8p?}</translation>
</message>
<message>
- <location line="-100"/>
- <location line="+35"/>
<source>0mm</source>
<translation>0мм</translation>
</message>
<message>
- <location line="-117"/>
- <location line="+124"/>
<source>Deadzone</source>
<translation>Мертвая зона</translation>
</message>
<message>
- <location line="-196"/>
<source>Rotation filtering (Yaw, pitch, and roll)</source>
<translation>Фильтрация поворотов (Рысканье, тангаж, крен)</translation>
</message>
<message>
- <location line="+37"/>
- <location line="+48"/>
<source>0°</source>
<translation></translation>
</message>
@@ -51,14 +39,10 @@
<context>
<name>dialog_accela</name>
<message>
- <location filename="../ftnoir_filter_accela_dialog.cpp" line="+28"/>
- <location line="+2"/>
<source>%1°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1"/>
- <location line="+2"/>
<source>%1mm</source>
<translation type="unfinished"></translation>
</message>
diff --git a/filter-accela/lang/stub.ts b/filter-accela/lang/stub.ts
index aa45009a..a8e48a37 100644
--- a/filter-accela/lang/stub.ts
+++ b/filter-accela/lang/stub.ts
@@ -4,46 +4,34 @@
<context>
<name>AccelaUICdialog_accela</name>
<message>
- <location filename="../ftnoir_accela_filtercontrols.ui" line="+29"/>
<source>Filter settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
- <location line="+117"/>
<source>Smoothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-24"/>
<source>Position filtering (X, Y, Z - translation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+137"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Accela by &lt;/span&gt;&lt;a href=&quot;https://github.com/sthalik&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Stanisław Halik&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;&lt;br/&gt;Thanks to &lt;/span&gt;&lt;a href=&quot;https://github.com/dbaarda&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Donovan Baarda&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;2012-2017&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Visit &lt;/span&gt;&lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Accela-in-opentrack-2.3&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;our wiki&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; for description of the settings.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-100"/>
- <location line="+35"/>
<source>0mm</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-117"/>
- <location line="+124"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-196"/>
<source>Rotation filtering (Yaw, pitch, and roll)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
- <location line="+48"/>
<source>0°</source>
<translation type="unfinished"></translation>
</message>
@@ -51,14 +39,10 @@
<context>
<name>dialog_accela</name>
<message>
- <location filename="../ftnoir_filter_accela_dialog.cpp" line="+28"/>
- <location line="+2"/>
<source>%1°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1"/>
- <location line="+2"/>
<source>%1mm</source>
<translation type="unfinished"></translation>
</message>
diff --git a/filter-accela/lang/zh_CN.ts b/filter-accela/lang/zh_CN.ts
new file mode 100644
index 00000000..98e95407
--- /dev/null
+++ b/filter-accela/lang/zh_CN.ts
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>AccelaUICdialog_accela</name>
+ <message>
+ <source>Filter settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Rotation filtering (Yaw, pitch, and roll)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Smoothing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>0°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Position filtering (X, Y, Z - translation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>0mm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Accela by &lt;/span&gt;&lt;a href=&quot;https://github.com/sthalik&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Stanisław Halik&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;&lt;br/&gt;Thanks to &lt;/span&gt;&lt;a href=&quot;https://github.com/dbaarda&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0057ae;&quot;&gt;Donovan Baarda&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;2012-2017&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;br/&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Visit &lt;/span&gt;&lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Accela-in-opentrack-2.3&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;our wiki&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; for description of the settings.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>dialog_accela</name>
+ <message>
+ <source>%1°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1mm</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-ewma2/lang/nl_NL.ts b/filter-ewma2/lang/nl_NL.ts
index 428b102d..4ebfae5d 100644
--- a/filter-ewma2/lang/nl_NL.ts
+++ b/filter-ewma2/lang/nl_NL.ts
@@ -4,34 +4,26 @@
<context>
<name>UICdialog_ewma</name>
<message>
- <location filename="../ftnoir_ewma_filtercontrols.ui" line="+23"/>
<source>EWMA filter settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
<source>Max</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
<source>Min</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+47"/>
<source>Curve</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
- <location line="+16"/>
- <location line="+16"/>
<source>100%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
diff --git a/filter-ewma2/lang/ru_RU.ts b/filter-ewma2/lang/ru_RU.ts
index 045c1ca2..b37f781d 100644
--- a/filter-ewma2/lang/ru_RU.ts
+++ b/filter-ewma2/lang/ru_RU.ts
@@ -4,34 +4,26 @@
<context>
<name>UICdialog_ewma</name>
<message>
- <location filename="../ftnoir_ewma_filtercontrols.ui" line="+23"/>
<source>EWMA filter settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
<source>Max</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
<source>Min</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+47"/>
<source>Curve</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
- <location line="+16"/>
- <location line="+16"/>
<source>100%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
diff --git a/filter-ewma2/lang/stub.ts b/filter-ewma2/lang/stub.ts
index 4c1ece88..79e93591 100644
--- a/filter-ewma2/lang/stub.ts
+++ b/filter-ewma2/lang/stub.ts
@@ -4,34 +4,26 @@
<context>
<name>UICdialog_ewma</name>
<message>
- <location filename="../ftnoir_ewma_filtercontrols.ui" line="+23"/>
<source>EWMA filter settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
<source>Max</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
<source>Min</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+47"/>
<source>Curve</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
- <location line="+16"/>
- <location line="+16"/>
<source>100%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
diff --git a/filter-ewma2/lang/zh_CN.ts b/filter-ewma2/lang/zh_CN.ts
new file mode 100644
index 00000000..79e93591
--- /dev/null
+++ b/filter-ewma2/lang/zh_CN.ts
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UICdialog_ewma</name>
+ <message>
+ <source>EWMA filter settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Max</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Min</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Curve</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>100%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Sans Serif&apos;; font-size:10pt; font-weight:600;&quot;&gt;Give the filter up to 60 seconds to warm up and stop shaking.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Min:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Defines the way the filter responds to fast movements;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Higher value: slower response;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Max:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Defines the way the filter responds to slow movements;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Higher value: slower response;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Pow:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Defines the filters &apos;readiness&apos; to respond to speed changes;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Higher value = &lt;/span&gt;&lt;span style=&quot; font-size:10pt; font-weight:600;&quot;&gt;faster&lt;/span&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt; response;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-kalman/lang/nl_NL.ts b/filter-kalman/lang/nl_NL.ts
index b3ecc033..9e4490a6 100644
--- a/filter-kalman/lang/nl_NL.ts
+++ b/filter-kalman/lang/nl_NL.ts
@@ -4,32 +4,26 @@
<context>
<name>KalmanUICdialog_kalman</name>
<message>
- <location filename="../ftnoir_kalman_filtercontrols.ui" line="+23"/>
<source>Kalman settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Measurement noise</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>-</source>
<translation type="unfinished"></translation>
</message>
diff --git a/filter-kalman/lang/ru_RU.ts b/filter-kalman/lang/ru_RU.ts
index 87172c8d..33a71087 100644
--- a/filter-kalman/lang/ru_RU.ts
+++ b/filter-kalman/lang/ru_RU.ts
@@ -4,32 +4,26 @@
<context>
<name>KalmanUICdialog_kalman</name>
<message>
- <location filename="../ftnoir_kalman_filtercontrols.ui" line="+23"/>
<source>Kalman settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Measurement noise</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>-</source>
<translation type="unfinished"></translation>
</message>
diff --git a/filter-kalman/lang/stub.ts b/filter-kalman/lang/stub.ts
index 4a108ec6..a572be5f 100644
--- a/filter-kalman/lang/stub.ts
+++ b/filter-kalman/lang/stub.ts
@@ -4,32 +4,26 @@
<context>
<name>KalmanUICdialog_kalman</name>
<message>
- <location filename="../ftnoir_kalman_filtercontrols.ui" line="+23"/>
<source>Kalman settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Measurement noise</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>-</source>
<translation type="unfinished"></translation>
</message>
diff --git a/filter-kalman/lang/zh_CN.ts b/filter-kalman/lang/zh_CN.ts
new file mode 100644
index 00000000..a572be5f
--- /dev/null
+++ b/filter-kalman/lang/zh_CN.ts
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>KalmanUICdialog_kalman</name>
+ <message>
+ <source>Kalman settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Measurement noise</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Rotation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/gui/lang/nl_NL.ts b/gui/lang/nl_NL.ts
index 82bb65ff..b49ba1a5 100644
--- a/gui/lang/nl_NL.ts
+++ b/gui/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>BrowseButton</name>
<message>
- <location filename="../process_detector.cpp" line="+83"/>
<source>Set executable name</source>
<translation>Toepassingsnaam instellen</translation>
</message>
<message>
- <location line="+2"/>
<source>Executable (*.exe);;All Files (*)</source>
<translation>Toepassing (*.exe);; Alle bestanden (*)</translation>
</message>
@@ -17,12 +15,10 @@
<context>
<name>keyboard_listener</name>
<message>
- <location filename="../keyboard_listener.ui" line="+14"/>
<source>Dialog</source>
<translation>Dialoogvenster</translation>
</message>
<message>
- <location line="+6"/>
<source>Press a key or close this window to remove the keybinding.</source>
<translation>Druk op een toets of sluit dit venster om de toewijzing ongedaan te maken.</translation>
</message>
@@ -30,77 +26,54 @@
<context>
<name>mapping_dialog</name>
<message>
- <location filename="../mapping-dialog.ui" line="+26"/>
<source>Mapping properties</source>
<translation type="unfinished">Verwijzings-instellingen</translation>
</message>
<message>
- <location line="+20"/>
<source>Yaw</source>
<translation type="unfinished">Yaw</translation>
</message>
<message>
- <location line="+24"/>
- <location line="+74"/>
- <location line="+95"/>
- <location line="+78"/>
- <location line="+74"/>
- <location line="+74"/>
<source>Max input</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-364"/>
- <location line="+95"/>
- <location line="+74"/>
- <location line="+78"/>
- <location line="+74"/>
- <location line="+74"/>
<source>Asymmetric mapping below</source>
<translation type="unfinished">Assymetrische verwijzingen hieronder</translation>
</message>
<message>
- <location line="-376"/>
<source>Pitch</source>
<translation type="unfinished">Pitch</translation>
</message>
<message>
- <location line="+41"/>
<source>Max output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>180°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>90°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Roll</source>
<translation type="unfinished">Rollen</translation>
</message>
<message>
- <location line="+78"/>
<source>X</source>
<translation type="unfinished">X</translation>
</message>
<message>
- <location line="+74"/>
<source>Y</source>
<translation type="unfinished">Y</translation>
</message>
<message>
- <location line="+74"/>
<source>Z</source>
<translation type="unfinished">Z</translation>
</message>
<message>
- <location filename="../mapping-dialog.cpp" line="+100"/>
<source>%1°</source>
<translation type="unfinished"></translation>
</message>
@@ -108,367 +81,234 @@
<context>
<name>options_dialog</name>
<message>
- <location filename="../settings-dialog.ui" line="+14"/>
<source>Options</source>
<translation>Opties</translation>
</message>
<message>
- <location line="+26"/>
<source>Shortcuts</source>
<translation>Sneltoetsen</translation>
</message>
<message>
- <location line="+12"/>
<source>Global shortcuts</source>
<translation>Algehele sneltoetsen</translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Center&lt;/span&gt; - use current pose as looking perfectly forward.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Toggle&lt;/span&gt; - keep looking at same spot until next toggle keypress.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Zero&lt;/span&gt; - keep looking forward until next zero keypress.&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Centreren&lt;/span&gt; - gebruik de huidige kijkrichting als ijkpunt voor het centreren.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Wisselen&lt;/span&gt; - kijkrichting blijft op dezelfde plek staan, totdat de ingestelde knop opnieuw wordt ingedrukt.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Zero&lt;/span&gt; - Kijkrichting blijft recht vooruit, totdat er op de ingestelde toets gedrukt wordt.&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+57"/>
- <location line="+32"/>
- <location line="+29"/>
- <location line="+131"/>
- <location line="+51"/>
- <location line="+13"/>
- <location line="+61"/>
- <location line="+13"/>
- <location line="+29"/>
- <location line="+13"/>
- <location line="+70"/>
- <location line="+32"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+32"/>
- <location line="+70"/>
- <location line="+51"/>
- <location line="+13"/>
<source>Bind</source>
<translation>Koppelen</translation>
</message>
<message>
- <location line="-397"/>
<source>Restart tracking</source>
<translation>Tracken opnieuw starten</translation>
</message>
<message>
- <location line="+35"/>
<source>Toggle while held</source>
<translation>Wisselen zolang knop is ingedrukt</translation>
</message>
<message>
- <location line="+39"/>
<source>Toggle tracking</source>
<translation>Schakelen tussen tracken en niet-tracken</translation>
</message>
<message>
- <location line="-298"/>
<source>Start tracking</source>
<translation>Tracken starten</translation>
</message>
<message>
- <location line="+67"/>
<source>Stop tracking</source>
<translation>Tracken stoppen</translation>
</message>
<message>
- <location line="-128"/>
<source>Center</source>
<translation>Centreren</translation>
</message>
<message>
- <location line="+163"/>
<source>Zero</source>
<translation>Weergave forceren naar perfect horizontale weergave</translation>
</message>
<message>
- <location line="+32"/>
<source>Zero while held</source>
<translation>Weergave forceren naar perfect horizontale weergave (zolang knop is ingedrukt)</translation>
</message>
<message>
- <location line="-16"/>
<source>Toggle</source>
<translation>Wisselen</translation>
</message>
<message>
- <location line="+537"/>
<source>Center at startup</source>
<translation>Automatisch centreren bij starten van tracking</translation>
</message>
<message>
- <location line="+39"/>
<source>Minimize to tray</source>
<translation>Minimaliseren naar taakbalk</translation>
</message>
<message>
- <location line="+140"/>
- <location line="+270"/>
- <location line="+121"/>
<source>Relative translation only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+102"/>
<source>Alter the centered position sent to games. Useful if the default position is too much downward or upward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+39"/>
- <location line="+87"/>
- <location line="+65"/>
<source>°</source>
<translation>°</translation>
</message>
<message>
- <location line="+112"/>
<source>Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Enabled when not aiming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
<source>Enable</source>
<translation>Inschakelen</translation>
</message>
<message>
- <location line="-1124"/>
<source>Minimize to tray on startup when enabled</source>
<translation>Programma geminimaliseerd starten (indien minimaliseren is ingeschakeld)</translation>
</message>
<message>
- <location line="-13"/>
<source>Enable tray</source>
<translation>Taakbalk inschakelen</translation>
</message>
<message>
- <location line="+112"/>
- <location line="+37"/>
- <location line="+104"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+261"/>
<source>Roll</source>
<translation>Rollen</translation>
</message>
<message>
- <location line="-657"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+55"/>
- <location line="+168"/>
<source>Pitch</source>
<translation>Pitch</translation>
</message>
<message>
- <location line="-619"/>
- <location line="+86"/>
- <location line="+55"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+300"/>
<source>Yaw</source>
<translation>Yaw</translation>
</message>
<message>
- <location line="-187"/>
<source>Custom center pose</source>
<translation>Aangepaste neutrale positie</translation>
</message>
<message>
- <location line="+70"/>
- <location line="+29"/>
- <location line="+72"/>
- <location line="+376"/>
<source> cm</source>
<translation> cm</translation>
</message>
<message>
- <location line="-1129"/>
<source>Output</source>
<translation>Uitvoer</translation>
</message>
<message>
- <location line="+839"/>
- <location line="+15"/>
<source>Relative translation</source>
<translation>Relatieve omzetting</translation>
</message>
<message>
- <location line="+15"/>
<source>With relative mode on, translation is applied after rotation. For example, rotating +180 degrees yaw and moving backwards results in moving forward as a result of that rotation.</source>
<translation>Met de relatieve modus aan, wordt de relatieve omzetting toegepast ná rotatie. Zo zal een draaiing van 180 graden op de yaw-as gevolgd door een achterwaartse beweging effectief resulteren in een voorwaartse beweging omdat de draaiing eerst is toegepast.</translation>
</message>
<message>
- <location line="+115"/>
<source>Disable for X</source>
<translation>Uitschakelen voor de X-as</translation>
</message>
<message>
- <location line="-16"/>
<source>Disable for Y</source>
<translation>Uitschakelen voor de Y-as</translation>
</message>
<message>
- <location line="+45"/>
<source>Disable for Z (for zoom on Z axis)</source>
<translation>Uitschakelen voor de Z-as (voor het zoomen met de Z-as)</translation>
</message>
<message>
- <location line="+26"/>
<source>Disable effect by yaw</source>
<translation>Effect uitschakelen bij yaw</translation>
</message>
<message>
- <location line="-13"/>
<source>Disable effect by pitch</source>
<translation>Effect uitschakelen bij pitch</translation>
</message>
<message>
- <location line="-29"/>
<source>Disable effect by roll</source>
<translation>Effect uitschakelen bij rol</translation>
</message>
<message>
- <location line="-977"/>
<source>Output remap</source>
<translation>Uitvoer aanpassen</translation>
</message>
<message>
- <location line="+540"/>
<source>Assign input axis to output axis.</source>
<translation>Ingangs-as toewijzen aan uitgangs-as.</translation>
</message>
<message>
- <location line="-497"/>
- <location line="+49"/>
- <location line="+92"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+214"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="-228"/>
<source>Invert</source>
<translation>Omkeren</translation>
</message>
<message>
- <location line="-372"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+57"/>
- <location line="+188"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="-772"/>
<source>Never translate the application interface</source>
<translation>De applicatie nooit vertaald weergeven</translation>
</message>
<message>
- <location line="+141"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+34"/>
- <location line="+37"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+269"/>
<source>Z</source>
<translation>Z</translation>
</message>
<message>
- <location line="-640"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+424"/>
<source>Disabled</source>
<translation>Uitgeschakeld</translation>
</message>
<message>
- <location line="-405"/>
<source>Destination</source>
<translation>Doel</translation>
</message>
<message>
- <location line="-313"/>
<source>Source</source>
<translation>Bron</translation>
</message>
<message>
- <location line="+626"/>
<source>CSV Data Logging</source>
<translation>CSV-data loggen</translation>
</message>
<message>
- <location line="+12"/>
<source>Enable - You will be asked for a filename whenever tracking starts</source>
<translation>Inschakalen - Er zal worden gevraagd naar een bestandsnaam wanneer het tracken start</translation>
</message>
<message>
- <location line="+230"/>
<source>Neck displacement</source>
<translation>Verschuiven van de nekpositie</translation>
</message>
<message>
- <location line="+12"/>
<source>Eyes will be offset from the pivot of rotation, assumed to be the neck. It also works with relative translation disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+78"/>
<source>Forward from center of rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
- <location line="+12"/>
<source>Game detection</source>
<translation>Speldetectie</translation>
</message>
<message>
- <location line="+15"/>
<source>Start tracking automatically when a game starts with selected profile, and stop when the game exits.</source>
<translation>Tracken automatisch starten en stoppen wanneer een spel wordt gestart en gestopt, op basis van het ingestelde profiel.</translation>
</message>
<message>
- <location filename="../settings.cpp" line="+29"/>
<source>Joy button %1</source>
<translation type="unfinished">Joystick-knop %1</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+178"/>
<source>None</source>
<translation type="unfinished">Geen</translation>
</message>
@@ -476,32 +316,26 @@
<context>
<name>process_detector</name>
<message>
- <location filename="../process_widget.ui" line="+14"/>
<source>Game detector</source>
<translation>Speldetector</translation>
</message>
<message>
- <location line="+41"/>
<source>Executable</source>
<translation>Toepassing</translation>
</message>
<message>
- <location line="+5"/>
<source>Profile</source>
<translation>Profiel</translation>
</message>
<message>
- <location line="+44"/>
<source>+</source>
<translation></translation>
</message>
<message>
- <location line="+20"/>
<source>-</source>
<translation></translation>
</message>
<message>
- <location line="-104"/>
<source>Start profiles from game executable names in this list</source>
<translation>Profielen vanuit de spelbestandsnaam in deze lijst starten</translation>
</message>
diff --git a/gui/lang/ru_RU.ts b/gui/lang/ru_RU.ts
index b67a5253..515604be 100644
--- a/gui/lang/ru_RU.ts
+++ b/gui/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>BrowseButton</name>
<message>
- <location filename="../process_detector.cpp" line="+83"/>
<source>Set executable name</source>
<translation>Укажите исполняемый файл</translation>
</message>
<message>
- <location line="+2"/>
<source>Executable (*.exe);;All Files (*)</source>
<translation></translation>
</message>
@@ -17,12 +15,10 @@
<context>
<name>keyboard_listener</name>
<message>
- <location filename="../keyboard_listener.ui" line="+14"/>
<source>Dialog</source>
<translation>Назначение клавиши</translation>
</message>
<message>
- <location line="+6"/>
<source>Press a key or close this window to remove the keybinding.</source>
<translation>Нажмите любую клавишу или закройте окно для сброса текущего значения</translation>
</message>
@@ -30,77 +26,54 @@
<context>
<name>mapping_dialog</name>
<message>
- <location filename="../mapping-dialog.ui" line="+26"/>
<source>Mapping properties</source>
<translation type="unfinished">Настройка кривых</translation>
</message>
<message>
- <location line="+20"/>
<source>Yaw</source>
<translation type="unfinished">Yaw</translation>
</message>
<message>
- <location line="+24"/>
- <location line="+74"/>
- <location line="+95"/>
- <location line="+78"/>
- <location line="+74"/>
- <location line="+74"/>
<source>Max input</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-364"/>
- <location line="+95"/>
- <location line="+74"/>
- <location line="+78"/>
- <location line="+74"/>
- <location line="+74"/>
<source>Asymmetric mapping below</source>
<translation type="unfinished">Ассиметричная настройка кривых</translation>
</message>
<message>
- <location line="-376"/>
<source>Pitch</source>
<translation type="unfinished">Pitch</translation>
</message>
<message>
- <location line="+41"/>
<source>Max output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>180°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>90°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Roll</source>
<translation type="unfinished">Roll</translation>
</message>
<message>
- <location line="+78"/>
<source>X</source>
<translation type="unfinished">X</translation>
</message>
<message>
- <location line="+74"/>
<source>Y</source>
<translation type="unfinished">Y</translation>
</message>
<message>
- <location line="+74"/>
<source>Z</source>
<translation type="unfinished">Z</translation>
</message>
<message>
- <location filename="../mapping-dialog.cpp" line="+100"/>
<source>%1°</source>
<translation type="unfinished"></translation>
</message>
@@ -108,370 +81,237 @@
<context>
<name>options_dialog</name>
<message>
- <location filename="../settings-dialog.ui" line="+14"/>
<source>Options</source>
<translation>Настройки</translation>
</message>
<message>
- <location line="+26"/>
<source>Shortcuts</source>
<translation>Горячие клавиши</translation>
</message>
<message>
- <location line="+12"/>
<source>Global shortcuts</source>
<translation>Глобальные горячие клавиши</translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Center&lt;/span&gt; - use current pose as looking perfectly forward.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Toggle&lt;/span&gt; - keep looking at same spot until next toggle keypress.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Zero&lt;/span&gt; - keep looking forward until next zero keypress.&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translatorcomment>использовать текущую позу как позу вперед</translatorcomment>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Центрирование&lt;/span&gt; - использовать текущую позу в качестве центра.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Фиксация обзора&lt;/span&gt; - фиксация обзора до следующего нажатия клавиши.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Центр&lt;/span&gt; - фиксирует взгляд в нулевой точке до следующего нажатия клавиши.&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+57"/>
- <location line="+32"/>
- <location line="+29"/>
- <location line="+131"/>
- <location line="+51"/>
- <location line="+13"/>
- <location line="+61"/>
- <location line="+13"/>
- <location line="+29"/>
- <location line="+13"/>
- <location line="+70"/>
- <location line="+32"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+32"/>
- <location line="+70"/>
- <location line="+51"/>
- <location line="+13"/>
<source>Bind</source>
<translation>Назначить</translation>
</message>
<message>
- <location line="-397"/>
<source>Restart tracking</source>
<translation>Перезапустить трекер</translation>
</message>
<message>
- <location line="+35"/>
<source>Toggle while held</source>
<translation>Фиксация обзора при удержании</translation>
</message>
<message>
- <location line="+39"/>
<source>Toggle tracking</source>
<translation>Запустить/Остановить трекер</translation>
</message>
<message>
- <location line="-298"/>
<source>Start tracking</source>
<translation>Запустить трекер</translation>
</message>
<message>
- <location line="+67"/>
<source>Stop tracking</source>
<translation>Остановить трекер</translation>
</message>
<message>
- <location line="-128"/>
<source>Center</source>
<translation>Центрирование</translation>
</message>
<message>
- <location line="+163"/>
<source>Zero</source>
<translation>Центр</translation>
</message>
<message>
- <location line="+32"/>
<source>Zero while held</source>
<translation>Центр при удержании</translation>
</message>
<message>
- <location line="-16"/>
<source>Toggle</source>
<translation>Фиксация обзора</translation>
</message>
<message>
- <location line="+537"/>
<source>Center at startup</source>
<translation>Центрирование при запуске</translation>
</message>
<message>
- <location line="+13"/>
<source>Never translate the application interface</source>
<translation></translation>
</message>
<message>
- <location line="+26"/>
<source>Minimize to tray</source>
<translation>Настройка трея</translation>
</message>
<message>
- <location line="+672"/>
- <location line="+87"/>
- <location line="+65"/>
<source>°</source>
<translation>°</translation>
</message>
<message>
- <location line="+331"/>
<source>Enable</source>
<translation>Включить</translation>
</message>
<message>
- <location line="-1124"/>
<source>Minimize to tray on startup when enabled</source>
<translation>Сворачивать в трей при запуске</translation>
</message>
<message>
- <location line="-13"/>
<source>Enable tray</source>
<translation>Добавлять opentrack в трей</translation>
</message>
<message>
- <location line="+112"/>
- <location line="+37"/>
- <location line="+104"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+261"/>
<source>Roll</source>
<translation>Roll</translation>
</message>
<message>
- <location line="-657"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+55"/>
- <location line="+168"/>
<source>Pitch</source>
<translation>Pitch</translation>
</message>
<message>
- <location line="-619"/>
- <location line="+86"/>
- <location line="+55"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+300"/>
<source>Yaw</source>
<translation>Yaw</translation>
</message>
<message>
- <location line="-187"/>
<source>Custom center pose</source>
<translation>Пользовательское положение центральной позиции</translation>
</message>
<message>
- <location line="+70"/>
- <location line="+29"/>
- <location line="+72"/>
- <location line="+376"/>
<source> cm</source>
<translation> см</translation>
</message>
<message>
- <location line="-1129"/>
<source>Output</source>
<translation>Выходной интерфейс</translation>
</message>
<message>
- <location line="+839"/>
- <location line="+15"/>
<source>Relative translation</source>
<translation>Относительный сдвиг</translation>
</message>
<message>
- <location line="+15"/>
<source>With relative mode on, translation is applied after rotation. For example, rotating +180 degrees yaw and moving backwards results in moving forward as a result of that rotation.</source>
<translation>Другой режим интерпритации поворотов.
При активированном режиме смещения по осям применяются после поворота. Важно! В этом режиме сначала выполняется поворот по оси YAW и только потом смещение по осям X, Y, Z, в противном случае у вас будут неверно интерпритироваться движения. Например: при повороте на 180 градусов по оси YAW и движении вперед, камера будет приближаться, а пилот &quot;отдаляться в спинку кресла&quot;.</translation>
</message>
<message>
- <location line="+115"/>
<source>Disable for X</source>
<translation>Откл. по оси X</translation>
</message>
<message>
- <location line="-16"/>
<source>Disable for Y</source>
<translation>Откл. по оси Y</translation>
</message>
<message>
- <location line="+45"/>
<source>Disable for Z (for zoom on Z axis)</source>
<translation>Откл. по оси Z (Ось приближения)</translation>
</message>
<message>
- <location line="+26"/>
<source>Disable effect by yaw</source>
<translation>Откл. по оси Yaw</translation>
</message>
<message>
- <location line="-13"/>
<source>Disable effect by pitch</source>
<translation>Откл. по оси Pitch</translation>
</message>
<message>
- <location line="-29"/>
<source>Disable effect by roll</source>
<translation>Откл. по оси Roll</translation>
</message>
<message>
- <location line="+73"/>
<source>Eyes will be offset from the pivot of rotation, assumed to be the neck. It also works with relative translation disabled.</source>
<translation>Смещение точки взгляда относительно оси вращения. Работает вместе с относительным сдвигом</translation>
</message>
<message>
- <location line="-1050"/>
<source>Output remap</source>
<translation>Переназначение осей</translation>
</message>
<message>
- <location line="+540"/>
<source>Assign input axis to output axis.</source>
<translation>Сопоставление исходных и игровых осей.</translation>
</message>
<message>
- <location line="-497"/>
- <location line="+49"/>
- <location line="+92"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+214"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="-228"/>
<source>Invert</source>
<translation>Инвертировать</translation>
</message>
<message>
- <location line="-372"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+57"/>
- <location line="+188"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="-631"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+34"/>
- <location line="+37"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+269"/>
<source>Z</source>
<translation>Z</translation>
</message>
<message>
- <location line="-640"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+424"/>
<source>Disabled</source>
<translation>Отключена</translation>
</message>
<message>
- <location line="-405"/>
<source>Destination</source>
<translation>Игровая ось</translation>
</message>
<message>
- <location line="-313"/>
<source>Source</source>
<translation>Исходная ось</translation>
</message>
<message>
- <location line="-92"/>
- <location line="+270"/>
- <location line="+121"/>
<source>Relative translation only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+102"/>
<source>Alter the centered position sent to games. Useful if the default position is too much downward or upward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+225"/>
<source>CSV Data Logging</source>
<translation>Логирование в формат CSV</translation>
</message>
<message>
- <location line="+12"/>
<source>Enable - You will be asked for a filename whenever tracking starts</source>
<translation>Включить - необходимо будет указать имя файла при запуске трекера</translation>
</message>
<message>
- <location line="+66"/>
<source>Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Enabled when not aiming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+140"/>
<source>Neck displacement</source>
<translation>Настройка смещения шеи, как смещения оси поворота</translation>
</message>
<message>
- <location line="+90"/>
<source>Forward from center of rotation</source>
<translation>Вперед/назад</translation>
</message>
<message>
- <location line="+27"/>
- <location line="+12"/>
<source>Game detection</source>
<translation>Захват игр</translation>
</message>
<message>
- <location line="+15"/>
<source>Start tracking automatically when a game starts with selected profile, and stop when the game exits.</source>
<translation>Данное меню позволяет автоматизировать запуск opentrack&apos;а. Как только программа определит Вашу игру - opentrack начнет отслеживать Ваши движения с выбранным профилем, а по закрытию игры - остановит его. На практике это нажатие кнопки &quot;Запустить&quot; и &quot;Остановить&quot; в автоматическом режиме.</translation>
</message>
<message>
- <location filename="../settings.cpp" line="+29"/>
<source>Joy button %1</source>
<translation type="unfinished">Джойстик #%1</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+178"/>
<source>None</source>
<translation type="unfinished">Не назначена</translation>
</message>
@@ -479,32 +319,26 @@
<context>
<name>process_detector</name>
<message>
- <location filename="../process_widget.ui" line="+14"/>
<source>Game detector</source>
<translation>Захват игр</translation>
</message>
<message>
- <location line="+41"/>
<source>Executable</source>
<translation>Файл</translation>
</message>
<message>
- <location line="+5"/>
<source>Profile</source>
<translation>Профиль</translation>
</message>
<message>
- <location line="+44"/>
<source>+</source>
<translation></translation>
</message>
<message>
- <location line="+20"/>
<source>-</source>
<translation></translation>
</message>
<message>
- <location line="-104"/>
<source>Start profiles from game executable names in this list</source>
<translation>Включить захват игр</translation>
</message>
diff --git a/gui/lang/stub.ts b/gui/lang/stub.ts
index 47e956de..e559bc28 100644
--- a/gui/lang/stub.ts
+++ b/gui/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>BrowseButton</name>
<message>
- <location filename="../process_detector.cpp" line="+83"/>
<source>Set executable name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Executable (*.exe);;All Files (*)</source>
<translation type="unfinished"></translation>
</message>
@@ -17,12 +15,10 @@
<context>
<name>keyboard_listener</name>
<message>
- <location filename="../keyboard_listener.ui" line="+14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Press a key or close this window to remove the keybinding.</source>
<translation type="unfinished"></translation>
</message>
@@ -30,77 +26,54 @@
<context>
<name>mapping_dialog</name>
<message>
- <location filename="../mapping-dialog.ui" line="+26"/>
<source>Mapping properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
- <location line="+74"/>
- <location line="+95"/>
- <location line="+78"/>
- <location line="+74"/>
- <location line="+74"/>
<source>Max input</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-364"/>
- <location line="+95"/>
- <location line="+74"/>
- <location line="+78"/>
- <location line="+74"/>
- <location line="+74"/>
<source>Asymmetric mapping below</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-376"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Max output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>180°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>90°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+78"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+74"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+74"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mapping-dialog.cpp" line="+100"/>
<source>%1°</source>
<translation type="unfinished"></translation>
</message>
@@ -108,367 +81,234 @@
<context>
<name>options_dialog</name>
<message>
- <location filename="../settings-dialog.ui" line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Shortcuts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Global shortcuts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Center&lt;/span&gt; - use current pose as looking perfectly forward.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Toggle&lt;/span&gt; - keep looking at same spot until next toggle keypress.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Zero&lt;/span&gt; - keep looking forward until next zero keypress.&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+57"/>
- <location line="+32"/>
- <location line="+29"/>
- <location line="+131"/>
- <location line="+51"/>
- <location line="+13"/>
- <location line="+61"/>
- <location line="+13"/>
- <location line="+29"/>
- <location line="+13"/>
- <location line="+70"/>
- <location line="+32"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+32"/>
- <location line="+70"/>
- <location line="+51"/>
- <location line="+13"/>
<source>Bind</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-397"/>
<source>Restart tracking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Toggle while held</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+39"/>
<source>Toggle tracking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-298"/>
<source>Start tracking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
<source>Stop tracking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-128"/>
<source>Center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+163"/>
<source>Zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>Zero while held</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-16"/>
<source>Toggle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+537"/>
<source>Center at startup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Never translate the application interface</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Minimize to tray</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>Enable tray</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Minimize to tray on startup when enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+99"/>
- <location line="+37"/>
- <location line="+104"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+261"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-657"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+55"/>
- <location line="+168"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-619"/>
- <location line="+86"/>
- <location line="+55"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+300"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-187"/>
<source>Custom center pose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+48"/>
- <location line="+87"/>
- <location line="+65"/>
<source>°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-130"/>
- <location line="+29"/>
- <location line="+72"/>
- <location line="+376"/>
<source> cm</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-59"/>
<source>Eyes will be offset from the pivot of rotation, assumed to be the neck. It also works with relative translation disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1070"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+98"/>
- <location line="+270"/>
- <location line="+121"/>
<source>Relative translation only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+102"/>
<source>Alter the centered position sent to games. Useful if the default position is too much downward or upward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+248"/>
- <location line="+15"/>
<source>Relative translation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>With relative mode on, translation is applied after rotation. For example, rotating +180 degrees yaw and moving backwards results in moving forward as a result of that rotation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Enabled when not aiming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-129"/>
<source>Disable for X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-16"/>
<source>Disable for Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+45"/>
<source>Disable for Z (for zoom on Z axis)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Disable effect by yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-13"/>
<source>Disable effect by pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-29"/>
<source>Disable effect by roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-977"/>
<source>Output remap</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+540"/>
<source>Assign input axis to output axis.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-497"/>
- <location line="+49"/>
- <location line="+92"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+214"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-228"/>
<source>Invert</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-372"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+57"/>
- <location line="+188"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-631"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+34"/>
- <location line="+37"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+269"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-640"/>
- <location line="+141"/>
- <location line="+58"/>
- <location line="+71"/>
- <location line="+50"/>
- <location line="+71"/>
- <location line="+424"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-405"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-313"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+626"/>
<source>CSV Data Logging</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Enable - You will be asked for a filename whenever tracking starts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+230"/>
<source>Neck displacement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+90"/>
<source>Forward from center of rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
- <location line="+12"/>
<source>Game detection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>Start tracking automatically when a game starts with selected profile, and stop when the game exits.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../settings.cpp" line="+29"/>
<source>Joy button %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+178"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
@@ -476,32 +316,26 @@
<context>
<name>process_detector</name>
<message>
- <location filename="../process_widget.ui" line="+14"/>
<source>Game detector</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Executable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
<source>+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>-</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-104"/>
<source>Start profiles from game executable names in this list</source>
<translation type="unfinished"></translation>
</message>
diff --git a/gui/lang/zh_CN.ts b/gui/lang/zh_CN.ts
new file mode 100644
index 00000000..be1f3d91
--- /dev/null
+++ b/gui/lang/zh_CN.ts
@@ -0,0 +1,343 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>BrowseButton</name>
+ <message>
+ <source>Set executable name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Executable (*.exe);;All Files (*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>keyboard_listener</name>
+ <message>
+ <source>Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Press a key or close this window to remove the keybinding.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>mapping_dialog</name>
+ <message>
+ <source>Mapping properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Max input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Asymmetric mapping below</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Max output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>180°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>90°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1°</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>options_dialog</name>
+ <message>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Shortcuts</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Global shortcuts</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Center&lt;/span&gt; - use current pose as looking perfectly forward.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Toggle&lt;/span&gt; - keep looking at same spot until next toggle keypress.&lt;br/&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Zero&lt;/span&gt; - keep looking forward until next zero keypress.&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Bind</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stop tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Zero</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Toggle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Zero while held</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restart tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Toggle while held</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Toggle tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Center at startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Never translate the application interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimize to tray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable tray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimize to tray on startup when enabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Output remap</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Relative translation only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Assign input axis to output axis.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Custom center pose</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Alter the centered position sent to games. Useful if the default position is too much downward or upward.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source> cm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>CSV Data Logging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable - You will be asked for a filename whenever tracking starts</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Relative translation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>With relative mode on, translation is applied after rotation. For example, rotating +180 degrees yaw and moving backwards results in moving forward as a result of that rotation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enabled when not aiming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable for Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable for X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable effect by roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable for Z (for zoom on Z axis)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable effect by pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable effect by yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Neck displacement</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Eyes will be offset from the pivot of rotation, assumed to be the neck. It also works with relative translation disabled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Forward from center of rotation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Game detection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start tracking automatically when a game starts with selected profile, and stop when the game exits.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joy button %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>process_detector</name>
+ <message>
+ <source>Game detector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start profiles from game executable names in this list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Executable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/logic/lang/zh_CN.ts b/logic/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/logic/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/migration/lang/zh_CN.ts b/migration/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/migration/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/options/lang/zh_CN.ts b/options/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/options/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/pose-widget/lang/zh_CN.ts b/pose-widget/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/pose-widget/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/proto-flightgear/lang/nl_NL.ts b/proto-flightgear/lang/nl_NL.ts
index 5bcc96b9..18ffbe20 100644
--- a/proto-flightgear/lang/nl_NL.ts
+++ b/proto-flightgear/lang/nl_NL.ts
@@ -4,17 +4,14 @@
<context>
<name>UICFGControls</name>
<message>
- <location filename="../ftnoir_fgcontrols.ui" line="+17"/>
<source>FlightGear protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+33"/>
<source>IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+113"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-flightgear/lang/ru_RU.ts b/proto-flightgear/lang/ru_RU.ts
index 7086db80..b97f008d 100644
--- a/proto-flightgear/lang/ru_RU.ts
+++ b/proto-flightgear/lang/ru_RU.ts
@@ -4,17 +4,14 @@
<context>
<name>UICFGControls</name>
<message>
- <location filename="../ftnoir_fgcontrols.ui" line="+17"/>
<source>FlightGear protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+33"/>
<source>IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+113"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-flightgear/lang/stub.ts b/proto-flightgear/lang/stub.ts
index 4bcb4ce3..688104c8 100644
--- a/proto-flightgear/lang/stub.ts
+++ b/proto-flightgear/lang/stub.ts
@@ -4,17 +4,14 @@
<context>
<name>UICFGControls</name>
<message>
- <location filename="../ftnoir_fgcontrols.ui" line="+17"/>
<source>FlightGear protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+33"/>
<source>IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+113"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-flightgear/lang/zh_CN.ts b/proto-flightgear/lang/zh_CN.ts
new file mode 100644
index 00000000..688104c8
--- /dev/null
+++ b/proto-flightgear/lang/zh_CN.ts
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UICFGControls</name>
+ <message>
+ <source>FlightGear protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>IP address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fsuipc/lang/nl_NL.ts b/proto-fsuipc/lang/nl_NL.ts
index 0ca9bf92..932f407d 100644
--- a/proto-fsuipc/lang/nl_NL.ts
+++ b/proto-fsuipc/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>FSUIPCControls</name>
<message>
- <location filename="../ftnoir_protocol_fsuipc_dialog.cpp" line="+36"/>
<source>Locate file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>FSUIPC DLL file (FSUIPC*.dll);;All Files (*)</source>
<translation type="unfinished"></translation>
</message>
@@ -17,33 +15,26 @@
<context>
<name>UICFSUIPCControls</name>
<message>
- <location filename="../ftnoir_fsuipccontrols.ui" line="+17"/>
<source>FSUIPC settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
- <location line="+12"/>
<source>Location of FSUIPC.dll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>The DLL should be located in the Modules/ directory of MS FS 2004</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-fsuipc/lang/ru_RU.ts b/proto-fsuipc/lang/ru_RU.ts
index 032906e3..77d8c0b3 100644
--- a/proto-fsuipc/lang/ru_RU.ts
+++ b/proto-fsuipc/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>FSUIPCControls</name>
<message>
- <location filename="../ftnoir_protocol_fsuipc_dialog.cpp" line="+36"/>
<source>Locate file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>FSUIPC DLL file (FSUIPC*.dll);;All Files (*)</source>
<translation type="unfinished"></translation>
</message>
@@ -17,33 +15,26 @@
<context>
<name>UICFSUIPCControls</name>
<message>
- <location filename="../ftnoir_fsuipccontrols.ui" line="+17"/>
<source>FSUIPC settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
- <location line="+12"/>
<source>Location of FSUIPC.dll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>The DLL should be located in the Modules/ directory of MS FS 2004</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-fsuipc/lang/stub.ts b/proto-fsuipc/lang/stub.ts
index 8d42554d..05fbe216 100644
--- a/proto-fsuipc/lang/stub.ts
+++ b/proto-fsuipc/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>FSUIPCControls</name>
<message>
- <location filename="../ftnoir_protocol_fsuipc_dialog.cpp" line="+36"/>
<source>Locate file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>FSUIPC DLL file (FSUIPC*.dll);;All Files (*)</source>
<translation type="unfinished"></translation>
</message>
@@ -17,33 +15,26 @@
<context>
<name>UICFSUIPCControls</name>
<message>
- <location filename="../ftnoir_fsuipccontrols.ui" line="+17"/>
<source>FSUIPC settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
- <location line="+12"/>
<source>Location of FSUIPC.dll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>The DLL should be located in the Modules/ directory of MS FS 2004</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-fsuipc/lang/zh_CN.ts b/proto-fsuipc/lang/zh_CN.ts
new file mode 100644
index 00000000..05fbe216
--- /dev/null
+++ b/proto-fsuipc/lang/zh_CN.ts
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>FSUIPCControls</name>
+ <message>
+ <source>Locate file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>FSUIPC DLL file (FSUIPC*.dll);;All Files (*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UICFSUIPCControls</name>
+ <message>
+ <source>FSUIPC settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Location of FSUIPC.dll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The DLL should be located in the Modules/ directory of MS FS 2004</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ft/lang/nl_NL.ts b/proto-ft/lang/nl_NL.ts
index fc7c8fb9..5f68fb99 100644
--- a/proto-ft/lang/nl_NL.ts
+++ b/proto-ft/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>FTControls</name>
<message>
- <location filename="../ftnoir_protocol_ft_dialog.cpp" line="+46"/>
<source>Select the desired NPClient DLL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Dll file (*.dll);;All Files (*)</source>
<translation type="unfinished"></translation>
</message>
@@ -17,32 +15,26 @@
<context>
<name>UICFTControls</name>
<message>
- <location filename="../ftnoir_ftcontrols.ui" line="+24"/>
<source>freetrack protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+78"/>
<source>Select interface</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>Disable one of the protocols if game is confused by presence of both at the same time.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
<source>Repair NPClient location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>Locate DLL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Replace the registry entry if you want to use other software with the NPClient protocol and it doesn&apos;t work automatically.
Starting tracking will again overwrite the DLL locations.</source>
diff --git a/proto-ft/lang/ru_RU.ts b/proto-ft/lang/ru_RU.ts
index af1bace7..31d0a2be 100644
--- a/proto-ft/lang/ru_RU.ts
+++ b/proto-ft/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>FTControls</name>
<message>
- <location filename="../ftnoir_protocol_ft_dialog.cpp" line="+46"/>
<source>Select the desired NPClient DLL</source>
<translation>Укажите путь до файла NPClient DLL </translation>
</message>
<message>
- <location line="+2"/>
<source>Dll file (*.dll);;All Files (*)</source>
<translation></translation>
</message>
@@ -17,32 +15,26 @@
<context>
<name>UICFTControls</name>
<message>
- <location filename="../ftnoir_ftcontrols.ui" line="+24"/>
<source>freetrack protocol settings</source>
<translation>Настройки протокола Freetrack</translation>
</message>
<message>
- <location line="+78"/>
<source>Select interface</source>
<translation>Выберите интерфейс</translation>
</message>
<message>
- <location line="+18"/>
<source>Disable one of the protocols if game is confused by presence of both at the same time.</source>
<translation>Отключите один из протоколов в случае, если при включении обоих интерфейсов игра не корректно определяет их.</translation>
</message>
<message>
- <location line="-67"/>
<source>Repair NPClient location</source>
<translation>Решение проблем с расположением NPClient&apos;а </translation>
</message>
<message>
- <location line="+15"/>
<source>Locate DLL</source>
<translation>Укажите DLL</translation>
</message>
<message>
- <location line="+13"/>
<source>Replace the registry entry if you want to use other software with the NPClient protocol and it doesn&apos;t work automatically.
Starting tracking will again overwrite the DLL locations.</source>
diff --git a/proto-ft/lang/stub.ts b/proto-ft/lang/stub.ts
index cb9eeaa3..4fb52c8c 100644
--- a/proto-ft/lang/stub.ts
+++ b/proto-ft/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>FTControls</name>
<message>
- <location filename="../ftnoir_protocol_ft_dialog.cpp" line="+46"/>
<source>Select the desired NPClient DLL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Dll file (*.dll);;All Files (*)</source>
<translation type="unfinished"></translation>
</message>
@@ -17,32 +15,26 @@
<context>
<name>UICFTControls</name>
<message>
- <location filename="../ftnoir_ftcontrols.ui" line="+24"/>
<source>freetrack protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+78"/>
<source>Select interface</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>Disable one of the protocols if game is confused by presence of both at the same time.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
<source>Repair NPClient location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>Locate DLL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Replace the registry entry if you want to use other software with the NPClient protocol and it doesn&apos;t work automatically.
Starting tracking will again overwrite the DLL locations.</source>
diff --git a/proto-ft/lang/zh_CN.ts b/proto-ft/lang/zh_CN.ts
new file mode 100644
index 00000000..63791bc8
--- /dev/null
+++ b/proto-ft/lang/zh_CN.ts
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>FTControls</name>
+ <message>
+ <source>Select the desired NPClient DLL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Dll file (*.dll);;All Files (*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UICFTControls</name>
+ <message>
+ <source>freetrack protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Repair NPClient location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Locate DLL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Replace the registry entry if you want to use other software with the NPClient protocol and it doesn&apos;t work automatically.
+
+Starting tracking will again overwrite the DLL locations.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable one of the protocols if game is confused by presence of both at the same time.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-mouse/lang/nl_NL.ts b/proto-mouse/lang/nl_NL.ts
index 1d62cb1c..68fa7065 100644
--- a/proto-mouse/lang/nl_NL.ts
+++ b/proto-mouse/lang/nl_NL.ts
@@ -4,75 +4,54 @@
<context>
<name>UICMOUSEControls</name>
<message>
- <location filename="../ftnoir_mousecontrols.ui" line="+23"/>
<source>Mouse protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Map mouse X to:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Map mouse Y to:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
- <location line="+57"/>
<source>Select Number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+57"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>X axis sensitivity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Y axis sensitivity</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-mouse/lang/ru_RU.ts b/proto-mouse/lang/ru_RU.ts
index 88d939c0..39f27c12 100644
--- a/proto-mouse/lang/ru_RU.ts
+++ b/proto-mouse/lang/ru_RU.ts
@@ -4,75 +4,54 @@
<context>
<name>UICMOUSEControls</name>
<message>
- <location filename="../ftnoir_mousecontrols.ui" line="+23"/>
<source>Mouse protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Map mouse X to:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Map mouse Y to:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
- <location line="+57"/>
<source>Select Number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+57"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>X axis sensitivity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Y axis sensitivity</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-mouse/lang/stub.ts b/proto-mouse/lang/stub.ts
index 69e807b5..3449ab53 100644
--- a/proto-mouse/lang/stub.ts
+++ b/proto-mouse/lang/stub.ts
@@ -4,75 +4,54 @@
<context>
<name>UICMOUSEControls</name>
<message>
- <location filename="../ftnoir_mousecontrols.ui" line="+23"/>
<source>Mouse protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Map mouse X to:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Map mouse Y to:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
- <location line="+57"/>
<source>Select Number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+57"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-52"/>
- <location line="+57"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>X axis sensitivity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Y axis sensitivity</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-mouse/lang/zh_CN.ts b/proto-mouse/lang/zh_CN.ts
new file mode 100644
index 00000000..3449ab53
--- /dev/null
+++ b/proto-mouse/lang/zh_CN.ts
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UICMOUSEControls</name>
+ <message>
+ <source>Mouse protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Map mouse X to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Map mouse Y to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select Number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X axis sensitivity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y axis sensitivity</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-simconnect/ftnoir_protocol_sc.h b/proto-simconnect/ftnoir_protocol_sc.h
index 7a4a9f5b..6f9a908f 100644
--- a/proto-simconnect/ftnoir_protocol_sc.h
+++ b/proto-simconnect/ftnoir_protocol_sc.h
@@ -34,8 +34,9 @@ struct settings : opts {
{}
};
-class simconnect : public IProtocol, private QThread
+class simconnect : private QThread, public IProtocol
{
+ Q_OBJECT
public:
simconnect();
~simconnect() override;
diff --git a/proto-simconnect/lang/nl_NL.ts b/proto-simconnect/lang/nl_NL.ts
index e855f7bd..9c0b83db 100644
--- a/proto-simconnect/lang/nl_NL.ts
+++ b/proto-simconnect/lang/nl_NL.ts
@@ -4,47 +4,38 @@
<context>
<name>UICSCControls</name>
<message>
- <location filename="../ftnoir_sccontrols.ui" line="+17"/>
<source>Protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>FSX version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>RTM</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>SP1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>SP2 -- Acceleration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Prepar3d SP2 XPACK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Steam FSX (older)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Steam FSX (new)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>You need to install SimConnect SDK for your FSX version. For the Steam version, choose SP1 in the above combo box.</source>
<translation type="unfinished"></translation>
</message>
@@ -52,7 +43,6 @@
<context>
<name>simconnect</name>
<message>
- <location filename="../ftnoir_protocol_sc.cpp" line="+175"/>
<source>dll load failed -- %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-simconnect/lang/ru_RU.ts b/proto-simconnect/lang/ru_RU.ts
index 55bc502f..d4bd343b 100644
--- a/proto-simconnect/lang/ru_RU.ts
+++ b/proto-simconnect/lang/ru_RU.ts
@@ -4,47 +4,38 @@
<context>
<name>UICSCControls</name>
<message>
- <location filename="../ftnoir_sccontrols.ui" line="+17"/>
<source>Protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>FSX version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>RTM</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>SP1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>SP2 -- Acceleration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Prepar3d SP2 XPACK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Steam FSX (older)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Steam FSX (new)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>You need to install SimConnect SDK for your FSX version. For the Steam version, choose SP1 in the above combo box.</source>
<translation type="unfinished"></translation>
</message>
@@ -52,7 +43,6 @@
<context>
<name>simconnect</name>
<message>
- <location filename="../ftnoir_protocol_sc.cpp" line="+175"/>
<source>dll load failed -- %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-simconnect/lang/stub.ts b/proto-simconnect/lang/stub.ts
index 68051951..73608a68 100644
--- a/proto-simconnect/lang/stub.ts
+++ b/proto-simconnect/lang/stub.ts
@@ -4,47 +4,38 @@
<context>
<name>UICSCControls</name>
<message>
- <location filename="../ftnoir_sccontrols.ui" line="+17"/>
<source>Protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>FSX version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>RTM</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>SP1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>SP2 -- Acceleration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Prepar3d SP2 XPACK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Steam FSX (older)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Steam FSX (new)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>You need to install SimConnect SDK for your FSX version. For the Steam version, choose SP1 in the above combo box.</source>
<translation type="unfinished"></translation>
</message>
@@ -52,7 +43,6 @@
<context>
<name>simconnect</name>
<message>
- <location filename="../ftnoir_protocol_sc.cpp" line="+175"/>
<source>dll load failed -- %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-simconnect/lang/zh_CN.ts b/proto-simconnect/lang/zh_CN.ts
new file mode 100644
index 00000000..73608a68
--- /dev/null
+++ b/proto-simconnect/lang/zh_CN.ts
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UICSCControls</name>
+ <message>
+ <source>Protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>FSX version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>RTM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>SP1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>SP2 -- Acceleration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Prepar3d SP2 XPACK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Steam FSX (older)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Steam FSX (new)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>You need to install SimConnect SDK for your FSX version. For the Steam version, choose SP1 in the above combo box.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>simconnect</name>
+ <message>
+ <source>dll load failed -- %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-udp/lang/nl_NL.ts b/proto-udp/lang/nl_NL.ts
index 6e63a2de..069a0a74 100644
--- a/proto-udp/lang/nl_NL.ts
+++ b/proto-udp/lang/nl_NL.ts
@@ -4,17 +4,14 @@
<context>
<name>UICFTNControls</name>
<message>
- <location filename="../ftnoir_ftncontrols.ui" line="+17"/>
<source>UDP protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+163"/>
<source>Remote IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +19,6 @@
<context>
<name>udp</name>
<message>
- <location filename="../ftnoir_protocol_ftn.cpp" line="+42"/>
<source>Can&apos;t bind socket: %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-udp/lang/ru_RU.ts b/proto-udp/lang/ru_RU.ts
index b9f14026..486d5707 100644
--- a/proto-udp/lang/ru_RU.ts
+++ b/proto-udp/lang/ru_RU.ts
@@ -4,17 +4,14 @@
<context>
<name>UICFTNControls</name>
<message>
- <location filename="../ftnoir_ftncontrols.ui" line="+17"/>
<source>UDP protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+163"/>
<source>Remote IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +19,6 @@
<context>
<name>udp</name>
<message>
- <location filename="../ftnoir_protocol_ftn.cpp" line="+42"/>
<source>Can&apos;t bind socket: %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-udp/lang/stub.ts b/proto-udp/lang/stub.ts
index 9b3dfc03..d415ef0e 100644
--- a/proto-udp/lang/stub.ts
+++ b/proto-udp/lang/stub.ts
@@ -4,17 +4,14 @@
<context>
<name>UICFTNControls</name>
<message>
- <location filename="../ftnoir_ftncontrols.ui" line="+17"/>
<source>UDP protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+163"/>
<source>Remote IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +19,6 @@
<context>
<name>udp</name>
<message>
- <location filename="../ftnoir_protocol_ftn.cpp" line="+42"/>
<source>Can&apos;t bind socket: %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-udp/lang/zh_CN.ts b/proto-udp/lang/zh_CN.ts
new file mode 100644
index 00000000..d415ef0e
--- /dev/null
+++ b/proto-udp/lang/zh_CN.ts
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UICFTNControls</name>
+ <message>
+ <source>UDP protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Remote IP address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udp</name>
+ <message>
+ <source>Can&apos;t bind socket: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-vjoystick/lang/nl_NL.ts b/proto-vjoystick/lang/nl_NL.ts
index 6545af1a..f9d754a5 100644
--- a/proto-vjoystick/lang/nl_NL.ts
+++ b/proto-vjoystick/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>vjoystick</name>
<message>
- <location filename="../vjoystick.ui" line="+17"/>
<source>VJoy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Go to the &lt;a href=&quot;http://vjoystick.sourceforge.net/site/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;vjoystick&lt;/span&gt;&lt;/a&gt; project site or &lt;a href=&quot;https://sourceforge.net/projects/vjoystick/files/latest/download&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;download directly&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-vjoystick/lang/ru_RU.ts b/proto-vjoystick/lang/ru_RU.ts
index 7526b20f..c6834f9d 100644
--- a/proto-vjoystick/lang/ru_RU.ts
+++ b/proto-vjoystick/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>vjoystick</name>
<message>
- <location filename="../vjoystick.ui" line="+17"/>
<source>VJoy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Go to the &lt;a href=&quot;http://vjoystick.sourceforge.net/site/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;vjoystick&lt;/span&gt;&lt;/a&gt; project site or &lt;a href=&quot;https://sourceforge.net/projects/vjoystick/files/latest/download&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;download directly&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-vjoystick/lang/stub.ts b/proto-vjoystick/lang/stub.ts
index 018ba87c..1a85a52f 100644
--- a/proto-vjoystick/lang/stub.ts
+++ b/proto-vjoystick/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>vjoystick</name>
<message>
- <location filename="../vjoystick.ui" line="+17"/>
<source>VJoy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Go to the &lt;a href=&quot;http://vjoystick.sourceforge.net/site/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;vjoystick&lt;/span&gt;&lt;/a&gt; project site or &lt;a href=&quot;https://sourceforge.net/projects/vjoystick/files/latest/download&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;download directly&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/proto-vjoystick/lang/zh_CN.ts b/proto-vjoystick/lang/zh_CN.ts
new file mode 100644
index 00000000..1a85a52f
--- /dev/null
+++ b/proto-vjoystick/lang/zh_CN.ts
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>vjoystick</name>
+ <message>
+ <source>VJoy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Go to the &lt;a href=&quot;http://vjoystick.sourceforge.net/site/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;vjoystick&lt;/span&gt;&lt;/a&gt; project site or &lt;a href=&quot;https://sourceforge.net/projects/vjoystick/files/latest/download&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;download directly&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/sdk-paths-sthalik@MSVC-windows.cmake b/sdk-paths-sthalik@MSVC-windows.cmake
index 597e102c..57f336d1 100644
--- a/sdk-paths-sthalik@MSVC-windows.cmake
+++ b/sdk-paths-sthalik@MSVC-windows.cmake
@@ -4,26 +4,29 @@
# remember to change -MD to -MT in mkspecs/
# also add CFLAGS -Zi and LFLAGS -DEBUG
+function(setq name value)
+ set("${name}" "${value}" CACHE INTERNAL "" FORCE)
+endfunction()
+
set(Qt5_DIR "D:/dev/qt-5.10.0/lib/cmake/Qt5")
set(__depdir "d:/dev/opentrack-depends/")
set(OpenCV_DIR "${__depdir}/opencv/build")
-set(opentrack_disable-i18n-update TRUE CACHE BOOL "" FORCE)
-set(opentrack_install-debug-info TRUE CACHE BOOL "" FORCE)
+setq(opentrack_install-debug-info TRUE)
-set(SDK_ARUCO_LIBPATH "${__depdir}/aruco/build/src/aruco.lib" CACHE FILEPATH "" FORCE)
-set(EIGEN3_INCLUDE_DIR "${__depdir}/eigen" CACHE PATH "" FORCE)
+setq(SDK_ARUCO_LIBPATH "${__depdir}/aruco/build/src/aruco.lib")
+setq(EIGEN3_INCLUDE_DIR "${__depdir}/eigen")
-set(SDK_FSUIPC "${__depdir}/fsuipc" CACHE PATH "" FORCE)
-set(SDK_HYDRA "${__depdir}/SixenseSDK" CACHE PATH "" FORCE)
+setq(SDK_FSUIPC "${__depdir}/fsuipc")
+setq(SDK_HYDRA "${__depdir}/SixenseSDK")
-set(SDK_RIFT_025 "${__depdir}/LibOVR-025/build" CACHE PATH "" FORCE)
-set(SDK_RIFT_042 "${__depdir}/LibOVR-042/build" CACHE PATH "" FORCE)
-set(SDK_RIFT_080 "${__depdir}/LibOVR-080/build" CACHE PATH "" FORCE)
-set(SDK_RIFT_140 "${__depdir}/LibOVR-140/build" CACHE PATH "" FORCE)
+setq(SDK_RIFT_025 "${__depdir}/LibOVR-025/build")
+setq(SDK_RIFT_042 "${__depdir}/LibOVR-042/build")
+setq(SDK_RIFT_080 "${__depdir}/LibOVR-080/build")
+setq(SDK_RIFT_140 "${__depdir}/LibOVR-140/build")
-set(SDK_VALVE_STEAMVR "${__depdir}/steamvr" CACHE PATH "" FORCE)
-set(SDK_TOBII_EYEX "${__depdir}/Tobii-EyeX" CACHE PATH "" FORCE)
-set(SDK_VJOYSTICK "${__depdir}/vjoystick" CACHE PATH "" FORCE)
+setq(SDK_VALVE_STEAMVR "${__depdir}/steamvr")
+setq(SDK_TOBII_EYEX "${__depdir}/Tobii-EyeX")
+setq(SDK_VJOYSTICK "${__depdir}/vjoystick")
-set(SDK_REALSENSE "D:/RSSDK-R2" CACHE PATH "" FORCE)
+setq(SDK_REALSENSE "D:/RSSDK-R2")
diff --git a/spline/lang/zh_CN.ts b/spline/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/spline/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/tracker-aruco/lang/nl_NL.ts b/tracker-aruco/lang/nl_NL.ts
index 0d7012e1..2f951e65 100644
--- a/tracker-aruco/lang/nl_NL.ts
+++ b/tracker-aruco/lang/nl_NL.ts
@@ -4,107 +4,86 @@
<context>
<name>Form</name>
<message>
- <location filename="../aruco-trackercontrols.ui" line="+17"/>
<source>Tracker settings</source>
<translation>Tracker-instellingen</translation>
</message>
<message>
- <location line="+161"/>
<source>Frames per second</source>
<translation>Frames per seconde</translation>
</message>
<message>
- <location line="-84"/>
<source>640x480</source>
<translation>640x480</translation>
</message>
<message>
- <location line="+5"/>
<source>320x240</source>
<translation>320x240</translation>
</message>
<message>
- <location line="+72"/>
<source>Camera name</source>
<translation>Cameranaam</translation>
</message>
<message>
- <location line="+14"/>
<source>Resolution</source>
<translation>Resolutie</translation>
</message>
<message>
- <location line="-115"/>
<source>Diagonal FOV</source>
<translation>Diagonale FOV</translation>
</message>
<message>
- <location line="-47"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Read the &lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Aruco-tracker&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;wiki page&lt;/span&gt;&lt;/a&gt; and especially the last paragraph before printing markers.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Lees de &lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Aruco-tracker&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;wiki-pagina&lt;/span&gt;&lt;/a&gt; en voornamelijk de laatste paragraaf voordat u de markering uitprint.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+96"/>
<source>Default</source>
<translation>Standaard</translation>
</message>
<message>
- <location line="+5"/>
<source>30</source>
<translation>30</translation>
</message>
<message>
- <location line="+5"/>
<source>60</source>
<translation>30</translation>
</message>
<message>
- <location line="+5"/>
<source>75</source>
<translation>75</translation>
</message>
<message>
- <location line="+5"/>
<source>125</source>
<translation>125</translation>
</message>
<message>
- <location line="+5"/>
<source>200</source>
<translation>200</translation>
</message>
<message>
- <location line="-40"/>
<source>Default (not recommended!)</source>
<translation>Standaard (niet aanbevolen)</translation>
</message>
<message>
- <location line="+94"/>
<source>Camera settings</source>
<translation>Camera-instellingen</translation>
</message>
<message>
- <location line="+7"/>
<source>Model rotation</source>
<translation>Modelrotatie</translation>
</message>
<message>
- <location line="+39"/>
<source>Head X</source>
<translation>Hoofd-X</translation>
</message>
<message>
- <location line="+30"/>
<source>Head Z </source>
<translation>Hoofd-Z</translation>
</message>
<message>
- <location line="-23"/>
<source>Head Y</source>
<translation>Hoofd-Y</translation>
</message>
<message>
- <location line="+46"/>
<source>Toggle calibration</source>
<translation>Schakel tussen kalibratie</translation>
</message>
diff --git a/tracker-aruco/lang/ru_RU.ts b/tracker-aruco/lang/ru_RU.ts
index 3a5e162e..1818fb13 100644
--- a/tracker-aruco/lang/ru_RU.ts
+++ b/tracker-aruco/lang/ru_RU.ts
@@ -4,107 +4,86 @@
<context>
<name>Form</name>
<message>
- <location filename="../aruco-trackercontrols.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Read the &lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Aruco-tracker&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;wiki page&lt;/span&gt;&lt;/a&gt; and especially the last paragraph before printing markers.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+47"/>
<source>Diagonal FOV</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
<source>Default</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>30</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>60</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>75</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>125</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>200</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
<source>640x480</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>320x240</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Default (not recommended!)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
<source>Camera settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-20"/>
<source>Frames per second</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-7"/>
<source>Camera name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Model rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+39"/>
<source>Head X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Head Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Head Z </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Toggle calibration</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-aruco/lang/stub.ts b/tracker-aruco/lang/stub.ts
index c301674e..055d9d7d 100644
--- a/tracker-aruco/lang/stub.ts
+++ b/tracker-aruco/lang/stub.ts
@@ -4,107 +4,86 @@
<context>
<name>Form</name>
<message>
- <location filename="../aruco-trackercontrols.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Read the &lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Aruco-tracker&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;wiki page&lt;/span&gt;&lt;/a&gt; and especially the last paragraph before printing markers.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+47"/>
<source>Diagonal FOV</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
<source>Default</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>30</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>60</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>75</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>125</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>200</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
<source>640x480</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>320x240</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Default (not recommended!)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
<source>Camera settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-20"/>
<source>Frames per second</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-7"/>
<source>Camera name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Model rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+39"/>
<source>Head X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Head Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Head Z </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Toggle calibration</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-aruco/lang/zh_CN.ts b/tracker-aruco/lang/zh_CN.ts
new file mode 100644
index 00000000..1967ee70
--- /dev/null
+++ b/tracker-aruco/lang/zh_CN.ts
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Form</name>
+ <message>
+ <source>Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Read the &lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/Aruco-tracker&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;wiki page&lt;/span&gt;&lt;/a&gt; and especially the last paragraph before printing markers.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Diagonal FOV</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>640x480</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>320x240</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Default (not recommended!)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>30</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>60</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>75</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>125</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>200</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Camera name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Frames per second</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Resolution</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Camera settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Model rotation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Head X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Head Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Head Z </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Toggle calibration</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-freepie-udp/lang/nl_NL.ts b/tracker-freepie-udp/lang/nl_NL.ts
index a0864a32..940da926 100644
--- a/tracker-freepie-udp/lang/nl_NL.ts
+++ b/tracker-freepie-udp/lang/nl_NL.ts
@@ -4,108 +4,74 @@
<context>
<name>UI_freepie_udp_dialog</name>
<message>
- <location filename="../freepie-udp-controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>UDP port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Axis order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>output yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-40"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-40"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-18"/>
<source>output pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>output roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-freepie-udp/lang/ru_RU.ts b/tracker-freepie-udp/lang/ru_RU.ts
index 83cef2e3..004a0103 100644
--- a/tracker-freepie-udp/lang/ru_RU.ts
+++ b/tracker-freepie-udp/lang/ru_RU.ts
@@ -4,108 +4,74 @@
<context>
<name>UI_freepie_udp_dialog</name>
<message>
- <location filename="../freepie-udp-controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>UDP port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Axis order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>output yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-40"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-40"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-18"/>
<source>output pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>output roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-freepie-udp/lang/stub.ts b/tracker-freepie-udp/lang/stub.ts
index a52f2228..53710990 100644
--- a/tracker-freepie-udp/lang/stub.ts
+++ b/tracker-freepie-udp/lang/stub.ts
@@ -4,108 +4,74 @@
<context>
<name>UI_freepie_udp_dialog</name>
<message>
- <location filename="../freepie-udp-controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>UDP port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Axis order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>output yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-40"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-40"/>
- <location line="+19"/>
- <location line="+26"/>
<source>input roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-18"/>
<source>output pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>output roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-freepie-udp/lang/zh_CN.ts b/tracker-freepie-udp/lang/zh_CN.ts
new file mode 100644
index 00000000..53710990
--- /dev/null
+++ b/tracker-freepie-udp/lang/zh_CN.ts
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UI_freepie_udp_dialog</name>
+ <message>
+ <source>Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>UDP port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Axis order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>output yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>input yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>input pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>input roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>output pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>output roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Add to axis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>+90</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-90</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>+180</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-180</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-fusion/lang/nl_NL.ts b/tracker-fusion/lang/nl_NL.ts
index 267a54ae..b19667b0 100644
--- a/tracker-fusion/lang/nl_NL.ts
+++ b/tracker-fusion/lang/nl_NL.ts
@@ -4,7 +4,6 @@
<context>
<name>fusion_dialog</name>
<message>
- <location filename="../fusion.cpp" line="+192"/>
<source>Fusion tracker only works when distinct trackers are selected for rotation and position.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,17 +11,14 @@
<context>
<name>fusion_tracker</name>
<message>
- <location line="-146"/>
<source>Fusion tracker</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>Trackers not selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Select different trackers for rotation and position.</source>
<translation type="unfinished"></translation>
</message>
@@ -30,27 +26,22 @@
<context>
<name>fusion_ui</name>
<message>
- <location filename="../fusion.ui" line="+23"/>
<source>Fusion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Set distinct trackers for rotation and position input.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Configure the trackers on the main window. It&apos;s required that they&apos;re both distinct, and both are set to something.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-fusion/lang/ru_RU.ts b/tracker-fusion/lang/ru_RU.ts
index 3671037d..1555f7ad 100644
--- a/tracker-fusion/lang/ru_RU.ts
+++ b/tracker-fusion/lang/ru_RU.ts
@@ -4,7 +4,6 @@
<context>
<name>fusion_dialog</name>
<message>
- <location filename="../fusion.cpp" line="+192"/>
<source>Fusion tracker only works when distinct trackers are selected for rotation and position.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,17 +11,14 @@
<context>
<name>fusion_tracker</name>
<message>
- <location line="-146"/>
<source>Fusion tracker</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>Trackers not selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Select different trackers for rotation and position.</source>
<translation type="unfinished"></translation>
</message>
@@ -30,27 +26,22 @@
<context>
<name>fusion_ui</name>
<message>
- <location filename="../fusion.ui" line="+23"/>
<source>Fusion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Set distinct trackers for rotation and position input.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Configure the trackers on the main window. It&apos;s required that they&apos;re both distinct, and both are set to something.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-fusion/lang/stub.ts b/tracker-fusion/lang/stub.ts
index 0216ab32..fd5cb84f 100644
--- a/tracker-fusion/lang/stub.ts
+++ b/tracker-fusion/lang/stub.ts
@@ -4,7 +4,6 @@
<context>
<name>fusion_dialog</name>
<message>
- <location filename="../fusion.cpp" line="+192"/>
<source>Fusion tracker only works when distinct trackers are selected for rotation and position.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,17 +11,14 @@
<context>
<name>fusion_tracker</name>
<message>
- <location line="-146"/>
<source>Fusion tracker</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>Trackers not selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Select different trackers for rotation and position.</source>
<translation type="unfinished"></translation>
</message>
@@ -30,27 +26,22 @@
<context>
<name>fusion_ui</name>
<message>
- <location filename="../fusion.ui" line="+23"/>
<source>Fusion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Set distinct trackers for rotation and position input.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Configure the trackers on the main window. It&apos;s required that they&apos;re both distinct, and both are set to something.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-fusion/lang/zh_CN.ts b/tracker-fusion/lang/zh_CN.ts
new file mode 100644
index 00000000..fd5cb84f
--- /dev/null
+++ b/tracker-fusion/lang/zh_CN.ts
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>fusion_dialog</name>
+ <message>
+ <source>Fusion tracker only works when distinct trackers are selected for rotation and position.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fusion_tracker</name>
+ <message>
+ <source>Fusion tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Trackers not selected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select different trackers for rotation and position.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fusion_ui</name>
+ <message>
+ <source>Fusion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Set distinct trackers for rotation and position input.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Configure the trackers on the main window. It&apos;s required that they&apos;re both distinct, and both are set to something.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Rotation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-hatire/lang/nl_NL.ts b/tracker-hatire/lang/nl_NL.ts
index d1f9e73d..616e4f9b 100644
--- a/tracker-hatire/lang/nl_NL.ts
+++ b/tracker-hatire/lang/nl_NL.ts
@@ -4,251 +4,178 @@
<context>
<name>UIHATControls</name>
<message>
- <location filename="../ftnoir_hatcontrols.ui" line="+29"/>
<source>Head Arduino Tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
<source>Serial port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Buggy serial port uses too much CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Workaround</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+819"/>
<source>Zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-803"/>
- <location line="+764"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-757"/>
<source>Axis Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
- <location line="+217"/>
- <location line="+47"/>
- <location line="+63"/>
- <location line="+63"/>
- <location line="+91"/>
<source>Associate Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-477"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotX</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-476"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotY</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-476"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotZ</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-467"/>
- <location line="+19"/>
- <location line="+39"/>
- <location line="+159"/>
- <location line="+173"/>
- <location line="+22"/>
<source>Enable Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-374"/>
<source>Pitch:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>Yaw:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Invert</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Y:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
- <location line="+35"/>
- <location line="+22"/>
- <location line="+110"/>
- <location line="+50"/>
- <location line="+104"/>
<source>Invert Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-299"/>
<source>X:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
- <location line="+47"/>
- <location line="+63"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-105"/>
- <location line="+47"/>
- <location line="+63"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-105"/>
- <location line="+47"/>
- <location line="+63"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-49"/>
<source>Roll:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+85"/>
<source>Z:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+126"/>
<source>Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>Trame per seconde</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>tps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Info:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>HAT STOPPED</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
<source>Command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Arduino Commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Init</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Start send sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Initialising Arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Stop send sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Command for read Center Gyro arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Reset Arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Command for reset Center Gyro arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -258,17 +185,14 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>Endian</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Indicate at opentrack speed sketch FPS to adjust CPU &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -277,7 +201,6 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -286,12 +209,10 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Delay</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -300,47 +221,38 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Delay after startup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Serial Parameters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Flow control</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
<source>Stop bits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Parity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>BaudRate:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>Data bits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -350,22 +262,18 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+48"/>
<source>Version 1.0.0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
<source>Disable when not in use, will have a performance impact</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Enable logging to diagnostic file</source>
<translation type="unfinished"></translation>
</message>
@@ -373,70 +281,68 @@ p, li { white-space: pre-wrap; }
<context>
<name>dialog_hatire</name>
<message>
- <location filename="../ftnoir_tracker_hat_dialog.cpp" line="+20"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+198"/>
<source>HAT START</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>HAT STOPPED</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>hatire</name>
+ <message>
+ <source>Unable to open ComPort: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>hatire_thread</name>
<message>
- <location filename="../thread.cpp" line="+29"/>
<source>Timeout during writing command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>COM port not open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+128"/>
<source>Setting serial port name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Opening serial port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Port Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Port Parameters set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Raising DTR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Raising RTS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
<source>Waiting on init</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>Port setup, waiting for HAT frames to process</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-hatire/lang/ru_RU.ts b/tracker-hatire/lang/ru_RU.ts
index 15ed9a57..c27a8615 100644
--- a/tracker-hatire/lang/ru_RU.ts
+++ b/tracker-hatire/lang/ru_RU.ts
@@ -4,251 +4,178 @@
<context>
<name>UIHATControls</name>
<message>
- <location filename="../ftnoir_hatcontrols.ui" line="+29"/>
<source>Head Arduino Tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
<source>Serial port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Buggy serial port uses too much CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Workaround</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+819"/>
<source>Zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-803"/>
- <location line="+764"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-757"/>
<source>Axis Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
- <location line="+217"/>
- <location line="+47"/>
- <location line="+63"/>
- <location line="+63"/>
- <location line="+91"/>
<source>Associate Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-477"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotX</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-476"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotY</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-476"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotZ</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-467"/>
- <location line="+19"/>
- <location line="+39"/>
- <location line="+159"/>
- <location line="+173"/>
- <location line="+22"/>
<source>Enable Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-374"/>
<source>Pitch:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>Yaw:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Invert</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Y:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
- <location line="+35"/>
- <location line="+22"/>
- <location line="+110"/>
- <location line="+50"/>
- <location line="+104"/>
<source>Invert Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-299"/>
<source>X:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
- <location line="+47"/>
- <location line="+63"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-105"/>
- <location line="+47"/>
- <location line="+63"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-105"/>
- <location line="+47"/>
- <location line="+63"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-49"/>
<source>Roll:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+85"/>
<source>Z:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+126"/>
<source>Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>Trame per seconde</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>tps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Info:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>HAT STOPPED</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
<source>Command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Arduino Commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Init</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Start send sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Initialising Arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Stop send sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Command for read Center Gyro arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Reset Arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Command for reset Center Gyro arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -258,17 +185,14 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>Endian</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Indicate at opentrack speed sketch FPS to adjust CPU &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -277,7 +201,6 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -286,12 +209,10 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Delay</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -300,47 +221,38 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Delay after startup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Serial Parameters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Flow control</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
<source>Stop bits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Parity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>BaudRate:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>Data bits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -350,22 +262,18 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+48"/>
<source>Version 1.0.0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
<source>Disable when not in use, will have a performance impact</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Enable logging to diagnostic file</source>
<translation type="unfinished"></translation>
</message>
@@ -373,70 +281,68 @@ p, li { white-space: pre-wrap; }
<context>
<name>dialog_hatire</name>
<message>
- <location filename="../ftnoir_tracker_hat_dialog.cpp" line="+20"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+198"/>
<source>HAT START</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>HAT STOPPED</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>hatire</name>
+ <message>
+ <source>Unable to open ComPort: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>hatire_thread</name>
<message>
- <location filename="../thread.cpp" line="+29"/>
<source>Timeout during writing command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>COM port not open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+128"/>
<source>Setting serial port name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Opening serial port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Port Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Port Parameters set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Raising DTR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Raising RTS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
<source>Waiting on init</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>Port setup, waiting for HAT frames to process</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-hatire/lang/stub.ts b/tracker-hatire/lang/stub.ts
index 6c6f2e3b..5ccf7fe1 100644
--- a/tracker-hatire/lang/stub.ts
+++ b/tracker-hatire/lang/stub.ts
@@ -4,251 +4,178 @@
<context>
<name>UIHATControls</name>
<message>
- <location filename="../ftnoir_hatcontrols.ui" line="+29"/>
<source>Head Arduino Tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
<source>Serial port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Buggy serial port uses too much CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Workaround</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+819"/>
<source>Zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-803"/>
- <location line="+764"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-757"/>
<source>Axis Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
- <location line="+217"/>
- <location line="+47"/>
- <location line="+63"/>
- <location line="+63"/>
- <location line="+91"/>
<source>Associate Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-477"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotX</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-476"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotY</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-476"/>
- <location line="+390"/>
- <location line="+91"/>
<source>RotZ</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-467"/>
- <location line="+19"/>
- <location line="+39"/>
- <location line="+159"/>
- <location line="+173"/>
- <location line="+22"/>
<source>Enable Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-374"/>
<source>Pitch:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>Yaw:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Invert</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Y:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
- <location line="+35"/>
- <location line="+22"/>
- <location line="+110"/>
- <location line="+50"/>
- <location line="+104"/>
<source>Invert Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-299"/>
<source>X:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
- <location line="+47"/>
- <location line="+63"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-105"/>
- <location line="+47"/>
- <location line="+63"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-105"/>
- <location line="+47"/>
- <location line="+63"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-49"/>
<source>Roll:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+85"/>
<source>Z:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+126"/>
<source>Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
<source>Trame per seconde</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>tps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
<source>Info:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>HAT STOPPED</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
<source>Command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Arduino Commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Init</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Start send sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Initialising Arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Stop send sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Command for read Center Gyro arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Command for Reset Arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Command for reset Center Gyro arduino</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -258,17 +185,14 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>Endian</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Indicate at opentrack speed sketch FPS to adjust CPU &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -277,7 +201,6 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -286,12 +209,10 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Delay</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -300,47 +221,38 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Delay after startup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Serial Parameters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
<source>Flow control</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
<source>Stop bits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Parity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>BaudRate:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>Data bits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -350,22 +262,18 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+48"/>
<source>Version 1.0.0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
<source>Disable when not in use, will have a performance impact</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Enable logging to diagnostic file</source>
<translation type="unfinished"></translation>
</message>
@@ -373,70 +281,68 @@ p, li { white-space: pre-wrap; }
<context>
<name>dialog_hatire</name>
<message>
- <location filename="../ftnoir_tracker_hat_dialog.cpp" line="+20"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+198"/>
<source>HAT START</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>HAT STOPPED</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>hatire</name>
+ <message>
+ <source>Unable to open ComPort: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>hatire_thread</name>
<message>
- <location filename="../thread.cpp" line="+29"/>
<source>Timeout during writing command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>COM port not open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+128"/>
<source>Setting serial port name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Opening serial port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Port Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Port Parameters set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Raising DTR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Raising RTS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
<source>Waiting on init</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>Port setup, waiting for HAT frames to process</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-hatire/lang/zh_CN.ts b/tracker-hatire/lang/zh_CN.ts
new file mode 100644
index 00000000..5ccf7fe1
--- /dev/null
+++ b/tracker-hatire/lang/zh_CN.ts
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UIHATControls</name>
+ <message>
+ <source>Head Arduino Tracker settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Serial port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Buggy serial port uses too much CPU</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Workaround</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Zero</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Axis Configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Associate Axis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>RotX</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>RotY</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>RotZ</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable Axis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pitch:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invert Axis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Roll:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Z:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Axis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Trame per seconde</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>tps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Info:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>HAT STOPPED</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Command</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Arduino Commands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Init</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Command for Start send sequence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Command for Initialising Arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Command for Stop send sequence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Command for read Center Gyro arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Command for Reset Arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Command for reset Center Gyro arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Little or Big Endian for &lt;span style=&quot; font-family:&apos;Arial,Geneva,Helvetica,sans-serif&apos;; font-size:medium; color:#000000;&quot;&gt;the serialization of byte order&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Arial,Geneva,Helvetica,sans-serif&apos;; font-size:medium; color:#000000;&quot;&gt;Arduino is LittleEndian ( unchecked)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Endian</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Indicate at opentrack speed sketch FPS to adjust CPU &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Delay before Init command in ms&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Delay after Init command in ms&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delay</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Delay after Start Command in ms&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delay after startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Serial Parameters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Flow control</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stop bits</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Parity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>BaudRate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Data bits</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>About</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; font-weight:600;&quot;&gt;FTNoIR HAT Plugin&lt;br /&gt;by FuraX49&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://hatire.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-size:8pt; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Manual (external)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Version 1.0.0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disable when not in use, will have a performance impact</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable logging to diagnostic file</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>dialog_hatire</name>
+ <message>
+ <source>Version %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>HAT START</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>HAT STOPPED</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire</name>
+ <message>
+ <source>Unable to open ComPort: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_thread</name>
+ <message>
+ <source>Timeout during writing command</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>COM port not open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Setting serial port name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Opening serial port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Port Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Port Parameters set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Raising DTR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Raising RTS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Waiting on init</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Port setup, waiting for HAT frames to process</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-hydra/lang/nl_NL.ts b/tracker-hydra/lang/nl_NL.ts
index b6938dfb..8cf49088 100644
--- a/tracker-hydra/lang/nl_NL.ts
+++ b/tracker-hydra/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>UIHydraControls</name>
<message>
- <location filename="../ftnoir_hydra_clientcontrols.ui" line="+17"/>
<source>Sixense Hydra tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>None whatsoever</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-hydra/lang/ru_RU.ts b/tracker-hydra/lang/ru_RU.ts
index 906910f4..1abcf7e0 100644
--- a/tracker-hydra/lang/ru_RU.ts
+++ b/tracker-hydra/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>UIHydraControls</name>
<message>
- <location filename="../ftnoir_hydra_clientcontrols.ui" line="+17"/>
<source>Sixense Hydra tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>None whatsoever</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-hydra/lang/stub.ts b/tracker-hydra/lang/stub.ts
index e87f3b6c..f5440284 100644
--- a/tracker-hydra/lang/stub.ts
+++ b/tracker-hydra/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>UIHydraControls</name>
<message>
- <location filename="../ftnoir_hydra_clientcontrols.ui" line="+17"/>
<source>Sixense Hydra tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>None whatsoever</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-hydra/lang/zh_CN.ts b/tracker-hydra/lang/zh_CN.ts
new file mode 100644
index 00000000..f5440284
--- /dev/null
+++ b/tracker-hydra/lang/zh_CN.ts
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UIHydraControls</name>
+ <message>
+ <source>Sixense Hydra tracker settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>None whatsoever</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-joystick/lang/nl_NL.ts b/tracker-joystick/lang/nl_NL.ts
index b328e02a..0b10b88e 100644
--- a/tracker-joystick/lang/nl_NL.ts
+++ b/tracker-joystick/lang/nl_NL.ts
@@ -4,137 +4,74 @@
<context>
<name>UIJoystickControls</name>
<message>
- <location filename="../ftnoir_tracker_joystick_controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation>Tracker-instellingen</translation>
</message>
<message>
- <location line="+40"/>
<source>Device</source>
<translation>Apparaat</translation>
</message>
<message>
- <location line="+20"/>
<source>Mapping</source>
<translation>Verwijzing</translation>
</message>
<message>
- <location line="+16"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Disabled</source>
<translation>Uitgeschakeld</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #1</source>
<translation>Joystick-as #1</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #2</source>
<translation>Joystick-as #2</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #3</source>
<translation>Joystick-as #3</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #4</source>
<translation>Joystick-as #4</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #5</source>
<translation>Joystick-as #5</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #6</source>
<translation>Joystick-as #6</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #7</source>
<translation>Joystick-as #7</translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #8</source>
<translation>Joystick-as #8</translation>
</message>
<message>
- <location line="+8"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="+7"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="+7"/>
<source>Z</source>
<translation>Z</translation>
</message>
<message>
- <location line="+7"/>
<source>Yaw</source>
<translation>Yaw</translation>
</message>
<message>
- <location line="+7"/>
<source>Pitch</source>
<translation>Pitch</translation>
</message>
<message>
- <location line="+7"/>
<source>Roll</source>
<translation>Rol</translation>
</message>
diff --git a/tracker-joystick/lang/ru_RU.ts b/tracker-joystick/lang/ru_RU.ts
index f72e522e..3b1b980e 100644
--- a/tracker-joystick/lang/ru_RU.ts
+++ b/tracker-joystick/lang/ru_RU.ts
@@ -4,137 +4,74 @@
<context>
<name>UIJoystickControls</name>
<message>
- <location filename="../ftnoir_tracker_joystick_controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+40"/>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Mapping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #7</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #8</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-joystick/lang/stub.ts b/tracker-joystick/lang/stub.ts
index c6fdc45d..9a6e7747 100644
--- a/tracker-joystick/lang/stub.ts
+++ b/tracker-joystick/lang/stub.ts
@@ -4,137 +4,74 @@
<context>
<name>UIJoystickControls</name>
<message>
- <location filename="../ftnoir_tracker_joystick_controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+40"/>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Mapping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #7</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-285"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
- <location line="+58"/>
<source>Joystick axis #8</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-joystick/lang/zh_CN.ts b/tracker-joystick/lang/zh_CN.ts
new file mode 100644
index 00000000..9a6e7747
--- /dev/null
+++ b/tracker-joystick/lang/zh_CN.ts
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UIJoystickControls</name>
+ <message>
+ <source>Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mapping</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Joystick axis #8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-pt/lang/nl_NL.ts b/tracker-pt/lang/nl_NL.ts
index 5b3cad4b..16aaa82e 100644
--- a/tracker-pt/lang/nl_NL.ts
+++ b/tracker-pt/lang/nl_NL.ts
@@ -4,57 +4,46 @@
<context>
<name>TrackerDialog_PT</name>
<message>
- <location filename="../ftnoir_tracker_pt_dialog.cpp" line="+118"/>
<source>Brightness %1/255</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>LED radius %1 pixels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+40"/>
<source>%1 yaw samples. Yaw more to %2 samples for stable calibration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>%1 pitch samples. Pitch more to %2 samples for stable calibration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>%1 samples. Over %2, good!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Stop calibration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Start calibration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
<source>%1x%2 @ %3 FPS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>%1 OK!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
<source>%1 BAD!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Tracker offline</source>
<translation type="unfinished"></translation>
</message>
@@ -62,311 +51,227 @@
<context>
<name>UICPTClientControls</name>
<message>
- <location filename="../FTNoIR_PT_Controls.ui" line="+23"/>
<source>PointTracker Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+99"/>
<source>Camera</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Camera settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Diagonal field of view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>FPS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Desired capture height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+67"/>
- <location line="+272"/>
- <location line="+22"/>
<source> px</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-342"/>
<source>Dynamic pose timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Desired capture framerate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source> Hz</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
<source>Desired capture width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source> ms</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Camera settings (when available)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+72"/>
<source>Point extraction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
<source>Max size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-32"/>
<source>Threshold</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Min size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>Intensity threshold for point extraction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
<source>Automatic threshold</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-13"/>
<source>Enable, slider sets point size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-150"/>
<source>Color channels used</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Average</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Natural</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Red only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Blue only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Dynamic pose (for caps only, never clips)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+133"/>
<source>Maximum point diameter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Minimum point diameter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Model</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Clip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
- <location line="+154"/>
- <location line="+129"/>
<source>Model Dimensions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-271"/>
- <location line="+19"/>
- <location line="+48"/>
- <location line="+19"/>
- <location line="+97"/>
- <location line="+35"/>
- <location line="+32"/>
- <location line="+40"/>
- <location line="+26"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+26"/>
- <location line="+119"/>
- <location line="+26"/>
- <location line="+26"/>
<source> mm</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-498"/>
- <location line="+116"/>
<source>Side</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-65"/>
- <location line="+132"/>
<source>Front</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-107"/>
<source>Cap</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+135"/>
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
- <location line="+169"/>
- <location line="+67"/>
<source>z:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-210"/>
- <location line="+104"/>
- <location line="+132"/>
<source>x:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-171"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Location of the two remaining model points&lt;br/&gt;with respect to the reference point in default pose&lt;/p&gt;&lt;p&gt;Use any units you want, not necessarily centimeters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
- <location line="+65"/>
- <location line="+106"/>
<source>y:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-145"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+46"/>
<source>Model position</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+105"/>
<source>Use only yaw and pitch while calibrating.
Don&apos;t roll or change position.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+36"/>
<source>Start calibration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Manual (external)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1283"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Extracted Points:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Camera Info:</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-pt/lang/ru_RU.ts b/tracker-pt/lang/ru_RU.ts
index 20fadacc..88f3cb4a 100644
--- a/tracker-pt/lang/ru_RU.ts
+++ b/tracker-pt/lang/ru_RU.ts
@@ -4,57 +4,46 @@
<context>
<name>TrackerDialog_PT</name>
<message>
- <location filename="../ftnoir_tracker_pt_dialog.cpp" line="+180"/>
<source>%1 samples. Over %2, good!</source>
<translation>Получено %1 образца(-ов). Больше %2, отлично!!</translation>
</message>
<message>
- <location line="-8"/>
<source>%1 yaw samples. Yaw more to %2 samples for stable calibration.</source>
<translation>По оси YAW выполнено: %1 замер(а/ов). Для стабильного результата необходимо не меньше %2</translation>
</message>
<message>
- <location line="-54"/>
<source>Brightness %1/255</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>LED radius %1 pixels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
<source>%1 pitch samples. Pitch more to %2 samples for stable calibration.</source>
<translation>По оси Pitch выполнено: %1 замер(а/ов). Для стабильного результата необходимо не меньше %2</translation>
</message>
<message>
- <location line="+16"/>
<source>Stop calibration</source>
<translation>Остановить калибровку</translation>
</message>
<message>
- <location line="+2"/>
<source>Start calibration</source>
<translation>Начать калибровку</translation>
</message>
<message>
- <location line="+9"/>
<source>%1x%2 @ %3 FPS</source>
<translation></translation>
</message>
<message>
- <location line="+4"/>
<source>%1 OK!</source>
<translation></translation>
</message>
<message>
- <location line="+0"/>
<source>%1 BAD!</source>
<translation></translation>
</message>
<message>
- <location line="+4"/>
<source>Tracker offline</source>
<translation>Отслеживание отключено</translation>
</message>
@@ -62,281 +51,203 @@
<context>
<name>UICPTClientControls</name>
<message>
- <location filename="../FTNoIR_PT_Controls.ui" line="+23"/>
<source>PointTracker Settings</source>
<translation>Настройки PointTracker</translation>
</message>
<message>
- <location line="+99"/>
<source>Camera</source>
<translation>Камера</translation>
</message>
<message>
- <location line="+12"/>
<source>Camera settings</source>
<translation>Настройка камеры</translation>
</message>
<message>
- <location line="+25"/>
<source>°</source>
<translation></translation>
</message>
<message>
- <location line="+22"/>
<source>Diagonal field of view</source>
<translation>Угол обзора камеры</translation>
</message>
<message>
- <location line="+13"/>
<source>Width</source>
<translation>Ширина</translation>
</message>
<message>
- <location line="+13"/>
<source>FPS</source>
<translation>FPS (Кадров в секунду)</translation>
</message>
<message>
- <location line="+16"/>
<source>Desired capture height</source>
<translation></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+67"/>
- <location line="+272"/>
- <location line="+22"/>
<source> px</source>
<translation></translation>
</message>
<message>
- <location line="-342"/>
<source>Dynamic pose timeout</source>
<translation>Динамическая поза (время ожидания)</translation>
</message>
<message>
- <location line="+13"/>
<source>Desired capture framerate</source>
<translation>Желаемая частота кадров</translation>
</message>
<message>
- <location line="+3"/>
<source> Hz</source>
<translation> Гц</translation>
</message>
<message>
- <location line="+29"/>
<source>Desired capture width</source>
<translation>Желаемая ширина захвата</translation>
</message>
<message>
- <location line="+22"/>
<source>Height</source>
<translation>Высота</translation>
</message>
<message>
- <location line="+13"/>
<source> ms</source>
<translation> мс</translation>
</message>
<message>
- <location line="+104"/>
<source>Dynamic pose (for caps only, never clips)</source>
<translation>Динамическая поза (Только для модели &quot;Кепка&quot;)</translation>
</message>
<message>
- <location line="-85"/>
<source>Device</source>
<translation>Устройство</translation>
</message>
<message>
- <location line="+16"/>
<source>Open</source>
<translation>Открыть</translation>
</message>
<message>
- <location line="+13"/>
<source>Camera settings (when available)</source>
<translation>Параметры камеры (если доступно)</translation>
</message>
<message>
- <location line="+72"/>
<source>Point extraction</source>
<translation>Извлечение точек</translation>
</message>
<message>
- <location line="+44"/>
<source>Max size</source>
<translation>Макс.размер</translation>
</message>
<message>
- <location line="-32"/>
<source>Threshold</source>
<translation>Порог</translation>
</message>
<message>
- <location line="+16"/>
<source>Min size</source>
<translation>Мин.размер</translation>
</message>
<message>
- <location line="+32"/>
<source>Intensity threshold for point extraction</source>
<translation>Порог интенсивности для извлечения точки</translation>
</message>
<message>
- <location line="+44"/>
<source>Automatic threshold</source>
<translation>Автоматич. порог</translation>
</message>
<message>
- <location line="-13"/>
<source>Enable, slider sets point size</source>
<translation>Полузнок устанавливает размер точек</translation>
</message>
<message>
- <location line="-150"/>
<source>Color channels used</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Average</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Natural</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Red only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Blue only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+147"/>
<source>Maximum point diameter</source>
<translation></translation>
</message>
<message>
- <location line="+22"/>
<source>Minimum point diameter</source>
<translation></translation>
</message>
<message>
- <location line="+29"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Model</source>
<translation>Модель</translation>
</message>
<message>
- <location line="+28"/>
<source>Clip</source>
<translation>Клипса</translation>
</message>
<message>
- <location line="+18"/>
- <location line="+154"/>
- <location line="+129"/>
<source>Model Dimensions</source>
<translation>Размеры модели</translation>
</message>
<message>
- <location line="-271"/>
- <location line="+19"/>
- <location line="+48"/>
- <location line="+19"/>
- <location line="+97"/>
- <location line="+35"/>
- <location line="+32"/>
- <location line="+40"/>
- <location line="+26"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+26"/>
- <location line="+119"/>
- <location line="+26"/>
- <location line="+26"/>
<source> mm</source>
<translation> мм</translation>
</message>
<message>
- <location line="-498"/>
- <location line="+116"/>
<source>Side</source>
<translation>Сбоку</translation>
</message>
<message>
- <location line="-65"/>
- <location line="+132"/>
<source>Front</source>
<translation>Спереди</translation>
</message>
<message>
- <location line="-107"/>
<source>Cap</source>
<translation>Кепка</translation>
</message>
<message>
- <location line="+135"/>
<source>Custom</source>
<translation>Свой</translation>
</message>
<message>
- <location line="+18"/>
- <location line="+169"/>
- <location line="+67"/>
<source>z:</source>
<translation></translation>
</message>
<message>
- <location line="-210"/>
- <location line="+104"/>
- <location line="+132"/>
<source>x:</source>
<translation></translation>
</message>
<message>
- <location line="-171"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Location of the two remaining model points&lt;br/&gt;with respect to the reference point in default pose&lt;/p&gt;&lt;p&gt;Use any units you want, not necessarily centimeters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translatorcomment>Расположение двух оставшихся точек модели относительно опорной точки в стандартной позе. Возможно исп-ть любые единицы измерения, не обязательно сантиметры.</translatorcomment>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; Расположение двух оставшихся точек модели&lt;br/&gt;относительно опорной точки в стандартной позе. &lt;/p&gt;&lt;p&gt;Возможно использовать любые единицы измерения.&lt;/p&gt;&lt;/body&gt;&lt;/html</translation>
</message>
<message>
- <location line="+26"/>
- <location line="+65"/>
- <location line="+106"/>
<source>y:</source>
<translation></translation>
</message>
<message>
- <location line="-145"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation>
</message>
<message>
- <location line="+46"/>
<source>Model position</source>
<translation>Положение модели</translation>
</message>
<message>
- <location line="+105"/>
<source>Use only yaw and pitch while calibrating.
Don&apos;t roll or change position.</source>
<translation>Во время калибровки
@@ -346,32 +257,26 @@ YAW и PITCH.
ROLL или X/Y-смещения.</translation>
</message>
<message>
- <location line="+36"/>
<source>Start calibration</source>
<translation>Начать калибровку</translation>
</message>
<message>
- <location line="+17"/>
<source>About</source>
<translation>О программе</translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Manual (external)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Руководство (PointTracker)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="-1283"/>
<source>Status</source>
<translation>Статус</translation>
</message>
<message>
- <location line="+12"/>
<source>Extracted Points:</source>
<translation>Извлечено точек:</translation>
</message>
<message>
- <location line="+13"/>
<source>Camera Info:</source>
<translation>Параметры камеры:</translation>
</message>
diff --git a/tracker-pt/lang/stub.ts b/tracker-pt/lang/stub.ts
index 14474fdd..a3377c2e 100644
--- a/tracker-pt/lang/stub.ts
+++ b/tracker-pt/lang/stub.ts
@@ -4,57 +4,46 @@
<context>
<name>TrackerDialog_PT</name>
<message>
- <location filename="../ftnoir_tracker_pt_dialog.cpp" line="+118"/>
<source>Brightness %1/255</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>LED radius %1 pixels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+40"/>
<source>%1 yaw samples. Yaw more to %2 samples for stable calibration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>%1 pitch samples. Pitch more to %2 samples for stable calibration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>%1 samples. Over %2, good!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Stop calibration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Start calibration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
<source>%1x%2 @ %3 FPS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>%1 OK!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
<source>%1 BAD!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Tracker offline</source>
<translation type="unfinished"></translation>
</message>
@@ -62,311 +51,227 @@
<context>
<name>UICPTClientControls</name>
<message>
- <location filename="../FTNoIR_PT_Controls.ui" line="+23"/>
<source>PointTracker Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+99"/>
<source>Camera</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Camera settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
<source>°</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Diagonal field of view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>FPS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Desired capture height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+67"/>
- <location line="+272"/>
- <location line="+22"/>
<source> px</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-342"/>
<source>Dynamic pose timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Desired capture framerate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source> Hz</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
<source>Desired capture width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source> ms</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Camera settings (when available)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+72"/>
<source>Point extraction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
<source>Max size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-32"/>
<source>Threshold</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Min size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
<source>Intensity threshold for point extraction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
<source>Automatic threshold</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-13"/>
<source>Enable, slider sets point size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-150"/>
<source>Color channels used</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Average</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Natural</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Red only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Blue only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Dynamic pose (for caps only, never clips)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+133"/>
<source>Maximum point diameter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Minimum point diameter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Model</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Clip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
- <location line="+154"/>
- <location line="+129"/>
<source>Model Dimensions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-271"/>
- <location line="+19"/>
- <location line="+48"/>
- <location line="+19"/>
- <location line="+97"/>
- <location line="+35"/>
- <location line="+32"/>
- <location line="+40"/>
- <location line="+26"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+26"/>
- <location line="+119"/>
- <location line="+26"/>
- <location line="+26"/>
<source> mm</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-498"/>
- <location line="+116"/>
<source>Side</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-65"/>
- <location line="+132"/>
<source>Front</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-107"/>
<source>Cap</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+135"/>
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
- <location line="+169"/>
- <location line="+67"/>
<source>z:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-210"/>
- <location line="+104"/>
- <location line="+132"/>
<source>x:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-171"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Location of the two remaining model points&lt;br/&gt;with respect to the reference point in default pose&lt;/p&gt;&lt;p&gt;Use any units you want, not necessarily centimeters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
- <location line="+65"/>
- <location line="+106"/>
<source>y:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-145"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+46"/>
<source>Model position</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+105"/>
<source>Use only yaw and pitch while calibrating.
Don&apos;t roll or change position.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+36"/>
<source>Start calibration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Manual (external)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1283"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
<source>Extracted Points:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
<source>Camera Info:</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-pt/lang/zh_CN.ts b/tracker-pt/lang/zh_CN.ts
new file mode 100644
index 00000000..2a8e9ca0
--- /dev/null
+++ b/tracker-pt/lang/zh_CN.ts
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>TrackerDialog_PT</name>
+ <message>
+ <source>Brightness %1/255</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>LED radius %1 pixels</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 yaw samples. Yaw more to %2 samples for stable calibration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 pitch samples. Pitch more to %2 samples for stable calibration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 samples. Over %2, good!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stop calibration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start calibration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1x%2 @ %3 FPS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 OK!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 BAD!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tracker offline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UICPTClientControls</name>
+ <message>
+ <source>PointTracker Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Extracted Points:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Camera Info:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Camera</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Camera settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Diagonal field of view</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Width</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>FPS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Desired capture height</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source> px</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Dynamic pose timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Desired capture framerate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source> Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Desired capture width</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Height</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source> ms</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Camera settings (when available)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Color channels used</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Average</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Natural</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Red only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Blue only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Dynamic pose (for caps only, never clips)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Point extraction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Threshold</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Min size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Max size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Intensity threshold for point extraction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable, slider sets point size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Automatic threshold</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Maximum point diameter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimum point diameter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Model</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Clip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Model Dimensions</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source> mm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Side</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Front</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cap</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Custom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>z:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>x:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Location of the two remaining model points&lt;br/&gt;with respect to the reference point in default pose&lt;/p&gt;&lt;p&gt;Use any units you want, not necessarily centimeters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>y:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Model position</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Use only yaw and pitch while calibrating.
+Don&apos;t roll or change position.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start calibration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>About</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Manual (external)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-pt/module/lang/zh_CN.ts b/tracker-pt/module/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/tracker-pt/module/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/tracker-rift-025/lang/nl_NL.ts b/tracker-rift-025/lang/nl_NL.ts
index 239ce6fb..fef89934 100644
--- a/tracker-rift-025/lang/nl_NL.ts
+++ b/tracker-rift-025/lang/nl_NL.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_025</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_025.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
@@ -37,17 +31,14 @@
<context>
<name>rift_tracker_025</name>
<message>
- <location filename="../ftnoir_tracker_rift_025.cpp" line="+64"/>
<source>Unable to create Rift sensor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Unable to enumerate Rift tracker</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Unable to start Rift tracker</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-025/lang/ru_RU.ts b/tracker-rift-025/lang/ru_RU.ts
index cdd8b1ef..8ab48509 100644
--- a/tracker-rift-025/lang/ru_RU.ts
+++ b/tracker-rift-025/lang/ru_RU.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_025</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_025.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
@@ -37,17 +31,14 @@
<context>
<name>rift_tracker_025</name>
<message>
- <location filename="../ftnoir_tracker_rift_025.cpp" line="+64"/>
<source>Unable to create Rift sensor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Unable to enumerate Rift tracker</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Unable to start Rift tracker</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-025/lang/stub.ts b/tracker-rift-025/lang/stub.ts
index 89f72a38..cf2a32a9 100644
--- a/tracker-rift-025/lang/stub.ts
+++ b/tracker-rift-025/lang/stub.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_025</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_025.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
@@ -37,17 +31,14 @@
<context>
<name>rift_tracker_025</name>
<message>
- <location filename="../ftnoir_tracker_rift_025.cpp" line="+64"/>
<source>Unable to create Rift sensor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Unable to enumerate Rift tracker</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Unable to start Rift tracker</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-025/lang/zh_CN.ts b/tracker-rift-025/lang/zh_CN.ts
new file mode 100644
index 00000000..cf2a32a9
--- /dev/null
+++ b/tracker-rift-025/lang/zh_CN.ts
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>dialog_rift_025</name>
+ <message>
+ <source>Oculus Rift tracker settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw spring</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Persistence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Constant drift</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_025</name>
+ <message>
+ <source>Unable to create Rift sensor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to enumerate Rift tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to start Rift tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-042/lang/nl_NL.ts b/tracker-rift-042/lang/nl_NL.ts
index 06d27f16..9c1a9544 100644
--- a/tracker-rift-042/lang/nl_NL.ts
+++ b/tracker-rift-042/lang/nl_NL.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_042</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_042.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
@@ -37,7 +31,6 @@
<context>
<name>rift_tracker_042</name>
<message>
- <location filename="../ftnoir_tracker_rift_042.cpp" line="+49"/>
<source>Unable to start Rift tracker: %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-042/lang/ru_RU.ts b/tracker-rift-042/lang/ru_RU.ts
index 5ad310d5..21068835 100644
--- a/tracker-rift-042/lang/ru_RU.ts
+++ b/tracker-rift-042/lang/ru_RU.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_042</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_042.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
@@ -37,7 +31,6 @@
<context>
<name>rift_tracker_042</name>
<message>
- <location filename="../ftnoir_tracker_rift_042.cpp" line="+49"/>
<source>Unable to start Rift tracker: %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-042/lang/stub.ts b/tracker-rift-042/lang/stub.ts
index 28606325..91f96f55 100644
--- a/tracker-rift-042/lang/stub.ts
+++ b/tracker-rift-042/lang/stub.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_042</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_042.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
@@ -37,7 +31,6 @@
<context>
<name>rift_tracker_042</name>
<message>
- <location filename="../ftnoir_tracker_rift_042.cpp" line="+49"/>
<source>Unable to start Rift tracker: %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-042/lang/zh_CN.ts b/tracker-rift-042/lang/zh_CN.ts
new file mode 100644
index 00000000..91f96f55
--- /dev/null
+++ b/tracker-rift-042/lang/zh_CN.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>dialog_rift_042</name>
+ <message>
+ <source>Oculus Rift tracker settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw spring</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Persistence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Constant drift</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_042</name>
+ <message>
+ <source>Unable to start Rift tracker: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-080/lang/nl_NL.ts b/tracker-rift-080/lang/nl_NL.ts
index a4a9ab81..417c38c8 100644
--- a/tracker-rift-080/lang/nl_NL.ts
+++ b/tracker-rift-080/lang/nl_NL.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_080</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_080.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-080/lang/ru_RU.ts b/tracker-rift-080/lang/ru_RU.ts
index 6d05fd27..7ffe3dbb 100644
--- a/tracker-rift-080/lang/ru_RU.ts
+++ b/tracker-rift-080/lang/ru_RU.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_080</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_080.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-080/lang/stub.ts b/tracker-rift-080/lang/stub.ts
index 4f29f394..d0ea9fe0 100644
--- a/tracker-rift-080/lang/stub.ts
+++ b/tracker-rift-080/lang/stub.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_080</name>
<message>
- <location filename="../ftnoir_rift_clientcontrols_080.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-080/lang/zh_CN.ts b/tracker-rift-080/lang/zh_CN.ts
new file mode 100644
index 00000000..d0ea9fe0
--- /dev/null
+++ b/tracker-rift-080/lang/zh_CN.ts
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>dialog_rift_080</name>
+ <message>
+ <source>Oculus Rift tracker settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw spring</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Persistence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Constant drift</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-140/lang/nl_NL.ts b/tracker-rift-140/lang/nl_NL.ts
index d65f3166..04ed2ba1 100644
--- a/tracker-rift-140/lang/nl_NL.ts
+++ b/tracker-rift-140/lang/nl_NL.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_140</name>
<message>
- <location filename="../dialog.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-140/lang/ru_RU.ts b/tracker-rift-140/lang/ru_RU.ts
index 33e80935..a49a9017 100644
--- a/tracker-rift-140/lang/ru_RU.ts
+++ b/tracker-rift-140/lang/ru_RU.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_140</name>
<message>
- <location filename="../dialog.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-140/lang/stub.ts b/tracker-rift-140/lang/stub.ts
index 433c9549..d0b352bb 100644
--- a/tracker-rift-140/lang/stub.ts
+++ b/tracker-rift-140/lang/stub.ts
@@ -4,32 +4,26 @@
<context>
<name>dialog_rift_140</name>
<message>
- <location filename="../dialog.ui" line="+23"/>
<source>Oculus Rift tracker settings FaceTrackNoIR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Yaw spring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Persistence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Constant drift</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
<source>Deadzone</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rift-140/lang/zh_CN.ts b/tracker-rift-140/lang/zh_CN.ts
new file mode 100644
index 00000000..d0b352bb
--- /dev/null
+++ b/tracker-rift-140/lang/zh_CN.ts
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>dialog_rift_140</name>
+ <message>
+ <source>Oculus Rift tracker settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw spring</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Persistence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Constant drift</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rs/lang/nl_NL.ts b/tracker-rs/lang/nl_NL.ts
index b19a8cb1..7fc37d0c 100644
--- a/tracker-rs/lang/nl_NL.ts
+++ b/tracker-rs/lang/nl_NL.ts
@@ -4,32 +4,26 @@
<context>
<name>RSTracker</name>
<message>
- <location filename="../ftnoir_tracker_rs.cpp" line="+93"/>
<source>Intel® RealSense™ Runtime Installation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Installation process failed to start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Couldn&apos;t initialize RealSense tracking. Please make sure SDK Runtime 2016 R2 is installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Tracking stopped after the RealSense SDK Runtime execution has aborted.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Tracking stopped after another program changed camera streams configuration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Install Runtime</source>
<translation type="unfinished"></translation>
</message>
@@ -37,12 +31,10 @@
<context>
<name>UIRSControls</name>
<message>
- <location filename="../ftnoir_tracker_rs_controls.ui" line="+17"/>
<source>RealSense 3D Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>There is no configuration available at the moment.
The application will activate your camera for face tracking by the
@@ -54,7 +46,6 @@ F200 or SR300 camera and the RealSense™ SDK 2016 R2 runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Install Runtime</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rs/lang/ru_RU.ts b/tracker-rs/lang/ru_RU.ts
index 0b731dd3..8f9a419b 100644
--- a/tracker-rs/lang/ru_RU.ts
+++ b/tracker-rs/lang/ru_RU.ts
@@ -4,32 +4,26 @@
<context>
<name>RSTracker</name>
<message>
- <location filename="../ftnoir_tracker_rs.cpp" line="+93"/>
<source>Intel® RealSense™ Runtime Installation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Installation process failed to start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Couldn&apos;t initialize RealSense tracking. Please make sure SDK Runtime 2016 R2 is installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Tracking stopped after the RealSense SDK Runtime execution has aborted.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Tracking stopped after another program changed camera streams configuration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Install Runtime</source>
<translation type="unfinished"></translation>
</message>
@@ -37,12 +31,10 @@
<context>
<name>UIRSControls</name>
<message>
- <location filename="../ftnoir_tracker_rs_controls.ui" line="+17"/>
<source>RealSense 3D Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>There is no configuration available at the moment.
The application will activate your camera for face tracking by the
@@ -54,7 +46,6 @@ F200 or SR300 camera and the RealSense™ SDK 2016 R2 runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Install Runtime</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rs/lang/stub.ts b/tracker-rs/lang/stub.ts
index 628abdb9..4f82f60d 100644
--- a/tracker-rs/lang/stub.ts
+++ b/tracker-rs/lang/stub.ts
@@ -4,32 +4,26 @@
<context>
<name>RSTracker</name>
<message>
- <location filename="../ftnoir_tracker_rs.cpp" line="+93"/>
<source>Intel® RealSense™ Runtime Installation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Installation process failed to start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Couldn&apos;t initialize RealSense tracking. Please make sure SDK Runtime 2016 R2 is installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Tracking stopped after the RealSense SDK Runtime execution has aborted.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>Tracking stopped after another program changed camera streams configuration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>Install Runtime</source>
<translation type="unfinished"></translation>
</message>
@@ -37,12 +31,10 @@
<context>
<name>UIRSControls</name>
<message>
- <location filename="../ftnoir_tracker_rs_controls.ui" line="+17"/>
<source>RealSense 3D Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>There is no configuration available at the moment.
The application will activate your camera for face tracking by the
@@ -54,7 +46,6 @@ F200 or SR300 camera and the RealSense™ SDK 2016 R2 runtime.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Install Runtime</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-rs/lang/zh_CN.ts b/tracker-rs/lang/zh_CN.ts
new file mode 100644
index 00000000..4f82f60d
--- /dev/null
+++ b/tracker-rs/lang/zh_CN.ts
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>RSTracker</name>
+ <message>
+ <source>Intel® RealSense™ Runtime Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Installation process failed to start.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Couldn&apos;t initialize RealSense tracking. Please make sure SDK Runtime 2016 R2 is installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tracking stopped after the RealSense SDK Runtime execution has aborted.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tracking stopped after another program changed camera streams configuration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Install Runtime</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UIRSControls</name>
+ <message>
+ <source>RealSense 3D Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>There is no configuration available at the moment.
+
+The application will activate your camera for face tracking by the
+Intel® RealSense™ SDK. By design, the application has no direct access
+to any camera images.
+
+In order to use this tracker, you need a PC equipped with an Intel® RealSense™
+F200 or SR300 camera and the RealSense™ SDK 2016 R2 runtime.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Install Runtime</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-s2bot/lang/nl_NL.ts b/tracker-s2bot/lang/nl_NL.ts
index d37ffa80..12e39d07 100644
--- a/tracker-s2bot/lang/nl_NL.ts
+++ b/tracker-s2bot/lang/nl_NL.ts
@@ -4,115 +4,78 @@
<context>
<name>UI_s2bot_dialog</name>
<message>
- <location filename="../s2bot-controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>Update frequency (Hz)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Axis order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>output yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input bearing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-23"/>
<source>output pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>output roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-s2bot/lang/ru_RU.ts b/tracker-s2bot/lang/ru_RU.ts
index 8ced584e..22b8000e 100644
--- a/tracker-s2bot/lang/ru_RU.ts
+++ b/tracker-s2bot/lang/ru_RU.ts
@@ -4,115 +4,78 @@
<context>
<name>UI_s2bot_dialog</name>
<message>
- <location filename="../s2bot-controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>Update frequency (Hz)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Axis order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>output yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input bearing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-23"/>
<source>output pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>output roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-s2bot/lang/stub.ts b/tracker-s2bot/lang/stub.ts
index 89f1cc13..692400cf 100644
--- a/tracker-s2bot/lang/stub.ts
+++ b/tracker-s2bot/lang/stub.ts
@@ -4,115 +4,78 @@
<context>
<name>UI_s2bot_dialog</name>
<message>
- <location filename="../s2bot-controls.ui" line="+17"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>Update frequency (Hz)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Axis order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>output yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-50"/>
- <location line="+24"/>
- <location line="+31"/>
<source>input bearing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-23"/>
<source>output pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
<source>output roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-s2bot/lang/zh_CN.ts b/tracker-s2bot/lang/zh_CN.ts
new file mode 100644
index 00000000..692400cf
--- /dev/null
+++ b/tracker-s2bot/lang/zh_CN.ts
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UI_s2bot_dialog</name>
+ <message>
+ <source>Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Update frequency (Hz)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Axis order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>output yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>input yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>input pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>input roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>input bearing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>output pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>output roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Add to axis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>+90</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-90</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>+180</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-180</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-steamvr/lang/nl_NL.ts b/tracker-steamvr/lang/nl_NL.ts
index 6d831ecc..b8def443 100644
--- a/tracker-steamvr/lang/nl_NL.ts
+++ b/tracker-steamvr/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>dialog</name>
<message>
- <location filename="../dialog.ui" line="+23"/>
<source>Valve SteamVR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
@@ -17,12 +15,10 @@
<context>
<name>steamvr</name>
<message>
- <location filename="../steamvr.cpp" line="+203"/>
<source>No HMD connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Can&apos;t find device with that serial</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-steamvr/lang/ru_RU.ts b/tracker-steamvr/lang/ru_RU.ts
index eec6e97e..019b3616 100644
--- a/tracker-steamvr/lang/ru_RU.ts
+++ b/tracker-steamvr/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>dialog</name>
<message>
- <location filename="../dialog.ui" line="+23"/>
<source>Valve SteamVR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
@@ -17,12 +15,10 @@
<context>
<name>steamvr</name>
<message>
- <location filename="../steamvr.cpp" line="+203"/>
<source>No HMD connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Can&apos;t find device with that serial</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-steamvr/lang/stub.ts b/tracker-steamvr/lang/stub.ts
index 96cc66f6..9c2782ac 100644
--- a/tracker-steamvr/lang/stub.ts
+++ b/tracker-steamvr/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>dialog</name>
<message>
- <location filename="../dialog.ui" line="+23"/>
<source>Valve SteamVR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
@@ -17,12 +15,10 @@
<context>
<name>steamvr</name>
<message>
- <location filename="../steamvr.cpp" line="+203"/>
<source>No HMD connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
<source>Can&apos;t find device with that serial</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-steamvr/lang/zh_CN.ts b/tracker-steamvr/lang/zh_CN.ts
new file mode 100644
index 00000000..9c2782ac
--- /dev/null
+++ b/tracker-steamvr/lang/zh_CN.ts
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>dialog</name>
+ <message>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Device</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>steamvr</name>
+ <message>
+ <source>No HMD connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Can&apos;t find device with that serial</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-test/lang/nl_NL.ts b/tracker-test/lang/nl_NL.ts
index 62759ab0..2917d26b 100644
--- a/tracker-test/lang/nl_NL.ts
+++ b/tracker-test/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>test_ui</name>
<message>
- <location filename="../test.ui" line="+17"/>
<source>Sine wave</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Pressing &quot;Abort&quot; will immediately crash the application.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-test/lang/ru_RU.ts b/tracker-test/lang/ru_RU.ts
index d32bdde2..ca7d0ce3 100644
--- a/tracker-test/lang/ru_RU.ts
+++ b/tracker-test/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>test_ui</name>
<message>
- <location filename="../test.ui" line="+17"/>
<source>Sine wave</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Pressing &quot;Abort&quot; will immediately crash the application.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-test/lang/stub.ts b/tracker-test/lang/stub.ts
index 306808dc..ddba8441 100644
--- a/tracker-test/lang/stub.ts
+++ b/tracker-test/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>test_ui</name>
<message>
- <location filename="../test.ui" line="+17"/>
<source>Sine wave</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Pressing &quot;Abort&quot; will immediately crash the application.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-test/lang/zh_CN.ts b/tracker-test/lang/zh_CN.ts
new file mode 100644
index 00000000..ddba8441
--- /dev/null
+++ b/tracker-test/lang/zh_CN.ts
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>test_ui</name>
+ <message>
+ <source>Sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pressing &quot;Abort&quot; will immediately crash the application.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-tobii-eyex/lang/nl_NL.ts b/tracker-tobii-eyex/lang/nl_NL.ts
index 6e02a0cd..f58d6213 100644
--- a/tracker-tobii-eyex/lang/nl_NL.ts
+++ b/tracker-tobii-eyex/lang/nl_NL.ts
@@ -4,69 +4,51 @@
<context>
<name>tobii_eyex_dialog_widgets</name>
<message>
- <location filename="../tobii-eyex-dialog.ui" line="+14"/>
<source>Tracker options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Tracking settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>Accumulative mode shifts the view toward a target that may be offscreen then fixes upon it.
On the other hand, the snap mode allows for a quick glance outside the field of vision.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+89"/>
<source>Accumulative mode settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
- <location line="+280"/>
<source>Screen edge length</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
- <location line="+129"/>
<source>Max yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-97"/>
- <location line="+84"/>
<source>Max pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-51"/>
- <location line="+180"/>
<source>Position output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-167"/>
- <location line="+154"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-138"/>
<source>Snap mode settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-209"/>
<source>Tracking mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+102"/>
- <location line="+155"/>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-tobii-eyex/lang/ru_RU.ts b/tracker-tobii-eyex/lang/ru_RU.ts
index 1f30e1c2..844cb931 100644
--- a/tracker-tobii-eyex/lang/ru_RU.ts
+++ b/tracker-tobii-eyex/lang/ru_RU.ts
@@ -4,69 +4,51 @@
<context>
<name>tobii_eyex_dialog_widgets</name>
<message>
- <location filename="../tobii-eyex-dialog.ui" line="+14"/>
<source>Tracker options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Tracking settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>Accumulative mode shifts the view toward a target that may be offscreen then fixes upon it.
On the other hand, the snap mode allows for a quick glance outside the field of vision.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+89"/>
<source>Accumulative mode settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
- <location line="+280"/>
<source>Screen edge length</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
- <location line="+129"/>
<source>Max yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-97"/>
- <location line="+84"/>
<source>Max pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-51"/>
- <location line="+180"/>
<source>Position output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-167"/>
- <location line="+154"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-138"/>
<source>Snap mode settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-209"/>
<source>Tracking mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+102"/>
- <location line="+155"/>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-tobii-eyex/lang/stub.ts b/tracker-tobii-eyex/lang/stub.ts
index cab520cd..a8702a56 100644
--- a/tracker-tobii-eyex/lang/stub.ts
+++ b/tracker-tobii-eyex/lang/stub.ts
@@ -4,69 +4,51 @@
<context>
<name>tobii_eyex_dialog_widgets</name>
<message>
- <location filename="../tobii-eyex-dialog.ui" line="+14"/>
<source>Tracker options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
<source>Tracking settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>Accumulative mode shifts the view toward a target that may be offscreen then fixes upon it.
On the other hand, the snap mode allows for a quick glance outside the field of vision.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+89"/>
<source>Accumulative mode settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
- <location line="+280"/>
<source>Screen edge length</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
- <location line="+129"/>
<source>Max yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-97"/>
- <location line="+84"/>
<source>Max pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-51"/>
- <location line="+180"/>
<source>Position output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-167"/>
- <location line="+154"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-138"/>
<source>Snap mode settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-209"/>
<source>Tracking mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+102"/>
- <location line="+155"/>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-tobii-eyex/lang/zh_CN.ts b/tracker-tobii-eyex/lang/zh_CN.ts
new file mode 100644
index 00000000..57899430
--- /dev/null
+++ b/tracker-tobii-eyex/lang/zh_CN.ts
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>tobii_eyex_dialog_widgets</name>
+ <message>
+ <source>Tracker options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tracking settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Accumulative mode shifts the view toward a target that may be offscreen then fixes upon it.
+On the other hand, the snap mode allows for a quick glance outside the field of vision.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tracking mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Accumulative mode settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Screen edge length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Max yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Max pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Position output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Snap mode settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-udp/lang/nl_NL.ts b/tracker-udp/lang/nl_NL.ts
index 3e61cbc2..a7e31195 100644
--- a/tracker-udp/lang/nl_NL.ts
+++ b/tracker-udp/lang/nl_NL.ts
@@ -4,67 +4,46 @@
<context>
<name>UICFTNClientControls</name>
<message>
- <location filename="../ftnoir_ftnclientcontrols.ui" line="+23"/>
<source>UDP tracker settings</source>
<translation>UDP tracker-instellingen</translation>
</message>
<message>
- <location line="+49"/>
<source>Port</source>
<translation>Poort</translation>
</message>
<message>
- <location line="+20"/>
<source>Add to axis</source>
<translation>Aan as toevoegen</translation>
</message>
<message>
- <location line="+24"/>
<source>yaw</source>
<translation>yaw</translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation>0</translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation>+90</translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation>-90</translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation>+180</translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation>-180</translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation>pitch</translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation>rol</translation>
</message>
@@ -72,7 +51,6 @@
<context>
<name>udp</name>
<message>
- <location filename="../ftnoir_tracker_udp.cpp" line="+70"/>
<source>Can&apos;t bind socket -- %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-udp/lang/ru_RU.ts b/tracker-udp/lang/ru_RU.ts
index 2f969d50..5e763652 100644
--- a/tracker-udp/lang/ru_RU.ts
+++ b/tracker-udp/lang/ru_RU.ts
@@ -4,67 +4,46 @@
<context>
<name>UICFTNClientControls</name>
<message>
- <location filename="../ftnoir_ftnclientcontrols.ui" line="+23"/>
<source>UDP tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
@@ -72,7 +51,6 @@
<context>
<name>udp</name>
<message>
- <location filename="../ftnoir_tracker_udp.cpp" line="+70"/>
<source>Can&apos;t bind socket -- %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-udp/lang/stub.ts b/tracker-udp/lang/stub.ts
index 62153868..6b8cddea 100644
--- a/tracker-udp/lang/stub.ts
+++ b/tracker-udp/lang/stub.ts
@@ -4,67 +4,46 @@
<context>
<name>UICFTNClientControls</name>
<message>
- <location filename="../ftnoir_ftnclientcontrols.ui" line="+23"/>
<source>UDP tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
<source>Port</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
<source>Add to axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
<source>yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+43"/>
- <location line="+29"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-90</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>+180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-67"/>
- <location line="+43"/>
- <location line="+29"/>
<source>-180</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
<source>pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>roll</source>
<translation type="unfinished"></translation>
</message>
@@ -72,7 +51,6 @@
<context>
<name>udp</name>
<message>
- <location filename="../ftnoir_tracker_udp.cpp" line="+70"/>
<source>Can&apos;t bind socket -- %1</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tracker-udp/lang/zh_CN.ts b/tracker-udp/lang/zh_CN.ts
new file mode 100644
index 00000000..6b8cddea
--- /dev/null
+++ b/tracker-udp/lang/zh_CN.ts
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UICFTNClientControls</name>
+ <message>
+ <source>UDP tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Add to axis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>+90</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-90</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>+180</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>-180</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udp</name>
+ <message>
+ <source>Can&apos;t bind socket -- %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-wii/lang/nl_NL.ts b/tracker-wii/lang/nl_NL.ts
index a81f94e2..9e739505 100644
--- a/tracker-wii/lang/nl_NL.ts
+++ b/tracker-wii/lang/nl_NL.ts
@@ -1,293 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl_NL">
-<context>
- <name>PT_metadata</name>
- <message>
- <location filename="../ftnoir_tracker_pt.h" line="+95"/>
- <source>PointTracker 1.1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>UICPTClientControls</name>
- <message>
- <location filename="../FTNoIR_PT_Controls.ui" line="+23"/>
- <source>PointTracker Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+38"/>
- <source>Camera</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Camera settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+19"/>
- <source>°</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+22"/>
- <source>Diagonal field of view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Width</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+13"/>
- <source>FPS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Desired capture height</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
- <location line="+55"/>
- <location line="+175"/>
- <location line="+16"/>
- <source> px</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-233"/>
- <source>Dynamic pose timeout</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Desired capture framerate</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
- <source> Hz</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+23"/>
- <source>Desired capture width</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+22"/>
- <source>Height</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source> ms</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+19"/>
- <source>Dynamic pose resolution</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Open</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Camera settings (when available)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Point extraction</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Max size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Threshold</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Min size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Intensity threshold for point extraction</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+25"/>
- <source>Automatic threshold</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Enable, slider sets point size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Maximum point diameter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Minimum point diameter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+20"/>
- <source>Model</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+28"/>
- <source>Clip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+18"/>
- <location line="+154"/>
- <location line="+129"/>
- <source>Model Dimensions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-271"/>
- <location line="+19"/>
- <location line="+48"/>
- <location line="+19"/>
- <location line="+97"/>
- <location line="+35"/>
- <location line="+32"/>
- <location line="+40"/>
- <location line="+26"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+26"/>
- <location line="+132"/>
- <location line="+26"/>
- <location line="+26"/>
- <source> mm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-511"/>
- <location line="+116"/>
- <source>Side</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-65"/>
- <location line="+132"/>
- <source>Front</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-107"/>
- <source>Cap</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+135"/>
- <source>Custom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+18"/>
- <location line="+169"/>
- <location line="+106"/>
- <source>z:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-249"/>
- <location line="+104"/>
- <location line="+93"/>
- <source>x:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-132"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Location of the two remaining model points&lt;br/&gt;with respect to the reference point in default pose&lt;/p&gt;&lt;p&gt;Use any units you want, not necessarily centimeters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+26"/>
- <location line="+65"/>
- <location line="+67"/>
- <source>y:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-106"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+13"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+46"/>
- <source>Model position</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+105"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/opentrack/opentrack/wiki/model-calibration-for-PT-and-Aruco-trackers&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;Instructions on the opentrack wiki&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Start calibration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+17"/>
- <source>About</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Manual (external)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+36"/>
- <source>Status</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Extracted Points:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Camera Info:</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
</TS>
diff --git a/tracker-wii/lang/ru_RU.ts b/tracker-wii/lang/ru_RU.ts
index 016ddb7c..f62cf2e1 100644
--- a/tracker-wii/lang/ru_RU.ts
+++ b/tracker-wii/lang/ru_RU.ts
@@ -1,347 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
-<context>
- <name>PT_metadata</name>
- <message>
- <location filename="../ftnoir_tracker_pt.h" line="+96"/>
- <source>PointTracker 1.1</source>
- <translation></translation>
- </message>
-</context>
-<context>
- <name>TrackerDialog_PT</name>
- <message>
- <location filename="../ftnoir_tracker_pt_dialog.cpp" line="+130"/>
- <source>%1 samples. Over %2, good!</source>
- <translation>Получено %1 образца(-ов). Больше %2, отлично!!</translation>
- </message>
- <message>
- <location line="-8"/>
- <source>%1 yaw samples. Yaw more to %2 samples for stable calibration.</source>
- <translation>По оси YAW выполнено: %1 замер(а/ов). Для стабильного результата необходимо не меньше %2</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>%1 pitch samples. Pitch more to %2 samples for stable calibration.</source>
- <translation>По оси Pitch выполнено: %1 замер(а/ов). Для стабильного результата необходимо не меньше %2</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Stop calibration</source>
- <translation>Остановить калибровку</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Start calibration</source>
- <translation>Начать калибровку</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>%1x%2 @ %3 FPS</source>
- <translation></translation>
- </message>
- <message>
- <location line="+4"/>
- <source>%1 OK!</source>
- <translation></translation>
- </message>
- <message>
- <location line="+0"/>
- <source>%1 BAD!</source>
- <translation></translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Tracker offline</source>
- <translation>Отслеживание отключено</translation>
- </message>
-</context>
-<context>
- <name>UICPTClientControls</name>
- <message>
- <location filename="../FTNoIR_PT_Controls.ui" line="+23"/>
- <source>PointTracker Settings</source>
- <translation>Настройки PointTracker</translation>
- </message>
- <message>
- <location line="+38"/>
- <source>Camera</source>
- <translation>Камера</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Camera settings</source>
- <translation>Настройка камеры</translation>
- </message>
- <message>
- <location line="+19"/>
- <source>°</source>
- <translation></translation>
- </message>
- <message>
- <location line="+22"/>
- <source>Diagonal field of view</source>
- <translation>Угол обзора камеры</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Width</source>
- <translation>Ширина</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>FPS</source>
- <translation>FPS (Кадров в секунду)</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Desired capture height</source>
- <translation></translation>
- </message>
- <message>
- <location line="+3"/>
- <location line="+55"/>
- <location line="+175"/>
- <location line="+16"/>
- <source> px</source>
- <translation></translation>
- </message>
- <message>
- <location line="-233"/>
- <source>Dynamic pose timeout</source>
- <translation>Динамическая поза (время ожидания)</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Desired capture framerate</source>
- <translation>Желаемая частота кадров</translation>
- </message>
- <message>
- <location line="+3"/>
- <source> Hz</source>
- <translation> Гц</translation>
- </message>
- <message>
- <location line="+23"/>
- <source>Desired capture width</source>
- <translation>Желаемая ширина захвата</translation>
- </message>
- <message>
- <location line="+22"/>
- <source>Height</source>
- <translation>Высота</translation>
- </message>
- <message>
- <location line="+7"/>
- <source> ms</source>
- <translation> мс</translation>
- </message>
- <message>
- <location line="+19"/>
- <source>Dynamic pose (for caps only, never clips)</source>
- <translation>Динамическая поза (Только для модели &quot;Кепка&quot;)</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Device</source>
- <translation>Устройство</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Open</source>
- <translation>Открыть</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Camera settings (when available)</source>
- <translation>Параметры камеры (если доступно)</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Point extraction</source>
- <translation>Извлечение точек</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Max size</source>
- <translation>Макс.размер</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Threshold</source>
- <translation>Порог</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Min size</source>
- <translation>Мин.размер</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Intensity threshold for point extraction</source>
- <translation>Порог интенсивности для извлечения точки</translation>
- </message>
- <message>
- <location line="+25"/>
- <source>Automatic threshold</source>
- <translation>Автоматич. порог</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Enable, slider sets point size</source>
- <translation>Полузнок устанавливает размер точек</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Maximum point diameter</source>
- <translation></translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Minimum point diameter</source>
- <translation></translation>
- </message>
- <message>
- <location line="+20"/>
- <source>Model</source>
- <translation>Модель</translation>
- </message>
- <message>
- <location line="+28"/>
- <source>Clip</source>
- <translation>Клипса</translation>
- </message>
- <message>
- <location line="+18"/>
- <location line="+154"/>
- <location line="+129"/>
- <source>Model Dimensions</source>
- <translation>Размеры модели</translation>
- </message>
- <message>
- <location line="-271"/>
- <location line="+19"/>
- <location line="+48"/>
- <location line="+19"/>
- <location line="+97"/>
- <location line="+35"/>
- <location line="+32"/>
- <location line="+40"/>
- <location line="+26"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+13"/>
- <location line="+26"/>
- <location line="+119"/>
- <location line="+26"/>
- <location line="+26"/>
- <source> mm</source>
- <translation> мм</translation>
- </message>
- <message>
- <location line="-498"/>
- <location line="+116"/>
- <source>Side</source>
- <translation>Сбоку</translation>
- </message>
- <message>
- <location line="-65"/>
- <location line="+132"/>
- <source>Front</source>
- <translation>Спереди</translation>
- </message>
- <message>
- <location line="-107"/>
- <source>Cap</source>
- <translation>Кепка</translation>
- </message>
- <message>
- <location line="+135"/>
- <source>Custom</source>
- <translation>Свой</translation>
- </message>
- <message>
- <location line="+18"/>
- <location line="+169"/>
- <location line="+67"/>
- <source>z:</source>
- <translation></translation>
- </message>
- <message>
- <location line="-210"/>
- <location line="+104"/>
- <location line="+132"/>
- <source>x:</source>
- <translation></translation>
- </message>
- <message>
- <location line="-171"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Location of the two remaining model points&lt;br/&gt;with respect to the reference point in default pose&lt;/p&gt;&lt;p&gt;Use any units you want, not necessarily centimeters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translatorcomment>Расположение двух оставшихся точек модели относительно опорной точки в стандартной позе. Возможно исп-ть любые единицы измерения, не обязательно сантиметры.</translatorcomment>
- <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; Расположение двух оставшихся точек модели&lt;br/&gt;относительно опорной точки в стандартной позе. &lt;/p&gt;&lt;p&gt;Возможно использовать любые единицы измерения.&lt;/p&gt;&lt;/body&gt;&lt;/html</translation>
- </message>
- <message>
- <location line="+26"/>
- <location line="+65"/>
- <location line="+106"/>
- <source>y:</source>
- <translation></translation>
- </message>
- <message>
- <location line="-145"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation></translation>
- </message>
- <message>
- <location line="+13"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot; font-size:16pt; vertical-align:sub;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation></translation>
- </message>
- <message>
- <location line="+46"/>
- <source>Model position</source>
- <translation>Положение модели</translation>
- </message>
- <message>
- <location line="+105"/>
- <source>Use only yaw and pitch while calibrating.
-Don&apos;t roll or change position.</source>
- <translation>Во время калибровки
-используйте только оси
-YAW и PITCH.
-Не используйте оси
-ROLL или X/Y-смещения.</translation>
- </message>
- <message>
- <location line="+36"/>
- <source>Start calibration</source>
- <translation>Начать калибровку</translation>
- </message>
- <message>
- <location line="+17"/>
- <source>About</source>
- <translation>О программе</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Manual (external)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;FTNoIR PointTracker Plugin&lt;br/&gt;Version 1.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Patrick Ruoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://ftnoirpt.sourceforge.net/&quot;&gt;&lt;span style=&quot; font-weight:600; text-decoration: underline; color:#0000ff;&quot;&gt;Руководство (PointTracker)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location line="+36"/>
- <source>Status</source>
- <translation>Статус</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Extracted Points:</source>
- <translation>Извлечено точек:</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Camera Info:</source>
- <translation>Параметры камеры:</translation>
- </message>
-</context>
</TS>
diff --git a/tracker-wii/wiiyourself/lang/zh_CN.ts b/tracker-wii/wiiyourself/lang/zh_CN.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/tracker-wii/wiiyourself/lang/zh_CN.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/variant/default/lang/nl_NL.ts b/variant/default/lang/nl_NL.ts
index 2dbcebbe..f9705855 100644
--- a/variant/default/lang/nl_NL.ts
+++ b/variant/default/lang/nl_NL.ts
@@ -4,12 +4,10 @@
<context>
<name>UI_new_config</name>
<message>
- <location filename="../new_config.ui" line="+17"/>
<source>Config filename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>New file name:</source>
<translation type="unfinished"></translation>
</message>
@@ -17,204 +15,154 @@
<context>
<name>main_window</name>
<message>
- <location filename="../main-window.ui" line="+265"/>
<source>Raw tracker data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+73"/>
- <location line="+533"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-517"/>
- <location line="+463"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-404"/>
- <location line="+357"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-341"/>
- <location line="+319"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-266"/>
- <location line="+351"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-335"/>
- <location line="+351"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-224"/>
<source>Game data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+408"/>
<source>Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
- <location filename="../main-window.cpp" line="+254"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Mapping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Tracking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+36"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
<source>Input</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+56"/>
- <location line="+69"/>
- <location line="+69"/>
<source>🔨</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-125"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+69"/>
<source>Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main-window.cpp" line="-205"/>
<source>Running as root is bad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. Set correct device node permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Running as root is bad, seriously</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. I&apos;ll keep whining at every startup.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Running as root is really seriously bad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. Be annoyed, comprehensively.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+65"/>
<source>Create new empty config</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Create new copied config</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Open configuration directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+86"/>
- <location line="+380"/>
<source>opentrack</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-377"/>
<source> (debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+581"/>
<source>Show the Octopus</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-581"/>
- <location line="+581"/>
<source>Hide the Octopus</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-574"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Filter settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>Mappings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
<source>The Octopus is sad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Check permissions for your .ini directory:
&quot;%1&quot;%2
@@ -223,8 +171,6 @@ Exiting now.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+286"/>
- <location line="+4"/>
<source> :: </source>
<translation type="unfinished"></translation>
</message>
@@ -232,12 +178,10 @@ Exiting now.</source>
<context>
<name>new_file_dialog</name>
<message>
- <location filename="../new_file_dialog.cpp" line="+29"/>
<source>File exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>This file already exists. Pick another name.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/variant/default/lang/ru_RU.ts b/variant/default/lang/ru_RU.ts
index 81f8b4af..5fbaeec4 100644
--- a/variant/default/lang/ru_RU.ts
+++ b/variant/default/lang/ru_RU.ts
@@ -4,12 +4,10 @@
<context>
<name>UI_new_config</name>
<message>
- <location filename="../new_config.ui" line="+17"/>
<source>Config filename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>New file name:</source>
<translation type="unfinished"></translation>
</message>
@@ -17,204 +15,154 @@
<context>
<name>main_window</name>
<message>
- <location filename="../main-window.ui" line="+265"/>
<source>Raw tracker data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+73"/>
- <location line="+533"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-517"/>
- <location line="+463"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-404"/>
- <location line="+357"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-341"/>
- <location line="+319"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-266"/>
- <location line="+351"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-335"/>
- <location line="+351"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-224"/>
<source>Game data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+408"/>
<source>Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
- <location filename="../main-window.cpp" line="+254"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Mapping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Tracking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+36"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
<source>Input</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+56"/>
- <location line="+69"/>
- <location line="+69"/>
<source>🔨</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-125"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+69"/>
<source>Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main-window.cpp" line="-205"/>
<source>Running as root is bad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. Set correct device node permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Running as root is bad, seriously</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. I&apos;ll keep whining at every startup.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Running as root is really seriously bad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. Be annoyed, comprehensively.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+65"/>
<source>Create new empty config</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Create new copied config</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Open configuration directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+86"/>
- <location line="+380"/>
<source>opentrack</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-377"/>
<source> (debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+581"/>
<source>Show the Octopus</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-581"/>
- <location line="+581"/>
<source>Hide the Octopus</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-574"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Filter settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>Mappings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
<source>The Octopus is sad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Check permissions for your .ini directory:
&quot;%1&quot;%2
@@ -223,8 +171,6 @@ Exiting now.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+286"/>
- <location line="+4"/>
<source> :: </source>
<translation type="unfinished"></translation>
</message>
@@ -232,12 +178,10 @@ Exiting now.</source>
<context>
<name>new_file_dialog</name>
<message>
- <location filename="../new_file_dialog.cpp" line="+29"/>
<source>File exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>This file already exists. Pick another name.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/variant/default/lang/stub.ts b/variant/default/lang/stub.ts
index 7965eae5..83062231 100644
--- a/variant/default/lang/stub.ts
+++ b/variant/default/lang/stub.ts
@@ -4,12 +4,10 @@
<context>
<name>UI_new_config</name>
<message>
- <location filename="../new_config.ui" line="+17"/>
<source>Config filename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
<source>New file name:</source>
<translation type="unfinished"></translation>
</message>
@@ -17,204 +15,154 @@
<context>
<name>main_window</name>
<message>
- <location filename="../main-window.ui" line="+265"/>
<source>Raw tracker data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+73"/>
- <location line="+533"/>
<source>Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-517"/>
- <location line="+463"/>
<source>Pitch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-404"/>
- <location line="+357"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-341"/>
- <location line="+319"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-266"/>
- <location line="+351"/>
<source>Roll</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-335"/>
- <location line="+351"/>
<source>Yaw</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-224"/>
<source>Game data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+408"/>
<source>Profile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
- <location filename="../main-window.cpp" line="+254"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Mapping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Tracking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+36"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
<source>Input</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+56"/>
- <location line="+69"/>
- <location line="+69"/>
<source>🔨</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-125"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+69"/>
<source>Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main-window.cpp" line="-205"/>
<source>Running as root is bad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. Set correct device node permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Running as root is bad, seriously</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. I&apos;ll keep whining at every startup.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Running as root is really seriously bad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Do not run as root. Be annoyed, comprehensively.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+65"/>
<source>Create new empty config</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Create new copied config</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Open configuration directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+86"/>
- <location line="+380"/>
<source>opentrack</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-377"/>
<source> (debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <location line="+581"/>
<source>Show the Octopus</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-581"/>
- <location line="+581"/>
<source>Hide the Octopus</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-574"/>
<source>Tracker settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Filter settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
<source>Protocol settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
<source>Mappings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
<source>The Octopus is sad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>Check permissions for your .ini directory:
&quot;%1&quot;%2
@@ -223,8 +171,6 @@ Exiting now.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+286"/>
- <location line="+4"/>
<source> :: </source>
<translation type="unfinished"></translation>
</message>
@@ -232,12 +178,10 @@ Exiting now.</source>
<context>
<name>new_file_dialog</name>
<message>
- <location filename="../new_file_dialog.cpp" line="+29"/>
<source>File exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>This file already exists. Pick another name.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/variant/default/lang/zh_CN.ts b/variant/default/lang/zh_CN.ts
new file mode 100644
index 00000000..83062231
--- /dev/null
+++ b/variant/default/lang/zh_CN.ts
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>UI_new_config</name>
+ <message>
+ <source>Config filename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>New file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>main_window</name>
+ <message>
+ <source>Raw tracker data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Game data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mapping</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>🔨</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Filter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Running as root is bad</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Do not run as root. Set correct device node permissions.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Running as root is bad, seriously</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Do not run as root. I&apos;ll keep whining at every startup.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Running as root is really seriously bad</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Do not run as root. Be annoyed, comprehensively.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Create new empty config</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Create new copied config</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open configuration directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>opentrack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source> (debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show the Octopus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Hide the Octopus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Filter settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mappings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The Octopus is sad</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Check permissions for your .ini directory:
+
+&quot;%1&quot;%2
+
+Exiting now.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source> :: </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>new_file_dialog</name>
+ <message>
+ <source>File exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>This file already exists. Pick another name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>