diff --git a/DONATIONS.txt b/DONATIONS.txt
index 99b67a483..2f171e705 100644
--- a/DONATIONS.txt
+++ b/DONATIONS.txt
@@ -348,3 +348,5 @@ Martyn Coles
Jose Sobral
Heung Jin Choi
Tomasz Janiak
+Fabien Gagné
+Joe Street
diff --git a/companion/src/burndialog.cpp b/companion/src/burndialog.cpp
index d5e89805f..21b151051 100644
--- a/companion/src/burndialog.cpp
+++ b/companion/src/burndialog.cpp
@@ -52,7 +52,7 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
ui->BurnFlashButton->setDisabled(true);
ui->FWFileName->clear();
ui->DateField->clear();
- ui->SVNField->clear();
+ ui->versionField->clear();
ui->ModField->clear();
ui->FramFWInfo->hide();
ui->SplashFrame->hide();
@@ -132,7 +132,7 @@ void burnDialog::on_FlashLoadButton_clicked()
ui->BurnFlashButton->setDisabled(true);
ui->FWFileName->clear();
ui->DateField->clear();
- ui->SVNField->clear();
+ ui->versionField->clear();
ui->ModField->clear();
ui->FramFWInfo->hide();
ui->SplashFrame->hide();
@@ -192,8 +192,8 @@ void burnDialog::checkFw(QString fileName)
if (flash.isValid()) {
ui->FramFWInfo->show();
ui->DateField->setText(flash.getDate() + " " + flash.getTime());
- ui->SVNField->setText(flash.getSvn());
- ui->ModField->setText(flash.getBuild());
+ ui->versionField->setText(flash.getVersion().isEmpty() ? flash.getSvn() : flash.getVersion());
+ ui->ModField->setText(flash.getEEprom());
ui->SplashFrame->hide();
if (flash.hasSplash()) {
diff --git a/companion/src/burndialog.ui b/companion/src/burndialog.ui
index e766d31f9..208bc4527 100644
--- a/companion/src/burndialog.ui
+++ b/companion/src/burndialog.ui
@@ -113,8 +113,15 @@
QFrame::Raised
+ -
+
+
+ Date & Time
+
+
+
-
-
+
true
@@ -135,20 +142,13 @@
-
-
+
- SVN
+ Version
- -
-
-
- Date & Time
-
-
-
- -
+
-
true
@@ -360,8 +360,7 @@
BurnFlashButton
FWFileName
FlashLoadButton
- DateField
- SVNField
+ versionField
ModField
useProfileImageCB
useFwImageCB
diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp
index d2b2358eb..33f2651d8 100644
--- a/companion/src/eeprominterface.cpp
+++ b/companion/src/eeprominterface.cpp
@@ -791,115 +791,122 @@ QString FuncSwData::repeatToString()
GeneralSettings::GeneralSettings()
{
memset(this, 0, sizeof(GeneralSettings));
+
contrast = 25;
vBatWarn = 90;
- for (int i=0; i<(NUM_STICKS+C9X_NUM_POTS ); ++i) {
+
+ for (int i=0; igetBoard())) {
+ potsType[0] = 1;
+ potsType[1] = 1;
+ }
+
templateSetup = g.profile[g.id()].channelOrder();
stickMode = g.profile[g.id()].defaultMode();
- QString t_calib=g.profile[g.id()].stickPotCalib();
- int potsnum=GetEepromInterface()->getCapability(Pots);
- if (t_calib.isEmpty()) {
- return;
- }
- else {
- QString t_trainercalib=g.profile[g.id()].trainerCalib();
- int8_t t_vBatCalib=(int8_t)g.profile[g.id()].vBatCalib();
- int8_t t_currentCalib=(int8_t)g.profile[g.id()].currentCalib();
- int8_t t_PPM_Multiplier=(int8_t)g.profile[g.id()].ppmMultiplier();
- uint8_t t_stickMode=(uint8_t)g.profile[g.id()].gsStickMode();
- uint8_t t_vBatWarn=(uint8_t)g.profile[g.id()].vBatWarn();
- QString t_DisplaySet=g.profile[g.id()].display();
- QString t_BeeperSet=g.profile[g.id()].beeper();
- QString t_HapticSet=g.profile[g.id()].haptic();
- QString t_SpeakerSet=g.profile[g.id()].speaker();
- QString t_CountrySet=g.profile[g.id()].countryCode();
+ QString t_calib=g.profile[g.id()].stickPotCalib();
+ int potsnum=GetEepromInterface()->getCapability(Pots);
+ if (t_calib.isEmpty()) {
+ return;
+ }
+ else {
+ QString t_trainercalib=g.profile[g.id()].trainerCalib();
+ int8_t t_vBatCalib=(int8_t)g.profile[g.id()].vBatCalib();
+ int8_t t_currentCalib=(int8_t)g.profile[g.id()].currentCalib();
+ int8_t t_PPM_Multiplier=(int8_t)g.profile[g.id()].ppmMultiplier();
+ uint8_t t_stickMode=(uint8_t)g.profile[g.id()].gsStickMode();
+ uint8_t t_vBatWarn=(uint8_t)g.profile[g.id()].vBatWarn();
+ QString t_DisplaySet=g.profile[g.id()].display();
+ QString t_BeeperSet=g.profile[g.id()].beeper();
+ QString t_HapticSet=g.profile[g.id()].haptic();
+ QString t_SpeakerSet=g.profile[g.id()].speaker();
+ QString t_CountrySet=g.profile[g.id()].countryCode();
- if ((t_calib.length()==(NUM_STICKS+potsnum)*12) && (t_trainercalib.length()==16)) {
- QString Byte;
- int16_t byte16;
- bool ok;
- for (int i=0; i<(NUM_STICKS+potsnum); i++) {
- Byte=t_calib.mid(i*12,4);
- byte16=(int16_t)Byte.toInt(&ok,16);
- if (ok)
- calibMid[i]=byte16;
- Byte=t_calib.mid(4+i*12,4);
- byte16=(int16_t)Byte.toInt(&ok,16);
- if (ok)
- calibSpanNeg[i]=byte16;
- Byte=t_calib.mid(8+i*12,4);
- byte16=(int16_t)Byte.toInt(&ok,16);
- if (ok)
- calibSpanPos[i]=byte16;
- }
- for (int i=0; i<4; i++) {
- Byte=t_trainercalib.mid(i*4,4);
- byte16=(int16_t)Byte.toInt(&ok,16);
- if (ok)
- trainer.calib[i]=byte16;
- }
- currentCalib=t_currentCalib;
- vBatCalib=t_vBatCalib;
- vBatWarn=t_vBatWarn;
- PPM_Multiplier=t_PPM_Multiplier;
- stickMode = t_stickMode;
+ if ((t_calib.length()==(NUM_STICKS+potsnum)*12) && (t_trainercalib.length()==16)) {
+ QString Byte;
+ int16_t byte16;
+ bool ok;
+ for (int i=0; i<(NUM_STICKS+potsnum); i++) {
+ Byte=t_calib.mid(i*12,4);
+ byte16=(int16_t)Byte.toInt(&ok,16);
+ if (ok)
+ calibMid[i]=byte16;
+ Byte=t_calib.mid(4+i*12,4);
+ byte16=(int16_t)Byte.toInt(&ok,16);
+ if (ok)
+ calibSpanNeg[i]=byte16;
+ Byte=t_calib.mid(8+i*12,4);
+ byte16=(int16_t)Byte.toInt(&ok,16);
+ if (ok)
+ calibSpanPos[i]=byte16;
}
- if ((t_DisplaySet.length()==6) && (t_BeeperSet.length()==4) && (t_HapticSet.length()==6) && (t_SpeakerSet.length()==6)) {
- uint8_t byte8u;
- int8_t byte8;
- bool ok;
- byte8=(int8_t)t_DisplaySet.mid(0,2).toInt(&ok,16);
+ for (int i=0; i<4; i++) {
+ Byte=t_trainercalib.mid(i*4,4);
+ byte16=(int16_t)Byte.toInt(&ok,16);
if (ok)
- optrexDisplay=(byte8==1 ? true : false);
- byte8u=(uint8_t)t_DisplaySet.mid(2,2).toUInt(&ok,16);
+ trainer.calib[i]=byte16;
+ }
+ currentCalib=t_currentCalib;
+ vBatCalib=t_vBatCalib;
+ vBatWarn=t_vBatWarn;
+ PPM_Multiplier=t_PPM_Multiplier;
+ stickMode = t_stickMode;
+ }
+ if ((t_DisplaySet.length()==6) && (t_BeeperSet.length()==4) && (t_HapticSet.length()==6) && (t_SpeakerSet.length()==6)) {
+ uint8_t byte8u;
+ int8_t byte8;
+ bool ok;
+ byte8=(int8_t)t_DisplaySet.mid(0,2).toInt(&ok,16);
+ if (ok)
+ optrexDisplay=(byte8==1 ? true : false);
+ byte8u=(uint8_t)t_DisplaySet.mid(2,2).toUInt(&ok,16);
+ if (ok)
+ contrast=byte8u;
+ byte8u=(uint8_t)t_DisplaySet.mid(4,2).toUInt(&ok,16);
+ if (ok)
+ backlightBright=byte8u;
+ byte8=(int8_t)t_BeeperSet.mid(0,2).toUInt(&ok,16);
+ if (ok)
+ beeperMode=(BeeperMode)byte8;
+ byte8=(int8_t)t_BeeperSet.mid(2,2).toInt(&ok,16);
+ if (ok)
+ beeperLength=byte8;
+ byte8=(int8_t)t_HapticSet.mid(0,2).toUInt(&ok,16);
+ if (ok)
+ hapticMode=(BeeperMode)byte8;
+ byte8u=(uint8_t)t_HapticSet.mid(2,2).toUInt(&ok,16);
+ if (ok)
+ hapticStrength=byte8u;
+ byte8=(int8_t)t_HapticSet.mid(4,2).toInt(&ok,16);
+ if (ok)
+ hapticLength=byte8;
+ byte8u=(uint8_t)t_SpeakerSet.mid(0,2).toUInt(&ok,16);
+ if (ok)
+ speakerMode=byte8u;
+ byte8u=(uint8_t)t_SpeakerSet.mid(2,2).toUInt(&ok,16);
+ if (ok)
+ speakerPitch=byte8u;
+ byte8u=(uint8_t)t_SpeakerSet.mid(4,2).toUInt(&ok,16);
+ if (ok)
+ speakerVolume=byte8u;
+ if (t_CountrySet.length()==6) {
+ byte8u=(uint8_t)t_CountrySet.mid(0,2).toUInt(&ok,16);
if (ok)
- contrast=byte8u;
- byte8u=(uint8_t)t_DisplaySet.mid(4,2).toUInt(&ok,16);
+ countryCode=byte8u;
+ byte8u=(uint8_t)t_CountrySet.mid(2,2).toUInt(&ok,16);
if (ok)
- backlightBright=byte8u;
- byte8=(int8_t)t_BeeperSet.mid(0,2).toUInt(&ok,16);
- if (ok)
- beeperMode=(BeeperMode)byte8;
- byte8=(int8_t)t_BeeperSet.mid(2,2).toInt(&ok,16);
- if (ok)
- beeperLength=byte8;
- byte8=(int8_t)t_HapticSet.mid(0,2).toUInt(&ok,16);
- if (ok)
- hapticMode=(BeeperMode)byte8;
- byte8u=(uint8_t)t_HapticSet.mid(2,2).toUInt(&ok,16);
- if (ok)
- hapticStrength=byte8u;
- byte8=(int8_t)t_HapticSet.mid(4,2).toInt(&ok,16);
- if (ok)
- hapticLength=byte8;
- byte8u=(uint8_t)t_SpeakerSet.mid(0,2).toUInt(&ok,16);
- if (ok)
- speakerMode=byte8u;
- byte8u=(uint8_t)t_SpeakerSet.mid(2,2).toUInt(&ok,16);
- if (ok)
- speakerPitch=byte8u;
- byte8u=(uint8_t)t_SpeakerSet.mid(4,2).toUInt(&ok,16);
- if (ok)
- speakerVolume=byte8u;
- if (t_CountrySet.length()==6) {
- byte8u=(uint8_t)t_CountrySet.mid(0,2).toUInt(&ok,16);
- if (ok)
- countryCode=byte8u;
- byte8u=(uint8_t)t_CountrySet.mid(2,2).toUInt(&ok,16);
- if (ok)
- imperial=byte8u;
- QString chars=t_CountrySet.mid(4,2);
- ttsLanguage[0]=chars[0].toAscii();
- ttsLanguage[1]=chars[1].toAscii();
- }
+ imperial=byte8u;
+ QString chars=t_CountrySet.mid(4,2);
+ ttsLanguage[0]=chars[0].toAscii();
+ ttsLanguage[1]=chars[1].toAscii();
}
}
-
+ }
}
RawSource GeneralSettings::getDefaultSource(unsigned int channel)
diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h
index 98804b3d1..f2d39810a 100644
--- a/companion/src/eeprominterface.h
+++ b/companion/src/eeprominterface.h
@@ -170,6 +170,19 @@ enum HeliSwashTypes {
extern const char * switches9X[];
extern const char * switchesX9D[];
+enum ThrottleSource {
+ THROTTLE_SOURCE_THR,
+ THROTTLE_SOURCE_P1,
+ THROTTLE_SOURCE_P2,
+ THROTTLE_SOURCE_P3,
+ THROTTLE_SOURCE_S1 = THROTTLE_SOURCE_P1,
+ THROTTLE_SOURCE_S2,
+ THROTTLE_SOURCE_S3,
+ THROTTLE_SOURCE_LS,
+ THROTTLE_SOURCE_RS,
+ THROTTLE_SOURCE_FIRST_CHANNEL,
+};
+
enum TelemetrySource {
TELEMETRY_SOURCE_TX_BATT,
TELEMETRY_SOURCE_TIMER1,
diff --git a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp
index 25f2abf43..ed934036a 100644
--- a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp
+++ b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp
@@ -23,7 +23,6 @@
#define PCBTARANIS
#define CPUARM
#define HELI
-#define TEMPLATES
#define SPLASH
#define FLIGHT_MODES
#define FRSKY
@@ -103,7 +102,6 @@ inline int geteepromsize() {
#undef SDCARD
#include "radio/src/simpgmspace.cpp"
#define SDCARD
-#include "radio/src/templates.cpp"
#include "radio/src/translations.cpp"
#include "radio/src/fonts.cpp"
#include "radio/src/telemetry/frsky_sport.cpp"
diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp
index c7f0366f8..20173bfcd 100644
--- a/companion/src/firmwares/opentx/opentxeeprom.cpp
+++ b/companion/src/firmwares/opentx/opentxeeprom.cpp
@@ -294,6 +294,32 @@ class SourcesConversionTable: public ConversionTable {
}
};
+ThrottleSourceConversionTable::ThrottleSourceConversionTable(BoardEnum board, unsigned int version)
+{
+ int val=0;
+
+ addConversion(THROTTLE_SOURCE_THR, val++);
+
+ if (IS_TARANIS(board)) {
+ addConversion(THROTTLE_SOURCE_S1, val++);
+ addConversion(THROTTLE_SOURCE_S2, val++);
+ if (version >= 216)
+ addConversion(THROTTLE_SOURCE_S3, val++);
+ addConversion(THROTTLE_SOURCE_LS, val++);
+ addConversion(THROTTLE_SOURCE_RS, val++);
+ }
+ else {
+ addConversion(THROTTLE_SOURCE_P1, val++);
+ addConversion(THROTTLE_SOURCE_P2, val++);
+ addConversion(THROTTLE_SOURCE_P3, val++);
+ }
+
+ for (int i=0; i
class SwitchField: public ConversionField< SignedField > {
public:
@@ -2175,7 +2201,8 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne
board(board),
version(version),
variant(variant),
- protocolsConversionTable(board)
+ protocolsConversionTable(board),
+ throttleSourceConversionTable(board, version)
{
sprintf(name, "Model %s", modelData.name);
@@ -2285,7 +2312,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne
internalField.Append(new SignedField<8>(modelData.moduleData[0].ppmFrameLength));
}
- internalField.Append(new UnsignedField<8>(modelData.thrTraceSrc));
+ internalField.Append(new ConversionField< UnsignedField<8> >(modelData.thrTraceSrc, &throttleSourceConversionTable, "Throttle Source"));
if (!afterrelease21March2013) {
internalField.Append(new UnsignedField<8>(modelData.modelId));
@@ -2565,8 +2592,8 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo
}
if (IS_TARANIS(board) && version >= 216) {
internalField.Append(new UnsignedField<8>(generalData.hw_uartMode));
- for (int i=0; i<8; i++) {
- internalField.Append(new UnsignedField<1>(generalData.potsType[i]));
+ for (int i=0; i<4; i++) {
+ internalField.Append(new UnsignedField<2>(potsType[i]));
}
}
}
@@ -2585,6 +2612,11 @@ void OpenTxGeneralData::beforeExport()
sum += generalData.calibSpanPos[i];
if (++count == 12) break;
}
+ for (int i=0; i<4; i++) {
+ potsType[i] = generalData.potsType[i];
+ if (i<2 && potsType[i] == 1)
+ potsType[i] = 0;
+ }
}
else {
for (int i=0; i
#include "hexinterface.h"
#include "splash.h"
@@ -20,192 +21,77 @@
int getFileType(const QString &fullFileName)
{
- if(QFileInfo(fullFileName).suffix().toUpper()=="HEX") return FILE_TYPE_HEX;
- if(QFileInfo(fullFileName).suffix().toUpper()=="BIN") return FILE_TYPE_BIN;
- if(QFileInfo(fullFileName).suffix().toUpper()=="EEPM") return FILE_TYPE_EEPM;
- if(QFileInfo(fullFileName).suffix().toUpper()=="EEPE") return FILE_TYPE_EEPE;
- if(QFileInfo(fullFileName).suffix().toUpper()=="XML") return FILE_TYPE_XML;
- return 0;
+ QString suffix = QFileInfo(fullFileName).suffix().toUpper();
+ if (suffix == "HEX")
+ return FILE_TYPE_HEX;
+ else if (suffix == "BIN")
+ return FILE_TYPE_BIN;
+ else if (suffix == "EEPM")
+ return FILE_TYPE_EEPM;
+ else if (suffix == "EEPE")
+ return FILE_TYPE_EEPE;
+ else if (suffix == "XML")
+ return FILE_TYPE_XML;
+ else
+ return 0;
}
-FlashInterface::FlashInterface(QString fileName)
+FlashInterface::FlashInterface(QString fileName):
+ flash(MAX_FSIZE, 0),
+ flash_size(0),
+ isValidFlag(false)
{
- char * temp = (char *)malloc(MAX_FSIZE);
- date = "";
- time = "";
- svn = "";
- build = "";
- isValidFlag = true;
QFile file(fileName);
- flash_size=0;
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { //reading HEX TEXT file
- isValidFlag = false;
- }
- else {
+ if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { //reading HEX TEXT file
QTextStream inputStream(&file);
- flash_size = HexInterface(inputStream).load((uint8_t *)temp, MAX_FSIZE);
+ flash_size = HexInterface(inputStream).load((uint8_t *)flash.data(), MAX_FSIZE);
file.close();
- inputStream.reset();
if (flash_size == 0) {
- QFile file(fileName);
file.open(QIODevice::ReadOnly);
- char * bin_flash = (char *)malloc(MAX_FSIZE);
- flash_size = file.read(bin_flash, MAX_FSIZE);
- flash = QByteArray(bin_flash, flash_size);
- free(bin_flash);
- }
- else {
- flash = QByteArray(temp, flash_size);
+ flash_size = file.read((char *)flash.data(), MAX_FSIZE);
}
if (flash_size > 0) {
- SeekSvn();
- SeekDate();
- SeekTime();
- SeekBuild();
+ svn = seekLabel(SVN_MARK);
+ version = seekLabel(VERS_MARK);
+ date = seekLabel(DATE_MARK);
+ time = seekLabel(TIME_MARK);
+ eeprom = seekLabel(EEPR_MARK);
SeekSplash();
- }
- else {
- isValidFlag = false;
+ isValidFlag = true;
}
}
- free(temp);
}
-QString FlashInterface::getDate(void)
+QString FlashInterface::seekString(const QString & string)
{
- return date;
-}
+ QString result = "";
-QString FlashInterface::getTime(void)
-{
- return time;
-}
-
-QString FlashInterface::getSvn(void)
-{
- return svn;
-}
-
-QString FlashInterface::getBuild(void)
-{
- return build;
-}
-
-int FlashInterface::getSize()
-{
- return flash_size;
-}
-
-void FlashInterface::SeekSvn(void)
-{
- int i, start = -1, end = -1;
- start = flash.indexOf(QString(SVN_MARK));
+ int start = flash.indexOf(string);
if (start > 0) {
- start += QString(SVN_MARK).length();
- for (i = start; i < (start + 20); i++) {
- if (flash.at(i) == 0) {
+ start += string.length();
+ int end = -1;
+ for (int i=start; i 0) {
- svn = QString(flash.mid(start, (end - start))).trimmed();
- }
- else {
- svn = QString("");
+ result = flash.mid(start, (end - start)).trimmed();
}
}
+
+ return result;
}
-void FlashInterface::SeekDate(void)
+QString FlashInterface::seekLabel(const QString & label)
{
- int i, start = -1, end = -1, startsvn=0;
- startsvn = flash.indexOf(QString(SVN_MARK));
- if (startsvn>0) {
- start = flash.indexOf(QString(DATE_MARK),startsvn);
- } else {
- start = flash.indexOf(QString(DATE_MARK));
- }
- if (start > 0) {
- start += QString(DATE_MARK).length();
- for (i = start; i < (start + 20); i++) {
- if (flash.at(i) == 0) {
- end = i;
- break;
- }
- }
- if (end > 0) {
- date = QString(flash.mid(start, (end - start))).trimmed();
- }
- else {
- date = QString("");
- }
- }
-}
+ QString result = seekString(label + "\037\033:");
+ if (!result.isEmpty())
+ return result;
-void FlashInterface::SeekTime(void)
-{
- int i, start = -1, end = -1, startsvn=0;
- startsvn = flash.indexOf(QString(SVN_MARK));
- if (startsvn>0) {
- start = flash.indexOf(QString(TIME_MARK),startsvn);
- } else {
- start = flash.indexOf(QString(TIME_MARK));
- }
- if (start > 0) {
- start += QString(TIME_MARK).length();
- for (i = start; i < (start + 20); i++) {
- if (flash.at(i) == 0) {
- end = i;
- break;
- }
- }
- if (end > 0) {
- time = QString(flash.mid(start, (end - start))).trimmed();
- }
- else {
- time = QString("");
- }
- }
-}
-
-void FlashInterface::SeekBuild(void)
-{
- int i, start = -1, end = -1;
- start = flash.indexOf(QString(BLD_MARK));
- if (start > 0) {
- start += QString(BLD_MARK).length();
- for (i = start; i < (start + 20); i++) {
- if (flash.at(i) == 0) {
- end = i;
- break;
- }
- }
- if (end > 0) {
- build = QString(flash.mid(start, (end - start))).trimmed();
- }
- else {
- build = QString("");
- }
- }
- else {
- start = flash.indexOf(QString(VAR_MARK));
- if (start > 0) {
- start += QString(VAR_MARK).length();
- for (i = start; i < (start + 20); i++) {
- if (flash.at(i) == 0) {
- end = i;
- break;
- }
- }
- if (end > 0) {
- build = QString(flash.mid(start, (end - start))).trimmed();
- }
- else {
- build = QString("");
- }
- }
- }
+ return seekString(label + ":");
}
void FlashInterface::SeekSplash(void)
diff --git a/companion/src/flashinterface.h b/companion/src/flashinterface.h
index eb1459d85..d7f7719b7 100644
--- a/companion/src/flashinterface.h
+++ b/companion/src/flashinterface.h
@@ -14,6 +14,7 @@
#ifndef FLASHINTERFACE_H
#define FLASHINTERFACE_H
+
#include
#include
#include
@@ -32,12 +33,12 @@
#define ERSKY9X_SPS "SPS"
#define ERSKY9X_SPE "SPE"
#define ERSKY9X_OFFSET (7)
-#define VERS_MARK "VERS:"
-#define SVN_MARK "SVN:"
-#define DATE_MARK "DATE:"
-#define TIME_MARK "TIME:"
-#define BLD_MARK "BLD:"
-#define VAR_MARK "EEPR:"
+#define VERS_MARK "VERS"
+#define SVN_MARK "SVN"
+#define DATE_MARK "DATE"
+#define TIME_MARK "TIME"
+#define BLD_MARK "BLD"
+#define EEPR_MARK "EEPR"
#define FILE_TYPE_BIN 1
#define FILE_TYPE_HEX 2
@@ -49,48 +50,46 @@ int getFileType(const QString &fullFileName);
class FlashInterface
{
-public:
- FlashInterface(QString filename);
- QString getDate();
- QString getTime();
- QString getSvn();
- int getSize();
- QString getBuild();
- QImage getSplash();
- bool setSplash(const QImage & newsplash);
- bool hasSplash();
- int getSplashWidth();
- uint getSplashHeight();
- uint getSplashColors();
- QImage::Format getSplashFormat();
- uint saveFlash(QString fileName);
- bool isValid();
+ public:
+ FlashInterface(QString filename);
+ inline QString getDate() { return date; }
+ inline QString getTime() { return time; }
+ inline QString getSvn() { return svn; }
+ int getSize() { return flash_size; }
+ inline QString getVersion() { return version; }
+ inline QString getEEprom() { return eeprom; }
+ QImage getSplash();
+ bool setSplash(const QImage & newsplash);
+ bool hasSplash();
+ int getSplashWidth();
+ uint getSplashHeight();
+ uint getSplashColors();
+ QImage::Format getSplashFormat();
+ uint saveFlash(QString fileName);
+ bool isValid();
-private:
- QByteArray flash;
- void SeekVer();
- void SeekSvn();
- void SeekDate();
- void SeekTime();
- void SeekBuild();
- void SeekSplash();
- QString filename;
- QString date;
- QString time;
- QString svn;
- QString build;
- QByteArray splash;
- uint splash_offset;
- uint splash_type;
- uint splash_size;
- uint splash_width;
- uint splash_height;
- uint splash_colors;
- QImage::Format splash_format;
- uint flash_size;
-
-protected:
- bool isValidFlag;
+ private:
+ QByteArray flash;
+ QString seekString(const QString & string);
+ QString seekLabel(const QString & label);
+ void SeekSplash();
+ QString filename;
+ QString date;
+ QString time;
+ QString svn;
+ QString version;
+ QString eeprom;
+ QByteArray splash;
+ uint splash_offset;
+ uint splash_type;
+ uint splash_size;
+ uint splash_width;
+ uint splash_height;
+ uint splash_colors;
+ QImage::Format splash_format;
+ uint flash_size;
+ bool isValidFlag;
};
+
#endif /* FLASHINTERFACE_H */
diff --git a/companion/src/generaledit.cpp b/companion/src/generaledit.cpp
index 437441846..3938fa98a 100644
--- a/companion/src/generaledit.cpp
+++ b/companion/src/generaledit.cpp
@@ -369,6 +369,7 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
if (GetEepromInterface()->getCapability(MultiposPots)) {
ui->pot1Type->setCurrentIndex(g_eeGeneral.potsType[0]);
ui->pot2Type->setCurrentIndex(g_eeGeneral.potsType[1]);
+ ui->pot3Type->setCurrentIndex(g_eeGeneral.potsType[2]);
}
else {
ui->potsTypeSeparator->hide();
@@ -376,6 +377,8 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
ui->pot1TypeLabel->hide();
ui->pot2Type->hide();
ui->pot2TypeLabel->hide();
+ ui->pot3Type->hide();
+ ui->pot3TypeLabel->hide();
}
}
@@ -396,6 +399,12 @@ void GeneralEdit::on_pot2Type_currentIndexChanged(int index)
updateSettings();
}
+void GeneralEdit::on_pot3Type_currentIndexChanged(int index)
+{
+ g_eeGeneral.potsType[2] = index;
+ updateSettings();
+}
+
void GeneralEdit::unlockSwitchEdited()
{
int i=0;
diff --git a/companion/src/generaledit.h b/companion/src/generaledit.h
index ce160dc0b..ca9911b74 100644
--- a/companion/src/generaledit.h
+++ b/companion/src/generaledit.h
@@ -121,6 +121,7 @@ private slots:
void on_pot1Type_currentIndexChanged(int index);
void on_pot2Type_currentIndexChanged(int index);
+ void on_pot3Type_currentIndexChanged(int index);
void on_stickmodeCB_currentIndexChanged(int index);
void on_channelorderCB_currentIndexChanged(int index);
diff --git a/companion/src/generaledit.ui b/companion/src/generaledit.ui
index 8f66dcab1..3eb53be8b 100644
--- a/companion/src/generaledit.ui
+++ b/companion/src/generaledit.ui
@@ -6,7 +6,7 @@
0
0
- 795
+ 804
912
@@ -1555,10 +1555,10 @@ Acceptable values are 5v..10v
QLayout::SetMinimumSize
-
+
0
-
+
0
-
@@ -3520,6 +3520,11 @@ p, li { white-space: pre-wrap; }
3 - Loud.
4 - Extra loud.
+ -
+
+ None
+
+
-
Pot (normal)
@@ -3556,6 +3561,11 @@ p, li { white-space: pre-wrap; }
3 - Loud.
4 - Extra loud.
+
-
+
+ None
+
+
-
Pot (normal)
@@ -3575,6 +3585,47 @@ p, li { white-space: pre-wrap; }
+ -
+
+
+ S3 Type
+
+
+
+ -
+
+
+
+
+
+
+
+
+ Beeper volume
+
+0 - Quiet. No beeps at all.
+1 - No Keys. Normal beeps but menu keys do not beep.
+2 - Normal.
+3 - Loud.
+4 - Extra loud.
+
+
-
+
+ None
+
+
+ -
+
+ Pot (normal)
+
+
+ -
+
+ Multipos Switch
+
+
+
+
diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp
index 52871a32e..381aded98 100644
--- a/companion/src/helpers.cpp
+++ b/companion/src/helpers.cpp
@@ -63,27 +63,6 @@ void populateVoiceLangCB(QComboBox *b, QString language)
}
}
-void populateTTraceCB(QComboBox *b, int value)
-{
- const QString strings9x[] = { QObject::tr("THR"), QObject::tr("P1"), QObject::tr("P2"), QObject::tr("P3")};
- const QString stringstaranis[] = { QObject::tr("THR"), QObject::tr("S1"), QObject::tr("S2"), QObject::tr("LS"), QObject::tr("RS")};
- b->clear();
- if (IS_TARANIS(GetEepromInterface()->getBoard())) {
- for (int i=0; i< 5; i++) {
- b->addItem(stringstaranis[i]);
- }
- } else {
- for (int i=0; i< 4; i++) {
- b->addItem(strings9x[i]);
- }
- }
- int channels=(IS_ARM(GetEepromInterface()->getBoard()) ? 32 : 16);
- for (int i=1; i<= channels; i++) {
- b->addItem(QObject::tr("CH%1").arg(i, 2, 10, QChar('0')));
- }
- b->setCurrentIndex(value);
-}
-
void populateRotEncCB(QComboBox *b, int value, int renumber)
{
QString strings[] = { QObject::tr("No"), QObject::tr("RotEnc A"), QObject::tr("Rot Enc B"), QObject::tr("Rot Enc C"), QObject::tr("Rot Enc D"), QObject::tr("Rot Enc E")};
diff --git a/companion/src/helpers.h b/companion/src/helpers.h
index 53bff4d2f..684d3492f 100644
--- a/companion/src/helpers.h
+++ b/companion/src/helpers.h
@@ -27,7 +27,6 @@
void populateGvSourceCB(QComboBox *b, int value);
void populateVoiceLangCB(QComboBox *b, QString language);
-void populateTTraceCB(QComboBox *b, int value);
void populateRotEncCB(QComboBox *b, int value, int renumber);
void populateBacklightCB(QComboBox *b, const uint8_t value);
diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp
index aff8ad8cc..bd13d50c3 100644
--- a/companion/src/mainwindow.cpp
+++ b/companion/src/mainwindow.cpp
@@ -1251,15 +1251,16 @@ bool MainWindow::convertEEPROM(QString backupFile, QString restoreFile, QString
if ((svnTags.at(0) == "open9x")||(svnTags.at(0) == "opentx")) {
if (revision > 1464) {
- QString fwBuild = flash.getBuild();
- if (fwBuild.contains("-")) {
- QStringList buildTags = fwBuild.split("-", QString::SkipEmptyParts);
+ QString fwEEprom = flash.getEEprom();
+ if (fwEEprom.contains("-")) {
+ QStringList buildTags = fwEEprom.split("-", QString::SkipEmptyParts);
if (buildTags.size() >= 1)
version = buildTags.at(0).toInt();
if (buildTags.size() >= 2)
variant = buildTags.at(1).toInt();
- } else {
- version = fwBuild.toInt(); // TODO changer le nom de la variable
+ }
+ else {
+ version = fwEEprom.toInt();
}
}
else {
diff --git a/companion/src/mdichild.cpp b/companion/src/mdichild.cpp
index 3af585369..e6174a1c2 100644
--- a/companion/src/mdichild.cpp
+++ b/companion/src/mdichild.cpp
@@ -68,6 +68,7 @@ MdiChild::MdiChild():
fileChanged(false)
{
ui->setupUi(this);
+
this->setWindowIcon(CompanionIcon("open.png"));
ui->SimulateTxButton->setIcon(CompanionIcon("simulate.png"));
setAttribute(Qt::WA_DeleteOnClose);
@@ -166,7 +167,8 @@ void MdiChild::OpenEditWindow(bool wizard=false)
ret = QMessageBox::question(this, tr("Companion"), tr("Do you want to use model wizard? "), QMessageBox::Yes | QMessageBox::No);
if (ret == QMessageBox::Yes) {
wizard=true;
- } else {
+ }
+ else {
qSleep(500);
ret = QMessageBox::question(this, tr("Companion"), tr("Ask this question again ? "), QMessageBox::Yes | QMessageBox::No);
if (ret == QMessageBox::No) {
@@ -496,7 +498,8 @@ void MdiChild::writeEeprom() // write to Tx
}
backupEnable=false;
}
- } else {
+ }
+ else {
backupEnable=false;
}
QString stickCal=g.profile[g.id()].stickPotCalib();
@@ -632,7 +635,8 @@ void MdiChild::print(int model, QString filename)
printDialog *pd = new printDialog(this, &radioData.generalSettings, &radioData.models[model], filename);
pd->show();
- } else {
+ }
+ else {
if(ui->modelsList->currentRow()<1) return;
printDialog *pd = new printDialog(this, &radioData.generalSettings, &radioData.models[ui->modelsList->currentRow()-1]);
pd->show();
@@ -671,9 +675,8 @@ bool MdiChild::loadBackup()
.arg(file.errorString()));
return false;
}
- uint8_t *eeprom = (uint8_t *)malloc(eeprom_size);
- memset(eeprom, 0, eeprom_size);
- long result = file.read((char*)eeprom, eeprom_size);
+ QByteArray eeprom(eeprom_size, 0);
+ long result = file.read((char*)eeprom.data(), eeprom_size);
file.close();
if (result != eeprom_size) {
@@ -685,7 +688,7 @@ bool MdiChild::loadBackup()
return false;
}
- if (!LoadBackup(radioData, eeprom, eeprom_size, index)) {
+ if (!LoadBackup(radioData, (uint8_t *)eeprom.data(), eeprom_size, index)) {
QMessageBox::critical(this, tr("Error"),
tr("Invalid binary backup File %1")
.arg(fileName));
@@ -693,6 +696,6 @@ bool MdiChild::loadBackup()
}
ui->modelsList->refreshList();
- free(eeprom);
+
return true;
}
diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp
index 6dd46c3e0..546866468 100644
--- a/companion/src/modeledit/setup.cpp
+++ b/companion/src/modeledit/setup.cpp
@@ -500,8 +500,10 @@ void Setup::on_trimIncrement_currentIndexChanged(int index)
void Setup::on_throttleSource_currentIndexChanged(int index)
{
- model.thrTraceSrc = index;
- emit modified();
+ if (!lock) {
+ model.thrTraceSrc = ui->throttleSource->itemData(index).toInt();
+ emit modified();
+ }
}
void Setup::on_name_editingFinished()
@@ -543,12 +545,45 @@ void Setup::on_image_currentIndexChanged(int index)
}
}
+void Setup::populateThrottleSourceCB()
+{
+ const QString sources9x[] = { QObject::tr("THR"), QObject::tr("P1"), QObject::tr("P2"), QObject::tr("P3")};
+ const QString sourcesTaranis[] = { QObject::tr("THR"), QObject::tr("S1"), QObject::tr("S2"), QObject::tr("S3"), QObject::tr("LS"), QObject::tr("RS")};
+
+ unsigned int i;
+
+ lock = true;
+
+ if (IS_TARANIS(GetEepromInterface()->getBoard())) {
+ for (i=0; i<6; i++) {
+ ui->throttleSource->addItem(sourcesTaranis[i], i);
+ }
+ }
+ else {
+ for (i=0; i<4; i++) {
+ ui->throttleSource->addItem(sources9x[i], i);
+ }
+ }
+
+ if (model.thrTraceSrc < i)
+ ui->throttleSource->setCurrentIndex(model.thrTraceSrc);
+
+ int channels = (IS_ARM(GetEepromInterface()->getBoard()) ? 32 : 16);
+ for (int i=0; ithrottleSource->addItem(QObject::tr("CH%1").arg(i+1, 2, 10, QChar('0')), THROTTLE_SOURCE_FIRST_CHANNEL+i);
+ if (model.thrTraceSrc == unsigned(THROTTLE_SOURCE_FIRST_CHANNEL+i))
+ ui->throttleSource->setCurrentIndex(ui->throttleSource->count()-1);
+ }
+
+ lock = false;
+}
+
void Setup::update()
{
ui->name->setText(model.name);
ui->throttleReverse->setChecked(model.throttleReversed);
- populateTTraceCB(ui->throttleSource, model.thrTraceSrc);
+ populateThrottleSourceCB();
ui->throttleWarning->setChecked(!model.disableThrottleWarning);
//trim inc, thro trim, thro expo, instatrim
diff --git a/companion/src/modeledit/setup.h b/companion/src/modeledit/setup.h
index b785e2750..6880c363f 100644
--- a/companion/src/modeledit/setup.h
+++ b/companion/src/modeledit/setup.h
@@ -6,6 +6,7 @@
#include
#include
#include
+#include
#include
namespace Ui {
@@ -104,6 +105,7 @@ class Setup : public ModelPanel
void updateStartupSwitches();
void updatePotWarnings();
void updateBeepCenter();
+ void populateThrottleSourceCB();
};
#endif // SETUP_H
diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts
index ab649090f..35140f3a6 100644
--- a/companion/src/translations/companion_pl.ts
+++ b/companion/src/translations/companion_pl.ts
@@ -57,22 +57,22 @@
CurveGroup
-
+
Diff
Róźnicowość
-
+
Expo
Expo
-
+
Func
Funkcja
-
+
Curve
Krzywa
@@ -168,57 +168,57 @@
FS%1
-
+
ON
Włącz
-
+
Error
Błąd
-
+
Unable to find sound file %1!
Nie mogę odnaleźć pliku dźwiękowego %1!
-
+
&Delete
&Wykasuj
-
+
Delete
Wykasuj
-
+
&Copy
&Kopiuj
-
+
Ctrl+C
Ctrl+C
-
+
&Cut
&Wytnij
-
+
Ctrl+X
Ctrl+X
-
+
&Paste
&Wklej
-
+
Ctrl+V
Ctrl+V
@@ -471,27 +471,27 @@ p, li { white-space: pre-wrap; }
Wszystkie
-
+
Edit %1
Edycja %1
-
+
Rud
SK
-
+
Ele
SW
-
+
Thr
Gaz
-
+
Ail
Lotki
@@ -577,17 +577,17 @@ p, li { white-space: pre-wrap; }
FlightModes
-
+
Flight Mode %1
Faza lotu %1
-
+
(%1)
(%1)
-
+
(default)
(bazowa)
@@ -843,7 +843,8 @@ p, li { white-space: pre-wrap; }
-
+
+
Beeper volume
0 - Quiet. No beeps at all.
@@ -1662,26 +1663,40 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j
-
+
+
+ None
+ Żaden
+
+
+
+
+
Pot (normal)
Potencjometr (std)
-
-
+
+
+
Multipos Switch
Przeł. wielopoz
-
+
S1 Type
Typ P1
-
+
S2 Type
Typ P2
+
+
+ S3 Type
+ Typ P3
+
POT 1
@@ -1734,7 +1749,7 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j
Natężenie
-
+
If you enable FAI, you loose the vario, the play functions, the telemetry screen.
This function cannot be disabled by the radio.
Are you sure ?
@@ -1743,28 +1758,28 @@ funkcje odtwarzania i ekrany telemetrii. Ten tryb nie może być dezaktywowany.
Jesteś pewien ?
-
-
+
+
Warning
Ostrzeżenie
-
+
Wrong data in profile, radio calibration was not retrieved
Błędne dane w profilu, kalibracja nie została odzyskana
-
+
Wrong data in profile, hw related parameters were not retrieved
Błędne dane w profilu, parametry HW nie zostały odzyskana
-
+
Do you want to store calibration in %1 profile<br>overwriting existing calibration?
Chcesz zapamiętać dane kalibracji profilu %1<br> Zastąpią one aktualne dane kalibracji?
-
+
Calibration and HW parameters saved.
Kalibracja i parametry HW zapamiętane.
@@ -1841,25 +1856,25 @@ Jesteś pewien ?
InputsPanel
-
+
Move Up
W górę
-
+
Ctrl+Up
Ctrl+Up
-
+
Move Down
W dół
-
+
Ctrl+Down
Ctrl+Down
@@ -1894,87 +1909,87 @@ Jesteś pewien ?
Za mało dostępnych wejść!
-
+
Delete Selected Inputs?
Skasować Wybrane Wejścia?
-
+
&Add
&Dodaj
-
+
Ctrl+A
Ctrl+A
-
+
&Edit
&Edycja
-
+
Enter
Enter
-
+
&Delete
&Wykasuj
-
+
Delete
Wykasuj
-
+
&Copy
&Kopiuj
-
+
Ctrl+C
Ctrl+C
-
+
&Cut
&Wytnij
-
+
Ctrl+X
Ctrl+X
-
+
&Paste
&Wklej
-
+
Ctrl+V
Ctrl+V
-
+
Du&plicate
&Zduplikuj
-
+
Ctrl+U
Ctrl+U
-
+
Clear Inputs?
Wyczyść Wejścia?
-
+
Really clear all the inputs?
Czy na pewno wyczyścić wszystkie wejścia?
@@ -1982,78 +1997,78 @@ Jesteś pewien ?
LogicalSwitchesPanel
-
+
Condition
Warunek
-
+
V1
Wartość 1
-
+
V2
Wartość 2
-
+
AND
I (logiczne)
-
+
Duration
Czas trwania
-
+
Delay
Opóźnienie
-
-
+
+
LS%1
PL%1
-
+
&Delete
&Wykasuj
-
+
Delete
Wykasuj
-
+
&Copy
&Kopiuj
-
+
Ctrl+C
Ctrl+C
-
+
&Cut
&Wytnij
-
+
Ctrl+X
Ctrl+X
-
+
&Paste
&Wklej
-
+
Ctrl+V
Ctrl+V
@@ -2063,8 +2078,8 @@ Jesteś pewien ?
-
-
+
+
File loaded
Plik załadowany
@@ -2123,23 +2138,23 @@ Jesteś pewien ?
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Error
Błąd
-
-
-
+
+
+
Error opening file %1:
%2.
Błąd otwarcia pliku %1:
@@ -2252,7 +2267,7 @@ Chcesz pobrać teraz?
-
+
Taranis radio not found
Nie znaleziono Radia Taranis
@@ -2266,15 +2281,15 @@ Chcesz pobrać teraz?
-
-
+
+
Backup is impossible
Backup jest niemożliwy do wykonania
-
-
+
+
The backup dir set in preferences does not exist
Brak ustawień ścieżki backupu
@@ -2285,391 +2300,391 @@ Chcesz pobrać teraz?
Ostrzeżenie
-
+
Conversion failed
Konwersja nieudana
-
+
Restore failed
Zapis nieudany
-
+
Backup failed
Backup nieudany
-
+
Copyright
-
+
OpenTX Companion - FW: %1 - Profile: %2
OpenTX Companion - FW: %1 - Profil: %2
-
+
About...
O aplikacji...
-
+
Print...
Drukuj...
-
+
Simulate...
Symulacja...
-
+
Simulate current model
Symulacja aktualnego modelu
-
+
Load Backup...
Załaduj backup...
-
+
View Log File...
Obejrzyj plik logów...
-
+
Open and view log file
Otwórz i obejrzyj plik logów
-
+
Edit Settings
Edycja Ustawień
-
+
Settings...
Ustawienia...
-
+
Download firmware and voice files
Pobierz firmware i pliki dźwiękowe
-
+
Create a new Radio Setting Profile
Utwórz nowy Profil Ustawień Radia
-
+
A monochrome black icon theme
Monochromatyczny czarny wygląd ikon
-
+
Open Models and Settings file
Otwórz plik Modeli i Ustawień
-
+
New Models+Settings
Nowe Modele+Ustawienia
-
+
Create a new Models and Settings file
Utwórz nowy plik Modeli i Ustawień
-
+
Open Models+Settings...
Otwórz Modele i Ustawienia...
-
+
Save Models+Settings...
Zapisz Modele i Ustawienia...
-
-
+
+
Save Models and Settings file
Zapisz plik Modeli i Ustawień
-
+
Save Models+Settings as...
Zapisz Modele+Ustawienia jako...
-
+
Cut Model
Wytnij Model
-
+
Cut current model to the clipboard
Wytnij aktualny model do schowka
-
+
Copy Model...
Kopiuj Model...
-
+
Copy current model to the clipboard
Wytnij aktualny model do schowka
-
+
Paste Model...
Wklej Model...
-
+
Paste model from clipboard
Wklaj Model ze schowka
-
+
The classic companion9x icon theme
Klasyczny zestaw ikon Companion
-
+
A monochrome white icon theme
Monochromatyczny biały wygląd ikon
-
+
A monochrome blue icon theme
Monochromatyczny niebieski wygląd ikon
-
+
Small
Małe
-
+
Use small toolbar icons
Użyj małych ikon paska narzędzi
-
+
Use normal size toolbar icons
Użyj normalnych ikon paska narzędzi
-
+
Normal
Normalne
-
+
Use big toolbar icons
Użyj dużych ikon paska narzędzi
-
+
Big
Duże
-
+
Use huge toolbar icons
Użyj olbrzymich ikon paska narzędzi
-
+
Huge
Olbrzymie
-
+
Czech
Czeski
-
+
Use Czech in menus
Użyj Czeskiego w menu
-
+
German
Niemiecki
-
+
Use German in menus
Użyj Niemieckiego w menu
-
+
English
Angielski
-
+
Use English in menus
Użyj Angielskiego w menu
-
+
Finnish
Fiński
-
+
Use Finnish in menus
Użyj Fińskiego w menu
-
+
French
Francuski
-
+
Use French in menus
Użyj Francuskiego w menu
-
+
Italian
Włoski
-
+
Use Italian in menus
Użyj Włoskiego w menu
-
+
Hebrew
Hebrajski
-
+
Use Hebrew in menus
Użyj Hebrajskiego w menu
-
+
Polish
Polski
-
+
Use Polish in menus
Użyj Polskiego w menu
-
+
Portuguese
Portugalski
-
+
Use Portuguese in menus
Użyj Portualskiego w menu
-
+
Swedish
Szwedzki
-
+
Use Swedish in menus
Użyj Szwedzkiego w menu
-
+
Russian
Rosyjski
-
+
Use Russian in menus
Użyj Rosyjskiego w menu
-
-
+
+
Radio Settings Profile
Profil Ustawień Radia
-
+
Show recent Models+Settings documents
Pokaż ostatanie dokumenty Modeli i Ustawień
-
+
Print current model
Drukuj aktualny model
-
+
Check OpenTX and Companion updates
Sprawdź aktualizacje OpenTX i Companion
-
+
Edit Tx Splash Image...
Edytor erkanu startowego radia...
-
+
Fuses...
Bezpieczniki...
-
+
Manuals and other Documents
Podręcznik i dokumentacja
-
+
Open the OpenTX document page in a web browser
Otwórz stronę dokumentacji OpenTX w przeglądarce
-
+
Save Tx Models and Settings to file
Zapisz modele radia i ustawienia do pliku
-
+
A tribute to those who have contributed to OpenTX and Companion
Hołd dla tych, którzy przyczynili się do rozwoju OpenTX i Companion
-
+
Contributors...
Współpracownicy...
-
-
+
+
Recent Models+Settings
Ostatnie Modele+Ustawienia
-
+
Set Icon Theme
Ustaw wygląd ikon
-
+
Set Icon Size
Ustaw wielkość ikon
@@ -2729,9 +2744,9 @@ Chcesz pobrać teraz?
-
-
-
+
+
+
Read Models and Settings From Tx
Wczytaj Modele i Ustawienia z radia
@@ -2754,8 +2769,8 @@ Czy mimo wszystko zapisać?
-
-
+
+
Backup Models and Settings From Tx
Zbakupuj Modele i Ustawienia z radia
@@ -2776,337 +2791,337 @@ Czy mimo wszystko zapisać?
-
+
Write Models and Settings To Tx
Zapisz Modele i Ustawienia do radia
-
-
+
+
Write Firmware To Tx
Zapisz firmware do radia
-
+
Cannot convert Models and Settings for use with this firmware, original data will be used
Nie mogę skonwertować Modeli i Ustawień na ten rodzaj firmware, zostaną użyte oryginalne dane
-
+
Restore Models and Settings To Tx
Odtwórz Modele i Ustawienia do radia
-
+
Could not restore Models and Settings to TX. The models and settings data file can be found at: %1
Nie mogę odtworzyć Modeli i Ustawień do radia. Plik modeli i ustawień mozna znaleźć w: %1
-
+
Firmware write failed
Zapis firmawe nie powiódł się
-
+
Could not write firmware to to transmitter. The models and settings data file can be found at: %1
Nie mogę zapisać Firmware do radia. Plik modeli i ustawień mozna znaleźć w: %1
-
+
Cannot backup existing Models and Settings from TX. Firmware write process aborted
Nie mogę zbackupować Modeli i Ustawień z radia, Zapis Firmawe przerwany
-
+
Save transmitter Models and Settings to File
Zapisz Modele i Ustawienia z radia do pliku
-
+
Impossible to identify the radio on your system, please verify that the eeprom disk is connected.
Identyfikacja radia niemożliwa w Twoim systemie, proszę sprawdzić podłączony dysk eeprom.
-
+
Read Tx Firmware to File
Odczytaj firmware z radia do pliku
-
+
OpenTX Home Page: <a href='%1'>%1</a>
Strona domowa OpenTX: <a href='%1'>%1</a>
-
+
The OpenTX Companion project was originally forked from <a href='%2'>eePe</a>
Projekt Companion odłączony z oryginalnego <a href='%2'>eePe</a>
-
+
If you've found this program useful, please support by <a href='%1'>donating</a>
Jeśli uważasz, że ten program jest użyteczny, wesprzyj poprzez <a href='%1'>donację</a>
-
+
Version %1, %3
Wersja %1, %3
-
+
About Companion
O aplikacji Companion
-
+
Load backup from file
Załaduj backup z pliku
-
+
Write Models and Settings to transmitter
Zapisz Modele i Ustawienia do radia
-
+
Read Models and Settings from transmitter
Wczytaj Modele i Ustawienia z radia
-
+
Write Firmware
Zapisz firmware
-
+
Exit
Zakończ
-
+
Monochrome
Monochromatyczny
-
+
MonoWhite
MonoBiały
-
+
MonoBlue
MonoNiebieski
-
+
System language
Język systemu
-
+
Use system language in menus
Użyj języka systemu w menu
-
+
Download...
Pobieranie...
-
+
Check for Updates...
Sprawdź aktualizacje...
-
+
Companion Changes...
Zmiany w Companion...
-
+
Show Companion change log
Pokaż log zmian Companion
-
+
Firmware Changes...
Zmiany w Firmware...
-
+
Show firmware change log
Pokaż log zmian Firmware
-
+
Compare Models...
Porównaj modele...
-
+
Edit the splash image of your TX
Edytuj ekran startowy swojego radia
-
+
List programmers...
Lista programistów...
-
+
Write firmware to transmitter
Zapisz firmware do radia
-
+
Add Radio Profile
Dodaj profil radia
-
+
Configure Communications...
Ustaw komunikację...
-
+
Configure software for communicating with the transmitter
Ustaw oprogramowanie komunikacyjne z radiem
-
+
Write Models and Settings from file to Tx
Zapisz Modele i Ustawienia z pliku do radia
-
+
Write Models and Settings from file to transmitter
Zapisz Modele i Ustawienia z pliku do radia
-
+
Save the Models and Settings from the transmitter to a file
Zapisz Modele i Ustawienia z radia do pliku
-
+
Read Firmware
Wczytaj Firmware
-
+
Yerico
-
+
Yellow round honey sweet icon theme
Żółty zaokrąglony miodiowy motyw ikon
-
+
Read firmware from transmitter
Wczytaj Firmware z radia
-
+
Write
Zapis
-
+
%2
%2
-
-
+
+
Invalid Models and Settings File %1
Błędny plik %1 Modeli i Ustawień
-
+
Invalid binary Models and Settings File %1
Błędny binarny plik %1 Modeli i Ustawień
-
+
Compare models
Porównaj modele
-
+
Exit the application
Zakończ aplikację companion9x
-
+
List available programmers
Lista dostępnych programatorów
-
+
Show fuses dialog
Pokaż okno ustawień mikro-kontrolera
-
+
Show the application's About box
O aplikacji companion9x
-
+
Classical
Klasyczny
-
+
Set Menu Language
Ustaw język menu
-
-
+
+
File
Plik
-
-
+
+
Edit
Edycja
-
+
Settings
Ustawienia
-
+
Read/Write
Odczyt/Zapis
-
-
+
+
Help
Pomoc
-
+
Show a selection list of radio settings profiles
Pokaż listę wyboru profili ustawiań radia
-
+
Ready
Gotowe
-
+
Unable to find file %1!
Nie mogę znaleźć pliku %1!
-
+
Error reading file %1:
%2.
Błąd odczytu pliku %1:
@@ -3116,193 +3131,193 @@ Czy mimo wszystko zapisać?
MdiChild
-
+
free bytes
wolna pamięć[B]
-
+
Editing model %1:
Edycja modelu %1:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Error
Błąd
-
-
+
+
Unable to find file %1!
Nie mogę odnaleźć pliku %1!
-
-
-
-
+
+
+
+
Error opening file %1:
%2.
Błąd otwarcia pliku %1:
%2.
-
-
+
+
Invalid EEPROM File %1
Zły plik EEPROM %1
-
+
Invalid binary EEPROM File %1
Nieprawidłowy plik binarny EEPROM %1
-
-
+
+
Save As
Zapisz jako
-
-
-
-
+
+
+
+
Cannot write file %1:
%2.
Nie mogę zapisać pliku %1:
%2.
-
-
+
+
Error writing file %1:
%2.
Błąd zapisu pliku %1:
%2.
-
+
Do you want to use model wizard?
Czy chcesz użyć konfiguratora modelu?
-
-
-
+
+
+
Companion
Companion
-
+
Ask this question again ?
Czy ponownie zapytać ?
-
-
+
+
Error reading file %1:
%2.
Błąd odczytu pliku %1:
%2.
-
+
%1 has been modified.
Do you want to save your changes?
%1 został zmieniony.
Zapisać?
-
+
Backup is impossible
Backup jest niemożliwy
-
+
The backup dir set in preferences does not exist
Ustawienia preferencji katalogu backupu nie istnieją
-
+
Cannot write temporary file!
Nie mogę zapisać pliku tymczasowego!
-
-
-
+
+
+
Taranis radio not found
Nie odnaleziono Radia Taranis
-
-
-
+
+
+
Impossible to identify the radio on your system, please verify the eeprom disk is connected.
Identyfikacja radia w Twoim systemie nie jest możliwa, sprawdź dysk eeprom podpięty do komputera.
-
-
-
+
+
+
Backup EEPROM From Tx
Backup EEPROM z radia
-
+
Cannot check eeprom compatibility! Continue anyway?
Nie mogę sprawdzić kompatybilności EEprom! Kontynuować ?
-
+
Warning
Ostrzeżenie
-
+
Firmware in radio is of a different family of eeprom written, check file and preferences!
Firmware w radiu jest różny od zapisanego eepromu, sprawdź plik i ustawienia!
-
+
Firmware in flash is outdated, please upgrade!
Firmware w radiu jest przestarzały. Proszę zaktualizować!
-
+
Write EEPROM To Tx
Zapis EEPROM do radia
-
+
Open backup Models and Settings file
Otwórz plik backupu Modeli i Ustawień
-
+
Invalid binary backup File %1
nieprawidłowy binarny plik %1
@@ -3593,25 +3608,25 @@ p, li { white-space: pre-wrap; }
MixesPanel
-
+
Move Up
W górę
-
+
Ctrl+Up
Ctrl+Up
-
+
Move Down
W dół
-
+
Ctrl+Down
Ctrl+Down
@@ -3622,145 +3637,145 @@ p, li { white-space: pre-wrap; }
-
-
+
+
X%1
X%1
-
-
-
+
+
+
CH%1%2
Kan %1%2
-
+
Weight(%1)
Waga(%1)
-
+
Switch(%1)
Przełącznik(%1)
-
+
No Trim
Bez trymera
-
+
No DR/Expo
Bez DR/Expo
-
+
Offset(%1)
Wyrównanie(%1)
-
+
Delay(u%1:d%2)
Opóźnienie(u%1:d%2)
-
+
Slow(u%1:d%2)
Spowolnienie(u%1:d%2)
-
+
Warn(%1)
Ostrzeżenie(%1)
-
+
Not enough available mixers!
Za mało dostępnych mikserów!
-
+
Delete Selected Mixes?
Skasować wybrane miksery?
-
+
&Add
&Dodaj
-
+
Ctrl+A
Ctrl+A
-
+
&Edit
&Edycja
-
+
Enter
Enter
-
+
&Delete
&Wykasuj
-
+
Delete
Wykasuj
-
+
&Copy
&Kopiuj
-
+
Ctrl+C
Ctrl+C
-
+
&Cut
&Wytnij
-
+
Ctrl+X
Ctrl+X
-
+
&Paste
&Wklej
-
+
Ctrl+V
Ctrl+V
-
+
Du&plicate
&Zduplikuj
-
+
Ctrl+U
Ctrl+U
-
+
Clear Mixes?
Wyczyść miksery?
-
+
Really clear all the mixes?
Czy na pewno wyczyścić wszystkie miksery?
@@ -3778,52 +3793,52 @@ p, li { white-space: pre-wrap; }
Symulacja
-
+
Setup
Ustawienia
-
+
Heli
Heli
-
+
Inputs
Wejścia
-
+
Logical Switches
- Przełączniki Logiczne
+ Przełączniki logiczne
-
+
Switch Assignment
- Przypisanie Przełączników
+ Funkcje specjalne
-
+
Channels
Kanały
-
+
Mixes
Miksery
-
+
Flight Modes
Fazy lotu
-
+
Curves
Krzywe
-
+
Telemetry
Telemetria
@@ -4104,830 +4119,676 @@ p, li { white-space: pre-wrap; }
QObject
-
+
Rud
SK
-
+
Ele
SW
-
+
Thr
Gaz
-
+
Ail
Lotki
-
+
-
+
P1
Potencjometr 1
-
+
-
+
P2
Potencjometr 2
-
+
-
+
P3
Potencjometr 3
-
-
+
+
S1
Potencjometr 1
-
-
+
+
S2
Potencjometr 2
-
-
+
+
LS
Lewy suwak
-
-
+
+
RS
Prawy suwak
-
+
TrmR
Trymer SK
-
+
TrmE
Trymer SW
-
+
TrmT
Trymer gazu
-
+
TrmA
Trymer lotek
-
-
-
+
+
+
REa
Pokrętło :a
-
-
-
+
+
+
REb
Pokrętło :b
-
+
Batt
Bateria
-
+
A1
Sygnał telemetrii A1
-
+
A2
Sygnał telemetrii A2
-
+
Alt
Wysokość
-
+
Rpm
Obroty
-
+
Fuel
Paliwo
-
+
T1
-
- Tx
-
-
-
-
- Rx
-
-
-
-
+
SWR
SWR
-
- RSSI
-
-
-
-
+
T2
-
+
Speed
Prędkość
-
+
Dist
Odległość
-
+
GPS Alt
Wysokość GPS
-
+
Cell
Cela
-
Cels
- Cele
+ Cele
-
+
Vfas
-
+
Curr
Natężenie
-
+
Cnsp
-
+
Powr
Moc
-
+
+ Cells
+ Cele
+
+
+
AccX
-
+
AccY
-
+
AccZ
-
+
HDG
-
+
VSpd
-
+
A1-
-
+
A2-
-
+
Alt-
-
+
Alt+
-
+
Rpm+
-
+
T1+
-
+
T2+
-
- Spd+
-
-
-
-
- Dst+
-
-
-
-
- Cur+
-
-
-
-
- ACC
-
-
-
-
+
Time
-
- Pwr+
-
-
-
-
-
+
+
LS1
PL1
-
-
+
+
LS2
PL2
-
-
+
+
LS3
PL3
-
-
+
+
LS4
PL4
-
-
+
+
LS5
PL5
-
-
+
+
LS6
PL6
-
-
+
+
LS7
PL7
-
-
+
+
LS8
PL8
-
-
+
+
LS9
PL9
-
-
+
+
LSA
PLA
-
-
+
+
LSB
PLB
-
-
+
+
LSC
PLC
-
-
+
+
LSD
PLD
-
-
+
+
LSE
PLE
-
-
+
+
LSF
PLF
-
-
+
+
LSG
PLG
-
-
+
+
LSH
PLH
-
-
+
+
LSI
PLI
-
-
+
+
LSJ
PLJ
-
-
+
+
LSK
PLK
-
-
+
+
LSL
PLL
-
-
+
+
LSM
PLM,
-
-
+
+
LSN
PLN
-
-
+
+
LSO
PLO
-
-
+
+
LSP
PLP
-
-
+
+
LSQ
PLQ
-
-
+
+
LSR
PLR
-
-
+
+
LSS
PLS
-
-
+
+
LST
PLT
-
-
+
+
LSU
PLU
-
-
+
+
LSV
PLV
-
-
+
+
LSW
PLW
-
Input %1
- Wejście %1
+ Wejście %1
-
+
MAX
-
+
S11
P11
-
+
S12
P12
-
+
S13
P13
-
+
S14
P14
-
+
S15
P15
-
+
S16
P16
-
+
S21
P21
-
+
S22
P22
-
+
S23
P23
-
+
S24
P24
-
+
S25
P25
-
+
S26
P26
-
+
CYC%1
-
+
PPM%1
-
+
CH%1%2
Kan %1%2
-
+
X%1
-
-
-
-
+
+
+
+
----
-
-
+
+
THR
THR
-
-
+
+
ON
Włącz
-
-
-
+
+
+
OFF
Wyłącz
-
+
Diff(%1)
Róźnicowość(%1)
-
+
Expo(%1)
Expo(%1)
-
+
Function(%1)
Funkcja(%1)
-
+
Curve(%1)
Krzywa(%1)
-
+
!Curve(%1)
!Krzywa(%1)
-
-
+
+
Support for frsky telemetry mod
Wsparcie dla telemetrii FrSky
-
-
+
+
Support for jeti telemetry mod
Wsparcie telemetrii JETI
-
-
+
+
Support for receiving ardupilot data
Wsparcie dla otrzymywania danych ardupilota
-
-
+
+
Support for receiving NMEA data
Wsparcie dla otrzymywania danych NMEA
-
+
Support for telemetry easy board
Wsparcie dla platformy TelemetrEZ
-
-
+
+
Support for MAVLINK devices
Wsparcie urządzeń MAVLINK
-
+
Rotary Encoder use in menus navigation
Użycie pokrętła do nawigacji w menu
-
+
Possibility to enable FAI MODE at field
Umożliwienie uaktywniania tryb FAI w menu
-
+
FAI MODE always enabled
Tryb FAI zawsze aktywny
-
-
-
-
-
-
- Enable heli menu and cyclic mix support
- Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów
-
-
-
-
-
-
-
-
- Enable TEMPLATES menu
- Uaktywnienie menu szablonów
-
-
-
-
-
-
- No splash screen
- Bez loga na ekranie
-
-
-
- No flight modes
- Firmware bez menu faz lotu
-
-
-
-
-
-
-
-
- In model setup menus automatically set source by moving some of them
- W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim
-
-
-
-
-
-
-
-
-
-
- Use alternative SQT5 font
- Użyj alternatywnego fontu SQT5
-
-
-
- EEprom write progress bar
- Pasek postępu wgrywania EEPROMu
-
-
-
-
- No Winged Shadow How High support
- Bez wsparcia - Winged Shadow How High
-
-
-
-
- No vario support
- Bez wsparcia wario
-
-
-
-
- No GPS support
- Bez wsparcia GPS
-
-
-
-
- No gauges in the custom telemetry screen
- Bez graficznych wskazań telemetrii
-
-
-
- Allow compensating for offset errors in FrSky FAS current sensors
- Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS
-
-
-
- OpenTX for FrSky Taranis Rev4a
- OpenTX dla platformy FrSky Taranis Rev4a
-
-
-
- Use FrSky Taranis sticks in a 9X/9XR
- Użyj drążków Taranisa w 9X/9XR
-
-
-
- OpenTX for FrSky Taranis
- OpenTX dla platformy FrSky Taranis
-
-
-
-
- Disable HELI menu and cyclic mix support
- Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów
-
-
-
-
- Disable TEMPLATES menu
- Dezaktywowane menu szablonów
-
-
-
-
- Disable Global variables
- dezaktywowane zmienne globalne
+
+ Enable heli menu and cyclic mix support
+ Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów
-
-
- Disable curves menus
- Bez menu krzywych
+
+
+ Enable TEMPLATES menu
+ Uaktywnienie menu szablonów
- Support for radio modified with regular speaker
- Wsparcie dla modyfikacji radia zwykłym głośnikiem
+ No splash screen
+ Bez loga na ekranie
@@ -4935,77 +4796,172 @@ p, li { white-space: pre-wrap; }
- Used if you have modified your radio with voice mode
- Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych
+
+ No flight modes
+ Firmware bez menu faz lotu
+
+
+
+
+
+
+
+
+ In model setup menus automatically set source by moving some of them
+ W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim
+
+
+
+
+
+
+
+
+
+
+ Use alternative SQT5 font
+ Użyj alternatywnego fontu SQT5
+
+
+
+ EEprom write progress bar
+ Pasek postępu wgrywania EEPROMu
+
+
+
+
+ No Winged Shadow How High support
+ Bez wsparcia - Winged Shadow How High
+
+
+
+
+ No vario support
+ Bez wsparcia wario
+
+
+
+
+ No GPS support
+ Bez wsparcia GPS
+
+
+
+
+ No gauges in the custom telemetry screen
+ Bez graficznych wskazań telemetrii
+
+
+
+ Allow compensating for offset errors in FrSky FAS current sensors
+ Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS
+
+
+
+ OpenTX for FrSky Taranis Rev4a
+ OpenTX dla platformy FrSky Taranis Rev4a
+
+
+
+ Use FrSky Taranis sticks in a 9X/9XR
+ Użyj drążków Taranisa w 9X/9XR
+
+
+
+ OpenTX for FrSky Taranis
+ OpenTX dla platformy FrSky Taranis
+
+
+
+
+ Disable HELI menu and cyclic mix support
+ Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów
+
+
+
+
+ Disable TEMPLATES menu
+ Dezaktywowane menu szablonów
+
+
+
+
+ Disable Global variables
+ dezaktywowane zmienne globalne
- Used if you have modified your radio with haptic mode
- Używane jeśli radio jest zmodyfikowane do użycia wibracji
-
-
-
-
-
-
-
-
- Battery graph
- Grafika baterii
-
-
-
-
-
-
- Enable the throttle trace in Statistics
- Uaktywnić śledzenie gazu w statystykach
-
-
- Support of FrSky PXX protocol
- Wsparcie dla protokołu Frsky PXX
+
+ Disable curves menus
+ Bez menu krzywych
+
+
+
+
+
+
+ Support for radio modified with regular speaker
+ Wsparcie dla modyfikacji radia zwykłym głośnikiem
-
- Support for DSM2 modules
- wsparcie modułu DSM2
-
-
-
- Your radio probably uses a wrong firmware,
- eeprom size is 4096 but only the first 2048 are used
- Twoje radio prawdopodobnie używa złego firmware,
- wielkość eepromu jest 4096 ale tylko pierwsze 2048 jest używane
+
+ Used if you have modified your radio with voice mode
+ Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych
-
-
- PPM center adjustment in limits
- Limit dostrojenia centrowania PPM
+ Used if you have modified your radio with haptic mode
+ Używane jeśli radio jest zmodyfikowane do użycia wibracji
-
-
-
-
+
+
+
+
+
+
+ Battery graph
+ Grafika baterii
+
+
+
+
+
+
+ Enable the throttle trace in Statistics
+ Uaktywnić śledzenie gazu w statystykach
+
+
+
+ Support of FrSky PXX protocol
+ Wsparcie dla protokołu Frsky PXX
+
+
+
+
+
+
-
-
-
- PPM values displayed in us
- Wartości PPM wyświetlane w us (mikrosekundy)
+ Support for DSM2 modules
+ wsparcie modułu DSM2
+
+
+
+ Your radio probably uses a wrong firmware,
+ eeprom size is 4096 but only the first 2048 are used
+ Twoje radio prawdopodobnie używa złego firmware,
+ wielkość eepromu jest 4096 ale tylko pierwsze 2048 jest używane
@@ -5014,44 +4970,66 @@ p, li { white-space: pre-wrap; }
- Symetrical Limits
- Limity symetryczne
+ PPM center adjustment in limits
+ Limit dostrojenia centrowania PPM
-
+
+
- Pots use in menus navigation
- Użycie potencjometrów do nawigacji w menu
+
+
+ PPM values displayed in us
+ Wartości PPM wyświetlane w us (mikrosekundy)
-
- OpenTX for 9X board
- OpenTX dla platformy 9X
-
-
-
-
- SmartieParts 2.2 Backlight support
- Wsparcie podświetlenia SmartieParts 2.2
-
-
-
-
+
+
- In model setup menus automatically set switch by moving some of them
- W menu modelu automatyczne wybranie przełącznika w przez jego poruszenie
+ Symetrical Limits
+ Limity symetryczne
+
+
+
+
+
+
+
+ Pots use in menus navigation
+ Użycie potencjometrów do nawigacji w menu
+
+
+
+ OpenTX for 9X board
+ OpenTX dla platformy 9X
-
-
+ SmartieParts 2.2 Backlight support
+ Wsparcie podświetlenia SmartieParts 2.2
+
+
+
+
+
+
+
+
+ In model setup menus automatically set switch by moving some of them
+ W menu modelu automatyczne wybranie przełącznika w przez jego poruszenie
+
+
+
+
+
+
Enable resetting values by pressing up and down at the same time
Szybkie nastawianie wartości
(+) a (-) neguje wartość
@@ -5060,105 +5038,105 @@ p, li { white-space: pre-wrap; }
(UP) a (DN) ustawia 0
-
-
-
-
-
-
+
+
+
+
+
+
No graphical check boxes and sliders
Brak graficznych chekboxów i sliderów
-
-
-
-
-
-
+
+
+
+
+
+
Don't use bold font for highlighting active items
Nie używaj podświetlenia dla wybranych aktywnych elementów, mikserów, krzywych, expo, etc
-
+
OpenTX for M128 / 9X board
OpenTX dla platformy M128 / 9X
-
-
-
-
+
+
+
+
EEprom write Progress bar
Pasek postępu zapisywania EEPROM
-
-
-
-
-
+
+
+
+
+
Imperial units
Imperialne jednostki w telemetrii
-
+
Bluetooth interface
Interface Bluetooth
-
-
-
-
-
-
+
+
+
+
+
+
Global variables
Globalne zmienne
-
+
OpenTX for 9XR
OpenTX dla platformy 9XR
-
+
OpenTX for 9XR with M128 chip
OpenTX dla platformy 9X z układem M128
-
+
OpenTX for Gruvin9x board / 9X
ie: OpenTX dla platformy Gruvin9X / 9X
-
+
Support for SD memory card
Wsparcie karty SD
-
+
Support for DSM2 modules using ppm instead of true serial
Wsparcie modułu DSM2 przez użycie PPM zamiast prawdziwego szeregowego
-
+
OpenTX for Sky9x board / 9X
OpenTX dla platformy Sky9x / 9X
-
+
Enable HELI menu and cyclic mix support
Uaktywnij menu HELI i cyklicznych mikserów
-
-
+
+
Warning
Ostrzeżenie
-
+
EEPROM saved with these warnings:
EEPROM zapisany z tymi ostrzeżeniami:
@@ -5225,492 +5203,580 @@ p, li { white-space: pre-wrap; }
Fiński
-
+
No
Nie
-
+
RotEnc A
Pokrętło :A
-
+
Rot Enc B
Pokrętło :B
-
+
Rot Enc C
Pokrętło :C
-
+
Rot Enc D
Pokrętło :D
-
+
Rot Enc E
Pokrętło :E
-
+
No repeat
Bez powtórzeń
-
+
%1 sec
%1 s
-
+
Safety %1
Bezpieczny %1
-
+
+
+ S3
+ S3
+
+
+
+ RSSI Tx
+ RSSI Tx
+
+
+
+ RSSI Rx
+ RSSI Rx
+
+
+
+ Rx Batt
+ Bateria Rx
+
+
+
+ A3
+ A3
+
+
+
+ A4
+ A4
+
+
+
ASpd
ASpd
-
+
dTE
dTE
-
+
+ A3-
+ A3-
+
+
+
+ A4-
+ A4-
+
+
Cel-
- Cel-
+ Cel-
-
Vfs-
- Vfs-
+ Vfs-
-
+ Cels-
+ Cele-
+
+
+
+ ACC
+ ACC
+
+
+
+ [I%1]
+ [I%1]
+
+
+
+ S31
+ S31
+
+
+
+ S32
+ S32
+
+
+
+ S33
+ S33
+
+
+
+ S34
+ S34
+
+
+
+ S35
+ S35
+
+
+
+ S36
+ S36
+
+
+
RudTrim Left
SK Trymer lewy
-
+
RudTrim Right
SK Trymer prawy
-
+
EleTrim Down
SW Trymer w dół
-
+
EleTrim Up
SW Trymer w górę
-
+
ThrTrim Down
Gaz Trymer w dół
-
+
ThrTrim Up
Gaz Trymer w gorę
-
+
AilTrim Left
Lotki trymer w lewo
-
+
AilTrim Right
Lotki trymer w prawo
-
+
ABS
ABS
-
+
THs
THs
-
+
TH%
TH%
-
+
THt
THt
-
+
???
???
-
+
a>x
a>x
-
+
a<x
a<x
-
+
|a|>x
|a|>x
-
+
|a|<x
|a|<x
-
+
AND
I (logiczne)
-
+
OR
Lub (logiczne)
-
+
XOR
XOR (Logiczne)
-
+
a=b
a=b
-
+
a!=b
a!=b
-
+
a>b
a>b
-
+
a<b
a<b
-
+
a>=b
a>=b
-
+
a<=b
a<=b
-
+
d>=x
d>=x
-
+
|d|>=x
|d|>=x
-
+
+ a=x
+ a=x
+
+
+
a~x
a~x
-
+
Timer
Timer
-
+
Sticky
-
+ Trwałe przełączenie
-
+
Stay
Utrzymuj
-
+
Unknown
Nieznane
-
+
STAY(%1, [%2:%3])
Utrzymuj(%1, [%2:%3])
-
+
STICKY(%1, %2)
-
+ Trwałe przełączenie (%1, %2)
-
+
TIMER(%1, %2)
TIMER(%1, %2)
-
+
Trainer
Trener
-
+
Trainer RUD
Trener - SK
-
+
Trainer ELE
Trener - SW
-
+
Trainer THR
Trener - Gaz
-
+
Trainer AIL
Trener - Lotki
-
+
Instant Trim
Natychmiastowe trymowanie
-
+
Play Sound
Odtwórz dźwięk
-
+
Play Haptic
Wibruj
-
+
Reset
Zresetuj
-
+
Set Timer %1
Ustaw Timer %1
-
+
Vario
Wariometr
-
+
Play Both
Odtwórz oba
-
+
Play Value
Odtwórz wartość
-
+
Start Logs
Start logowania
-
+
Volume
Głośność
-
+
Backlight
Podświetlenie
-
+
Adjust GV%1
Ustaw ZG%1
-
-
-
-
-
-
+
+
+
+
+
+
<font color=red><b>Inconsistent parameter</b></font>
Niespójny parametr
<font color=red><b>Niespójny parametr</b></font>
-
+
Rotary Encoder
Pokrętło
-
+
!Flight mode %1
!Faza lotu %1
-
+
Flight mode %1
Faza lotu %1
-
+
Yellow
Żółty
-
+
Orange
Pomarańczowy
-
+
Red
Czerwony
-
+
Winged Shadow How High
-
+
Winged Shadow How High (not supported)
Winged Shadow How High (nie obsługiwane)
-
+
FrSky Sensor Hub
Hub sensora FrSky
-
-
+
+
None
Żaden
-
+
Imperial
Imperialne
-
+
Metric
Metryczne
-
+
Extra Fine
Bardzo dokładne
-
+
Fine
Dokładne
-
+
Medium
Średni
-
+
Coarse
Gruby
-
+
Exponential
Eksponencjalny
-
+
Count Up
Licz
-
+
Count Down
Odliczaj
-
+
%1:%2,
-
+
: %1 Channels, %2usec Delay
:Kanały %1, opóźnienie %2usX
-
+
Flight modes(%1)
Fazy lotu(%1)
-
+
Flight mode(%1)
Faza lotu (%1)
-
+
Rudder
SK
-
+
Elevator
SW
-
+
Throttle
Gaz
-
+
Aileron
Lotki
-
+
Play Track
Odtwórz ścieżkę
-
+
-
+
---
@@ -5745,75 +5811,110 @@ p, li { white-space: pre-wrap; }
Szwedzki
-
+
CH%1
Kan %1
-
+
Background Music
Muzyka tła
-
+
Background Music Pause
Muzyka tła - pauza
-
+
Delay %1 sec
Opóźnienie %1sec
-
+
Duration %1 sec
Czas trwania %1 sec
-
-
-
-
+
+
+
+
Timer1
-
-
-
-
+
+
+
+
Timer2
-
-
-
+
+ Speed+
+ Prędkość+
+
+
+
+ Dist+
+ Dyst+
+
+
+
+ Cell-
+ Cela-
+
+
+
+ Cells-
+ Cele-
+
+
+
+ Vfas-
+ Vfat-
+
+
+
+ Curr+
+ Natęż+
+
+
+
+ Powr+
+ Moc+
+
+
+
+
+
All
Wszystkie
-
-
-
+
+
+
Telemetry
Telemetria
-
-
+
+
Value
Wartość
-
-
+
+
Decr:
Zmniejsz:
-
-
+
+
Incr:
Zwiększ:
@@ -5828,66 +5929,66 @@ p, li { white-space: pre-wrap; }
-
+
Value
Wartość
-
+
Source
Źródło
-
+
GVAR
Zmienna
-
+
Increment
Zwiększanie
-
+
Own value
Własny Wartość
-
+
Flight mode %1 value
Flight phase %1 value
Wartość Fazy lotu FL%1
-
+
Keys
Przyciski
-
+
Sticks
Drążki
-
+
Keys + Sticks
Przyciski i Drążki
-
+
-GV%1
-ZG%1
-
-
+
+
GV%1
ZG%1
-
+
Simulator for this firmware is not yet available
Nie jest dostępny symulator dla tego firmware
@@ -5898,26 +5999,30 @@ p, li { white-space: pre-wrap; }
Równoległe użycie expo i krzywych nie jest dłużej wspierane
-
openTx only accepts %1 points in all curves
- openTx dopuszcza tylko %1 punktów dla wszystkich krzywych
+ openTx dopuszcza tylko %1 punktów dla wszystkich krzywych
-
-
-
-
+
+ OpenTX only accepts %1 points in all curves
+ OpenTX zezwala tylko na %1 punktów we wszytkich krzywych
+
+
+
+
+
+
OpenTX on this board doesn't accept this function
OpenTX na tej platformie nie dopuszcza tej funkcji
-
-
+
+
OpenTX doesn't accept this protocol
OpenTX nie obsługuje tego protokołu
-
+
OpenTX doesn't allow this number of channels
OpenTX nie obsługuje tej ilości kanałów
@@ -6746,7 +6851,17 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
miliAmpery (mA)
-
+
+ Low Alarm
+ Alarm niski
+
+
+
+ Critical Alarm
+ Alarm krytyczny
+
+
+
Range
Zasięg
@@ -6797,17 +6912,27 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
TelemetryPanel
-
+
Telemetry screen %1
Panel Telemetrii %1
-
+
+ Low Alarm
+ Alarm niski
+
+
+
+ Critical Alarm
+ Alarm krytyczny
+
+
+
Winged Shadow How High
Winged Shadow How High
-
+
Winged Shadow How High (not supported)
Winged Shadow How High (Nie obsługiwane)
@@ -6866,25 +6991,25 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
appPreferencesDialog
-
+
Simulator capture folder
Katalog zapisu symulatora
-
+
Remember simulator switch values
Zapamiętaj ustawienia przełączników w symulatorze
-
-
-
-
+
+
+
+
Open Folder
Otwórz katalog
-
+
User Splash Screens
Użyj ekranu powitalnego
@@ -6894,52 +7019,62 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
Edycja Ustawień
-
+
+ General Settings
+ Główne ustawienia
+
+
+
+ TextLabel
+ Etykieta
+
+
+
Application Settings
Ustawienia Aplikacji
-
+
Only show user splash images
Pokaż tylko ekrany powitalne użytkownika
-
+
Show user and companion splash images
Pokaż ekrany powitalne użytkownika i Companion
-
+
Simulator Settings
Ustawienia Symulatora
-
+
Blue
Niebieskie
-
+
Green
Zielone
-
+
Red
Czerwone
-
+
Orange
Pomarańczowe
-
+
Yellow
Żółte
-
+
Mode selection:
Mode 1:
@@ -6962,27 +7097,32 @@ Mode 4:
-
+
+ Radio Profile
+ Profil radia
+
+
+
Mode 1 (RUD ELE THR AIL)
Mod 1 (SK.SW.Gaz.Lot)
-
+
Mode 2 (RUD THR ELE AIL)
Mod 2 (SK.Gaz.SW.Lot)
-
+
Mode 3 (AIL ELE THR RUD)
-
+
Mode 4 (AIL THR ELE RUD)
Mod 4 (Lot.Gaz.SW.SK)
-
+
Channel order
This is used by the templated to determine which channel goes to what number output.
@@ -6991,187 +7131,224 @@ This is used by the templated to determine which channel goes to what number out
To ustawienie jest używane przez szablony, określa jakie wyjście przypisane jest do kanału.
-
+
R E T A
K W G L
-
+
R E A T
K W L G
-
+
R T E A
-
+
R T A E
K G L W
-
+
R A E T
K L W G
-
+
R A T E
K L G W
-
+
E R T A
W K G L
-
+
E R A T
W K L G
-
+
E T R A
W G K L
-
+
E T A R
W G L K
-
+
E A R T
W L K G
-
+
E A T R
W L G K
-
+
T R E A
G K W L
-
+
T R A E
G K L W
-
+
T E R A
G W K L
-
+
T E A R
G W L K
-
+
T A R E
G L K W
-
+
T A E R
G L W K
-
+
A R E T
L K W G
-
+
A R T E
L R G W
-
+
A E R T
L W K G
-
+
A E T R
L W G K
-
+
A T R E
L G K W
-
+
A T E R
L G W K
-
+
Default Stick Mode
Bazowy mod drążków
-
+
Splash Screen
Ekran startowy
-
+
Channel Order
Kolejność kanałów
-
+
Append version number to FW file name
Dodaj numer Firmware do nazwy pliku
-
+
SD Structure path
Struktura karty SD
-
- Firmware Variant
- Wariant Firmware
+
+ 9X
+ 9X
-
+
+ 9X with m128
+ 9X z m128
+
+
+
+ 9XR
+ 9XR
+
+
+
+ 9XR with m128
+ 9XR z m128
+
+
+
+ Gruvin9x Board
+ Płyta Gruvin9x
+
+
+
+ Sky9x Board
+ Płyta Sky9x
+
+
+
+ Taranis
+ Taranis
+
+
+ Firmware Variant
+ Wariant Firmware
+
+
+
Select Image
Wybierz obrazek
-
Firmware File
- Plik Firmware
+ Plik Firmware
-
+
Offer to write FW to Tx after download
Zaproponuj zapisanie FirmWare do radia po pobraniu
-
Radio Settings Profile
- Profil Ustawień Radia
+ Profil Ustawień Radia
-
+
Profile Name
Nazwa profilu
-
+
Remove Profile
Usuń Profil
-
+
+ Radio Type
+ Typ Radia
+
+
+
Clear Image
Wyczyść obrazek
@@ -7180,128 +7357,148 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j
Firmware
-
+
Splash Screen Library
Biblioteka ekranół powitalnych
-
+
Files to keep
Pkili to zapamiętania
-
+
Simulator BackLight
Podświetlenie symularota
-
+
Automatic Backup Folder
Automatyczny Katalog Backupów
-
+
Only capture to clipboard
Przechwyć tylko do schowka
-
+
Joystick
Joystick
-
+
Find Executable
Znajdź plik wykonywalny
-
+
Google Earth Executable
Plik wykonywalny Google Earth
-
+
Calibrate
Kalibracja
-
+
Enable
Aktywowany
-
+
Show splash screen when Companion starts
Pokaz ekran startowy przy uruchamianiu Companion
-
+
Automatic check for OpenTX firmware updates
Automatycznie sprawdź aktualizacje firmware OpenTX
-
+
Automatic check for Companion updates
Automatycznie sprawdź aktualizacje Companion
-
+
Offer to use wizard for new models
Zaproponuj użycie konfiguratora dla nowych modeli
-
+
Enable automatic backup before writing firmware
Uaktywnij automatyczny backup przed zapisem firmware
-
+
+ My Radio
+ Moje Radio
+
+
+
Select your snapshot folder
Katalog zrzutów
-
-
+
+
No joysticks found
Brak oysticka
-
+
+ EMPTY: No radio settings stored in profile
+ PUSTY:Brak ustawień radia w profilu
+
+
+
+ AVAILABLE: Radio settings of unknown age
+ DOSTĘPNY:Nieznany wiek ustawień radia
+
+
+
+ AVAILABLE: Radio settings stored %1
+ DOSTĘPNY:Zapamietane ustawienai radia %1
+
+
+
Select your library folder
Wybierz katalog bibliteki
-
+
Select your Models and Settings backup folder
Wybierz folder do backupowania Modeli i Ustawień
-
+
Select Google Earth executable
Wybierz wykonywalny plik Google Earth
-
+
Select the folder replicating your SD structure
Wybierz folder do zreplikowania struktury Twojej karty SD
-
+
Not possible to remove profile
Usunięcie profilu jest niemożliwe
-
+
The default profile can not be removed.
Podstawowy profil nie moze być usunięty.
-
+
Open Image to load
Otwórz obrazek do załadowania
-
+
Images (%1)
Obrazki (%1)
@@ -7319,20 +7516,20 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j
Pokaż szczegóły
-
+
result
result
Wynik
-
+
executable not found
executable not found
plik wykonywalny nie został znaleziony
-
+
Error
Błąd
@@ -7342,32 +7539,32 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j
Nie mogę otworzyć pliku źródłowego
-
+
Cannot write destination
Nie mogę zapisać w miejscu docelowym
-
+
Writing file:
Zapisuję plik:
-
+
ie: OpenTX for 9X board or OpenTX for 9XR board
ie: OpenTX dal platformy 9X lub OpenTX lub 9XR
-
+
ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip
ie: OpenTX dla platformy M128 / 9X lub OpenTX dla platformy 9XR z chipem M128
-
+
ie: OpenTX for Gruvin9X board
ie: OpenTX dla platformy Gruvin9X
-
+
Your radio uses a %1 CPU!!!
Please check advanced burn options to set the correct cpu type.
@@ -7376,7 +7573,7 @@ Please check advanced burn options to set the correct cpu type.
Sprawdź zaawansowane funkcje wypiekania by ustalić prawidłowy procesor.
-
+
Your radio uses a %1 CPU!!!
Please select an appropriate firmware type to program it.
@@ -7385,7 +7582,7 @@ Please select an appropriate firmware type to program it.
Proszę wybrać poprany rodzaj firmware.
-
+
You are currently using:
%1
@@ -7394,50 +7591,50 @@ Aktualnie używasz:
%1
-
-
+
+
Writing
Zapis
-
-
+
+
Reading
Czytanie
-
-
+
+
Verifying
Weryfikacja
-
+
done - exit code %1
done - exit code %1
Zakończone z kodem %1
-
+
done with errors
done with errors
Zakończone z Błędami
-
-
+
+
done - SUCCESSFUL
done - SUCCESSFUL
Zakończono sukcesem
-
+
did not finish correctly
did not finish correctly
Nie zakończono poprawnie
-
+
did not finish correctly!
Do you want some help ?
did not finish correctly!
@@ -7446,29 +7643,29 @@ Do you want some help ?
Potrzebujesz pomocy ?
-
+
Copy did not finish correctly
Nie zakończono poprawnie kopiowania
-
+
finished correctly
finished correctly
Zakończono poprawnie
-
+
Copy finished correctly
Zakończono poprawnie kopiowanie
-
+
Started
Started
Rozpoczęto
-
+
FUSES: Low=%1 High=%2 Ext=%3
Bezpieczniki: Low=%1 High=%2 Ext=%3
@@ -7639,40 +7836,40 @@ m2560 dla platformy V4
Port szeregowy sam-ba
-
+
DFU-UTIL Configuration
Konfiguracja DFU-UTIL
-
+
SAM-BA Configuration
Konfiguracja SAM-BA
-
+
AVRDUDE Configuration
Konfiguracja AVRDUDE
-
-
-
+
+
+
Select Location
Wybierz położenie
-
-
+
+
Companion
Companion
-
+
<b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue?
<b><u>UWAGA!</u></b><br>U zresetuje bezpieczniki %1 do fabrycznych ustawień.<br>Zapis bezpieczników może uszkodzić twoje radio.<br>Zrób to tylko jeśli jesteś pewien że są złe!<br>Jesteś pewien by kontynuować?
-
+
<b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent.
<b><u>Ostrzeżenie!</u></b><br>Normalnie typ procesora jest wybierany automatycznie zgodnie z wybranym firmware.<br>Jeśli zmienisz typ procesora dla EEpromu rezultaty mogą być nieprzewidywalne.
@@ -7710,37 +7907,37 @@ m2560 dla platformy V4
Zmień ustawiania parametrów HW wartościami z profilu
-
+
Date & Time
Data i Czas
-
+
+ Version
+ Wersja
+
+
+
Use firmware start screen
Użyj ekranu startowego z firmware
-
+
Use another start screen
Użyj innego ekranu startowego
-
+
Use profile start screen
Użyj ekranu startowego z profilu
-
+
Use library start screen
Użyj ekranu startowego z biblioteki
-
- SVN
-
-
-
-
+
Variant
Wariant
@@ -7761,18 +7958,18 @@ m2560 dla platformy V4
Zmień logo w firmware
-
-
+
+
Browse for file
Przeglądaj pliki
-
+
Allows Companion to write to older version of the firmware
Pozwól Companion na zapis do starszej wersji firmware
-
+
Backup and restore Models and Settings
Zbakupuj i odtwórz Modele i Ustawienia
@@ -7781,12 +7978,12 @@ m2560 dla platformy V4
Użyj Logo w ustawieniach
-
+
Check Firmware compatibility
Sprawdź kompatybilność firmware
-
+
Current Profile
Aktualny profil
@@ -7796,22 +7993,22 @@ m2560 dla platformy V4
Przerwij
-
+
Write firmware to TX
Zapisz firmware do radia
-
+
Current profile
Aktualny profil
-
-
-
-
-
-
+
+
+
+
+
+
Warning
Ostrzeżenie
@@ -7824,102 +8021,102 @@ m2560 dla platformy V4
Wypiecz mimo wszystko !
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Error
Błąd
-
+
Unable to find file %1!
Nie mogę odnaleźć pliku %1!
-
-
-
+
+
+
Error opening file %1:
%2.
Błąd otwarcia pliku %1:
%2.
-
+
Write Models and Settings to TX
Zapisz Modele i Ustawienia do radia
-
+
Write Models and Settings in %1 to TX
Zapisz Modele i Ustawienia w %1 do radia
-
+
Open Firmware File
Otwórz plik Firmware
-
+
Choose file to load Models and Settings from
Wybierz plik Modeli i Ustawien do wczytania
-
+
%1 may not be a valid firmware file
%1 moze nie być prawidłowym plikiem firmware
-
-
-
+
+
+
Invalid binary Models and Settings File %1, Proceed anyway ?
Nieprawidłowy plik Modeli i Ustawień : %1. Kontynuować ?
-
+
Error reading file %1:
%2.
Błąd odczytu pliku %1:
%2.
-
+
The firmware file is not valid.
Plik firmware jest błedny.
-
+
There is no start screen image in the firmware file.
Brak obrazka ekranu startowego w firmware.
-
+
The profile image %1 does not contain an image.
Obraz profilu %1 nie zawiera obrazka.
-
+
Open image file to use as Tx start screen
Otwórz plik obrazka by użyć go jako ekran startowy radia
-
+
Image could not be loaded from %1
Obrazek nie moze być załadowany z %1
-
+
The library image could not be loaded
Obrazek z biblioteki nie może być załadowany
@@ -7928,7 +8125,7 @@ m2560 dla platformy V4
Otwórz plik z logo
-
+
Images (%1)
Obrazki (%1)
@@ -7937,40 +8134,40 @@ m2560 dla platformy V4
Nie mogę załadować %1.
-
+
Cannot save customized firmware
Nie mogę zapisać przystosowanego firmware
-
+
Custom image not found
Własny obrazek nie odnaleziony
-
+
No firmware selected
Brak wyboru firmware
-
+
Wrong radio calibration data in profile, Settings not patched
Błędna kalibracja radia w profilu, Ustawienia nie spatchowane
-
+
Wrong radio setting data in profile, Settings not patched
Błędne ustawienia radia w profilu, Ustawienia nie spatchowane
-
-
+
+
Cannot write file %1:
%2.
Nie mogę zapisać pliku %1:
%2.
-
+
Error writing file %1:
%2.
Błąd zapisu pliku %1:
@@ -8475,7 +8672,7 @@ m2560 dla platformy V4
Switch Assignment
- Przypisanie Przełączników
+ Funkcje Specjalne
@@ -8544,46 +8741,46 @@ m2560 dla platformy V4
Edytor ekrany startowego radia
-
-
+
+
Invert
Odwróć
-
-
+
+
Load FW
Otwórz firmware
-
-
+
+
Load Pict
Otwórz obrazek
-
-
+
+
Load Profile
Załaduj profil
-
-
+
+
Save
Zapisz
-
-
+
+
Open Splash Library
Otwórz bibliotekę obrazków
-
-
-
-
+
+
+
+
...
@@ -8669,17 +8866,17 @@ m2560 dla platformy V4
Pobierz:
-
+
Unable to save the file %1: %2.
Nie mogę zapisać pliku %1: %2.
-
+
Companion
Companion
-
+
Download failed: %1.
Pobieranie nieudane: %1.
@@ -8841,57 +9038,57 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CheckBox
CheckBox
-
+
Set language of voice.
May be different from firmware language
Ustaw język komuniaktów głosowych ().
Moze być inny od języka firmware
-
+
Processor ID
ID procesora
-
+
Options
Opcje
@@ -8901,32 +9098,32 @@ Moze być inny od języka firmware
Język Menu
-
+
Voice Language
Język komunikatów
-
+
Firmware Type
TYp Firmware
-
+
Download Voice
Pobierz Głos
-
+
FwInfo
Informacje o Firmware
-
+
Download FW
Pobiesz Firmware
-
+
Check for updates
Sprawdź aktualizacje
@@ -10363,7 +10560,7 @@ Mode 4:
Switch Assignments
- Przypisanie Przełączników
+ Funkcje Specjalne
diff --git a/radio/src/bootloader/.gitignore b/radio/src/bootloader/.gitignore
new file mode 100755
index 000000000..cc5bb740f
--- /dev/null
+++ b/radio/src/bootloader/.gitignore
@@ -0,0 +1 @@
+/*.o
diff --git a/radio/src/eeprom_conversions.cpp b/radio/src/eeprom_conversions.cpp
index d6f95a775..49b17acd4 100644
--- a/radio/src/eeprom_conversions.cpp
+++ b/radio/src/eeprom_conversions.cpp
@@ -427,7 +427,12 @@ void ConvertModel_215_to_216(ModelData &model)
g_model.extendedLimits = oldModel.extendedLimits;
g_model.extendedTrims = oldModel.extendedTrims;
g_model.throttleReversed = oldModel.throttleReversed;
+
+#if defined(PCBTARANIS)
+ g_model.beepANACenter = (oldModel.beepANACenter & 0x3f) | ((oldModel.beepANACenter & 0xc0) << 1);
+#else
g_model.beepANACenter = oldModel.beepANACenter;
+#endif
for (uint8_t i=0; i<64; i++) {
MixData & mix = g_model.mixData[i];
@@ -723,6 +728,11 @@ void ConvertModel_215_to_216(ModelData &model)
#endif
}
g_model.thrTraceSrc = oldModel.thrTraceSrc;
+#if defined(PCBTARANIS)
+ // S3 added
+ if (g_model.thrTraceSrc >= THROTTLE_SOURCE_S3)
+ g_model.thrTraceSrc += 1;
+#endif
g_model.switchWarningStates = oldModel.switchWarningStates >> 1;
g_model.nSwToWarn = (oldModel.switchWarningStates & 0x01) ? 0xFF : 0;
for (uint8_t i=0; i<5; i++) {
@@ -779,7 +789,7 @@ bool eeConvert()
ALERT(STR_EEPROMWARN, msg, AU_BAD_EEPROM);
// Message
- MESSAGE(STR_EEPROMWARN, PSTR("EEPROM Converting"), NULL, AU_EEPROM_FORMATTING); // TODO translations
+ MESSAGE(STR_EEPROMWARN, STR_EEPROM_CONVERTING, NULL, AU_EEPROM_FORMATTING); // TODO translations
// General Settings conversion
#if defined(PCBTARANIS)
diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp
index f83806fec..eb81faad4 100644
--- a/radio/src/gui/menu_general.cpp
+++ b/radio/src/gui/menu_general.cpp
@@ -388,19 +388,19 @@ void menuGeneralSetup(uint8_t event)
SLIDER_5POS(y, g_eeGeneral.varioVolume, TR_SPEAKER_VOLUME, event, attr);
break;
case ITEM_SETUP_VARIO_PITCH:
- lcd_putsLeft(y, "\001Pitch at Zero");
+ lcd_putsLeft(y, STR_PITCH_AT_ZERO);
lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, VARIO_FREQUENCY_ZERO+(g_eeGeneral.varioPitch*10), attr|LEFT);
lcd_putsAtt(lcdLastPos, y, "Hz", attr);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.varioPitch, -40, 40);
break;
case ITEM_SETUP_VARIO_RANGE:
- lcd_putsLeft(y, "\001Pitch at Max");
+ lcd_putsLeft(y, STR_PITCH_AT_MAX);
lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, VARIO_FREQUENCY_ZERO+(g_eeGeneral.varioPitch*10)+VARIO_FREQUENCY_RANGE+(g_eeGeneral.varioRange*10), attr|LEFT);
lcd_putsAtt(lcdLastPos, y, "Hz", attr);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.varioRange, -80, 80);
break;
case ITEM_SETUP_VARIO_REPEAT:
- lcd_putsLeft(y, "\001Repeat at Zero");
+ lcd_putsLeft(y, STR_REPEAT_AT_ZERO);
lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, VARIO_REPEAT_ZERO+(g_eeGeneral.varioRepeat*10), attr|LEFT);
lcd_putsAtt(lcdLastPos, y, "ms", attr);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.varioRepeat, -30, 50);
@@ -1041,7 +1041,7 @@ void menuGeneralTrainer(uint8_t event)
}
if (attr) {
- if (event==EVT_KEY_FIRST(KEY_MENU)){
+ if (event==EVT_KEY_FIRST(KEY_ENTER)){
s_editMode = -1;
memcpy(g_eeGeneral.trainer.calib, g_ppmIns, sizeof(g_eeGeneral.trainer.calib));
eeDirty(EE_GENERAL);
@@ -1213,10 +1213,10 @@ void menuGeneralHardware(uint8_t event)
putsMixerSource(sizeof(TR_TYPE)*FW, y, MIXSRC_FIRST_POT+idx);
uint8_t potType = (g_eeGeneral.potsType & mask) >> shift;
if (potType == POT_TYPE_NONE && i < 2)
- potType = 1;
+ potType = POT_TYPE_POT;
potType = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_TYPE, STR_POTTYPES, potType, 0, POT_TYPE_MAX, attr, event);
if (potType == POT_TYPE_POT && i < 2)
- potType = 0;
+ potType = POT_TYPE_NONE;
g_eeGeneral.potsType &= ~mask;
g_eeGeneral.potsType |= (potType << shift);
break;
diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp
index faec332cd..cb9cf1a4a 100644
--- a/radio/src/gui/menu_model.cpp
+++ b/radio/src/gui/menu_model.cpp
@@ -1134,7 +1134,7 @@ void menuModelSetup(uint8_t event)
case ITEM_MODEL_THROTTLE_TRACE:
{
lcd_putsLeft(y, STR_TTRACE);
- if (attr) CHECK_INCDEC_MODELVAR_ZERO(event, g_model.thrTraceSrc, NUM_POTS+NUM_CHNOUT);
+ if (attr) CHECK_INCDEC_MODELVAR_ZERO_CHECK(event, g_model.thrTraceSrc, NUM_POTS+NUM_CHNOUT, isThrottleSourceAvailable);
uint8_t idx = g_model.thrTraceSrc + MIXSRC_Thr;
if (idx > MIXSRC_Thr)
idx += 1;
@@ -1285,8 +1285,9 @@ void menuModelSetup(uint8_t event)
case ITEM_MODEL_BEEP_CENTER:
lcd_putsLeft(y, STR_BEEPCTR);
- for (uint8_t i=0; i0 || p1valdiff)) {
switch (m_posHorz) {
case 0:
@@ -2418,7 +2419,7 @@ void menuModelCurveOne(uint8_t event)
CurveInfo & crv = g_model.curves[s_curveChan];
int8_t * points = curveAddress(s_curveChan);
- lcd_puts(9*FW, 0, "pt\003X\006Y");
+ lcd_puts(9*FW, 0, TR_PT "\003X\006Y");
lcd_filled_rect(0, 0, LCD_W, FH, SOLID, FILL_WHITE|GREY_DEFAULT);
SIMPLE_SUBMENU(STR_MENUCURVE, 4 + 5+crv.points + (crv.type==CURVE_TYPE_CUSTOM ? 5+crv.points-2 : 0));
@@ -2429,7 +2430,7 @@ void menuModelCurveOne(uint8_t event)
uint8_t attr = (m_posVert==1 ? (s_editMode>0 ? INVERS|BLINK : INVERS) : 0);
lcd_putsLeft(3*FH+1, STR_TYPE);
- lcd_putsiAtt(INDENT_WIDTH, 4*FH+1, "\010StandardCustom\0", crv.type, attr);
+ lcd_putsiAtt(INDENT_WIDTH, 4*FH+1, STR_CURVE_TYPES, crv.type, attr);
if (attr) {
uint8_t newType = checkIncDecModelZero(event, crv.type, CURVE_TYPE_LAST);
if (newType != crv.type) {
@@ -2445,9 +2446,9 @@ void menuModelCurveOne(uint8_t event)
}
attr = (m_posVert==2 ? (s_editMode>0 ? INVERS|BLINK : INVERS) : 0);
- lcd_putsLeft(5*FH+1, "Count");
+ lcd_putsLeft(5*FH+1, STR_COUNT);
lcd_outdezAtt(INDENT_WIDTH, 6*FH+1, 5+crv.points, LEFT|attr);
- lcd_putsAtt(lcdLastPos, 6*FH+1, PSTR("pts"), attr);
+ lcd_putsAtt(lcdLastPos, 6*FH+1, STR_PTS, attr);
if (attr) {
int8_t count = checkIncDecModel(event, crv.points, -3, 12); // 2pts - 17pts
if (checkIncDec_Ret) {
@@ -2466,7 +2467,7 @@ void menuModelCurveOne(uint8_t event)
}
}
- lcd_putsLeft(7*FH+1, PSTR("Smooth"));
+ lcd_putsLeft(7*FH+1, STR_SMOOTH);
menu_lcd_onoff(7*FW, 7*FH+1, crv.smooth, m_posVert==3 ? INVERS : 0);
if (m_posVert==3) crv.smooth = checkIncDecModel(event, crv.smooth, 0, 1);
@@ -3809,7 +3810,7 @@ void onLimitsMenu(const char *result)
ld->revert = false;
ld->curve = 0;
}
- else if (result == STR_COPY_TRIMS_TO_OFFSET) {
+ else if (result == STR_COPY_TRIMS_TO_OFS) {
copyTrimsToOffset(ch);
}
}
@@ -3888,7 +3889,7 @@ void menuModelLimits(uint8_t event)
if (sub==k && m_posHorz < 0 && event==EVT_KEY_LONG(KEY_ENTER)) {
killEvents(event);
MENU_ADD_ITEM(STR_RESET);
- MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFFSET);
+ MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS);
menuHandler = onLimitsMenu;
}
#else
@@ -4057,7 +4058,7 @@ void menuModelCurvesAll(uint8_t event)
editName(4*FW, y, g_model.curveNames[k], sizeof(g_model.curveNames[k]), 0, 0);
CurveInfo & crv = g_model.curves[k];
lcd_outdezAtt(11*FW, y, 5+crv.points, LEFT);
- lcd_putsAtt(lcdLastPos, y, PSTR("pts"), 0);
+ lcd_putsAtt(lcdLastPos, y, STR_PTS, 0);
#endif
}
}
@@ -4511,7 +4512,7 @@ void onLogicalSwitchesMenu(const char *result)
*cs = clipboard.data.csw;
eeDirty(EE_MODEL);
}
- else if (result == STR_DELETE) {
+ else if (result == STR_CLEAR) {
memset(cs, 0, sizeof(LogicalSwitchData));
eeDirty(EE_MODEL);
}
@@ -4539,10 +4540,12 @@ void menuModelLogicalSwitches(uint8_t event)
if (sub>=0 && horz<0 && event==EVT_KEY_LONG(KEY_ENTER) && !READ_ONLY()) {
killEvents(event);
LogicalSwitchData * cs = cswAddress(sub);
- if (cs->func) MENU_ADD_ITEM(STR_COPY);
+ if (cs->func)
+ MENU_ADD_ITEM(STR_COPY);
if (clipboard.type == CLIPBOARD_TYPE_CUSTOM_SWITCH)
MENU_ADD_ITEM(STR_PASTE);
- if (cs->func || cs->v1 || cs->v2 || cs->delay || cs->duration || cs->andsw) MENU_ADD_ITEM(STR_DELETE);
+ if (cs->func || cs->v1 || cs->v2 || cs->delay || cs->duration || cs->andsw)
+ MENU_ADD_ITEM(STR_CLEAR);
menuHandler = onLogicalSwitchesMenu;
}
#endif
@@ -4692,7 +4695,7 @@ void menuModelLogicalSwitches(uint8_t event)
// CSW delay
if (cstate == LS_FAMILY_STAY) {
- lcd_puts(CSW_6TH_COLUMN, y, "N/A");
+ lcd_puts(CSW_6TH_COLUMN, y, STR_NA);
if (attr && horz == LS_FIELD_DELAY) {
REPEAT_LAST_CURSOR_MOVE();
}
@@ -4870,10 +4873,9 @@ void menuModelCustomFunctions(uint8_t event)
MENU_ADD_ITEM(STR_PASTE);
if (!CFN_EMPTY(sd) && CFN_EMPTY(&g_model.funcSw[NUM_CFN-1]))
MENU_ADD_ITEM(STR_INSERT);
- if (CFN_EMPTY(sd))
- MENU_ADD_ITEM(STR_DELETE);
- else
+ if (!CFN_EMPTY(sd))
MENU_ADD_ITEM(STR_CLEAR);
+ MENU_ADD_ITEM(STR_DELETE);
menuHandler = onCustomFunctionsMenu;
}
#endif
@@ -5205,7 +5207,7 @@ void menuModelCustomScriptOne(uint8_t event)
uint8_t attr = (sub==i ? (s_editMode>0 ? BLINK|INVERS : INVERS) : 0);
if (i == ITEM_MODEL_CUSTOMSCRIPT_FILE) {
- lcd_putsLeft(y, "Script");
+ lcd_putsLeft(y, STR_SCRIPT);
if (ZEXIST(sd.file))
lcd_putsnAtt(SCRIPT_ONE_2ND_COLUMN_POS, y, sd.file, sizeof(sd.file), attr);
else
@@ -5222,11 +5224,11 @@ void menuModelCustomScriptOne(uint8_t event)
}
}
else if (i == ITEM_MODEL_CUSTOMSCRIPT_NAME) {
- lcd_putsLeft(y, "Name");
+ lcd_putsLeft(y, TR_NAME);
editName(SCRIPT_ONE_2ND_COLUMN_POS, y, sd.name, sizeof(sd.name), event, attr);
}
else if (i == ITEM_MODEL_CUSTOMSCRIPT_PARAMS_LABEL) {
- lcd_putsLeft(y, "Inputs");
+ lcd_putsLeft(y, STR_INPUTS);
}
else if (i <= ITEM_MODEL_CUSTOMSCRIPT_PARAMS_LABEL+scriptInternalData[s_currIdx].inputsCount) {
int inputIdx = i-ITEM_MODEL_CUSTOMSCRIPT_PARAMS_LABEL-1;
@@ -5249,7 +5251,7 @@ void menuModelCustomScriptOne(uint8_t event)
if (scriptInternalData[s_currIdx].outputsCount > 0) {
lcd_vline(SCRIPT_ONE_3RD_COLUMN_POS-4, FH+1, LCD_H-FH-1);
- lcd_puts(SCRIPT_ONE_3RD_COLUMN_POS, FH+1, "Outputs");
+ lcd_puts(SCRIPT_ONE_3RD_COLUMN_POS, FH+1, STR_OUTPUTS);
for (int i=0; i= 212
const pm_char STR_MODELNAME[] PROGMEM = TR_MODELNAME;
@@ -482,24 +490,31 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text";
const pm_char STR_CHANNELRANGE[] PROGMEM = TR_CHANNELRANGE;
const pm_char STR_LOWALARM[] PROGMEM = TR_LOWALARM;
const pm_char STR_CRITICALALARM[] PROGMEM = TR_CRITICALALARM;
- const pm_char STR_ENABLE_POPUP[] PROGMEM = "Enable Popup";
- const pm_char STR_DISABLE_POPUP[] PROGMEM = "Disable Popup";
- const pm_char STR_CURVE_PRESET[] PROGMEM = "Preset...";
- const pm_char STR_PRESET[] PROGMEM = "Preset";
- const pm_char STR_MIRROR[] PROGMEM = "Mirror";
- const pm_char STR_CLEAR[] PROGMEM = "Clear";
- const pm_char STR_RESET[] PROGMEM = "Reset";
- const pm_char STR_COPY_TRIMS_TO_OFFSET[] = "Copy Trims To Offset";
+ const pm_char STR_ENABLE_POPUP[] PROGMEM = TR_ENABLE_POPUP;
+ const pm_char STR_DISABLE_POPUP[] PROGMEM = TR_DISABLE_POPUP;
+ const pm_char STR_CURVE_PRESET[] PROGMEM = TR_CURVE_PRESET;
+ const pm_char STR_PRESET[] PROGMEM = TR_PRESET;
+ const pm_char STR_MIRROR[] PROGMEM = TR_MIRROR;
+ const pm_char STR_CLEAR[] PROGMEM = TR_CLEAR;
+ const pm_char STR_RESET[] PROGMEM = TR_RESET;
+ const pm_char STR_COUNT[] PROGMEM = TR_COUNT;
+ const pm_char STR_PT[] PROGMEM = TR_PT;
+ const pm_char STR_PTS[] PROGMEM = TR_PTS;
+ const pm_char STR_SMOOTH[] PROGMEM = TR_SMOOTH;
+ const pm_char STR_COPY_TRIMS_TO_OFS[] PROGMEM = TR_COPY_TRIMS_TO_OFS;
const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR;
const pm_char STR_ALTITUDE[] PROGMEM = TR_ALTITUDE;
- const pm_char STR_SCALE[] PROGMEM = "Scale";
- const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels";
- const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes";
+ const pm_char STR_SCALE[] PROGMEM = TR_SCALE;
+ const pm_char STR_VIEW_CHANNELS[] PROGMEM = TR_VIEW_CHANNELS;
+ const pm_char STR_VIEW_NOTES[] PROGMEM = TR_VIEW_NOTES;
const pm_char STR_POTWARNING[] PROGMEM = TR_POTWARNING;
const pm_char STR_PREFLIGHT[] PROGMEM = TR_PREFLIGHT;
const pm_char STR_CHECKLIST[] PROGMEM = TR_CHECKLIST;
const pm_char STR_UART3MODE[] PROGMEM = TR_UART3MODE;
const pm_char STR_THROTTLE_LABEL[] PROGMEM = TR_THROTTLE_LABEL;
+ const pm_char STR_SCRIPT[] PROGMEM = TR_SCRIPT;
+ const pm_char STR_INPUTS[] PROGMEM = TR_INPUTS;
+ const pm_char STR_OUTPUTS[] PROGMEM = TR_OUTPUTS;
#endif
#if MENUS_LOCK == 1
diff --git a/radio/src/translations.h b/radio/src/translations.h
index da9098734..3d60c6a1c 100644
--- a/radio/src/translations.h
+++ b/radio/src/translations.h
@@ -131,54 +131,58 @@ extern const pm_char STR_OPEN9X[];
#define OFS_VTELEMUNIT (OFS_VTELEMCHNS + sizeof(TR_VTELEMCHNS))
#define OFS_VALARM (OFS_VTELEMUNIT + sizeof(TR_VTELEMUNIT))
#endif
- #define OFS_VALARMFN (OFS_VALARM + sizeof(TR_VALARM))
- #define OFS_VTELPROTO (OFS_VALARMFN + sizeof(TR_VALARMFN))
- #define OFS_GPSFORMAT (OFS_VTELPROTO + sizeof(TR_VTELPROTO))
- #define OFS_VOLTSRC (OFS_GPSFORMAT + sizeof(TR_GPSFORMAT))
- #define OFS_VARIOSRC (OFS_VOLTSRC + sizeof(TR_VOLTSRC))
- #define OFS_VSCREEN (OFS_VARIOSRC + sizeof(TR_VARIOSRC))
- #define OFS_VTEMPLATES (OFS_VSCREEN + sizeof(TR_VSCREEN))
+ #define OFS_VALARMFN (OFS_VALARM + sizeof(TR_VALARM))
+ #define OFS_VTELPROTO (OFS_VALARMFN + sizeof(TR_VALARMFN))
+ #define OFS_GPSFORMAT (OFS_VTELPROTO + sizeof(TR_VTELPROTO))
+ #define OFS_VOLTSRC (OFS_GPSFORMAT + sizeof(TR_GPSFORMAT))
+ #define OFS_VARIOSRC (OFS_VOLTSRC + sizeof(TR_VOLTSRC))
+ #define OFS_VSCREEN (OFS_VARIOSRC + sizeof(TR_VARIOSRC))
+ #define OFS_VTEMPLATES (OFS_VSCREEN + sizeof(TR_VSCREEN))
#else
- #define OFS_VTEMPLATES (OFS_VTELEMCHNS + sizeof(TR_VTELEMCHNS))
+ #define OFS_VTEMPLATES (OFS_VTELEMCHNS + sizeof(TR_VTELEMCHNS))
#endif
#if defined(TEMPLATES)
- #define OFS_VSWASHTYPE (OFS_VTEMPLATES + sizeof(TR_VTEMPLATES))
+ #define OFS_VSWASHTYPE (OFS_VTEMPLATES + sizeof(TR_VTEMPLATES))
#else
- #define OFS_VSWASHTYPE (OFS_VTEMPLATES)
+ #define OFS_VSWASHTYPE (OFS_VTEMPLATES)
#endif
#if defined(HELI)
- #define OFS_VKEYS (OFS_VSWASHTYPE + sizeof(TR_VSWASHTYPE))
+ #define OFS_VKEYS (OFS_VSWASHTYPE + sizeof(TR_VSWASHTYPE))
#else
- #define OFS_VKEYS (OFS_VSWASHTYPE)
+ #define OFS_VKEYS (OFS_VSWASHTYPE)
#endif
-#define OFS_VSWITCHES (OFS_VKEYS + sizeof(TR_VKEYS))
-#define OFS_VSRCRAW (OFS_VSWITCHES + sizeof(TR_VSWITCHES))
-#define OFS_VTMRMODES (OFS_VSRCRAW + sizeof(TR_VSRCRAW))
-#define OFS_DATETIME (OFS_VTMRMODES + sizeof(TR_VTMRMODES))
+#define OFS_VSWITCHES (OFS_VKEYS + sizeof(TR_VKEYS))
+#define OFS_VSRCRAW (OFS_VSWITCHES + sizeof(TR_VSWITCHES))
+#define OFS_VTMRMODES (OFS_VSRCRAW + sizeof(TR_VSRCRAW))
+#define OFS_DATETIME (OFS_VTMRMODES + sizeof(TR_VTMRMODES))
#if defined(CPUM2560) || defined(CPUARM)
- #define OFS_VLCD (OFS_DATETIME + sizeof(TR_DATETIME))
+ #define OFS_VLCD (OFS_DATETIME + sizeof(TR_DATETIME))
#else
- #define OFS_VLCD (OFS_DATETIME)
+ #define OFS_VLCD (OFS_DATETIME)
#endif
#if defined(CPUARM)
- #define OFS_VUNITSSYSTEM (OFS_VLCD + sizeof(TR_VLCD))
- #define OFS_VBEEPCOUNTDOWN (OFS_VUNITSSYSTEM + sizeof(TR_VUNITSSYSTEM))
- #define OFS_COUNTRYCODES (OFS_VBEEPCOUNTDOWN + sizeof(TR_VBEEPCOUNTDOWN))
+ #define OFS_VUNITSSYSTEM (OFS_VLCD + sizeof(TR_VLCD))
+ #define OFS_VBEEPCOUNTDOWN (OFS_VUNITSSYSTEM + sizeof(TR_VUNITSSYSTEM))
+ #define OFS_COUNTRYCODES (OFS_VBEEPCOUNTDOWN + sizeof(TR_VBEEPCOUNTDOWN))
#else
- #define OFS_COUNTRYCODES (OFS_VLCD)
+ #define OFS_COUNTRYCODES (OFS_VLCD)
#endif
#if defined(PXX)
- #define OFS_VFAILSAFE (OFS_COUNTRYCODES + sizeof(TR_COUNTRYCODES))
+ #define OFS_VFAILSAFE (OFS_COUNTRYCODES + sizeof(TR_COUNTRYCODES))
#else
- #define OFS_VFAILSAFE (OFS_COUNTRYCODES)
+ #define OFS_VFAILSAFE (OFS_COUNTRYCODES)
#endif
#if defined(PXX)
- #define OFS_VTRAINERMODES (OFS_VFAILSAFE + sizeof(TR_VFAILSAFE))
+ #define OFS_VTRAINERMODES (OFS_VFAILSAFE + sizeof(TR_VFAILSAFE))
#else
- #define OFS_VTRAINERMODES (OFS_VFAILSAFE)
+ #define OFS_VTRAINERMODES (OFS_VFAILSAFE)
#endif
#if defined(PCBTARANIS)
- #define OFS_MAVLINK_BAUDS (OFS_VTRAINERMODES + sizeof(TR_VTRAINERMODES))
+ #define OFS_TARANIS_PROTOCOLS (OFS_VTRAINERMODES + sizeof(TR_VTRAINERMODES))
+ #define OFS_XJT_PROTOCOLS (OFS_TARANIS_PROTOCOLS + sizeof(TR_TARANIS_PROTOCOLS))
+ #define OFS_DSM_PROTOCOLS (OFS_XJT_PROTOCOLS + sizeof(TR_XJT_PROTOCOLS))
+ #define OFS_CURVE_TYPES (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS))
+ #define OFS_MAVLINK_BAUDS (OFS_CURVE_TYPES + sizeof(TR_CURVE_TYPES))
#else
#define OFS_MAVLINK_BAUDS (OFS_VTRAINERMODES)
#endif
@@ -187,7 +191,7 @@ extern const pm_char STR_OPEN9X[];
#define OFS_MAVLINK_AP_MODES (OFS_MAVLINK_AC_MODES + sizeof(TR_MAVLINK_AC_MODES))
#define OFS_SPARE (OFS_MAVLINK_AP_MODES + sizeof(TR_MAVLINK_AP_MODES))
#else
- #define OFS_SPARE (OFS_MAVLINK_BAUDS)
+ #define OFS_SPARE (OFS_MAVLINK_BAUDS)
#endif
#define STR_OFFON (STR_OPEN9X + OFS_OFFON)
@@ -271,11 +275,15 @@ extern const pm_char STR_OPEN9X[];
#endif
#if defined(PCBTARANIS)
- #define STR_VTRAINERMODES (STR_OPEN9X + OFS_VTRAINERMODES)
+ #define STR_VTRAINERMODES (STR_OPEN9X + OFS_VTRAINERMODES)
+ #define STR_TARANIS_PROTOCOLS (STR_OPEN9X + OFS_TARANIS_PROTOCOLS)
+ #define STR_XJT_PROTOCOLS (STR_OPEN9X + OFS_XJT_PROTOCOLS)
+ #define STR_DSM_PROTOCOLS (STR_OPEN9X + OFS_DSM_PROTOCOLS)
+ #define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES)
#endif
#if defined(MAVLINK)
- #define STR_MAVLINK_BAUDS (STR_OPEN9X + OFS_MAVLINK_BAUDS)
+ #define STR_MAVLINK_BAUDS (STR_OPEN9X + OFS_MAVLINK_BAUDS)
#define STR_MAVLINK_AC_MODES (STR_OPEN9X + OFS_MAVLINK_AC_MODES)
#define STR_MAVLINK_AP_MODES (STR_OPEN9X + OFS_MAVLINK_AP_MODES)
#endif
@@ -386,6 +394,9 @@ extern const pm_char STR_SWITCHWARNING[];
extern const pm_char STR_TIMEZONE[];
extern const pm_char STR_GPSCOORD[];
extern const pm_char STR_VARIO[];
+extern const pm_char STR_PITCH_AT_ZERO[];
+extern const pm_char STR_PITCH_AT_MAX[];
+extern const pm_char STR_REPEAT_AT_ZERO[];
extern const pm_char STR_RXCHANNELORD[];
extern const pm_char STR_SLAVE[];
extern const pm_char STR_MODESRC[];
@@ -446,8 +457,8 @@ extern const pm_char STR_MENUCURVE[];
extern const pm_char STR_MENULOGICALSWITCH[];
extern const pm_char STR_MENULOGICALSWITCHES[];
extern const pm_char STR_MENUCUSTOMFUNC[];
-extern const pm_char STR_MENUCUSTOMSCRIPTS[];
-extern const pm_char STR_MENUCUSTOMSCRIPT[];
+extern const pm_char STR_MENUCUSTOMSCRIPTS[];
+extern const pm_char STR_MENUCUSTOMSCRIPT[];
extern const pm_char STR_MENUTELEMETRY[];
extern const pm_char STR_MENUTEMPLATES[];
extern const pm_char STR_MENUSTAT[];
@@ -549,6 +560,7 @@ extern const pm_char STR_RESET_BTN[];
extern const pm_char STR_WARNING[];
extern const pm_char STR_EEPROMWARN[];
+extern const pm_char STR_EEPROM_CONVERTING[];
extern const pm_char STR_THROTTLEWARN[];
extern const pm_char STR_ALARMSWARN[];
extern const pm_char STR_SWITCHWARN[];
@@ -573,10 +585,10 @@ extern const pm_char STR_SDHC_CARD[];
extern const pm_char STR_NO_SOUNDS_ON_SD[];
extern const pm_char STR_NO_MODELS_ON_SD[];
extern const pm_char STR_NO_BITMAPS_ON_SD[];
-extern const pm_char STR_NO_SCRIPTS_ON_SD[];
+extern const pm_char STR_NO_SCRIPTS_ON_SD[];
extern const pm_char STR_PLAY_FILE[];
extern const pm_char STR_ASSIGN_BITMAP[];
-extern const pm_char STR_EXECUTE_FILE[];
+extern const pm_char STR_EXECUTE_FILE[];
extern const pm_char STR_DELETE_FILE[];
extern const pm_char STR_COPY_FILE[];
extern const pm_char STR_RENAME_FILE[];
@@ -602,8 +614,8 @@ extern const pm_char STR_OWN[];
extern const pm_char STR_ROTARY_ENCODER[];
extern const pm_char STR_DATE[];
extern const pm_char STR_CHANNELS_MONITOR[];
-extern const pm_char STR_PATH_TOO_LONG[];
-extern const pm_char STR_VIEW_TEXT[];
+extern const pm_char STR_PATH_TOO_LONG[];
+extern const pm_char STR_VIEW_TEXT[];
#if defined(VOICE) && defined(CPUARM)
struct LanguagePack {
@@ -658,24 +670,31 @@ extern const pm_char STR_VIEW_TEXT[];
extern const pm_char STR_CHANNELRANGE[];
extern const pm_char STR_LOWALARM[];
extern const pm_char STR_CRITICALALARM[];
- extern const pm_char STR_ENABLE_POPUP[];
- extern const pm_char STR_DISABLE_POPUP[];
- extern const pm_char STR_CURVE_PRESET[];
- extern const pm_char STR_PRESET[];
- extern const pm_char STR_MIRROR[];
- extern const pm_char STR_CLEAR[];
- extern const pm_char STR_RESET[];
- extern const pm_char STR_COPY_TRIMS_TO_OFFSET[];
+ extern const pm_char STR_ENABLE_POPUP[];
+ extern const pm_char STR_DISABLE_POPUP[];
+ extern const pm_char STR_CURVE_PRESET[];
+ extern const pm_char STR_PRESET[];
+ extern const pm_char STR_MIRROR[];
+ extern const pm_char STR_CLEAR[];
+ extern const pm_char STR_RESET[];
+extern const pm_char STR_COUNT[];
+extern const pm_char STR_PT[];
+extern const pm_char STR_PTS[];
+extern const pm_char STR_SMOOTH[];
+ extern const pm_char STR_COPY_TRIMS_TO_OFS[];
extern const pm_char STR_TOP_BAR[];
extern const pm_char STR_ALTITUDE[];
- extern const pm_char STR_SCALE[];
- extern const pm_char STR_VIEW_CHANNELS[];
- extern const pm_char STR_VIEW_NOTES[];
+ extern const pm_char STR_SCALE[];
+ extern const pm_char STR_VIEW_CHANNELS[];
+ extern const pm_char STR_VIEW_NOTES[];
extern const pm_char STR_POTWARNING[];
extern const pm_char STR_PREFLIGHT[];
extern const pm_char STR_CHECKLIST[];
extern const pm_char STR_UART3MODE[];
extern const pm_char STR_THROTTLE_LABEL[];
+ extern const pm_char STR_SCRIPT[];
+ extern const pm_char STR_INPUTS[];
+ extern const pm_char STR_OUTPUTS[];
#endif
#if MENUS_LOCK == 1
diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt
index 3f5d3808e..0e643bcd3 100644
--- a/radio/src/translations/cz.h.txt
+++ b/radio/src/translations/cz.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\010")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerika\0""Japonsko""Evropa\0 ")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC "\007"
#define TR_VTRIMINC "Expo\0 ""ExJemný""Jemný\0 ""Střední""Hrubý\0 "
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "Tichý\0""Zvuk\0 ""Hlas\0 "
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "SVPK123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "SVPK12LR"
+ #define TR_RETA123 "SVPK123LR"
#else
#define TR_RETA123 "SVPK123"
#endif
@@ -234,8 +246,10 @@
#define TR_CFN_TEST
#endif
+#define TR_CFN_RESERVE "[rezerva]\0 "
+
#if defined(CPUARM)
- #define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Hlasitost\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podsvětlení" TR_CFN_TEST
+ #define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Hlasitost\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podsvětlení" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podsvětlení" TR_CFN_TEST
#else
@@ -264,14 +278,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define LEN_VTELEMCHNS "\004"
-#if defined(PCBTARANIS)
- #define TR_RSSI_0 "SWR\0"
- #define TR_RSSI_1 "RSSI"
+
+#if defined(CPUARM)
+ #define TR_TELEM_RESERVE "[--]"
+ #define TR_SWR "SWR\0"
+ #define TR_RX_BATT "RxBt"
+ #define TR_A3_A4 "A3\0 ""A4\0 "
+ #define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
- #define TR_RSSI_0 "Tx\0 "
- #define TR_RSSI_1 "Rx\0 "
+ #define TR_TELEM_RESERVE
+ #define TR_SWR
+ #define TR_RX_BATT
+ #define TR_A3_A4
+ #define TR_A3_A4_MIN
#endif
-#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Time"
+
+#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -307,7 +329,7 @@
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
-#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh""Halcyon"
+#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
@@ -436,18 +458,18 @@
#define TR_MIXNAME "Jméno"
#define TR_INPUTNAME "Jméno"
#if defined(PCBTARANIS)
- #define TR_EXPONAME "Jméno"
+ #define TR_EXPONAME "Poznámka"
#else
#define TR_EXPONAME "Jméno"
#endif
#define TR_BITMAP "Obrázek"
#define TR_TIMER "Stopky "
-#define TR_ELIMITS TR("Limit+25%", "Kanál +/- 125%")
-#define TR_ETRIMS TR("širšíTrim", "Široký trim")
-#define TR_TRIMINC TR("KrokTrimu", "Krok trimu")
-#define TR_TTRACE TR("StopaPlyn", INDENT "Stopař plynu")
-#define TR_TTRIM TR("TrimPlynu", INDENT "Trim-volnoběh")
-#define TR_BEEPCTR "\221\222 Středy"
+#define TR_ELIMITS TR("Limit +25%", "Kanál +/- 125%")
+#define TR_ETRIMS TR("širší Trim", "Široký trim")
+#define TR_TRIMINC TR("Krok Trimu", "Krok trimu")
+#define TR_TTRACE TR("TH stopek", INDENT "Stopa TH stopek")
+#define TR_TTRIM TR("TrimPlynVol.", INDENT "Trim jen volnoběh")
+#define TR_BEEPCTR "Středy \221\222"
#define TR_PROTO INDENT"Protokol"
#define TR_PPMFRAME "PPM frame"
#define TR_MS "ms"
@@ -482,7 +504,7 @@
#define TR_MIXWARNING "Varování"
#define TR_OFF "VYP"
#define TR_MULTPX TR("Mat.operace", "Operace")
-#define TR_DELAYDOWN TR("Zpoždění Vyp", "Zdržet(-)")
+#define TR_DELAYDOWN TR("Zpoždění Vyp", "Zdržet(x)")
#define TR_DELAYUP TR("Zpoždění Zap", "Zdržet(\43)")
#define TR_SLOWDOWN TR("Zpomalení(-)", "Zpomal(\177)")
#define TR_SLOWUP TR("Zpomalení(+)", "Zpomal(\176)")
@@ -582,7 +604,7 @@
#define TR_MENUHELISETUP "HELI"
#if defined(PCBTARANIS)
- #define TR_MENUINPUTS "FILTRY VSTUPU"
+ #define TR_MENUINPUTS "VSTUPY"
#define TR_MENULIMITS "SERVA"
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
#define TR_MENUINPUTS "DR/EXPO"
@@ -597,6 +619,8 @@
#define TR_MENULOGICALSWITCH "LOG. SPÍNAč"
#define TR_MENULOGICALSWITCHES "LOGICKÉ SPÍNAčE"
#define TR_MENUCUSTOMFUNC "FUNKCE"
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRIE"
#define TR_MENUTEMPLATES "ŠABLONY"
#define TR_MENUSTAT "STATISTIKA"
@@ -609,6 +633,9 @@
#define TR_LONGITUDE "Zem. délka"
#define TR_GPSCOORD "GPS souřadnice"
#define TR_VARIO "Vario"
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "VYPÍNÁNí.."
#define TR_BATT_CALIB "Kalib:Baterie"
#define TR_CURRENT_CALIB " +=\006Proud"
@@ -626,6 +653,7 @@
#define TR_INCOMPATIBLE "Nekompatibilní"
#define TR_WARNING "KONTROLA"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "EEPROM Converting"
#define TR_THROTTLEWARN "PLYNU"
#define TR_ALARMSWARN "ALARMU"
#define TR_SWITCHWARN "POZICE"
@@ -650,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "žádný zvuk na SD"
#define TR_NO_MODELS_ON_SD "žádný model na SD"
#define TR_NO_BITMAPS_ON_SD "žádné obrázky na SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Přehrát"
#define TR_DELETE_FILE "Odstranit"
#define TR_COPY_FILE "Kopírovat"
#define TR_RENAME_FILE "Přejmenovat"
#define TR_ASSIGN_BITMAP "Zvolit obrázek"
+#define TR_EXECUTE_FILE "Execute"
#define TR_REMOVED " odstraněn"
#define TR_SD_INFO "Informace"
#define TR_SD_FORMAT "Formát"
@@ -678,6 +708,8 @@
#define TR_DATE "Datum"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "MONITOR KANÁLU"
+#define TR_PATH_TOO_LONG "Path too long"
+#define TR_VIEW_TEXT "View text"
#define TR_INTERNALRF "Vnitřní RF modul"
#define TR_EXTERNALRF "Externí RF modul"
#define TR_FAILSAFE "Mód Failsafe"
@@ -715,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Rozsah kanálů"
#define TR_LOWALARM INDENT "Nízký Alarm"
#define TR_CRITICALALARM INDENT "Kritický Alarm"
+#define TR_ENABLE_POPUP "Enable Popup"
+#define TR_DISABLE_POPUP "Disable Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Mirror"
+#define TR_CLEAR "Clear"
+#define TR_RESET "Reset"
+#define TR_COUNT "Count"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Smooth"
+#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_PREFLIGHT "Předletová kontrola"
#define TR_CHECKLIST INDENT "Zobrazit poznámky"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Seriový port"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -748,7 +795,7 @@
#endif
// Taranis column headers
-#define TR_PHASES_HEADERS { " Jméno ", " Spínač ", " Trimy ", " Přechod Zap ", " Přechod Vyp " }
+#define TR_PHASES_HEADERS { " Jméno ", " Spínač ", " Trim směrovky ", " Trim výškovky ", " Trim plynu ", " Trim křidélek ", " Přechod náběhu ", " Přechod konce " }
#define TR_LIMITS_HEADERS { " Jméno ", " Subtrim ", " Min ", " Max ", " Směr ", " Křivka ", " Střed PPM ", " Symetrické " }
#define TR_CSW_HEADERS { " Funkce ", " Hodnota 1 ", " Hodnota 2 ", " Hodnota 2 ", " AND Spínač ", " Trvání ", " Zpoždění " }
@@ -803,7 +850,7 @@
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
-#define TR_CHR_INPUT 'F' // Values between A-I will work
+#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Pípání"
#define TR_WAV_VOLUME "Zvuky WAV"
@@ -812,5 +859,8 @@
#define TR_TOP_BAR "Horní lišta"
#define TR_ALTITUDE INDENT "Výška"
+#define TR_SCALE "Scale"
+#define TR_VIEW_CHANNELS "View Channels"
+#define TR_VIEW_NOTES "View Notes"
#define TR_MODS_FORBIDDEN "Změny nejsou povoleny!"
#define TR_UNLOCKED "Odemčeno"
diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt
index 31ef5569e..7372bc256 100644
--- a/radio/src/translations/de.h.txt
+++ b/radio/src/translations/de.h.txt
@@ -37,6 +37,9 @@
* \0 -ends actual string
*/
+
+
+
// NON ZERO TERMINATED STRINGS
#define LEN_OFFON "\003"
#define TR_OFFON "AUS""EIN"
@@ -80,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC TR("\006","\013")
#define TR_VTRIMINC TR("Expo ""ExFein""Fein ""Mittel""Grob ","Exponential""Extra Fein ""Fein ""Mittel ""Grob ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "Kein\0 Pieps\0Stimme"
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -95,7 +110,7 @@
#define TR_RETA123 "SHGQ123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "SHGQ12LR"
+ #define TR_RETA123 "SHGQ123LR"
#else
#define TR_RETA123 "SHGQ123"
#endif
@@ -280,6 +295,11 @@
#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time"
+#define LENGTH_UNIT_IMP "ft\0"
+#define SPEED_UNIT_IMP "mph"
+#define LENGTH_UNIT_METR "m\0 "
+#define SPEED_UNIT_METR "kmh"
+
#if defined(CPUARM)
#define LEN_VUNITSSYSTEM TR("\006", "\012")
#define TR_VUNITSSYSTEM TR("Metrik""Imper.", "Metrisch\0 ""Imperial\0 ")
@@ -309,7 +329,7 @@
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
-#define TR_VTELPROTO "Kein\0 ""Hub\0 ""WSHHigh""Halcyon"
+#define TR_VTELPROTO "Kein\0 ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
@@ -599,6 +619,8 @@
#define TR_MENULOGICALSWITCH "LOGIK SCHALTER"
#define TR_MENULOGICALSWITCHES "LOGIK SCHALTER"
#define TR_MENUCUSTOMFUNC "SPEZ. FUNKTIONEN"
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRIE"
#define TR_MENUTEMPLATES "VORLAGEN"
#define TR_MENUSTAT "STAT"
@@ -611,6 +633,9 @@
#define TR_LONGITUDE "Länge:"
#define TR_GPSCOORD TR("Gps Koord.","GPS Koordinaten Format")
#define TR_VARIO TR("Vario","----Variometer----")
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "Herunterfahren"
#define TR_BATT_CALIB "Akku. Kalib."
#define TR_CURRENT_CALIB "Stromkalib."
@@ -628,6 +653,7 @@
#define TR_INCOMPATIBLE "Nicht kompatibel"
#define TR_WARNING "WARNUNG"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "EEPROM Converting"
#define TR_THROTTLEWARN "GAS"
#define TR_ALARMSWARN "ALARM"
#define TR_SWITCHWARN "SCHALTER"
@@ -652,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "Keine Töne auf SD"
#define TR_NO_MODELS_ON_SD "Keine Modelle auf SD"
#define TR_NO_BITMAPS_ON_SD "Keine Bitmaps auf SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Spielen"
#define TR_DELETE_FILE "Löschen"
#define TR_COPY_FILE "Kopieren"
#define TR_RENAME_FILE "Umbenennen"
#define TR_ASSIGN_BITMAP "Assign Bitmap"
+#define TR_EXECUTE_FILE "Execute"
#define TR_REMOVED " gelöscht"
#define TR_SD_INFO "Information"
#define TR_SD_FORMAT "Formattieren"
@@ -680,6 +708,8 @@
#define TR_DATE "Datum:"
#define TR_ROTARY_ENCODER "Drehgeber"
#define TR_CHANNELS_MONITOR "Kanal Monitor"
+#define TR_PATH_TOO_LONG "Path too long"
+#define TR_VIEW_TEXT "View text"
#define TR_INTERNALRF "----Internes HF Modul----------"
#define TR_EXTERNALRF "----Externes HF Modul----------"
#define TR_FAILSAFE "Failsafe Mode"
@@ -717,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Ausgangs Kanäle"
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Kritisch Alarm"
+#define TR_ENABLE_POPUP "Enable Popup"
+#define TR_DISABLE_POPUP "Disable Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Mirror"
+#define TR_CLEAR "Clear"
+#define TR_RESET "Reset"
+#define TR_COUNT "Count"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Smooth"
+#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset"
#define TR_PERSISTENT_MAH INDENT "Speichern mAh"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial Port"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -814,5 +859,8 @@
#define TR_TOP_BAR "Info Zeile"
#define TR_ALTITUDE INDENT "Höhe"
+#define TR_SCALE "Scale"
+#define TR_VIEW_CHANNELS "View Channels"
+#define TR_VIEW_NOTES "View Notes"
#define TR_MODS_FORBIDDEN "Veränderungen verboten!"
#define TR_UNLOCKED "Entsperrt"
diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt
index 8c7b85a81..bc3595f6a 100644
--- a/radio/src/translations/en.h.txt
+++ b/radio/src/translations/en.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC TR("\006", "\013")
#define TR_VTRIMINC TR("Expo\0 ""ExFine""Fine\0 ""Medium""Coarse", "Exponential""Extra Fine\0""Fine\0 ""Medium\0 ""Coarse\0 ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "RETA123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "RETA12LR"
+ #define TR_RETA123 "RETA123LR"
#else
#define TR_RETA123 "RETA123"
#endif
@@ -503,7 +515,7 @@
#define TR_RANGE INDENT "Range"
#define TR_BAR "Bar"
#define TR_ALARM INDENT "Alarm"
-#define TR_USRDATA "UsrData"
+#define TR_USRDATA TR("UsrData","User Data")
#define TR_BLADES INDENT "Blades"
#define TR_SCREEN "Screen "
#define TR_SOUND_LABEL "Sound"
@@ -584,7 +596,7 @@
#define TR_MENUDIAG TR("SWITCHES","SWITCH TEST")
#define TR_MENUANA TR("ANAS","ANALOG INPUTS")
#define TR_MENUCALIBRATION "CALIBRATION"
-#define TR_TRIMS2OFFSETS "\006Trims => Offsets"
+#define TR_TRIMS2OFFSETS "\006Trims => Subtrims"
#define TR_MENUMODELSEL TR("MODELSEL","MODEL SELECTION")
#define TR_MENUSETUP TR("SETUP","MODEL SETUP")
#define TR_MENUFLIGHTPHASE "FLIGHT MODE"
@@ -606,7 +618,9 @@
#define TR_MENUCURVE "CURVE"
#define TR_MENULOGICALSWITCH "LOGICAL SWITCH"
#define TR_MENULOGICALSWITCHES "LOGICAL SWITCHES"
-#define TR_MENUCUSTOMFUNC "CUSTOM FUNCTIONS"
+#define TR_MENUCUSTOMFUNC "SWITCH ASSIGNMENT"
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRY"
#define TR_MENUTEMPLATES "TEMPLATES"
#define TR_MENUSTAT "STATS"
@@ -619,6 +633,9 @@
#define TR_LONGITUDE "Longitude"
#define TR_GPSCOORD TR("GPS Coords", "GPS coordinate format")
#define TR_VARIO TR("Vario", "Variometer")
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "SHUTTING DOWN"
#define TR_BATT_CALIB "Battery Calib"
#define TR_CURRENT_CALIB "Current Calib"
@@ -636,6 +653,7 @@
#define TR_INCOMPATIBLE "Incompatible"
#define TR_WARNING "WARNING"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "Converting EEPROM"
#define TR_THROTTLEWARN "THROTTLE"
#define TR_ALARMSWARN "ALARMS"
#define TR_SWITCHWARN TR("SWITCH","CONTROL")
@@ -660,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "No Sounds on SD"
#define TR_NO_MODELS_ON_SD "No Models on SD"
#define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Play"
#define TR_DELETE_FILE "Delete"
#define TR_COPY_FILE "Copy"
#define TR_RENAME_FILE "Rename"
#define TR_ASSIGN_BITMAP "Assign Bitmap"
+#define TR_EXECUTE_FILE "Execute"
#define TR_REMOVED " removed"
#define TR_SD_INFO "Information"
#define TR_SD_FORMAT "Format"
@@ -688,6 +708,8 @@
#define TR_DATE "Date"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "CHANNEL MONITOR"
+#define TR_PATH_TOO_LONG "Path too long"
+#define TR_VIEW_TEXT "View text"
#define TR_INTERNALRF "Internal RF"
#define TR_EXTERNALRF "External RF"
#define TR_FAILSAFE INDENT "Failsafe mode"
@@ -725,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Channel Range"
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
+#define TR_ENABLE_POPUP "Enable Popup"
+#define TR_DISABLE_POPUP "Disable Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Mirror"
+#define TR_CLEAR "Clear"
+#define TR_RESET "Reset"
+#define TR_COUNT "Count"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Smooth"
+#define TR_COPY_TRIMS_TO_OFS "Copy Trim To Subtrim"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -822,5 +859,8 @@
#define TR_TOP_BAR "Top Bar"
#define TR_ALTITUDE INDENT "Altitude"
+#define TR_SCALE "Scale"
+#define TR_VIEW_CHANNELS "View Channels"
+#define TR_VIEW_NOTES "View Notes"
#define TR_MODS_FORBIDDEN "Modifications forbidden!"
#define TR_UNLOCKED "Unlocked"
diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt
index a54fd03f8..16f07b1fa 100644
--- a/radio/src/translations/es.h.txt
+++ b/radio/src/translations/es.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japon\0 ""Europa\0")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC TR("\006", "\013")
#define TR_VTRIMINC TR("Expo ""ExFino""Fino ""Medio ""Grueso", "Exponencial""Extra Fino ""Fino ""Medio ""Grueso ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voz\0"
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "RETA123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "RETA12LR"
+ #define TR_RETA123 "RETA123LR"
#else
#define TR_RETA123 "RETA123"
#endif
@@ -234,8 +246,10 @@
#define TR_CFN_TEST
#endif
+#define TR_CFN_RESERVE "[reserve]\0"
+
#if defined(CPUARM)
- #define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volumen\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Luz fondo\0" TR_CFN_TEST
+ #define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volumen\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Luz fondo\0" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Luz fondo\0" TR_CFN_TEST
#else
@@ -264,14 +278,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Avs1""Avs2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Aviso1""Aviso2""Cheep ""Ratata""Tick ""Sirena""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define LEN_VTELEMCHNS "\004"
-#if defined(PCBTARANIS)
- #define TR_RSSI_0 "SWR\0"
- #define TR_RSSI_1 "RSSI"
+
+#if defined(CPUARM)
+ #define TR_TELEM_RESERVE "[--]"
+ #define TR_SWR "SWR\0"
+ #define TR_RX_BATT "RxBt"
+ #define TR_A3_A4 "A3\0 ""A4\0 "
+ #define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
- #define TR_RSSI_0 "Tx\0 "
- #define TR_RSSI_1 "Rx\0 "
+ #define TR_TELEM_RESERVE
+ #define TR_SWR
+ #define TR_RX_BATT
+ #define TR_A3_A4
+ #define TR_A3_A4_MIN
#endif
-#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Hora"
+
+#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Hora"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -597,6 +619,8 @@
#define TR_MENULOGICALSWITCH "AJTE.INTERUP."
#define TR_MENULOGICALSWITCHES "AJTE.INTERUPTS."
#define TR_MENUCUSTOMFUNC "AJTE. FUNCIONES"
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRIA"
#define TR_MENUTEMPLATES "PLANTILLAS"
#define TR_MENUSTAT "STATS"
@@ -609,6 +633,9 @@
#define TR_LONGITUDE "Longitud"
#define TR_GPSCOORD TR("GPS Coords", "GPS formato coordenadas")
#define TR_VARIO TR("Vario", "Variometro")
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "APAGANDO"
#define TR_BATT_CALIB "Calib.bateria"
#define TR_CURRENT_CALIB "Calib. actual"
@@ -626,6 +653,7 @@
#define TR_INCOMPATIBLE "Incompatible"
#define TR_WARNING "AVISO"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "EEPROM Converting"
#define TR_THROTTLEWARN "ACELERADOR"
#define TR_ALARMSWARN "ALARMAS"
#define TR_SWITCHWARN "INTERPTOR"
@@ -650,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "Sin sonidos en SD"
#define TR_NO_MODELS_ON_SD "Sin Modelos en SD"
#define TR_NO_BITMAPS_ON_SD "Sin imagenes en SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Play"
#define TR_DELETE_FILE "Borrar"
#define TR_COPY_FILE "Copiar"
#define TR_RENAME_FILE "Renombrar"
#define TR_ASSIGN_BITMAP "Asignar Imagen"
+#define TR_EXECUTE_FILE "Execute"
#define TR_REMOVED "Borrado"
#define TR_SD_INFO "Informacion"
#define TR_SD_FORMAT "Formatear"
@@ -678,6 +708,8 @@
#define TR_DATE "Fecha"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "MONITOR CANALES"
+#define TR_PATH_TOO_LONG "Path too long"
+#define TR_VIEW_TEXT "View text"
#define TR_INTERNALRF "Interna RF"
#define TR_EXTERNALRF "Externa RF"
#define TR_FAILSAFE INDENT"Modo sgdad."
@@ -715,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Gama de canales"
#define TR_LOWALARM INDENT "Alarma baja"
#define TR_CRITICALALARM INDENT "Alarma Critica"
+#define TR_ENABLE_POPUP "Enable Popup"
+#define TR_DISABLE_POPUP "Disable Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Mirror"
+#define TR_CLEAR "Clear"
+#define TR_RESET "Reset"
+#define TR_COUNT "Count"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Smooth"
+#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset"
#define TR_PERSISTENT_MAH INDENT "Valor mAh"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -748,7 +795,7 @@
#endif
// Taranis column headers
-#define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Trims ", " Aparecer ", " Desparecer " }
+#define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Aparecer ", " Desparecer " }
#define TR_LIMITS_HEADERS { " Nombre ", " Compensacion", " Min ", " Max ", " Direccion ", " Curve ", " Centrado PPM ", " Simetrica " }
#define TR_CSW_HEADERS { " Funcion ", " V1 ", " V2 ", " V2 ", " AND Interrup. ", " Duracion ", " Retardo " }
@@ -812,5 +859,8 @@
#define TR_TOP_BAR "Top Bar"
#define TR_ALTITUDE INDENT "Altitude"
+#define TR_SCALE "Scale"
+#define TR_VIEW_CHANNELS "View Channels"
+#define TR_VIEW_NOTES "View Notes"
#define TR_MODS_FORBIDDEN "Modifications forbidden!"
#define TR_UNLOCKED "Unlocked"
diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt
index 53543c3bc..1a861e7c8 100644
--- a/radio/src/translations/fi.h.txt
+++ b/radio/src/translations/fi.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerikk""Japani\0""Euroopp")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC TR("\006", "\013")
#define TR_VTRIMINC TR("Expo\0 ""EriHie""Hieno\0""Keski\0""Karkea", "Exponential""Eri Hieno\0 ""Hieno\0 ""Keski\0 ""Karkea\0 ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "RETA123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "RETA12LR"
+ #define TR_RETA123 "RETA123LR"
#else
#define TR_RETA123 "RETA123"
#endif
@@ -234,8 +246,10 @@
#define TR_CFN_TEST
#endif
+#define TR_CFN_RESERVE "[reserve]\0"
+
#if defined(CPUARM)
- #define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0" TR_CFN_TEST
+ #define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0" TR_CFN_TEST
#else
@@ -264,14 +278,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define LEN_VTELEMCHNS "\004"
-#if defined(PCBTARANIS)
- #define TR_RSSI_0 "SWR\0"
- #define TR_RSSI_1 "RSSI"
+
+#if defined(CPUARM)
+ #define TR_TELEM_RESERVE "[--]"
+ #define TR_SWR "SWR\0"
+ #define TR_RX_BATT "RxBt"
+ #define TR_A3_A4 "A3\0 ""A4\0 "
+ #define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
- #define TR_RSSI_0 "Tx\0 "
- #define TR_RSSI_1 "Rx\0 "
+ #define TR_TELEM_RESERVE
+ #define TR_SWR
+ #define TR_RX_BATT
+ #define TR_A3_A4
+ #define TR_A3_A4_MIN
#endif
-#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Time"
+
+#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -597,6 +619,8 @@
#define TR_MENULOGICALSWITCH "CUSTOM SWITCH"
#define TR_MENULOGICALSWITCHES "CUSTOM SWITCHES"
#define TR_MENUCUSTOMFUNC "CUSTOM FUNCTIONS"
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRY"
#define TR_MENUTEMPLATES "TEMPLATES"
#define TR_MENUSTAT "STATS"
@@ -609,6 +633,9 @@
#define TR_LONGITUDE "Longitude"
#define TR_GPSCOORD TR("GPS Coords", "GPS coordinate format")
#define TR_VARIO TR("Vario", "Variometer")
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "SHUTTING DOWN"
#define TR_BATT_CALIB "Battery Calib"
#define TR_CURRENT_CALIB "Current Calib"
@@ -626,6 +653,7 @@
#define TR_INCOMPATIBLE "Incompatible"
#define TR_WARNING "WARNING"
#define TR_EEPROMWARN "FINSKA"
+#define TR_EEPROM_CONVERTING "EEPROM Converting"
#define TR_THROTTLEWARN "THROTTLE"
#define TR_ALARMSWARN "ALARMS"
#define TR_SWITCHWARN TR("SWITCH","CONTROL")
@@ -650,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "No Sounds on SD"
#define TR_NO_MODELS_ON_SD "No Models on SD"
#define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Play"
#define TR_DELETE_FILE "Delete"
#define TR_COPY_FILE "Copy"
#define TR_RENAME_FILE "Rename"
#define TR_ASSIGN_BITMAP "Assign Bitmap"
+#define TR_EXECUTE_FILE "Execute"
#define TR_REMOVED " removed"
#define TR_SD_INFO "Information"
#define TR_SD_FORMAT "Format"
@@ -678,6 +708,8 @@
#define TR_DATE "Date"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "CHANNEL MONITOR"
+#define TR_PATH_TOO_LONG "Path too long"
+#define TR_VIEW_TEXT "View text"
#define TR_INTERNALRF "Internal RF"
#define TR_EXTERNALRF "External RF"
#define TR_FAILSAFE INDENT "Failsafe mode"
@@ -715,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Channel Range"
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
+#define TR_ENABLE_POPUP "Enable Popup"
+#define TR_DISABLE_POPUP "Disable Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Mirror"
+#define TR_CLEAR "Clear"
+#define TR_RESET "Reset"
+#define TR_COUNT "Count"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Smooth"
+#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -812,5 +859,8 @@
#define TR_TOP_BAR "Ylä palkki"
#define TR_ALTITUDE INDENT "Korkeus"
+#define TR_SCALE "Scale"
+#define TR_VIEW_CHANNELS "View Channels"
+#define TR_VIEW_NOTES "View Notes"
#define TR_MODS_FORBIDDEN "Muutokset kielletty!"
#define TR_UNLOCKED "Avattu"
diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt
index 64c9e8225..590ecc36b 100644
--- a/radio/src/translations/fr.h.txt
+++ b/radio/src/translations/fr.h.txt
@@ -37,6 +37,9 @@
* \0 -ends actual string
*/
+
+
+
// NON ZERO TERMINATED STRINGS
#define LEN_OFFON "\003"
#define TR_OFFON "OFF""ON\0"
@@ -80,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\006")
#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC TR("\006","\013")
#define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ")
#define LEN_VBEEPCOUNTDOWN "\007"
#define TR_VBEEPCOUNTDOWN "Silence""Bips\0 ""Voix\0 "
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Libre\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -95,7 +110,7 @@
#define TR_RETA123 "DPGA123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "DPGA12LR"
+ #define TR_RETA123 "DPGA123LR"
#else
#define TR_RETA123 "DPGA123"
#endif
@@ -314,7 +329,7 @@
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
-#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh""Halcyon"
+#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
@@ -581,7 +596,7 @@
#define TR_MENUDIAG TR("INTERS","TEST INTERRUPTEURS")
#define TR_MENUANA TR("ANAS","ENTREES ANALOGIQUES")
#define TR_MENUCALIBRATION "CALIBRATION"
-#define TR_TRIMS2OFFSETS "\006Trims => Offsets"
+#define TR_TRIMS2OFFSETS "\005Trims => Subtrims"
#define TR_MENUMODELSEL "MODELES"
#define TR_MENUSETUP TR("CONF. MODELE","CONFIGURATION")
#define TR_MENUFLIGHTPHASE "PHASE DE VOL"
@@ -604,6 +619,8 @@
#define TR_MENULOGICALSWITCH "INTER LOG."
#define TR_MENULOGICALSWITCHES TR("INTERS LOG.","INTERS LOGIQUES")
#define TR_MENUCUSTOMFUNC TR("FONCTIONS SPEC.","FONCTIONS SPECIALES")
+#define TR_MENUCUSTOMSCRIPTS "SCRIPTS PERSOS"
+#define TR_MENUCUSTOMSCRIPT "SCRIPT PERSO"
#define TR_MENUTELEMETRY "TELEMESURE"
#define TR_MENUTEMPLATES "GABARITS"
#define TR_MENUSTAT TR("STATS","STATISTIQUES")
@@ -616,6 +633,9 @@
#define TR_LONGITUDE "Longitude"
#define TR_GPSCOORD TR("Coordonnées","Coordonnées GPS")
#define TR_VARIO TR("Vario","Variomètre")
+#define TR_PITCH_AT_ZERO INDENT "Tonalité au zéro"
+#define TR_PITCH_AT_MAX INDENT "Tonalité au max"
+#define TR_REPEAT_AT_ZERO INDENT "Tonalité au zéro"
#define TR_SHUTDOWN "ARRET EN COURS"
#define TR_BATT_CALIB "Calib. Batterie"
#define TR_CURRENT_CALIB "Calib. Courant"
@@ -633,6 +653,7 @@
#define TR_INCOMPATIBLE "Incompatible"
#define TR_WARNING "ALERTE"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "Conversion EEPROM"
#define TR_THROTTLEWARN "GAZ"
#define TR_ALARMSWARN "SON"
#define TR_SWITCHWARN TR("INTERS","CONTROLES")
@@ -657,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "Aucun son sur SD"
#define TR_NO_MODELS_ON_SD "Aucun modèle SD"
#define TR_NO_BITMAPS_ON_SD "Aucun Bitmap SD"
+#define TR_NO_SCRIPTS_ON_SD "Aucun Script SD"
#define TR_PLAY_FILE "Lire"
#define TR_DELETE_FILE "Supprimer"
#define TR_COPY_FILE "Copier"
#define TR_RENAME_FILE "Renommer"
#define TR_ASSIGN_BITMAP "Sélectionner image"
+#define TR_EXECUTE_FILE "Executer"
#define TR_REMOVED " supprimé"
#define TR_SD_INFO "Information"
#define TR_SD_FORMAT "Formater"
@@ -685,6 +708,8 @@
#define TR_DATE "Date"
#define TR_ROTARY_ENCODER "Enc.Rot."
#define TR_CHANNELS_MONITOR "MONITEUR CANAUX"
+#define TR_PATH_TOO_LONG "Chemin trop long"
+#define TR_VIEW_TEXT "Voir texte"
#define TR_INTERNALRF "HF interne"
#define TR_EXTERNALRF "HF externe"
#define TR_FAILSAFE INDENT "Type failsafe"
@@ -698,7 +723,7 @@
#define TR_COPY "Copier"
#define TR_MOVE "Déplacer"
#define TR_PASTE "Coller"
-#define TR_DELETE "Effacer"
+#define TR_DELETE "Supprimer"
#define TR_INSERT "Insérer"
#define TR_RESET_FLIGHT TR("Réinit. vol", "Réinitialiser vol")
#define TR_RESET_TIMER1 TR("Réinit. Timer1", "Réinitialiser Timer1")
@@ -722,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Plage de canaux"
#define TR_LOWALARM INDENT "Alarme basse"
#define TR_CRITICALALARM INDENT "Alarme critique"
+#define TR_ENABLE_POPUP "Activer Popup"
+#define TR_DISABLE_POPUP "Désactiver Popup"
+#define TR_CURVE_PRESET "Courbe standard..."
+#define TR_PRESET "Pente"
+#define TR_MIRROR "Miroir"
+#define TR_CLEAR "Effacer"
+#define TR_RESET "Réinitialiser"
+#define TR_COUNT "Nb points"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Lissage"
+#define TR_COPY_TRIMS_TO_OFS "Trim vers subtrim"
#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh", INDENT "Enregistrer mAh")
#define TR_PREFLIGHT "Vérifications avant vol"
#define TR_CHECKLIST INDENT "Afficher notes"
#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS")
#define TR_UART3MODE "Port série"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Entrées"
+#define TR_OUTPUTS "Sorties"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "RSSI Max"
@@ -810,14 +850,17 @@
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
-#define TR_CHR_INPUT 'E' // Values between A-I will work
+#define TR_CHR_INPUT 'E' // Values between A-I will work
-#define TR_BEEP_VOLUME "Beep Volume"
-#define TR_WAV_VOLUME "Wav Volume"
-#define TR_VARIO_VOLUME "Vario Volume"
-#define TR_BG_VOLUME "Bg Volume"
+#define TR_BEEP_VOLUME "Volume bips"
+#define TR_WAV_VOLUME "Volume audio"
+#define TR_VARIO_VOLUME "Volume vario"
+#define TR_BG_VOLUME "Volume musique"
#define TR_TOP_BAR "Barre titre"
#define TR_ALTITUDE INDENT "Altitude"
+#define TR_SCALE "Echelle"
+#define TR_VIEW_CHANNELS "Voir Voies"
+#define TR_VIEW_NOTES "Voir Notes"
#define TR_MODS_FORBIDDEN "Modifications désactivées!"
#define TR_UNLOCKED "Déverrouillé"
diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt
index 7e7a2eeaa..25c72dd05 100644
--- a/radio/src/translations/it.h.txt
+++ b/radio/src/translations/it.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC "\006"
#define TR_VTRIMINC "Exp ""ExFine""Fine ""Medio ""Ampio "
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "NienteSuoni\0Voce\0 "
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "RETA123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "RETA12LR"
+ #define TR_RETA123 "RETA123LR"
#else
#define TR_RETA123 "RETA123"
#endif
@@ -234,8 +246,10 @@
#define TR_CFN_TEST
#endif
+#define TR_CFN_RESERVE "[reserve]\0"
+
#if defined(CPUARM)
- #define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant ""Azzera\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Retroillum.\0 " TR_CFN_TEST
+ #define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant ""Azzera\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Retroillum.\0 " TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant ""Azzera\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Retroillum.\0 " TR_CFN_TEST
#else
@@ -264,14 +278,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define LEN_VTELEMCHNS "\004"
-#if defined(PCBTARANIS)
- #define TR_RSSI_0 "SWR\0"
- #define TR_RSSI_1 "RSSI"
+
+#if defined(CPUARM)
+ #define TR_TELEM_RESERVE "[--]"
+ #define TR_SWR "SWR\0"
+ #define TR_RX_BATT "RxBt"
+ #define TR_A3_A4 "A3\0 ""A4\0 "
+ #define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
- #define TR_RSSI_0 "Tx\0 "
- #define TR_RSSI_1 "Rx\0 "
+ #define TR_TELEM_RESERVE
+ #define TR_SWR
+ #define TR_RX_BATT
+ #define TR_A3_A4
+ #define TR_A3_A4_MIN
#endif
-#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vel\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsm""Powr""AccX""AccY""AccZ""Dir\0""VelV""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Time"
+
+#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vel\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsm""Powr""AccX""AccY""AccZ""Dir\0""VelV""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -307,7 +329,7 @@
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
-#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh""Halcyon"
+#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
@@ -597,6 +619,8 @@
#define TR_MENULOGICALSWITCH "SWITCH PERSON."
#define TR_MENULOGICALSWITCHES TR("SWITCH PERSON.","SWITCH PERSONALIZZATI")
#define TR_MENUCUSTOMFUNC TR("FUNZ. PERSON.","FUNZIONI PERSONALIZZATE")
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRIA"
#define TR_MENUTEMPLATES "ESEMPI GUIDA"
#define TR_MENUSTAT "STATS"
@@ -609,6 +633,9 @@
#define TR_LONGITUDE "Longitud."
#define TR_GPSCOORD "Coord. GPS"
#define TR_VARIO "Vario"
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "ARRESTO.."
#define TR_BATT_CALIB "Calibra batt."
#define TR_CURRENT_CALIB "Calibra corr."
@@ -626,6 +653,7 @@
#define TR_INCOMPATIBLE "Incompatibile"
#define TR_WARNING "AVVISO"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "EEPROM Converting"
#define TR_THROTTLEWARN "MOTORE"
#define TR_ALARMSWARN "ALLARMI"
#define TR_SWITCHWARN "SWITCH"
@@ -650,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "No Suoni su SD"
#define TR_NO_MODELS_ON_SD "No Model. su SD"
#define TR_NO_BITMAPS_ON_SD "no Immag. su SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Suona"
#define TR_DELETE_FILE "Cancella"
#define TR_COPY_FILE "Copia"
#define TR_RENAME_FILE "Rinomomina"
#define TR_ASSIGN_BITMAP "Assegna Immagine"
+#define TR_EXECUTE_FILE "Execute"
#define TR_REMOVED " rimosso"
#define TR_SD_INFO "Informazioni"
#define TR_SD_FORMAT "Format"
@@ -678,6 +708,8 @@
#define TR_DATE "Data"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
+#define TR_PATH_TOO_LONG "Path too long"
+#define TR_VIEW_TEXT "View text"
#define TR_INTERNALRF "Modulo Interno"
#define TR_EXTERNALRF "Modulo esterno"
#define TR_FAILSAFE "Modo failsafe"
@@ -715,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Numero Canali"
#define TR_LOWALARM INDENT "Allarme Basso"
#define TR_CRITICALALARM INDENT "Allarme Critico"
+#define TR_ENABLE_POPUP "Enable Popup"
+#define TR_DISABLE_POPUP "Disable Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Mirror"
+#define TR_CLEAR "Clear"
+#define TR_RESET "Reset"
+#define TR_COUNT "Count"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Smooth"
+#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -748,7 +795,7 @@
#endif
// Taranis column headers
-#define TR_PHASES_HEADERS { " Nome ", " Switch ", " Trims ", " Fade In ", " Fade Out " }
+#define TR_PHASES_HEADERS { " Nome ", " Switch ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Fade In ", " Fade Out " }
#define TR_LIMITS_HEADERS { " Nome ", " Offset ", " Min ", " Max ", " Direzione ", " Curve ", " Centro PPM ", " Simmetria " }
#define TR_CSW_HEADERS { " Funzione ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Durata ", " Ritardo " }
@@ -812,5 +859,8 @@
#define TR_TOP_BAR "Top Bar"
#define TR_ALTITUDE INDENT "Altitude"
+#define TR_SCALE "Scale"
+#define TR_VIEW_CHANNELS "View Channels"
+#define TR_VIEW_NOTES "View Notes"
#define TR_MODS_FORBIDDEN "Modifications forbidden!"
#define TR_UNLOCKED "Unlocked"
diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt
index eedb2d9d4..24bac79ae 100644
--- a/radio/src/translations/pl.h.txt
+++ b/radio/src/translations/pl.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Ameryka""Japonia""Europa\0")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC "\012"
#define TR_VTRIMINC "Expo\0 ""B.Dokładny""Dokładny\0 ""Średni\0 ""Zgrubny\0 "
#define LEN_VBEEPCOUNTDOWN "\007"
#define TR_VBEEPCOUNTDOWN "Cichy\0 ""Pikanie""Dźwięki"
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "KWGL123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "KWGL12LR"
+ #define TR_RETA123 "KWGL123LR"
#else
#define TR_RETA123 "KWGL123"
#endif
@@ -234,8 +246,10 @@
#define TR_CFN_TEST
#endif
+#define TR_CFN_RESERVE "[reserve]\0 "
+
#if defined(CPUARM)
- #define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim ""Reset ""Set \0 " TR_ADJUST_GVAR "Głośność\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podświetl. " TR_CFN_TEST
+ #define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim ""Reset ""Set \0 " TR_ADJUST_GVAR "Głośność\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podświetl. " TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim ""Reset " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podświetl. " TR_CFN_TEST
#else
@@ -264,14 +278,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Ost1""Ost2""Chee""Rata""Tik\0""Syre""Dzwo""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1\0""Beep2\0""Beep3\0""Ostrz1""Ostrz1""Cheep\0""Ratata""Tick\0 ""Syrena""Dzwone""SciFi\0""Robot\0""Chirp\0""Tada\0 ""Krytcz""AlmZeg")
#define LEN_VTELEMCHNS "\004"
-#if defined(PCBTARANIS)
- #define TR_RSSI_0 "SWR\0"
- #define TR_RSSI_1 "RSSI"
+
+#if defined(CPUARM)
+ #define TR_TELEM_RESERVE "[--]"
+ #define TR_SWR "SWR\0"
+ #define TR_RX_BATT "RxBt"
+ #define TR_A3_A4 "A3\0 ""A4\0 "
+ #define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
- #define TR_RSSI_0 "Tx\0 "
- #define TR_RSSI_1 "Rx\0 "
+ #define TR_TELEM_RESERVE
+ #define TR_SWR
+ #define TR_RX_BATT
+ #define TR_A3_A4
+ #define TR_A3_A4_MIN
#endif
-#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc\0""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0""A1-\0""A2-\0""Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Moc+""Acc\0""Time"
+
+#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc\0""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Moc+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -307,7 +329,7 @@
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
-#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh""Halcyon"
+#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
@@ -597,6 +619,8 @@
#define TR_MENULOGICALSWITCH "PRZEŁ. LOGICZNY"
#define TR_MENULOGICALSWITCHES TR("PRZEŁ. LOG.", "PRZEŁ. LOGICZNE")
#define TR_MENUCUSTOMFUNC "FUNKCJE SPECJALNE"
+#define TR_MENUCUSTOMSCRIPTS "WŁASNE SKRYPTY"
+#define TR_MENUCUSTOMSCRIPT "WŁASNY SKRYPT"
#define TR_MENUTELEMETRY "TELEMETRIA"
#define TR_MENUTEMPLATES "SZABLONY"
#define TR_MENUSTAT "STATYSTYKA"
@@ -609,6 +633,9 @@
#define TR_LONGITUDE "Dł. geo."
#define TR_GPSCOORD "Typ koordynat GPS"
#define TR_VARIO "Wario"
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "Wyłączanie.."
#define TR_BATT_CALIB "Kalib:Baterii"
#define TR_CURRENT_CALIB " +=\006Kalibracja prądu"
@@ -626,6 +653,7 @@
#define TR_INCOMPATIBLE "Niekompatybilne"
#define TR_WARNING "UWAGA"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "Konwersja EEPROM"
#define TR_THROTTLEWARN "GAZ"
#define TR_ALARMSWARN "ALARM"
#define TR_SWITCHWARN "Przełącznik"
@@ -650,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "brak dźwięków na SD"
#define TR_NO_MODELS_ON_SD "brak modelu na SD"
#define TR_NO_BITMAPS_ON_SD "brak obrazków na SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Odtwórz"
#define TR_DELETE_FILE "Skasuj"
#define TR_COPY_FILE "Kopiuj"
#define TR_RENAME_FILE "Zmień nazwę"
#define TR_ASSIGN_BITMAP "Wybierz obrazek"
+#define TR_EXECUTE_FILE "Wykonaj"
#define TR_REMOVED " skasowane"
#define TR_SD_INFO "Informacje"
#define TR_SD_FORMAT "Formatuj"
@@ -678,6 +708,8 @@
#define TR_DATE "Data"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "MONITOR KANAŁÓW"
+#define TR_PATH_TOO_LONG "Ścieżka za długa"
+#define TR_VIEW_TEXT "Pokaż tekst"
#define TR_INTERNALRF "Wewnętrzny moduł RF"
#define TR_EXTERNALRF "Zewnętrzny moduł RF"
#define TR_FAILSAFE "Tryb Failsafe"
@@ -715,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Zakres kanału"
#define TR_LOWALARM INDENT "Alarm niski"
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
+#define TR_ENABLE_POPUP "Aktywuj Popup"
+#define TR_DISABLE_POPUP "Wyłącz Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Lutro"
+#define TR_CLEAR "Wyczyść"
+#define TR_RESET "Resetuj"
+#define TR_COUNT "Licz"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Gładka"
+#define TR_COPY_TRIMS_TO_OFS "Skopiuj Trymery Do Offsetu"
#define TR_PERSISTENT_MAH INDENT "Zapisz mAh"
-#define TR_PREFLIGHT "Preflight Checks"
-#define TR_CHECKLIST INDENT "Display Checklist"
+#define TR_PREFLIGHT "Lista Startowa"
+#define TR_CHECKLIST INDENT "Pokaż Listę Startową"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Port szreg."
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Maks RSSI"
@@ -748,7 +795,7 @@
#endif
// Taranis column headers
-#define TR_PHASES_HEADERS { " Nazwa ", " Przełącznik ", " Trymery ", " Pojawianie się ", " Zanikanie " }
+#define TR_PHASES_HEADERS { " Nazwa ", " Przełącznik ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Pojawianie się ", " Zanikanie " }
#define TR_LIMITS_HEADERS { " Nazwa ", " Subtrim ", " Min ", " Max ", " Kierunek ", " Krzywa ", " Środek PPM ", " Tryb subtrim " }
#define TR_CSW_HEADERS { " Funkcja ", " Param. 1 ", " Param 2 ", " Param 2 ", " AND Przełącznik ", " Czas trwania ", " Opóźnienie " }
@@ -799,8 +846,8 @@
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
-#define TR_CHR_SHORT 's'
-#define TR_CHR_LONG 'l'
+#define TR_CHR_SHORT 'k'
+#define TR_CHR_LONG 'd'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
#define TR_CHR_INPUT 'I' // Values between A-I will work
@@ -812,5 +859,8 @@
#define TR_TOP_BAR "Górny Pasek"
#define TR_ALTITUDE INDENT "Wysokość"
+#define TR_SCALE "Skala"
+#define TR_VIEW_CHANNELS "Pokaż Kanały"
+#define TR_VIEW_NOTES "Pokaż Notki"
#define TR_MODS_FORBIDDEN "Modyfikacje zabronione!"
#define TR_UNLOCKED "Odblokowane"
diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt
index 6505786e4..e29888576 100644
--- a/radio/src/translations/pt.h.txt
+++ b/radio/src/translations/pt.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC "\006"
#define TR_VTRIMINC "Expo ""ExFino""Fino ""Medio ""Largo "
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "LPMA123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "LPMA12LR"
+ #define TR_RETA123 "LPMA123LR"
#else
#define TR_RETA123 "LPMA123"
#endif
@@ -234,8 +246,10 @@
#define TR_CFN_TEST
#endif
+#define TR_CFN_RESERVE "[reserve]\0 "
+
#if defined(CPUARM)
- #define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0 " TR_CFN_TEST
+ #define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0 " TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0 " TR_CFN_TEST
#else
@@ -264,14 +278,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Avis1 ""Avis2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define LEN_VTELEMCHNS "\004"
-#if defined(PCBTARANIS)
- #define TR_RSSI_0 "SWR\0"
- #define TR_RSSI_1 "RSSI"
+
+#if defined(CPUARM)
+ #define TR_TELEM_RESERVE "[--]"
+ #define TR_SWR "SWR\0"
+ #define TR_RX_BATT "RxBt"
+ #define TR_A3_A4 "A3\0 ""A4\0 "
+ #define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
- #define TR_RSSI_0 "Tx\0 "
- #define TR_RSSI_1 "Rx\0 "
+ #define TR_TELEM_RESERVE
+ #define TR_SWR
+ #define TR_RX_BATT
+ #define TR_A3_A4
+ #define TR_A3_A4_MIN
#endif
-#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VVel""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Hora"
+
+#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VVel""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Hora"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -307,7 +329,7 @@
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
-#define TR_VTELPROTO "Nada\0 ""Hub\0 ""WSHHigh""Halcyon"
+#define TR_VTELPROTO "Nada\0 ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
@@ -597,6 +619,8 @@
#define TR_MENULOGICALSWITCH "CHAVE ESPECIAL"
#define TR_MENULOGICALSWITCHES "CHAVES ESPECIAIS"
#define TR_MENUCUSTOMFUNC "FUNCAO ESPECIAL"
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRIA"
#define TR_MENUTEMPLATES "MODELOS"
#define TR_MENUSTAT "REGISTROS"
@@ -609,6 +633,9 @@
#define TR_LONGITUDE "Longitude"
#define TR_GPSCOORD "Gps Coords"
#define TR_VARIO "Vario"
+#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
+#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
#define TR_SHUTDOWN "DESLIGANDOo"
#define TR_BATT_CALIB "CALIBRAR BATT"
#define TR_CURRENT_CALIB "Corrente Calib"
@@ -626,6 +653,7 @@
#define TR_INCOMPATIBLE "Incompativel"
#define TR_WARNING "AVISO"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "EEPROM Converting"
#define TR_THROTTLEWARN "ACELERAD"
#define TR_ALARMSWARN "ALARMES"
#define TR_SWITCHWARN "CHAVES"
@@ -650,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "Sem Som no SD"
#define TR_NO_MODELS_ON_SD "Sem Modelo no SD"
#define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Play"
#define TR_DELETE_FILE "Apagar"
#define TR_COPY_FILE "Copiar"
#define TR_RENAME_FILE "Renomear"
#define TR_ASSIGN_BITMAP "Assign Bitmap"
+#define TR_EXECUTE_FILE "Execute"
#define TR_REMOVED "Remover"
#define TR_SD_INFO "Dados SD"
#define TR_SD_FORMAT "Formatar"
@@ -678,6 +708,8 @@
#define TR_DATE "Data"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
+#define TR_PATH_TOO_LONG "Path too long"
+#define TR_VIEW_TEXT "View text"
#define TR_INTERNALRF "Internal RF"
#define TR_EXTERNALRF "External RF"
#define TR_FAILSAFE "Failsafe mode"
@@ -715,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Channel Range"
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
+#define TR_ENABLE_POPUP "Enable Popup"
+#define TR_DISABLE_POPUP "Disable Popup"
+#define TR_CURVE_PRESET "Preset..."
+#define TR_PRESET "Preset"
+#define TR_MIRROR "Mirror"
+#define TR_CLEAR "Clear"
+#define TR_RESET "Reset"
+#define TR_COUNT "Count"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Smooth"
+#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -748,7 +795,7 @@
#endif
// Taranis column headers
-#define TR_PHASES_HEADERS { " Name ", " Switch ", " Trims ", " Fade In ", " Fade Out " }
+#define TR_PHASES_HEADERS { " Name ", " Switch ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Fade In ", " Fade Out " }
#define TR_LIMITS_HEADERS { " Name ", " Offset ", " Min ", " Max ", " Direction ", " Curve ", " PPM Center ", " Symmetrical " }
#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " }
@@ -812,5 +859,8 @@
#define TR_TOP_BAR "Top Bar"
#define TR_ALTITUDE INDENT "Altitude"
+#define TR_SCALE "Scale"
+#define TR_VIEW_CHANNELS "View Channels"
+#define TR_VIEW_NOTES "View Notes"
#define TR_MODS_FORBIDDEN "Modifications forbidden!"
#define TR_UNLOCKED "Unlocked"
diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt
index 1e4e89177..829e22785 100644
--- a/radio/src/translations/se.h.txt
+++ b/radio/src/translations/se.h.txt
@@ -83,12 +83,24 @@
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0")
+#define LEN_TARANIS_PROTOCOLS "\004"
+#define TR_TARANIS_PROTOCOLS "Av\0 ""PPM\0""XJT\0""DSM2"
+
+#define LEN_XJT_PROTOCOLS "\004"
+#define TR_XJT_PROTOCOLS "---\0""D16\0""D8\0 ""LR12"
+
+#define LEN_DSM_PROTOCOLS "\004"
+#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
+
#define LEN_VTRIMINC TR("\006","\014")
#define TR_VTRIMINC TR("Expo\0 ""xFin\0 ""Fin\0 ""Medium""Grov\0 ","Exponentiell""Extra Fin\0 ""Fin\0 ""Medium\0 ""Grov\0 ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "Tyst\0 Pip\0 Röst\0 "
+#define LEN_CURVE_TYPES "\010"
+#define TR_CURVE_TYPES "Standard""Custom\0"
+
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
@@ -98,7 +110,7 @@
#define TR_RETA123 "RHGS123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "RHGS12HV"
+ #define TR_RETA123 "RHGS123HV"
#else
#define TR_RETA123 "RHGS123"
#endif
@@ -152,15 +164,15 @@
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
- #define TR_CSWSTICKY "Stcky"
- #define TR_CSWRANGE "Range"
- #define TR_CSWSTAY "Edge\0"
+ #define TR_CSWSTICKY "Seg\0 "
+ #define TR_CSWRANGE "Vidd\0"
+ #define TR_CSWSTAY "Kant\0"
#else
#define TR_CSWTIMER "Tim\0 "
- #define TR_CSWSTICKY "Glue\0"
+ #define TR_CSWSTICKY "Seg\0 "
#if defined(CPUARM)
- #define TR_CSWRANGE "Rnge\0"
- #define TR_CSWSTAY "Edge\0"
+ #define TR_CSWRANGE "Vidd\0"
+ #define TR_CSWSTAY "Kant\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
@@ -266,14 +278,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define LEN_VTELEMCHNS "\004"
-#if defined(PCBTARANIS)
- #define TR_RSSI_0 "SWR\0"
- #define TR_RSSI_1 "RSSI"
+
+#if defined(CPUARM)
+ #define TR_TELEM_RESERVE "[--]"
+ #define TR_SWR "SWR\0"
+ #define TR_RX_BATT "RxBt"
+ #define TR_A3_A4 "A3\0 ""A4\0 "
+ #define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
- #define TR_RSSI_0 "Tx\0 "
- #define TR_RSSI_1 "Rx\0 "
+ #define TR_TELEM_RESERVE
+ #define TR_SWR
+ #define TR_RX_BATT
+ #define TR_A3_A4
+ #define TR_A3_A4_MIN
#endif
-#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Höjd""Varv""Tank""T1\0 ""T2\0 ""Fart""Avst""GHjd""Batt""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VFrt""ASpd""dTE\0""A1-\0""A2-\0""Hjd-""Hjd+""Rpm+""T1+\0""T2+\0""Frt+""Avs+""Cur+""Pwr+""Acc\0""Tid\0"
+
+#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Höjd""Varv""Tank""T1\0 ""T2\0 ""Fart""Avst""GHjd""Batt""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VFrt""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Hjd-""Hjd+""Rpm+""T1+\0""T2+\0""Frt+""Avs+""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Tid\0"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -401,7 +421,7 @@
#define TR_VTRAINERMODES "Lärare""Elev\0."
#define LEN_VFAILSAFE "\011"
-#define TR_VFAILSAFE "Håll\0 ""Special\0 ""Pulsfritt"
+#define TR_VFAILSAFE "Lås Servo""Anpassat\0""Pulsfritt"
#if defined(MAVLINK)
#define LEN_MAVLINK_BAUDS "\006"
@@ -436,9 +456,9 @@
#define TR_MODELNAME "Modellnamn"
#define TR_PHASENAME "Lägesnamn "
#define TR_MIXNAME "Mixnamn "
-#define TR_INPUTNAME "Filternamn"
+#define TR_INPUTNAME "Inputnamn"
#if defined(PCBTARANIS)
- #define TR_EXPONAME "Linjenamn"
+ #define TR_EXPONAME "Radnamn"
#else
#define TR_EXPONAME "Exponamn"
#endif
@@ -480,7 +500,7 @@
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define TR_CURVE "Kurva"
-#define TR_FLMODE TR("Läge","Lägen")
+#define TR_FLMODE TR("Läge","Flyglägen")
#define TR_MIXWARNING "Varning"
#define TR_OFF "Av "
#define TR_MULTPX "Multpx"
@@ -514,7 +534,7 @@
#define TR_THROTTLE_LABEL "Gas"
#define TR_THROTTLEREVERSE TR("Inv.Gas", INDENT "Inverterad Gas")
#define TR_MINUTEBEEP INDENT"Minutpip"
-#define TR_BEEPCOUNTDOWN INDENT"Räkna ned"
+#define TR_BEEPCOUNTDOWN INDENT"Nedräkning"
#define TR_PERSISTENT TR("Jämt på ",INDENT"Alltid På")
#define TR_BACKLIGHT_LABEL "Belysning"
#define TR_BLDELAY INDENT"Av efter"
@@ -539,7 +559,7 @@
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
-#define TR_NODATA CENTER "NO DATA"
+#define TR_NODATA CENTER "DATA SAKNAS"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
@@ -585,13 +605,13 @@
#if defined(PCBTARANIS)
#define TR_MENUINPUTS "INPUT"
- #define TR_MENULIMITS "GRÄNSER"
+ #define TR_MENULIMITS "SERVON"
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
#define TR_MENUINPUTS "SPAKAR"
- #define TR_MENULIMITS "GRÄNSER"
+ #define TR_MENULIMITS "SERVON"
#else
#define TR_MENUINPUTS TR("DR/EXPO","DUALRATES/EXPO")
- #define TR_MENULIMITS "GRÄNSER"
+ #define TR_MENULIMITS "SERVON"
#endif
#define TR_MENUCURVES "KURVOR"
@@ -599,11 +619,13 @@
#define TR_MENULOGICALSWITCH "LOGISK BRYTARE"
#define TR_MENULOGICALSWITCHES "LOGISKA BRYTARE"
#define TR_MENUCUSTOMFUNC "BRYTARFUNKTIONER"
+#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
+#define TR_MENUCUSTOMSCRIPT "CUSTOM SCRIPT"
#define TR_MENUTELEMETRY "TELEMETRI"
#define TR_MENUTEMPLATES "MALLAR"
#define TR_MENUSTAT "STATISTIK"
#define TR_MENUDEBUG "DEBUG"
-#define TR_RXNUM "RxNum"
+#define TR_RXNUM TR("RxNum", "RxInställningar")
#define TR_SYNCMENU "Synk [MENU]"
#define TR_LIMIT INDENT"Nivå"
#define TR_MINRSSI "Min Rssi"
@@ -611,6 +633,9 @@
#define TR_LONGITUDE "Längdgrad"
#define TR_GPSCOORD TR("GPS-Koordinater", "GPS-koordinatsystem")
#define TR_VARIO TR("Vario", "Variometer")
+#define TR_PITCH_AT_ZERO INDENT "Ton vid Noll"
+#define TR_PITCH_AT_MAX INDENT "Ton vid Max"
+#define TR_REPEAT_AT_ZERO INDENT "Repetera vid Noll"
#define TR_SHUTDOWN "STäNGER AV"
#define TR_BATT_CALIB "Kalib. Batteri"
#define TR_CURRENT_CALIB "Kalib. Ström"
@@ -628,6 +653,7 @@
#define TR_INCOMPATIBLE "Inkompatibel"
#define TR_WARNING "VARNING"
#define TR_EEPROMWARN "EEPROM"
+#define TR_EEPROM_CONVERTING "EEPROM Konvertering"
#define TR_THROTTLEWARN "GAS"
#define TR_ALARMSWARN "ALARM"
#define TR_SWITCHWARN "BRYTARE"
@@ -652,11 +678,13 @@
#define TR_NO_SOUNDS_ON_SD "Inga ljud i SD"
#define TR_NO_MODELS_ON_SD "Ingen modell i SD"
#define TR_NO_BITMAPS_ON_SD "Ikoner saknas på SD"
+#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
#define TR_PLAY_FILE "Spela"
#define TR_DELETE_FILE "Radera"
#define TR_COPY_FILE "Kopia"
#define TR_RENAME_FILE "Byt namn"
#define TR_ASSIGN_BITMAP "Tilldela ikon"
+#define TR_EXECUTE_FILE "Utför"
#define TR_REMOVED " raderad"
#define TR_SD_INFO "Information"
#define TR_SD_FORMAT "Format"
@@ -680,12 +708,14 @@
#define TR_DATE "Datum"
#define TR_ROTARY_ENCODER "R.Enks"
#define TR_CHANNELS_MONITOR "Kanalöversikt"
-#define TR_INTERNALRF "Intern RF"
-#define TR_EXTERNALRF "Extern RF"
-#define TR_FAILSAFE "Failsafe-läge"
+#define TR_PATH_TOO_LONG "För lång sökväg"
+#define TR_VIEW_TEXT "Visa Text"
+#define TR_INTERNALRF "Intern Radio"
+#define TR_EXTERNALRF "Extern Radiomodul"
+#define TR_FAILSAFE "Failsafeläge"
#define TR_FAILSAFESET "FailsafeInställning"
#define TR_COUNTRYCODE "Landskod"
-#define TR_VOICELANG "Röst-språk"
+#define TR_VOICELANG "Röstspråk"
#define TR_UNITSSYSTEM "Enheter"
#define TR_EDIT "Redigera"
#define TR_INSERT_BEFORE "Addera Före"
@@ -717,11 +747,26 @@
#define TR_CHANNELRANGE INDENT "Kanalområde"
#define TR_LOWALARM INDENT "Låg-alarm"
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
+#define TR_ENABLE_POPUP "Slå på Dialog"
+#define TR_DISABLE_POPUP "Slå av Dialog"
+#define TR_CURVE_PRESET "Lutning..."
+#define TR_PRESET "Lutning"
+#define TR_MIRROR "Spegla"
+#define TR_CLEAR "Töm"
+#define TR_RESET "Nollställ"
+#define TR_COUNT "Antal"
+#define TR_PT "pt"
+#define TR_PTS "pts"
+#define TR_SMOOTH "Mjuk"
+#define TR_COPY_TRIMS_TO_OFS "Spara trimmar som offset"
#define TR_PERSISTENT_MAH INDENT "Lagra mAh"
#define TR_PREFLIGHT "Startkontroller"
#define TR_CHECKLIST INDENT "Visa checklisa"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serieporten"
+#define TR_SCRIPT "Script"
+#define TR_INPUTS "Inputs"
+#define TR_OUTPUTS "Outputs"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -750,9 +795,9 @@
#endif
// Taranis column headers
-#define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Trimmar ", " Tona Upp ", " Tona Ned " }
+#define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Rodertrim ", " Höjdrodertrim ", " Gastrim ", " Skevrodertrim ", " Tona Upp ", " Tona Ned " }
#define TR_LIMITS_HEADERS { " Namn ", " Offset ", " Min ", " Max ", " Riktning ", " PPM-centrum ", " Symmetriskt " }
-#define TR_CSW_HEADERS { " Funktion ", " V1 ", " V2 ", " V2 ", " AND Brytare ", " Tidslängd ", " Fördröj " }
+#define TR_CSW_HEADERS { " Funktion ", " V1 ", " V2 ", " V2 ", " OCH Brytare ", " Tidslängd ", " Fördröj " }
// About screen
#define TR_ABOUTUS "Om Oss"
@@ -796,6 +841,7 @@
#define TR_ABOUT_HARDWARE_3 ""
#endif
+
#define TR_ABOUT_PARENTS_1 "Ursprungsprojekt"
#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)"
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
@@ -814,5 +860,8 @@
#define TR_TOP_BAR "Top Bar"
#define TR_ALTITUDE INDENT "Höjd"
+#define TR_SCALE "Skala"
+#define TR_VIEW_CHANNELS "Visa Kanaler"
+#define TR_VIEW_NOTES "Visa Noteringars"
#define TR_MODS_FORBIDDEN "Modifikationer förbjudna!"
#define TR_UNLOCKED "Olåst"
diff --git a/radio/util/addtr.py b/radio/util/addtr.py
index 2c4a45858..d62623e88 100644
--- a/radio/util/addtr.py
+++ b/radio/util/addtr.py
@@ -2,11 +2,7 @@
import sys, glob
-string = sys.argv[1]
-translation = sys.argv[2]
-after = sys.argv[3]
-
-def addLine(filename, newline):
+def addLine(filename, newline, after):
print filename, newline
lines = file(filename, 'r').readlines()
for i, line in enumerate(lines):
@@ -15,22 +11,27 @@ def addLine(filename, newline):
break
file(filename, 'w').writelines(lines)
-def modifyTranslations():
- for filename in ['translations/en.h'] + glob.glob('translations/*.h.txt'):
- newline = "#define " + string + " "*(23-len(string)) + '"' + translation + '"'
- addLine(filename, newline)
+def modifyTranslations(constant, translation, after):
+ for filename in glob.glob('translations/*.h.txt'):
+ newline = "#define " + constant + " "*(23-len(constant)) + '"' + translation + '"'
+ addLine(filename, newline, after+" ")
-def modifyDeclaration():
- newline = "extern const pm_char S" + string + "[];"
+def modifyDeclaration(constant, after):
+ newline = "extern const pm_char S" + constant + "[];"
filename = "translations.h"
- addLine(filename, newline)
+ addLine(filename, newline, after+"[];")
-def modifyDefinition():
- newline = "const pm_char S" + string + "[] PROGMEM = " + string + ";"
+def modifyDefinition(constant, after):
+ newline = "const pm_char S" + constant + "[] PROGMEM = " + constant + ";"
filename = "translations.cpp"
- addLine(filename, newline)
+ addLine(filename, newline, after+"[] ")
-modifyTranslations()
-modifyDeclaration()
-modifyDefinition()
+
+after = sys.argv[-1]
+for arg in sys.argv[1:-1]:
+ constant, translation = arg.split("=")
+ modifyTranslations(constant, translation, after)
+ modifyDeclaration(constant, after)
+ modifyDefinition(constant, after)
+ after = constant
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