summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--api/lang/nl_NL.ts4
-rw-r--r--api/lang/pl_PL.ts4
-rw-r--r--api/lang/ru_RU.ts4
-rw-r--r--api/lang/stub.ts4
-rw-r--r--compat/lang/nl_NL.ts4
-rw-r--r--compat/lang/pl_PL.ts4
-rw-r--r--compat/lang/ru_RU.ts4
-rw-r--r--compat/lang/stub.ts4
-rw-r--r--csv/lang/nl_NL.ts4
-rw-r--r--csv/lang/pl_PL.ts4
-rw-r--r--csv/lang/ru_RU.ts4
-rw-r--r--csv/lang/stub.ts4
-rw-r--r--cv/lang/nl_NL.ts4
-rw-r--r--cv/lang/pl_PL.ts4
-rw-r--r--cv/lang/ru_RU.ts4
-rw-r--r--cv/lang/stub.ts4
-rw-r--r--dinput/lang/nl_NL.ts4
-rw-r--r--dinput/lang/pl_PL.ts4
-rw-r--r--dinput/lang/ru_RU.ts4
-rw-r--r--dinput/lang/stub.ts4
-rw-r--r--filter-accela/lang/nl_NL.ts94
-rw-r--r--filter-accela/lang/pl_PL.ts89
-rw-r--r--filter-accela/lang/stub.ts94
-rw-r--r--filter-ewma2/lang/nl_NL.ts64
-rw-r--r--filter-ewma2/lang/pl_PL.ts64
-rw-r--r--filter-ewma2/lang/ru_RU.ts64
-rw-r--r--filter-ewma2/lang/stub.ts64
-rw-r--r--filter-kalman/lang/nl_NL.ts45
-rw-r--r--filter-kalman/lang/pl_PL.ts45
-rw-r--r--filter-kalman/lang/ru_RU.ts45
-rw-r--r--filter-kalman/lang/stub.ts45
-rw-r--r--gui/lang/pl_PL.ts738
-rw-r--r--gui/lang/stub.ts755
-rw-r--r--logic/lang/nl_NL.ts27
-rw-r--r--logic/lang/pl_PL.ts27
-rw-r--r--logic/lang/ru_RU.ts27
-rw-r--r--logic/lang/stub.ts27
-rw-r--r--migration/lang/nl_NL.ts4
-rw-r--r--migration/lang/pl_PL.ts4
-rw-r--r--migration/lang/ru_RU.ts4
-rw-r--r--migration/lang/stub.ts4
-rw-r--r--options/lang/nl_NL.ts4
-rw-r--r--options/lang/pl_PL.ts4
-rw-r--r--options/lang/ru_RU.ts4
-rw-r--r--options/lang/stub.ts4
-rw-r--r--pose-widget/lang/nl_NL.ts4
-rw-r--r--pose-widget/lang/pl_PL.ts4
-rw-r--r--pose-widget/lang/ru_RU.ts4
-rw-r--r--pose-widget/lang/stub.ts4
-rw-r--r--proto-fg/lang/nl_NL.ts38
-rw-r--r--proto-fg/lang/pl_PL.ts38
-rw-r--r--proto-fg/lang/ru_RU.ts38
-rw-r--r--proto-fg/lang/stub.ts38
-rw-r--r--proto-fsuipc/lang/nl_NL.ts67
-rw-r--r--proto-fsuipc/lang/pl_PL.ts67
-rw-r--r--proto-fsuipc/lang/ru_RU.ts67
-rw-r--r--proto-fsuipc/lang/stub.ts67
-rw-r--r--proto-ft/lang/nl_NL.ts90
-rw-r--r--proto-ft/lang/pl_PL.ts90
-rw-r--r--proto-ft/lang/stub.ts90
-rw-r--r--proto-ftn/lang/nl_NL.ts58
-rw-r--r--proto-ftn/lang/pl_PL.ts58
-rw-r--r--proto-ftn/lang/ru_RU.ts58
-rw-r--r--proto-ftn/lang/stub.ts58
-rw-r--r--proto-mouse/lang/nl_NL.ts88
-rw-r--r--proto-mouse/lang/pl_PL.ts88
-rw-r--r--proto-mouse/lang/ru_RU.ts88
-rw-r--r--proto-mouse/lang/stub.ts88
-rw-r--r--proto-sc/lang/nl_NL.ts45
-rw-r--r--proto-sc/lang/pl_PL.ts45
-rw-r--r--proto-sc/lang/ru_RU.ts45
-rw-r--r--proto-sc/lang/stub.ts45
-rw-r--r--proto-vjoystick/lang/nl_NL.ts48
-rw-r--r--proto-vjoystick/lang/pl_PL.ts48
-rw-r--r--proto-vjoystick/lang/ru_RU.ts48
-rw-r--r--proto-vjoystick/lang/stub.ts48
-rw-r--r--python/lang/nl_NL.ts4
-rw-r--r--python/lang/ru_RU.ts4
-rw-r--r--python/lang/stub.ts4
-rw-r--r--spline-widget/lang/nl_NL.ts4
-rw-r--r--spline-widget/lang/pl_PL.ts4
-rw-r--r--spline-widget/lang/ru_RU.ts4
-rw-r--r--spline-widget/lang/stub.ts4
-rw-r--r--tracker-aruco/lang/nl_NL.ts112
-rw-r--r--tracker-aruco/lang/pl_PL.ts102
-rw-r--r--tracker-aruco/lang/ru_RU.ts112
-rw-r--r--tracker-aruco/lang/stub.ts112
-rw-r--r--tracker-freepie-udp/lang/nl_NL.ts121
-rw-r--r--tracker-freepie-udp/lang/pl_PL.ts121
-rw-r--r--tracker-freepie-udp/lang/ru_RU.ts121
-rw-r--r--tracker-freepie-udp/lang/stub.ts121
-rw-r--r--tracker-hatire/lang/nl_NL.ts466
-rw-r--r--tracker-hatire/lang/pl_PL.ts452
-rw-r--r--tracker-hatire/lang/ru_RU.ts466
-rw-r--r--tracker-hatire/lang/stub.ts466
-rw-r--r--tracker-hydra/lang/nl_NL.ts17
-rw-r--r--tracker-hydra/lang/pl_PL.ts17
-rw-r--r--tracker-hydra/lang/ru_RU.ts17
-rw-r--r--tracker-hydra/lang/stub.ts17
-rw-r--r--tracker-joystick/lang/nl_NL.ts150
-rw-r--r--tracker-joystick/lang/pl_PL.ts150
-rw-r--r--tracker-joystick/lang/ru_RU.ts150
-rw-r--r--tracker-joystick/lang/stub.ts150
-rw-r--r--tracker-pt/lang/nl_NL.ts293
-rw-r--r--tracker-pt/lang/pl_PL.ts293
-rw-r--r--tracker-pt/lang/stub.ts293
-rw-r--r--tracker-qt-gamepad/lang/nl_NL.ts20
-rw-r--r--tracker-qt-gamepad/lang/pl_PL.ts20
-rw-r--r--tracker-qt-gamepad/lang/ru_RU.ts20
-rw-r--r--tracker-rift-025/lang/nl_NL.ts70
-rw-r--r--tracker-rift-025/lang/pl_PL.ts45
-rw-r--r--tracker-rift-025/lang/ru_RU.ts70
-rw-r--r--tracker-rift-025/lang/stub.ts70
-rw-r--r--tracker-rift-042/lang/nl_NL.ts53
-rw-r--r--tracker-rift-042/lang/pl_PL.ts45
-rw-r--r--tracker-rift-042/lang/ru_RU.ts53
-rw-r--r--tracker-rift-042/lang/stub.ts53
-rw-r--r--tracker-rift-080/lang/nl_NL.ts45
-rw-r--r--tracker-rift-080/lang/pl_PL.ts45
-rw-r--r--tracker-rift-080/lang/ru_RU.ts45
-rw-r--r--tracker-rift-080/lang/stub.ts45
-rw-r--r--tracker-rift-140/lang/nl_NL.ts53
-rw-r--r--tracker-rift-140/lang/pl_PL.ts45
-rw-r--r--tracker-rift-140/lang/ru_RU.ts53
-rw-r--r--tracker-rift-140/lang/stub.ts53
-rw-r--r--tracker-rs/lang/nl_NL.ts70
-rw-r--r--tracker-rs/lang/pl_PL.ts37
-rw-r--r--tracker-rs/lang/ru_RU.ts70
-rw-r--r--tracker-rs/lang/stub.ts70
-rw-r--r--tracker-rs/rs_impl/lang/nl_NL.ts4
-rw-r--r--tracker-rs/rs_impl/lang/pl_PL.ts4
-rw-r--r--tracker-rs/rs_impl/lang/ru_RU.ts4
-rw-r--r--tracker-rs/rs_impl/lang/stub.ts4
-rw-r--r--tracker-steamvr/lang/nl_NL.ts38
-rw-r--r--tracker-steamvr/lang/pl_PL.ts25
-rw-r--r--tracker-steamvr/lang/ru_RU.ts38
-rw-r--r--tracker-steamvr/lang/stub.ts38
-rw-r--r--tracker-test/lang/nl_NL.ts20
-rw-r--r--tracker-test/lang/pl_PL.ts20
-rw-r--r--tracker-test/lang/ru_RU.ts20
-rw-r--r--tracker-test/lang/stub.ts20
-rw-r--r--tracker-tobii-eyex/lang/nl_NL.ts77
-rw-r--r--tracker-tobii-eyex/lang/pl_PL.ts89
-rw-r--r--tracker-tobii-eyex/lang/ru_RU.ts77
-rw-r--r--tracker-tobii-eyex/lang/stub.ts77
-rw-r--r--tracker-udp/lang/nl_NL.ts80
-rw-r--r--tracker-udp/lang/pl_PL.ts80
-rw-r--r--tracker-udp/lang/ru_RU.ts80
-rw-r--r--tracker-udp/lang/stub.ts80
149 files changed, 10460 insertions, 0 deletions
diff --git a/api/lang/nl_NL.ts b/api/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/api/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/api/lang/pl_PL.ts b/api/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/api/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/api/lang/ru_RU.ts b/api/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/api/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/api/lang/stub.ts b/api/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/api/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/compat/lang/nl_NL.ts b/compat/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/compat/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/compat/lang/pl_PL.ts b/compat/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/compat/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/compat/lang/ru_RU.ts b/compat/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/compat/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/compat/lang/stub.ts b/compat/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/compat/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/csv/lang/nl_NL.ts b/csv/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/csv/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/csv/lang/pl_PL.ts b/csv/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/csv/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/csv/lang/ru_RU.ts b/csv/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/csv/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/csv/lang/stub.ts b/csv/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/csv/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/cv/lang/nl_NL.ts b/cv/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/cv/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/cv/lang/pl_PL.ts b/cv/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/cv/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/cv/lang/ru_RU.ts b/cv/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/cv/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/cv/lang/stub.ts b/cv/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/cv/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/dinput/lang/nl_NL.ts b/dinput/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/dinput/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/dinput/lang/pl_PL.ts b/dinput/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/dinput/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/dinput/lang/ru_RU.ts b/dinput/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/dinput/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/dinput/lang/stub.ts b/dinput/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/dinput/lang/stub.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
new file mode 100644
index 00000000..92c418c0
--- /dev/null
+++ b/filter-accela/lang/nl_NL.ts
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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="+13"/>
+ <source>General</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Smoothing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>0 ms</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Position filtering (X, Y, Z - translation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location line="+123"/>
+ <source>Sensitivity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-110"/>
+ <location line="+35"/>
+ <source>0mm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+116"/>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-72"/>
+ <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>
+ <message>
+ <location line="+32"/>
+ <source>Rotation nonlinearity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Setting it higher will filter out rotation noise but may cause sudden jumps on very high settings.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;x&lt;span style=&quot; vertical-align:super;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-18"/>
+ <source>Value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <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-2015&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>accelaDll</name>
+ <message>
+ <location filename="../ftnoir_filter_accela.h" line="+66"/>
+ <source>Accela</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-accela/lang/pl_PL.ts b/filter-accela/lang/pl_PL.ts
new file mode 100644
index 00000000..077805c0
--- /dev/null
+++ b/filter-accela/lang/pl_PL.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>AccelaUICdialog_accela</name>
+ <message>
+ <location filename="../ftnoir_accela_filtercontrols.ui" line="+23"/>
+ <source>Filter settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>General</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Smoothing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>0 ms</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>Position filtering (X, Y, Z - translation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location line="+111"/>
+ <source>Sensitivity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-98"/>
+ <location line="+29"/>
+ <source>0mm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+104"/>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-66"/>
+ <source>Rotation filtering (Yaw, pitch, and roll)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+42"/>
+ <source>0°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Rotation nonlinearity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;x&lt;span style=&quot; vertical-align:super;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <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-2015&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>accelaDll</name>
+ <message>
+ <location filename="../ftnoir_filter_accela.h" line="+63"/>
+ <source>Accela</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-accela/lang/stub.ts b/filter-accela/lang/stub.ts
new file mode 100644
index 00000000..f58321f8
--- /dev/null
+++ b/filter-accela/lang/stub.ts
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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="+13"/>
+ <source>General</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Smoothing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>0 ms</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Position filtering (X, Y, Z - translation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location line="+123"/>
+ <source>Sensitivity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-110"/>
+ <location line="+35"/>
+ <source>0mm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+116"/>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-72"/>
+ <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>
+ <message>
+ <location line="+32"/>
+ <source>Rotation nonlinearity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Setting it higher will filter out rotation noise but may cause sudden jumps on very high settings.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;x&lt;span style=&quot; vertical-align:super;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-18"/>
+ <source>Value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <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-2015&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>accelaDll</name>
+ <message>
+ <location filename="../ftnoir_filter_accela.h" line="+66"/>
+ <source>Accela</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-ewma2/lang/nl_NL.ts b/filter-ewma2/lang/nl_NL.ts
new file mode 100644
index 00000000..3fd59155
--- /dev/null
+++ b/filter-ewma2/lang/nl_NL.ts
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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; }
+&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>
+<context>
+ <name>ewmaDll</name>
+ <message>
+ <location filename="../ftnoir_filter_ewma2.h" line="+62"/>
+ <source>EWMA</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-ewma2/lang/pl_PL.ts b/filter-ewma2/lang/pl_PL.ts
new file mode 100644
index 00000000..c3eec5e2
--- /dev/null
+++ b/filter-ewma2/lang/pl_PL.ts
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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; }
+&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>
+<context>
+ <name>ewmaDll</name>
+ <message>
+ <location filename="../ftnoir_filter_ewma2.h" line="+62"/>
+ <source>EWMA</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-ewma2/lang/ru_RU.ts b/filter-ewma2/lang/ru_RU.ts
new file mode 100644
index 00000000..5953a243
--- /dev/null
+++ b/filter-ewma2/lang/ru_RU.ts
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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; }
+&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>
+<context>
+ <name>ewmaDll</name>
+ <message>
+ <location filename="../ftnoir_filter_ewma2.h" line="+62"/>
+ <source>EWMA</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-ewma2/lang/stub.ts b/filter-ewma2/lang/stub.ts
new file mode 100644
index 00000000..de5b39e6
--- /dev/null
+++ b/filter-ewma2/lang/stub.ts
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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; }
+&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>
+<context>
+ <name>ewmaDll</name>
+ <message>
+ <location filename="../ftnoir_filter_ewma2.h" line="+62"/>
+ <source>EWMA</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-kalman/lang/nl_NL.ts b/filter-kalman/lang/nl_NL.ts
new file mode 100644
index 00000000..5b9bee40
--- /dev/null
+++ b/filter-kalman/lang/nl_NL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>kalmanDll</name>
+ <message>
+ <location filename="../kalman.h" line="+159"/>
+ <source>Kalman</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-kalman/lang/pl_PL.ts b/filter-kalman/lang/pl_PL.ts
new file mode 100644
index 00000000..150abc78
--- /dev/null
+++ b/filter-kalman/lang/pl_PL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>kalmanDll</name>
+ <message>
+ <location filename="../kalman.h" line="+159"/>
+ <source>Kalman</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-kalman/lang/ru_RU.ts b/filter-kalman/lang/ru_RU.ts
new file mode 100644
index 00000000..f17d5a87
--- /dev/null
+++ b/filter-kalman/lang/ru_RU.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>kalmanDll</name>
+ <message>
+ <location filename="../kalman.h" line="+159"/>
+ <source>Kalman</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/filter-kalman/lang/stub.ts b/filter-kalman/lang/stub.ts
new file mode 100644
index 00000000..55b62247
--- /dev/null
+++ b/filter-kalman/lang/stub.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>kalmanDll</name>
+ <message>
+ <location filename="../kalman.h" line="+159"/>
+ <source>Kalman</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/gui/lang/pl_PL.ts b/gui/lang/pl_PL.ts
new file mode 100644
index 00000000..5410227c
--- /dev/null
+++ b/gui/lang/pl_PL.ts
@@ -0,0 +1,738 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>BrowseButton</name>
+ <message>
+ <location filename="../process_detector.cpp" line="+66"/>
+ <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>
+</context>
+<context>
+ <name>Dialog</name>
+ <message>
+ <location filename="../process_widget.ui" line="+14"/>
+ <source>Game detector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <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="+10"/>
+ <source>Start profiles from game executable names in this list</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="../main-window.cpp" line="+90"/>
+ <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="+78"/>
+ <location line="+381"/>
+ <source>opentrack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-378"/>
+ <source> (debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <location line="+555"/>
+ <source>Show the Octopus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-555"/>
+ <location line="+555"/>
+ <source>Hide the Octopus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-548"/>
+ <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="+5"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <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
+
+Exiting now.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+193"/>
+ <source>Library load error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>One of libraries failed to load. Check installation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <location line="+4"/>
+ <source> :: </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../options-dialog.cpp" line="+29"/>
+ <source>Control+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Alt+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shift+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Joy button %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Num+</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<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>
+</context>
+<context>
+ <name>keyboard_listener</name>
+ <message>
+ <location filename="../keyboard_listener.ui" line="+23"/>
+ <source>Bind a shortcut</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Press a key or close this window to remove the keybinding.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>main_window</name>
+ <message>
+ <location filename="../main-window.ui" line="+278"/>
+ <source>Raw tracker data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+67"/>
+ <location line="+479"/>
+ <source>TZ</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-463"/>
+ <location line="+409"/>
+ <source>pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-356"/>
+ <location line="+315"/>
+ <source>TY</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <location line="+277"/>
+ <source>TX</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-230"/>
+ <location line="+309"/>
+ <source>roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-293"/>
+ <location line="+309"/>
+ <source>yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-200"/>
+ <source>Game data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+366"/>
+ <source>Profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <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="+49"/>
+ <location line="+62"/>
+ <location line="+62"/>
+ <source>🔨</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-111"/>
+ <source>Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+62"/>
+ <source>Filter</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>mapping_window</name>
+ <message>
+ <location filename="../mapping-window.ui" line="+32"/>
+ <source>Mapping properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location line="+53"/>
+ <location line="+53"/>
+ <location line="+53"/>
+ <location line="+53"/>
+ <location line="+53"/>
+ <source>Asymmetric mapping below</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-236"/>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>options_dialog</name>
+ <message>
+ <location filename="../options-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="+9"/>
+ <source>Global shortcuts</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <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="+32"/>
+ <location line="+7"/>
+ <location line="+31"/>
+ <location line="+14"/>
+ <location line="+17"/>
+ <location line="+7"/>
+ <location line="+38"/>
+ <location line="+77"/>
+ <location line="+17"/>
+ <location line="+21"/>
+ <source>Bind</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-215"/>
+ <source>Restart tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Toggle while held</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Toggle tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Start tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Stop tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Zero</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Zero while held</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Toggle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Relative translation off while held</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Center at startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Never translate the application interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Minimize to tray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <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="+27"/>
+ <source>Camera</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Camera offset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Use camera center as translation offset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Specify an angle to rotate position tracking. It lets the tracker avoid moving on the X and Y axes when zooming, since camera isn&apos;t mounted perfectly in front of the model, but above or below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <location line="+206"/>
+ <location line="+381"/>
+ <location line="+47"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-860"/>
+ <location line="+130"/>
+ <location line="+460"/>
+ <location line="+18"/>
+ <location line="+28"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-832"/>
+ <location line="+167"/>
+ <location line="+395"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+51"/>
+ <location line="+37"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-814"/>
+ <source>Custom center pose</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Alter the centered position sent to games.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+69"/>
+ <location line="+53"/>
+ <source>°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-106"/>
+ <location line="+23"/>
+ <location line="+60"/>
+ <source> cm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-67"/>
+ <source>TX</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>TY</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>TZ</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Centering method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Try changing this if centering doesn&apos;t perform correctly for your input device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Relative (inertial device)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Absolute (camera device)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Experimental (camera device)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Relative translation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <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="+19"/>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <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="+16"/>
+ <source>Disable for Z (for zoom on Z axis)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <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="+13"/>
+ <source>Disable effect by roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Output remap</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Assign input axis to output axis.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <location line="+15"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-273"/>
+ <source>Invert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+40"/>
+ <location line="+48"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+28"/>
+ <location line="+18"/>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-245"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-158"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+184"/>
+ <source>CSV Data Logging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Enable - You will be asked for a filename whenever tracking starts</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="+12"/>
+ <source>Start tracking automatically when a game starts with selected profile, and stop when the game exits.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/gui/lang/stub.ts b/gui/lang/stub.ts
new file mode 100644
index 00000000..05c65b2b
--- /dev/null
+++ b/gui/lang/stub.ts
@@ -0,0 +1,755 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>BrowseButton</name>
+ <message>
+ <location filename="../process_detector.cpp" line="+66"/>
+ <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>
+</context>
+<context>
+ <name>Dialog</name>
+ <message>
+ <location filename="../process_widget.ui" line="+14"/>
+ <source>Game detector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <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="+10"/>
+ <source>Start profiles from game executable names in this list</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="../main-window.cpp" line="+97"/>
+ <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="+78"/>
+ <location line="+388"/>
+ <source>opentrack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-385"/>
+ <source> (debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <location line="+557"/>
+ <source>Show the Octopus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-557"/>
+ <location line="+557"/>
+ <source>Hide the Octopus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-550"/>
+ <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="+5"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <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
+
+Exiting now.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+193"/>
+ <source>Library load error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>One of libraries failed to load. Check installation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <location line="+4"/>
+ <source> :: </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../options-dialog.cpp" line="+27"/>
+ <source>Joy button %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<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>
+</context>
+<context>
+ <name>keyboard_listener</name>
+ <message>
+ <location filename="../keyboard_listener.ui" line="+23"/>
+ <source>Bind a shortcut</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Press a key or close this window to remove the keybinding.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>main_window</name>
+ <message>
+ <location filename="../main-window.ui" line="+278"/>
+ <source>Raw tracker data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+67"/>
+ <location line="+479"/>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-463"/>
+ <location line="+409"/>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-356"/>
+ <location line="+315"/>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <location line="+277"/>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-230"/>
+ <location line="+309"/>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-293"/>
+ <location line="+309"/>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-200"/>
+ <source>Game data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+366"/>
+ <source>Profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <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="+49"/>
+ <location line="+62"/>
+ <location line="+62"/>
+ <source>🔨</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-111"/>
+ <source>Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+62"/>
+ <source>Filter</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>mapping_window</name>
+ <message>
+ <location filename="../mapping-window.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="+88"/>
+ <location line="+88"/>
+ <source>Max rotation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-138"/>
+ <location line="+88"/>
+ <location line="+88"/>
+ <location line="+92"/>
+ <location line="+88"/>
+ <location line="+88"/>
+ <source>Asymmetric mapping below</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-418"/>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+88"/>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location line="+88"/>
+ <location line="+88"/>
+ <source>Max translation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+88"/>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>new_file_dialog</name>
+ <message>
+ <location filename="../new_file_dialog.h" line="+42"/>
+ <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>
+</context>
+<context>
+ <name>options_dialog</name>
+ <message>
+ <location filename="../options-dialog.ui" line="+20"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Shortcuts</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <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="+54"/>
+ <location line="+99"/>
+ <location line="+39"/>
+ <location line="+23"/>
+ <location line="+33"/>
+ <location line="+23"/>
+ <location line="+13"/>
+ <location line="+13"/>
+ <location line="+52"/>
+ <location line="+26"/>
+ <location line="+13"/>
+ <location line="+13"/>
+ <location line="+39"/>
+ <location line="+26"/>
+ <location line="+26"/>
+ <location line="+26"/>
+ <location line="+26"/>
+ <location line="+26"/>
+ <source>Bind</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-371"/>
+ <source>Restart tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Toggle while held</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Toggle tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Start tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Stop tracking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Zero</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Zero while held</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Toggle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+452"/>
+ <source>Center at startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Never translate the application interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Minimize to tray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <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="+27"/>
+ <source>Camera</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Camera offset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Use camera center as translation offset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Specify an angle to rotate position tracking. It lets the tracker avoid moving on the X and Y axes when zooming, since camera isn&apos;t mounted perfectly in front of the model, but above or below.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <location line="+206"/>
+ <location line="+196"/>
+ <location line="+47"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-675"/>
+ <location line="+130"/>
+ <location line="+275"/>
+ <location line="+18"/>
+ <location line="+28"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-647"/>
+ <location line="+167"/>
+ <location line="+210"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+51"/>
+ <location line="+37"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-629"/>
+ <source>Custom center pose</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Alter the centered position sent to games.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+69"/>
+ <location line="+53"/>
+ <source>°</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-106"/>
+ <location line="+23"/>
+ <location line="+60"/>
+ <location line="+862"/>
+ <location line="+22"/>
+ <source> cm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-78"/>
+ <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="-761"/>
+ <source>Centering method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Try changing this if centering doesn&apos;t perform correctly for your input device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Relative (inertial device)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Absolute (camera device)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+474"/>
+ <location line="+15"/>
+ <source>Relative translation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <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="+19"/>
+ <location line="+258"/>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-212"/>
+ <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="+16"/>
+ <source>Disable for Z (for zoom on Z axis)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <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="+13"/>
+ <source>Disable effect by roll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-626"/>
+ <source>Output remap</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+393"/>
+ <source>Assign input axis to output axis.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-612"/>
+ <location line="+263"/>
+ <location line="+15"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-273"/>
+ <source>Invert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-240"/>
+ <location line="+253"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+40"/>
+ <location line="+48"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-495"/>
+ <location line="+235"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+28"/>
+ <location line="+18"/>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-245"/>
+ <location line="+46"/>
+ <location line="+39"/>
+ <location line="+88"/>
+ <location line="+46"/>
+ <location line="+46"/>
+ <source>Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-158"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+197"/>
+ <source>CSV Data Logging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Enable - You will be asked for a filename whenever tracking starts</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+209"/>
+ <source>Neck displacement</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Height from center of rotation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Forward from center of rotation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <location line="+12"/>
+ <source>Game detection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Start tracking automatically when a game starts with selected profile, and stop when the game exits.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/logic/lang/nl_NL.ts b/logic/lang/nl_NL.ts
new file mode 100644
index 00000000..c6ca1553
--- /dev/null
+++ b/logic/lang/nl_NL.ts
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<context>
+ <name>Work</name>
+ <message>
+ <location filename="../work.cpp" line="+20"/>
+ <source>Select filename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>CSV File (*.csv)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Logging error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Unable to open file &apos;%1&apos;. Proceeding without logging.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/logic/lang/pl_PL.ts b/logic/lang/pl_PL.ts
new file mode 100644
index 00000000..abdb60d6
--- /dev/null
+++ b/logic/lang/pl_PL.ts
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>Work</name>
+ <message>
+ <location filename="../work.cpp" line="+20"/>
+ <source>Select filename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>CSV File (*.csv)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Logging error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Unable to open file &apos;%1&apos;. Proceeding without logging.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/logic/lang/ru_RU.ts b/logic/lang/ru_RU.ts
new file mode 100644
index 00000000..e9fcd993
--- /dev/null
+++ b/logic/lang/ru_RU.ts
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<context>
+ <name>Work</name>
+ <message>
+ <location filename="../work.cpp" line="+20"/>
+ <source>Select filename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>CSV File (*.csv)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Logging error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Unable to open file &apos;%1&apos;. Proceeding without logging.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/logic/lang/stub.ts b/logic/lang/stub.ts
new file mode 100644
index 00000000..5d1bc11a
--- /dev/null
+++ b/logic/lang/stub.ts
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Work</name>
+ <message>
+ <location filename="../work.cpp" line="+20"/>
+ <source>Select filename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>CSV File (*.csv)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Logging error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Unable to open file &apos;%1&apos;. Proceeding without logging.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/migration/lang/nl_NL.ts b/migration/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/migration/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/migration/lang/pl_PL.ts b/migration/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/migration/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/migration/lang/ru_RU.ts b/migration/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/migration/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/migration/lang/stub.ts b/migration/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/migration/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/options/lang/nl_NL.ts b/options/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/options/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/options/lang/pl_PL.ts b/options/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/options/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/options/lang/ru_RU.ts b/options/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/options/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/options/lang/stub.ts b/options/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/options/lang/stub.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/nl_NL.ts b/pose-widget/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/pose-widget/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/pose-widget/lang/pl_PL.ts b/pose-widget/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/pose-widget/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/pose-widget/lang/ru_RU.ts b/pose-widget/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/pose-widget/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/pose-widget/lang/stub.ts b/pose-widget/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/pose-widget/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/proto-fg/lang/nl_NL.ts b/proto-fg/lang/nl_NL.ts
new file mode 100644
index 00000000..35ab5431
--- /dev/null
+++ b/proto-fg/lang/nl_NL.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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="+12"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgear</name>
+ <message>
+ <location filename="../ftnoir_protocol_fg.h" line="+40"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgearDll</name>
+ <message>
+ <location line="+27"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fg/lang/pl_PL.ts b/proto-fg/lang/pl_PL.ts
new file mode 100644
index 00000000..a2d797f0
--- /dev/null
+++ b/proto-fg/lang/pl_PL.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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="+12"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgear</name>
+ <message>
+ <location filename="../ftnoir_protocol_fg.h" line="+40"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgearDll</name>
+ <message>
+ <location line="+27"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fg/lang/ru_RU.ts b/proto-fg/lang/ru_RU.ts
new file mode 100644
index 00000000..916f5e2d
--- /dev/null
+++ b/proto-fg/lang/ru_RU.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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="+12"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgear</name>
+ <message>
+ <location filename="../ftnoir_protocol_fg.h" line="+40"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgearDll</name>
+ <message>
+ <location line="+27"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fg/lang/stub.ts b/proto-fg/lang/stub.ts
new file mode 100644
index 00000000..e94d44f2
--- /dev/null
+++ b/proto-fg/lang/stub.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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="+12"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgear</name>
+ <message>
+ <location filename="../ftnoir_protocol_fg.h" line="+40"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>flightgearDll</name>
+ <message>
+ <location line="+27"/>
+ <source>FlightGear</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fsuipc/lang/nl_NL.ts b/proto-fsuipc/lang/nl_NL.ts
new file mode 100644
index 00000000..cb9bb89f
--- /dev/null
+++ b/proto-fsuipc/lang/nl_NL.ts
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<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>
+</context>
+<context>
+ <name>fsuipc</name>
+ <message>
+ <location filename="../ftnoir_protocol_fsuipc.h" line="+57"/>
+ <source>Microsoft Flight Simulator X</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fsuipcDll</name>
+ <message>
+ <location line="+30"/>
+ <source>FSUIPC -- Microsoft FS2002/FS2004</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fsuipc/lang/pl_PL.ts b/proto-fsuipc/lang/pl_PL.ts
new file mode 100644
index 00000000..4ab736b5
--- /dev/null
+++ b/proto-fsuipc/lang/pl_PL.ts
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<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>
+</context>
+<context>
+ <name>fsuipc</name>
+ <message>
+ <location filename="../ftnoir_protocol_fsuipc.h" line="+57"/>
+ <source>Microsoft Flight Simulator X</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fsuipcDll</name>
+ <message>
+ <location line="+30"/>
+ <source>FSUIPC -- Microsoft FS2002/FS2004</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fsuipc/lang/ru_RU.ts b/proto-fsuipc/lang/ru_RU.ts
new file mode 100644
index 00000000..361a5442
--- /dev/null
+++ b/proto-fsuipc/lang/ru_RU.ts
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<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>
+</context>
+<context>
+ <name>fsuipc</name>
+ <message>
+ <location filename="../ftnoir_protocol_fsuipc.h" line="+57"/>
+ <source>Microsoft Flight Simulator X</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fsuipcDll</name>
+ <message>
+ <location line="+30"/>
+ <source>FSUIPC -- Microsoft FS2002/FS2004</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-fsuipc/lang/stub.ts b/proto-fsuipc/lang/stub.ts
new file mode 100644
index 00000000..d64a9e92
--- /dev/null
+++ b/proto-fsuipc/lang/stub.ts
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<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>
+</context>
+<context>
+ <name>fsuipc</name>
+ <message>
+ <location filename="../ftnoir_protocol_fsuipc.h" line="+57"/>
+ <source>Microsoft Flight Simulator X</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fsuipcDll</name>
+ <message>
+ <location line="+30"/>
+ <source>FSUIPC -- Microsoft FS2002/FS2004</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ft/lang/nl_NL.ts b/proto-ft/lang/nl_NL.ts
new file mode 100644
index 00000000..2ee2afff
--- /dev/null
+++ b/proto-ft/lang/nl_NL.ts
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<context>
+ <name>FTControls</name>
+ <message>
+ <location filename="../ftnoir_protocol_ft_dialog.cpp" line="+53"/>
+ <source>Select the desired NPClient DLL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Dll file (*.dll);;All Files (*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UICFTControls</name>
+ <message>
+ <location filename="../ftnoir_ftcontrols.ui" line="+32"/>
+ <source>freetrack protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <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="+19"/>
+ <source>TIRViews</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Memory hacks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Only for very old and buggy old games such as CFS3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <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>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <source>Disable tracking for games on exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Disable on program exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Use this for games that disable mouselook when opentrack isn&apos;t running, and you&apos;re not running opentrack that much. To use opentrack with this option you need to start it before the games to have it work at all.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>freetrackDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_ft.h" line="+96"/>
+ <source>freetrack 2.0 Enhanced</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ft/lang/pl_PL.ts b/proto-ft/lang/pl_PL.ts
new file mode 100644
index 00000000..272031e7
--- /dev/null
+++ b/proto-ft/lang/pl_PL.ts
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>FTControls</name>
+ <message>
+ <location filename="../ftnoir_protocol_ft_dialog.cpp" line="+53"/>
+ <source>Select the desired NPClient DLL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Dll file (*.dll);;All Files (*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UICFTControls</name>
+ <message>
+ <location filename="../ftnoir_ftcontrols.ui" line="+32"/>
+ <source>freetrack protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <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="+19"/>
+ <source>TIRViews</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Memory hacks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Only for very old and buggy old games such as CFS3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <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>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <source>Disable tracking for games on exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Disable on program exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Use this for games that disable mouselook when opentrack isn&apos;t running, and you&apos;re not running opentrack that much. To use opentrack with this option you need to start it before the games to have it work at all.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>freetrackDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_ft.h" line="+96"/>
+ <source>freetrack 2.0 Enhanced</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ft/lang/stub.ts b/proto-ft/lang/stub.ts
new file mode 100644
index 00000000..af1a167d
--- /dev/null
+++ b/proto-ft/lang/stub.ts
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>FTControls</name>
+ <message>
+ <location filename="../ftnoir_protocol_ft_dialog.cpp" line="+53"/>
+ <source>Select the desired NPClient DLL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Dll file (*.dll);;All Files (*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UICFTControls</name>
+ <message>
+ <location filename="../ftnoir_ftcontrols.ui" line="+32"/>
+ <source>freetrack protocol settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <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="+19"/>
+ <source>TIRViews</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Memory hacks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Only for very old and buggy old games such as CFS3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <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>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <source>Disable tracking for games on exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Disable on program exit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Use this for games that disable mouselook when opentrack isn&apos;t running, and you&apos;re not running opentrack that much. To use opentrack with this option you need to start it before the games to have it work at all.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>freetrackDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_ft.h" line="+96"/>
+ <source>freetrack 2.0 Enhanced</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ftn/lang/nl_NL.ts b/proto-ftn/lang/nl_NL.ts
new file mode 100644
index 00000000..989194c5
--- /dev/null
+++ b/proto-ftn/lang/nl_NL.ts
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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="+82"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Enter IP-address and port-number for the remote PC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Remember: you may have to change firewall-settings too!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udp</name>
+ <message>
+ <location filename="../ftnoir_protocol_ftn.h" line="+41"/>
+ <source>UDP Tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location line="+26"/>
+ <source>UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ftn/lang/pl_PL.ts b/proto-ftn/lang/pl_PL.ts
new file mode 100644
index 00000000..26ac4bdb
--- /dev/null
+++ b/proto-ftn/lang/pl_PL.ts
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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="+82"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Enter IP-address and port-number for the remote PC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Remember: you may have to change firewall-settings too!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udp</name>
+ <message>
+ <location filename="../ftnoir_protocol_ftn.h" line="+41"/>
+ <source>UDP Tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location line="+26"/>
+ <source>UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ftn/lang/ru_RU.ts b/proto-ftn/lang/ru_RU.ts
new file mode 100644
index 00000000..c489ebf5
--- /dev/null
+++ b/proto-ftn/lang/ru_RU.ts
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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="+82"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Enter IP-address and port-number for the remote PC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Remember: you may have to change firewall-settings too!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udp</name>
+ <message>
+ <location filename="../ftnoir_protocol_ftn.h" line="+41"/>
+ <source>UDP Tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location line="+26"/>
+ <source>UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-ftn/lang/stub.ts b/proto-ftn/lang/stub.ts
new file mode 100644
index 00000000..9ef5380e
--- /dev/null
+++ b/proto-ftn/lang/stub.ts
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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="+82"/>
+ <source>IP-address remote PC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Port-number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Enter IP-address and port-number for the remote PC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Remember: you may have to change firewall-settings too!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udp</name>
+ <message>
+ <location filename="../ftnoir_protocol_ftn.h" line="+41"/>
+ <source>UDP Tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location line="+26"/>
+ <source>UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-mouse/lang/nl_NL.ts b/proto-mouse/lang/nl_NL.ts
new file mode 100644
index 00000000..69c32faa
--- /dev/null
+++ b/proto-mouse/lang/nl_NL.ts
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>mouseDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_mouse.h" line="+62"/>
+ <source>mouse emulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-mouse/lang/pl_PL.ts b/proto-mouse/lang/pl_PL.ts
new file mode 100644
index 00000000..e980c6a6
--- /dev/null
+++ b/proto-mouse/lang/pl_PL.ts
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>UICMOUSEControls</name>
+ <message>
+ <location filename="../ftnoir_mousecontrols.ui" line="+17"/>
+ <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="+19"/>
+ <location line="+51"/>
+ <source>Select Number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <location line="+51"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <location line="+51"/>
+ <source>X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <location line="+51"/>
+ <source>Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <location line="+51"/>
+ <source>Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <location line="+51"/>
+ <source>Yaw</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <location line="+51"/>
+ <source>Pitch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <location line="+51"/>
+ <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>
+</context>
+<context>
+ <name>mouseDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_mouse.h" line="+63"/>
+ <source>mouse emulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-mouse/lang/ru_RU.ts b/proto-mouse/lang/ru_RU.ts
new file mode 100644
index 00000000..290ad16a
--- /dev/null
+++ b/proto-mouse/lang/ru_RU.ts
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>mouseDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_mouse.h" line="+62"/>
+ <source>mouse emulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-mouse/lang/stub.ts b/proto-mouse/lang/stub.ts
new file mode 100644
index 00000000..2b29443d
--- /dev/null
+++ b/proto-mouse/lang/stub.ts
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>mouseDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_mouse.h" line="+62"/>
+ <source>mouse emulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-sc/lang/nl_NL.ts b/proto-sc/lang/nl_NL.ts
new file mode 100644
index 00000000..f01f6d88
--- /dev/null
+++ b/proto-sc/lang/nl_NL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>SP1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>SP2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Acceleration</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>
+</context>
+<context>
+ <name>simconnectDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_sc.h" line="+106"/>
+ <source>Microsoft FSX SimConnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-sc/lang/pl_PL.ts b/proto-sc/lang/pl_PL.ts
new file mode 100644
index 00000000..2f532913
--- /dev/null
+++ b/proto-sc/lang/pl_PL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>UICSCControls</name>
+ <message>
+ <location filename="../ftnoir_sccontrols.ui" line="+17"/>
+ <source>SimConnect settings FaceTrackNoIR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>FSX version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>SP1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>SP2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Acceleration</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>
+</context>
+<context>
+ <name>simconnectDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_sc.h" line="+106"/>
+ <source>Microsoft FSX SimConnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-sc/lang/ru_RU.ts b/proto-sc/lang/ru_RU.ts
new file mode 100644
index 00000000..3d49c8b8
--- /dev/null
+++ b/proto-sc/lang/ru_RU.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>SP1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>SP2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Acceleration</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>
+</context>
+<context>
+ <name>simconnectDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_sc.h" line="+106"/>
+ <source>Microsoft FSX SimConnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-sc/lang/stub.ts b/proto-sc/lang/stub.ts
new file mode 100644
index 00000000..522fc4e8
--- /dev/null
+++ b/proto-sc/lang/stub.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>SP1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>SP2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Acceleration</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>
+</context>
+<context>
+ <name>simconnectDll</name>
+ <message>
+ <location filename="../ftnoir_protocol_sc.h" line="+106"/>
+ <source>Microsoft FSX SimConnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-vjoystick/lang/nl_NL.ts b/proto-vjoystick/lang/nl_NL.ts
new file mode 100644
index 00000000..fc2ea6c4
--- /dev/null
+++ b/proto-vjoystick/lang/nl_NL.ts
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>vjoystick_metadata</name>
+ <message>
+ <location filename="../vjoystick.h" line="+77"/>
+ <source>Joystick emulation -- vjoystick</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>vjoystick_proto</name>
+ <message>
+ <location filename="../vjoystick.cpp" line="+102"/>
+ <source>vjoystick driver missing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>vjoystick won&apos;t work without the driver installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Download the driver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Visit project site</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-vjoystick/lang/pl_PL.ts b/proto-vjoystick/lang/pl_PL.ts
new file mode 100644
index 00000000..15973151
--- /dev/null
+++ b/proto-vjoystick/lang/pl_PL.ts
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>vjoystick_metadata</name>
+ <message>
+ <location filename="../vjoystick.h" line="+77"/>
+ <source>Joystick emulation -- vjoystick</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>vjoystick_proto</name>
+ <message>
+ <location filename="../vjoystick.cpp" line="+102"/>
+ <source>vjoystick driver missing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>vjoystick won&apos;t work without the driver installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Download the driver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Visit project site</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-vjoystick/lang/ru_RU.ts b/proto-vjoystick/lang/ru_RU.ts
new file mode 100644
index 00000000..5293b3be
--- /dev/null
+++ b/proto-vjoystick/lang/ru_RU.ts
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>vjoystick_metadata</name>
+ <message>
+ <location filename="../vjoystick.h" line="+77"/>
+ <source>Joystick emulation -- vjoystick</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>vjoystick_proto</name>
+ <message>
+ <location filename="../vjoystick.cpp" line="+102"/>
+ <source>vjoystick driver missing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>vjoystick won&apos;t work without the driver installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Download the driver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Visit project site</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/proto-vjoystick/lang/stub.ts b/proto-vjoystick/lang/stub.ts
new file mode 100644
index 00000000..5efa6b56
--- /dev/null
+++ b/proto-vjoystick/lang/stub.ts
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>vjoystick_metadata</name>
+ <message>
+ <location filename="../vjoystick.h" line="+77"/>
+ <source>Joystick emulation -- vjoystick</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>vjoystick_proto</name>
+ <message>
+ <location filename="../vjoystick.cpp" line="+102"/>
+ <source>vjoystick driver missing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>vjoystick won&apos;t work without the driver installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Download the driver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Visit project site</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/python/lang/nl_NL.ts b/python/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/python/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/python/lang/ru_RU.ts b/python/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/python/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/python/lang/stub.ts b/python/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/python/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/spline-widget/lang/nl_NL.ts b/spline-widget/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/spline-widget/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/spline-widget/lang/pl_PL.ts b/spline-widget/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/spline-widget/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/spline-widget/lang/ru_RU.ts b/spline-widget/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/spline-widget/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/spline-widget/lang/stub.ts b/spline-widget/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/spline-widget/lang/stub.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
new file mode 100644
index 00000000..d380ed22
--- /dev/null
+++ b/tracker-aruco/lang/nl_NL.ts
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<context>
+ <name>Form</name>
+ <message>
+ <location filename="../aruco-trackercontrols.ui" line="+17"/>
+ <source>Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+161"/>
+ <source>Frames per second</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-84"/>
+ <source>640x480</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>320x240</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+72"/>
+ <source>Camera name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Resolution</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-115"/>
+ <source>Diagonal FOV</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+96"/>
+ <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="-40"/>
+ <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="+7"/>
+ <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="+30"/>
+ <source>Head Z </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <source>Head Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Toggle calibration</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-aruco/lang/pl_PL.ts b/tracker-aruco/lang/pl_PL.ts
new file mode 100644
index 00000000..c1861b82
--- /dev/null
+++ b/tracker-aruco/lang/pl_PL.ts
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>Form</name>
+ <message>
+ <location filename="../aruco-trackercontrols.ui" line="+23"/>
+ <source>Tracker settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+173"/>
+ <source>Frames per second</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-31"/>
+ <source>640x480</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>320x240</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Camera name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Resolution</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-128"/>
+ <source>Diagonal FOV</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <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="+82"/>
+ <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="+44"/>
+ <source>Default (not recommended!)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Camera settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>Head X</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Head Z </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <source>Head Y</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Toggle calibration</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-aruco/lang/ru_RU.ts b/tracker-aruco/lang/ru_RU.ts
new file mode 100644
index 00000000..3a5e162e
--- /dev/null
+++ b/tracker-aruco/lang/ru_RU.ts
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+</TS>
diff --git a/tracker-aruco/lang/stub.ts b/tracker-aruco/lang/stub.ts
new file mode 100644
index 00000000..c301674e
--- /dev/null
+++ b/tracker-aruco/lang/stub.ts
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+</TS>
diff --git a/tracker-freepie-udp/lang/nl_NL.ts b/tracker-freepie-udp/lang/nl_NL.ts
new file mode 100644
index 00000000..c46ad00e
--- /dev/null
+++ b/tracker-freepie-udp/lang/nl_NL.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>meta_freepie</name>
+ <message>
+ <location filename="../ftnoir_tracker_freepie-udp.h" line="+66"/>
+ <source>FreePIE UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-freepie-udp/lang/pl_PL.ts b/tracker-freepie-udp/lang/pl_PL.ts
new file mode 100644
index 00000000..934d4f8c
--- /dev/null
+++ b/tracker-freepie-udp/lang/pl_PL.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>meta_freepie</name>
+ <message>
+ <location filename="../ftnoir_tracker_freepie-udp.h" line="+66"/>
+ <source>FreePIE UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-freepie-udp/lang/ru_RU.ts b/tracker-freepie-udp/lang/ru_RU.ts
new file mode 100644
index 00000000..45160d13
--- /dev/null
+++ b/tracker-freepie-udp/lang/ru_RU.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>meta_freepie</name>
+ <message>
+ <location filename="../ftnoir_tracker_freepie-udp.h" line="+66"/>
+ <source>FreePIE UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-freepie-udp/lang/stub.ts b/tracker-freepie-udp/lang/stub.ts
new file mode 100644
index 00000000..e12452c5
--- /dev/null
+++ b/tracker-freepie-udp/lang/stub.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>meta_freepie</name>
+ <message>
+ <location filename="../ftnoir_tracker_freepie-udp.h" line="+66"/>
+ <source>FreePIE UDP receiver</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-hatire/lang/nl_NL.ts b/tracker-hatire/lang/nl_NL.ts
new file mode 100644
index 00000000..79db6426
--- /dev/null
+++ b/tracker-hatire/lang/nl_NL.ts
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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>
+</context>
+<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>
+ <location filename="../ftnoir_tracker_hat.cpp" line="+59"/>
+ <location line="+3"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Unable to open ComPort: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_metadata</name>
+ <message>
+ <location filename="../ftnoir_tracker_hat.h" line="+51"/>
+ <source>Hatire Arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_thread</name>
+ <message>
+ <location filename="../thread.cpp" line="+27"/>
+ <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="+111"/>
+ <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>
+</context>
+</TS>
diff --git a/tracker-hatire/lang/pl_PL.ts b/tracker-hatire/lang/pl_PL.ts
new file mode 100644
index 00000000..c3c6929e
--- /dev/null
+++ b/tracker-hatire/lang/pl_PL.ts
@@ -0,0 +1,452 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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>
+</context>
+<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_metadata</name>
+ <message>
+ <location filename="../ftnoir_tracker_hat.h" line="+51"/>
+ <source>Hatire Arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_thread</name>
+ <message>
+ <location filename="../thread.cpp" line="+27"/>
+ <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="+111"/>
+ <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>
+</context>
+</TS>
diff --git a/tracker-hatire/lang/ru_RU.ts b/tracker-hatire/lang/ru_RU.ts
new file mode 100644
index 00000000..c230cabd
--- /dev/null
+++ b/tracker-hatire/lang/ru_RU.ts
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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>
+</context>
+<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>
+ <location filename="../ftnoir_tracker_hat.cpp" line="+59"/>
+ <location line="+3"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Unable to open ComPort: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_metadata</name>
+ <message>
+ <location filename="../ftnoir_tracker_hat.h" line="+51"/>
+ <source>Hatire Arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_thread</name>
+ <message>
+ <location filename="../thread.cpp" line="+27"/>
+ <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="+111"/>
+ <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>
+</context>
+</TS>
diff --git a/tracker-hatire/lang/stub.ts b/tracker-hatire/lang/stub.ts
new file mode 100644
index 00000000..e8a55345
--- /dev/null
+++ b/tracker-hatire/lang/stub.ts
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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; }
+&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>
+ <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>
+</context>
+<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>
+ <location filename="../ftnoir_tracker_hat.cpp" line="+59"/>
+ <location line="+3"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Unable to open ComPort: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_metadata</name>
+ <message>
+ <location filename="../ftnoir_tracker_hat.h" line="+51"/>
+ <source>Hatire Arduino</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>hatire_thread</name>
+ <message>
+ <location filename="../thread.cpp" line="+27"/>
+ <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="+111"/>
+ <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>
+</context>
+</TS>
diff --git a/tracker-hydra/lang/nl_NL.ts b/tracker-hydra/lang/nl_NL.ts
new file mode 100644
index 00000000..b6938dfb
--- /dev/null
+++ b/tracker-hydra/lang/nl_NL.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+</TS>
diff --git a/tracker-hydra/lang/pl_PL.ts b/tracker-hydra/lang/pl_PL.ts
new file mode 100644
index 00000000..d61abda9
--- /dev/null
+++ b/tracker-hydra/lang/pl_PL.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+</TS>
diff --git a/tracker-hydra/lang/ru_RU.ts b/tracker-hydra/lang/ru_RU.ts
new file mode 100644
index 00000000..906910f4
--- /dev/null
+++ b/tracker-hydra/lang/ru_RU.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+</TS>
diff --git a/tracker-hydra/lang/stub.ts b/tracker-hydra/lang/stub.ts
new file mode 100644
index 00000000..e87f3b6c
--- /dev/null
+++ b/tracker-hydra/lang/stub.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+</TS>
diff --git a/tracker-joystick/lang/nl_NL.ts b/tracker-joystick/lang/nl_NL.ts
new file mode 100644
index 00000000..7756a2b8
--- /dev/null
+++ b/tracker-joystick/lang/nl_NL.ts
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>joystickDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_joystick.h" line="+75"/>
+ <source>Joystick input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-joystick/lang/pl_PL.ts b/tracker-joystick/lang/pl_PL.ts
new file mode 100644
index 00000000..a97e2cae
--- /dev/null
+++ b/tracker-joystick/lang/pl_PL.ts
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>joystickDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_joystick.h" line="+75"/>
+ <source>Joystick input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-joystick/lang/ru_RU.ts b/tracker-joystick/lang/ru_RU.ts
new file mode 100644
index 00000000..0d98258b
--- /dev/null
+++ b/tracker-joystick/lang/ru_RU.ts
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>joystickDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_joystick.h" line="+75"/>
+ <source>Joystick input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-joystick/lang/stub.ts b/tracker-joystick/lang/stub.ts
new file mode 100644
index 00000000..15e440e8
--- /dev/null
+++ b/tracker-joystick/lang/stub.ts
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>joystickDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_joystick.h" line="+75"/>
+ <source>Joystick input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-pt/lang/nl_NL.ts b/tracker-pt/lang/nl_NL.ts
new file mode 100644
index 00000000..a81f94e2
--- /dev/null
+++ b/tracker-pt/lang/nl_NL.ts
@@ -0,0 +1,293 @@
+<?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-pt/lang/pl_PL.ts b/tracker-pt/lang/pl_PL.ts
new file mode 100644
index 00000000..7dce15d9
--- /dev/null
+++ b/tracker-pt/lang/pl_PL.ts
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>PT_metadata</name>
+ <message>
+ <location filename="../ftnoir_tracker_pt.h" line="+92"/>
+ <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-pt/lang/stub.ts b/tracker-pt/lang/stub.ts
new file mode 100644
index 00000000..c81750dc
--- /dev/null
+++ b/tracker-pt/lang/stub.ts
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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-qt-gamepad/lang/nl_NL.ts b/tracker-qt-gamepad/lang/nl_NL.ts
new file mode 100644
index 00000000..df531514
--- /dev/null
+++ b/tracker-qt-gamepad/lang/nl_NL.ts
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<context>
+ <name>gamepad_metadata</name>
+ <message>
+ <location filename="../test.h" line="+42"/>
+ <source>Gamepad input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>test_ui</name>
+ <message>
+ <location filename="../test.ui" line="+17"/>
+ <source>Gamepad input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-qt-gamepad/lang/pl_PL.ts b/tracker-qt-gamepad/lang/pl_PL.ts
new file mode 100644
index 00000000..a5457ec0
--- /dev/null
+++ b/tracker-qt-gamepad/lang/pl_PL.ts
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>metadata</name>
+ <message>
+ <location filename="../test.h" line="+42"/>
+ <source>Testing - sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>test_ui</name>
+ <message>
+ <location filename="../test.ui" line="+17"/>
+ <source>Sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-qt-gamepad/lang/ru_RU.ts b/tracker-qt-gamepad/lang/ru_RU.ts
new file mode 100644
index 00000000..0e8be628
--- /dev/null
+++ b/tracker-qt-gamepad/lang/ru_RU.ts
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<context>
+ <name>gamepad_metadata</name>
+ <message>
+ <location filename="../test.h" line="+42"/>
+ <source>Gamepad input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>test_ui</name>
+ <message>
+ <location filename="../test.ui" line="+17"/>
+ <source>Gamepad input</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-025/lang/nl_NL.ts b/tracker-rift-025/lang/nl_NL.ts
new file mode 100644
index 00000000..55a359a6
--- /dev/null
+++ b/tracker-rift-025/lang/nl_NL.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>rift_025Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_025.h" line="+60"/>
+ <source>Oculus Rift runtime 0.2.5 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_025</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_025.cpp" line="+64"/>
+ <location line="+9"/>
+ <location line="+8"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-16"/>
+ <source>Unable to create Rift sensor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Unable to enumerate Rift tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Unable to start Rift tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-025/lang/pl_PL.ts b/tracker-rift-025/lang/pl_PL.ts
new file mode 100644
index 00000000..a26e963e
--- /dev/null
+++ b/tracker-rift-025/lang/pl_PL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>rift_025Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_025.h" line="+60"/>
+ <source>Oculus Rift runtime 0.2.5 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-025/lang/ru_RU.ts b/tracker-rift-025/lang/ru_RU.ts
new file mode 100644
index 00000000..67cfdf66
--- /dev/null
+++ b/tracker-rift-025/lang/ru_RU.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>rift_025Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_025.h" line="+60"/>
+ <source>Oculus Rift runtime 0.2.5 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_025</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_025.cpp" line="+64"/>
+ <location line="+9"/>
+ <location line="+8"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-16"/>
+ <source>Unable to create Rift sensor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Unable to enumerate Rift tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Unable to start Rift tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-025/lang/stub.ts b/tracker-rift-025/lang/stub.ts
new file mode 100644
index 00000000..bde31417
--- /dev/null
+++ b/tracker-rift-025/lang/stub.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>rift_025Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_025.h" line="+60"/>
+ <source>Oculus Rift runtime 0.2.5 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_025</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_025.cpp" line="+64"/>
+ <location line="+9"/>
+ <location line="+8"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-16"/>
+ <source>Unable to create Rift sensor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Unable to enumerate Rift tracker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <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
new file mode 100644
index 00000000..cd5f3ef1
--- /dev/null
+++ b/tracker-rift-042/lang/nl_NL.ts
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>rift_042Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_042.h" line="+57"/>
+ <source>Oculus Rift runtime 0.4.2 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_042</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_042.cpp" line="+51"/>
+ <source>Unable to start Rift tracker: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-042/lang/pl_PL.ts b/tracker-rift-042/lang/pl_PL.ts
new file mode 100644
index 00000000..fadc2efc
--- /dev/null
+++ b/tracker-rift-042/lang/pl_PL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>rift_042Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_042.h" line="+57"/>
+ <source>Oculus Rift runtime 0.4.2 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-042/lang/ru_RU.ts b/tracker-rift-042/lang/ru_RU.ts
new file mode 100644
index 00000000..70ebbeb7
--- /dev/null
+++ b/tracker-rift-042/lang/ru_RU.ts
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>rift_042Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_042.h" line="+57"/>
+ <source>Oculus Rift runtime 0.4.2 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_042</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_042.cpp" line="+51"/>
+ <source>Unable to start Rift tracker: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-042/lang/stub.ts b/tracker-rift-042/lang/stub.ts
new file mode 100644
index 00000000..17c3ddab
--- /dev/null
+++ b/tracker-rift-042/lang/stub.ts
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>rift_042Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_042.h" line="+57"/>
+ <source>Oculus Rift runtime 0.4.2 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_042</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_042.cpp" line="+51"/>
+ <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
new file mode 100644
index 00000000..d72b94f6
--- /dev/null
+++ b/tracker-rift-080/lang/nl_NL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>rift_080Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_080.h" line="+56"/>
+ <source>Oculus Rift runtime 0.8.0 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-080/lang/pl_PL.ts b/tracker-rift-080/lang/pl_PL.ts
new file mode 100644
index 00000000..8ce00f31
--- /dev/null
+++ b/tracker-rift-080/lang/pl_PL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>rift_080Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_080.h" line="+56"/>
+ <source>Oculus Rift runtime 0.8.0 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-080/lang/ru_RU.ts b/tracker-rift-080/lang/ru_RU.ts
new file mode 100644
index 00000000..ae896112
--- /dev/null
+++ b/tracker-rift-080/lang/ru_RU.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>rift_080Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_080.h" line="+56"/>
+ <source>Oculus Rift runtime 0.8.0 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-080/lang/stub.ts b/tracker-rift-080/lang/stub.ts
new file mode 100644
index 00000000..cf34325c
--- /dev/null
+++ b/tracker-rift-080/lang/stub.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>rift_080Dll</name>
+ <message>
+ <location filename="../ftnoir_tracker_rift_080.h" line="+56"/>
+ <source>Oculus Rift runtime 0.8.0 -- HMD</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
new file mode 100644
index 00000000..68070720
--- /dev/null
+++ b/tracker-rift-140/lang/nl_NL.ts
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>rift_140Dll</name>
+ <message>
+ <location filename="../rift-140.hpp" line="+57"/>
+ <source>Oculus Rift runtime 1.4.0 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_140</name>
+ <message>
+ <location filename="../impl.cpp" line="+61"/>
+ <source>Unable to start Rift tracker: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-140/lang/pl_PL.ts b/tracker-rift-140/lang/pl_PL.ts
new file mode 100644
index 00000000..5d8d9c20
--- /dev/null
+++ b/tracker-rift-140/lang/pl_PL.ts
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>rift_140Dll</name>
+ <message>
+ <location filename="../rift-140.hpp" line="+57"/>
+ <source>Oculus Rift runtime 1.4.0 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-140/lang/ru_RU.ts b/tracker-rift-140/lang/ru_RU.ts
new file mode 100644
index 00000000..fe2cbea7
--- /dev/null
+++ b/tracker-rift-140/lang/ru_RU.ts
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>rift_140Dll</name>
+ <message>
+ <location filename="../rift-140.hpp" line="+57"/>
+ <source>Oculus Rift runtime 1.4.0 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_140</name>
+ <message>
+ <location filename="../impl.cpp" line="+61"/>
+ <source>Unable to start Rift tracker: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rift-140/lang/stub.ts b/tracker-rift-140/lang/stub.ts
new file mode 100644
index 00000000..0a386ba1
--- /dev/null
+++ b/tracker-rift-140/lang/stub.ts
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>rift_140Dll</name>
+ <message>
+ <location filename="../rift-140.hpp" line="+57"/>
+ <source>Oculus Rift runtime 1.4.0 -- HMD</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>rift_tracker_140</name>
+ <message>
+ <location filename="../impl.cpp" line="+61"/>
+ <source>Unable to start Rift tracker: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rs/lang/nl_NL.ts b/tracker-rs/lang/nl_NL.ts
new file mode 100644
index 00000000..696c0818
--- /dev/null
+++ b/tracker-rs/lang/nl_NL.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<context>
+ <name>RSTracker</name>
+ <message>
+ <location filename="../ftnoir_tracker_rs.cpp" line="+91"/>
+ <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>
+</context>
+<context>
+ <name>RSTrackerMetaData</name>
+ <message>
+ <location line="+30"/>
+ <source>Intel® RealSense™ Technology</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<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
+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>
+ <location line="+14"/>
+ <source>Install Runtime</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rs/lang/pl_PL.ts b/tracker-rs/lang/pl_PL.ts
new file mode 100644
index 00000000..6be28658
--- /dev/null
+++ b/tracker-rs/lang/pl_PL.ts
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>RSTrackerMetaData</name>
+ <message>
+ <location filename="../ftnoir_tracker_rs.cpp" line="+145"/>
+ <source>Intel® RealSense™ Technology</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<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
+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>
+ <location line="+14"/>
+ <source>Install Runtime</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rs/lang/ru_RU.ts b/tracker-rs/lang/ru_RU.ts
new file mode 100644
index 00000000..639dc095
--- /dev/null
+++ b/tracker-rs/lang/ru_RU.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<context>
+ <name>RSTracker</name>
+ <message>
+ <location filename="../ftnoir_tracker_rs.cpp" line="+91"/>
+ <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>
+</context>
+<context>
+ <name>RSTrackerMetaData</name>
+ <message>
+ <location line="+30"/>
+ <source>Intel® RealSense™ Technology</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<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
+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>
+ <location line="+14"/>
+ <source>Install Runtime</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rs/lang/stub.ts b/tracker-rs/lang/stub.ts
new file mode 100644
index 00000000..f46b9fd7
--- /dev/null
+++ b/tracker-rs/lang/stub.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>RSTracker</name>
+ <message>
+ <location filename="../ftnoir_tracker_rs.cpp" line="+91"/>
+ <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>
+</context>
+<context>
+ <name>RSTrackerMetaData</name>
+ <message>
+ <location line="+30"/>
+ <source>Intel® RealSense™ Technology</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<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
+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>
+ <location line="+14"/>
+ <source>Install Runtime</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-rs/rs_impl/lang/nl_NL.ts b/tracker-rs/rs_impl/lang/nl_NL.ts
new file mode 100644
index 00000000..9e739505
--- /dev/null
+++ b/tracker-rs/rs_impl/lang/nl_NL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+</TS>
diff --git a/tracker-rs/rs_impl/lang/pl_PL.ts b/tracker-rs/rs_impl/lang/pl_PL.ts
new file mode 100644
index 00000000..fb60fbb0
--- /dev/null
+++ b/tracker-rs/rs_impl/lang/pl_PL.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+</TS>
diff --git a/tracker-rs/rs_impl/lang/ru_RU.ts b/tracker-rs/rs_impl/lang/ru_RU.ts
new file mode 100644
index 00000000..f62cf2e1
--- /dev/null
+++ b/tracker-rs/rs_impl/lang/ru_RU.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+</TS>
diff --git a/tracker-rs/rs_impl/lang/stub.ts b/tracker-rs/rs_impl/lang/stub.ts
new file mode 100644
index 00000000..6401616d
--- /dev/null
+++ b/tracker-rs/rs_impl/lang/stub.ts
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+</TS>
diff --git a/tracker-steamvr/lang/nl_NL.ts b/tracker-steamvr/lang/nl_NL.ts
new file mode 100644
index 00000000..f57bcc35
--- /dev/null
+++ b/tracker-steamvr/lang/nl_NL.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<context>
+ <name>dialog</name>
+ <message>
+ <location filename="../dialog.ui" line="+23"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>steamvr</name>
+ <message>
+ <location filename="../steamvr.cpp" line="+57"/>
+ <source>Valve SteamVR init error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Valve SteamVR init warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>No HMD connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>steamvr_metadata</name>
+ <message>
+ <location filename="../steamvr.hpp" line="+74"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-steamvr/lang/pl_PL.ts b/tracker-steamvr/lang/pl_PL.ts
new file mode 100644
index 00000000..d8a477aa
--- /dev/null
+++ b/tracker-steamvr/lang/pl_PL.ts
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>dialog</name>
+ <message>
+ <location filename="../dialog.ui" line="+23"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>No options so far</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>metadata</name>
+ <message>
+ <location filename="../steamvr.hpp" line="+63"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-steamvr/lang/ru_RU.ts b/tracker-steamvr/lang/ru_RU.ts
new file mode 100644
index 00000000..85eb4faf
--- /dev/null
+++ b/tracker-steamvr/lang/ru_RU.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<context>
+ <name>dialog</name>
+ <message>
+ <location filename="../dialog.ui" line="+23"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>steamvr</name>
+ <message>
+ <location filename="../steamvr.cpp" line="+57"/>
+ <source>Valve SteamVR init error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Valve SteamVR init warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>No HMD connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>steamvr_metadata</name>
+ <message>
+ <location filename="../steamvr.hpp" line="+74"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-steamvr/lang/stub.ts b/tracker-steamvr/lang/stub.ts
new file mode 100644
index 00000000..757a56c1
--- /dev/null
+++ b/tracker-steamvr/lang/stub.ts
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>dialog</name>
+ <message>
+ <location filename="../dialog.ui" line="+23"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>steamvr</name>
+ <message>
+ <location filename="../steamvr.cpp" line="+57"/>
+ <source>Valve SteamVR init error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Valve SteamVR init warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>No HMD connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>steamvr_metadata</name>
+ <message>
+ <location filename="../steamvr.hpp" line="+74"/>
+ <source>Valve SteamVR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-test/lang/nl_NL.ts b/tracker-test/lang/nl_NL.ts
new file mode 100644
index 00000000..a136c79e
--- /dev/null
+++ b/tracker-test/lang/nl_NL.ts
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<context>
+ <name>test_metadata</name>
+ <message>
+ <location filename="../test.h" line="+39"/>
+ <source>Testing - sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>test_ui</name>
+ <message>
+ <location filename="../test.ui" line="+17"/>
+ <source>Sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-test/lang/pl_PL.ts b/tracker-test/lang/pl_PL.ts
new file mode 100644
index 00000000..a5457ec0
--- /dev/null
+++ b/tracker-test/lang/pl_PL.ts
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>metadata</name>
+ <message>
+ <location filename="../test.h" line="+42"/>
+ <source>Testing - sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>test_ui</name>
+ <message>
+ <location filename="../test.ui" line="+17"/>
+ <source>Sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-test/lang/ru_RU.ts b/tracker-test/lang/ru_RU.ts
new file mode 100644
index 00000000..30cda523
--- /dev/null
+++ b/tracker-test/lang/ru_RU.ts
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<context>
+ <name>test_metadata</name>
+ <message>
+ <location filename="../test.h" line="+39"/>
+ <source>Testing - sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>test_ui</name>
+ <message>
+ <location filename="../test.ui" line="+17"/>
+ <source>Sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-test/lang/stub.ts b/tracker-test/lang/stub.ts
new file mode 100644
index 00000000..12952b2a
--- /dev/null
+++ b/tracker-test/lang/stub.ts
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>test_metadata</name>
+ <message>
+ <location filename="../test.h" line="+39"/>
+ <source>Testing - sine wave</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>test_ui</name>
+ <message>
+ <location filename="../test.ui" line="+17"/>
+ <source>Sine wave</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
new file mode 100644
index 00000000..ed50c786
--- /dev/null
+++ b/tracker-tobii-eyex/lang/nl_NL.ts
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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="+13"/>
+ <source>Tracking settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Relative mode shifts the view toward a target that may be offscreen then fixes upon it.The absolute mode is not gradual.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Tracking mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Relative tracking mode gain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Adjust the gain mapping and speed to suit your preference, game type, display size, and distance from the screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+150"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+90"/>
+ <source>Exponent segment length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+67"/>
+ <source>Exponent norm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-208"/>
+ <location line="+35"/>
+ <location line="+29"/>
+ <location line="+42"/>
+ <location line="+67"/>
+ <location line="+67"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-272"/>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+112"/>
+ <source>Log segment length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Exponent</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-tobii-eyex/lang/pl_PL.ts b/tracker-tobii-eyex/lang/pl_PL.ts
new file mode 100644
index 00000000..5810bac1
--- /dev/null
+++ b/tracker-tobii-eyex/lang/pl_PL.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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="+13"/>
+ <source>Tracking settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Relative mode shifts the view toward a target that may be offscreen then fixes upon it.The absolute mode is not gradual.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Tracking mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Relative tracking mode gain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Adjust the gain mapping and speed to suit your preference, game type, display size, and distance from the screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+67"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+29"/>
+ <location line="+48"/>
+ <location line="+48"/>
+ <location line="+48"/>
+ <location line="+48"/>
+ <location line="+48"/>
+ <location line="+48"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-301"/>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Exponent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Exponential length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Linear coefficient</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Linear length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Logarithm base</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Logarithm coefficient</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-tobii-eyex/lang/ru_RU.ts b/tracker-tobii-eyex/lang/ru_RU.ts
new file mode 100644
index 00000000..fc4afaf0
--- /dev/null
+++ b/tracker-tobii-eyex/lang/ru_RU.ts
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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="+13"/>
+ <source>Tracking settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Relative mode shifts the view toward a target that may be offscreen then fixes upon it.The absolute mode is not gradual.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Tracking mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Relative tracking mode gain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Adjust the gain mapping and speed to suit your preference, game type, display size, and distance from the screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+150"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+90"/>
+ <source>Exponent segment length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+67"/>
+ <source>Exponent norm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-208"/>
+ <location line="+35"/>
+ <location line="+29"/>
+ <location line="+42"/>
+ <location line="+67"/>
+ <location line="+67"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-272"/>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+112"/>
+ <source>Log segment length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Exponent</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-tobii-eyex/lang/stub.ts b/tracker-tobii-eyex/lang/stub.ts
new file mode 100644
index 00000000..3a3e6758
--- /dev/null
+++ b/tracker-tobii-eyex/lang/stub.ts
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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="+13"/>
+ <source>Tracking settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Relative mode shifts the view toward a target that may be offscreen then fixes upon it.The absolute mode is not gradual.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Tracking mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Relative tracking mode gain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Adjust the gain mapping and speed to suit your preference, game type, display size, and distance from the screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+150"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+90"/>
+ <source>Exponent segment length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+67"/>
+ <source>Exponent norm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-208"/>
+ <location line="+35"/>
+ <location line="+29"/>
+ <location line="+42"/>
+ <location line="+67"/>
+ <location line="+67"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-272"/>
+ <source>Deadzone</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+112"/>
+ <source>Log segment length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Exponent</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-udp/lang/nl_NL.ts b/tracker-udp/lang/nl_NL.ts
new file mode 100644
index 00000000..8ad0d31a
--- /dev/null
+++ b/tracker-udp/lang/nl_NL.ts
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl_NL">
+<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>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_udp.h" line="+57"/>
+ <source>UDP sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-udp/lang/pl_PL.ts b/tracker-udp/lang/pl_PL.ts
new file mode 100644
index 00000000..958ffbea
--- /dev/null
+++ b/tracker-udp/lang/pl_PL.ts
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<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>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_udp.h" line="+57"/>
+ <source>UDP sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-udp/lang/ru_RU.ts b/tracker-udp/lang/ru_RU.ts
new file mode 100644
index 00000000..017932b5
--- /dev/null
+++ b/tracker-udp/lang/ru_RU.ts
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru_RU">
+<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>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_udp.h" line="+57"/>
+ <source>UDP sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tracker-udp/lang/stub.ts b/tracker-udp/lang/stub.ts
new file mode 100644
index 00000000..a59ece7e
--- /dev/null
+++ b/tracker-udp/lang/stub.ts
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<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>
+</context>
+<context>
+ <name>udpDll</name>
+ <message>
+ <location filename="../ftnoir_tracker_udp.h" line="+57"/>
+ <source>UDP sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>