diff --git a/sound/.gitignore b/sound/.gitignore
new file mode 100644
index 000000000..61c209432
--- /dev/null
+++ b/sound/.gitignore
@@ -0,0 +1 @@
+*.suo
diff --git a/sound/OpenTXSound.sln b/sound/OpenTXSound.sln
new file mode 100644
index 000000000..e31aff4ab
--- /dev/null
+++ b/sound/OpenTXSound.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C# Express 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTXRecorder", "recorder\OpenTXRecorder.csproj", "{8143D08D-1861-42DD-A861-56B15DE42A69}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTXspeaker", "speaker\OpenTXspeaker.csproj", "{BB2C7ECA-B4B9-4957-B7D9-B0C7817CA148}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Debug|x86.ActiveCfg = Debug|x86
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Debug|x86.Build.0 = Debug|x86
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Release|x86.ActiveCfg = Release|x86
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Release|x86.Build.0 = Release|x86
+ {BB2C7ECA-B4B9-4957-B7D9-B0C7817CA148}.Debug|x86.ActiveCfg = Debug|x86
+ {BB2C7ECA-B4B9-4957-B7D9-B0C7817CA148}.Debug|x86.Build.0 = Debug|x86
+ {BB2C7ECA-B4B9-4957-B7D9-B0C7817CA148}.Release|x86.ActiveCfg = Release|x86
+ {BB2C7ECA-B4B9-4957-B7D9-B0C7817CA148}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/sound/recorder/.gitignore b/sound/recorder/.gitignore
new file mode 100644
index 000000000..e307eca41
--- /dev/null
+++ b/sound/recorder/.gitignore
@@ -0,0 +1,4 @@
+/OpenTXrecorder.suo
+/bin/*
+/obj/*
+*.csproj.user
diff --git a/sound/recorder/App.xaml b/sound/recorder/App.xaml
new file mode 100644
index 000000000..bc0c857b7
--- /dev/null
+++ b/sound/recorder/App.xaml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/sound/recorder/App.xaml.cs b/sound/recorder/App.xaml.cs
new file mode 100644
index 000000000..43d50882a
--- /dev/null
+++ b/sound/recorder/App.xaml.cs
@@ -0,0 +1,32 @@
+/* This file is part of OpenTX Recorder.
+ * OpenTX Recorder is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Recorder is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Windows;
+
+namespace OpenTXrecorder
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/sound/recorder/GPLv3_Logo.png b/sound/recorder/GPLv3_Logo.png
new file mode 100644
index 000000000..ba78d4c49
Binary files /dev/null and b/sound/recorder/GPLv3_Logo.png differ
diff --git a/sound/recorder/MainWindow.xaml b/sound/recorder/MainWindow.xaml
new file mode 100644
index 000000000..ce3423f90
--- /dev/null
+++ b/sound/recorder/MainWindow.xaml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sound/recorder/MainWindow.xaml.cs b/sound/recorder/MainWindow.xaml.cs
new file mode 100644
index 000000000..8578fd9e2
--- /dev/null
+++ b/sound/recorder/MainWindow.xaml.cs
@@ -0,0 +1,244 @@
+/* This file is part of OpenTX Recorder.
+ * OpenTX Recorder is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Recorder is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System.Media;
+using System.Threading;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+using System.Windows.Navigation;
+using System.Runtime.InteropServices;
+
+namespace OpenTXrecorder
+{
+ public partial class MainWindow : Window
+ {
+ [DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
+ private static extern int mciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
+
+ SentenceTables tables = new SentenceTables();
+ Languages languages = new Languages();
+ Language curLang;
+ Sentences sentences = new Sentences();
+ int added_files = 0;
+ bool isRecording = false;
+
+ public MainWindow()
+ {
+ SplashScreen splash = new SplashScreen("recorder_logo.png");
+ splash.Show(true);
+ Thread.Sleep(1500);
+
+ InitializeComponent();
+
+ lvSentences.ItemsSource = sentences;
+ cbLanguages.ItemsSource = languages;
+ languages.Add("English", "en");
+ languages.Add("Czech", "cz");
+ languages.Add("German", "de");
+ languages.Add("French", "fr");
+ languages.Add("Italian", "it");
+ languages.Add("Polish", "pl");
+ languages.Add("Portuguese", "pt");
+ languages.Add("Swedish", "se");
+ languages.Add("Slovak", "sk");
+ languages.Add("Spanish", "es");
+ curLang = languages[0];
+ cbLanguages.SelectedIndex = 0; // Note: Sets current langugage -> triggers loadlanguage()
+ }
+
+ private void loadLanguage()
+ {
+ string[] system_strings;
+ string[] other_strings;
+
+ try
+ {
+ system_strings = System.IO.File.ReadAllLines(@"SOUNDS\" + curLang.sName + @"\SYSTEM\system_sounds.txt");
+ other_strings = System.IO.File.ReadAllLines(@"SOUNDS\" + curLang.sName + @"\other_sounds.txt");
+ }
+ catch (IOException)
+ {
+ system_strings = tables.default_system_strings[tables.toInt(curLang.sName)];
+ other_strings = tables.default_other_strings[tables.toInt(curLang.sName)];
+ }
+ sentences.RemoveRange(0, sentences.Count);
+
+ foreach (string str in system_strings)
+ sentences.Add(str, @"SOUNDS\" + curLang.sName + @"\SYSTEM\");
+
+ sentences.Add(@";^ System Sounds ^;", "");
+
+ foreach (string str in other_strings)
+ sentences.Add(str, @"SOUNDS\" + curLang.sName + @"\");
+
+ lvSentences.Items.Refresh(); // Workaround - Two way binding is better
+ }
+
+ private void saveLanguage()
+ {
+ System.IO.Directory.CreateDirectory(@"SOUNDS\" + curLang.sName + @"\SYSTEM");
+ StreamWriter sw = File.CreateText(@"SOUNDS\" + curLang.sName + @"\SYSTEM\system_sounds.txt");
+ int i;
+ for (i = 0; sentences[i].fileName != ""; i++)
+ {
+ sw.WriteLine(sentences[i].toRaw());
+ }
+ sw.Close();
+ sw = File.CreateText(@"SOUNDS\" + curLang.sName + @"\other_sounds.txt");
+ for (i++; i < sentences.Count; i++)
+ {
+ sw.WriteLine(sentences[i].toRaw());
+ }
+ sw.Close();
+ }
+
+ private void cbLanguages_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ curLang = (Language)e.AddedItems[0];
+ loadLanguage();
+ }
+
+ private void lvSentences_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+ {
+ if (this.lvSentences.SelectedItems.Count < 1) return;
+
+ Sentence sentence = (Sentence)this.lvSentences.SelectedItem;
+ if (sentence.fileExists)
+ {
+ try
+ {
+ SoundPlayer player = new SoundPlayer(sentence.fullPath());
+ player.Play();
+ }
+ catch (Exception) { }; // Catch and disregard all media exceptions
+ }
+ }
+
+ private void openTXLogo_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ AboutWindow aboutWindow = new AboutWindow();
+ aboutWindow.ShowDialog();
+ }
+
+ private void buttonAddItem_Click(object sender, RoutedEventArgs e)
+ {
+ added_files++;
+ sentences.Add(new Sentence("new_file_" + added_files.ToString() + ";New Description;New Voice Message", @"SOUNDS\" + curLang.sName + @"\"));
+ this.lvSentences.Items.Refresh();
+ this.lvSentences.SelectedIndex = this.lvSentences.Items.Count - 1;
+ this.lvSentences.ScrollIntoView(this.lvSentences.SelectedItem);
+ }
+
+ private void btnRecord_Click(object sender, RoutedEventArgs e)
+ {
+ if (this.lvSentences.SelectedItems.Count < 1) return;
+
+ if (isRecording)
+ btnStop_Click(sender, e);
+ else
+ {
+ saveLanguage();
+ isRecording = true;
+ lblRecording.Visibility = System.Windows.Visibility.Visible;
+ Sentence sentence = (Sentence)this.lvSentences.SelectedItem;
+ string path = sentence.fullPath();
+ Directory.CreateDirectory(Path.GetDirectoryName(path)); // Create directory if it doesn't exist
+ System.IO.File.WriteAllText(path, ""); // Creates and flushes a file if it does not exist
+
+ mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);
+ mciSendString("record recsound", "", 0, 0);
+ }
+ }
+
+ private void btnStop_Click(object sender, RoutedEventArgs e)
+ {
+ if (this.lvSentences.SelectedItems.Count < 1) return;
+
+ int index = this.lvSentences.SelectedIndex;
+ lblRecording.Visibility = System.Windows.Visibility.Hidden;
+ isRecording = false;
+ Sentence sentence = (Sentence)this.lvSentences.SelectedItem;
+ mciSendString("save recsound " + sentence.fullPath(), "", 0, 0);
+ mciSendString("close recsound ", "", 0, 0);
+
+ loadLanguage(); // Called to refresh the sentence data of the current langugae
+ this.lvSentences.SelectedIndex = index;
+ }
+
+ private void btnPlay_Click(object sender, RoutedEventArgs e)
+ {
+ lblRecording.Visibility = System.Windows.Visibility.Hidden;
+ lvSentences_MouseDoubleClick(sender, null);
+ }
+ }
+
+ public class Language
+ {
+ public string lName { get; set; }
+ public string sName { get; set; }
+ }
+
+ public class Languages : List
+ {
+ public void Add(string longer, string shorter)
+ {
+ this.Add(new Language { lName = longer, sName = shorter });
+ }
+ }
+
+ public class Sentence
+ {
+ public string fileName { get; set; }
+ public string description { get; set; }
+ public string voiceString { get; set; }
+ public string path { get; set; }
+ public bool fileExists { get; set; }
+
+ public Sentence(string rawString, string dirPath)
+ {
+ string[] words = rawString.Split(';');
+ fileName = words[0].TrimStart(' ', '\"');
+ description = words[1];
+ voiceString = words[2].TrimEnd('\"', ',', ' ');
+ path = dirPath;
+ fileExists = File.Exists(fullPath());
+ }
+
+ public string fullPath()
+ {
+ return System.AppDomain.CurrentDomain.BaseDirectory + path + fileName + ".wav";
+ }
+
+ public string toRaw()
+ {
+ return "\"" + fileName + ";" + description + ";" + voiceString + "\",";
+ }
+ }
+
+ public class Sentences : List
+ {
+ public void Add(string rawString, string dirPath)
+ {
+ this.Add(new Sentence(rawString, dirPath));
+ }
+ }
+}
diff --git a/sound/recorder/OpenTXRecorder.csproj b/sound/recorder/OpenTXRecorder.csproj
new file mode 100644
index 000000000..74a04e914
--- /dev/null
+++ b/sound/recorder/OpenTXRecorder.csproj
@@ -0,0 +1,169 @@
+
+
+
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {8143D08D-1861-42DD-A861-56B15DE42A69}
+ WinExe
+ Properties
+ OpenTXrecorder
+ OpenTXrecorder
+ v4.0
+ Client
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+ false
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ true
+
+
+ x86
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ x86
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ icon.ico
+
+
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ AboutWindow.xaml
+
+
+ App.xaml
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MainWindow.xaml
+ Code
+
+
+ Designer
+ MSBuild:Compile
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4 Client Profile %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sound/recorder/Properties/AssemblyInfo.cs b/sound/recorder/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..d01499fd5
--- /dev/null
+++ b/sound/recorder/Properties/AssemblyInfo.cs
@@ -0,0 +1,71 @@
+/* This file is part of OpenTX Recorder.
+* OpenTX Recorder is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+
+* OpenTX Recorder is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+
+* You should have received a copy of the GNU General Public License
+* along with Foobar. If not, see .
+*
+* Copyright 2014 Kjell Kernen */
+
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenTX Recorder")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("OpenTX Team")]
+[assembly: AssemblyProduct("OpenTX Recorder")]
+[assembly: AssemblyCopyright("Copyright © Kjell Kernen 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.1")]
+[assembly: AssemblyFileVersion("0.1")]
diff --git a/sound/recorder/Properties/Resources.Designer.cs b/sound/recorder/Properties/Resources.Designer.cs
new file mode 100644
index 000000000..04f945574
--- /dev/null
+++ b/sound/recorder/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.18444
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenTXrecorder.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenTXrecorder.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/speaker/Properties/Resources.resx b/sound/recorder/Properties/Resources.resx
similarity index 100%
rename from speaker/Properties/Resources.resx
rename to sound/recorder/Properties/Resources.resx
diff --git a/sound/recorder/Properties/Settings.Designer.cs b/sound/recorder/Properties/Settings.Designer.cs
new file mode 100644
index 000000000..ffa4c812a
--- /dev/null
+++ b/sound/recorder/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.18444
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenTXrecorder.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/speaker/Properties/Settings.settings b/sound/recorder/Properties/Settings.settings
similarity index 100%
rename from speaker/Properties/Settings.settings
rename to sound/recorder/Properties/Settings.settings
diff --git a/sound/recorder/aboutWindow.xaml b/sound/recorder/aboutWindow.xaml
new file mode 100644
index 000000000..95e440614
--- /dev/null
+++ b/sound/recorder/aboutWindow.xaml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sound/recorder/aboutWindow.xaml.cs b/sound/recorder/aboutWindow.xaml.cs
new file mode 100644
index 000000000..8e09efc76
--- /dev/null
+++ b/sound/recorder/aboutWindow.xaml.cs
@@ -0,0 +1,62 @@
+/* This file is part of OpenTX Recorder.
+ * OpenTX Recorder is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Recorder is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using System.Windows.Navigation;
+
+
+namespace OpenTXrecorder
+{
+ public partial class AboutWindow : Window
+ {
+ public AboutWindow()
+ {
+ InitializeComponent();
+ Assembly app = Assembly.GetExecutingAssembly();
+
+ AssemblyTitleAttribute title = (AssemblyTitleAttribute)app.GetCustomAttributes(typeof(AssemblyTitleAttribute), false)[0];
+ AssemblyProductAttribute product = (AssemblyProductAttribute)app.GetCustomAttributes(typeof(AssemblyProductAttribute), false)[0];
+ AssemblyCopyrightAttribute copyright = (AssemblyCopyrightAttribute)app.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0];
+ AssemblyCompanyAttribute company = (AssemblyCompanyAttribute)app.GetCustomAttributes(typeof(AssemblyCompanyAttribute), false)[0];
+ Version version = app.GetName().Version;
+
+ this.Title = String.Format("About {0}", title.Title);
+ this.lblProductName.Content = product.Product;
+ this.lblVersion.Content = String.Format("Version {0}", version.ToString());
+ this.lblCopyright.Content = copyright.Copyright.ToString();
+ this.lblCompanyName.Content = company.Company;
+ }
+
+ private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
+ {
+ Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
+ e.Handled = true;
+ }
+ }
+}
diff --git a/speaker/icon.ico b/sound/recorder/icon.ico
similarity index 100%
rename from speaker/icon.ico
rename to sound/recorder/icon.ico
diff --git a/sound/recorder/play.png b/sound/recorder/play.png
new file mode 100644
index 000000000..15f2da559
Binary files /dev/null and b/sound/recorder/play.png differ
diff --git a/sound/recorder/record.png b/sound/recorder/record.png
new file mode 100644
index 000000000..7ee74f7fc
Binary files /dev/null and b/sound/recorder/record.png differ
diff --git a/sound/recorder/recorder_logo.png b/sound/recorder/recorder_logo.png
new file mode 100644
index 000000000..5998c34d3
Binary files /dev/null and b/sound/recorder/recorder_logo.png differ
diff --git a/sound/recorder/recorder_logo.xcf b/sound/recorder/recorder_logo.xcf
new file mode 100644
index 000000000..5ac20d303
Binary files /dev/null and b/sound/recorder/recorder_logo.xcf differ
diff --git a/sound/recorder/recorder_logo_small.png b/sound/recorder/recorder_logo_small.png
new file mode 100644
index 000000000..b505a2f3c
Binary files /dev/null and b/sound/recorder/recorder_logo_small.png differ
diff --git a/sound/recorder/sentencetables.cs b/sound/recorder/sentencetables.cs
new file mode 100644
index 000000000..46d30d921
--- /dev/null
+++ b/sound/recorder/sentencetables.cs
@@ -0,0 +1,2455 @@
+/* This file is part of OpenTX Recorder.
+ * OpenTX Recorder is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Recorder is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Windows;
+
+namespace OpenTXrecorder
+{
+ public class SentenceTables
+ {
+ private static string[] default_pl_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;;1000",
+ "0110;TISIACE;tisiace",
+ "0111;JEDNA;jedna",
+ "0112;JEDNO;jedno",
+ "0113;DWIE;dwie",
+ "0114;CALA;cela",
+ "0115;CALE;cale",
+ "0116;CALYCH;calych",
+ "0117;MINUS;minus",
+
+ "0120;Female number;",
+ "0121;Female number;",
+ "0122;Female number;",
+ "0123;Female number;",
+ "0124;Female number;",
+ "0125;Female number;",
+ "0126;Female number;",
+ "0127;Female number;",
+ "0128;Female number;",
+ "0129;Female number;",
+
+ "0160;volt 1;wolt",
+ "0161;volt 2;wolty",
+ "0162;volt 3;",
+ "0163;volt 4;",
+ "0164;amps 1;",
+ "0165;amps 2;",
+ "0166;amps 3;",
+ "0167;amps 4;",
+ "0168;mps 1;",
+ "0169;mps 2;",
+ "0170;mps 3;",
+ "0171;mps 4;",
+ "0172;spare 1;",
+ "0173;spare 2;",
+ "0174;spare 3;",
+ "0175;spare 4;",
+ "0176;kmh 1;",
+ "0177;kmh 2;",
+ "0178;kmh 3;",
+ "0179;kmh 4;",
+ "0180;meter 1;",
+ "0181;meter 2;",
+ "0182;meter 3;",
+ "0183;meter 4;",
+ "0184;degrees 1;",
+ "0185;degrees 2;",
+ "0186;degrees 3;",
+ "0187;degrees 4;",
+ "0188;percent 1;",
+ "0189;percent 2;",
+ "0190;percent 3;",
+ "0191;percent 4;",
+ "0192;milliamps 1;",
+ "0193;milliamps 2;",
+ "0194;milliamps 3;",
+ "0195;milliamps 4;",
+ "0196;mAh 1;",
+ "0197;mAh 2;",
+ "0198;mAh 3;",
+ "0199;mAh 4;",
+ "0200;watt 1;",
+ "0201;watt 2;",
+ "0202;watt 3;",
+ "0203;watt 4;",
+ "0204;db 1;",
+ "0205;db 2;",
+ "0206;db 3;",
+ "0207;db 4;",
+ "0208;feet 1;",
+ "0209;feet 2;",
+ "0210;feet 3;",
+ "0211;feet 4;",
+ "0212;knot 1;",
+ "0213;knot 2;",
+ "0214;knot 3;",
+ "0215;knot 4;",
+ "0216;hours 1;",
+ "0217;hours 2;",
+ "0218;hours 3;",
+ "0219;hours 4;",
+ "0220;minutes 1;",
+ "0221;minutes 2;",
+ "0222;minutes 3;",
+ "0223;minutes 4;",
+ "0224;secondds 1;",
+ "0225;secondds 2;",
+ "0226;secondds 3;",
+ "0227;secondds 4;",
+ "0228;rpm 1;",
+ "0229;rpm 2;",
+ "0230;rpm 3;",
+ "0231;rpm 4;",
+ "0232;g 1;",
+ "0233;g 2;",
+ "0234;g 3;",
+ "0235;g 4;",
+ "0250;Timer1;",
+ "0251;Timer2;",
+ "0252;RSSI Tx;",
+ "0253;RSSI Rx;",
+ "0254;A1;",
+ "0255;A2;",
+ "0256;Altitude;",
+ "0257;RPM;",
+ "0258;Fuel;",
+ "0259;T1;",
+ "0260;T2;",
+ "0261;Speed;",
+ "0262;Distance;",
+ "0263;GPS Altitude;",
+ "0264;LiPo Elements;",
+ "0265;LiPo Total;",
+ "0266;VFAS;",
+ "0267;Current;",
+ "0268;Consumption;",
+ "0269;Telemetry Power;",
+ "0270;Accel X;",
+ "0271;Accel Y;",
+ "0272;Accel Z;",
+ "0217;HDG;",
+ "0218;Vario;",
+ };
+
+ private static string[] default_pl_other_strings =
+ {
+ "atti;attitude;",
+ "batcrit;battery critical;",
+ "batlow;low battery;",
+ "camcenter;camera center;",
+ "camfix;camera fixed;",
+ "cammanual;camera manual;",
+ "flapsdn;flaps down;",
+ "flapsup;flaps up;",
+ "fltmode1;flight mode 1;",
+ "fltmode2;flight mode 2;",
+ "fltmode3;flight mode 3;",
+ "fltmode4;flight mode 4;",
+ "fltmode5;flight mode 5;",
+ "fltmode6;flight mode 6;",
+ "fltmode7;flight mode 7;",
+ "fltmode8;flight mode 8;",
+ "fltmode9;flight mode 9;",
+ "fsoff;failsafe off;",
+ "fson;failsafe on;",
+ "geardn;gear down;",
+ "gearup;gear upp;",
+ "gps;gps;",
+ "hirates;hi rates;",
+ "htoff;head tracker off;",
+ "hton;head tracker on;",
+ "ioc;ioc;",
+ "iocoff;ioc off;",
+ "lowrates;lowrates;",
+ "manual;manual;",
+ "normal;normal;",
+ "nrmmod;normal mode;",
+ "thrhold;throttle locked;",
+ "thrrel;throttle released;",
+ };
+
+ private static string[] default_sk_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;jedna",
+ "0002;2;dva",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;1000;1000",
+ "0110;2000;dvetisíc;",
+ "0111;JEDEN;jeden",
+ "0112;JEDNO;jedno",
+ "0113;DVE;dve",
+ "0114;CELA;celá",
+ "0115;CELE;celá",
+ "0116;CELYCH;celýnch",
+ "0117;MINUS;minus",
+ "0118;volt 1;volt",
+ "0119;volt 2;volty",
+ "0120;volt 3;voltov",
+ "0121;volt 4;volta",
+ "0122;amps 1;ampér",
+ "0123;amps 2;ampére",
+ "0124;amps 3;ampérov",
+ "0125;amps 4;ampéra",
+ "0126;mps 1;meter za sekundu",
+ "0127;mps 2;metre za sekundu",
+ "0128;mps 3;metrov za sekundu",
+ "0129;mps 4;metra za sekundu",
+ "0130;spare 1;jednotka",
+ "0131;spare 2;jednotky",
+ "0132;spare 3;jednotiek",
+ "0133;spare 4;jednotky",
+ "0134;kmh 1;kilometer za hodinu",
+ "0135;kmh 2;kilometre za hodinu",
+ "0136;kmh 3;kilometrov za hodinu",
+ "0137;kmh 4;kilometra za hodinu",
+ "0138;meter 1;meter",
+ "0139;meter 2;metre",
+ "0140;meter 3;metrov",
+ "0141;meter 4;metra",
+ "0142;degrees 1;stupeň",
+ "0143;degrees 2;stupně",
+ "0144;degrees 3;stupňov",
+ "0145;degrees 4;stupňa",
+ "0146;percent 1;percento",
+ "0147;percent 2;percentá",
+ "0148;percent 3;percent",
+ "0149;percent 4;percenta",
+ "0150;milliamps 1;miliampér",
+ "0151;milliamps 2;miliampére",
+ "0152;milliamps 3;miliampérov",
+ "0153;milliamps 4;miliampéra",
+ "0154;mAh 1;miliampérhodina",
+ "0155;mAh 2;miliampérhodiny",
+ "0156;mAh 3;miliampérhodín",
+ "0157;mAh 4;miliampérhodiny",
+ "0158;watt 1;vat",
+ "0159;watt 2;vaty",
+ "0160;watt 3;vatov",
+ "0161;watt 4;vatu",
+ "0162;db 1;decibel",
+ "0163;db 2;decibely",
+ "0164;db 3;decibelov",
+ "0165;db 4;decibela",
+ "0166;feet 1;stopa",
+ "0167;feet 2;stopy",
+ "0168;feet 3;stuop",
+ "0169;feet 4;stopy",
+ "0170;knot 1;uzol",
+ "0171;knot 2;uzly",
+ "0172;knot 3;uzlov",
+ "0173;knot 4;uzla",
+ "0174;hours 1;hodina",
+ "0175;hours 2;hodiny",
+ "0176;hours 3;hodín",
+ "0177;hours 4;hodiny",
+ "0178;minutes 1;minůta",
+ "0179;minutes 2;minůty",
+ "0180;minutes 3;minůt",
+ "0181;minutes 4;minůty",
+ "0182;secondds 1;sekunda",
+ "0183;secondds 2;sekundy",
+ "0184;secondds 3;sekund",
+ "0185;secondds 4;sekundy",
+ "0186;rpm 1;otáčka za minůtu",
+ "0187;rpm 2;otáčky za minůtu",
+ "0188;rpm 3;otáčok za minůtu",
+ "0189;rpm 4;otáčky za minůtu",
+ "0190;g 1;gé",
+ "0191;g 2;gé",
+ "0192;g 3;gé",
+ "0193;g 4;gé",
+ "a1_org;a1 low;",
+ "a1_red;a1 critical;",
+ "a2_org;a2 low;",
+ "a2_red;a2 critical;",
+ "endtrim;maximum trim reached;",
+ "inactiv;inactivity alarm;",
+ "lowbatt;radio battery low;",
+ "midtrim;trim center;",
+ "rssi_org;rf signal low;",
+ "rssi_red;rf signal critical;",
+ "swalert;switch warning;",
+ "swr_red;radio antenna defective;",
+ "tada;Start Sound;",
+ "telemko;telemetry lost;",
+ "telemok;telemetry recover;",
+ "thralert;throttle warning;",
+ "timer10;10 seconds;",
+ "timer20;20 seconds;",
+ "timer30;30 seconds;",
+ "timerlt3;timer sound;"
+ };
+
+ private static string[] default_sk_other_strings =
+ {
+ "atti;attitude;",
+ "batcrit;battery critical;",
+ "batlow;low battery;",
+ "camcenter;camera center;",
+ "camfix;camera fixed;",
+ "cammanual;camera manual;",
+ "flapsdn;flaps down;",
+ "flapsup;flaps up;",
+ "fltmode1;flight mode 1;",
+ "fltmode2;flight mode 2;",
+ "fltmode3;flight mode 3;",
+ "fltmode4;flight mode 4;",
+ "fltmode5;flight mode 5;",
+ "fltmode6;flight mode 6;",
+ "fltmode7;flight mode 7;",
+ "fltmode8;flight mode 8;",
+ "fltmode9;flight mode 9;",
+ "fsoff;failsafe off;",
+ "fson;failsafe on;",
+ "geardn;gear down;",
+ "gearup;gear upp;",
+ "gps;gps;",
+ "hirates;hi rates;",
+ "htoff;head tracker off;",
+ "hton;head tracker on;",
+ "ioc;ioc;",
+ "iocoff;ioc off;",
+ "lowrates;lowrates;",
+ "manual;manual;",
+ "normal;normal;",
+ "nrmmod;normal mode;",
+ "thrhold;throttle locked;",
+ "thrrel;throttle released;"
+ };
+
+ private static string[] default_es_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;;ciento",
+ "0102;;doscientos",
+ "0103;;trescientos",
+ "0104;;cuatrocientos",
+ "0105;;quinientos",
+ "0106;;sescientos",
+ "0107;;setecientos",
+ "0108;;ochocientos",
+ "0109;;nuevecientos",
+ "0110;;mil",
+ "0111;;coma",
+ "0112;;un",
+ "0113;;una",
+ "0114;;y",
+ "0115;;meno",
+ "0116;;hora",
+ "0117;;horas",
+ "0118;;minuto",
+ "0119;;minutos",
+ "0120;;segundo",
+ "0121;;segundos",
+ "0122;;Voltio",
+ "0123;;ampério",
+ "0124;;metros por segundo",
+ "0125;;",
+ "0126;;kilómetro por hora",
+ "0127;;metros",
+ "0128;;grados",
+ "0129;;por ciento",
+ "0130;;miliamperios",
+ "0131;;miliamperios por hora",
+ "0132;;vatio",
+ "0133;;db",
+ "0134;;pés",
+ "0135;;nós",
+ "0136;;horas",
+ "0137;;minutos",
+ "0138;;segundos",
+ "0139;;RPM",
+ "0140;;g",
+ "0141;;cronómetro",
+ "0142;;cronómetro",
+ "0143;;transmisión",
+ "0144;;recepción",
+ "0145;;A1",
+ "0146;;A2",
+ "0147;;altitud",
+ "0148;;motor",
+ "0149;;combustible",
+ "0150;;temperatura",
+ "0151;;temperatura",
+ "0152;;velocidad",
+ "0153;;distancia",
+ "0154;;altitude",
+ "0155;;célula lipo",
+ "0156;;Total lipo",
+ "0157;;voltaje",
+ "0158;;corriente",
+ "0159;;consumo",
+ "0160;;potencia",
+ "0161;;aceleración X",
+ "0162;;aceleración Y",
+ "0163;;aceleración Z",
+ "0164;;dirección",
+ "0165;;variómetro",
+ "0166;;minimo",
+ "0167;;máximo",
+ "a1_org;;Alarma A1",
+ "a1_red;;A1 crítica",
+ "a2_org;;Alarma A2",
+ "a2_red;;A2 crítica",
+ "eebad;;eeprom corrompida",
+ "eeformat;;Formateo de eeprom en curso",
+ "endtrim;;trim al máximo",
+ "error;;error",
+ "highmah;;assorbimiento elevado",
+ "hightemp;;temperatura elevada",
+ "inactiv;;me tienes abandonada",
+ "lowbatt;;batería del transmisor baja",
+ "midpot;;potenciómetro centrado",
+ "midtrim;;trim centrado",
+ "rssi_org;;recepcion de señal baja",
+ "rssi_red;;recepción de señal crítica",
+ "swr_red;;Problemas con la antena del transmisor",
+ "swalert;;Los interruptores no están en la posición correcta, por favor corrijalo",
+ "tada;OpenTX Welcome sound;Bienvenida a OpenTX",
+ "telemko;;Sin telemetría",
+ "telemok;;Telemetría disponible",
+ "thralert;;El acelerador está activado, por favor, corrijalo",
+ "timer10;;10 segundos",
+ "timer20;;20 segundos",
+ "timer30;;30 segundos",
+ "timerlt3;;3 segundos"
+ };
+
+ private static string[] default_es_other_strings =
+ {
+ "attero;;aterrizaje",
+ "crowof;;crou, desligado",
+ "crowon;;crou, activo",
+ "engoff;;motor apagado",
+ "flapdn;;flaps abajo",
+ "flapup;;flaps arriba",
+ "fltmd1;;fase de vuelo 1",
+ "fltmd2;;fase de vuelo 2",
+ "fltmd3;;fase de vuelo 3",
+ "fltmd4;;fase de vuelo 4",
+ "fltmd5;;fase de vuelo 5",
+ "fltmd6;;fase de vuelo 6",
+ "fltmd7;;fase de vuelo 7",
+ "fltmd8;;fase de vuelo 8",
+ "fltmd9;;fase de vuelo 9",
+ "geardn;;tren abajo.",
+ "gearup;;tren arriba.",
+ "lowbat;;bateria baja",
+ "nrmmod;;modo de vuelo normal",
+ "spdmod;;modo de velocidad",
+ "thmmod;;modo de térmica",
+ "trnoff;;modo de entrenamiento deshabilitado",
+ "trnon;;modo de entrenamiento activado",
+ "tohigh;;muy alto",
+ "tolow;;muy bajo"
+ };
+
+ private static string[] default_pt_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;;cento",
+ "0102;;duzentos",
+ "0103;;trezentos",
+ "0104;;quatrocentos",
+ "0105;;quinhentos",
+ "0106;;seiscentos",
+ "0107;;setecentos",
+ "0108;;oitocentos",
+ "0109;;novecentos",
+ "0110;;mil",
+ "0111;;virgula",
+ "0112;;uma",
+ "0113;;duas",
+ "0114;;e",
+ "0115;;menos",
+ "0116;;hora",
+ "0117;;horas",
+ "0118;;minuto",
+ "0119;;minutos",
+ "0120;;segundo",
+ "0121;;segundos",
+ "0122;;Volt",
+ "0123;;ampére",
+ "0124;;metros por segundo",
+ "0125;;",
+ "0126;;quilômetros por hora",
+ "0127;;metros",
+ "0128;;graus",
+ "0129;;cento",
+ "0130;;miliamperes",
+ "0131;;miliamperes por hora",
+ "0132;;watt",
+ "0133;;db",
+ "0134;;pés",
+ "0135;;nós",
+ "0136;;horas",
+ "0137;;minutos",
+ "0138;;segundos",
+ "0139;;RPM",
+ "0140;;g",
+ "0141;;cronómetro",
+ "0142;;cronómetro",
+ "0143;;transmissão",
+ "0144;;recepção",
+ "0145;;A1",
+ "0146;;A2",
+ "0147;;altitude",
+ "0148;;motor",
+ "0149;;combustível",
+ "0150;;temperatura",
+ "0151;;temperatura",
+ "0152;;velocidade",
+ "0153;;distância",
+ "0154;;altitude",
+ "0155;;célula lipo",
+ "0156;;Total lipo",
+ "0157;;tensão",
+ "0158;;corrente",
+ "0159;;consumo",
+ "0160;;potência",
+ "0161;;aceleração X",
+ "0162;;aceleração Y",
+ "0163;;aceleração Z",
+ "0164;;Direcção",
+ "0165;;variómetro",
+ "0166;;mínimo",
+ "0167;;máximo",
+ "a1_org;;Alarme A1",
+ "a1_red;;A1 critica",
+ "a2_org;;Alarme A2",
+ "a2_red;;A2 critica",
+ "eebad;;eeprom corrompida",
+ "eeformat;;formatação da eeprom em curso",
+ "endtrim;;trim no máximo",
+ "error;;erro",
+ "highmah;;assorbimento elevato",
+ "hightemp;;temperatura elevata",
+ "inactiv;;atenção, o rádio foi esquecido ligado, por favor desligue-o",
+ "midtrim;;trim centrado",
+ "midpot;;potenciómetro centrado",
+ "lowbatt;;bateria do rádio fraca",
+ "rssi_org;;recepção de sinal muito baixa",
+ "rssi_red;;recepção de sinal crítica",
+ "swalert;;atenção, certifique-se que os interruptores estão na posição certa",
+ "swr_red;;Problema com a antena do transmissor",
+ "tada;;Bem-vindo ao OpenTX",
+ "thralert;;atenção,acelerador não está no mínimo",
+ "timer10;;10 segundos",
+ "timer20;;20 segundos",
+ "timer30;;30 segundos",
+ "timerlt3;;três segundo"
+ };
+
+ private static string[] default_pt_other_strings =
+ {
+ "attero;;aterragem",
+ "crowof;;crou, desligado",
+ "crowon;;crou, activo",
+ "engoff;;motor desligado",
+ "flapdn;;flaps estendidos",
+ "flapup;;flaps recolhidos",
+ "fltmd1;;fase de voo 1",
+ "fltmd2;;fase de voo 2",
+ "fltmd3;;fase de voo 3",
+ "fltmd4;;fase de voo 4",
+ "fltmd5;;fase de voo 5",
+ "fltmd6;;fase de vôo 6",
+ "fltmd7;;fase de voo 7",
+ "fltmd8;;fase de voo 8",
+ "fltmd9;;fase de voo 9",
+ "geardn;;trem, em baixo.",
+ "gearup;;trem, em cima.",
+ "lowbat;;bateria fraca",
+ "nrmmod;;modo de voo normal",
+ "sigcrt;;sinal crítico",
+ "siglow;;sinal baixo",
+ "spdmod;;modo de velocidade",
+ "thmmod;;modo de térmica",
+ "trnoff;;modo de treino desligado",
+ "trnon;;modo de treino ligado",
+ "tohigh;;muito alto",
+ "tolow;;muito baixo"
+ };
+
+ private static string[] default_cz_system_strings =
+ {
+ "0000;0;nula",
+ "0001;1;jedna",
+ "0002;2;dva",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;;sto",
+ "0101;;dvěsta",
+ "0102;;třista",
+ "0103;;čtyřista",
+ "0104;;pětset",
+ "0105;;šestset",
+ "0106;;sedmset",
+ "0107;;osmset",
+ "0108;;devětset",
+ "0109;;tisíc",
+ "0110;;tisíce",
+ "0111;;jeden",
+ "0112;;jedno",
+ "0113;;dvě",
+ "0114;;celá",
+ "0115;;celé",
+ "0116;;celých",
+ "0117;;mínus",
+ "0118;;volt",
+ "0119;;volty",
+ "0120;;voltů",
+ "0121;;voltu",
+ "0122;;ampér",
+ "0123;;ampéry",
+ "0124;;ampérů",
+ "0125;;ampéru",
+ "0126;;metr za sekundu",
+ "0127;;metry za sekundu",
+ "0128;;metrů za sekundu",
+ "0129;;metru za sekundu",
+ "0130;;jednotka",
+ "0131;;jednotky",
+ "0132;;jednotek",
+ "0133;;jednotky",
+ "0134;;kilometr za hodinu",
+ "0135;;kilometry za hodinu",
+ "0136;;kilometrů za hodinu",
+ "0137;;kilometru za hodinu",
+ "0138;;metr",
+ "0139;;metry",
+ "0140;;metrů",
+ "0141;;metru",
+ "0142;;stupeň",
+ "0143;;stupně",
+ "0144;;stupňů",
+ "0145;;stupně",
+ "0146;;procento",
+ "0147;;procenta",
+ "0148;;procento",
+ "0149;;procenta",
+ "0150;;miliampér",
+ "0151;;miliampéry",
+ "0152;;miliampérů",
+ "0153;;miliampéru",
+ "0154;;miliampérhodina",
+ "0155;;miliampérhodiny",
+ "0156;;miliampérhodin",
+ "0157;;miliampérhodiny",
+ "0158;;vat",
+ "0159;;vaty",
+ "0160;;vatů",
+ "0161;;vatu",
+ "0162;;decibel",
+ "0163;;decibely",
+ "0164;;decibelů",
+ "0165;;decibelu",
+ "0166;;stopa",
+ "0167;;stopy",
+ "0168;;stop",
+ "0169;;stopy",
+ "0170;;uzel",
+ "0171;;uzly",
+ "0172;;uzlů",
+ "0173;;uzlu",
+ "0174;;hodina",
+ "0175;;hodiny",
+ "0176;;hodin",
+ "0177;;hodiny",
+ "0178;;minuta",
+ "0179;;minuty",
+ "0180;;minut",
+ "0181;;minuty",
+ "0182;;sekunda",
+ "0183;;sekundy",
+ "0184;;sekund",
+ "0185;;sekundy",
+ "0186;;otáčka za minutu",
+ "0187;;otáčky za minutu",
+ "0188;;otáček za minutu",
+ "0189;;otáčky za minutu",
+ "0190;;gé",
+ "0191;;gé",
+ "0192;;gé",
+ "0193;;gé",
+ "a1_org;;A1,nízká",
+ "a1_red;;A1,kritická",
+ "a2_org;;A2,nízká",
+ "a2_red;;A2,kritická",
+ "eebad;;neplatná eeprom",
+ "endtrim;;maximum trimu",
+ "inactiv;;zapoměl jsi na mě!",
+ "lowbatt;;baterie rádia je vybitá",
+ "midtrim;;střed trimu",
+ "rssi_org;;nízký RF signál",
+ "rssi_red;;kritický RF signál",
+ "swalert;;přepínače nejsou ve výchozí poloze",
+ "swr_red;;problém s anténou rádia",
+ "tada;;Oupn najn iks",
+ "telemko;;telemetrie ztracena",
+ "telemok;;telemetrie je funkční",
+ "thralert;;plyn není na nule",
+ "timer10;;deset sekund",
+ "timer20;;dvacet sekund",
+ "timer30;;třicet sekund",
+ "timerlt3;;tři sekund!"
+ };
+
+ private static string[] default_cz_other_strings =
+ {
+ "bytvybita;;baterie modelu je vybitá",
+ "klapky0;;klapky jsou vypnuty",
+ "klapky1;;klapky jsou zapnuty",
+ "ksignal;;kritický signál!",
+ "motor0;;motor je vypnut",
+ "motor1;;motor je aktivován",
+ "nizko;;jsi příliš nízko",
+ "nsignal;;nízký signál!",
+ "palivo;;dochází palivo",
+ "podvozek0;;podvozek je zasunut",
+ "podvozek1;;podvozek je vysunut",
+ "r_norm;;normální režim aktivován",
+ "r_pristani;;režim přistání aktivován",
+ "r_rychly;;rychlý režim aktivován",
+ "r_start;;režim start aktivován",
+ "r_termik;;termický režim aktivován",
+ "stpovolen;;start povolen",
+ "trener0;;trenér je vypnutý",
+ "trener1;;trenér je zapnut",
+ "vario0;;vario je zapnuto",
+ "vario1;;vario je vypnuto",
+ "vysoko;;jsi příliš vysoko"
+ };
+
+ private static string[] default_en_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;thousand;thousand",
+ "0111;minus;minus",
+ "0112;point;point",
+ "0115;volt;volt",
+ "0116;volts;volts",
+ "0117;amp;ampere",
+ "0118;amps;ampere",
+ "0119;meter per second;meter per second",
+ "0120;meters per second;meters per second",
+ "0123;kmh;k-m-h",
+ "0124;kmh;k-m-h",
+ "0125;meter;meter",
+ "0126;meters;meters",
+ "0127;degree;degree",
+ "0128;degrees;degrees",
+ "0129;percent;percent",
+ "0130;percent;percent",
+ "0131;milliamp;milliamp",
+ "0132;milliamps;milliamps",
+ "0133;mah;m-a-h",
+ "0134;mah;m-a-h",
+ "0135;watt;watt",
+ "0136;watts;watts",
+ "0137;db;db",
+ "0138;db;db",
+ "0140;feet;feet",
+ "0141;knot;knot",
+ "0142;knots;knots",
+ "0143;hour;hour",
+ "0144;hours;hours",
+ "0145;minute;minute",
+ "0146;minutes;minutes",
+ "0147;second;second",
+ "0148;seconds;seconds",
+ "0149;rpm;r-p-m",
+ "0150;rpm;r-p-m",
+ "0151;g;gee",
+ "0152;g;gees",
+ "0160;point zero;point zero",
+ "0161;point one;point one",
+ "0162;point two;point two",
+ "0163;point three;point three",
+ "0164;point four;point four",
+ "0165;point five;point five",
+ "0166;point six;point six",
+ "0167;point seven;point seven",
+ "0168;point eight;point eight",
+ "0169;point nine;point nine",
+ "a1_org;a1 low;a1 low",
+ "a1_red;a1 critical;a1 critical",
+ "a2_org;a2 low;a2 low",
+ "a2_red;a2 critical;a2 critical",
+ "endtrim;maximum trim reached;maximum trim reached",
+ "inactiv;inactivity alarm;inactivity alarm",
+ "lowbatt;radio battery low;radio battery low",
+ "midtrim;trim center;center",
+ "rssi_org;rf signal low;rf signal low",
+ "rssi_red;rf signal critical;rf signal critical",
+ "swalert;switch warning;switch warning",
+ "swr_red;radio antenna defective;radio antenna defective",
+ "tada;Start Sound;welcome to open T-X",
+ "telemko;telemetry lost;telemetry lost",
+ "telemok;telemetry recover;telemetry recover",
+ "thralert;throttle warning;throttle warning",
+ "timer10;10 seconds;10 seconds",
+ "timer20;20 seconds;20 seconds",
+ "timer30;30 seconds;30 seconds",
+ "timerlt3;timer sound;3 seconds"
+ };
+
+ private static string[] default_en_other_strings =
+ {
+ "atti;attitude;attitude",
+ "batcrit;battery critical;battery critical",
+ "batlow;low battery;low battery",
+ "camcenter;camera center;camera center",
+ "camfix;camera fixed;camera fixed",
+ "cammanual;camera manual;camera manual",
+ "capacity;capacity;capacity",
+ "engdis;engine disabled;engine disabled",
+ "engoff;engine off;engine off",
+ "engon;engine on;engine on",
+ "flaps1;flaps 1;flaps 1",
+ "flaps2;flaps 2;flaps 2",
+ "flapsdn;flaps down;flaps down",
+ "flapsup;flaps up;flaps up",
+ "fltmode1;flight mode one;flight mode one",
+ "fltmode2;flight mode two;flight mode two",
+ "fltmode3;flight mode three;flight mode three",
+ "fltmode4;flight mode four;flight mode four",
+ "fltmode5;flight mode five;flight mode five",
+ "fltmode6;flight mode six;flight mode six",
+ "fltmode7;flight mode seven;flight mode seven",
+ "fltmode8;flight mode eight;flight mode eight",
+ "fsoff;failsafe off;failsafe off",
+ "fson;failsafe on;failsafe on",
+ "geardn;gear down;gear down",
+ "gearup;gear upp;gear upp",
+ "gps;gps;G-P-S",
+ "horn;horn sound;eeeeeeeee",
+ "hirates;hi rates;hi rates",
+ "htoff;head tracker off;head tracker off",
+ "hton;head tracker on;head tracker on",
+ "ioc;ioc;ioc",
+ "iocoff;ioc off;ioc off",
+ "lowrates;lowrates;lowrates",
+ "manual;manual;manual",
+ "normal;normal;normal",
+ "nrmmod;normal mode;normal mode",
+ "pouet;small horn;ee , ee",
+ "shutter;camera shutter sound;klick",
+ "thrhold;throttle locked;throttle locked",
+ "thrrel;throttle released;throttle released",
+ "wizz;wizzing sound;shiss"
+ };
+
+ private static string[] default_se_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;en",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;tjugoen",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;trettioen",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;fyrtioen",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;femtioen",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;sextioen",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;sjuttioen",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;åttioen",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;nittioen",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;thousand;tusen",
+ "0111;minus;minus",
+ "0112;point;komma",
+ "0115;volt;volt",
+ "0116;volts;volt",
+ "0117;amp;ampere",
+ "0118;amps;ampere",
+ "0119;meter per second;meter per sekund",
+ "0120;meters per second;meter per sekund",
+ "0123;kmh;kilometer i timmen",
+ "0124;kmh;kilometer i timmen",
+ "0125;meter;meter",
+ "0126;meters;meter",
+ "0127;degree;grad",
+ "0128;degrees;grader",
+ "0129;percent;procent",
+ "0130;percent;procent",
+ "0131;milliamp;milliampere",
+ "0132;milliamps;milliampere",
+ "0133;mah;milliampere-timme",
+ "0134;mah;milliampere-timmar",
+ "0135;watt;watt",
+ "0136;watts;watt",
+ "0137;db;dessibell",
+ "0138;db;dessibell",
+ "0140;feet;fot",
+ "0141;knot;knop",
+ "0142;knots;knop",
+ "0143;hour;timme",
+ "0144;hours;timmar",
+ "0145;minute;minut",
+ "0146;minutes;minuter",
+ "0147;second;sekund",
+ "0148;seconds;sekunder",
+ "0149;rpm;varv i minuten",
+ "0150;rpm;varv i minuten",
+ "0151;g;g",
+ "0152;g;g",
+ "0160;point zero;komma noll",
+ "0161;point one;komma en",
+ "0162;point two;komma två",
+ "0163;point three;komma tre",
+ "0164;point four;komma fyra",
+ "0165;point five;komma fem",
+ "0166;point six;komma sex",
+ "0167;point seven;komma sju",
+ "0168;point eight;komma åtta",
+ "0169;point nine;komma nio",
+ "a1_org;a1 low;a1 låg",
+ "a1_red;a1 critical;a1 kritisk",
+ "a2_org;a2 low;a2 låg",
+ "a2_red;a2 critical;a2 kritisk",
+ "endtrim;maximum trim reached;maximum trim",
+ "inact;inactivity alarm;inaktivitets-larm",
+ "lowbat;radio battery low;Låg radiobatterispänning",
+ "midtrim;trim center;center",
+ "rssi_org;rf signal low;Svag radio-signal",
+ "rssi_red;rf signal critical;Kritisk radio-signal",
+ "swalert;switch warning;brytar-varning",
+ "swr_red;;radio-antennen är defekt",
+ "tada;;Välkommen till open Te Ex",
+ "telemko;;telemetri förlorad",
+ "telemok;;telemetri åter",
+ "thralert;;gas-varning",
+ "timer10;;10 sekunder",
+ "timer20;;20 sekunder",
+ "timer30;;30 sekunder",
+ "timerlt3;timer sound;3 sekunder"
+ };
+
+ private static string[] default_se_other_strings =
+ {
+ "atti;;lutning",
+ "batcrit;;kritisk batteri-nivå",
+ "batlow;;låg batteri-nivå",
+ "camcenter;;kamera centrerad",
+ "cammanual;;manuell kamera-kontroll",
+ "capacity;;kapacitet",
+ "engdis;;motor säkrad",
+ "engoff;;motor avslagen",
+ "engon;;motor på",
+ "flaps1;;flaps läge, ett",
+ "flaps2;;flaps läge två",
+ "flapsdn;;flaps ned",
+ "flapsup;;flaps upp",
+ "fltmode1;;flyg-läge, ett",
+ "fltmode2;;flyg-läge två",
+ "fltmode3;;flyg-läge tre",
+ "fltmode4;;flyg-läge fyra",
+ "fltmode5;;flyg-läge fem",
+ "fltmode6;;flyg-läge sex",
+ "fltmode7;;flyg-läge sju",
+ "fltmode8;;flyg-läge åtta",
+ "fsoff;;fäjlsäif avslagen",
+ "fson;;fäjlsäif på",
+ "geardn;;landningsställ ned",
+ "gearup;;landningsställ upp",
+ "gps;;GPS",
+ "hirates;;höga nivåer",
+ "htoff;;head tracker avslagen",
+ "hton;;head tracker på",
+ "horn;horn sound;eeeeeeeee",
+ "ioc;;i o c",
+ "iocoff;;i o c avslagen",
+ "lowrates;;låga nivåer",
+ "manual;;manuell",
+ "normal;;normal",
+ "nrmmod;;normalt läge",
+ "pouet;small horn;ee , ee",
+ "shutter;camera shutter sound;klick",
+ "thrhold;;gas säkrad",
+ "thrrel;;gas osäkrad",
+ "speed;;hastighet",
+ "start;;start",
+ "thermal;;termik",
+ "wizz;wizzing sound;shiss"
+ };
+
+ private static string[] default_it_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;mila;mila",
+ "0102;mille;mille",
+ "0103;virgola;virgola",
+ "0104;un;un",
+ "0105;e;e",
+ "0106;meno;meno",
+ "0107;ora;ora",
+ "0108;ore;ore",
+ "0109;minuto;minuto",
+ "0110;minuti;minuti",
+ "0111;secondo;secondo",
+ "0112;secondi;secondi",
+ "0113;;volt",
+ "0114;;ampere",
+ "0115;;metri per secondo",
+ "0116;;",
+ "0117;;chilometri/ora",
+ "0118;;metri",
+ "0119;;gradi",
+ "0120;;percento",
+ "0121;;milliampere",
+ "0122;;milliampere/ora",
+ "0123;;watt",
+ "0124;;db",
+ "0125;;piedi",
+ "0126;;nodi",
+ "0127;;ore",
+ "0128;;minuti",
+ "0129;;secondi",
+ "0130;;R P M",
+ "0131;;g",
+ "0132;;timer",
+ "0133;;timer",
+ "0134;;trasmissione",
+ "0135;;ricezione",
+ "0136;;A1",
+ "0137;;A2",
+ "0138;;altitudine",
+ "0139;;motore",
+ "0140;;carburante",
+ "0141;;temperatura",
+ "0142;;temperatura",
+ "0143;;velocità",
+ "0144;;distanza",
+ "0145;;altitudine",
+ "0146;;cella lipo",
+ "0147;;totale lipo",
+ "0148;;tensione",
+ "0149;;corrente",
+ "0150;;consumo",
+ "0151;;potenza",
+ "0152;;accellerazione X",
+ "0153;;accellerazione Y",
+ "0154;;accellerazione Z",
+ "0155;;direzione",
+ "0156;;variometro",
+ "0157;;minimo",
+ "0158;;massimo",
+ "a1_org;A1 in allarme;A1 in allarme",
+ "a1_red;A1 critico;A1 critico",
+ "a2_org;A2 in allarme;A2 in allarme",
+ "a2_red;A2 critico;A2 critico",
+ "eebad;eeprom corrotta;eeprom corrotta",
+ "eeformat;formattazone eeprom in corso;formattazone eeprom in corso",
+ "endtrim;massimo trim raggiunto;massimo trim raggiunto",
+ "error;errore;errore",
+ "highmah;assorbimento elevato;assorbimento elevato",
+ "hightemp;temperatura elevata;temperatura elevata",
+ "inactiv;radio inattiva controllare;radio inattiva controllare",
+ "lowbatt;batteria della radio scarica;batteria della radio scarica",
+ "midpot;potenziometro centrato;potenziometro centrato",
+ "midtrim;trim centrato;trim centrato",
+ "rssi_org;Segnale radio basso;Segnale radio basso",
+ "rssi_red;Segnale radio critico;Segnale radio critico",
+ "swalert;interruttori non in posizione, verificare;interruttori non in posizione, verificare",
+ "swr_red;Problema all'antenna della radio;Problema all'antenna della radio",
+ "tada;;Benvenuto",
+ "telemko;Telemetria assente;Telemetria assente",
+ "telemok;Telemetria disponibile;Telemetria disponibile",
+ "thralert;controllo motore non in posizione, verificare;controllo motore non in posizione, verificare",
+ "timer10;dieci secondi;dieci secondi",
+ "timer20;venti secondi;venti secondi",
+ "timer30;trenta secondi;trenta secondi",
+ "timerlt3;timer sound;3 secondi"
+ };
+
+ private static string[] default_it_other_strings =
+ {
+ "attero;;atterraggiio",
+ "crowof;;crow off",
+ "crowon;;crow on",
+ "engoff;;motore spento",
+ "flapdn;;flap estesi",
+ "flapup;;flap rientrati",
+ "fltmd1;;fase di volo 1",
+ "fltmd2;;fase di volo 2",
+ "fltmd3;;fase di volo 3",
+ "fltmd4;;fase di volo 4",
+ "fltmd5;;fase di volo 5",
+ "fltmd6;;fase di volo 6",
+ "fltmd7;;fase di volo 7",
+ "fltmd8;;fase di volo 8",
+ "fltmd9;;fase di volo 9",
+ "geardn;;carrello aperto",
+ "gearup;;carrello chiuso",
+ "gps;;GPS",
+ "lowbat;;batteria scarica",
+ "nrmmod;;modo volo normale",
+ "spdmod;;modo velocità",
+ "thmmod;;modo termica",
+ "tohigh;;troppo alto",
+ "tolow;;troppo basso",
+ "trnoff;;modalità maestro disattiva",
+ "trnon;;modalità maestro attiva"
+ };
+
+ private static string[] default_de_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;ein",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;1000;tausend",
+ "0102;;comma;comma",
+ "0103;;und",
+ "0104;;minus",
+ "0105;;uhr",
+ "0106;;minute",
+ "0107;;minuten",
+ "0108;;sekunde",
+ "0109;;sekunden",
+ "0110;;Volt",
+ "0111;;Ampere",
+ "0112;;Meter pro sekunde",
+ "0113;;",
+ "0114;;kilometer pro stunde",
+ "0115;;Meter",
+ "0116;;Grad",
+ "0117;;Prozent",
+ "0118;;Milliampere",
+ "0119;;Milliampere pro stunde",
+ "0120;;Watt",
+ "0121;;db",
+ "0122;;Fuesse",
+ "0123;;Knoten",
+ "0124;;Uhr",
+ "0125;;Minuten",
+ "0126;;Secunden",
+ "0127;;R P M",
+ "0128;;g",
+ "0129;;Timer",
+ "0130;;Timer",
+ "0131;;Sendung",
+ "0132;;Empfang",
+ "0133;;A1",
+ "0134;;A2",
+ "0135;;Hoehe",
+ "0136;;Motor",
+ "0137;;Treibstoff",
+ "0138;;Temperatur",
+ "0139;;Temperatur",
+ "0140;;Geschwindigkeit",
+ "0141;;Ferne",
+ "0142;;Hoehe",
+ "0143;;Lipo-Zelle",
+ "0144;;Zellen gesamt",
+ "0145;;Spannung",
+ "0146;;Strom",
+ "0147;;Verbrauch",
+ "0148;;Power",
+ "0149;;Beschleunigung X",
+ "0150;;Beschleunigung Y",
+ "0151;;Beschleunigung Z",
+ "0152;;Richtung",
+ "0153;;Variometer",
+ "0154;;Minimum",
+ "0155;;Maximum",
+ "a1_org;;A1 schlecht!",
+ "a1_red;;A1 kritisch!",
+ "a2_org;;A2 schlecht!",
+ "a2_red;;A2 kritisch!",
+ "eebad;;Das EEPROM ist fehlerhaft",
+ "eeformat;;Das EEPROM ist immer formatiert",
+ "endtrim;;Maximale trimmung erreicht",
+ "error;;fehler",
+ "highmah;;Senderstrom ist zu hoch!",
+ "hightemp;;Sendertemperatur ist zu hoch!",
+ "inactiv;;Sender ist inaktiv,bitte Ueberpruefen Sie",
+ "lowbatt;;Senderakku niedrig",
+ "midtrim;;Trim zentriert",
+ "midpot;;Poti zentriert",
+ "rssi_org;;Funksignal schlecht!",
+ "rssi_red;;Funksignal kritisch!",
+ "swr_red;;Problem mit der sender Antenna",
+ "swalert;;Schalten fehlpositioniert, bitte pruefen",
+ "tada;Welcome sound;Willkommen",
+ "thralert;;Gaskanal nicht Null, bitte pruefen",
+ "timer10;;10 sekunden",
+ "timer20;;20 sekunden",
+ "timer30;;30 sekunden",
+ "timerlt3;;Noch drei Sekunden" };
+
+ private static string[] default_de_other_strings =
+ {
+ "attero;;Landung",
+ "crowof;;crow aus",
+ "crowon;;crow ein",
+ "engoff;;Motor aus",
+ "flapdn;;Klappen ausgefahren",
+ "flapup;;Klappen eingefahren",
+ "fltmd1;;Regime 1",
+ "fltmd2;;Regime 2",
+ "fltmd3;;Regime 3",
+ "fltmd4;;Regime 4",
+ "fltmd5;;Regime 5",
+ "fltmd6;;Regime 6",
+ "fltmd7;;Regime 7",
+ "fltmd8;;Regime 8",
+ "fltmd9;;Regime 9",
+ "geardn;;Fahrwerk ausgefahren",
+ "gearup;;Fahrwerk eingezogen",
+ "horn;horn sound;eeeeeeeee",
+ "lowbat;;Batterie schwach",
+ "nrmmod;;Normal-Modus ist aktiviert",
+ "pouet;small horn;ee , ee",
+ "shutter;camera shutter sound;klick",
+ "spdmod;;Schnell-Modus ist aktiviert",
+ "thmmod;;Thermik-Modus ist aktiviert",
+ "trnon;;Trainer-Modus ein",
+ "trnoff;;Trainer-Modus aus",
+ "tohigh;;zu hoch",
+ "tolow;;zu niedrig",
+ "wizz;wizzing sound;shiss"
+ };
+
+ private static string[] default_fr_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;1000;Mille",
+ "0110;;une",
+ "0111;11;onze",
+ "0112;21;21",
+ "0113;31;31",
+ "0114;41;41",
+ "0115;51;51",
+ "0116;61;61",
+ "0117;71;71",
+ "0118;81;81",
+ "0119;.;virgule",
+ "0120;&;et",
+ "0121;-;moins",
+ "0122;<>;bip",
+ "0123;<>;bip",
+ "0124;<>;bip",
+ "0125;V;volts",
+ "0126;A;ampères",
+ "0127;ms;mètres par seconde",
+ "0128;<>;bip",
+ "0129;kmh;kilomètre heure",
+ "0130;m;mètres",
+ "0131;;degrés",
+ "0132;%;pourcent",
+ "0133;mA;milliampère",
+ "0134;mAH;milliampères heure",
+ "0135;W;watt",
+ "0136;dB;db",
+ "0137;;pied",
+ "0138;;noeud",
+ "0139;h;heure",
+ "0140;min;minute",
+ "0141;sec;secondes",
+ "0142;;taux par minute",
+ "0143;G;g",
+ "0144;<>;bip",
+ "0144;<>;bip",
+ "0146;timer;chrono",
+ "0147;<>;bip",
+ "0148;;tension",
+ "0149;;tension",
+ "0150;;émission",
+ "0151;;réception",
+ "0152;;altitude",
+ "0153;;moteur",
+ "0154;;carburant",
+ "0155;;temperature",
+ "0156;;temperature",
+ "0157;;vitesse",
+ "0158;;distance",
+ "0159;;attitude",
+ "0160;;élément lipo",
+ "0161;;total lipo",
+ "0162;;tension",
+ "0163;;courant",
+ "0164;;consomation",
+ "0165;;puissance",
+ "0166;;accelération x",
+ "0167;;accelération y",
+ "0168;;accelération z",
+ "0169;;orientation",
+ "0170;;vario",
+ "0171;<>;bip",
+ "0172;<>;bip",
+ "0173;<>;bip",
+ "0174;<>;bip",
+ "0175;<>;bip",
+ "0176;<>;bip",
+ "0177;<>;bip",
+ "0178;<>;bip",
+ "0179;<>;bip",
+ "0180;.0;virgule 0",
+ "0181;.1;virgule 1",
+ "0182;.2;virgule 2",
+ "0183;.3;virgule 3",
+ "0184;.4;virgule 4",
+ "0185;.5;virgule 5",
+ "0186;.6;virgule 6",
+ "0187;.7;virgule 7",
+ "0188;.8;virgule 8",
+ "0189;.9;virgule 9",
+ "190;<>;bip",
+ "a1_org;a1 low;a1 bas",
+ "a1_red;a1 critical;a1 critique",
+ "a2_org;a2 low;a2 bas",
+ "a2_red;a2 critical;a2 critique",
+ "eebad;memoire basse;niveau mémoire bas",
+ "endtrim;trim maximum atteint;trim maximum atteint",
+ "inact;inactivity alarm;alarme d'innactivité",
+ "lowbat;radio battery low;batterie transmetteur faible",
+ "midtrim;trim center;trim centré",
+ "rssi_org;rf signal low;signal recepteur faible",
+ "rssi_red;rf signal critical;signal recepteur critique",
+ "swalert;switch warning;interupteur mal positionné",
+ "swr_red;radio antenna defective;antenne emeteur defectueuse",
+ "tada;welcome to opentx;Bienvenue sur Open tx",
+ "telemko;telemetry lost;télémétrie perdue",
+ "telemok;telemetry recover;télémétrie retrouvée",
+ "thralert;throttle warning;mettre les gaz a 0",
+ "timer10;10 seconds;10 secondes",
+ "timer20;20 seconds;20 secondes",
+ "timer30;30 seconds;30 secondes",
+ "timerlt3;3 seconds;3 secondes"
+ };
+
+ private static string[] default_fr_other_strings =
+ {
+ "attero;;atterrissage",
+ "atti;attitude;attitude",
+ "batcrit;battery critical;niveau batterie critique",
+ "batlow;low battery;niveau batterie bas",
+ "camcenter;camera center;caméra centrée",
+ "cammanual;camera manual;caméra manuelle",
+ "capacity;capacity;capacité",
+ "engdis;engine disabled;moteur calé",
+ "engoff;engine off;moteur coupé",
+ "engon;engine on;moteur démarré",
+ "flaps1;flaps 1;volets 1",
+ "flaps2;flaps 2;volets 2",
+ "flapsdn;flaps down;volets sortis",
+ "flapsup;flaps up;volets rentrés",
+ "fltmode0;phase de vol 0;phase de vol 0",
+ "fltmode1;phase de vol 1;phase de vol 1",
+ "fltmode2;phase de vol 2;phase de vol 2",
+ "fltmode3;phase de vol 3;phase de vol 3",
+ "fltmode4;phase de vol 4;phase de vol 4",
+ "fltmode5;phase de vol 5;phase de vol 5",
+ "fltmode6;phase de vol 6;phase de vol 6",
+ "fltmode7;phase de vol 7;phase de vol 7",
+ "fltmode8;phase de vol 8;phase de vol 8",
+ "fsoff;failsafe off;failsafe coupé",
+ "fson;failsafe on;failsafe activé",
+ "geardn;gear down;train sorti",
+ "gearup;gear upp;train rentré",
+ "gps;gps;gps",
+ "hirates;hi rates;taux élevé",
+ "htoff;head tracker off;suivi tète désactivé",
+ "hton;head tracker on;suivi tète activé",
+ "ioc;ioc;i o c",
+ "iocoff;ioc off;i o c coupé",
+ "lowrates;lowrates;taux faible",
+ "manual;manual;manuel",
+ "normal;normal;normal",
+ "nrmmod;normal mode;mode normal",
+ "thrhold;throttle locked;gaz bloqués","thrrel;throttle released;gaz relachés",
+ "trnoff;;fin écolage",
+ "trnon;;écolage",
+ };
+
+ public string[][] default_system_strings = new string[10][];
+ public string[][] default_other_strings = new string[10][];
+
+ public int toInt(string langStr)
+ {
+ if (langStr == "cz") return 1;
+ if (langStr == "de") return 2;
+ if (langStr == "es") return 3;
+ if (langStr == "fr") return 4;
+ if (langStr == "it") return 5;
+ if (langStr == "pl") return 6;
+ if (langStr == "pt") return 7;
+ if (langStr == "se") return 8;
+ if (langStr == "sk") return 9;
+ else return 0; //English default
+ }
+
+ public SentenceTables()
+ {
+ default_other_strings[toInt("cz")] = default_cz_other_strings;
+ default_system_strings[toInt("cz")] = default_cz_system_strings;
+
+ default_other_strings[toInt("de")] = default_de_other_strings;
+ default_system_strings[toInt("de")] = default_de_system_strings;
+
+ default_other_strings[toInt("en")] = default_en_other_strings;
+ default_system_strings[toInt("en")] = default_en_system_strings;
+
+ default_other_strings[toInt("es")] = default_es_other_strings;
+ default_system_strings[toInt("es")] = default_es_system_strings;
+
+ default_other_strings[toInt("fr")] = default_fr_other_strings;
+ default_system_strings[toInt("fr")] = default_fr_system_strings;
+
+ default_other_strings[toInt("it")] = default_it_other_strings;
+ default_system_strings[toInt("it")] = default_it_system_strings;
+
+ default_other_strings[toInt("pl")] = default_pl_other_strings;
+ default_system_strings[toInt("pl")] = default_pl_system_strings;
+
+ default_other_strings[toInt("pt")] = default_pt_other_strings;
+ default_system_strings[toInt("pt")] = default_pt_system_strings;
+
+ default_other_strings[toInt("se")] = default_se_other_strings;
+ default_system_strings[toInt("se")] = default_se_system_strings;
+
+ default_other_strings[toInt("sk")] = default_sk_other_strings;
+ default_system_strings[toInt("sk")] = default_sk_system_strings;
+ }
+ }
+}
diff --git a/sound/recorder/stop.png b/sound/recorder/stop.png
new file mode 100644
index 000000000..d931243bd
Binary files /dev/null and b/sound/recorder/stop.png differ
diff --git a/sound/speaker/.gitignore b/sound/speaker/.gitignore
new file mode 100644
index 000000000..ebd53ae98
--- /dev/null
+++ b/sound/speaker/.gitignore
@@ -0,0 +1,3 @@
+/OpenTXspeaker.suo
+/bin/*
+/obj/*
diff --git a/speaker/App.xaml b/sound/speaker/App.xaml
similarity index 100%
rename from speaker/App.xaml
rename to sound/speaker/App.xaml
diff --git a/speaker/App.xaml.cs b/sound/speaker/App.xaml.cs
similarity index 100%
rename from speaker/App.xaml.cs
rename to sound/speaker/App.xaml.cs
diff --git a/sound/speaker/GPLv3_Logo.png b/sound/speaker/GPLv3_Logo.png
new file mode 100644
index 000000000..ba78d4c49
Binary files /dev/null and b/sound/speaker/GPLv3_Logo.png differ
diff --git a/speaker/MainWindow.xaml b/sound/speaker/MainWindow.xaml
similarity index 72%
rename from speaker/MainWindow.xaml
rename to sound/speaker/MainWindow.xaml
index 9ed94b625..312a13593 100644
--- a/speaker/MainWindow.xaml
+++ b/sound/speaker/MainWindow.xaml
@@ -2,10 +2,10 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="OpenTX Speaker"
- Height="460"
+ Height="514"
MinWidth="840"
MaxWidth="840"
- ResizeMode="CanResizeWithGrip" MinHeight="460" SizeToContent="Width">
+ ResizeMode="CanResizeWithGrip" MinHeight="514" SizeToContent="Width" Icon="/OpenTXspeaker;component/icon.ico">
@@ -71,7 +71,7 @@
-
+
+
+
+
+
+
+
+
@@ -91,7 +106,7 @@
-
+
+
+
+
+
+
+
+
-
-
+
+
-
- Install Voices
-
-
+
+
+
+ Install Voices
+
diff --git a/speaker/MainWindow.xaml.cs b/sound/speaker/MainWindow.xaml.cs
similarity index 98%
rename from speaker/MainWindow.xaml.cs
rename to sound/speaker/MainWindow.xaml.cs
index b49d98b81..ec5b89e8a 100644
--- a/speaker/MainWindow.xaml.cs
+++ b/sound/speaker/MainWindow.xaml.cs
@@ -110,12 +110,13 @@ namespace OpenTXspeak
private void lvSentences_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
- synth.SetOutputToDefaultAudioDevice();
- synth.Rate = (int)this.voiceRateSlider.Value;
-
if (this.lvSentences.SelectedItems.Count < 1)
return;
+ synth.SetOutputToDefaultAudioDevice();
+ synth.Rate = (int)this.voiceRateSlider.Value;
+ synth.Volume = (int)this.voiceVolumeSlider.Value;
+
Sentence sentence = (Sentence)this.lvSentences.SelectedItem;
synth.SelectVoice(cbVoices.Text);
try { synth.Speak(sentence.voiceString); }
@@ -153,7 +154,9 @@ namespace OpenTXspeak
Cursor oldCursor = this.Cursor;
this.Cursor = Cursors.Wait;
+ synth.SelectVoice(cbVoices.Text);
synth.Rate = (int)this.fileRateSlider.Value;
+ synth.Volume = (int)this.fileVolumeSlider.Value;
int sampleRate = 32000;
if ((bool)this.rb16khz.IsChecked)
diff --git a/speaker/OpenTXspeak.csproj b/sound/speaker/OpenTXspeaker.csproj
similarity index 74%
rename from speaker/OpenTXspeak.csproj
rename to sound/speaker/OpenTXspeaker.csproj
index a33264511..2d82a5211 100644
--- a/speaker/OpenTXspeak.csproj
+++ b/sound/speaker/OpenTXspeaker.csproj
@@ -5,16 +5,31 @@
x86
8.0.30703
2.0
- {8143D08D-1861-42DD-A861-56B15DE42A69}
+ {BB2C7ECA-B4B9-4957-B7D9-B0C7817CA148}
WinExe
Properties
- OpenTXspeak
- OpenTXspeak
+ OpenTXspeaker
+ OpenTXspeaker
v4.0
Client
512
{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
4
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
x86
@@ -110,18 +125,38 @@
-
-
-
+
+
+
+ False
+ Microsoft .NET Framework 4 Client Profile %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/speaker/Properties/Settings.Designer.cs b/sound/speaker/Properties/Settings.Designer.cs
similarity index 85%
rename from speaker/Properties/Settings.Designer.cs
rename to sound/speaker/Properties/Settings.Designer.cs
index 41fee29f5..c53e24567 100644
--- a/speaker/Properties/Settings.Designer.cs
+++ b/sound/speaker/Properties/Settings.Designer.cs
@@ -8,21 +8,17 @@
//
//------------------------------------------------------------------------------
-namespace OpenTXspeak.Properties
-{
-
-
+namespace OpenTXspeaker.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
diff --git a/sound/speaker/Properties/Settings.settings b/sound/speaker/Properties/Settings.settings
new file mode 100644
index 000000000..033d7a5e9
--- /dev/null
+++ b/sound/speaker/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/speaker/aboutWindow.xaml b/sound/speaker/aboutWindow.xaml
similarity index 88%
rename from speaker/aboutWindow.xaml
rename to sound/speaker/aboutWindow.xaml
index 9404c8a6f..c808ba688 100644
--- a/speaker/aboutWindow.xaml
+++ b/sound/speaker/aboutWindow.xaml
@@ -1,7 +1,7 @@
+ Title="OpenTX About Window" Height="350" Width="357" Icon="/OpenTXspeaker;component/icon.ico">
@@ -23,7 +23,7 @@
-
+
@@ -35,11 +35,11 @@
-
-
+
diff --git a/speaker/aboutWindow.xaml.cs b/sound/speaker/aboutWindow.xaml.cs
similarity index 100%
rename from speaker/aboutWindow.xaml.cs
rename to sound/speaker/aboutWindow.xaml.cs
diff --git a/speaker/eSpeak.png b/sound/speaker/eSpeak.png
similarity index 100%
rename from speaker/eSpeak.png
rename to sound/speaker/eSpeak.png
diff --git a/speaker/firmware_logo.xcf b/sound/speaker/firmware_logo.xcf
similarity index 100%
rename from speaker/firmware_logo.xcf
rename to sound/speaker/firmware_logo.xcf
diff --git a/sound/speaker/icon.ico b/sound/speaker/icon.ico
new file mode 100644
index 000000000..e81c703b7
Binary files /dev/null and b/sound/speaker/icon.ico differ
diff --git a/speaker/installvoices.xaml b/sound/speaker/installvoices.xaml
similarity index 93%
rename from speaker/installvoices.xaml
rename to sound/speaker/installvoices.xaml
index 2cb0e2d83..4e25f5cc6 100644
--- a/speaker/installvoices.xaml
+++ b/sound/speaker/installvoices.xaml
@@ -1,7 +1,7 @@
+ Title="Install Additional Voices" Height="269" Width="504" Icon="/OpenTXspeaker;component/icon.ico">
-
+
diff --git a/speaker/installvoices.xaml.cs b/sound/speaker/installvoices.xaml.cs
similarity index 100%
rename from speaker/installvoices.xaml.cs
rename to sound/speaker/installvoices.xaml.cs
diff --git a/speaker/sentencetables.cs b/sound/speaker/sentencetables.cs
similarity index 100%
rename from speaker/sentencetables.cs
rename to sound/speaker/sentencetables.cs
diff --git a/speaker/speaker_logo.png b/sound/speaker/speaker_logo.png
similarity index 100%
rename from speaker/speaker_logo.png
rename to sound/speaker/speaker_logo.png
diff --git a/speaker/speaker_logo.xcf b/sound/speaker/speaker_logo.xcf
similarity index 100%
rename from speaker/speaker_logo.xcf
rename to sound/speaker/speaker_logo.xcf
diff --git a/speaker/speaker_logo_small.png b/sound/speaker/speaker_logo_small.png
similarity index 100%
rename from speaker/speaker_logo_small.png
rename to sound/speaker/speaker_logo_small.png
diff --git a/speaker/.gitignore b/speaker/.gitignore
deleted file mode 100644
index c6764a97d..000000000
--- a/speaker/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/OpenTXspeak.suo
-/bin/*
-/obj/*
diff --git a/speaker/GPLv3_Logo.png b/speaker/GPLv3_Logo.png
deleted file mode 100644
index 8f2ec4b35..000000000
Binary files a/speaker/GPLv3_Logo.png and /dev/null differ