diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index ec8530b73..7e53ab2c0 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -483,6 +483,7 @@ if(ARCH STREQUAL ARM) option(TRACE_FATFS "Traces FatFS enabled" OFF) option(TRACE_AUDIO "Traces audio enabled" OFF) option(DEBUG_TRACE_BUFFER "Debug Trace Screen" OFF) + option(MULTIMODULE "DIY Multiprotocol TX Module (https://github.com/pascallanger/DIY-Multiprotocol-TX-Module)" OFF) option(SUPPORT_D16_EU_ONLY "XJT module only supports D16-EU and LR12-EU" OFF) # TODO rename to XJT_EU_ONLY if(TIMERS EQUAL 3) add_definitions(-DTIMERS=3) @@ -528,6 +529,10 @@ if(ARCH STREQUAL ARM) set(SRC ${SRC} haptic.cpp) set(TARGET_SRC ${TARGET_SRC} haptic_driver.cpp) endif() + if(MULTIMODULE) + add_definitions(-DMULTIMODULE) + set(SRC ${SRC} pulses/multi_arm.cpp) + endif() add_definitions(-DCPUARM) add_definitions(-DFRSKY -DFRSKY_SPORT -DFRSKY_HUB -DGPS -DPXX -DDSM2) add_definitions(-DBOLD_FONT -DBATTGRAPH -DTHRTRACE) diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 3131a9693..2cceb362f 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -686,13 +686,24 @@ PACK(struct ModuleData { int8_t rfProtocol:4; uint8_t channelsStart; int8_t channelsCount; // 0=8 channels - uint8_t failsafeMode:7; + uint8_t failsafeMode:4; //only 3 bits used + uint8_t subType:3; uint8_t invertedSerial:1; // telemetry serial inverted from standard int16_t failsafeChannels[NUM_CHNOUT]; - int8_t ppmDelay:6; - uint8_t ppmPulsePol:1; // For PXX: false = internal antenna, true = exetrnal antenna - uint8_t ppmOutputType:1; // false = open drain, true = push pull - int8_t ppmFrameLength; + union { + struct { + int8_t delay:6; + uint8_t pulsePol:1; + uint8_t outputType:1; // false = open drain, true = push pull + int8_t frameLength; + } ppm; + NOBACKUP(struct { + uint8_t rfProtocol:6; // can be changed to rfProtocol if rfProtocol gets more bits, currently 6 bits used + uint8_t autoBindMode:1; + uint8_t lowPowerMode:1; + int8_t optionValue; + } multi); + }; }); /* diff --git a/radio/src/gui/9x/menu_model_setup.cpp b/radio/src/gui/9x/menu_model_setup.cpp index cd6c2fc82..fa5fcb216 100644 --- a/radio/src/gui/9x/menu_model_setup.cpp +++ b/radio/src/gui/9x/menu_model_setup.cpp @@ -562,21 +562,21 @@ void menuModelSetup(uint8_t event) if (IS_MODULE_PPM(moduleIdx)) { lcd_putsLeft(y, STR_PPMFRAME); lcdDrawText(MODEL_SETUP_2ND_COLUMN+3*FW, y, STR_MS); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.ppmFrameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.ppm.frameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT); lcdDrawChar(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, 'u'); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, (moduleData.ppmDelay*50)+300, (CURSOR_ON_LINE() || menuHorizontalPosition==1) ? attr : 0); - lcdDrawChar(MODEL_SETUP_2ND_COLUMN+10*FW, y, moduleData.ppmPulsePol ? '+' : '-', (CURSOR_ON_LINE() || menuHorizontalPosition==2) ? attr : 0); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, (moduleData.ppm.delay*50)+300, (CURSOR_ON_LINE() || menuHorizontalPosition==1) ? attr : 0); + lcdDrawChar(MODEL_SETUP_2ND_COLUMN+10*FW, y, moduleData.ppm.pulsePol ? '+' : '-', (CURSOR_ON_LINE() || menuHorizontalPosition==2) ? attr : 0); if (attr && (editMode>0 || p1valdiff)) { switch (menuHorizontalPosition) { case 0: - CHECK_INCDEC_MODELVAR(event, moduleData.ppmFrameLength, -20, 35); + CHECK_INCDEC_MODELVAR(event, moduleData.ppm.frameLength, -20, 35); break; case 1: - CHECK_INCDEC_MODELVAR(event, moduleData.ppmDelay, -4, 10); + CHECK_INCDEC_MODELVAR(event, moduleData.ppm.delay, -4, 10); break; case 2: - CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.ppmPulsePol, 1); + CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.ppm.pulsePol, 1); break; } } diff --git a/radio/src/gui/horus/menu_model_setup.cpp b/radio/src/gui/horus/menu_model_setup.cpp index cbca7041f..28ba66c85 100644 --- a/radio/src/gui/horus/menu_model_setup.cpp +++ b/radio/src/gui/horus/menu_model_setup.cpp @@ -633,20 +633,20 @@ bool menuModelSetup(evt_t event) ModuleData & moduleData = g_model.moduleData[moduleIdx]; if (IS_MODULE_PPM(moduleIdx)) { lcdDrawText(MENUS_MARGIN_LEFT, y, STR_PPMFRAME); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.ppmFrameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT, 0, NULL, STR_MS); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+90, y, (moduleData.ppmDelay*50)+300, (CURSOR_ON_LINE() || menuHorizontalPosition==1) ? attr|RIGHT : RIGHT, 0, NULL, "us"); - lcdDrawText(MODEL_SETUP_2ND_COLUMN+120, y, moduleData.ppmPulsePol ? "+" : "-", (CURSOR_ON_LINE() || menuHorizontalPosition==2) ? attr : 0); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.ppm.frameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT, 0, NULL, STR_MS); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+90, y, (moduleData.ppm.delay*50)+300, (CURSOR_ON_LINE() || menuHorizontalPosition==1) ? attr|RIGHT : RIGHT, 0, NULL, "us"); + lcdDrawText(MODEL_SETUP_2ND_COLUMN+120, y, moduleData.ppm.pulsePol ? "+" : "-", (CURSOR_ON_LINE() || menuHorizontalPosition==2) ? attr : 0); if (attr && s_editMode>0) { switch (menuHorizontalPosition) { case 0: - CHECK_INCDEC_MODELVAR(event, moduleData.ppmFrameLength, -20, 35); + CHECK_INCDEC_MODELVAR(event, moduleData.ppm.frameLength, -20, 35); break; case 1: - CHECK_INCDEC_MODELVAR(event, moduleData.ppmDelay, -4, 10); + CHECK_INCDEC_MODELVAR(event, moduleData.ppm.delay, -4, 10); break; case 2: - CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.ppmPulsePol, 1); + CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.ppm.pulsePol, 1); break; } } diff --git a/radio/src/gui/taranis/menu_model_setup.cpp b/radio/src/gui/taranis/menu_model_setup.cpp index 08eafc445..b06844a9c 100644 --- a/radio/src/gui/taranis/menu_model_setup.cpp +++ b/radio/src/gui/taranis/menu_model_setup.cpp @@ -80,6 +80,10 @@ enum menuModelSetupItems { ITEM_MODEL_EXTERNAL_MODULE_CHANNELS, ITEM_MODEL_EXTERNAL_MODULE_BIND, ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE, +#ifdef MULTIMODULE + ITEM_MODEL_EXTERNAL_MODULE_AUTOBIND, + ITEM_MODEL_EXTERNAL_MODULE_LOWPOWER, +#endif ITEM_MODEL_TRAINER_LABEL, ITEM_MODEL_TRAINER_MODE, ITEM_MODEL_TRAINER_CHANNELS, @@ -188,12 +192,28 @@ int getSwitchWarningsCount() #define IS_D8_RX(x) (g_model.moduleData[x].rfProtocol == RF_PROTO_D8) #define IF_EXTERNAL_MODULE_XJT(x) (IS_MODULE_XJT(EXTERNAL_MODULE) ? (uint8_t)x : HIDDEN_ROW) #define INTERNAL_MODULE_CHANNELS_ROWS IF_INTERNAL_MODULE_ON(1) -#define EXTERNAL_MODULE_CHANNELS_ROWS IF_EXTERNAL_MODULE_ON((IS_MODULE_DSM2(EXTERNAL_MODULE) || IS_MODULE_CROSSFIRE(EXTERNAL_MODULE)) ? (uint8_t)0 : (uint8_t)1) +#define EXTERNAL_MODULE_CHANNELS_ROWS IF_EXTERNAL_MODULE_ON((IS_MODULE_DSM2(EXTERNAL_MODULE) || IS_MODULE_CROSSFIRE(EXTERNAL_MODULE) || IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) ? (uint8_t)0 : (uint8_t)1) #define TRAINER_CHANNELS_ROWS() IF_TRAINER_ON(1) #define PORT_CHANNELS_ROWS(x) (x==INTERNAL_MODULE ? INTERNAL_MODULE_CHANNELS_ROWS : (x==EXTERNAL_MODULE ? EXTERNAL_MODULE_CHANNELS_ROWS : TRAINER_CHANNELS_ROWS())) -#define FAILSAFE_ROWS(x) (HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[x].rfProtocol) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW) +#if defined MULTIMODULE +#define MULTIMODULE_HASOPTIONS(x) (x == MM_RF_PROTO_HUBSAN || x == MM_RF_PROTO_FRSKY || x == MM_RF_PROTO_DSM2 || x >= MM_RF_PROTO_CUSTOM) +#define MULTIMODULE_FAILSAFEROWS(x) (IS_MODULE_MULTIMODULE(x) && (MULTIMODULE_HASOPTIONS(g_model.moduleData[x].multi.rfProtocol))) ? (uint8_t) 1: HIDDEN_ROW +#else +#define MULTIMODULE_FAILSAFEROWS(x) HIDDEN_ROW +#endif +#define FAILSAFE_ROWS(x) (IS_MODULE_XJT(x) && HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[x].rfProtocol) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : MULTIMODULE_FAILSAFEROWS(x)) #define TIMER_ROWS 2|NAVIGATION_LINE_BY_LINE, 0, CASE_PERSISTENT_TIMERS(0) 0, 0 -#define EXTERNAL_MODULE_MODE_ROWS (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0 +#if defined(MULTIMODULE) + +#define MULTIMODULE_HAS_SUBTYPE(x) (x == MM_RF_PROTO_FLYSKY || x == MM_RF_PROTO_FRSKY || x == MM_RF_PROTO_HISKY || x == MM_RF_PROTO_DSM2 || x == MM_RF_PROTO_YD717 || x == MM_RF_PROTO_KN || x == MM_RF_PROTO_SYMAX || x == MM_RF_PROTO_CX10 || x == MM_RF_PROTO_CG023 || x == MM_RF_PROTO_MT99XX || x == MM_RF_PROTO_MJXQ) +#define MULTIMODULE_MODE_ROWS(x) (g_model.moduleData[x].multi.rfProtocol >= MM_RF_PROTO_CUSTOM ) ? (uint8_t) 3 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].multi.rfProtocol) ? (uint8_t)2 : (uint8_t)1 +#define MULTIMODULE_MODULE_ROWS IS_MODULE_MULTIMODULE(EXTERNAL_MODULE) ? (uint8_t) 1 : HIDDEN_ROW, IS_MODULE_MULTIMODULE(EXTERNAL_MODULE) ? (uint8_t) 1 : HIDDEN_ROW, +#else +#define MULTIMODULE_MODE_ROWS(x) (uint8_t)0 +#define MULTIMODULE_MODULE_ROWS +#endif +#define EXTERNAL_MODULE_MODE_ROWS (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : IS_MODULE_MULTIMODULE(EXTERNAL_MODULE) ? MULTIMODULE_MODE_ROWS(EXTERNAL_MODULE) : (uint8_t)0 + #if TIMERS == 1 #define TIMERS_ROWS TIMER_ROWS #elif TIMERS == 2 @@ -211,6 +231,7 @@ int getSwitchWarningsCount() #define TOPLCD_ROWS #endif + void menuModelSetup(uint8_t event) { horzpos_t l_posHorz = menuHorizontalPosition; @@ -225,9 +246,9 @@ void menuModelSetup(uint8_t event) IF_INTERNAL_MODULE_ON(IS_MODULE_XJT(INTERNAL_MODULE) ? (HAS_RF_PROTOCOL_MODELINDEX(g_model.moduleData[INTERNAL_MODULE].rfProtocol) ? (uint8_t)2 : (uint8_t)1) : (IS_MODULE_PPM(INTERNAL_MODULE) ? (uint8_t)1 : HIDDEN_ROW)), IF_INTERNAL_MODULE_ON((IS_MODULE_XJT(INTERNAL_MODULE)) ? FAILSAFE_ROWS(INTERNAL_MODULE) : HIDDEN_ROW), LABEL(ExternalModule), - (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, + (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE) || IS_MODULE_MULTIMODULE(EXTERNALE_MODULE)) ? (uint8_t)1 : (uint8_t)0, EXTERNAL_MODULE_CHANNELS_ROWS, - (IS_MODULE_XJT(EXTERNAL_MODULE) && !HAS_RF_PROTOCOL_MODELINDEX(g_model.moduleData[EXTERNAL_MODULE].rfProtocol)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW, + (IS_MODULE_XJT(EXTERNAL_MODULE) && !HAS_RF_PROTOCOL_MODELINDEX(g_model.moduleData[EXTERNAL_MODULE].rfProtocol)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE) || IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW, IF_EXTERNAL_MODULE_XJT(FAILSAFE_ROWS(EXTERNAL_MODULE)), LABEL(Trainer), 0, TRAINER_CHANNELS_ROWS(), IF_TRAINER_ON(2)}); #else @@ -241,8 +262,8 @@ void menuModelSetup(uint8_t event) LABEL(ExternalModule), EXTERNAL_MODULE_MODE_ROWS, EXTERNAL_MODULE_CHANNELS_ROWS, - (IS_MODULE_XJT(EXTERNAL_MODULE) && !HAS_RF_PROTOCOL_MODELINDEX(g_model.moduleData[EXTERNAL_MODULE].rfProtocol)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW, - IF_EXTERNAL_MODULE_XJT(FAILSAFE_ROWS(EXTERNAL_MODULE)), + (IS_MODULE_XJT(EXTERNAL_MODULE) && !HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[EXTERNAL_MODULE].rfProtocol)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE) || IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW, + FAILSAFE_ROWS(EXTERNAL_MODULE), MULTIMODULE_MODULE_ROWS LABEL(Trainer), 0, TRAINER_CHANNELS_ROWS(), IF_TRAINER_ON(2)}); #endif MENU_CHECK(STR_MENUSETUP, menuTabModel, e_ModelSetup, ITEM_MODEL_SETUP_MAX); @@ -665,6 +686,52 @@ void menuModelSetup(uint8_t event) lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_XJT_PROTOCOLS, 1+g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0); else if (IS_MODULE_DSM2(EXTERNAL_MODULE)) lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0); +#if defined(MULTIMODULE) + else if (IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) { + int8_t multi_rfProto = min(g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol, (uint8_t) MM_RF_PROTO_CUSTOM); + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_MULTI_PROTOCOLS, multi_rfProto, menuHorizontalPosition==1 ? attr : 0); + + switch(multi_rfProto) { + case MM_RF_PROTO_FLYSKY: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_FLYSKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_FRSKY: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_XJT_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].subType+1, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_HISKY: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_HISKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_DSM2: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].subType+1, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_YD717: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_YD717, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_KN: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_KN, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_SYMAX: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_SYMAX, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_CX10: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_CX10, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_CG023: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_CG023, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_MT99XX: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_MT99, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_MJXQ: + lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_MJXQ, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + break; + case MM_RF_PROTO_CUSTOM: + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+14*FW, y, g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol & 0x1f, menuHorizontalPosition==2 ? attr : 0, 2); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+16*FW, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==3 ? attr : 0, 2); + break; + } + } +#endif if (attr && s_editMode>0) { switch (menuHorizontalPosition) { case 0: @@ -678,12 +745,52 @@ void menuModelSetup(uint8_t event) case 1: if (IS_MODULE_DSM2(EXTERNAL_MODULE)) CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, DSM2_PROTO_LP45, DSM2_PROTO_DSMX); + else if (IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) { + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol, MM_RF_PROTO_FIRST, MM_RF_PROTO_LAST); + if (checkIncDec_Ret) + g_model.moduleData[EXTERNAL_MODULE].subType=0; + } else g_model.moduleData[EXTERNAL_MODULE].rfProtocol = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, RF_PROTO_X16, RF_PROTO_LAST, EE_MODEL, isRfProtocolAvailable); if (checkIncDec_Ret) { g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0; g_model.moduleData[EXTERNAL_MODULE].channelsCount = 0; } + break; +#if defined(MULTIMODULE) + case 2: + switch (min(g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol, (uint8_t) MM_RF_PROTO_CUSTOM)) { + case MM_RF_PROTO_HISKY: + case MM_RF_PROTO_DSM2: + case MM_RF_PROTO_SYMAX: + case MM_RF_PROTO_KN: + case MM_RF_PROTO_FRSKY: + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 1); + break; + case MM_RF_PROTO_CG023: + case MM_RF_PROTO_MT99XX: + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 2); + break; + case MM_RF_PROTO_FLYSKY: + case MM_RF_PROTO_MJXQ: + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3); + break; + case MM_RF_PROTO_YD717: + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 4); + break; + case MM_RF_PROTO_CX10: + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 7); + break; + case MM_RF_PROTO_CUSTOM: + g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol = 0x20 | checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol & 0x1f, 1, 31, EE_MODEL); + break; + } + break; + case 3: + // Custom protocol, third column is subtype + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 7); + break; +#endif } } break; @@ -737,21 +844,21 @@ void menuModelSetup(uint8_t event) if (IS_MODULE_PPM(moduleIdx)) { lcd_putsLeft(y, STR_PPMFRAME); lcdDrawText(MODEL_SETUP_2ND_COLUMN+3*FW, y, STR_MS); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.ppmFrameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.ppm.frameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT); lcdDrawChar(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, 'u'); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, (moduleData.ppmDelay*50)+300, (CURSOR_ON_LINE() || menuHorizontalPosition==1) ? attr : 0); - lcdDrawChar(MODEL_SETUP_2ND_COLUMN+10*FW, y, moduleData.ppmPulsePol ? '+' : '-', (CURSOR_ON_LINE() || menuHorizontalPosition==2) ? attr : 0); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, (moduleData.ppm.delay*50)+300, (CURSOR_ON_LINE() || menuHorizontalPosition==1) ? attr : 0); + lcdDrawChar(MODEL_SETUP_2ND_COLUMN+10*FW, y, moduleData.ppm.pulsePol ? '+' : '-', (CURSOR_ON_LINE() || menuHorizontalPosition==2) ? attr : 0); if (attr && s_editMode>0) { switch (menuHorizontalPosition) { case 0: - CHECK_INCDEC_MODELVAR(event, moduleData.ppmFrameLength, -20, 35); + CHECK_INCDEC_MODELVAR(event, moduleData.ppm.frameLength, -20, 35); break; case 1: - CHECK_INCDEC_MODELVAR(event, moduleData.ppmDelay, -4, 10); + CHECK_INCDEC_MODELVAR(event, moduleData.ppm.delay, -4, 10); break; case 2: - CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.ppmPulsePol, 1); + CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.ppm.pulsePol, 1); break; } } @@ -767,11 +874,13 @@ void menuModelSetup(uint8_t event) else { lcd_putsLeft(y, STR_RXNUM); } - if (IS_MODULE_XJT(moduleIdx) || IS_MODULE_DSM2(moduleIdx)) { + if (IS_MODULE_XJT(moduleIdx) || IS_MODULE_DSM2(moduleIdx) || IS_MODULE_MULTIMODULE(moduleIdx)) { if (xOffsetBind) lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.header.modelId[moduleIdx], (l_posHorz==0 ? attr : 0) | LEADING0|LEFT, 2); if (attr && l_posHorz==0) { if (s_editMode>0) { - CHECK_INCDEC_MODELVAR_ZERO(event, g_model.header.modelId[moduleIdx], IS_MODULE_DSM2(moduleIdx) ? 20 : 63); + CHECK_INCDEC_MODELVAR_ZERO(event, g_model.header.modelId[moduleIdx], + IS_MODULE_DSM2(moduleIdx) ? 20 : + IS_MODULE_MULTIMODULE(moduleIdx) ? 15 : 63); if (checkIncDec_Ret) { modelHeaders[g_eeGeneral.currModel].modelId[moduleIdx] = g_model.header.modelId[moduleIdx]; } @@ -827,8 +936,39 @@ void menuModelSetup(uint8_t event) } } } +#if defined(MULTIMODULE) + else if (IS_MODULE_MULTIMODULE(moduleIdx)) { + switch (g_model.moduleData[moduleIdx].multi.rfProtocol) { + case MM_RF_PROTO_FRSKY: + lcd_putsLeft(y, STR_MULTI_RFTUNE); + break; + case MM_RF_PROTO_HUBSAN: + lcd_putsLeft(y, STR_MULTI_VIDFREQ); + break; + case MM_RF_PROTO_DSM2: + g_model.moduleData[moduleIdx].multi.optionValue = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_DSMFRAME, STR_OPTIONS_DSM, g_model.moduleData[moduleIdx].multi.optionValue, 0, 12, attr, event); + break; + default: + lcd_putsLeft(y, STR_MULTI_OPTION); + break; + } + if (g_model.moduleData[moduleIdx].multi.rfProtocol != MM_RF_PROTO_DSM2) { + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].multi.optionValue, LEFT | attr); + if (attr) + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); + } + } +#endif break; } +#if defined(MULTIMODULE) + case ITEM_MODEL_EXTERNAL_MODULE_AUTOBIND: + g_model.moduleData[EXTERNAL_MODULE].multi.autoBindMode = editCheckBox(g_model.moduleData[EXTERNAL_MODULE].multi.autoBindMode, MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_AUTOBIND, attr, event); + break; + case ITEM_MODEL_EXTERNAL_MODULE_LOWPOWER: + g_model.moduleData[EXTERNAL_MODULE].multi.lowPowerMode = editCheckBox(g_model.moduleData[EXTERNAL_MODULE].multi.lowPowerMode, MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_LOWPOWER, attr, event); + break; +#endif } } diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index cae80e7e6..0298dac07 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -53,7 +53,7 @@ #define GVAR_VALUE(gv, fm) g_model.flightModeData[fm].gvars[gv] #endif -#define SET_DEFAULT_PPM_FRAME_LENGTH(idx) g_model.moduleData[idx].ppmFrameLength = 4 * max((int8_t)0, g_model.moduleData[idx].channelsCount) +#define SET_DEFAULT_PPM_FRAME_LENGTH(idx) g_model.moduleData[idx].ppm.frameLength = 4 * max((int8_t)0, g_model.moduleData[idx].channelsCount) #if defined(PCBTARANIS) || defined(PCBHORUS) #define IS_TRAINER_EXTERNAL_MODULE() (g_model.trainerMode == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || g_model.trainerMode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE) @@ -466,11 +466,14 @@ enum Protocols { PROTO_CROSSFIRE, #endif #if defined(IRPROTOS) - // we will need 4 bytes for proto :( + // we will need 4 bits for proto :( PROTO_SILV, PROTO_TRAC09, PROTO_PICZ, PROTO_SWIFT, +#endif +#if defined(MULTIMODULE) + PROTO_MULTIMODULE, #endif PROTO_MAX, PROTO_NONE @@ -484,6 +487,31 @@ enum RFProtocols { RF_PROTO_LAST = RF_PROTO_LR12 }; +enum MultiModuleRFProtocols { + MM_RF_PROTO_FLYSKY=0, + MM_RF_PROTO_FIRST=MM_RF_PROTO_FLYSKY, + MM_RF_PROTO_HUBSAN, + MM_RF_PROTO_FRSKY, + MM_RF_PROTO_HISKY, + MM_RF_PROTO_V2X2, + MM_RF_PROTO_DSM2, + MM_RF_PROTO_DEVO, + MM_RF_PROTO_YD717, + MM_RF_PROTO_KN, + MM_RF_PROTO_SYMAX, + MM_RF_PROTO_SLT, + MM_RF_PROTO_CX10, + MM_RF_PROTO_CG023, + MM_RF_PROTO_BAYANG, + MM_RF_PROTO_ESky, + MM_RF_PROTO_MT99XX, + MM_RF_PROTO_MJXQ, + MM_RF_PROTO_SHENQI, + MM_RF_PROTO_FY326, + MM_RF_PROTO_CUSTOM, + MM_RF_PROTO_LAST= MM_RF_PROTO_CUSTOM +}; + #define HAS_RF_PROTOCOL_FAILSAFE(rf) ((rf) == RF_PROTO_X16) #define HAS_RF_PROTOCOL_MODELINDEX(rf) (((rf) == RF_PROTO_X16) || ((rf) == RF_PROTO_LR12)) @@ -502,6 +530,9 @@ enum ModuleTypes { #endif #if defined(CROSSFIRE) MODULE_TYPE_CROSSFIRE, +#endif +#if defined(MULTIMODULE) + MODULE_TYPE_MULTIMODULE, #endif MODULE_TYPE_COUNT }; diff --git a/radio/src/opentx.h b/radio/src/opentx.h index dfddf121b..0d90d15fa 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -461,6 +461,11 @@ void memswap(void * a, void * b, uint8_t size); #else #define IS_MODULE_CROSSFIRE(idx) (false) #endif + #if defined(MULTIMODULE) + #define IS_MODULE_MULTIMODULE(idx) (idx==EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type==MODULE_TYPE_MULTIMODULE) + #else + #define IS_MODULE_MULTIMODULE(idx) (false) + #endif #if defined(TARANIS_INTERNAL_PPM) #define MAX_INTERNAL_MODULE_CHANNELS() ((g_model.moduleData[INTERNAL_MODULE].type == MODULE_TYPE_XJT) ? maxChannelsXJT[1+g_model.moduleData[0].rfProtocol] : maxChannelsModules[g_model.moduleData[INTERNAL_MODULE].type]) #else @@ -468,7 +473,7 @@ void memswap(void * a, void * b, uint8_t size); #endif #define MAX_EXTERNAL_MODULE_CHANNELS() ((g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_XJT) ? maxChannelsXJT[1+g_model.moduleData[1].rfProtocol] : maxChannelsModules[g_model.moduleData[EXTERNAL_MODULE].type]) #define MAX_CHANNELS(idx) (idx==INTERNAL_MODULE ? MAX_INTERNAL_MODULE_CHANNELS() : (idx==EXTERNAL_MODULE ? MAX_EXTERNAL_MODULE_CHANNELS() : MAX_TRAINER_CHANNELS())) - #define NUM_CHANNELS(idx) (IS_MODULE_CROSSFIRE(idx) ? CROSSFIRE_CHANNELS_COUNT : (8+g_model.moduleData[idx].channelsCount)) + #define NUM_CHANNELS(idx) ((IS_MODULE_CROSSFIRE(idx) || IS_MODULE_MULTIMODULE(idx)) ? CROSSFIRE_CHANNELS_COUNT : (8+g_model.moduleData[idx].channelsCount)) #elif defined(PCBSKY9X) && !defined(REVA) #define IS_MODULE_PPM(idx) (idx==TRAINER_MODULE || idx==EXTRA_MODULE || (idx==EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type==MODULE_TYPE_PPM)) #define IS_MODULE_XJT(idx) (idx==EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type==MODULE_TYPE_XJT) diff --git a/radio/src/pulses/multi_arm.cpp b/radio/src/pulses/multi_arm.cpp new file mode 100644 index 000000000..841e758a9 --- /dev/null +++ b/radio/src/pulses/multi_arm.cpp @@ -0,0 +1,186 @@ +/* + * Copyright (C) OpenTX + * + * Based on code named + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + */ + +#include "opentx.h" + +// for the MULTI protocol definition +// see https://github.com/pascallanger/DIY-Multiprotocol-TX-Module +// file Multiprotocol/multiprotocol.h + + + +/* The protocol is heavily inspired by the DSM2 protocol, so reuse some the definitions where they are identical */ + +#define MULTI_SEND_BIND (1 << 7) +#define MULTI_SEND_RANGECHECK (1 << 5) +#define MULTI_SEND_AUTOBIND (1 << 6) + + +#define BITLEN_MULTI (10*2) //100000 Baud => 10uS per bit + +#if defined(PPM_PIN_HW_SERIAL) +static void sendByteMulti(uint8_t b) +{ + uint8_t parity = 1; + + putDsm2SerialBit(0); // Start bit + for (uint8_t i=0; i<8; i++) { // 8 data Bits + putDsm2SerialBit(b & 1); + parity = parity ^ (b & 1); + b >>= 1; + } + putDsm2SerialBit(parity); // Even Parity bit + + putDsm2SerialBit(1); // Stop bit + putDsm2SerialBit(1); // Stop bit +} +#else +static void _send_level(uint8_t v) +{ + /* Copied over from DSM, this looks doubious and in my logic analyzer + output the low->high is about 2 ns late */ + if (modulePulsesData[EXTERNAL_MODULE].dsm2.index == 0) + v -= 2; + else + v += 2; + + modulePulsesData[EXTERNAL_MODULE].dsm2.value += v; + *modulePulsesData[EXTERNAL_MODULE].dsm2.ptr++ = modulePulsesData[EXTERNAL_MODULE].dsm2.value; + modulePulsesData[EXTERNAL_MODULE].dsm2.index = (modulePulsesData[EXTERNAL_MODULE].dsm2.index+1) % 2; +} + +static void sendByteMulti(uint8_t b) //max 11 changes 0 10 10 10 10 P 1 +{ + bool lev = 0; + uint8_t parity = 1; + + uint8_t len = BITLEN_MULTI; //max val: 10*20 < 256 + for (uint8_t i=0; i<=9; i++) { //8Bits + 1Parity + Stop=1 + bool nlev = b & 1; //lsb first + parity = parity ^ nlev; + if (lev == nlev) { + len += BITLEN_MULTI; + } + else { + _send_level(len); + len = BITLEN_MULTI; + lev = nlev; + } + b = (b>>1) | 0x80; //shift in ones for stop bit and parity + if (i==7) + b = b ^ parity; // lowest bit is one from previous line + } + _send_level(len+2*BITLEN_MULTI); // 2Stop bits +} +#endif + +// This is the data stream to send, prepare after 19.5 mS +// Send after 22.5 mS + +//static uint8_t *Dsm2_pulsePtr = pulses2MHz.pbyte ; + + +#define MULTI_CHANS 16 +#define MULTI_CHAN_BITS 11 +void setupPulsesMultimodule(unsigned int port) +{ + +#if defined(PPM_PIN_HW_SERIAL) + modulePulsesData[EXTERNAL_MODULE].dsm2.serialByte = 0 ; + modulePulsesData[EXTERNAL_MODULE].dsm2.serialBitCount = 0 ; +#else + modulePulsesData[EXTERNAL_MODULE].dsm2.value = 0; + modulePulsesData[EXTERNAL_MODULE].dsm2.index = 1; +#endif + + modulePulsesData[EXTERNAL_MODULE].dsm2.ptr = modulePulsesData[EXTERNAL_MODULE].dsm2.pulses; + +#if defined(PCBTARANIS) + modulePulsesData[EXTERNAL_MODULE].dsm2.value = 100; + *modulePulsesData[EXTERNAL_MODULE].dsm2.ptr++ = modulePulsesData[EXTERNAL_MODULE].dsm2.value; +#endif + + // header, byte 0, always 0x55 + sendByteMulti(0x55); + + // byte 1+2, protocol information + + int type = g_model.moduleData[port].multi.rfProtocol +1; + int subtype = g_model.moduleData[port].subType; + + uint8_t protoByte=0; + if (moduleFlag[port] == MODULE_BIND) + protoByte |= MULTI_SEND_BIND; + else if (moduleFlag[port] == MODULE_RANGECHECK) + protoByte |= MULTI_SEND_RANGECHECK; + + // rfProtocol + // 15 for Multimodule is FrskyX or D16 which we map as a subprotocol of 3 (FrSky) + // all protos > frskyx are therefore also off by one + if (type >=15) + type= type +1; + + if (g_model.moduleData[port].multi.rfProtocol == MM_RF_PROTO_FRSKY) { + if(subtype == 1) + type = 3; + else + type = 15; + subtype = 0; + } + + if (g_model.moduleData[port].multi.rfProtocol >= MM_RF_PROTO_CUSTOM) + type = g_model.moduleData[port].multi.rfProtocol & 0x1f; + + protoByte |= (type & 0x1f) | (g_model.moduleData[port].multi.autoBindMode << 6); + sendByteMulti(protoByte); + + + // power always set to high (0 << 7) + sendByteMulti((g_model.header.modelId[port] & 0x0f) + | ((subtype & 0x7) << 4) + | (g_model.moduleData[port].multi.lowPowerMode << 7) + ); + + + + //TODO: option_protocol, use same default as multi module + // byte 3 + sendByteMulti(g_model.moduleData[port].multi.optionValue); + + uint32_t bits = 0; + uint8_t bitsavailable = 0; + + // byte 4-25, channels 0..2047 + // ?? Range for pulses (channelsOutputs) is [-1024:+1024] + for (int i=0; i= 8) { + sendByteMulti((uint8_t) (bits & 0xff)); + bits >>= 8; + bitsavailable -= 8; + } + } + + putDsm2Flush(); +} diff --git a/radio/src/pulses/ppm_arm.cpp b/radio/src/pulses/ppm_arm.cpp index 05807d884..30b85084c 100644 --- a/radio/src/pulses/ppm_arm.cpp +++ b/radio/src/pulses/ppm_arm.cpp @@ -35,8 +35,8 @@ void setupPulsesPPM(unsigned int port) // Don't enable interru // TODO move register stuff to driver register Pwm *pwmptr = PWM; uint32_t pwmCh = (port == EXTERNAL_MODULE ? 3 : 1); - pwmptr->PWM_CH_NUM[pwmCh].PWM_CDTYUPD = (g_model.moduleData[port].ppmDelay * 50 + 300) * 2; //Stoplen *2 - if (g_model.moduleData[port].ppmPulsePol) + pwmptr->PWM_CH_NUM[pwmCh].PWM_CDTYUPD = (g_model.moduleData[port].ppm.delay * 50 + 300) * 2; //Stoplen *2 + if (g_model.moduleData[port].ppm.pulsePol) pwmptr->PWM_CH_NUM[pwmCh].PWM_CMR &= ~0x00000200 ; // CPOL else pwmptr->PWM_CH_NUM[pwmCh].PWM_CMR |= 0x00000200 ; // CPOL @@ -48,7 +48,7 @@ void setupPulsesPPM(unsigned int port) // Don't enable interru ppmPulsesData->ptr = ptr; int32_t rest = 22500u * 2; - rest += (int32_t(g_model.moduleData[port].ppmFrameLength)) * 1000; + rest += (int32_t(g_model.moduleData[port].ppm.frameLength)) * 1000; for (uint32_t i=firstCh; i(PROTO_DSM2_LP45, PROTO_DSM2_LP45+g_model.moduleData[EXTERNAL_MODULE].rfProtocol, PROTO_DSM2_DSMX); @@ -123,6 +128,11 @@ void setupPulses(unsigned int port) case PROTO_CROSSFIRE: disable_crossfire(port); break; +#endif +#if defined(MULTIMODULE) + case PROTO_MULTIMODULE: + disable_dsm2(port); + break; #endif case PROTO_PPM: disable_ppm(port); @@ -149,6 +159,11 @@ void setupPulses(unsigned int port) case PROTO_CROSSFIRE: init_crossfire(port); break; +#endif +#if defined(MULTIMODULE) + case PROTO_MULTIMODULE: + init_dsm2(port); + break; #endif case PROTO_PPM: init_ppm(port); @@ -182,6 +197,11 @@ void setupPulses(unsigned int port) } break; } +#endif +#if defined(MULTIMODULE) + case PROTO_MULTIMODULE: + setupPulsesMultimodule(port); + break; #endif case PROTO_PPM: setupPulsesPPM(port); diff --git a/radio/src/pulses/pulses_arm.h b/radio/src/pulses/pulses_arm.h index 9a8fb4091..eb4f35289 100644 --- a/radio/src/pulses/pulses_arm.h +++ b/radio/src/pulses/pulses_arm.h @@ -88,11 +88,16 @@ union TrainerPulsesData { extern ModulePulsesData modulePulsesData[NUM_MODULES]; extern TrainerPulsesData trainerPulsesData; +extern const uint16_t CRCTable[]; void setupPulses(unsigned int port); void setupPulsesDSM2(unsigned int port); +void setupPulsesMultimodule(unsigned int port); void setupPulsesPXX(unsigned int port); void setupPulsesPPM(unsigned int port); +void sendByteDsm2(uint8_t b); +void putDsm2Flush(); +void putDsm2SerialBit(uint8_t bit); void createCrossfireFrame(uint8_t * frame, int16_t * pulses); diff --git a/radio/src/storage/datacopy.cpp b/radio/src/storage/datacopy.cpp index 6afc7fb06..eec909994 100644 --- a/radio/src/storage/datacopy.cpp +++ b/radio/src/storage/datacopy.cpp @@ -1,4 +1,4 @@ -//This file was auto-generated by generate_datacopy.py script on Fri Mar 25 14:17:31 2016. Do not edit this file! +//This file was auto-generated by generate_datacopy.py script on Fri Mar 25 14:26:09 2016. Do not edit this file! @@ -194,10 +194,7 @@ void copyModuleData(A * dest, B * src) dest->failsafeMode = src->failsafeMode; dest->invertedSerial = src->invertedSerial; memcpy(dest->failsafeChannels, src->failsafeChannels, sizeof(dest->failsafeChannels)); - dest->ppmDelay = src->ppmDelay; - dest->ppmPulsePol = src->ppmPulsePol; - dest->ppmOutputType = src->ppmOutputType; - dest->ppmFrameLength = src->ppmFrameLength; + copyModuleData_ppm(&dest->ppm, &src->ppm); } template @@ -338,3 +335,12 @@ void copyTelemetrySensor_custom(A * dest, B * src) dest->ratio = src->ratio; dest->offset = src->offset; } + +template +void copyModuleData_ppm(A * dest, B * src) +{ + dest->delay = src->delay; + dest->pulsePol = src->pulsePol; + dest->outputType = src->outputType; + dest->frameLength = src->frameLength; +} diff --git a/radio/src/storage/eeprom_conversions.cpp b/radio/src/storage/eeprom_conversions.cpp index 561a3451d..56c6d52c3 100644 --- a/radio/src/storage/eeprom_conversions.cpp +++ b/radio/src/storage/eeprom_conversions.cpp @@ -871,9 +871,9 @@ void ConvertModel_216_to_217(ModelData & model) for (int j=0; jPIO_ABCDSR[1] |= PIO_PA17 ; // Peripheral C pioptr->PIO_PDR = PIO_PA17 ; // Disable bit A17 Assign to peripheral #if defined(REVX) - if (g_model.moduleData[EXTERNAL_MODULE].ppmOutputType) { + if (g_model.moduleData[EXTERNAL_MODULE].ppm.OutputType) { pioptr->PIO_MDDR = PIO_PA17 ; // Push Pull O/p in A17 } else { @@ -52,13 +52,13 @@ void init_main_ppm(uint32_t period, uint32_t out_enable) pwmptr = PWM ; // PWM3 for PPM output pwmptr->PWM_CH_NUM[3].PWM_CMR = 0x0004000B ; // CLKA - if (!g_model.moduleData[EXTERNAL_MODULE].ppmPulsePol) { + if (!g_model.moduleData[EXTERNAL_MODULE].ppm.pulsePol) { pwmptr->PWM_CH_NUM[3].PWM_CMR |= 0x00000200 ; // CPOL } pwmptr->PWM_CH_NUM[3].PWM_CPDR = period ; // Period in half uS pwmptr->PWM_CH_NUM[3].PWM_CPDRUPD = period ; // Period in half uS - pwmptr->PWM_CH_NUM[3].PWM_CDTY = g_model.moduleData[EXTERNAL_MODULE].ppmDelay*100+600; // Duty in half uS - pwmptr->PWM_CH_NUM[3].PWM_CDTYUPD = g_model.moduleData[EXTERNAL_MODULE].ppmDelay*100+600; // Duty in half uS + pwmptr->PWM_CH_NUM[3].PWM_CDTY = g_model.moduleData[EXTERNAL_MODULE].ppm.delay*100+600; // Duty in half uS + pwmptr->PWM_CH_NUM[3].PWM_CDTYUPD = g_model.moduleData[EXTERNAL_MODULE].ppm.delay*100+600; // Duty in half uS pwmptr->PWM_ENA = PWM_ENA_CHID3 ; // Enable channel 3 pwmptr->PWM_IER1 = PWM_IER1_CHID3 ; @@ -66,13 +66,13 @@ void init_main_ppm(uint32_t period, uint32_t out_enable) // PWM1 for PPM2 configure_pins(PIO_PC15, PIN_PERIPHERAL | PIN_INPUT | PIN_PER_B | PIN_PORTC | PIN_NO_PULLUP ) ; pwmptr->PWM_CH_NUM[1].PWM_CMR = 0x0000000B ; // CLKB - if (!g_model.moduleData[EXTRA_MODULE].ppmPulsePol) { + if (!g_model.moduleData[EXTRA_MODULE].ppm.pulsePol) { pwmptr->PWM_CH_NUM[1].PWM_CMR |= 0x00000200 ; // CPOL } pwmptr->PWM_CH_NUM[1].PWM_CPDR = period ; // Period pwmptr->PWM_CH_NUM[1].PWM_CPDRUPD = period ; // Period - pwmptr->PWM_CH_NUM[1].PWM_CDTY = g_model.moduleData[EXTRA_MODULE].ppmDelay*100+600 ; // Duty - pwmptr->PWM_CH_NUM[1].PWM_CDTYUPD = g_model.moduleData[EXTRA_MODULE].ppmDelay*100+600 ; // Duty + pwmptr->PWM_CH_NUM[1].PWM_CDTY = g_model.moduleData[EXTRA_MODULE].ppm.delay*100+600 ; // Duty + pwmptr->PWM_CH_NUM[1].PWM_CDTYUPD = g_model.moduleData[EXTRA_MODULE].ppm.delay*100+600 ; // Duty pwmptr->PWM_ENA = PWM_ENA_CHID1 ; // Enable channel 1 pwmptr->PWM_IER1 = PWM_IER1_CHID1 ; #endif diff --git a/radio/src/targets/taranis/pulses_driver.cpp b/radio/src/targets/taranis/pulses_driver.cpp index f1a74eb6f..c646a61d5 100644 --- a/radio/src/targets/taranis/pulses_driver.cpp +++ b/radio/src/targets/taranis/pulses_driver.cpp @@ -32,7 +32,7 @@ static void intmodulePxxStop( void ) ; #endif static void extmodulePxxStart( void ) ; static void extmodulePxxStop( void ) ; -#if defined(DSM2) +#if defined(DSM2) || defined(MULTIMODULE) static void extmoduleDsm2Start( void ) ; static void extmoduleDsm2Stop( void ) ; #endif @@ -61,7 +61,7 @@ void disable_pxx(uint32_t port) extmodulePxxStop() ; } -#if defined(DSM2) +#if defined(DSM2) || defined(MULTIMODULE) void init_dsm2(uint32_t port) { if (port == EXTERNAL_MODULE) { @@ -469,7 +469,7 @@ static void extmodulePxxStop() } } -#if defined(DSM2) +#if defined(DSM2) || defined(MULTIMODULE) static void extmoduleDsm2Start() { EXTERNAL_MODULE_ON(); @@ -589,7 +589,9 @@ extern "C" void TIM8_CC_IRQHandler() EXTMODULE_TIMER->DIER |= TIM_DIER_CC2IE ; // Enable this interrupt } #if defined(DSM2) - else if (s_current_protocol[EXTERNAL_MODULE] >= PROTO_DSM2_LP45 && s_current_protocol[EXTERNAL_MODULE] <= PROTO_DSM2_DSMX) { + else if ((s_current_protocol[EXTERNAL_MODULE] >= PROTO_DSM2_LP45 && s_current_protocol[EXTERNAL_MODULE] <= PROTO_DSM2_DSMX) || IS_MULTIMODULE_PROTOCOL (s_current_protocol[EXTERNAL_MODULE])) + +{ DMA2_Stream2->CR &= ~DMA_SxCR_EN ; // Disable DMA DMA2->LIFCR = DMA_LIFCR_CTCIF2 | DMA_LIFCR_CHTIF2 | DMA_LIFCR_CTEIF2 | DMA_LIFCR_CDMEIF2 | DMA_LIFCR_CFEIF2 ; // Write ones to clear bits DMA2_Stream2->M0AR = CONVERT_PTR_UINT(&modulePulsesData[EXTERNAL_MODULE].dsm2.pulses[1]); diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 15d1e5ed2..fd545efd6 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -107,6 +107,19 @@ const pm_char STR_OPEN9X[] PROGMEM = ISTR(TARANIS_PROTOCOLS) ISTR(XJT_PROTOCOLS) ISTR(DSM_PROTOCOLS) +#if defined(MULTIMODULE) + ISTR(MULTI_PROTOCOLS) + ISTR(SUBTYPE_FLYSKY) + ISTR(SUBTYPE_HISKY) + ISTR(SUBTYPE_YD717) + ISTR(SUBTYPE_SYMAX) + ISTR(SUBTYPE_CX10) + ISTR(SUBTYPE_CG023) + ISTR(SUBTYPE_KN) + ISTR(SUBTYPE_MT99) + ISTR(SUBTYPE_MJXQ) + ISTR(OPTIONS_DSM) +#endif ISTR(VOLTSRC) ISTR(CURVE_TYPES) ISTR(VSENSORTYPES) @@ -436,6 +449,15 @@ const pm_char STR_ABOUT_US[] PROGMEM = TR_ABOUT_US; const pm_char STR_SETUP_SCREENS[] PROGMEM = TR_SETUP_SCREENS; #endif +#if defined(MULTIMODULE) +const pm_char STR_MULTI_RFTUNE[] PROGMEM = TR_MULTI_RFTUNE; +const pm_char STR_MULTI_VIDFREQ[] PROGMEM = TR_MULTI_VIDFREQ; +const pm_char STR_MULTI_OPTION[] PROGMEM = TR_MULTI_OPTION; +const pm_char STR_MULTI_AUTOBIND[] PROGMEM = TR_MULTI_AUTOBIND; +const pm_char STR_MULTI_LOWPOWER[] PROGMEM = TR_MULTI_LOWPOWER; +const pm_char STR_MULTI_DSMFRAME[] PROGMEM = TR_MULTI_DSMFRAME; +#endif + const pm_char STR_RESET_BTN[] PROGMEM = TR_RESET_BTN; #if defined(SDCARD) @@ -719,5 +741,3 @@ const pm_char STR_MENU_INVERT[] PROGMEM = TR_MENU_INVERT; const pm_char STR_ABOUT_PARENTS_3[] PROGMEM = TR_ABOUT_PARENTS_3; const pm_char STR_ABOUT_PARENTS_4[] PROGMEM = TR_ABOUT_PARENTS_4; #endif - - diff --git a/radio/src/translations.h b/radio/src/translations.h index c1ee683fd..dde661065 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -189,7 +189,22 @@ extern const pm_char STR_OPEN9X[]; #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_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) +#if defined(MULTIMODULE) + #define OFS_MULTI_PROTOCOLS (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) + #define OFS_SUBTYPE_FLYSKY (OFS_MULTI_PROTOCOLS + sizeof(TR_MULTI_PROTOCOLS)) + #define OFS_SUBTYPE_HISKY (OFS_SUBTYPE_FLYSKY + sizeof(TR_SUBTYPE_FLYSKY)) + #define OFS_SUBTYPE_YD717 (OFS_SUBTYPE_HISKY + sizeof(TR_SUBTYPE_HISKY)) + #define OFS_SUBTYPE_SYMAX (OFS_SUBTYPE_YD717 + sizeof(TR_SUBTYPE_YD717)) + #define OFS_SUBTYPE_CX10 (OFS_SUBTYPE_SYMAX + sizeof(TR_SUBTYPE_SYMAX)) + #define OFS_SUBTYPE_CG023 (OFS_SUBTYPE_CX10 + sizeof(TR_SUBTYPE_CX10)) + #define OFS_SUBTYPE_KN (OFS_SUBTYPE_CG023 + sizeof(TR_SUBTYPE_CG023)) + #define OFS_SUBTYPE_MT99 (OFS_SUBTYPE_KN + sizeof(TR_SUBTYPE_KN)) + #define OFS_SUBTYPE_MJXQ (OFS_SUBTYPE_MT99 + sizeof(TR_SUBTYPE_MT99)) + #define OFS_OPTIONS_DSM (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ)) + #define OFS_VOLTSRC (OFS_OPTIONS_DSM + sizeof(TR_OPTIONS_DSM)) +#else + #define OFS_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) +#endif #define OFS_CURVE_TYPES (OFS_VOLTSRC + sizeof(TR_VOLTSRC)) #define OFS_VSENSORTYPES (OFS_CURVE_TYPES + sizeof(TR_CURVE_TYPES)) #define OFS_VFORMULAS (OFS_VSENSORTYPES + sizeof(TR_VSENSORTYPES)) @@ -305,8 +320,21 @@ extern const pm_char STR_OPEN9X[]; #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) - #define STR_VSENSORTYPES (STR_OPEN9X + OFS_VSENSORTYPES) +#if defined(MULTIMODULE) + #define STR_MULTI_PROTOCOLS (STR_OPEN9X + OFS_MULTI_PROTOCOLS) + #define STR_SUBTYPE_FLYSKY (STR_OPEN9X + OFS_SUBTYPE_FLYSKY) + #define STR_SUBTYPE_HISKY (STR_OPEN9X + OFS_SUBTYPE_HISKY) + #define STR_SUBTYPE_YD717 (STR_OPEN9X + OFS_SUBTYPE_YD717) + #define STR_SUBTYPE_SYMAX (STR_OPEN9X + OFS_SUBTYPE_SYMAX) + #define STR_SUBTYPE_CX10 (STR_OPEN9X + OFS_SUBTYPE_CX10) + #define STR_SUBTYPE_CG023 (STR_OPEN9X + OFS_SUBTYPE_CG023) + #define STR_SUBTYPE_KN (STR_OPEN9X + OFS_SUBTYPE_KN) + #define STR_SUBTYPE_MT99 (STR_OPEN9X + OFS_SUBTYPE_MT99) + #define STR_SUBTYPE_MJXQ (STR_OPEN9X + OFS_SUBTYPE_MJXQ) + #define STR_OPTIONS_DSM (STR_OPEN9X + OFS_OPTIONS_DSM) +#endif + #define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES) + #define STR_VSENSORTYPES (STR_OPEN9X + OFS_VSENSORTYPES) #define STR_VFORMULAS (STR_OPEN9X + OFS_VFORMULAS) #define STR_VPREC (STR_OPEN9X + OFS_VPREC) #define STR_VCELLINDEX (STR_OPEN9X + OFS_VCELLINDEX) @@ -530,11 +558,19 @@ extern const pm_char STR_GF[]; #if defined(FAS_OFFSET) || !defined(CPUM64) extern const pm_char STR_FAS_OFFSET[]; -#endif - -#if defined(DSM2) || defined(PXX) -extern const pm_char STR_RXNUM[]; -#endif +#endif + +#if defined(MULTIMODULE) +extern const pm_char STR_MULTI_OPTION[]; +extern const pm_char STR_MULTI_VIDFREQ[]; +extern const pm_char STR_MULTI_RFTUNE[]; +extern const pm_char STR_MULTI_AUTOBIND[]; +extern const pm_char STR_MULTI_LOWPOWER[]; +extern const pm_char STR_MULTI_DSMFRAME[]; +#endif +#if defined(DSM2) || defined(PXX) +extern const pm_char STR_RXNUM[]; +#endif #if defined(PXX) || defined(CPUARM) extern const pm_char STR_SYNCMENU[]; @@ -973,4 +1009,4 @@ extern const pm_char STR_BLCOLOR[]; #define CHR_HOUR TR_CHR_HOUR #define CHR_INPUT TR_CHR_INPUT -#endif // _TRANSLATIONS_H_ +#endif // _TRANSLATIONS_H_ diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 639ed7e06..5d50804dc 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -95,7 +95,7 @@ #define TR_COUNTRYCODES TR("US""JP""EU", "Amerika\0""Japonsko""Evropa\0 ") #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "Vyp\0""PPM\0""XJT\0""DSM2""CRSF" +#define TR_TARANIS_PROTOCOLS "Vyp\0""PPM\0""XJT\0""DSM2""CRSF""MULT" #define LEN_XJT_PROTOCOLS "\004" #define TR_XJT_PROTOCOLS "Vyp\0""D16\0""D8\0 ""LR12" @@ -103,6 +103,44 @@ #define LEN_DSM_PROTOCOLS "\004" #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + #define LEN_VTRIMINC "\007" #define TR_VTRIMINC "Expo\0 ""ExJemný""Jemný\0 ""Střední""Hrubý\0 " @@ -796,6 +834,12 @@ #else #define TR_RXNUM "RX číslo" #endif +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" #define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT"Limit" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 89cf3f4e5..e91aae7e0 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1,1181 +1,1224 @@ -/* - * Copyright (C) OpenTX - * - * Based on code named - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program 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. - * - */ - -// DE translations author: who? - -/* - * !!!!! DO NOT EDIT de.h - EDIT de.h.txt INSTEAD !!!!!!! - * - * In order to make translations easier de.h.txt is parsed and national - * characters are replaced by bitmap codes. The result is de.h. - * - * See translate.py in the util folder for the list of character codes - * - * !!!!! DO NOT EDIT de.h - EDIT de.h.txt INSTEAD !!!!!!! - */ - -/* - * Formatting octal codes available in TR_ strings: - * \037\x -sets LCD x-coord (x value in octal) - * \036 -newline - * \035 -horizontal tab (ARM only) - * \001 to \034 -extended spacing (value * FW/2) - * \0 -ends current string - */ - - -// NON ZERO TERMINATED STRINGS -#define LEN_OFFON "\003" -#define TR_OFFON "AUS""EIN" - -#define LEN_MMMINV "\003" -#define TR_MMMINV "---""INV" - -#define LEN_NCHANNELS "\004" -#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" - -#define LEN_VBEEPMODE "\005" -#define TR_VBEEPMODE "Stumm""Alarm""NoKey""Alle\0" - -#define LEN_VBEEPLEN "\005" -#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" - -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "AUSDGaDGb" - -#define LEN_VBLMODE "\005" -#define TR_VBLMODE "AUS\0 ""Taste""Stks\0""Beide""EIN\0 " // Anpassung - -#define LEN_TRNMODE "\003" -#define TR_TRNMODE "AUS"" +="" :=" - -#define LEN_TRNCHN "\003" -#define TR_TRNCHN "CH1CH2CH3CH4" - -#define LEN_UART3MODES "\015" -#define TR_UART3MODES "AUS\0 ""S-Port Mirror""Telemetrie\0 ""SBUS Schüler\0""Debug\0" - -#define LEN_SWTYPES "\006" -#define TR_SWTYPES "Kein\0 ""Taster""2POS\0 ""3POS\0" - -#define LEN_POTTYPES "\017" -#define TR_POTTYPES "Kein\0 ""Poti mit Raste ""Stufen-Schalter""Poti ohne Raste\0" - -#define LEN_SLIDERTYPES "\006" -#define TR_SLIDERTYPES "Keine\0""Slider" - -#define LEN_DATETIME "\005" -#define TR_DATETIME "DATE:""ZEIT:" - -#define LEN_VLCD "\006" -#define TR_VLCD "NormalOptrex" - -#define LEN_VPERSISTENT "\014" -#define TR_VPERSISTENT "AUS\0 ""Flugzeit\0 ""Manuell Ruck" - -#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 "AUS\0""PPM\0""XJT\0""DSM?""CRSF" - -#if defined(MODULE_D16_EU_ONLY_SUPPORT) - #define LEN_XJT_PROTOCOLS "\007" - #define TR_XJT_PROTOCOLS "AUS\0 ""D16-EU\0""D8\0 ""LR12-EU" -#else - #define LEN_XJT_PROTOCOLS "\004" - #define TR_XJT_PROTOCOLS "AUS\0""X16\0""D8\0 ""LR12" -#endif - -#define LEN_DSM_PROTOCOLS "\004" -#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" //LP45 =Low Power 4 und 5 Kanal - -#define LEN_VTRIMINC TR("\007", "\014") // ursprüglich "\006", "\013" -#define TR_VTRIMINC TR("Expo ""ExFein ""Fein ""Mittel ""Grob ", "Exponentiell""Extrafein ""Fein ""Mittel ""Grob ") - -#define LEN_VDISPLAYTRIMS "\006" -#define TR_VDISPLAYTRIMS "Nein\0 ""Kurz\0 ""Ja\0" //Trimmwerte Keine, kurze Anzeigen, Ja - -#define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "Kein\0 Pieps\0StimmeHaptik" - -#define LEN_VVARIOCENTER "\006" -#define TR_VVARIOCENTER "Ton\0 ""Ruhe " - -#define LEN_CURVE_TYPES "\010" -#define TR_CURVE_TYPES " Nur Y "" X und Y" //"Standard""Custom\0" - -#define LEN_RETA123 "\001" - -#if defined(PCBHORUS) - #define TR_RETA123 "SHGQ12345LR" -#elif defined(PCBFLAMENCO) - #define TR_RETA123 "SHGQ123LR" -#elif defined(PCBTARANIS) && defined(REV9E) - #define TR_RETA123 "SHGQ1234LRLR" -#elif defined(PCBTARANIS) || defined(REVX) - #define TR_RETA123 "SHGQ123LR" -#elif defined(PCBSKY9X) - #define TR_RETA123 "SHGQ123a" -#elif defined(CPUM2560) - #define TR_RETA123 "SHGQ123ab" -#else - #define TR_RETA123 "SHGQ123" -#endif - -#define LEN_VPROTOS "\006" - -#if defined(PXX) - #define TR_PXX "PXX\0 " -#elif defined(DSM2) || defined(IRPROTOS) - #define TR_PXX "[PXX]\0" -#else - #define TR_PXX -#endif - -#if defined(DSM2) - #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " -#elif defined(IRPROTOS) - #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" -#else - #define TR_DSM2 -#endif - -#if defined(IRPROTOS) - #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" -#else - #define TR_IRPROTOS -#endif - -#if defined(CPUARM) - #define TR_XPPM -#else - #define TR_XPPM "PPM16\0""PPMsim" -#endif - -#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS - -#define LEN_POSNEG "\003" -#define TR_POSNEG "POS""NEG" - -#if defined(PCBSKY9X) && defined(REVX) - #define LEN_VOUTPUT_TYPE "\011" - #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" -#endif - -#define LEN_VCURVEFUNC "\003" -#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" - -#define LEN_VMLTPX "\010" -#define TR_VMLTPX "Addiere ""Multipl.""Ersetze " - -#define LEN_VMLTPX2 "\002" -#define TR_VMLTPX2 "+=""*="":=" - -#define LEN_VMIXTRIMS "\003" -#define TR_VMIXTRIMS "AUS""EIN""Sei""Höh""Gas""Que" //Mixer Trim Werte - -#if LCD_W >= 212 - #define TR_CSWTIMER "Takt\0" // TIM = Takt = Taktgenerator - #define TR_CSWSTICKY "SRFF\0" // Sticky = RS-Flip-Flop - #define TR_CSWRANGE "Range" // Range = Bereichsabfrage von bis - #define TR_CSWSTAY "Puls\0" // Edge = einstellbarer Impuls -#else - #define TR_CSWTIMER "Takt\0" // TIM = Takt = Taktgenerator - #define TR_CSWSTICKY "SRFF\0" // Sticky = RS-Flip-Flop - #if defined(CPUARM) - #define TR_CSWRANGE "Rnge\0" // Range= Bereichsabfrage von bis - #define TR_CSWSTAY "Puls\0" // Edge = einstellbarer Impuls - #else - #define TR_CSWRANGE - #define TR_CSWSTAY - #endif -#endif - -#if defined(CPUARM) -#define TR_CSWEQUAL "a=x\0 " -#else -#define TR_CSWEQUAL -#endif - -#define LEN_VCSWFUNC "\005" -#if defined(CPUARM) -#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 - #define TR_SF_SAFETY "Override\0 " //"Override\0 " -#elif defined(OVERRIDE_CHANNEL_FUNCTION) - #define TR_SF_SAFETY "Overr.\0 " //"Overr.\0 " -#else - #define TR_SF_SAFETY "---\0 " -#endif - -#if defined(PCBTARANIS) - #define TR_SF_SCREENSHOT "Screenshot" -#else - #define TR_SF_SCREENSHOT -#endif - -#define TR_SF_RESERVE "[Reserve]\0" - -#if defined(CPUARM) - #define TR_VFSWFUNC TR_SF_SAFETY "Lehrer \0 ""Inst. Trim""Rücksetz.\0""Setze \0 " TR_ADJUST_GVAR "Lautstr.\0 " "SetFailsfe" "RangeCheck" "ModuleBind" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_SF_SCREENSHOT TR_SF_TEST -#elif defined(PCBGRUVIN9X) - #define TR_VFSWFUNC TR_SF_SAFETY "Lehrer \0 ""Inst. Trim""Rücksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_SF_TEST -#else - #define TR_VFSWFUNC TR_SF_SAFETY "Lehrer \0 ""Inst. Trim""Rücksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "LCD Licht\0" TR_SF_TEST -#endif - -#define LEN_VFSWRESET TR("\004", "\011") - -#if defined(FRSKY) - #define TR_FSW_RESET_TELEM TR("Telm", "Telemetrie") -#else - #define TR_FSW_RESET_TELEM -#endif - -#if ROTARY_ENCODERS == 2 - #define TR_FSW_RESET_ROTENC TR("DGa\0""DGb\0", "DrehGb A\0""DrehGb B\0") -#elif ROTARY_ENCODERS == 1 - #define TR_FSW_RESET_ROTENC TR("D.G.", "DrehGb\0 ") -#else - #define TR_FSW_RESET_ROTENC -#endif - -#if LCD_W >= 212 - #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " -#elif defined(CPUARM) - #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" -#else - #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2" -#endif - -#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "All\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) - -#define LEN_FUNCSOUNDS TR("\004", "\006") -#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Piep1\0""Piep2\0""Piep3\0""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk") - -#define LEN_VTELEMCHNS TR("\004", "\005") - -#if defined(CPUARM) - #define TR_TELEM_RESERVE TR("[--]", "[---]") - #define TR_TELEM_TIME TR("Zeit", "Zeit\0") - #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("[NA]", "[NA]\0") - #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") - #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") -#else - #define TR_TELEM_RESERVE - #define TR_TELEM_TIME - #define TR_SWR - #define TR_RX_BATT - #define TR_A3_A4 - #define TR_A3_A4_MIN -#endif - -#define TR_ASPD_MAX TR("ASp+", "ASpd+") - -#if LCD_W >= 212 - #define TR_TELEM_RSSI_RX "RSSI\0" -#else - #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") -#endif - -#if defined(CPUARM) - #define TR_TELEM_TIMERS TR("Tmr1""Tmr2""Tmr3", "Tmr1\0""Tmr2\0""Tmr3\0") -#else - #define TR_TELEM_TIMERS TR("Tmr1""Tmr2", "Tmr1\0""Tmr2\0") -#endif - -#if LCD_W >= 212 - #define TR_VTELEMCHNS "---\0 ""Akku\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Zeit\0" -#else - #define TR_VTELEMCHNS "---\0""Akku" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Zeit" -#endif - -#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 ") - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" -#else - #if defined(IMPERIAL_UNITS) - #define LENGTH_UNIT LENGTH_UNIT_IMP - #define SPEED_UNIT SPEED_UNIT_IMP - #else - #define LENGTH_UNIT LENGTH_UNIT_METR - #define SPEED_UNIT SPEED_UNIT_METR - #endif - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " -#endif - -#define STR_V (STR_VTELEMUNIT+1) -#define STR_A (STR_VTELEMUNIT+4) - -#define LEN_VALARM "\003" -#define TR_VALARM "---""Glb""Org""Rot" - -#define LEN_VALARMFN "\001" -#define TR_VALARMFN "<>" - -#define LEN_VTELPROTO "\007" -#define TR_VTELPROTO "Kein\0 ""Hub\0 ""WSHHigh" - -#if defined(CPUARM) - #define LEN_AMPSRC TR("\003", "\005") - #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") - #define LEN_VOLTSRC TR("\003", "\005") - #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") -#else - #define LEN_AMPSRC TR("\003", "\005") - #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells") -#endif - -#define LEN_VARIOSRC "\004" -#if defined(FRSKY_SPORT) - #define TR_VARIOSRC "Vspd""A1\0 ""A2\0 ""dTE\0" -#else - #define TR_VARIOSRC "Alt\0""Alt+""Vspd""A1\0 ""A2\0 " -#endif - -#if defined(CPUARM) - #define LEN_VTELEMSCREENTYPE "\007" - #define TR_VTELEMSCREENTYPE " None "" Werte "" Balken"" Script" -#else - #define LEN_VTELEMSCREENTYPE "\007" - #define TR_VTELEMSCREENTYPE " Werte "" Balken" -#endif - -#define LEN_GPSFORMAT "\004" -#define TR_GPSFORMAT "GMS\0""NMEA" //Koordinatenanzeige - -#define LEN2_VTEMPLATES 15 // max String Länge für Menü (original=13) -#define LEN_VTEMPLATES "\017" // max String Länge 15+cr+lf -#define TR_VTEMPLATES "Misch. Lösch.\0 ""Einfach. 4-CH\0 ""Fixe Gassperre\0""V-Leitwerk\0 ""Delta Mischer\0 ""eCCPM\0 ""Hubschrauber\0 ""Servo Tester\0 " - -#define LEN_VSWASHTYPE "\004" -#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" - -#define LEN_VKEYS "\005" -#define TR_VKEYS TR("Menu\0""Exit\0""Down\0""Up\0 ""Right""Left\0", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus") - -#define LEN_VRENCODERS "\003" -#define TR_VRENCODERS "DGa""DGb" //Digitalgeber a und b = Drehgeber - -#define LEN_VSWITCHES "\003" -#define LEN_VSRCRAW "\004" - -#define TR_STICKS_VSRCRAW TR("Sei\0""Höh\0""Gas\0""Qur\0", "\307Sei""\307Höh""\307Gas""\307Qur") -#define TR_TRIMS_VSRCRAW TR("TrmS""TrmH""TrmG""TrmQ", "\313Sei""\313Höh""\313Gas""\313Qur") - -#if defined(PCBHORUS) - #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#elif defined(PCBFLAMENCO) - #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " - #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " -#elif defined(PCBTARANIS) && defined(REV9E) - #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" -#elif defined(PCBTARANIS) - #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#else - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " - #define TR_SW_VSRCRAW "3POS" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" -#endif - -#if defined(CPUARM) - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" -#else - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" -#endif - -#define TR_TRIMS_SWITCHES TR("tSl""tSr""tHd""tHu""tGd""tGu""tQl""tQr", "\313Sl""\313Sr""\313Hd""\313Hu""\313Gd""\313Gu""\313Ql""\313Qr") - -#if defined(PCBSKY9X) - #define TR_ROTARY_ENCODERS "DGa\0" - #define TR_ROTENC_SWITCHES "DGa" -#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) - #define TR_ROTARY_ENCODERS "DGa\0""DGb\0" - #define TR_ROTENC_SWITCHES "DGa""DGb" -#else - #define TR_ROTARY_ENCODERS - #define TR_ROTENC_SWITCHES -#endif - -#if !defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" -#endif - -#define TR_ON_ONE_SWITCHES "ON\0""One" - -#if defined(PCBFLAMENCO) - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" -#elif defined(PCBTARANIS) || defined(PCBHORUS) - // only special switches here - #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES -#else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES -#endif - -#if defined(HELI) -#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" -#else -#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" -#endif - -#if defined(CPUARM) - #define TR_RESERVE_VSRCRAW "[--]" - #define TR_EXTRA_VSRCRAW "Batt""Time" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" -#else - #define TR_EXTRA_VSRCRAW -#endif - -#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW - -#define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "AUS""EIN""GSs""GS%""GSt" - -#define LEN_VTRAINERMODES "\022" -#define TR_VTRAINERMODES "Lehrer/Buchse\0 ""Schüler/Buchse\0 ""Lehrer/SBUS Modul\0""Lehrer/CPPM Modul\0""Lehrer/Batterie\0" - -#define LEN_VFAILSAFE "\015" // "\013" original -#define TR_VFAILSAFE "Kein Failsafe""Halte Pos.\0 ""Kanäle\0 ""Kein Signal\0 ""Empfänger\0 " - -#if defined(MAVLINK) - #define LEN_MAVLINK_BAUDS "\006" - #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" - #define LEN_MAVLINK_AC_MODES "\011" - #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " - #define LEN_MAVLINK_AP_MODES "\015" - #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " -#endif - -#define LEN_VSENSORTYPES "\012" -#define TR_VSENSORTYPES "Sensor\0 ""Berechnung" - -#define LEN_VFORMULAS "\014" // "\10" ursprünglich -#define TR_VFORMULAS "Addieren\0 ""Mittelwert\0 ""Min\0 ""Max\0 ""Multiplizier""Gesamt\0 ""Zelle\0 ""Verbrauch\0 ""Distanz\0 " - -#define LEN_VPREC "\004" // "\005" Prec0 Prec1 Prec2 ursprünglich -#define TR_VPREC "0.--""0.0 ""0.00" - -#define LEN_VCELLINDEX "\012" // "\007" ursprünglich -#define TR_VCELLINDEX "Niedrigst\0""1. Zelle\0 ""2. Zelle\0 ""3. Zelle\0 ""4. Zelle\0 ""5. Zelle\0 ""6. Zelle\0 ""Höchster\0 ""Differenz\0" - -#define LEN_VANTENNATYPES "\010" -#define TR_VANTENNATYPES "Internal""External" - -// ZERO TERMINATED STRINGS -#if defined(COLORLCD) - #define INDENT "\007" - #define LEN_INDENT 1 - #define INDENT_WIDTH 12 - #define BREAKSPACE "\036" -#else - #define INDENT "\001" - #define LEN_INDENT 1 - #define INDENT_WIDTH (FW/2) - #define BREAKSPACE " " -#endif - -#if defined(PCBTARANIS) - #define TR_ENTER "[ENTER]" -#else - #define TR_ENTER "[MENU]" -#endif - -#define TR_EXIT "[EXIT]" - -#if defined(PCBTARANIS) - #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER -#else - #define TR_POPUPS TR_ENTER "\010" TR_EXIT - #define OFS_EXIT sizeof(TR_ENTER) -#endif - -#define TR_MENUWHENDONE CENTER"\010"TR_ENTER" > Weiter" -#define TR_FREE "frei" -#define TR_DELETEMODEL "Modell löschen?" -#define TR_COPYINGMODEL "Kopiere Modell" -#define TR_MOVINGMODEL "Schiebe Modell" -#define TR_LOADINGMODEL "Lade Modell..." -#define TR_NAME "Name" -#define TR_MODELNAME "Modellname" -#define TR_PHASENAME "Phase-Name" -#define TR_MIXNAME "Mix-Name" -#define TR_INPUTNAME "Input-Name" -#if defined(VIRTUALINPUTS) - #define TR_EXPONAME "Info-Name" -#else - #define TR_EXPONAME "Info-Name" // Expo Name -#endif -#define TR_BITMAP "Modellfoto" -#define TR_TIMER TR("Timer", "Timer ") // für Timer1 Timer2 Timer3 -#define TR_ELIMITS TR("Erw. Limit", "Erw. Wege auf 150%") -#define TR_ETRIMS TR("Erw. Trims", "Erw. Trim auf 100%") -#define TR_TRIMINC TR("Trim Schr.", "Trimmschritte") -#define TR_DISPLAY_TRIMS TR("Trim anzeig", "Trimwerte anzeigen") -#define TR_TTRACE TR("Gasquelle", INDENT "Gas-Timerquelle") -#define TR_TTRIM TR("Gastrim", INDENT "Gas-Leerlauftrim") -#define TR_BEEPCTR TR("Mitt.Piep", "Mittelstell. -Pieps") -#define TR_USE_GLOBAL_FUNCS TR("Glob. Funkt.", "Globale Funkt verw.") -#if defined(PCBSKY9X) && defined(REVX) - #define TR_OUTPUT_TYPE INDENT "Output" -#endif -#define TR_PROTO TR(INDENT "Protok.", INDENT "Protokoll") -#if defined(CPUARM) - #define TR_PPMFRAME INDENT "PPM frame" -#else - #define TR_PPMFRAME "PPM frame" -#endif -#define TR_MS "ms" -#define TR_SWITCH TR("Schalt.", "Schalter") -#define TR_TRIMS "Trims" -#define TR_FADEIN "Langs. Ein" -#define TR_FADEOUT "Langs. Aus" -#define TR_DEFAULT "(Normal)" -#define TR_CHECKTRIMS CENTER"\006Check\012Trims" -#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) -#define TR_SWASHTYPE TR("Typ Taumelsch", "Typ Taumelscheibe") -#define TR_COLLECTIVE TR("Kollekt. Pitch", "Kollekt. Pitch Quelle") -#define TR_AILERON "Roll Quelle" -#define TR_ELEVATOR "Nick Quelle" -#define TR_SWASHRING TR("Ring Begrenz", "Ring Begrenzung") -#define TR_ELEDIRECTION TR("Nick Richtung", "Nick Servo Richtung") -#define TR_AILDIRECTION TR("Roll Richtung", "Roll Servo Richtung") -#define TR_COLDIRECTION TR("Pitch Richtung", "Pitch Servo Richtung") -#define TR_MODE INDENT "Modus" -#define TR_NOFREEEXPO "Expos voll!" -#define TR_NOFREEMIXER "Mischer voll!" -#define TR_SOURCE INDENT "Quelle" -#define TR_WEIGHT "Gewicht" -#define TR_EXPO TR("Expo", "Exponential") -#define TR_SIDE "Seite" -#define TR_DIFFERENTIAL "Diff" -#define TR_OFFSET INDENT "Offset" -#define TR_TRIM "Trim" -#define TR_DREX "DRex" -#define DREX_CHBOX_OFFSET 30 -#define TR_CURVE "Kurve" -#define TR_FLMODE TR("Phase", "Phasen") -#define TR_MIXWARNING "Warnung" -#define TR_OFF "AUS" -#define TR_MULTPX "Wirkung" -#define TR_DELAYDOWN "Verz. Dn" -#define TR_DELAYUP "Verz. Up" -#define TR_SLOWDOWN "Langs.Dn" -#define TR_SLOWUP "Langs.Up" -#define TR_MIXER "MISCHER" -#define TR_CV "KV" -#define TR_GV "GV" -#define TR_ACHANNEL TR("A\004gemessen", "A\004Kanal gemessen =>") //9XR-Pro -#define TR_RANGE TR(INDENT "Bereich", INDENT "Variobereich m/s") // 9XR-Pro -#define TR_CENTER TR(INDENT "Mitte m/s", INDENT "Variomitte m/s") -#define TR_BAR "Streifen" -#define TR_ALARM TR(INDENT "Alarme ", INDENT "Ein bei Alarm") //9XR-Pro -#define TR_USRDATA "Daten berechnen aus" -#define TR_BLADES TR(INDENT "Prop", INDENT "Prop-Blätter") //9XR-Pro -#define TR_SCREEN "Telm-Bild " -#define TR_SOUND_LABEL "----Töne---------" -#define TR_LENGTH INDENT "Dauer" -#define TR_BEEP_LENGTH INDENT "Beep-Länge" -#define TR_SPKRPITCH INDENT "Beep-Freq. +/-" -#define TR_HAPTIC_LABEL "----Haptik-------" //9XR-Pro -#define TR_HAPTICSTRENGTH INDENT "Stärke" -#define TR_CONTRAST "LCD-Kontrast" -#define TR_ALARMS_LABEL "----Alarm wenn---" -#define TR_BATTERY_RANGE TR("Akku Bereich", "Akku Spgs-Bereich") // Symbol Akku Ladezustand -#define TR_BATTERYWARNING INDENT "Akkuspg kleiner" -#define TR_INACTIVITYALARM TR(INDENT "Inaktivität", INDENT "Inaktivität nach") //9XR-Pro -#define TR_MEMORYWARNING INDENT "Speicher voll" -#define TR_ALARMWARNING TR(INDENT "Alle Töne aus?", INDENT "Alle Töne ganz aus?") -#define TR_RENAVIG "Drehgeb. Navig." -#define TR_THROTTLE_LABEL "----Gas-Kontrolle----" -#define TR_THROTTLEREVERSE TR("Gas invers", INDENT "Vollgas hinten?") //Änderung wg TH9x, Taranis -#define TR_TIMER_NAME INDENT "Name" -#define TR_MINUTEBEEP TR(INDENT "Min-Alarm", INDENT "Minuten-Alarm") -#define TR_BEEPCOUNTDOWN INDENT "Countdown" -#define TR_PERSISTENT TR(INDENT "Permanent", INDENT "Permanent") -#define TR_BACKLIGHT_LABEL "----LCD-Beleuchtg----" -#define TR_BLDELAY INDENT "Dauer" -#define TR_BLONBRIGHTNESS INDENT "An-Helligkeit" -#define TR_BLOFFBRIGHTNESS INDENT "Aus-Helligkeit" -#define TR_BLCOLOR INDENT "Farbe" -#define TR_SPLASHSCREEN TR("Startbild Ein", "Startbild Ein für") -#define TR_THROTTLEWARNING TR("Gasalarm", INDENT "Gas Alarm") -#define TR_SWITCHWARNING TR("Sch. Alarm", INDENT "Schalter-Alarm") -#define TR_POTWARNING TR("Pot Warn.", INDENT "Poti-Warnung") -#define TR_TIMEZONE TR("Zeitzone", "GPS-Zeitzone +/-Std") -#define TR_ADJUST_RTC INDENT "Uhrzeit per GPS setzen" -#define TR_GPS "----GPS--------------" -#define TR_RXCHANNELORD TR("Kanalanordnung", "Kanalvoreinstellung") -#define TR_STICKS "Knüppel" -#define TR_POTS "Potis" -#define TR_SWITCHES "Schalter" -#define TR_SWITCHES_DELAY TR("Sw. Mitte Delay", "Schaltermitte Verz.") //Schalter Mitten verzögern Anpassung -#define TR_SLAVE TR("Schüler PPM1-16", "Schüler PPM1-16 als Ausgang") -#define TR_MODESRC " Modus\003% Quelle" -#define TR_MULTIPLIER "Multiplikator" -#define TR_CAL "Kal." -#define TR_VTRIM "Trim - +" -#define TR_BG "BG:" -#if defined(PCBHORUS) - #define TR_MENUTOSTART "Press [Enter] to start" - #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" - #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" -#elif defined(COLORLCD) - #define TR_MENUTOSTART CENTER"\007"TR_ENTER" zum Start" - #define TR_SETMIDPOINT CENTER"\002Knüppel+Potis auf Mitte" - #define TR_MOVESTICKSPOTS CENTER"\003Knüppel+Potis bewegen" -#else - #define TR_MENUTOSTART CENTER"\007"TR_ENTER" zum Start" - #define TR_SETMIDPOINT TR(CENTER "\002Knüppel+Potis auf Mitte", CENTER "\002Knüppel+Potis auf Mitte") - #define TR_MOVESTICKSPOTS CENTER"\003Knüppel+Potis bewegen" -#endif -#define TR_RXBATT "Rx Akku:" -#define TR_TXnRX "Tx:\0Rx:" -#define OFS_RX 4 -#define TR_ACCEL "Acc:" -#define TR_NODATA CENTER"Keine Daten" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036GAS\037\146GS%" -#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" -#define STR_US (STR_TMR1LATMAXUS+13) -#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" - -#if defined(CPUARM) - #define TR_TMIXMAXMS "Tmix max" - #define TR_FREESTACKMINB "Free Stack" -#else - #define TR_TMIXMAXMS "Tmix max\037\124ms" - #define TR_FREESTACKMINB "Free Stack\037\124b" -#endif - -#define TR_MENUTORESET CENTER TR_ENTER" für Reset" -#define TR_PPM_TRAINER "TR" //old #define TR_PPM "PPM" -#define TR_CH "CH" -#define TR_MODEL "MODELL" -#define TR_FP "FP" -#define TR_MIX "MIX" -#define TR_EEPROMLOWMEM "EEPROM voll" -#define TR_ALERT "WARNUNG" -#define TR_PRESSANYKEYTOSKIP TR("Taste drücken",CENTER"Taste drücken") -#define TR_THROTTLENOTIDLE "Gas nicht Null!" -#define TR_ALARMSDISABLED "Alarme ausgeschaltet" -#define TR_PRESSANYKEY TR("Taste drücken",CENTER"Taste drücken") -#define TR_BADEEPROMDATA "EEPROM ungültig" -#define TR_BAD_RADIO_DATA "Bad Radio Data" -#define TR_EEPROMFORMATTING "EEPROM Initialisieren" -#define TR_STORAGE_FORMAT "Storage Preparation" -#define TR_EEPROMOVERFLOW "EEPROM Überlauf" -#define TR_MENURADIOSETUP TR("SENDER-EINSTELLEN", "SENDER-GRUNDEINSTELLUNGEN") -#define TR_MENUDATEANDTIME "DATUM UND ZEIT" -#define TR_MENUTRAINER TR("LEHRER/SCHÜLER", "LEHRER/SCHÜLER") -#define TR_MENUGLOBALFUNCS "GLOBALE FUNKTIONEN" -#define TR_MENUVERSION "VERSION" -#define TR_MENUDIAG TR("Schalt.", "Schalter-Test") -#define TR_MENUANA "Analog-Test" -#define TR_MENUCALIBRATION TR("KALIB. ANALOG", "KALIBRIERUNG Knüppel+Potis") -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif -#define TR_MENUMODELSEL TR("MODELLE", "MODELL WÄHLEN") -#define TR_MENUSETUP TR("MODELL-EINSTELLUNG", "MODELL-EINSTELLUNGEN") -#define TR_MENUFLIGHTPHASE "FLUGPHASE" -#define TR_MENUFLIGHTPHASES "FLUGPHASEN" -#define TR_MENUHELISETUP TR("HELI TS-Mischer", "HELI TS-Mischer CYC1-3") - -#if defined(PCBTARANIS) - #define TR_MENUINPUTS "INPUTS" - #define TR_MENULIMITS "SERVOWEGE" -#else - #define TR_MENUINPUTS TR("DR/EXPO", "DUALRATE/EXPO") - #define TR_MENULIMITS TR("GRENZEN", "SERVOWEGE") -#endif - -#define TR_MENUCURVES "KURVEN" -#define TR_MENUCURVE "KURVE" -#define TR_MENULOGICALSWITCH "LOGIKSCHALTER" -#define TR_MENULOGICALSWITCHES "LOGIKSCHALTER" -#define TR_MENUCUSTOMFUNC TR("SPEZ.-FUNKTIONEN", "SPEZIAL-FUNKTIONEN") -#define TR_MENUCUSTOMSCRIPTS "LUA-SCRIPTE" -#define TR_MENUTELEMETRY "TELEMETRIE" -#define TR_MENUTEMPLATES "VORLAGEN" -#define TR_MENUSTAT "STAT" -#define TR_MENUDEBUG "DEBUG" -#if defined(CPUARM) - #define TR_RXNUM TR(INDENT "Empf Nr.", INDENT "Modell-Match-Nr.") -#else - #define TR_RXNUM "Empf Nr." -#endif -#define TR_SYNCMENU "Sync [MENU]" -#define TR_LIMIT INDENT "Grenzen" -#define TR_MINRSSI "Min. RSSI" -#define TR_LATITUDE "Breite:" -#define TR_LONGITUDE "Länge:" -#define TR_GPSCOORD TR("GPS-Koord.", "GPS-Koordinaten-Format") -#define TR_VARIO TR("----Vario--------", "----Variometer----") //9XR-Pro -#define TR_PITCH_AT_ZERO INDENT "Niedrigster Ton" -#define TR_PITCH_AT_MAX INDENT "Höchster Ton" -#define TR_REPEAT_AT_ZERO INDENT "Wiederholrate" -#define TR_POWEROFF "\027Power OFF..." -#define TR_SHUTDOWN "Herunterfahren" -#define TR_SAVEMODEL "Modelleinstellungen speichern" -#define TR_BATT_CALIB "Akku Spg messen" -#define TR_CURRENT_CALIB "Strom abgl." -#define TR_VOLTAGE TR(INDENT "Spg", INDENT "Spannungsquelle") //9XR-Pro -#define TR_CURRENT TR(INDENT "Strom", INDENT "Stromquelle") -#define TR_SELECT_MODEL "Modell Wählen" -#define TR_CREATE_CATEGORY "Create Category" -#define TR_RENAME_CATEGORY "Rename Category" -#define TR_DELETE_CATEGORY "Delete Category" -#define TR_CREATE_MODEL "Neues Modell" -#define TR_DUPLICATE_MODEL "Duplicate Model" -#define TR_CHANGE_CATEGORY "Change category" -#define TR_COPY_MODEL "Kopiere Modell" -#define TR_MOVE_MODEL "Verschiebe Modell" -#define TR_BACKUP_MODEL "Modell auf SD-Karte" //9XR-Pro -#define TR_DELETE_MODEL "Modell Löschen" // TODO merged into DELETEMODEL? -#define TR_RESTORE_MODEL "Modell Restore" -#define TR_SDCARD_ERROR "SD-Kartenfehler" -#define TR_NO_SDCARD "Keine SD-Karte" -#define TR_SDCARD_FULL "SD-Karte voll" -#define TR_INCOMPATIBLE "Nicht kompatibel" -#define TR_WARNING "WARNUNG" -#define TR_EEPROMWARN "EEPROM" -#define TR_STORAGE_WARNING "STORAGE" -#define TR_EEPROM_CONVERTING "EEPROM Converting" -#define TR_THROTTLEWARN "GAS" -#define TR_ALARMSWARN "ALARM" -#define TR_SWITCHWARN "SCHALTER" -#define TR_FAILSAFEWARN "FAILSAFE" -#define TR_NO_FAILSAFE TR("Failsafe not set", "Failsafe nicht programmiert") -#define TR_KEYSTUCK "Taste klemmt" //Key stuck=Taste klemmt -#define TR_INVERT_THR TR("Gas umkehren?", "Vollgas hinten?") // Th9x 9XR -#define TR_SPEAKER_VOLUME INDENT "Lautstärke" -#define TR_LCD "Bildschirm" -#define TR_BRIGHTNESS INDENT "Helligkeit" -#define TR_CPU_TEMP "CPU-Temp.\016>" -#define TR_CPU_CURRENT "Strom\022>" -#define TR_CPU_MAH "Verbrauch" -#define TR_COPROC "CoProz." -#define TR_COPROC_TEMP "MB Temp. \016>" -#define TR_CAPAWARNING INDENT "Kapaz. niedrig" // wg 9XR-Pro -#define TR_TEMPWARNING INDENT "Temp. größer" //wg 9XR-Pro -#define TR_FUNC "Funktion" -#define TR_V1 "V1" -#define TR_V2 "V2" -#define TR_DURATION "Dauer" -#define TR_DELAY "Verzög." -#define TR_SD_CARD "SD-Karte" -#define TR_SDHC_CARD "SDHC-Karte" -#define TR_NO_SOUNDS_ON_SD "Keine Töne auf SD" -#define TR_NO_MODELS_ON_SD "Kein Modell auf SD" -#define TR_NO_BITMAPS_ON_SD "Keine Bitmaps auf SD" -#define TR_NO_SCRIPTS_ON_SD "Keine Scripte auf SD" -#define TR_SCRIPT_SYNTAX_ERROR "Script Syntax Fehler" -#define TR_SCRIPT_PANIC "Script panic" //?? -#define TR_SCRIPT_KILLED "Script killed" //?? -#define TR_SCRIPT_ERROR "Unbekannter Fehler" -#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 "Bitmap zuordnen" -#define TR_EXECUTE_FILE "Execute" -#define TR_REMOVED " gelöscht" -#define TR_SD_INFO "Information" -#define TR_SD_FORMAT "Formatieren" -#define TR_NA "N/V" //NV=Nicht Verfügbar Kurz-Meldung -#define TR_HARDWARE TR("Hardware einst. ", "Namen und Hardware einst.") -#define TR_FORMATTING "Formatierung..." -#define TR_TEMP_CALIB "Temp. abgl." -#define TR_TIME "Uhrzeit:" -#define TR_BAUDRATE "BT Baudrate" -#define TR_SD_INFO_TITLE "SD-INFO" -#define TR_SD_TYPE "Typ:" -#define TR_SD_SPEED "Geschw:" -#define TR_SD_SECTORS "Sectoren:" -#define TR_SD_SIZE "Größe:" -#define TR_TYPE INDENT "Type" -#define TR_GLOBAL_VARS "Globale Variablen" -#define TR_GVARS "GLOBALE V." -#define TR_GLOBAL_VAR "Globale Variable" -#define TR_MENUGLOBALVARS "GLOBALE VARIABLEN" -#define TR_OWN "Eigen" -#define TR_DATE "Datum:" -#define TR_ROTARY_ENCODER "Drehgeber" -#define TR_CHANNELS_MONITOR "Kanal-Monitor==>" -#define TR_MIXERS_MONITOR "==>Mischer Monitor" -#define TR_PATH_TOO_LONG "Pfad zu Lang" -#define TR_VIEW_TEXT "View Text" -#define TR_FLASH_BOOTLOADER "Flash BootLoader selbst" // -#define TR_FLASH_EXTERNAL_DEVICE "Flash externes Gerät" -#define TR_FLASH_INTERNAL_MODULE "Flash internes XJT-Modul" -#define TR_WRITING "\032Writing..." // -#define TR_CONFIRM_FORMAT "Formatieren bestätigen?" -#define TR_INTERNALRF "----Internes HF-Modul----------" -#define TR_EXTERNALRF TR("---Externes HF-Modul---", "----Externes HF-Modul----------") //9XR-Pro -#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafe Mode") -#define TR_FAILSAFESET "Failsafe setzen" -#define TR_MENUSENSOR "SENSOR" -#define TR_SENSOR "SENSOR" -#define TR_COUNTRYCODE "Landescode" -#define TR_VOICELANG "Sprach-Ansage" -#define TR_UNITSSYSTEM "Einheiten" -#define TR_EDIT "Zeile Editieren" -#define TR_INSERT_BEFORE "Neue Zeile davor" -#define TR_INSERT_AFTER "Neue Zeile danach" -#define TR_COPY "Zeile kopieren" -#define TR_MOVE "Zeile verschieben" -#define TR_PASTE "Zeile einfügen" -#define TR_DELETE "Zeile löschen" -#define TR_INSERT "Neue Zeile" -#define TR_RESET_FLIGHT "Reset Flugdaten" -#define TR_RESET_TIMER1 "Reset Timer1" -#define TR_RESET_TIMER2 "Reset Timer2" -#define TR_RESET_TIMER3 "Reset Timer3" -#define TR_RESET_TELEMETRY "Reset Telemetrie" -#define TR_STATISTICS "Statistik und Gas" -#define TR_ABOUT_US "Die Programmierer" -#define TR_SETUP_SCREENS "Setup screens" -#define TR_AND_SWITCH "UND Schalt" //UND mit weiterem Schaltern -#define TR_SF "SF" //Spezial Funktionen -#define TR_GF "GF" // Globale Funktionen -#define TR_SPEAKER INDENT "Lautspr" -#define TR_BUZZER INDENT "Summer" -#define TR_BYTES "Bytes" -#define TR_MODULE_BIND TR("Bind","[Bind]") //9XR-Pro -#define TR_MODULE_RANGE TR("Rang", "[Range]") //9XR-Pro -#define TR_RESET_BTN TR("[Reset]", "[Reset Trim]") -#define TR_SET "[Set]" -#define TR_TRAINER "----DSC Buchse PPM In/Out------" //DSC Buchse Trainer Buchse -#define TR_ANTENNAPROBLEM CENTER "TX-Antennenproblem!" -#define TR_MODELIDUSED TR("ID schon benutzt", "Modell-ID schon benutzt") -#define TR_MODULE INDENT "Modul-Typ" -#define TR_TELEMETRY_TYPE TR("Typ", "Telemetrytyp") -#define TR_TELEMETRY_SENSORS "----Sensoren----" -#define TR_VALUE "Wert" -#define TR_TOPLCDTIMER "Top LCD Timer" -#define TR_UNIT "Einheit" -#define TR_TELEMETRY_NEWSENSOR INDENT "Sensor hinzufügen ..." -#define TR_CHANNELRANGE TR(INDENT "Kanäle", INDENT "Ausgangs Kanäle") //wg 9XR-Pro -#define TR_ANTENNASELECTION INDENT "Antenna selection" -#define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" -#define TR_LOWALARM INDENT "Vor-Alarm bei" -#define TR_CRITICALALARM INDENT "Kritisch-Alarm" -#define TR_ENABLE_POPUP "Freigabe Popup-Fenster" -#define TR_DISABLE_POPUP "Sperren Popup-Fenster" -#define TR_POPUP "Popup" -#define TR_MIN "Min" -#define TR_MAX "Max" -#define TR_CURVE_PRESET "Gerade 0 11 22 33 45" -#define TR_PRESET "Preset" -#define TR_MIRROR "Spiegeln" -#define TR_CLEAR "Löschen" -#define TR_RESET "Servowerte rücksetzen" -#define TR_RESET_SUBMENU TR("Reset Werte ==>", "Reset=>Timer Flug Telem") -#define TR_COUNT "Punkte" -#define TR_PT "Pt" -#define TR_PTS "Pts" -#define TR_SMOOTH "Runden" -#define TR_COPY_STICKS_TO_OFS "Kopie Stick to Servo-Mitte" -#define TR_COPY_TRIMS_TO_OFS "Kopie Trimm to Servo-Mitte" // "Trim to Subtrim" -#define TR_INCDEC "Inc/Decrement" -#define TR_GLOBALVAR "Global Var" -#define TR_MIXSOURCE "Mixer Quelle" -#define TR_CONSTANT "Konstant" -#define TR_PERSISTENT_MAH TR(INDENT "Spr. mAh", INDENT "Speichern mAh") //9XR-Pro -#define TR_PREFLIGHT TR("---Vorflug-Checkliste--", "----Vorflug-Checkliste----") -#define TR_CHECKLIST TR(INDENT "Checkliste", INDENT "Checkliste anzeigen") //9XR-Pro -#define TR_FAS_OFFSET TR(INDENT "FAS-Ofs", INDENT "FAS-Offset") -#define TR_UART3MODE "Serieller Port" -#define TR_SCRIPT "Lua-Script" -#define TR_INPUTS "Inputs" -#define TR_OUTPUTS "Outputs" -#define TR_EEBACKUP "\002[ENTER Long] Backup EEPROM->SD-Karte" -#define TR_FACTORYRESET "\004[MENU Long] ALLES komplett löschen" -#define TR_CONFIRMRESET "ALLE Modelle + Einst. löschen?" -#define TR_TO_MANY_LUA_SCRIPTS "Zu viele Lua-Scripte!!" - -#if defined(MAVLINK) - #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" - #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" - #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" - #define TR_MAVLINK_BAUD_LABEL "Baudrate" - #define TR_MAVLINK_INFOS "INFOS" - #define TR_MAVLINK_MODE "MODE" - #define TR_MAVLINK_CUR_MODE "Current Mode" - #define TR_MAVLINK_ARMED "Armed" - #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" - #define TR_MAVLINK_BATTERY_LABEL "Flugakku-Status" - #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" - #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" - #define TR_MAVLINK_NAV_MENU_TITLE "NAV" - #define TR_MAVLINK_COURSE "Course" - #define TR_MAVLINK_HEADING "Heading" - #define TR_MAVLINK_BEARING "Bearing" - #define TR_MAVLINK_ALTITUDE "Altitude" - #define TR_MAVLINK_GPS "GPS" - #define TR_MAVLINK_NO_FIX "NO Fix" - #define TR_MAVLINK_SAT "SAT" - #define TR_MAVLINK_HDOP "HDOP" - #define TR_MAVLINK_LAT "LAT" - #define TR_MAVLINK_LON "LON" -#endif - -// Taranis Info Zeile Anzeigen -#define TR_PHASES_HEADERS { " Name ", " Schalter ", " Trim Seite ", " Trim Höhe ", " Trim Gas ", " Trim Quer ", " Fade In ", " Fade Out " } -#define TR_LIMITS_HEADERS { " Name ", " Mitte ", " Min ", " Max ", " Richtung ", " Kurve ", " PPM-Mitte ", " Mitte-Mode " } -#define TR_CSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " Var2 ", " UND-Schalter ", " Dauer ", " Verzögerung " } - -//Taranis About screen -#define TR_ABOUTUS "Über OpenTx" - -#define TR_ABOUT_OPENTX_1 "OpenTX ist Open Source," -#define TR_ABOUT_OPENTX_2 "nicht kommerziell, ohne" -#define TR_ABOUT_OPENTX_3 "Funktionsgarantie, frei" -#define TR_ABOUT_OPENTX_4 "verfügbar. Unterstützung" -#define TR_ABOUT_OPENTX_5 "durch Spenden willkommen" - -#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" -#define TR_ABOUT_BERTRAND_2 "OpenTX Hauptauthor" -#define TR_ABOUT_BERTRAND_3 "Companion9x-Mitentwickler" - -#define TR_ABOUT_MIKE_1 "Mike Blandford" -#define TR_ABOUT_MIKE_2 "Code- und Treiber-Guru" -#define TR_ABOUT_MIKE_3 "Wohl einer der Besten." -#define TR_ABOUT_MIKE_4 "Sehr inspirierend." - -#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" -#define TR_ABOUT_ROMOLO_2 "Companion9x-Hauptentwickler" -#define TR_ABOUT_ROMOLO_3 "" - -#define TR_ABOUT_ANDRE_1 "Andre Bernet" -#define TR_ABOUT_ANDRE_2 "Funktionalität und Tests," -#define TR_ABOUT_ANDRE_3 "Debugging, Dokumentation" - -#define TR_ABOUT_ROB_1 "Rob Thomson" -#define TR_ABOUT_ROB_2 "Openrcforums Webmaster" - -#define TR_ABOUT_KJELL_1 "Kjell Kernen" -#define TR_ABOUT_KJELL_2 "www.open-tx.org Hauptautor" -#define TR_ABOUT_KJELL_3 "Author von OpenTX Recorder" -#define TR_ABOUT_KJELL_4 "Companion contributor" - -#define TR_ABOUT_MARTIN_1 "Martin Hotar" -#define TR_ABOUT_MARTIN_2 "Grafikdesigner" - -#if defined(PCBTARANIS) - #define TR_ABOUT_HARDWARE_1 "Firma FrSky " - #define TR_ABOUT_HARDWARE_2 "Hardware-Design/-Produktion" - #define TR_ABOUT_HARDWARE_3 "Firmware-Vertrieb" -#else - #define TR_ABOUT_HARDWARE_1 "Brent Nelson" - #define TR_ABOUT_HARDWARE_2 "Sky9x Design/Produktion" - #define TR_ABOUT_HARDWARE_3 "" -#endif - -#define TR_ABOUT_PARENTS_1 "Vorgänger-Projekte" -#define TR_ABOUT_PARENTS_2 "Ersky9x (Mike Blandford)" -#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)" -#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" - -#define TR_CHR_SHORT 's' // Taste short -#define TR_CHR_LONG 'l' // Taste long -#define TR_CHR_TOGGLE 't' // Taste als togglefunktion = Ein Aus Ein -#define TR_CHR_HOUR 'h' // Stunden -#define TR_CHR_INPUT 'I' // Values between A-I will work - -#define TR_BEEP_VOLUME "Beep-Lautst." -#define TR_WAV_VOLUME "Wave-Lautst." -#define TR_VARIO_VOLUME "Vario-Lautst." -#define TR_BG_VOLUME "Hintergr-Lautst." - -#define TR_TOP_BAR "----Infozeile----" -#define TR_ALTITUDE INDENT "Höhenanzeige" -#define TR_SCALE "Skalierer" -#define TR_VIEW_CHANNELS "Zeige Kanäle" -#define TR_VIEW_NOTES "Zeige Notizen" -#define TR_MODEL_SELECT "Model Select" -#define TR_MODS_FORBIDDEN "Veränderungen verboten!" -#define TR_UNLOCKED "Entsperrt" -#define TR_ID "ID" -#define TR_PRECISION "Prezision" -#define TR_RATIO "Umrechnung" //Faktor, Mulitplikator, Teiler 0,1 bis 10,0 -#define TR_FORMULA "Formel" -#define TR_CELLINDEX "Zellenindex" -#define TR_LOGS "Log Daten" -#define TR_OPTIONS "Optionen" - -#define TR_ALTSENSOR "Höhen Sensor" -#define TR_CELLSENSOR "Zellen Sensor" -#define TR_GPSSENSOR "GPS Sensor" -#define TR_CURRENTSENSOR "Sensor" -#define TR_AUTOOFFSET "Auto Offset" -#define TR_ONLYPOSITIVE "Nur Positiv" -#define TR_FILTER "Filter aktiv" -#define TR_TELEMETRYFULL "Telemetriezeilen voll!" -#define TR_INVERTED_SERIAL INDENT "Invert." -#define TR_IGNORE_INSTANCE TR(INDENT "Keine ID", INDENT "Keine Multisen-ID") //unklar -#define TR_DISCOVER_SENSORS INDENT "Start Sensorsuche" -#define TR_STOP_DISCOVER_SENSORS INDENT "Stop Sensorsuche" -#define TR_DELETE_ALL_SENSORS INDENT "Lösche alle Sensoren" -#define TR_CONFIRMDELETE "Wirklich alle löschen?" -#define TR_SELECT_WIDGET "Select widget" -#define TR_REMOVE_WIDGET "Remove widget" -#define TR_WIDGET_SETTINGS "Widget settings" -#define TR_REMOVE_SCREEN "Remove screen" -// ----------------------------- Symbole für Auswahlliste---------- -#define TR_MENU_INPUTS "\314Inputs" -#define TR_MENU_LUA "\322Lua Scripte" -#define TR_MENU_STICKS "\307Knüppel" -#define TR_MENU_POTS "\310Potis" -#define TR_MENU_MAX "\315MAX" -#define TR_MENU_HELI "\316Heli-TS CYC1-3" -#define TR_MENU_TRIMS "\313Trimmung" -#define TR_MENU_SWITCHES "\312Schalter" -#define TR_MENU_LOGICAL_SWITCHES "\312Log. Schalter" -#define TR_MENU_TRAINER "\317Trainer" -#define TR_MENU_CHANNELS "\320Kanäle" -#define TR_MENU_GVARS "\311Glob. Vars" -#define TR_MENU_TELEMETRY "\321Telemetrie" -#define TR_MENU_OTHER " Weitere" -#define TR_MENU_INVERT "Invertieren" -// ---------------------------------------------------------------- -#define ZSTR_RSSI "RSSI" -#define ZSTR_SWR "SWR" -#define ZSTR_A1 "A1" -#define ZSTR_A2 "A2" -#define ZSTR_A3 "A3" -#define ZSTR_A4 "A4" -#define ZSTR_BATT "RxBt" -#define ZSTR_ALT "Alt" -#define ZSTR_TEMP1 "Tmp1" -#define ZSTR_TEMP2 "Tmp2" -#define ZSTR_RPM "RPM" -#define ZSTR_FUEL "Fuel" -#define ZSTR_VSPD "VSpd" -#define ZSTR_ACCX "AccX" -#define ZSTR_ACCY "AccY" -#define ZSTR_ACCZ "AccZ" -#define ZSTR_CURR "Curr" -#define ZSTR_VFAS "VFAS" -#define ZSTR_ASPD "ASpd" -#define ZSTR_GSPD "GSpd" -#define ZSTR_HDG "Hdg" -#define ZSTR_CELLS "Cels" -#define ZSTR_GPSALT "GAlt" -#define ZSTR_GPSDATETIME "Date" -#define ZSTR_GPS "GPS" -#define ZSTR_BATT1_VOLTAGE "RB1V" -#define ZSTR_BATT2_VOLTAGE "RB2V" -#define ZSTR_BATT1_CURRENT "RB1A" -#define ZSTR_BATT2_CURRENT "RB2A" -#define ZSTR_BATT1_CONSUMPTION "RB1C" -#define ZSTR_BATT2_CONSUMPTION "RB2C" -#define ZSTR_RB_STATE "RBS" -#define ZSTR_CHANS_STATE "RBCS" -#define ZSTR_RX_RSSI1 "1RSS" -#define ZSTR_RX_RSSI2 "2RSS" -#define ZSTR_RX_QUALITY "RQly" -#define ZSTR_RX_SNR "RSNR" -#define ZSTR_ANTENNA "ANT" -#define ZSTR_RF_MODE "RFMD" -#define ZSTR_TX_POWER "TPWR" -#define ZSTR_TX_RSSI "TRSS" -#define ZSTR_TX_QUALITY "TQly" +/* + * Copyright (C) OpenTX + * + * Based on code named + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +// DE translations author: who? + +/* + * !!!!! DO NOT EDIT de.h - EDIT de.h.txt INSTEAD !!!!!!! + * + * In order to make translations easier de.h.txt is parsed and national + * characters are replaced by bitmap codes. The result is de.h. + * + * See translate.py in the util folder for the list of character codes + * + * !!!!! DO NOT EDIT de.h - EDIT de.h.txt INSTEAD !!!!!!! + */ + +/* + * Formatting octal codes available in TR_ strings: + * \037\x -sets LCD x-coord (x value in octal) + * \036 -newline + * \035 -horizontal tab (ARM only) + * \001 to \034 -extended spacing (value * FW/2) + * \0 -ends current string + */ + + +// NON ZERO TERMINATED STRINGS +#define LEN_OFFON "\003" +#define TR_OFFON "AUS""EIN" + +#define LEN_MMMINV "\003" +#define TR_MMMINV "---""INV" + +#define LEN_NCHANNELS "\004" +#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" + +#define LEN_VBEEPMODE "\005" +#define TR_VBEEPMODE "Stumm""Alarm""NoKey""Alle\0" + +#define LEN_VBEEPLEN "\005" +#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" + +#define LEN_VRENAVIG "\003" +#define TR_VRENAVIG "AUSDGaDGb" + +#define LEN_VBLMODE "\005" +#define TR_VBLMODE "AUS\0 ""Taste""Stks\0""Beide""EIN\0 " // Anpassung + +#define LEN_TRNMODE "\003" +#define TR_TRNMODE "AUS"" +="" :=" + +#define LEN_TRNCHN "\003" +#define TR_TRNCHN "CH1CH2CH3CH4" + +#define LEN_UART3MODES "\015" +#define TR_UART3MODES "AUS\0 ""S-Port Mirror""Telemetrie\0 ""SBUS Schüler\0""Debug\0" + +#define LEN_SWTYPES "\006" +#define TR_SWTYPES "Kein\0 ""Taster""2POS\0 ""3POS\0" + +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Kein\0 ""Poti mit Raste ""Stufen-Schalter""Poti ohne Raste\0" + +#define LEN_SLIDERTYPES "\006" +#define TR_SLIDERTYPES "Keine\0""Slider" + +#define LEN_DATETIME "\005" +#define TR_DATETIME "DATE:""ZEIT:" + +#define LEN_VLCD "\006" +#define TR_VLCD "NormalOptrex" + +#define LEN_VPERSISTENT "\014" +#define TR_VPERSISTENT "AUS\0 ""Flugzeit\0 ""Manuell Ruck" + +#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 "AUS\0""PPM\0""XJT\0""DSM?""CRSF""MULT" + +#if defined(MODULE_D16_EU_ONLY_SUPPORT) + #define LEN_XJT_PROTOCOLS "\007" + #define TR_XJT_PROTOCOLS "AUS\0 ""D16-EU\0""D8\0 ""LR12-EU" +#else + #define LEN_XJT_PROTOCOLS "\004" + #define TR_XJT_PROTOCOLS "AUS\0""X16\0""D8\0 ""LR12" +#endif + +#define LEN_DSM_PROTOCOLS "\004" +#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" //LP45 =Low Power 4 und 5 Kanal + +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM?\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE für FRSKY nutzt TR_XJT_PROTOCOLS mit Offset +1 + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE für DSMX nutzt TR_DSM_PROTOCOLS mit Offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Grün\0 ""Blau\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + +#define LEN_VTRIMINC TR("\007", "\014") // ursprüglich "\006", "\013" +#define TR_VTRIMINC TR("Expo ""ExFein ""Fein ""Mittel ""Grob ", "Exponentiell""Extrafein ""Fein ""Mittel ""Grob ") + +#define LEN_VDISPLAYTRIMS "\006" +#define TR_VDISPLAYTRIMS "Nein\0 ""Kurz\0 ""Ja\0" //Trimmwerte Keine, kurze Anzeigen, Ja + +#define LEN_VBEEPCOUNTDOWN "\006" +#define TR_VBEEPCOUNTDOWN "Kein\0 Pieps\0StimmeHaptik" + +#define LEN_VVARIOCENTER "\006" +#define TR_VVARIOCENTER "Ton\0 ""Ruhe " + +#define LEN_CURVE_TYPES "\010" +#define TR_CURVE_TYPES " Nur Y "" X und Y" //"Standard""Custom\0" + +#define LEN_RETA123 "\001" + +#if defined(PCBHORUS) + #define TR_RETA123 "SHGQ12345LR" +#elif defined(PCBFLAMENCO) + #define TR_RETA123 "SHGQ123LR" +#elif defined(PCBTARANIS) && defined(REV9E) + #define TR_RETA123 "SHGQ1234LRLR" +#elif defined(PCBTARANIS) || defined(REVX) + #define TR_RETA123 "SHGQ123LR" +#elif defined(PCBSKY9X) + #define TR_RETA123 "SHGQ123a" +#elif defined(CPUM2560) + #define TR_RETA123 "SHGQ123ab" +#else + #define TR_RETA123 "SHGQ123" +#endif + +#define LEN_VPROTOS "\006" + +#if defined(PXX) + #define TR_PXX "PXX\0 " +#elif defined(DSM2) || defined(IRPROTOS) + #define TR_PXX "[PXX]\0" +#else + #define TR_PXX +#endif + +#if defined(DSM2) + #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " +#elif defined(IRPROTOS) + #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" +#else + #define TR_DSM2 +#endif + +#if defined(IRPROTOS) + #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" +#else + #define TR_IRPROTOS +#endif + +#if defined(CPUARM) + #define TR_XPPM +#else + #define TR_XPPM "PPM16\0""PPMsim" +#endif + +#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS + +#define LEN_POSNEG "\003" +#define TR_POSNEG "POS""NEG" + +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + +#define LEN_VCURVEFUNC "\003" +#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" + +#define LEN_VMLTPX "\010" +#define TR_VMLTPX "Addiere ""Multipl.""Ersetze " + +#define LEN_VMLTPX2 "\002" +#define TR_VMLTPX2 "+=""*="":=" + +#define LEN_VMIXTRIMS "\003" +#define TR_VMIXTRIMS "AUS""EIN""Sei""Höh""Gas""Que" //Mixer Trim Werte + +#if LCD_W >= 212 + #define TR_CSWTIMER "Takt\0" // TIM = Takt = Taktgenerator + #define TR_CSWSTICKY "SRFF\0" // Sticky = RS-Flip-Flop + #define TR_CSWRANGE "Range" // Range = Bereichsabfrage von bis + #define TR_CSWSTAY "Puls\0" // Edge = einstellbarer Impuls +#else + #define TR_CSWTIMER "Takt\0" // TIM = Takt = Taktgenerator + #define TR_CSWSTICKY "SRFF\0" // Sticky = RS-Flip-Flop + #if defined(CPUARM) + #define TR_CSWRANGE "Rnge\0" // Range= Bereichsabfrage von bis + #define TR_CSWSTAY "Puls\0" // Edge = einstellbarer Impuls + #else + #define TR_CSWRANGE + #define TR_CSWSTAY + #endif +#endif + +#if defined(CPUARM) +#define TR_CSWEQUAL "a=x\0 " +#else +#define TR_CSWEQUAL +#endif + +#define LEN_VCSWFUNC "\005" +#if defined(CPUARM) +#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 + #define TR_SF_SAFETY "Override\0 " //"Override\0 " +#elif defined(OVERRIDE_CHANNEL_FUNCTION) + #define TR_SF_SAFETY "Overr.\0 " //"Overr.\0 " +#else + #define TR_SF_SAFETY "---\0 " +#endif + +#if defined(PCBTARANIS) + #define TR_SF_SCREENSHOT "Screenshot" +#else + #define TR_SF_SCREENSHOT +#endif + +#define TR_SF_RESERVE "[Reserve]\0" + +#if defined(CPUARM) + #define TR_VFSWFUNC TR_SF_SAFETY "Lehrer \0 ""Inst. Trim""Rücksetz.\0""Setze \0 " TR_ADJUST_GVAR "Lautstr.\0 " "SetFailsfe" "RangeCheck" "ModuleBind" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_SF_SCREENSHOT TR_SF_TEST +#elif defined(PCBGRUVIN9X) + #define TR_VFSWFUNC TR_SF_SAFETY "Lehrer \0 ""Inst. Trim""Rücksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_SF_TEST +#else + #define TR_VFSWFUNC TR_SF_SAFETY "Lehrer \0 ""Inst. Trim""Rücksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "LCD Licht\0" TR_SF_TEST +#endif + +#define LEN_VFSWRESET TR("\004", "\011") + +#if defined(FRSKY) + #define TR_FSW_RESET_TELEM TR("Telm", "Telemetrie") +#else + #define TR_FSW_RESET_TELEM +#endif + +#if ROTARY_ENCODERS == 2 + #define TR_FSW_RESET_ROTENC TR("DGa\0""DGb\0", "DrehGb A\0""DrehGb B\0") +#elif ROTARY_ENCODERS == 1 + #define TR_FSW_RESET_ROTENC TR("D.G.", "DrehGb\0 ") +#else + #define TR_FSW_RESET_ROTENC +#endif + +#if LCD_W >= 212 + #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " +#elif defined(CPUARM) + #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" +#else + #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2" +#endif + +#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "All\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) + +#define LEN_FUNCSOUNDS TR("\004", "\006") +#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Piep1\0""Piep2\0""Piep3\0""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk") + +#define LEN_VTELEMCHNS TR("\004", "\005") + +#if defined(CPUARM) + #define TR_TELEM_RESERVE TR("[--]", "[---]") + #define TR_TELEM_TIME TR("Zeit", "Zeit\0") + #define TR_SWR TR("SWR\0", "SWR\0 ") + #define TR_RX_BATT TR("[NA]", "[NA]\0") + #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") + #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") +#else + #define TR_TELEM_RESERVE + #define TR_TELEM_TIME + #define TR_SWR + #define TR_RX_BATT + #define TR_A3_A4 + #define TR_A3_A4_MIN +#endif + +#define TR_ASPD_MAX TR("ASp+", "ASpd+") + +#if LCD_W >= 212 + #define TR_TELEM_RSSI_RX "RSSI\0" +#else + #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") +#endif + +#if defined(CPUARM) + #define TR_TELEM_TIMERS TR("Tmr1""Tmr2""Tmr3", "Tmr1\0""Tmr2\0""Tmr3\0") +#else + #define TR_TELEM_TIMERS TR("Tmr1""Tmr2", "Tmr1\0""Tmr2\0") +#endif + +#if LCD_W >= 212 + #define TR_VTELEMCHNS "---\0 ""Akku\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Zeit\0" +#else + #define TR_VTELEMCHNS "---\0""Akku" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Zeit" +#endif + +#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 ") + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" +#else + #if defined(IMPERIAL_UNITS) + #define LENGTH_UNIT LENGTH_UNIT_IMP + #define SPEED_UNIT SPEED_UNIT_IMP + #else + #define LENGTH_UNIT LENGTH_UNIT_METR + #define SPEED_UNIT SPEED_UNIT_METR + #endif + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " +#endif + +#define STR_V (STR_VTELEMUNIT+1) +#define STR_A (STR_VTELEMUNIT+4) + +#define LEN_VALARM "\003" +#define TR_VALARM "---""Glb""Org""Rot" + +#define LEN_VALARMFN "\001" +#define TR_VALARMFN "<>" + +#define LEN_VTELPROTO "\007" +#define TR_VTELPROTO "Kein\0 ""Hub\0 ""WSHHigh" + +#if defined(CPUARM) + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") + #define LEN_VOLTSRC TR("\003", "\005") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") +#else + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells") +#endif + +#define LEN_VARIOSRC "\004" +#if defined(FRSKY_SPORT) + #define TR_VARIOSRC "Vspd""A1\0 ""A2\0 ""dTE\0" +#else + #define TR_VARIOSRC "Alt\0""Alt+""Vspd""A1\0 ""A2\0 " +#endif + +#if defined(CPUARM) + #define LEN_VTELEMSCREENTYPE "\007" + #define TR_VTELEMSCREENTYPE " None "" Werte "" Balken"" Script" +#else + #define LEN_VTELEMSCREENTYPE "\007" + #define TR_VTELEMSCREENTYPE " Werte "" Balken" +#endif + +#define LEN_GPSFORMAT "\004" +#define TR_GPSFORMAT "GMS\0""NMEA" //Koordinatenanzeige + +#define LEN2_VTEMPLATES 15 // max String Länge für Menü (original=13) +#define LEN_VTEMPLATES "\017" // max String Länge 15+cr+lf +#define TR_VTEMPLATES "Misch. Lösch.\0 ""Einfach. 4-CH\0 ""Fixe Gassperre\0""V-Leitwerk\0 ""Delta Mischer\0 ""eCCPM\0 ""Hubschrauber\0 ""Servo Tester\0 " + +#define LEN_VSWASHTYPE "\004" +#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" + +#define LEN_VKEYS "\005" +#define TR_VKEYS TR("Menu\0""Exit\0""Down\0""Up\0 ""Right""Left\0", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus") + +#define LEN_VRENCODERS "\003" +#define TR_VRENCODERS "DGa""DGb" //Digitalgeber a und b = Drehgeber + +#define LEN_VSWITCHES "\003" +#define LEN_VSRCRAW "\004" + +#define TR_STICKS_VSRCRAW TR("Sei\0""Höh\0""Gas\0""Qur\0", "\307Sei""\307Höh""\307Gas""\307Qur") +#define TR_TRIMS_VSRCRAW TR("TrmS""TrmH""TrmG""TrmQ", "\313Sei""\313Höh""\313Gas""\313Qur") + +#if defined(PCBHORUS) + #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#elif defined(PCBFLAMENCO) + #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " + #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " +#elif defined(PCBTARANIS) && defined(REV9E) + #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" +#elif defined(PCBTARANIS) + #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#else + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " + #define TR_SW_VSRCRAW "3POS" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" +#endif + +#if defined(CPUARM) + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" +#else + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" +#endif + +#define TR_TRIMS_SWITCHES TR("tSl""tSr""tHd""tHu""tGd""tGu""tQl""tQr", "\313Sl""\313Sr""\313Hd""\313Hu""\313Gd""\313Gu""\313Ql""\313Qr") + +#if defined(PCBSKY9X) + #define TR_ROTARY_ENCODERS "DGa\0" + #define TR_ROTENC_SWITCHES "DGa" +#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) + #define TR_ROTARY_ENCODERS "DGa\0""DGb\0" + #define TR_ROTENC_SWITCHES "DGa""DGb" +#else + #define TR_ROTARY_ENCODERS + #define TR_ROTENC_SWITCHES +#endif + +#if !defined(PCBTARANIS) + #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" +#endif + +#define TR_ON_ONE_SWITCHES "ON\0""One" + +#if defined(PCBFLAMENCO) + #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" +#elif defined(PCBTARANIS) || defined(PCBHORUS) + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES +#else + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES +#endif + +#if defined(HELI) +#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" +#else +#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" +#endif + +#if defined(CPUARM) + #define TR_RESERVE_VSRCRAW "[--]" + #define TR_EXTRA_VSRCRAW "Batt""Time" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" +#else + #define TR_EXTRA_VSRCRAW +#endif + +#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW + +#define LEN_VTMRMODES "\003" +#define TR_VTMRMODES "AUS""EIN""GSs""GS%""GSt" + +#define LEN_VTRAINERMODES "\022" +#define TR_VTRAINERMODES "Lehrer/Buchse\0 ""Schüler/Buchse\0 ""Lehrer/SBUS Modul\0""Lehrer/CPPM Modul\0""Lehrer/Batterie\0" + +#define LEN_VFAILSAFE "\015" // "\013" original +#define TR_VFAILSAFE "Kein Failsafe""Halte Pos.\0 ""Kanäle\0 ""Kein Signal\0 ""Empfänger\0 " + +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + +#define LEN_VSENSORTYPES "\012" +#define TR_VSENSORTYPES "Sensor\0 ""Berechnung" + +#define LEN_VFORMULAS "\014" // "\10" ursprünglich +#define TR_VFORMULAS "Addieren\0 ""Mittelwert\0 ""Min\0 ""Max\0 ""Multiplizier""Gesamt\0 ""Zelle\0 ""Verbrauch\0 ""Distanz\0 " + +#define LEN_VPREC "\004" // "\005" Prec0 Prec1 Prec2 ursprünglich +#define TR_VPREC "0.--""0.0 ""0.00" + +#define LEN_VCELLINDEX "\012" // "\007" ursprünglich +#define TR_VCELLINDEX "Niedrigst\0""1. Zelle\0 ""2. Zelle\0 ""3. Zelle\0 ""4. Zelle\0 ""5. Zelle\0 ""6. Zelle\0 ""Höchster\0 ""Differenz\0" + +#define LEN_VANTENNATYPES "\010" +#define TR_VANTENNATYPES "Internal""External" + +// ZERO TERMINATED STRINGS +#if defined(COLORLCD) + #define INDENT "\007" + #define LEN_INDENT 1 + #define INDENT_WIDTH 12 + #define BREAKSPACE "\036" +#else + #define INDENT "\001" + #define LEN_INDENT 1 + #define INDENT_WIDTH (FW/2) + #define BREAKSPACE " " +#endif + +#if defined(PCBTARANIS) + #define TR_ENTER "[ENTER]" +#else + #define TR_ENTER "[MENU]" +#endif + +#define TR_EXIT "[EXIT]" + +#if defined(PCBTARANIS) + #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER +#else + #define TR_POPUPS TR_ENTER "\010" TR_EXIT + #define OFS_EXIT sizeof(TR_ENTER) +#endif + +#define TR_MENUWHENDONE CENTER"\010" TR_ENTER" > Weiter" +#define TR_FREE "frei" +#define TR_DELETEMODEL "Modell löschen?" +#define TR_COPYINGMODEL "Kopiere Modell" +#define TR_MOVINGMODEL "Schiebe Modell" +#define TR_LOADINGMODEL "Lade Modell..." +#define TR_NAME "Name" +#define TR_MODELNAME "Modellname" +#define TR_PHASENAME "Phase-Name" +#define TR_MIXNAME "Mix-Name" +#define TR_INPUTNAME "Input-Name" +#if defined(VIRTUALINPUTS) + #define TR_EXPONAME "Info-Name" +#else + #define TR_EXPONAME "Info-Name" // Expo Name +#endif +#define TR_BITMAP "Modellfoto" +#define TR_TIMER TR("Timer", "Timer ") // für Timer1 Timer2 Timer3 +#define TR_ELIMITS TR("Erw. Limit", "Erw. Wege auf 150%") +#define TR_ETRIMS TR("Erw. Trims", "Erw. Trim auf 100%") +#define TR_TRIMINC TR("Trim Schr.", "Trimmschritte") +#define TR_DISPLAY_TRIMS TR("Trim anzeig", "Trimwerte anzeigen") +#define TR_TTRACE TR("Gasquelle", INDENT "Gas-Timerquelle") +#define TR_TTRIM TR("Gastrim", INDENT "Gas-Leerlauftrim") +#define TR_BEEPCTR TR("Mitt.Piep", "Mittelstell. -Pieps") +#define TR_USE_GLOBAL_FUNCS TR("Glob. Funkt.", "Globale Funkt verw.") +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif +#define TR_PROTO TR(INDENT "Protok.", INDENT "Protokoll") +#if defined(CPUARM) + #define TR_PPMFRAME INDENT "PPM frame" +#else + #define TR_PPMFRAME "PPM frame" +#endif +#define TR_MS "ms" +#define TR_SWITCH TR("Schalt.", "Schalter") +#define TR_TRIMS "Trims" +#define TR_FADEIN "Langs. Ein" +#define TR_FADEOUT "Langs. Aus" +#define TR_DEFAULT "(Normal)" +#define TR_CHECKTRIMS CENTER"\006Check\012Trims" +#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) +#define TR_SWASHTYPE TR("Typ Taumelsch", "Typ Taumelscheibe") +#define TR_COLLECTIVE TR("Kollekt. Pitch", "Kollekt. Pitch Quelle") +#define TR_AILERON "Roll Quelle" +#define TR_ELEVATOR "Nick Quelle" +#define TR_SWASHRING TR("Ring Begrenz", "Ring Begrenzung") +#define TR_ELEDIRECTION TR("Nick Richtung", "Nick Servo Richtung") +#define TR_AILDIRECTION TR("Roll Richtung", "Roll Servo Richtung") +#define TR_COLDIRECTION TR("Pitch Richtung", "Pitch Servo Richtung") +#define TR_MODE INDENT "Modus" +#define TR_NOFREEEXPO "Expos voll!" +#define TR_NOFREEMIXER "Mischer voll!" +#define TR_SOURCE INDENT "Quelle" +#define TR_WEIGHT "Gewicht" +#define TR_EXPO TR("Expo", "Exponential") +#define TR_SIDE "Seite" +#define TR_DIFFERENTIAL "Diff" +#define TR_OFFSET INDENT "Offset" +#define TR_TRIM "Trim" +#define TR_DREX "DRex" +#define DREX_CHBOX_OFFSET 30 +#define TR_CURVE "Kurve" +#define TR_FLMODE TR("Phase", "Phasen") +#define TR_MIXWARNING "Warnung" +#define TR_OFF "AUS" +#define TR_MULTPX "Wirkung" +#define TR_DELAYDOWN "Verz. Dn" +#define TR_DELAYUP "Verz. Up" +#define TR_SLOWDOWN "Langs.Dn" +#define TR_SLOWUP "Langs.Up" +#define TR_MIXER "MISCHER" +#define TR_CV "KV" +#define TR_GV "GV" +#define TR_ACHANNEL TR("A\004gemessen", "A\004Kanal gemessen =>") //9XR-Pro +#define TR_RANGE TR(INDENT "Bereich", INDENT "Variobereich m/s") // 9XR-Pro +#define TR_CENTER TR(INDENT "Mitte m/s", INDENT "Variomitte m/s") +#define TR_BAR "Streifen" +#define TR_ALARM TR(INDENT "Alarme ", INDENT "Ein bei Alarm") //9XR-Pro +#define TR_USRDATA "Daten berechnen aus" +#define TR_BLADES TR(INDENT "Prop", INDENT "Prop-Blätter") //9XR-Pro +#define TR_SCREEN "Telm-Bild " +#define TR_SOUND_LABEL "----Töne---------" +#define TR_LENGTH INDENT "Dauer" +#define TR_BEEP_LENGTH INDENT "Beep-Länge" +#define TR_SPKRPITCH INDENT "Beep-Freq. +/-" +#define TR_HAPTIC_LABEL "----Haptik-------" //9XR-Pro +#define TR_HAPTICSTRENGTH INDENT "Stärke" +#define TR_CONTRAST "LCD-Kontrast" +#define TR_ALARMS_LABEL "----Alarm wenn---" +#define TR_BATTERY_RANGE TR("Akku Bereich", "Akku Spgs-Bereich") // Symbol Akku Ladezustand +#define TR_BATTERYWARNING INDENT "Akkuspg kleiner" +#define TR_INACTIVITYALARM TR(INDENT "Inaktivität", INDENT "Inaktivität nach") //9XR-Pro +#define TR_MEMORYWARNING INDENT "Speicher voll" +#define TR_ALARMWARNING TR(INDENT "Alle Töne aus?", INDENT "Alle Töne ganz aus?") +#define TR_RENAVIG "Drehgeb. Navig." +#define TR_THROTTLE_LABEL "----Gas-Kontrolle----" +#define TR_THROTTLEREVERSE TR("Gas invers", INDENT "Vollgas hinten?") //Änderung wg TH9x, Taranis +#define TR_TIMER_NAME INDENT "Name" +#define TR_MINUTEBEEP TR(INDENT "Min-Alarm", INDENT "Minuten-Alarm") +#define TR_BEEPCOUNTDOWN INDENT "Countdown" +#define TR_PERSISTENT TR(INDENT "Permanent", INDENT "Permanent") +#define TR_BACKLIGHT_LABEL "----LCD-Beleuchtg----" +#define TR_BLDELAY INDENT "Dauer" +#define TR_BLONBRIGHTNESS INDENT "An-Helligkeit" +#define TR_BLOFFBRIGHTNESS INDENT "Aus-Helligkeit" +#define TR_BLCOLOR INDENT "Farbe" +#define TR_SPLASHSCREEN TR("Startbild Ein", "Startbild Ein für") +#define TR_THROTTLEWARNING TR("Gasalarm", INDENT "Gas Alarm") +#define TR_SWITCHWARNING TR("Sch. Alarm", INDENT "Schalter-Alarm") +#define TR_POTWARNING TR("Pot Warn.", INDENT "Poti-Warnung") +#define TR_TIMEZONE TR("Zeitzone", "GPS-Zeitzone +/-Std") +#define TR_ADJUST_RTC INDENT "Uhrzeit per GPS setzen" +#define TR_GPS "----GPS--------------" +#define TR_RXCHANNELORD TR("Kanalanordnung", "Kanalvoreinstellung") +#define TR_STICKS "Knüppel" +#define TR_POTS "Potis" +#define TR_SWITCHES "Schalter" +#define TR_SWITCHES_DELAY TR("Sw. Mitte Delay", "Schaltermitte Verz.") //Schalter Mitten verzögern Anpassung +#define TR_SLAVE TR("Schüler PPM1-16", "Schüler PPM1-16 als Ausgang") +#define TR_MODESRC " Modus\003% Quelle" +#define TR_MULTIPLIER "Multiplikator" +#define TR_CAL "Kal." +#define TR_VTRIM "Trim - +" +#define TR_BG "BG:" +#if defined(PCBHORUS) + #define TR_MENUTOSTART "Press [Enter] to start" + #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" + #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" +#elif defined(COLORLCD) + #define TR_MENUTOSTART CENTER"\007" TR_ENTER " zum Start" + #define TR_SETMIDPOINT CENTER"\002Knüppel+Potis auf Mitte" + #define TR_MOVESTICKSPOTS CENTER"\003Knüppel+Potis bewegen" +#else + #define TR_MENUTOSTART CENTER"\007" TR_ENTER " zum Start" + #define TR_SETMIDPOINT TR(CENTER "\002Knüppel+Potis auf Mitte", CENTER "\002Knüppel+Potis auf Mitte") + #define TR_MOVESTICKSPOTS CENTER"\003Knüppel+Potis bewegen" +#endif +#define TR_RXBATT "Rx Akku:" +#define TR_TXnRX "Tx:\0Rx:" +#define OFS_RX 4 +#define TR_ACCEL "Acc:" +#define TR_NODATA CENTER"Keine Daten" +#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036GAS\037\146GS%" +#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" +#define STR_US (STR_TMR1LATMAXUS+13) +#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" +#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" + +#if defined(CPUARM) + #define TR_TMIXMAXMS "Tmix max" + #define TR_FREESTACKMINB "Free Stack" +#else + #define TR_TMIXMAXMS "Tmix max\037\124ms" + #define TR_FREESTACKMINB "Free Stack\037\124b" +#endif + +#define TR_MENUTORESET CENTER TR_ENTER" für Reset" +#define TR_PPM_TRAINER "TR" //old #define TR_PPM "PPM" +#define TR_CH "CH" +#define TR_MODEL "MODELL" +#define TR_FP "FP" +#define TR_MIX "MIX" +#define TR_EEPROMLOWMEM "EEPROM voll" +#define TR_ALERT "WARNUNG" +#define TR_PRESSANYKEYTOSKIP TR("Taste drücken",CENTER"Taste drücken") +#define TR_THROTTLENOTIDLE "Gas nicht Null!" +#define TR_ALARMSDISABLED "Alarme ausgeschaltet" +#define TR_PRESSANYKEY TR("Taste drücken",CENTER"Taste drücken") +#define TR_BADEEPROMDATA "EEPROM ungültig" +#define TR_BAD_RADIO_DATA "Bad Radio Data" +#define TR_EEPROMFORMATTING "EEPROM Initialisieren" +#define TR_STORAGE_FORMAT "Storage Preparation" +#define TR_EEPROMOVERFLOW "EEPROM Überlauf" +#define TR_MENURADIOSETUP TR("SENDER-EINSTELLEN", "SENDER-GRUNDEINSTELLUNGEN") +#define TR_MENUDATEANDTIME "DATUM UND ZEIT" +#define TR_MENUTRAINER TR("LEHRER/SCHÜLER", "LEHRER/SCHÜLER") +#define TR_MENUGLOBALFUNCS "GLOBALE FUNKTIONEN" +#define TR_MENUVERSION "VERSION" +#define TR_MENUDIAG TR("Schalt.", "Schalter-Test") +#define TR_MENUANA "Analog-Test" +#define TR_MENUCALIBRATION TR("KALIB. ANALOG", "KALIBRIERUNG Knüppel+Potis") +#if defined(COLORLCD) + #define TR_TRIMS2OFFSETS "Trims => Subtrims" +#else + #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" +#endif +#define TR_MENUMODELSEL TR("MODELLE", "MODELL WÄHLEN") +#define TR_MENUSETUP TR("MODELL-EINSTELLUNG", "MODELL-EINSTELLUNGEN") +#define TR_MENUFLIGHTPHASE "FLUGPHASE" +#define TR_MENUFLIGHTPHASES "FLUGPHASEN" +#define TR_MENUHELISETUP TR("HELI TS-Mischer", "HELI TS-Mischer CYC1-3") + +#if defined(PCBTARANIS) + #define TR_MENUINPUTS "INPUTS" + #define TR_MENULIMITS "SERVOWEGE" +#else + #define TR_MENUINPUTS TR("DR/EXPO", "DUALRATE/EXPO") + #define TR_MENULIMITS TR("GRENZEN", "SERVOWEGE") +#endif + +#define TR_MENUCURVES "KURVEN" +#define TR_MENUCURVE "KURVE" +#define TR_MENULOGICALSWITCH "LOGIKSCHALTER" +#define TR_MENULOGICALSWITCHES "LOGIKSCHALTER" +#define TR_MENUCUSTOMFUNC TR("SPEZ.-FUNKTIONEN", "SPEZIAL-FUNKTIONEN") +#define TR_MENUCUSTOMSCRIPTS "LUA-SCRIPTE" +#define TR_MENUTELEMETRY "TELEMETRIE" +#define TR_MENUTEMPLATES "VORLAGEN" +#define TR_MENUSTAT "STAT" +#define TR_MENUDEBUG "DEBUG" +#if defined(CPUARM) + #define TR_RXNUM TR(INDENT "Empf Nr.", INDENT "Modell-Match-Nr.") +#else + #define TR_RXNUM "Empf Nr." +#endif +#define TR_MULTI_RFTUNE INDENT "Frequenzfeineinst." +#define TR_MULTI_VIDFREQ INDENT "Videofrequenz" +#define TR_MULTI_DSMFRAME INDENT "DSM Rahmenformat" +#define TR_MULTI_OPTION INDENT "Optionswert" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Niedrige Leistung" +#define TR_SYNCMENU "Sync [MENU]" +#define TR_LIMIT INDENT "Grenzen" +#define TR_MINRSSI "Min. RSSI" +#define TR_LATITUDE "Breite:" +#define TR_LONGITUDE "Länge:" +#define TR_GPSCOORD TR("GPS-Koord.", "GPS-Koordinaten-Format") +#define TR_VARIO TR("----Vario--------", "----Variometer----") //9XR-Pro +#define TR_PITCH_AT_ZERO INDENT "Niedrigster Ton" +#define TR_PITCH_AT_MAX INDENT "Höchster Ton" +#define TR_REPEAT_AT_ZERO INDENT "Wiederholrate" +#define TR_POWEROFF "\027Power OFF..." +#define TR_SHUTDOWN "Herunterfahren" +#define TR_SAVEMODEL "Modelleinstellungen speichern" +#define TR_BATT_CALIB "Akku Spg messen" +#define TR_CURRENT_CALIB "Strom abgl." +#define TR_VOLTAGE TR(INDENT "Spg", INDENT "Spannungsquelle") //9XR-Pro +#define TR_CURRENT TR(INDENT "Strom", INDENT "Stromquelle") +#define TR_SELECT_MODEL "Modell Wählen" +#define TR_CREATE_CATEGORY "Create Category" +#define TR_RENAME_CATEGORY "Rename Category" +#define TR_DELETE_CATEGORY "Delete Category" +#define TR_CREATE_MODEL "Neues Modell" +#define TR_DUPLICATE_MODEL "Duplicate Model" +#define TR_CHANGE_CATEGORY "Change category" +#define TR_COPY_MODEL "Kopiere Modell" +#define TR_MOVE_MODEL "Verschiebe Modell" +#define TR_BACKUP_MODEL "Modell auf SD-Karte" //9XR-Pro +#define TR_DELETE_MODEL "Modell Löschen" // TODO merged into DELETEMODEL? +#define TR_RESTORE_MODEL "Modell Restore" +#define TR_SDCARD_ERROR "SD-Kartenfehler" +#define TR_NO_SDCARD "Keine SD-Karte" +#define TR_SDCARD_FULL "SD-Karte voll" +#define TR_INCOMPATIBLE "Nicht kompatibel" +#define TR_WARNING "WARNUNG" +#define TR_EEPROMWARN "EEPROM" +#define TR_STORAGE_WARNING "STORAGE" +#define TR_EEPROM_CONVERTING "EEPROM Converting" +#define TR_THROTTLEWARN "GAS" +#define TR_ALARMSWARN "ALARM" +#define TR_SWITCHWARN "SCHALTER" +#define TR_FAILSAFEWARN "FAILSAFE" +#define TR_NO_FAILSAFE TR("Failsafe not set", "Failsafe nicht programmiert") +#define TR_KEYSTUCK "Taste klemmt" //Key stuck=Taste klemmt +#define TR_INVERT_THR TR("Gas umkehren?", "Vollgas hinten?") // Th9x 9XR +#define TR_SPEAKER_VOLUME INDENT "Lautstärke" +#define TR_LCD "Bildschirm" +#define TR_BRIGHTNESS INDENT "Helligkeit" +#define TR_CPU_TEMP "CPU-Temp.\016>" +#define TR_CPU_CURRENT "Strom\022>" +#define TR_CPU_MAH "Verbrauch" +#define TR_COPROC "CoProz." +#define TR_COPROC_TEMP "MB Temp. \016>" +#define TR_CAPAWARNING INDENT "Kapaz. niedrig" // wg 9XR-Pro +#define TR_TEMPWARNING INDENT "Temp. größer" //wg 9XR-Pro +#define TR_FUNC "Funktion" +#define TR_V1 "V1" +#define TR_V2 "V2" +#define TR_DURATION "Dauer" +#define TR_DELAY "Verzög." +#define TR_SD_CARD "SD-Karte" +#define TR_SDHC_CARD "SDHC-Karte" +#define TR_NO_SOUNDS_ON_SD "Keine Töne auf SD" +#define TR_NO_MODELS_ON_SD "Kein Modell auf SD" +#define TR_NO_BITMAPS_ON_SD "Keine Bitmaps auf SD" +#define TR_NO_SCRIPTS_ON_SD "Keine Scripte auf SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script Syntax Fehler" +#define TR_SCRIPT_PANIC "Script panic" //?? +#define TR_SCRIPT_KILLED "Script killed" //?? +#define TR_SCRIPT_ERROR "Unbekannter Fehler" +#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 "Bitmap zuordnen" +#define TR_EXECUTE_FILE "Execute" +#define TR_REMOVED " gelöscht" +#define TR_SD_INFO "Information" +#define TR_SD_FORMAT "Formatieren" +#define TR_NA "N/V" //NV=Nicht Verfügbar Kurz-Meldung +#define TR_HARDWARE TR("Hardware einst. ", "Namen und Hardware einst.") +#define TR_FORMATTING "Formatierung..." +#define TR_TEMP_CALIB "Temp. abgl." +#define TR_TIME "Uhrzeit:" +#define TR_BAUDRATE "BT Baudrate" +#define TR_SD_INFO_TITLE "SD-INFO" +#define TR_SD_TYPE "Typ:" +#define TR_SD_SPEED "Geschw:" +#define TR_SD_SECTORS "Sectoren:" +#define TR_SD_SIZE "Größe:" +#define TR_TYPE INDENT "Type" +#define TR_GLOBAL_VARS "Globale Variablen" +#define TR_GVARS "GLOBALE V." +#define TR_GLOBAL_VAR "Globale Variable" +#define TR_MENUGLOBALVARS "GLOBALE VARIABLEN" +#define TR_OWN "Eigen" +#define TR_DATE "Datum:" +#define TR_ROTARY_ENCODER "Drehgeber" +#define TR_CHANNELS_MONITOR "Kanal-Monitor==>" +#define TR_MIXERS_MONITOR "==>Mischer Monitor" +#define TR_PATH_TOO_LONG "Pfad zu Lang" +#define TR_VIEW_TEXT "View Text" +#define TR_FLASH_BOOTLOADER "Flash BootLoader selbst" // +#define TR_FLASH_EXTERNAL_DEVICE "Flash externes Gerät" +#define TR_FLASH_INTERNAL_MODULE "Flash internes XJT-Modul" +#define TR_WRITING "\032Writing..." // +#define TR_CONFIRM_FORMAT "Formatieren bestätigen?" +#define TR_INTERNALRF "----Internes HF-Modul----------" +#define TR_EXTERNALRF TR("---Externes HF-Modul---", "----Externes HF-Modul----------") //9XR-Pro +#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafe Mode") +#define TR_FAILSAFESET "Failsafe setzen" +#define TR_MENUSENSOR "SENSOR" +#define TR_SENSOR "SENSOR" +#define TR_COUNTRYCODE "Landescode" +#define TR_VOICELANG "Sprach-Ansage" +#define TR_UNITSSYSTEM "Einheiten" +#define TR_EDIT "Zeile Editieren" +#define TR_INSERT_BEFORE "Neue Zeile davor" +#define TR_INSERT_AFTER "Neue Zeile danach" +#define TR_COPY "Zeile kopieren" +#define TR_MOVE "Zeile verschieben" +#define TR_PASTE "Zeile einfügen" +#define TR_DELETE "Zeile löschen" +#define TR_INSERT "Neue Zeile" +#define TR_RESET_FLIGHT "Reset Flugdaten" +#define TR_RESET_TIMER1 "Reset Timer1" +#define TR_RESET_TIMER2 "Reset Timer2" +#define TR_RESET_TIMER3 "Reset Timer3" +#define TR_RESET_TELEMETRY "Reset Telemetrie" +#define TR_STATISTICS "Statistik und Gas" +#define TR_ABOUT_US "Die Programmierer" +#define TR_SETUP_SCREENS "Setup screens" +#define TR_AND_SWITCH "UND Schalt" //UND mit weiterem Schaltern +#define TR_SF "SF" //Spezial Funktionen +#define TR_GF "GF" // Globale Funktionen +#define TR_SPEAKER INDENT "Lautspr" +#define TR_BUZZER INDENT "Summer" +#define TR_BYTES "Bytes" +#define TR_MODULE_BIND TR("Bind","[Bind]") //9XR-Pro +#define TR_MODULE_RANGE TR("Rang", "[Range]") //9XR-Pro +#define TR_RESET_BTN TR("[Reset]", "[Reset Trim]") +#define TR_SET "[Set]" +#define TR_TRAINER "----DSC Buchse PPM In/Out------" //DSC Buchse Trainer Buchse +#define TR_ANTENNAPROBLEM CENTER "TX-Antennenproblem!" +#define TR_MODELIDUSED TR("ID schon benutzt", "Modell-ID schon benutzt") +#define TR_MODULE INDENT "Modul-Typ" +#define TR_TELEMETRY_TYPE TR("Typ", "Telemetrytyp") +#define TR_TELEMETRY_SENSORS "----Sensoren----" +#define TR_VALUE "Wert" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Einheit" +#define TR_TELEMETRY_NEWSENSOR INDENT "Sensor hinzufügen ..." +#define TR_CHANNELRANGE TR(INDENT "Kanäle", INDENT "Ausgangs Kanäle") //wg 9XR-Pro +#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNACONFIRM1 "Really switch?" +#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_LOWALARM INDENT "Vor-Alarm bei" +#define TR_CRITICALALARM INDENT "Kritisch-Alarm" +#define TR_ENABLE_POPUP "Freigabe Popup-Fenster" +#define TR_DISABLE_POPUP "Sperren Popup-Fenster" +#define TR_POPUP "Popup" +#define TR_MIN "Min" +#define TR_MAX "Max" +#define TR_CURVE_PRESET "Gerade 0 11 22 33 45" +#define TR_PRESET "Preset" +#define TR_MIRROR "Spiegeln" +#define TR_CLEAR "Löschen" +#define TR_RESET "Servowerte rücksetzen" +#define TR_RESET_SUBMENU TR("Reset Werte ==>", "Reset=>Timer Flug Telem") +#define TR_COUNT "Punkte" +#define TR_PT "Pt" +#define TR_PTS "Pts" +#define TR_SMOOTH "Runden" +#define TR_COPY_STICKS_TO_OFS "Kopie Stick to Servo-Mitte" +#define TR_COPY_TRIMS_TO_OFS "Kopie Trimm to Servo-Mitte" // "Trim to Subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Quelle" +#define TR_CONSTANT "Konstant" +#define TR_PERSISTENT_MAH TR(INDENT "Spr. mAh", INDENT "Speichern mAh") //9XR-Pro +#define TR_PREFLIGHT TR("---Vorflug-Checkliste--", "----Vorflug-Checkliste----") +#define TR_CHECKLIST TR(INDENT "Checkliste", INDENT "Checkliste anzeigen") //9XR-Pro +#define TR_FAS_OFFSET TR(INDENT "FAS-Ofs", INDENT "FAS-Offset") +#define TR_UART3MODE "Serieller Port" +#define TR_SCRIPT "Lua-Script" +#define TR_INPUTS "Inputs" +#define TR_OUTPUTS "Outputs" +#define TR_EEBACKUP "\002[ENTER Long] Backup EEPROM->SD-Karte" +#define TR_FACTORYRESET "\004[MENU Long] ALLES komplett löschen" +#define TR_CONFIRMRESET "ALLE Modelle + Einst. löschen?" +#define TR_TO_MANY_LUA_SCRIPTS "Zu viele Lua-Scripte!!" + +#if defined(MAVLINK) + #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" + #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" + #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" + #define TR_MAVLINK_BAUD_LABEL "Baudrate" + #define TR_MAVLINK_INFOS "INFOS" + #define TR_MAVLINK_MODE "MODE" + #define TR_MAVLINK_CUR_MODE "Current Mode" + #define TR_MAVLINK_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flugakku-Status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #define TR_MAVLINK_NO_FIX "NO Fix" + #define TR_MAVLINK_SAT "SAT" + #define TR_MAVLINK_HDOP "HDOP" + #define TR_MAVLINK_LAT "LAT" + #define TR_MAVLINK_LON "LON" +#endif + +// Taranis Info Zeile Anzeigen +#define TR_PHASES_HEADERS { " Name ", " Schalter ", " Trim Seite ", " Trim Höhe ", " Trim Gas ", " Trim Quer ", " Fade In ", " Fade Out " } +#define TR_LIMITS_HEADERS { " Name ", " Mitte ", " Min ", " Max ", " Richtung ", " Kurve ", " PPM-Mitte ", " Mitte-Mode " } +#define TR_CSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " Var2 ", " UND-Schalter ", " Dauer ", " Verzögerung " } + +//Taranis About screen +#define TR_ABOUTUS "Über OpenTx" + +#define TR_ABOUT_OPENTX_1 "OpenTX ist Open Source," +#define TR_ABOUT_OPENTX_2 "nicht kommerziell, ohne" +#define TR_ABOUT_OPENTX_3 "Funktionsgarantie, frei" +#define TR_ABOUT_OPENTX_4 "verfügbar. Unterstützung" +#define TR_ABOUT_OPENTX_5 "durch Spenden willkommen" + +#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" +#define TR_ABOUT_BERTRAND_2 "OpenTX Hauptauthor" +#define TR_ABOUT_BERTRAND_3 "Companion9x-Mitentwickler" + +#define TR_ABOUT_MIKE_1 "Mike Blandford" +#define TR_ABOUT_MIKE_2 "Code- und Treiber-Guru" +#define TR_ABOUT_MIKE_3 "Wohl einer der Besten." +#define TR_ABOUT_MIKE_4 "Sehr inspirierend." + +#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" +#define TR_ABOUT_ROMOLO_2 "Companion9x-Hauptentwickler" +#define TR_ABOUT_ROMOLO_3 "" + +#define TR_ABOUT_ANDRE_1 "Andre Bernet" +#define TR_ABOUT_ANDRE_2 "Funktionalität und Tests," +#define TR_ABOUT_ANDRE_3 "Debugging, Dokumentation" + +#define TR_ABOUT_ROB_1 "Rob Thomson" +#define TR_ABOUT_ROB_2 "Openrcforums Webmaster" + +#define TR_ABOUT_KJELL_1 "Kjell Kernen" +#define TR_ABOUT_KJELL_2 "www.open-tx.org Hauptautor" +#define TR_ABOUT_KJELL_3 "Author von OpenTX Recorder" +#define TR_ABOUT_KJELL_4 "Companion contributor" + +#define TR_ABOUT_MARTIN_1 "Martin Hotar" +#define TR_ABOUT_MARTIN_2 "Grafikdesigner" + +#if defined(PCBTARANIS) + #define TR_ABOUT_HARDWARE_1 "Firma FrSky " + #define TR_ABOUT_HARDWARE_2 "Hardware-Design/-Produktion" + #define TR_ABOUT_HARDWARE_3 "Firmware-Vertrieb" +#else + #define TR_ABOUT_HARDWARE_1 "Brent Nelson" + #define TR_ABOUT_HARDWARE_2 "Sky9x Design/Produktion" + #define TR_ABOUT_HARDWARE_3 "" +#endif + +#define TR_ABOUT_PARENTS_1 "Vorgänger-Projekte" +#define TR_ABOUT_PARENTS_2 "Ersky9x (Mike Blandford)" +#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)" +#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" + +#define TR_CHR_SHORT 's' // Taste short +#define TR_CHR_LONG 'l' // Taste long +#define TR_CHR_TOGGLE 't' // Taste als togglefunktion = Ein Aus Ein +#define TR_CHR_HOUR 'h' // Stunden +#define TR_CHR_INPUT 'I' // Values between A-I will work + +#define TR_BEEP_VOLUME "Beep-Lautst." +#define TR_WAV_VOLUME "Wave-Lautst." +#define TR_VARIO_VOLUME "Vario-Lautst." +#define TR_BG_VOLUME "Hintergr-Lautst." + +#define TR_TOP_BAR "----Infozeile----" +#define TR_ALTITUDE INDENT "Höhenanzeige" +#define TR_SCALE "Skalierer" +#define TR_VIEW_CHANNELS "Zeige Kanäle" +#define TR_VIEW_NOTES "Zeige Notizen" +#define TR_MODEL_SELECT "Model Select" +#define TR_MODS_FORBIDDEN "Veränderungen verboten!" +#define TR_UNLOCKED "Entsperrt" +#define TR_ID "ID" +#define TR_PRECISION "Prezision" +#define TR_RATIO "Umrechnung" //Faktor, Mulitplikator, Teiler 0,1 bis 10,0 +#define TR_FORMULA "Formel" +#define TR_CELLINDEX "Zellenindex" +#define TR_LOGS "Log Daten" +#define TR_OPTIONS "Optionen" + +#define TR_ALTSENSOR "Höhen Sensor" +#define TR_CELLSENSOR "Zellen Sensor" +#define TR_GPSSENSOR "GPS Sensor" +#define TR_CURRENTSENSOR "Sensor" +#define TR_AUTOOFFSET "Auto Offset" +#define TR_ONLYPOSITIVE "Nur Positiv" +#define TR_FILTER "Filter aktiv" +#define TR_TELEMETRYFULL "Telemetriezeilen voll!" +#define TR_INVERTED_SERIAL INDENT "Invert." +#define TR_IGNORE_INSTANCE TR(INDENT "Keine ID", INDENT "Keine Multisen-ID") //unklar +#define TR_DISCOVER_SENSORS INDENT "Start Sensorsuche" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop Sensorsuche" +#define TR_DELETE_ALL_SENSORS INDENT "Lösche alle Sensoren" +#define TR_CONFIRMDELETE "Wirklich alle löschen?" +#define TR_SELECT_WIDGET "Select widget" +#define TR_REMOVE_WIDGET "Remove widget" +#define TR_WIDGET_SETTINGS "Widget settings" +#define TR_REMOVE_SCREEN "Remove screen" +// ----------------------------- Symbole für Auswahlliste---------- +#define TR_MENU_INPUTS "\314Inputs" +#define TR_MENU_LUA "\322Lua Scripte" +#define TR_MENU_STICKS "\307Knüppel" +#define TR_MENU_POTS "\310Potis" +#define TR_MENU_MAX "\315MAX" +#define TR_MENU_HELI "\316Heli-TS CYC1-3" +#define TR_MENU_TRIMS "\313Trimmung" +#define TR_MENU_SWITCHES "\312Schalter" +#define TR_MENU_LOGICAL_SWITCHES "\312Log. Schalter" +#define TR_MENU_TRAINER "\317Trainer" +#define TR_MENU_CHANNELS "\320Kanäle" +#define TR_MENU_GVARS "\311Glob. Vars" +#define TR_MENU_TELEMETRY "\321Telemetrie" +#define TR_MENU_OTHER " Weitere" +#define TR_MENU_INVERT "Invertieren" +// ---------------------------------------------------------------- +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP1 "Tmp1" +#define ZSTR_TEMP2 "Tmp2" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" +#define ZSTR_BATT1_VOLTAGE "RB1V" +#define ZSTR_BATT2_VOLTAGE "RB2V" +#define ZSTR_BATT1_CURRENT "RB1A" +#define ZSTR_BATT2_CURRENT "RB2A" +#define ZSTR_BATT1_CONSUMPTION "RB1C" +#define ZSTR_BATT2_CONSUMPTION "RB2C" +#define ZSTR_RB_STATE "RBS" +#define ZSTR_CHANS_STATE "RBCS" +#define ZSTR_RX_RSSI1 "1RSS" +#define ZSTR_RX_RSSI2 "2RSS" +#define ZSTR_RX_QUALITY "RQly" +#define ZSTR_RX_SNR "RSNR" +#define ZSTR_ANTENNA "ANT" +#define ZSTR_RF_MODE "RFMD" +#define ZSTR_TX_POWER "TPWR" +#define ZSTR_TX_RSSI "TRSS" +#define ZSTR_TX_QUALITY "TQly" #define ZSTR_TX_SNR "TSNR" \ No newline at end of file diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 229094a97..b22737fda 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -95,7 +95,7 @@ #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""CRSF" +#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2""CRSF""MULT" #define LEN_XJT_PROTOCOLS "\004" #define TR_XJT_PROTOCOLS "OFF\0""D16\0""D8\0 ""LR12" @@ -103,6 +103,44 @@ #define LEN_DSM_PROTOCOLS "\004" #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + #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 ") @@ -795,7 +833,6 @@ #define TR_MENUINPUTS "STICKS" #define TR_MENULIMITS "SERVOS" #endif - #define TR_MENUCURVES "CURVES" #define TR_MENUCURVE "CURVE" #define TR_MENULOGICALSWITCH "LOGICAL SWITCH" @@ -811,6 +848,12 @@ #else #define TR_RXNUM "RxNum" #endif +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" #define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT "Limit" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 37841bbbb..d43e25ee6 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -95,7 +95,7 @@ #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""CRSF" +#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2""CRSF""MULT" #define LEN_XJT_PROTOCOLS "\004" #define TR_XJT_PROTOCOLS "OFF\0""D16\0""D8\0 ""LR12" @@ -103,6 +103,44 @@ #define LEN_DSM_PROTOCOLS "\004" #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + #define LEN_VTRIMINC TR("\006", "\013") #define TR_VTRIMINC TR("Expo ""ExFino""Fino ""Medio ""Grueso", "Exponencial""Extra Fino ""Fino ""Medio ""Grueso ") @@ -757,7 +795,13 @@ #define TR_MENUSTAT "STATS" #define TR_MENUDEBUG "DEBUG" #define TR_RXNUM TR("RxNum", INDENT"Receptor No.") -#define TR_SYNCMENU "Sync "TR_ENTER +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" +#define TR_SYNCMENU "Sync " TR_ENTER #define TR_LIMIT INDENT"Limite" #define TR_MINRSSI "Min Rssi" #define TR_LATITUDE "Latitud" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 614d1e1af..d3370d648 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -95,7 +95,7 @@ #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""CRSF" +#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2""CRSF""MULT" #define LEN_XJT_PROTOCOLS "\004" #define TR_XJT_PROTOCOLS "OFF\0""D16\0""D8\0 ""LR12" @@ -103,6 +103,44 @@ #define LEN_DSM_PROTOCOLS "\004" #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + #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 ") @@ -757,6 +795,12 @@ #define TR_MENUSTAT "STATS" #define TR_MENUDEBUG "DEBUG" #define TR_RXNUM TR("RxNum", INDENT"Receiver No.") +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" #define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT"Limit" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index f1d20d834..9f9b2da25 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -95,7 +95,7 @@ #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""CRSF" +#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2""CRSF""MULT" #define LEN_XJT_PROTOCOLS "\004" #define TR_XJT_PROTOCOLS "OFF\0""D16\0""D8\0 ""LR12" @@ -103,6 +103,44 @@ #define LEN_DSM_PROTOCOLS "\004" #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + #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 ") @@ -787,6 +825,12 @@ #define TR_MENUSTAT TR("STATS", "STATISTIQUES") #define TR_MENUDEBUG "DEBUG" #define TR_RXNUM TR(INDENT "NumRx", INDENT "No. récepteur") +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" #define TR_SYNCMENU "Sync [MENU]" #define TR_LIMIT INDENT "Limite" #define TR_MINRSSI "RSSI Min." diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index c0cc22bd6..ad9a5199a 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -1,1177 +1,1221 @@ -/* - * Copyright (C) OpenTX - * - * Based on code named - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program 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. - * - */ - -// IT translations author: Romolo Manfredini - -/* - * !!!!! DO NOT EDIT it.h - EDIT it.h.txt INSTEAD !!!!!!! - * - * In order to make translations easier it.h.txt is parsed and national - * characters are replaced by bitmap codes. The result is it.h. - * - * See translate.py in the util folder for the list of character codes - * - * !!!!! DO NOT EDIT it.h - EDIT it.h.txt INSTEAD !!!!!!! - */ - -/* - * Formatting octal codes available in TR_ strings: - * \037\x -sets LCD x-coord (x value in octal) - * \036 -newline - * \035 -horizontal tab (ARM only) - * \001 to \034 -extended spacing (value * FW/2) - * \0 -ends current string - */ - - -// NON ZERO TERMINATED STRINGS -#define LEN_OFFON "\003" -#define TR_OFFON "OFF""ON\0" - -#define LEN_MMMINV "\003" -#define TR_MMMINV "---""INV" - -#define LEN_NCHANNELS "\004" -#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" - -#define LEN_VBEEPMODE TR("\005", "\010") -#define TR_VBEEPMODE TR("Silen""Avvis""Notst""Tutti","Silente ""Avvisi\0 ""No Tasti""Tutti\0 ") - -#define LEN_VBEEPLEN "\005" -#define TR_VBEEPLEN "+Cort""Corta""Media""Lunga""+Lung" - -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - -#define LEN_VBLMODE TR("\005", "\006") -#define TR_VBLMODE TR("OFF\0 ""Tasti""Stks\0""Tutti""ON\0 ", "Spenta""Tasti\0""Sticks""Tutti\0""Accesa") - -#define LEN_TRNMODE "\003" -#define TR_TRNMODE "off"" +="" :=" - -#define LEN_TRNCHN "\003" -#define TR_TRNCHN "ch1ch2ch3ch4" - -#define LEN_UART3MODES "\016" -#define TR_UART3MODES "OFF\0 ""Replica S-Port""Telemetria\0 ""SBUS Trainer\0 ""Debug\0" - -#define LEN_SWTYPES "\006" -#define TR_SWTYPES "None\0 ""Toggle""2POS\0 ""3POS\0" - -#define LEN_POTTYPES "\017" -#define TR_POTTYPES "None\0 ""Pot. con centro""Inter. Multipos""Potenziometro\0 " - -#define LEN_SLIDERTYPES "\006" -#define TR_SLIDERTYPES "Niente""Slider" - -#define LEN_DATETIME "\005" -#define TR_DATETIME "DATA:""ORA :" - -#define LEN_VLCD "\006" -#define TR_VLCD "NormalOptrex" - -#define LEN_VPERSISTENT "\015" -#define TR_VPERSISTENT "NO\0 ""Volo\0 ""Reset Manuale" - -#define LEN_COUNTRYCODES TR("\002", "\007") -#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europa\0") - -#define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2""CRSF" - -#define LEN_XJT_PROTOCOLS "\004" -#define TR_XJT_PROTOCOLS "OFF\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_VDISPLAYTRIMS "\006" -#define TR_VDISPLAYTRIMS "No\0 ""Cambio""Si\0 " - -#define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "NienteSuoni\0Voce\0 Vibra\0" - -#define LEN_VVARIOCENTER "\006" -#define TR_VVARIOCENTER "Tono\0 ""Silent" - -#define LEN_CURVE_TYPES "\010" -#define TR_CURVE_TYPES "Fisso\0 ""Modific." - -#define LEN_RETA123 "\001" - -#if defined(PCBHORUS) - #define TR_RETA123 "DEMA12345LR" -#elif defined(PCBFLAMENCO) - #define TR_RETA123 "DEMA123LR" -#elif defined(PCBTARANIS) && defined(REV9E) - #define TR_RETA123 "DEMA123SDSD" -#elif defined(PCBTARANIS) || defined(REVX) - #define TR_RETA123 "DEMA123SD" -#elif defined(PCBSKY9X) - #define TR_RETA123 "DEMA123a" -#elif defined(CPUM2560) - #define TR_RETA123 "DEMA123ab" -#else - #define TR_RETA123 "DEMA123" -#endif - -#define LEN_VPROTOS "\006" - -#if defined(PXX) - #define TR_PXX "PXX\0 " -#elif defined(DSM2) || defined(IRPROTOS) - #define TR_PXX "[PXX]\0" -#else - #define TR_PXX -#endif - -#if defined(DSM2) - #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " -#elif defined(IRPROTOS) - #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" -#else - #define TR_DSM2 -#endif - -#if defined(IRPROTOS) - #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" -#else - #define TR_IRPROTOS -#endif - -#if defined(CPUARM) - #define TR_XPPM -#else - #define TR_XPPM "PPM16\0""PPMsim" -#endif - -#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS - -#define LEN_POSNEG "\003" -#define TR_POSNEG "POS""NEG" - -#if defined(PCBSKY9X) && defined(REVX) - #define LEN_VOUTPUT_TYPE "\011" - #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" -#endif - -#define LEN_VCURVEFUNC "\003" -#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" - -#define LEN_VMLTPX "\005" -#define TR_VMLTPX "Add. ""Molt.""Sost." - -#define LEN_VMLTPX2 "\002" -#define TR_VMLTPX2 "+=""*="":=" - -#define LEN_VMIXTRIMS "\003" -#define TR_VMIXTRIMS "OFF""ON ""Dir""Ele""Mot""Ale" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWRANGE "Campo" - #define TR_CSWSTAY "Edge\0" -#else - #define TR_CSWTIMER "Tim\0 " - #define TR_CSWSTICKY "Glue\0" - #if defined(CPUARM) - #define TR_CSWRANGE "Rnge\0" - #define TR_CSWSTAY "Edge\0" - #else - #define TR_CSWRANGE - #define TR_CSWSTAY - #endif -#endif - -#if defined(CPUARM) - #define TR_CSWEQUAL "a=x\0 " -#else - #define TR_CSWEQUAL -#endif - -#define LEN_VCSWFUNC "\005" -#if defined(CPUARM) -#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 - #define TR_SF_SAFETY "Blocco\0 " -#elif defined(OVERRIDE_CHANNEL_FUNCTION) - #define TR_SF_SAFETY "Blocco\0 " -#else - #define TR_SF_SAFETY "---\0 " -#endif - -#if defined(PCBTARANIS) - #define TR_SF_SCREENSHOT "Screenshot\0 " -#else - #define TR_SF_SCREENSHOT -#endif - -#define TR_SF_RESERVE "[riserva] \0" - -#if defined(CPUARM) - #define TR_VFSWFUNC TR_SF_SAFETY "Maestro \0 ""Trim Instant.""Azzera\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " "SetFailsafe\0 " "RangeCheck\0 " "ModuleBind\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Retroillum.\0 " TR_SF_SCREENSHOT TR_SF_TEST -#elif defined(PCBGRUVIN9X) - #define TR_VFSWFUNC TR_SF_SAFETY "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_SF_TEST -#else - #define TR_VFSWFUNC TR_SF_SAFETY "Maestro \0 ""Trim Instant.""Azzera\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Retroillum.\0 " TR_SF_TEST -#endif - -#define LEN_VFSWRESET TR("\004", "\011") - -#if defined(FRSKY) - #define TR_FSW_RESET_TELEM TR("Telm", "Telemetr.") -#else - #define TR_FSW_RESET_TELEM -#endif - -#if ROTARY_ENCODERS == 2 - #define TR_FSW_RESET_ROTENC TR("REa\0""REb\0", "EncRot A\0""EncRot B\0") -#elif ROTARY_ENCODERS == 1 - #define TR_FSW_RESET_ROTENC TR("R.E.", "EncRot\0 ") -#else - #define TR_FSW_RESET_ROTENC -#endif - -#if LCD_W >= 212 - #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " -#elif defined(CPUARM) - #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" -#else - #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2" -#endif - -#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "Tutto\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) - -#define LEN_FUNCSOUNDS TR("\004", "\006") -#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 TR("\004", "\005") - -#if defined(CPUARM) - #define TR_TELEM_RESERVE TR("[--]", "[---]") - #define TR_TELEM_TIME TR("Ora\0", "Ora\0 ") - #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "BatRx") - #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") - #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") -#else - #define TR_TELEM_RESERVE - #define TR_TELEM_TIME - #define TR_SWR - #define TR_RX_BATT - #define TR_A3_A4 - #define TR_A3_A4_MIN -#endif - -#define TR_ASPD_MAX TR("ASp+", "ASpd+") - -#if LCD_W >= 212 - #define TR_TELEM_RSSI_RX "RSSI\0" -#else - #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") -#endif - -#if defined(CPUARM) - #define TR_TELEM_TIMERS TR("Tmr1""Tmr2""Tmr3", "Tmr1\0""Tmr2\0""Tmr3\0") -#else - #define TR_TELEM_TIMERS TR("Tmr1""Tmr2", "Tmr1\0""Tmr2\0") -#endif - -#if LCD_W >= 212 - #define TR_VTELEMCHNS "---\0 ""Batt\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Celle""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Ora\0 " -#else - #define TR_VTELEMCHNS "---\0""Batt" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Ora\0" -#endif - -#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", "\011") - #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metriche\0""Imperiali") - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" -#else - #if defined(IMPERIAL_UNITS) - #define LENGTH_UNIT LENGTH_UNIT_IMP - #define SPEED_UNIT SPEED_UNIT_IMP - #else - #define LENGTH_UNIT LENGTH_UNIT_METR - #define SPEED_UNIT SPEED_UNIT_METR - #endif - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " -#endif - -#define STR_V (STR_VTELEMUNIT+1) -#define STR_A (STR_VTELEMUNIT+4) - -#define LEN_VALARM "\003" -#define TR_VALARM "---""Gia""Ara""Ros" - -#define LEN_VALARMFN "\001" -#define TR_VALARMFN "<>" - -#define LEN_VTELPROTO "\007" -#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh" - -#if defined(CPUARM) - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Celle\0 ") - #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Celle\0 ") -#else - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Celle\0 ") -#endif - -#define LEN_VARIOSRC "\005" -#if defined(FRSKY_SPORT) - #define TR_VARIOSRC "Vario""A1\0 ""A2\0" -#else - #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" -#endif - -#if defined(CPUARM) - #define LEN_VTELEMSCREENTYPE "\006" - #define TR_VTELEMSCREENTYPE "Niente""Valori""Barre\0""Script" -#else - #define LEN_VTELEMSCREENTYPE "\006" - #define TR_VTELEMSCREENTYPE "Valori""Barre\0" -#endif - -#define LEN_GPSFORMAT "\004" -#define TR_GPSFORMAT "HMS NMEA" - -#define LEN2_VTEMPLATES 13 -#define LEN_VTEMPLATES "\015" -#define TR_VTEMPLATES "Canc. Mixer\0 ""Semplice 4CH\0""Sticky-T-Cut\0""Coda-V \0""Elevoni\0 ""Delta\0 ""eCCPM\0 ""Setup Heli\0 ""Test Servo\0 " - -#define LEN_VSWASHTYPE "\004" -#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0" - -#define LEN_VKEYS "\005" -#define TR_VKEYS TR("Menù\0""EXIT\0""DN\0 ""UP\0 ""SX\0 ""DX\0 ", "Menu\0""Esci\0""Enter""Pag.\0""Più\0 ""Meno") - -#define LEN_VRENCODERS "\003" -#define TR_VRENCODERS "REa""REb" - -#define LEN_VSWITCHES "\003" -#define LEN_VSRCRAW "\004" - -#define TR_STICKS_VSRCRAW TR("Dir\0""Ele\0""Mot\0""Ale\0", "\307Dir""\307Ele""\307Mot""\307Ale") -#define TR_TRIMS_VSRCRAW TR("TrmR""TrmE""TrmT""TrmA", "\313Dir""\313Ele""\313Mot""\313Ale") - -#if defined(PCBHORUS) - #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#elif defined(PCBFLAMENCO) - #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " - #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " -#elif defined(PCBTARANIS) && defined(REV9E) - #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" -#elif defined(PCBTARANIS) - #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#else - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " - #define TR_SW_VSRCRAW "3POS" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" -#endif - -#if defined(CPUARM) - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" -#else - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" -#endif - -#define TR_TRIMS_SWITCHES TR("tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr", "\313Rl""\313Rr""\313Ed""\313Eu""\313Td""\313Tu""\313Al""\313Ar") - -#if defined(PCBSKY9X) - #define TR_ROTARY_ENCODERS "REa\0" - #define TR_ROTENC_SWITCHES "REa" -#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) - #define TR_ROTARY_ENCODERS "REa\0""REb\0" - #define TR_ROTENC_SWITCHES "REa""REb" -#else - #define TR_ROTARY_ENCODERS - #define TR_ROTENC_SWITCHES -#endif - -#if !defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" -#endif - -#define TR_ON_ONE_SWITCHES "ON\0""One" - -#if defined(PCBFLAMENCO) - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" -#elif defined(PCBTARANIS) || defined(PCBHORUS) - // only special switches here - #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES -#else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES -#endif - -#if defined(HELI) -#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" -#else -#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" -#endif - -#if defined(CPUARM) - #define TR_RESERVE_VSRCRAW "[--]" - #define TR_EXTRA_VSRCRAW "Batt""Time" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" -#else - #define TR_EXTRA_VSRCRAW -#endif - -#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW - -#define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "OFF""ABS""MOs""MO%""MOt" - -#define LEN_VTRAINERMODES "\022" -#define TR_VTRAINERMODES "Maestro/Jack\0 ""Allievo/Jack\0 ""Master/Modulo SBUS""Master/Modulo CPPM""Master/Batteria\0 " - -#define LEN_VFAILSAFE "\013" -#define TR_VFAILSAFE "Non settato""Mantieni\0 ""Personali\0 ""No impulsi\0""Ricevente\0 " - -#if defined(MAVLINK) - #define LEN_MAVLINK_BAUDS "\006" - #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" - #define LEN_MAVLINK_AC_MODES "\011" - #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " - #define LEN_MAVLINK_AP_MODES "\015" - #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Inizializza ""INVALID " -#endif - -#define LEN_VSENSORTYPES "\012" -#define TR_VSENSORTYPES "Custom\0 ""Calcolato\0" - -#define LEN_VFORMULAS "\011" -#define TR_VFORMULAS "Somma\0 ""Media\0 ""Min\0 ""Max\0 ""Moltipl\0 ""Totalizza""Cella\0 ""Consumo\0 ""Distanza\0" - -#define LEN_VPREC "\004" -#define TR_VPREC "0.--""0.0 ""0.00" - -#define LEN_VCELLINDEX "\010" -#define TR_VCELLINDEX "Minore\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Maggiore""Delta\0" - -#define LEN_VANTENNATYPES "\010" -#define TR_VANTENNATYPES "Internal""External" - -// ZERO TERMINATED STRINGS -#if defined(COLORLCD) - #define INDENT "\007" - #define LEN_INDENT 1 - #define INDENT_WIDTH 12 - #define BREAKSPACE "\036" -#else - #define INDENT "\001" - #define LEN_INDENT 1 - #define INDENT_WIDTH (FW/2) - #define BREAKSPACE " " -#endif - -#if defined(PCBTARANIS) - #define TR_ENTER "[ENTER]" -#else - #define TR_ENTER "[Menù]" -#endif - -#define TR_EXIT "[EXIT]" - -#if defined(PCBTARANIS) - #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER -#else - #define TR_POPUPS TR_ENTER "\010" TR_EXIT - #define OFS_EXIT sizeof(TR_ENTER) -#endif - -#define TR_MENUWHENDONE CENTER "\007" TR_ENTER " Conferma" -#define TR_FREE "disp" -#define TR_DELETEMODEL "Elimina modello?" -#define TR_COPYINGMODEL "Copia in corso.." -#define TR_MOVINGMODEL "Spostamento..." -#define TR_LOADINGMODEL "Caricamento..." -#define TR_NAME "Nome" -#define TR_MODELNAME "Nome modello" -#define TR_PHASENAME "Nome fase" -#define TR_MIXNAME "Nome mix" -#define TR_INPUTNAME "Nome Ingr." -#if defined(VIRTUALINPUTS) - #define TR_EXPONAME "Nome expo" -#else - #define TR_EXPONAME "Nome Expo" -#endif -#define TR_BITMAP "Immagine" -#define TR_TIMER TR("Timer","Timer ") -#define TR_ELIMITS TR("Limiti.E","Limiti Estesi") -#define TR_ETRIMS TR("Trim Ext","Trim Estesi") -#define TR_TRIMINC "Passo Trim" -#define TR_DISPLAY_TRIMS "Mostra Trims" -#define TR_TTRACE TR("T-Source", INDENT "Sorgente Motore") -#define TR_TTRIM TR("T-Trim", INDENT "Trim Motore") -#define TR_BEEPCTR TR("Ctr Beep","Beep al centro") -#define TR_USE_GLOBAL_FUNCS "Usa Funz Globali" -#if defined(PCBSKY9X) && defined(REVX) - #define TR_OUTPUT_TYPE INDENT "Output" -#endif -#define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo") -#if defined(CPUARM) - #define TR_PPMFRAME INDENT "PPM frame" -#else - #define TR_PPMFRAME "PPM frame" -#endif -#define TR_MS "ms" -#define TR_SWITCH "Inter." -#define TR_TRIMS "Trims" -#define TR_FADEIN "Diss.In" -#define TR_FADEOUT "Diss.Out" -#define TR_DEFAULT "(Predefinita)" -#define TR_CHECKTRIMS CENTER "\006Check\012Trims" -#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) -#define TR_SWASHTYPE "Tipo Ciclico" -#define TR_COLLECTIVE TR("Collettivo","Origine Collettivo") -#define TR_AILERON "Lateral cyc. source" -#define TR_ELEVATOR "Long. cyc. source" -#define TR_SWASHRING "Anello Ciclico" -#define TR_ELEDIRECTION TR("Direzione ELE","Direzione Long. cyc.") -#define TR_AILDIRECTION TR("Direzione AIL","Direzione Lateral cyc.") -#define TR_COLDIRECTION TR("Direzione PIT","Direzione Coll. Passo") -#define TR_MODE INDENT"Modo" -#define TR_NOFREEEXPO "Expo pieni!" -#define TR_NOFREEMIXER "Mixer pieni!" -#define TR_SOURCE INDENT"Sorg." -#define TR_WEIGHT "Peso" -#define TR_EXPO "Espo" -#define TR_SIDE "Lato" -#define TR_DIFFERENTIAL "Differ" -#define TR_OFFSET INDENT"Offset" -#define TR_TRIM "Trim" -#define TR_DREX "DRex" -#define DREX_CHBOX_OFFSET 30 -#define TR_CURVE "Curva" -#define TR_FLMODE "Fase" -#define TR_MIXWARNING "Avviso" -#define TR_OFF "OFF" -#define TR_MULTPX "MultPx" -#define TR_DELAYDOWN "Post.Giù " -#define TR_DELAYUP "Post.Sù" -#define TR_SLOWDOWN "Rall.Giù " -#define TR_SLOWUP "Rall.Sù" -#define TR_MIXER "MIXER" -#define TR_CV "CV" -#define TR_GV "GV" -#define TR_ACHANNEL "A\002ingresso" -#define TR_RANGE TR(INDENT"Inter.", INDENT"Intervallo") -#define TR_CENTER INDENT "Centro" -#define TR_BAR "Barra" -#define TR_ALARM TR(INDENT"Allar.", INDENT"Allarme") -#define TR_USRDATA "Dati" -#define TR_BLADES INDENT"Pale" -#define TR_SCREEN "Schermo " -#define TR_SOUND_LABEL "Suono" -#define TR_LENGTH INDENT"Durata" -#define TR_BEEP_LENGTH INDENT "Lung. Beep" -#define TR_SPKRPITCH INDENT"Tono" -#define TR_HAPTIC_LABEL "Vibraz" -#define TR_HAPTICSTRENGTH INDENT"Forza" -#define TR_CONTRAST "Contrasto" -#define TR_ALARMS_LABEL "Allarmi" -#define TR_BATTERY_RANGE TR("Interv. Batt", "Intervallo batteria") -#define TR_BATTERYWARNING INDENT"Avviso batteria" -#define TR_INACTIVITYALARM INDENT"Inattivita'" -#define TR_MEMORYWARNING INDENT"Avviso memoria" -#define TR_ALARMWARNING INDENT"Spegni suono" -#define TR_RENAVIG "Navig EncRot " -#define TR_THROTTLE_LABEL "Motore" -#define TR_THROTTLEREVERSE TR("Mot inv.", INDENT "Motore Inverso") -#define TR_TIMER_NAME INDENT "Nome" -#define TR_MINUTEBEEP INDENT"Minuto" -#define TR_BEEPCOUNTDOWN TR(INDENT"Conto rov", INDENT"Conto rovescia") -#define TR_PERSISTENT TR(INDENT"Persist.", INDENT"Persistente") -#define TR_BACKLIGHT_LABEL TR("Retroillum.", "Retroilluminazione") -#define TR_BLDELAY INDENT"Durata" -#define TR_BLONBRIGHTNESS TR(INDENT"Lumin. ON",INDENT"Luminosità ON") -#define TR_BLOFFBRIGHTNESS TR(INDENT"Lumin. OFF",INDENT"Luminosità OFF") -#define TR_BLCOLOR INDENT "Colore" -#define TR_SPLASHSCREEN TR("Schermo avvio", "Schermata di avvio") -#define TR_THROTTLEWARNING TR("All. Mot.", INDENT "Allarme Motore") -#define TR_SWITCHWARNING TR("Avv. Int.", INDENT "Avviso Interr.") -#define TR_POTWARNING TR("Avv. Pot.", INDENT "Avviso Pot.") -#define TR_TIMEZONE "Ora locale" -#define TR_ADJUST_RTC INDENT "Aggiusta RTC" -#define TR_GPS "GPS" -#define TR_RXCHANNELORD "Ordine ch RX" -#define TR_STICKS "Sticks" -#define TR_POTS "Pot." -#define TR_SWITCHES "Interutt." -#define TR_SWITCHES_DELAY "Ritardo voce FV" -#define TR_SLAVE "Allievo" -#define TR_MODESRC "Modo\006% Origine" -#define TR_MULTIPLIER "Moltiplica" -#define TR_CAL "Cal" -#define TR_VTRIM "Trim- +" -#define TR_BG "BG:" -#if defined(PCBHORUS) - #define TR_MENUTOSTART "Press [Enter] to start" - #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" - #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" -#elif defined(COLORLCD) - #define TR_MENUTOSTART TR_ENTER " TO START" - #define TR_SETMIDPOINT "CENTRA STICKS/SLIDERS" - #define TR_MOVESTICKSPOTS "MUOVI STICKS/POTS" -#else - #define TR_MENUTOSTART CENTER"\011" TR_ENTER " per Cal." - #define TR_SETMIDPOINT CENTER"\012SETTA CENTRO" - #define TR_MOVESTICKSPOTS CENTER"\010MUOVI STICK/POT" -#endif -#define TR_RXBATT "Batt Rx:" -#define TR_TXnRX "Tx:\0Rx:" -#define OFS_RX 4 -#define TR_ACCEL "Acc:" -#define TR_NODATA CENTER"DATI ASSENTI" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" -#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" -#define STR_US (STR_TMR1LATMAXUS+13) -#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" - -#if defined(CPUARM) - #define TR_TMIXMAXMS "Tmix max" - #define TR_FREESTACKMINB "Free Stack" -#else - #define TR_TMIXMAXMS "Tmix max\037\124ms" - #define TR_FREESTACKMINB "Free Stack\037\124b" -#endif - -#define TR_MENUTORESET CENTER TR_ENTER" x Azzerare" -#define TR_PPM_TRAINER "TR" -#define TR_CH "CH" -#define TR_MODEL "MODELLO" -#define TR_FP "FV" -#define TR_MIX "MIX" -#define TR_EEPROMLOWMEM "EEPROM quasi piena!" -#define TR_ALERT "\016ALERT" -#define TR_PRESSANYKEYTOSKIP "\010Premi un tasto" -#define TR_THROTTLENOTIDLE TR("Motore non in posiz.","Motore non in posizione") -#define TR_ALARMSDISABLED "Avvisi Disattivati!" -#define TR_PRESSANYKEY "\010Premi un tasto" -#define TR_BADEEPROMDATA "Dati corrotti!" -#define TR_BAD_RADIO_DATA "Bad Radio Data" -#define TR_EEPROMFORMATTING "Formatto EEPROM..." -#define TR_STORAGE_FORMAT "Storage Preparation" -#define TR_EEPROMOVERFLOW "EEPROM Piena" -#define TR_MENURADIOSETUP "CONFIGURATX" -#define TR_MENUDATEANDTIME "DATA E ORA" -#define TR_MENUTRAINER "MAESTRO/ALLIEVO" -#define TR_MENUGLOBALFUNCS "FUNZIONI GLOBALI" -#define TR_MENUVERSION "VERSIONE" -#define TR_MENUDIAG "DIAG" -#define TR_MENUANA "ANAS" -#define TR_MENUCALIBRATION "CALIBRAZIONE" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims >> Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trim => Offset " -#endif -#define TR_MENUMODELSEL "MODELLI" -#define TR_MENUSETUP "CONFIGURA" -#define TR_MENUFLIGHTPHASE "FASE DI VOLO" -#define TR_MENUFLIGHTPHASES "FASI DI VOLO" -#define TR_MENUHELISETUP "CONFIGURA ELI" - -#if defined(VIRTUALINPUTS) - #define TR_MENUINPUTS "INGRESSI" - #define TR_MENULIMITS "USCITE" -#else - #define TR_MENUINPUTS "DR/ESPO" - #define TR_MENULIMITS "LIMITI" -#endif - -#define TR_MENUCURVES "CURVE" -#define TR_MENUCURVE "CURVA" -#define TR_MENULOGICALSWITCH "INTER. PERSON." -#define TR_MENULOGICALSWITCHES TR("INTER. LOGICI","INTERRUTTORI LOGICI") -#define TR_MENUCUSTOMFUNC TR("FUNZ. SPECIALI","FUNZIONI SPECIALI") -#define TR_MENUCUSTOMSCRIPTS "SCRIPTS UTENTE" -#define TR_MENUTELEMETRY "TELEMETRIA" -#define TR_MENUTEMPLATES "ESEMPI GUIDA" -#define TR_MENUSTAT "STATO" -#define TR_MENUDEBUG "DEBUG" -#if defined(CPUARM) - #define TR_RXNUM TR(INDENT "RxNum", INDENT "Ricevente No.") -#else - #define TR_RXNUM "RxNum" -#endif -#define TR_SYNCMENU "[Sync]" -#define TR_LIMIT INDENT "Limiti" -#define TR_MINRSSI "Min Rssi" -#define TR_LATITUDE "Latitud." -#define TR_LONGITUDE "Longitud." -#define TR_GPSCOORD TR("GPS Coords", INDENT "Formato Coordinate") -#define TR_VARIO TR("Vario", "Variometro") -#define TR_PITCH_AT_ZERO INDENT "Tono a Zero" -#define TR_PITCH_AT_MAX INDENT "Tono al Max" -#define TR_REPEAT_AT_ZERO INDENT "Ripeti a Zero" -#define TR_POWEROFF "\027Power OFF..." -#define TR_SHUTDOWN "ARRESTO.." -#define TR_SAVEMODEL "Salvataggio dati modello" -#define TR_BATT_CALIB "Calibra batt." -#define TR_CURRENT_CALIB "Calibra corr." -#define TR_VOLTAGE TR(INDENT "Voltagg.",INDENT "Voltaggio") -#define TR_CURRENT TR(INDENT "Corrente",INDENT "Corrente") -#define TR_SELECT_MODEL "Scegli Memo." -#define TR_CREATE_CATEGORY "Create Category" -#define TR_RENAME_CATEGORY "Rename Category" -#define TR_DELETE_CATEGORY "Delete Category" -#define TR_CREATE_MODEL "Crea Modello" -#define TR_DUPLICATE_MODEL "Duplicate Model" -#define TR_CHANGE_CATEGORY "Change category" -#define TR_COPY_MODEL "Copia Modello" -#define TR_MOVE_MODEL "Sposta Modello" -#define TR_BACKUP_MODEL "Salva Modello" -#define TR_DELETE_MODEL TR("Elim. Modello","Elimina Modello") // TODO merged into DELETEMODEL? -#define TR_RESTORE_MODEL TR("Ripr. Modello","Ripristina Modello") -#define TR_SDCARD_ERROR "Errore SD" -#define TR_NO_SDCARD "No SDCARD" -#define TR_SDCARD_FULL "SD Card Piena" -#define TR_INCOMPATIBLE "Incompatibile" -#define TR_WARNING "AVVISO" -#define TR_EEPROMWARN "EEPROM" -#define TR_STORAGE_WARNING "STORAGE" -#define TR_EEPROM_CONVERTING "Conversione EEPROM" -#define TR_THROTTLEWARN "MOTORE" -#define TR_ALARMSWARN "ALLARMI" -#define TR_SWITCHWARN "CONTROLLI" -#define TR_FAILSAFEWARN "FAILSAFE" -#define TR_NO_FAILSAFE "Failsafe non settato" -#define TR_KEYSTUCK "Tasto bloccato" -#define TR_INVERT_THR "Inverti Mot?" -#define TR_SPEAKER_VOLUME "Volume Audio" -#define TR_LCD "LCD" -#define TR_BRIGHTNESS INDENT "Luminosità" -#define TR_CPU_TEMP "Temp CPU \016>" -#define TR_CPU_CURRENT "Corrente\022>" -#define TR_CPU_MAH "Consumo" -#define TR_COPROC "CoProc." -#define TR_COPROC_TEMP "Temp. MB \016>" -#define TR_CAPAWARNING INDENT "CapacitàLow" -#define TR_TEMPWARNING INDENT "Temp. Alta" -#define TR_FUNC "Funz" -#define TR_V1 "V1" -#define TR_V2 "V2" -#define TR_DURATION "Durata" -#define TR_DELAY "Ritardo" -#define TR_SD_CARD "SD Card" -#define TR_SDHC_CARD "SD-HC Card" -#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 su SD" -#define TR_SCRIPT_SYNTAX_ERROR "Script errore sintassi" -#define TR_SCRIPT_PANIC "Script panic" -#define TR_SCRIPT_KILLED "Script fermato" -#define TR_SCRIPT_ERROR "Errore sconosciuto" -#define TR_PLAY_FILE "Suona" -#define TR_DELETE_FILE "Elimina" -#define TR_COPY_FILE "Copia" -#define TR_RENAME_FILE "Rinomomina" -#define TR_ASSIGN_BITMAP "Assegna Immagine" -#define TR_EXECUTE_FILE "Esegui" -#define TR_REMOVED " rimosso" -#define TR_SD_INFO "Informazioni" -#define TR_SD_FORMAT "Format" -#define TR_NA "N/A" -#define TR_HARDWARE "HARDWARE" -#define TR_FORMATTING "Formattazione." -#define TR_TEMP_CALIB "Temp. Calib" -#define TR_TIME "Ora" -#define TR_BAUDRATE "BT Baudrate" -#define TR_SD_INFO_TITLE "SD INFO" -#define TR_SD_TYPE "Tipo:" -#define TR_SD_SPEED "Veloc.:" -#define TR_SD_SECTORS "Settori:" -#define TR_SD_SIZE "Dimens:" -#define TR_TYPE INDENT "Tipo" -#define TR_GLOBAL_VARS "Variabili Globali" -#define TR_GVARS "V.GLOBALI" -#define TR_GLOBAL_VAR "Variabile globale" -#define TR_MENUGLOBALVARS "VARIABILI GLOBALI" -#define TR_OWN "Fase" -#define TR_DATE "Data" -#define TR_ROTARY_ENCODER "R.Encs" -#define TR_CHANNELS_MONITOR "MONITOR CANALI" -#define TR_MIXERS_MONITOR "MONITOR MIXER" -#define TR_PATH_TOO_LONG "Path troppo lungo" -#define TR_VIEW_TEXT "Vedi testo" -#define TR_FLASH_BOOTLOADER "Flash BootLoader" -#define TR_FLASH_EXTERNAL_DEVICE "Progr. Dispositivo Esterno" -#define TR_FLASH_INTERNAL_MODULE "Progr. Modulo Interno" -#define TR_WRITING "\032Scrivendo..." -#define TR_CONFIRM_FORMAT "Confermi Format?" -#define TR_INTERNALRF "Modulo Interno" -#define TR_EXTERNALRF "Modulo esterno" -#define TR_FAILSAFE "Modo failsafe" -#define TR_FAILSAFESET TR("FAILSAFE","IMPOSTAZIONI FAILSAFE") -#define TR_MENUSENSOR "SENSOR" -#define TR_SENSOR "SENSOR" -#define TR_COUNTRYCODE TR("Codice Paese","Standard 2.4Ghz") -#define TR_VOICELANG "Lingua Voce" -#define TR_UNITSSYSTEM "Unità" -#define TR_EDIT "Modifica" -#define TR_INSERT_BEFORE "Inserisci prima" -#define TR_INSERT_AFTER "Inserisci dopo" -#define TR_COPY "Copia" -#define TR_MOVE "Sposta" -#define TR_PASTE "Incolla" -#define TR_DELETE "Elimina" -#define TR_INSERT TR("Inser.","Inserisci") -#define TR_RESET_FLIGHT "Azzera volo" -#define TR_RESET_TIMER1 "Azzera Timer1" -#define TR_RESET_TIMER2 "Azzera Timer2" -#define TR_RESET_TIMER3 "Azzera Timer3" -#define TR_RESET_TELEMETRY "Azzera Telemetria" -#define TR_STATISTICS "Statistiche" -#define TR_ABOUT_US "Info su" -#define TR_SETUP_SCREENS "Setup screens" -#define TR_AND_SWITCH "Inter. AND" -#define TR_SF "CF" -#define TR_GF "GF" -#define TR_SPEAKER INDENT"Speaker" -#define TR_BUZZER INDENT"Buzzer" -#define TR_BYTES "Bytes" -#define TR_MODULE_BIND "[Bind]" -#define TR_MODULE_RANGE "[Range]" -#define TR_RESET_BTN "[Reset]" -#define TR_SET "[Set]" -#define TR_TRAINER TR("Trainer","Maestro/Allievo") -#define TR_ANTENNAPROBLEM CENTER "Problemi antenna TX!" -#define TR_MODELIDUSED TR("ID già usato","ID Modello già usato") -#define TR_MODULE INDENT "Modulo" -#define TR_TELEMETRY_TYPE "Tipo Telemetria" -#define TR_TELEMETRY_SENSORS "Sensori" -#define TR_VALUE "Valore" -#define TR_TOPLCDTIMER "Timer LCD Sup." -#define TR_UNIT "Unita" -#define TR_TELEMETRY_NEWSENSOR INDENT "Aggiungi nuovo sensore..." -#define TR_CHANNELRANGE INDENT "Numero Canali" -#define TR_ANTENNASELECTION INDENT "Antenna selection" -#define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" -#define TR_LOWALARM INDENT "Allarme Basso" -#define TR_CRITICALALARM INDENT "Allarme Critico" -#define TR_ENABLE_POPUP "Abilita Popup" -#define TR_DISABLE_POPUP "Disabilita Popup" -#define TR_POPUP "Popup" -#define TR_MIN "Min" -#define TR_MAX "Max" -#define TR_CURVE_PRESET "Preimpostate..." -#define TR_PRESET "Preimpostate" -#define TR_MIRROR "Mirror" -#define TR_CLEAR "Cancella" -#define TR_RESET "Azzera" -#define TR_RESET_SUBMENU "Azzera..." -#define TR_COUNT "Punti" -#define TR_PT "pt" -#define TR_PTS "pti" -#define TR_SMOOTH "Smussa" -#define TR_COPY_STICKS_TO_OFS "Copia Stick su Offset" -#define TR_COPY_TRIMS_TO_OFS "Copia Trim in Subtrim" -#define TR_INCDEC "Inc/Decrementa" -#define TR_GLOBALVAR "Var Globale" -#define TR_MIXSOURCE "Sorgente Mixer" -#define TR_CONSTANT "Constante" -#define TR_PERSISTENT_MAH INDENT "Memo mAh" -#define TR_PREFLIGHT "Controlli Prevolo" -#define TR_CHECKLIST INDENT "Mostra Checklist" -#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") -#define TR_UART3MODE "Porta Seriale" -#define TR_SCRIPT "Script" -#define TR_INPUTS "Ingresso" -#define TR_OUTPUTS "Uscita" -#define TR_EEBACKUP "\004[ENTER Lungo] per copiare la EEPROM" -#define TR_FACTORYRESET "\012[MENU Lungo]: Inizializza dati" -#define TR_CONFIRMRESET "Resettare TUTTI i dati?" -#define TR_TO_MANY_LUA_SCRIPTS "Troppi Scripts Lua!" - -#if defined(MAVLINK) - #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" - #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" - #define TR_MAVMENUSETUP_TITLE "Setta Mavlink" - #define TR_MAVLINK_BAUD_LABEL "Baudrate" - #define TR_MAVLINK_INFOS "INFOS" - #define TR_MAVLINK_MODE "MODO" - #define TR_MAVLINK_CUR_MODE "Modo Corrente" - #define TR_MAVLINK_ARMED "Armato" - #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" - #define TR_MAVLINK_BATTERY_LABEL "Stato batteria di volo" - #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" - #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" - #define TR_MAVLINK_NAV_MENU_TITLE "NAV" - #define TR_MAVLINK_COURSE "Course" - #define TR_MAVLINK_HEADING "Heading" - #define TR_MAVLINK_BEARING "Bearing" - #define TR_MAVLINK_ALTITUDE "Altitudine" - #define TR_MAVLINK_GPS "GPS" - #define TR_MAVLINK_NO_FIX "NO Fix" - #define TR_MAVLINK_SAT "SAT" - #define TR_MAVLINK_HDOP "HDOP" - #define TR_MAVLINK_LAT "LAT" - #define TR_MAVLINK_LON "LON" -#endif - -// Taranis column headers -#define TR_PHASES_HEADERS { " Nome ", " Inter. ", " Trim Deriva ", " Trim Elevator ", " Trim Motore ", " Trim Alettoni ", " Disolv. In ", " Dissolv. Out " } -#define TR_LIMITS_HEADERS { " Nome ", " Offset ", " Min ", " Max ", " Direzione ", " Curve ", " Centro PPM ", " Simmetria " } -#define TR_CSW_HEADERS { " Funzione ", " V1 ", " V2 ", " V2 ", " Inter. AND ", " Durata ", " Ritardo " } - -// About screen -#define TR_ABOUTUS TR(" INFO ", "INFO SU") - -#define TR_ABOUT_OPENTX_1 TR("OpenTX\001e'\001open\001source,\001non", "OpenTX e' open source, non-") -#define TR_ABOUT_OPENTX_2 TR("commercial,\001wo\001warranties.", "commerciale, fornito senza") -#define TR_ABOUT_OPENTX_3 TR("It\001was\001developed\001for\001free.", "garanzie. E' stato sviluppato") -#define TR_ABOUT_OPENTX_4 TR("Support through donations", "gratuitamente. Il supporto") -#define TR_ABOUT_OPENTX_5 TR("is welcome!", "mediante donazioni e' gradito!") - -#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" -#define TR_ABOUT_BERTRAND_2 "Autore principale OpenTX" -#define TR_ABOUT_BERTRAND_3 "Co-autore Companion9x" - -#define TR_ABOUT_MIKE_1 "Mike Blandford" -#define TR_ABOUT_MIKE_2 "Guru codice e driver" -#define TR_ABOUT_MIKE_3 "esperto a basso livello" -#define TR_ABOUT_MIKE_4 "Ispiratore" - -#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" -#define TR_ABOUT_ROMOLO_2 "Autore Companion9x" -#define TR_ABOUT_ROMOLO_3 "" - -#define TR_ABOUT_ANDRE_1 "Andre Bernet" -#define TR_ABOUT_ANDRE_2 "Funzionalità, usabilità," -#define TR_ABOUT_ANDRE_3 "debugging, documentazione" - -#define TR_ABOUT_ROB_1 "Rob Thomson" -#define TR_ABOUT_ROB_2 "Webmaster openrcforums" - -#define TR_ABOUT_KJELL_1 "Kjell Kernen" -#define TR_ABOUT_KJELL_2 "www.open-tx.org main author" -#define TR_ABOUT_KJELL_3 "OpenTX Recorder author" -#define TR_ABOUT_KJELL_4 "Companion contributor" - -#define TR_ABOUT_MARTIN_1 "Martin Hotar" -#define TR_ABOUT_MARTIN_2 "Graphic Designer" - -#if defined(PCBTARANIS) - #define TR_ABOUT_HARDWARE_1 "FrSky" - #define TR_ABOUT_HARDWARE_2 "Disegno/produzione Hardware" - #define TR_ABOUT_HARDWARE_3 "Contributi al Firmware" -#else - #define TR_ABOUT_HARDWARE_1 "Brent Nelson" - #define TR_ABOUT_HARDWARE_2 "Designer/Produttore SKY9X" - #define TR_ABOUT_HARDWARE_3 "" -#endif - -#define TR_ABOUT_PARENTS_1 "Progetti correlati" -#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" -#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_TOGGLE 't' -#define TR_CHR_HOUR 'h' -#define TR_CHR_INPUT 'I' // Values between A-I will work - -#define TR_BEEP_VOLUME "Volume Beep" -#define TR_WAV_VOLUME "Volume Wav" -#define TR_VARIO_VOLUME "Volume Vario" -#define TR_BG_VOLUME "Volume Sf" - -#define TR_TOP_BAR "Barra sup." -#define TR_ALTITUDE INDENT "Altitudine" -#define TR_SCALE "Scala" -#define TR_VIEW_CHANNELS "Vedi Canali" -#define TR_VIEW_NOTES "Vedi Note" -#define TR_MODEL_SELECT "Model Select" -#define TR_MODS_FORBIDDEN "Modifica proibita!" -#define TR_UNLOCKED "Sbloccato" -#define TR_ID "ID" -#define TR_PRECISION "Precisione" -#define TR_RATIO "Ratio" -#define TR_FORMULA "Formula" -#define TR_CELLINDEX "Indice cella" -#define TR_LOGS "Logs" -#define TR_OPTIONS "Opzioni" - -#define TR_ALTSENSOR "Sensore Alt" -#define TR_CELLSENSOR "Sensore Cell" -#define TR_GPSSENSOR "Sensore GPS" -#define TR_CURRENTSENSOR "Sensore" -#define TR_AUTOOFFSET "Auto Offset" -#define TR_ONLYPOSITIVE "Positivo" -#define TR_FILTER "Filtro" -#define TR_TELEMETRYFULL "Tutti gli slot sono pieni!" -//TODO: translation -#define TR_INVERTED_SERIAL INDENT "Invert" -#define TR_IGNORE_INSTANCE TR(INDENT "No inst.","Ignora instanza") -#define TR_DISCOVER_SENSORS INDENT "Cerca nuovi sensori" -#define TR_STOP_DISCOVER_SENSORS INDENT "Ferma ricerca.." -#define TR_DELETE_ALL_SENSORS INDENT "Elimina tutti i sensori" -#define TR_CONFIRMDELETE "Confermi eliminazione?" -#define TR_SELECT_WIDGET "Select widget" -#define TR_REMOVE_WIDGET "Remove widget" -#define TR_WIDGET_SETTINGS "Widget settings" -#define TR_REMOVE_SCREEN "Remove screen" - -#define TR_MENU_INPUTS "\314Ingressi" -#define TR_MENU_LUA "\322Lua scripts" -#define TR_MENU_STICKS "\307Sticks" -#define TR_MENU_POTS "\310Pots" -#define TR_MENU_MAX "\315MAX" -#define TR_MENU_HELI "\316Ciclico" -#define TR_MENU_TRIMS "\313Trims" -#define TR_MENU_SWITCHES "\312Interrut." -#define TR_MENU_LOGICAL_SWITCHES "\312Interrut. Logici" -#define TR_MENU_TRAINER "\317Trainer" -#define TR_MENU_CHANNELS "\320Canali" -#define TR_MENU_GVARS "\311GVars" -#define TR_MENU_TELEMETRY "\321Telemetry" -#define TR_MENU_OTHER "Altro" -#define TR_MENU_INVERT "Inverti" - -#define ZSTR_RSSI "RSSI" -#define ZSTR_SWR "SWR" -#define ZSTR_A1 "A1" -#define ZSTR_A2 "A2" -#define ZSTR_A3 "A3" -#define ZSTR_A4 "A4" -#define ZSTR_BATT "RxBt" -#define ZSTR_ALT "Alt" -#define ZSTR_TEMP1 "Tmp1" -#define ZSTR_TEMP2 "Tmp2" -#define ZSTR_RPM "RPM" -#define ZSTR_FUEL "Fuel" -#define ZSTR_VSPD "VSpd" -#define ZSTR_ACCX "AccX" -#define ZSTR_ACCY "AccY" -#define ZSTR_ACCZ "AccZ" -#define ZSTR_CURR "Curr" -#define ZSTR_VFAS "VFAS" -#define ZSTR_ASPD "ASpd" -#define ZSTR_GSPD "GSpd" -#define ZSTR_HDG "Hdg" -#define ZSTR_CELLS "Cels" -#define ZSTR_GPSALT "GAlt" -#define ZSTR_GPSDATETIME "Data" -#define ZSTR_GPS "GPS" -#define ZSTR_BATT1_VOLTAGE "RB1V" -#define ZSTR_BATT2_VOLTAGE "RB2V" -#define ZSTR_BATT1_CURRENT "RB1A" -#define ZSTR_BATT2_CURRENT "RB2A" -#define ZSTR_BATT1_CONSUMPTION "RB1C" -#define ZSTR_BATT2_CONSUMPTION "RB2C" -#define ZSTR_RB_STATE "RBS" -#define ZSTR_CHANS_STATE "RBCS" -#define ZSTR_RX_RSSI1 "1RSS" -#define ZSTR_RX_RSSI2 "2RSS" -#define ZSTR_RX_QUALITY "RQly" -#define ZSTR_RX_SNR "RSNR" -#define ZSTR_ANTENNA "ANT" -#define ZSTR_RF_MODE "RFMD" -#define ZSTR_TX_POWER "TPWR" -#define ZSTR_TX_RSSI "TRSS" -#define ZSTR_TX_QUALITY "TQly" +/* + * Copyright (C) OpenTX + * + * Based on code named + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +// IT translations author: Romolo Manfredini + +/* + * !!!!! DO NOT EDIT it.h - EDIT it.h.txt INSTEAD !!!!!!! + * + * In order to make translations easier it.h.txt is parsed and national + * characters are replaced by bitmap codes. The result is it.h. + * + * See translate.py in the util folder for the list of character codes + * + * !!!!! DO NOT EDIT it.h - EDIT it.h.txt INSTEAD !!!!!!! + */ + +/* + * Formatting octal codes available in TR_ strings: + * \037\x -sets LCD x-coord (x value in octal) + * \036 -newline + * \035 -horizontal tab (ARM only) + * \001 to \034 -extended spacing (value * FW/2) + * \0 -ends current string + */ + + +// NON ZERO TERMINATED STRINGS +#define LEN_OFFON "\003" +#define TR_OFFON "OFF""ON\0" + +#define LEN_MMMINV "\003" +#define TR_MMMINV "---""INV" + +#define LEN_NCHANNELS "\004" +#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" + +#define LEN_VBEEPMODE TR("\005", "\010") +#define TR_VBEEPMODE TR("Silen""Avvis""Notst""Tutti","Silente ""Avvisi\0 ""No Tasti""Tutti\0 ") + +#define LEN_VBEEPLEN "\005" +#define TR_VBEEPLEN "+Cort""Corta""Media""Lunga""+Lung" + +#define LEN_VRENAVIG "\003" +#define TR_VRENAVIG "No REaREb" + +#define LEN_VBLMODE TR("\005", "\006") +#define TR_VBLMODE TR("OFF\0 ""Tasti""Stks\0""Tutti""ON\0 ", "Spenta""Tasti\0""Sticks""Tutti\0""Accesa") + +#define LEN_TRNMODE "\003" +#define TR_TRNMODE "off"" +="" :=" + +#define LEN_TRNCHN "\003" +#define TR_TRNCHN "ch1ch2ch3ch4" + +#define LEN_UART3MODES "\016" +#define TR_UART3MODES "OFF\0 ""Replica S-Port""Telemetria\0 ""SBUS Trainer\0 ""Debug\0" + +#define LEN_SWTYPES "\006" +#define TR_SWTYPES "None\0 ""Toggle""2POS\0 ""3POS\0" + +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "None\0 ""Pot. con centro""Inter. Multipos""Potenziometro\0 " + +#define LEN_SLIDERTYPES "\006" +#define TR_SLIDERTYPES "Niente""Slider" + +#define LEN_DATETIME "\005" +#define TR_DATETIME "DATA:""ORA :" + +#define LEN_VLCD "\006" +#define TR_VLCD "NormalOptrex" + +#define LEN_VPERSISTENT "\015" +#define TR_VPERSISTENT "NO\0 ""Volo\0 ""Reset Manuale" + +#define LEN_COUNTRYCODES TR("\002", "\007") +#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europa\0") + +#define LEN_TARANIS_PROTOCOLS "\004" +#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""DSM2""CRSF""MULT" + +#define LEN_XJT_PROTOCOLS "\004" +#define TR_XJT_PROTOCOLS "OFF\0""D16\0""D8\0 ""LR12" + +#define LEN_DSM_PROTOCOLS "\004" +#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" + +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + +#define LEN_VTRIMINC "\006" +#define TR_VTRIMINC "Exp ""ExFine""Fine ""Medio ""Ampio " + +#define LEN_VDISPLAYTRIMS "\006" +#define TR_VDISPLAYTRIMS "No\0 ""Cambio""Si\0 " + +#define LEN_VBEEPCOUNTDOWN "\006" +#define TR_VBEEPCOUNTDOWN "NienteSuoni\0Voce\0 Vibra\0" + +#define LEN_VVARIOCENTER "\006" +#define TR_VVARIOCENTER "Tono\0 ""Silent" + +#define LEN_CURVE_TYPES "\010" +#define TR_CURVE_TYPES "Fisso\0 ""Modific." + +#define LEN_RETA123 "\001" + +#if defined(PCBHORUS) + #define TR_RETA123 "DEMA12345LR" +#elif defined(PCBFLAMENCO) + #define TR_RETA123 "DEMA123LR" +#elif defined(PCBTARANIS) && defined(REV9E) + #define TR_RETA123 "DEMA123SDSD" +#elif defined(PCBTARANIS) || defined(REVX) + #define TR_RETA123 "DEMA123SD" +#elif defined(PCBSKY9X) + #define TR_RETA123 "DEMA123a" +#elif defined(CPUM2560) + #define TR_RETA123 "DEMA123ab" +#else + #define TR_RETA123 "DEMA123" +#endif + +#define LEN_VPROTOS "\006" + +#if defined(PXX) + #define TR_PXX "PXX\0 " +#elif defined(DSM2) || defined(IRPROTOS) + #define TR_PXX "[PXX]\0" +#else + #define TR_PXX +#endif + +#if defined(DSM2) + #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " +#elif defined(IRPROTOS) + #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" +#else + #define TR_DSM2 +#endif + +#if defined(IRPROTOS) + #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" +#else + #define TR_IRPROTOS +#endif + +#if defined(CPUARM) + #define TR_XPPM +#else + #define TR_XPPM "PPM16\0""PPMsim" +#endif + +#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS + +#define LEN_POSNEG "\003" +#define TR_POSNEG "POS""NEG" + +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + +#define LEN_VCURVEFUNC "\003" +#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" + +#define LEN_VMLTPX "\005" +#define TR_VMLTPX "Add. ""Molt.""Sost." + +#define LEN_VMLTPX2 "\002" +#define TR_VMLTPX2 "+=""*="":=" + +#define LEN_VMIXTRIMS "\003" +#define TR_VMIXTRIMS "OFF""ON ""Dir""Ele""Mot""Ale" + +#if LCD_W >= 212 + #define TR_CSWTIMER "Timer" + #define TR_CSWSTICKY "Stcky" + #define TR_CSWRANGE "Campo" + #define TR_CSWSTAY "Edge\0" +#else + #define TR_CSWTIMER "Tim\0 " + #define TR_CSWSTICKY "Glue\0" + #if defined(CPUARM) + #define TR_CSWRANGE "Rnge\0" + #define TR_CSWSTAY "Edge\0" + #else + #define TR_CSWRANGE + #define TR_CSWSTAY + #endif +#endif + +#if defined(CPUARM) + #define TR_CSWEQUAL "a=x\0 " +#else + #define TR_CSWEQUAL +#endif + +#define LEN_VCSWFUNC "\005" +#if defined(CPUARM) +#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 + #define TR_SF_SAFETY "Blocco\0 " +#elif defined(OVERRIDE_CHANNEL_FUNCTION) + #define TR_SF_SAFETY "Blocco\0 " +#else + #define TR_SF_SAFETY "---\0 " +#endif + +#if defined(PCBTARANIS) + #define TR_SF_SCREENSHOT "Screenshot\0 " +#else + #define TR_SF_SCREENSHOT +#endif + +#define TR_SF_RESERVE "[riserva] \0" + +#if defined(CPUARM) + #define TR_VFSWFUNC TR_SF_SAFETY "Maestro \0 ""Trim Instant.""Azzera\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " "SetFailsafe\0 " "RangeCheck\0 " "ModuleBind\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Retroillum.\0 " TR_SF_SCREENSHOT TR_SF_TEST +#elif defined(PCBGRUVIN9X) + #define TR_VFSWFUNC TR_SF_SAFETY "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_SF_TEST +#else + #define TR_VFSWFUNC TR_SF_SAFETY "Maestro \0 ""Trim Instant.""Azzera\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Retroillum.\0 " TR_SF_TEST +#endif + +#define LEN_VFSWRESET TR("\004", "\011") + +#if defined(FRSKY) + #define TR_FSW_RESET_TELEM TR("Telm", "Telemetr.") +#else + #define TR_FSW_RESET_TELEM +#endif + +#if ROTARY_ENCODERS == 2 + #define TR_FSW_RESET_ROTENC TR("REa\0""REb\0", "EncRot A\0""EncRot B\0") +#elif ROTARY_ENCODERS == 1 + #define TR_FSW_RESET_ROTENC TR("R.E.", "EncRot\0 ") +#else + #define TR_FSW_RESET_ROTENC +#endif + +#if LCD_W >= 212 + #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " +#elif defined(CPUARM) + #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" +#else + #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2" +#endif + +#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "Tutto\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) + +#define LEN_FUNCSOUNDS TR("\004", "\006") +#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 TR("\004", "\005") + +#if defined(CPUARM) + #define TR_TELEM_RESERVE TR("[--]", "[---]") + #define TR_TELEM_TIME TR("Ora\0", "Ora\0 ") + #define TR_SWR TR("SWR\0", "SWR\0 ") + #define TR_RX_BATT TR("RxBt", "BatRx") + #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") + #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") +#else + #define TR_TELEM_RESERVE + #define TR_TELEM_TIME + #define TR_SWR + #define TR_RX_BATT + #define TR_A3_A4 + #define TR_A3_A4_MIN +#endif + +#define TR_ASPD_MAX TR("ASp+", "ASpd+") + +#if LCD_W >= 212 + #define TR_TELEM_RSSI_RX "RSSI\0" +#else + #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") +#endif + +#if defined(CPUARM) + #define TR_TELEM_TIMERS TR("Tmr1""Tmr2""Tmr3", "Tmr1\0""Tmr2\0""Tmr3\0") +#else + #define TR_TELEM_TIMERS TR("Tmr1""Tmr2", "Tmr1\0""Tmr2\0") +#endif + +#if LCD_W >= 212 + #define TR_VTELEMCHNS "---\0 ""Batt\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Celle""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Ora\0 " +#else + #define TR_VTELEMCHNS "---\0""Batt" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Ora\0" +#endif + +#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", "\011") + #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metriche\0""Imperiali") + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" +#else + #if defined(IMPERIAL_UNITS) + #define LENGTH_UNIT LENGTH_UNIT_IMP + #define SPEED_UNIT SPEED_UNIT_IMP + #else + #define LENGTH_UNIT LENGTH_UNIT_METR + #define SPEED_UNIT SPEED_UNIT_METR + #endif + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " +#endif + +#define STR_V (STR_VTELEMUNIT+1) +#define STR_A (STR_VTELEMUNIT+4) + +#define LEN_VALARM "\003" +#define TR_VALARM "---""Gia""Ara""Ros" + +#define LEN_VALARMFN "\001" +#define TR_VALARMFN "<>" + +#define LEN_VTELPROTO "\007" +#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh" + +#if defined(CPUARM) + #define LEN_AMPSRC TR("\003", "\007") + #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Celle\0 ") + #define LEN_VOLTSRC TR("\003", "\007") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Celle\0 ") +#else + #define LEN_AMPSRC TR("\003", "\007") + #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Celle\0 ") +#endif + +#define LEN_VARIOSRC "\005" +#if defined(FRSKY_SPORT) + #define TR_VARIOSRC "Vario""A1\0 ""A2\0" +#else + #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" +#endif + +#if defined(CPUARM) + #define LEN_VTELEMSCREENTYPE "\006" + #define TR_VTELEMSCREENTYPE "Niente""Valori""Barre\0""Script" +#else + #define LEN_VTELEMSCREENTYPE "\006" + #define TR_VTELEMSCREENTYPE "Valori""Barre\0" +#endif + +#define LEN_GPSFORMAT "\004" +#define TR_GPSFORMAT "HMS NMEA" + +#define LEN2_VTEMPLATES 13 +#define LEN_VTEMPLATES "\015" +#define TR_VTEMPLATES "Canc. Mixer\0 ""Semplice 4CH\0""Sticky-T-Cut\0""Coda-V \0""Elevoni\0 ""Delta\0 ""eCCPM\0 ""Setup Heli\0 ""Test Servo\0 " + +#define LEN_VSWASHTYPE "\004" +#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0" + +#define LEN_VKEYS "\005" +#define TR_VKEYS TR("Menù\0""EXIT\0""DN\0 ""UP\0 ""SX\0 ""DX\0 ", "Menu\0""Esci\0""Enter""Pag.\0""Più\0 ""Meno") + +#define LEN_VRENCODERS "\003" +#define TR_VRENCODERS "REa""REb" + +#define LEN_VSWITCHES "\003" +#define LEN_VSRCRAW "\004" + +#define TR_STICKS_VSRCRAW TR("Dir\0""Ele\0""Mot\0""Ale\0", "\307Dir""\307Ele""\307Mot""\307Ale") +#define TR_TRIMS_VSRCRAW TR("TrmR""TrmE""TrmT""TrmA", "\313Dir""\313Ele""\313Mot""\313Ale") + +#if defined(PCBHORUS) + #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#elif defined(PCBFLAMENCO) + #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " + #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " +#elif defined(PCBTARANIS) && defined(REV9E) + #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" +#elif defined(PCBTARANIS) + #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#else + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " + #define TR_SW_VSRCRAW "3POS" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" +#endif + +#if defined(CPUARM) + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" +#else + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" +#endif + +#define TR_TRIMS_SWITCHES TR("tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr", "\313Rl""\313Rr""\313Ed""\313Eu""\313Td""\313Tu""\313Al""\313Ar") + +#if defined(PCBSKY9X) + #define TR_ROTARY_ENCODERS "REa\0" + #define TR_ROTENC_SWITCHES "REa" +#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) + #define TR_ROTARY_ENCODERS "REa\0""REb\0" + #define TR_ROTENC_SWITCHES "REa""REb" +#else + #define TR_ROTARY_ENCODERS + #define TR_ROTENC_SWITCHES +#endif + +#if !defined(PCBTARANIS) + #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" +#endif + +#define TR_ON_ONE_SWITCHES "ON\0""One" + +#if defined(PCBFLAMENCO) + #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" +#elif defined(PCBTARANIS) || defined(PCBHORUS) + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES +#else + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES +#endif + +#if defined(HELI) +#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" +#else +#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" +#endif + +#if defined(CPUARM) + #define TR_RESERVE_VSRCRAW "[--]" + #define TR_EXTRA_VSRCRAW "Batt""Time" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" +#else + #define TR_EXTRA_VSRCRAW +#endif + +#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW + +#define LEN_VTMRMODES "\003" +#define TR_VTMRMODES "OFF""ABS""MOs""MO%""MOt" + +#define LEN_VTRAINERMODES "\022" +#define TR_VTRAINERMODES "Maestro/Jack\0 ""Allievo/Jack\0 ""Master/Modulo SBUS""Master/Modulo CPPM""Master/Batteria\0 " + +#define LEN_VFAILSAFE "\013" +#define TR_VFAILSAFE "Non settato""Mantieni\0 ""Personali\0 ""No impulsi\0""Ricevente\0 " + +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Inizializza ""INVALID " +#endif + +#define LEN_VSENSORTYPES "\012" +#define TR_VSENSORTYPES "Custom\0 ""Calcolato\0" + +#define LEN_VFORMULAS "\011" +#define TR_VFORMULAS "Somma\0 ""Media\0 ""Min\0 ""Max\0 ""Moltipl\0 ""Totalizza""Cella\0 ""Consumo\0 ""Distanza\0" + +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" + +#define LEN_VCELLINDEX "\010" +#define TR_VCELLINDEX "Minore\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Maggiore""Delta\0" + +#define LEN_VANTENNATYPES "\010" +#define TR_VANTENNATYPES "Internal""External" + +// ZERO TERMINATED STRINGS +#if defined(COLORLCD) + #define INDENT "\007" + #define LEN_INDENT 1 + #define INDENT_WIDTH 12 + #define BREAKSPACE "\036" +#else + #define INDENT "\001" + #define LEN_INDENT 1 + #define INDENT_WIDTH (FW/2) + #define BREAKSPACE " " +#endif + +#if defined(PCBTARANIS) + #define TR_ENTER "[ENTER]" +#else + #define TR_ENTER "[Menù]" +#endif + +#define TR_EXIT "[EXIT]" + +#if defined(PCBTARANIS) + #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER +#else + #define TR_POPUPS TR_ENTER "\010" TR_EXIT + #define OFS_EXIT sizeof(TR_ENTER) +#endif + +#define TR_MENUWHENDONE CENTER "\007" TR_ENTER " Conferma" +#define TR_FREE "disp" +#define TR_DELETEMODEL "Elimina modello?" +#define TR_COPYINGMODEL "Copia in corso.." +#define TR_MOVINGMODEL "Spostamento..." +#define TR_LOADINGMODEL "Caricamento..." +#define TR_NAME "Nome" +#define TR_MODELNAME "Nome modello" +#define TR_PHASENAME "Nome fase" +#define TR_MIXNAME "Nome mix" +#define TR_INPUTNAME "Nome Ingr." +#if defined(VIRTUALINPUTS) + #define TR_EXPONAME "Nome expo" +#else + #define TR_EXPONAME "Nome Expo" +#endif +#define TR_BITMAP "Immagine" +#define TR_TIMER TR("Timer","Timer ") +#define TR_ELIMITS TR("Limiti.E","Limiti Estesi") +#define TR_ETRIMS TR("Trim Ext","Trim Estesi") +#define TR_TRIMINC "Passo Trim" +#define TR_DISPLAY_TRIMS "Mostra Trims" +#define TR_TTRACE TR("T-Source", INDENT "Sorgente Motore") +#define TR_TTRIM TR("T-Trim", INDENT "Trim Motore") +#define TR_BEEPCTR TR("Ctr Beep","Beep al centro") +#define TR_USE_GLOBAL_FUNCS "Usa Funz Globali" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif +#define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo") +#if defined(CPUARM) + #define TR_PPMFRAME INDENT "PPM frame" +#else + #define TR_PPMFRAME "PPM frame" +#endif +#define TR_MS "ms" +#define TR_SWITCH "Inter." +#define TR_TRIMS "Trims" +#define TR_FADEIN "Diss.In" +#define TR_FADEOUT "Diss.Out" +#define TR_DEFAULT "(Predefinita)" +#define TR_CHECKTRIMS CENTER "\006Check\012Trims" +#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) +#define TR_SWASHTYPE "Tipo Ciclico" +#define TR_COLLECTIVE TR("Collettivo","Origine Collettivo") +#define TR_AILERON "Lateral cyc. source" +#define TR_ELEVATOR "Long. cyc. source" +#define TR_SWASHRING "Anello Ciclico" +#define TR_ELEDIRECTION TR("Direzione ELE","Direzione Long. cyc.") +#define TR_AILDIRECTION TR("Direzione AIL","Direzione Lateral cyc.") +#define TR_COLDIRECTION TR("Direzione PIT","Direzione Coll. Passo") +#define TR_MODE INDENT"Modo" +#define TR_NOFREEEXPO "Expo pieni!" +#define TR_NOFREEMIXER "Mixer pieni!" +#define TR_SOURCE INDENT"Sorg." +#define TR_WEIGHT "Peso" +#define TR_EXPO "Espo" +#define TR_SIDE "Lato" +#define TR_DIFFERENTIAL "Differ" +#define TR_OFFSET INDENT"Offset" +#define TR_TRIM "Trim" +#define TR_DREX "DRex" +#define DREX_CHBOX_OFFSET 30 +#define TR_CURVE "Curva" +#define TR_FLMODE "Fase" +#define TR_MIXWARNING "Avviso" +#define TR_OFF "OFF" +#define TR_MULTPX "MultPx" +#define TR_DELAYDOWN "Post.Giù " +#define TR_DELAYUP "Post.Sù" +#define TR_SLOWDOWN "Rall.Giù " +#define TR_SLOWUP "Rall.Sù" +#define TR_MIXER "MIXER" +#define TR_CV "CV" +#define TR_GV "GV" +#define TR_ACHANNEL "A\002ingresso" +#define TR_RANGE TR(INDENT"Inter.", INDENT"Intervallo") +#define TR_CENTER INDENT "Centro" +#define TR_BAR "Barra" +#define TR_ALARM TR(INDENT"Allar.", INDENT"Allarme") +#define TR_USRDATA "Dati" +#define TR_BLADES INDENT"Pale" +#define TR_SCREEN "Schermo " +#define TR_SOUND_LABEL "Suono" +#define TR_LENGTH INDENT"Durata" +#define TR_BEEP_LENGTH INDENT "Lung. Beep" +#define TR_SPKRPITCH INDENT"Tono" +#define TR_HAPTIC_LABEL "Vibraz" +#define TR_HAPTICSTRENGTH INDENT"Forza" +#define TR_CONTRAST "Contrasto" +#define TR_ALARMS_LABEL "Allarmi" +#define TR_BATTERY_RANGE TR("Interv. Batt", "Intervallo batteria") +#define TR_BATTERYWARNING INDENT"Avviso batteria" +#define TR_INACTIVITYALARM INDENT"Inattivita'" +#define TR_MEMORYWARNING INDENT"Avviso memoria" +#define TR_ALARMWARNING INDENT"Spegni suono" +#define TR_RENAVIG "Navig EncRot " +#define TR_THROTTLE_LABEL "Motore" +#define TR_THROTTLEREVERSE TR("Mot inv.", INDENT "Motore Inverso") +#define TR_TIMER_NAME INDENT "Nome" +#define TR_MINUTEBEEP INDENT"Minuto" +#define TR_BEEPCOUNTDOWN TR(INDENT"Conto rov", INDENT"Conto rovescia") +#define TR_PERSISTENT TR(INDENT"Persist.", INDENT"Persistente") +#define TR_BACKLIGHT_LABEL TR("Retroillum.", "Retroilluminazione") +#define TR_BLDELAY INDENT"Durata" +#define TR_BLONBRIGHTNESS TR(INDENT"Lumin. ON",INDENT"Luminosità ON") +#define TR_BLOFFBRIGHTNESS TR(INDENT"Lumin. OFF",INDENT"Luminosità OFF") +#define TR_BLCOLOR INDENT "Colore" +#define TR_SPLASHSCREEN TR("Schermo avvio", "Schermata di avvio") +#define TR_THROTTLEWARNING TR("All. Mot.", INDENT "Allarme Motore") +#define TR_SWITCHWARNING TR("Avv. Int.", INDENT "Avviso Interr.") +#define TR_POTWARNING TR("Avv. Pot.", INDENT "Avviso Pot.") +#define TR_TIMEZONE "Ora locale" +#define TR_ADJUST_RTC INDENT "Aggiusta RTC" +#define TR_GPS "GPS" +#define TR_RXCHANNELORD "Ordine ch RX" +#define TR_STICKS "Sticks" +#define TR_POTS "Pot." +#define TR_SWITCHES "Interutt." +#define TR_SWITCHES_DELAY "Ritardo voce FV" +#define TR_SLAVE "Allievo" +#define TR_MODESRC "Modo\006% Origine" +#define TR_MULTIPLIER "Moltiplica" +#define TR_CAL "Cal" +#define TR_VTRIM "Trim- +" +#define TR_BG "BG:" +#if defined(PCBHORUS) + #define TR_MENUTOSTART "Press [Enter] to start" + #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" + #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" +#elif defined(COLORLCD) + #define TR_MENUTOSTART TR_ENTER " TO START" + #define TR_SETMIDPOINT "CENTRA STICKS/SLIDERS" + #define TR_MOVESTICKSPOTS "MUOVI STICKS/POTS" +#else + #define TR_MENUTOSTART CENTER"\011" TR_ENTER " per Cal." + #define TR_SETMIDPOINT CENTER"\012SETTA CENTRO" + #define TR_MOVESTICKSPOTS CENTER"\010MUOVI STICK/POT" +#endif +#define TR_RXBATT "Batt Rx:" +#define TR_TXnRX "Tx:\0Rx:" +#define OFS_RX 4 +#define TR_ACCEL "Acc:" +#define TR_NODATA CENTER"DATI ASSENTI" +#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" +#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" +#define STR_US (STR_TMR1LATMAXUS+13) +#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" +#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" + +#if defined(CPUARM) + #define TR_TMIXMAXMS "Tmix max" + #define TR_FREESTACKMINB "Free Stack" +#else + #define TR_TMIXMAXMS "Tmix max\037\124ms" + #define TR_FREESTACKMINB "Free Stack\037\124b" +#endif + +#define TR_MENUTORESET CENTER TR_ENTER" x Azzerare" +#define TR_PPM_TRAINER "TR" +#define TR_CH "CH" +#define TR_MODEL "MODELLO" +#define TR_FP "FV" +#define TR_MIX "MIX" +#define TR_EEPROMLOWMEM "EEPROM quasi piena!" +#define TR_ALERT "\016ALERT" +#define TR_PRESSANYKEYTOSKIP "\010Premi un tasto" +#define TR_THROTTLENOTIDLE TR("Motore non in posiz.","Motore non in posizione") +#define TR_ALARMSDISABLED "Avvisi Disattivati!" +#define TR_PRESSANYKEY "\010Premi un tasto" +#define TR_BADEEPROMDATA "Dati corrotti!" +#define TR_BAD_RADIO_DATA "Bad Radio Data" +#define TR_EEPROMFORMATTING "Formatto EEPROM..." +#define TR_STORAGE_FORMAT "Storage Preparation" +#define TR_EEPROMOVERFLOW "EEPROM Piena" +#define TR_MENURADIOSETUP "CONFIGURATX" +#define TR_MENUDATEANDTIME "DATA E ORA" +#define TR_MENUTRAINER "MAESTRO/ALLIEVO" +#define TR_MENUGLOBALFUNCS "FUNZIONI GLOBALI" +#define TR_MENUVERSION "VERSIONE" +#define TR_MENUDIAG "DIAG" +#define TR_MENUANA "ANAS" +#define TR_MENUCALIBRATION "CALIBRAZIONE" +#if defined(COLORLCD) + #define TR_TRIMS2OFFSETS "Trims >> Subtrims" +#else + #define TR_TRIMS2OFFSETS "\006Trim => Offset " +#endif +#define TR_MENUMODELSEL "MODELLI" +#define TR_MENUSETUP "CONFIGURA" +#define TR_MENUFLIGHTPHASE "FASE DI VOLO" +#define TR_MENUFLIGHTPHASES "FASI DI VOLO" +#define TR_MENUHELISETUP "CONFIGURA ELI" + +#if defined(VIRTUALINPUTS) + #define TR_MENUINPUTS "INGRESSI" + #define TR_MENULIMITS "USCITE" +#else + #define TR_MENUINPUTS "DR/ESPO" + #define TR_MENULIMITS "LIMITI" +#endif + +#define TR_MENUCURVES "CURVE" +#define TR_MENUCURVE "CURVA" +#define TR_MENULOGICALSWITCH "INTER. PERSON." +#define TR_MENULOGICALSWITCHES TR("INTER. LOGICI","INTERRUTTORI LOGICI") +#define TR_MENUCUSTOMFUNC TR("FUNZ. SPECIALI","FUNZIONI SPECIALI") +#define TR_MENUCUSTOMSCRIPTS "SCRIPTS UTENTE" +#define TR_MENUTELEMETRY "TELEMETRIA" +#define TR_MENUTEMPLATES "ESEMPI GUIDA" +#define TR_MENUSTAT "STATO" +#define TR_MENUDEBUG "DEBUG" +#if defined(CPUARM) + #define TR_RXNUM TR(INDENT "RxNum", INDENT "Ricevente No.") +#else + #define TR_RXNUM "RxNum" +#endif +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" +#define TR_SYNCMENU "[Sync]" +#define TR_LIMIT INDENT "Limiti" +#define TR_MINRSSI "Min Rssi" +#define TR_LATITUDE "Latitud." +#define TR_LONGITUDE "Longitud." +#define TR_GPSCOORD TR("GPS Coords", INDENT "Formato Coordinate") +#define TR_VARIO TR("Vario", "Variometro") +#define TR_PITCH_AT_ZERO INDENT "Tono a Zero" +#define TR_PITCH_AT_MAX INDENT "Tono al Max" +#define TR_REPEAT_AT_ZERO INDENT "Ripeti a Zero" +#define TR_POWEROFF "\027Power OFF..." +#define TR_SHUTDOWN "ARRESTO.." +#define TR_SAVEMODEL "Salvataggio dati modello" +#define TR_BATT_CALIB "Calibra batt." +#define TR_CURRENT_CALIB "Calibra corr." +#define TR_VOLTAGE TR(INDENT "Voltagg.",INDENT "Voltaggio") +#define TR_CURRENT TR(INDENT "Corrente",INDENT "Corrente") +#define TR_SELECT_MODEL "Scegli Memo." +#define TR_CREATE_CATEGORY "Create Category" +#define TR_RENAME_CATEGORY "Rename Category" +#define TR_DELETE_CATEGORY "Delete Category" +#define TR_CREATE_MODEL "Crea Modello" +#define TR_DUPLICATE_MODEL "Duplicate Model" +#define TR_CHANGE_CATEGORY "Change category" +#define TR_COPY_MODEL "Copia Modello" +#define TR_MOVE_MODEL "Sposta Modello" +#define TR_BACKUP_MODEL "Salva Modello" +#define TR_DELETE_MODEL TR("Elim. Modello","Elimina Modello") // TODO merged into DELETEMODEL? +#define TR_RESTORE_MODEL TR("Ripr. Modello","Ripristina Modello") +#define TR_SDCARD_ERROR "Errore SD" +#define TR_NO_SDCARD "No SDCARD" +#define TR_SDCARD_FULL "SD Card Piena" +#define TR_INCOMPATIBLE "Incompatibile" +#define TR_WARNING "AVVISO" +#define TR_EEPROMWARN "EEPROM" +#define TR_STORAGE_WARNING "STORAGE" +#define TR_EEPROM_CONVERTING "Conversione EEPROM" +#define TR_THROTTLEWARN "MOTORE" +#define TR_ALARMSWARN "ALLARMI" +#define TR_SWITCHWARN "CONTROLLI" +#define TR_FAILSAFEWARN "FAILSAFE" +#define TR_NO_FAILSAFE "Failsafe non settato" +#define TR_KEYSTUCK "Tasto bloccato" +#define TR_INVERT_THR "Inverti Mot?" +#define TR_SPEAKER_VOLUME "Volume Audio" +#define TR_LCD "LCD" +#define TR_BRIGHTNESS INDENT "Luminosità" +#define TR_CPU_TEMP "Temp CPU \016>" +#define TR_CPU_CURRENT "Corrente\022>" +#define TR_CPU_MAH "Consumo" +#define TR_COPROC "CoProc." +#define TR_COPROC_TEMP "Temp. MB \016>" +#define TR_CAPAWARNING INDENT "CapacitàLow" +#define TR_TEMPWARNING INDENT "Temp. Alta" +#define TR_FUNC "Funz" +#define TR_V1 "V1" +#define TR_V2 "V2" +#define TR_DURATION "Durata" +#define TR_DELAY "Ritardo" +#define TR_SD_CARD "SD Card" +#define TR_SDHC_CARD "SD-HC Card" +#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 su SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script errore sintassi" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script fermato" +#define TR_SCRIPT_ERROR "Errore sconosciuto" +#define TR_PLAY_FILE "Suona" +#define TR_DELETE_FILE "Elimina" +#define TR_COPY_FILE "Copia" +#define TR_RENAME_FILE "Rinomomina" +#define TR_ASSIGN_BITMAP "Assegna Immagine" +#define TR_EXECUTE_FILE "Esegui" +#define TR_REMOVED " rimosso" +#define TR_SD_INFO "Informazioni" +#define TR_SD_FORMAT "Format" +#define TR_NA "N/A" +#define TR_HARDWARE "HARDWARE" +#define TR_FORMATTING "Formattazione." +#define TR_TEMP_CALIB "Temp. Calib" +#define TR_TIME "Ora" +#define TR_BAUDRATE "BT Baudrate" +#define TR_SD_INFO_TITLE "SD INFO" +#define TR_SD_TYPE "Tipo:" +#define TR_SD_SPEED "Veloc.:" +#define TR_SD_SECTORS "Settori:" +#define TR_SD_SIZE "Dimens:" +#define TR_TYPE INDENT "Tipo" +#define TR_GLOBAL_VARS "Variabili Globali" +#define TR_GVARS "V.GLOBALI" +#define TR_GLOBAL_VAR "Variabile globale" +#define TR_MENUGLOBALVARS "VARIABILI GLOBALI" +#define TR_OWN "Fase" +#define TR_DATE "Data" +#define TR_ROTARY_ENCODER "R.Encs" +#define TR_CHANNELS_MONITOR "MONITOR CANALI" +#define TR_MIXERS_MONITOR "MONITOR MIXER" +#define TR_PATH_TOO_LONG "Path troppo lungo" +#define TR_VIEW_TEXT "Vedi testo" +#define TR_FLASH_BOOTLOADER "Flash BootLoader" +#define TR_FLASH_EXTERNAL_DEVICE "Progr. Dispositivo Esterno" +#define TR_FLASH_INTERNAL_MODULE "Progr. Modulo Interno" +#define TR_WRITING "\032Scrivendo..." +#define TR_CONFIRM_FORMAT "Confermi Format?" +#define TR_INTERNALRF "Modulo Interno" +#define TR_EXTERNALRF "Modulo esterno" +#define TR_FAILSAFE "Modo failsafe" +#define TR_FAILSAFESET TR("FAILSAFE","IMPOSTAZIONI FAILSAFE") +#define TR_MENUSENSOR "SENSOR" +#define TR_SENSOR "SENSOR" +#define TR_COUNTRYCODE TR("Codice Paese","Standard 2.4Ghz") +#define TR_VOICELANG "Lingua Voce" +#define TR_UNITSSYSTEM "Unità" +#define TR_EDIT "Modifica" +#define TR_INSERT_BEFORE "Inserisci prima" +#define TR_INSERT_AFTER "Inserisci dopo" +#define TR_COPY "Copia" +#define TR_MOVE "Sposta" +#define TR_PASTE "Incolla" +#define TR_DELETE "Elimina" +#define TR_INSERT TR("Inser.","Inserisci") +#define TR_RESET_FLIGHT "Azzera volo" +#define TR_RESET_TIMER1 "Azzera Timer1" +#define TR_RESET_TIMER2 "Azzera Timer2" +#define TR_RESET_TIMER3 "Azzera Timer3" +#define TR_RESET_TELEMETRY "Azzera Telemetria" +#define TR_STATISTICS "Statistiche" +#define TR_ABOUT_US "Info su" +#define TR_SETUP_SCREENS "Setup screens" +#define TR_AND_SWITCH "Inter. AND" +#define TR_SF "CF" +#define TR_GF "GF" +#define TR_SPEAKER INDENT"Speaker" +#define TR_BUZZER INDENT"Buzzer" +#define TR_BYTES "Bytes" +#define TR_MODULE_BIND "[Bind]" +#define TR_MODULE_RANGE "[Range]" +#define TR_RESET_BTN "[Reset]" +#define TR_SET "[Set]" +#define TR_TRAINER TR("Trainer","Maestro/Allievo") +#define TR_ANTENNAPROBLEM CENTER "Problemi antenna TX!" +#define TR_MODELIDUSED TR("ID già usato","ID Modello già usato") +#define TR_MODULE INDENT "Modulo" +#define TR_TELEMETRY_TYPE "Tipo Telemetria" +#define TR_TELEMETRY_SENSORS "Sensori" +#define TR_VALUE "Valore" +#define TR_TOPLCDTIMER "Timer LCD Sup." +#define TR_UNIT "Unita" +#define TR_TELEMETRY_NEWSENSOR INDENT "Aggiungi nuovo sensore..." +#define TR_CHANNELRANGE INDENT "Numero Canali" +#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNACONFIRM1 "Really switch?" +#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_LOWALARM INDENT "Allarme Basso" +#define TR_CRITICALALARM INDENT "Allarme Critico" +#define TR_ENABLE_POPUP "Abilita Popup" +#define TR_DISABLE_POPUP "Disabilita Popup" +#define TR_POPUP "Popup" +#define TR_MIN "Min" +#define TR_MAX "Max" +#define TR_CURVE_PRESET "Preimpostate..." +#define TR_PRESET "Preimpostate" +#define TR_MIRROR "Mirror" +#define TR_CLEAR "Cancella" +#define TR_RESET "Azzera" +#define TR_RESET_SUBMENU "Azzera..." +#define TR_COUNT "Punti" +#define TR_PT "pt" +#define TR_PTS "pti" +#define TR_SMOOTH "Smussa" +#define TR_COPY_STICKS_TO_OFS "Copia Stick su Offset" +#define TR_COPY_TRIMS_TO_OFS "Copia Trim in Subtrim" +#define TR_INCDEC "Inc/Decrementa" +#define TR_GLOBALVAR "Var Globale" +#define TR_MIXSOURCE "Sorgente Mixer" +#define TR_CONSTANT "Constante" +#define TR_PERSISTENT_MAH INDENT "Memo mAh" +#define TR_PREFLIGHT "Controlli Prevolo" +#define TR_CHECKLIST INDENT "Mostra Checklist" +#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") +#define TR_UART3MODE "Porta Seriale" +#define TR_SCRIPT "Script" +#define TR_INPUTS "Ingresso" +#define TR_OUTPUTS "Uscita" +#define TR_EEBACKUP "\004[ENTER Lungo] per copiare la EEPROM" +#define TR_FACTORYRESET "\012[MENU Lungo]: Inizializza dati" +#define TR_CONFIRMRESET "Resettare TUTTI i dati?" +#define TR_TO_MANY_LUA_SCRIPTS "Troppi Scripts Lua!" + +#if defined(MAVLINK) + #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" + #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" + #define TR_MAVMENUSETUP_TITLE "Setta Mavlink" + #define TR_MAVLINK_BAUD_LABEL "Baudrate" + #define TR_MAVLINK_INFOS "INFOS" + #define TR_MAVLINK_MODE "MODO" + #define TR_MAVLINK_CUR_MODE "Modo Corrente" + #define TR_MAVLINK_ARMED "Armato" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Stato batteria di volo" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitudine" + #define TR_MAVLINK_GPS "GPS" + #define TR_MAVLINK_NO_FIX "NO Fix" + #define TR_MAVLINK_SAT "SAT" + #define TR_MAVLINK_HDOP "HDOP" + #define TR_MAVLINK_LAT "LAT" + #define TR_MAVLINK_LON "LON" +#endif + +// Taranis column headers +#define TR_PHASES_HEADERS { " Nome ", " Inter. ", " Trim Deriva ", " Trim Elevator ", " Trim Motore ", " Trim Alettoni ", " Disolv. In ", " Dissolv. Out " } +#define TR_LIMITS_HEADERS { " Nome ", " Offset ", " Min ", " Max ", " Direzione ", " Curve ", " Centro PPM ", " Simmetria " } +#define TR_CSW_HEADERS { " Funzione ", " V1 ", " V2 ", " V2 ", " Inter. AND ", " Durata ", " Ritardo " } + +// About screen +#define TR_ABOUTUS TR(" INFO ", "INFO SU") + +#define TR_ABOUT_OPENTX_1 TR("OpenTX\001e'\001open\001source,\001non", "OpenTX e' open source, non-") +#define TR_ABOUT_OPENTX_2 TR("commercial,\001wo\001warranties.", "commerciale, fornito senza") +#define TR_ABOUT_OPENTX_3 TR("It\001was\001developed\001for\001free.", "garanzie. E' stato sviluppato") +#define TR_ABOUT_OPENTX_4 TR("Support through donations", "gratuitamente. Il supporto") +#define TR_ABOUT_OPENTX_5 TR("is welcome!", "mediante donazioni e' gradito!") + +#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" +#define TR_ABOUT_BERTRAND_2 "Autore principale OpenTX" +#define TR_ABOUT_BERTRAND_3 "Co-autore Companion9x" + +#define TR_ABOUT_MIKE_1 "Mike Blandford" +#define TR_ABOUT_MIKE_2 "Guru codice e driver" +#define TR_ABOUT_MIKE_3 "esperto a basso livello" +#define TR_ABOUT_MIKE_4 "Ispiratore" + +#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" +#define TR_ABOUT_ROMOLO_2 "Autore Companion9x" +#define TR_ABOUT_ROMOLO_3 "" + +#define TR_ABOUT_ANDRE_1 "Andre Bernet" +#define TR_ABOUT_ANDRE_2 "Funzionalità, usabilità," +#define TR_ABOUT_ANDRE_3 "debugging, documentazione" + +#define TR_ABOUT_ROB_1 "Rob Thomson" +#define TR_ABOUT_ROB_2 "Webmaster openrcforums" + +#define TR_ABOUT_KJELL_1 "Kjell Kernen" +#define TR_ABOUT_KJELL_2 "www.open-tx.org main author" +#define TR_ABOUT_KJELL_3 "OpenTX Recorder author" +#define TR_ABOUT_KJELL_4 "Companion contributor" + +#define TR_ABOUT_MARTIN_1 "Martin Hotar" +#define TR_ABOUT_MARTIN_2 "Graphic Designer" + +#if defined(PCBTARANIS) + #define TR_ABOUT_HARDWARE_1 "FrSky" + #define TR_ABOUT_HARDWARE_2 "Disegno/produzione Hardware" + #define TR_ABOUT_HARDWARE_3 "Contributi al Firmware" +#else + #define TR_ABOUT_HARDWARE_1 "Brent Nelson" + #define TR_ABOUT_HARDWARE_2 "Designer/Produttore SKY9X" + #define TR_ABOUT_HARDWARE_3 "" +#endif + +#define TR_ABOUT_PARENTS_1 "Progetti correlati" +#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" +#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_TOGGLE 't' +#define TR_CHR_HOUR 'h' +#define TR_CHR_INPUT 'I' // Values between A-I will work + +#define TR_BEEP_VOLUME "Volume Beep" +#define TR_WAV_VOLUME "Volume Wav" +#define TR_VARIO_VOLUME "Volume Vario" +#define TR_BG_VOLUME "Volume Sf" + +#define TR_TOP_BAR "Barra sup." +#define TR_ALTITUDE INDENT "Altitudine" +#define TR_SCALE "Scala" +#define TR_VIEW_CHANNELS "Vedi Canali" +#define TR_VIEW_NOTES "Vedi Note" +#define TR_MODEL_SELECT "Model Select" +#define TR_MODS_FORBIDDEN "Modifica proibita!" +#define TR_UNLOCKED "Sbloccato" +#define TR_ID "ID" +#define TR_PRECISION "Precisione" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Indice cella" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Opzioni" + +#define TR_ALTSENSOR "Sensore Alt" +#define TR_CELLSENSOR "Sensore Cell" +#define TR_GPSSENSOR "Sensore GPS" +#define TR_CURRENTSENSOR "Sensore" +#define TR_AUTOOFFSET "Auto Offset" +#define TR_ONLYPOSITIVE "Positivo" +#define TR_FILTER "Filtro" +#define TR_TELEMETRYFULL "Tutti gli slot sono pieni!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" +#define TR_IGNORE_INSTANCE TR(INDENT "No inst.","Ignora instanza") +#define TR_DISCOVER_SENSORS INDENT "Cerca nuovi sensori" +#define TR_STOP_DISCOVER_SENSORS INDENT "Ferma ricerca.." +#define TR_DELETE_ALL_SENSORS INDENT "Elimina tutti i sensori" +#define TR_CONFIRMDELETE "Confermi eliminazione?" +#define TR_SELECT_WIDGET "Select widget" +#define TR_REMOVE_WIDGET "Remove widget" +#define TR_WIDGET_SETTINGS "Widget settings" +#define TR_REMOVE_SCREEN "Remove screen" + +#define TR_MENU_INPUTS "\314Ingressi" +#define TR_MENU_LUA "\322Lua scripts" +#define TR_MENU_STICKS "\307Sticks" +#define TR_MENU_POTS "\310Pots" +#define TR_MENU_MAX "\315MAX" +#define TR_MENU_HELI "\316Ciclico" +#define TR_MENU_TRIMS "\313Trims" +#define TR_MENU_SWITCHES "\312Interrut." +#define TR_MENU_LOGICAL_SWITCHES "\312Interrut. Logici" +#define TR_MENU_TRAINER "\317Trainer" +#define TR_MENU_CHANNELS "\320Canali" +#define TR_MENU_GVARS "\311GVars" +#define TR_MENU_TELEMETRY "\321Telemetry" +#define TR_MENU_OTHER "Altro" +#define TR_MENU_INVERT "Inverti" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP1 "Tmp1" +#define ZSTR_TEMP2 "Tmp2" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Data" +#define ZSTR_GPS "GPS" +#define ZSTR_BATT1_VOLTAGE "RB1V" +#define ZSTR_BATT2_VOLTAGE "RB2V" +#define ZSTR_BATT1_CURRENT "RB1A" +#define ZSTR_BATT2_CURRENT "RB2A" +#define ZSTR_BATT1_CONSUMPTION "RB1C" +#define ZSTR_BATT2_CONSUMPTION "RB2C" +#define ZSTR_RB_STATE "RBS" +#define ZSTR_CHANS_STATE "RBCS" +#define ZSTR_RX_RSSI1 "1RSS" +#define ZSTR_RX_RSSI2 "2RSS" +#define ZSTR_RX_QUALITY "RQly" +#define ZSTR_RX_SNR "RSNR" +#define ZSTR_ANTENNA "ANT" +#define ZSTR_RF_MODE "RFMD" +#define ZSTR_TX_POWER "TPWR" +#define ZSTR_TX_RSSI "TRSS" +#define ZSTR_TX_QUALITY "TQly" #define ZSTR_TX_SNR "TSNR" \ No newline at end of file diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 05ce81e56..ac788036a 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -96,7 +96,7 @@ #define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0") #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "UIT\0""PPM\0""XJT\0""DSM2""CRSF" +#define TR_TARANIS_PROTOCOLS "UIT\0""PPM\0""XJT\0""DSM2""CRSF""MULT" #define LEN_XJT_PROTOCOLS "\004" #define TR_XJT_PROTOCOLS "OFF\0""D16\0""D8\0 ""LR12" @@ -104,6 +104,44 @@ #define LEN_DSM_PROTOCOLS "\004" #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + #define LEN_VTRIMINC TR("\006", "\014") #define TR_VTRIMINC TR("Expo\0 ""ExFijn""Fijn\0 ""Medium""Grof\0 ", "Exponentieel""Extra Fijn\0 ""Fijn\0 ""Medium\0 ""Grof\0 ") @@ -809,6 +847,12 @@ #else #define TR_RXNUM "RxNum" #endif +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" #define TR_SYNCMENU "Sync [MENU]" #define TR_LIMIT INDENT "Grenzen" #define TR_MINRSSI "Min. RSSI" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index c09b554ac..e2277a358 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -1,1132 +1,1176 @@ -/* - * Copyright (C) OpenTX - * - * Based on code named - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program 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. - * - */ - -// PT translations author: who? - -/* - * !!!!! DO NOT EDIT pt.h - EDIT pt.h.txt INSTEAD !!!!!!! - * - * In order to make translations easier pt.h.txt is parsed and national - * characters are replaced by bitmap codes. The result is pt.h. - * - * See translate.py in the util folder for the list of character codes - * - * !!!!! DO NOT EDIT pt.h - EDIT pt.h.txt INSTEAD !!!!!!! - */ - -/* - * Formatting octal codes available in TR_ strings: - * \037\x -sets LCD x-coord (x value in octal) - * \036 -newline - * \035 -horizontal tab (ARM only) - * \001 to \034 -extended spacing (value * FW/2) - * \0 -ends current string - */ - - -// NON ZERO TERMINATED STRINGS -#define LEN_OFFON "\003" -#define TR_OFFON "OFF""ON\0" - -#define LEN_MMMINV "\003" -#define TR_MMMINV "---""INV" - -#define LEN_NCHANNELS "\004" -#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" - -#define LEN_VBEEPMODE "\005" -#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo " - -#define LEN_VBEEPLEN "\005" -#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" - -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - -#define LEN_VBLMODE "\004" -#define TR_VBLMODE "OFF ""Chav""Stks""Tudo""ON\0" - -#define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" - -#define LEN_TRNCHN "\003" -#define TR_TRNCHN "CH1CH2CH3CH4" - -#define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Telemetry\0 ""SBUS Trainer\0 ""Debug\0" - -#define LEN_SWTYPES "\006" -#define TR_SWTYPES "None\0 ""Toggle""2POS\0 ""3POS\0" - -#define LEN_POTTYPES "\017" -#define TR_POTTYPES "None\0 ""Pot with detent""Multipos Switch""Pot\0" - -#define LEN_SLIDERTYPES "\006" -#define TR_SLIDERTYPES "Rien\0 ""Slider" - -#define LEN_DATETIME "\005" -#define TR_DATETIME "DATA:""HORA:" - -#define LEN_VLCD "\006" -#define TR_VLCD "NormalOptrex" - -#define LEN_VPERSISTENT "\014" -#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset" - -#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""CRSF" - -#define LEN_XJT_PROTOCOLS "\004" -#define TR_XJT_PROTOCOLS "OFF\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_VDISPLAYTRIMS "\006" -#define TR_VDISPLAYTRIMS "No\0 ""Change""Yes\0" - -#define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0Haptic" - -#define LEN_VVARIOCENTER "\006" -#define TR_VVARIOCENTER "Tone\0 ""Silent" - -#define LEN_CURVE_TYPES "\010" -#define TR_CURVE_TYPES "Standard""Custom\0" - -#define LEN_RETA123 "\001" - -#if defined(PCBTARANIS) || defined(REVX) - #define TR_RETA123 "LPMA123LR" -#elif defined(PCBSKY9X) - #define TR_RETA123 "LPMA123a" -#elif defined(CPUM2560) - #define TR_RETA123 "LPMA123ab" -#else - #define TR_RETA123 "LPMA123" -#endif - -#define LEN_VPROTOS "\006" - -#if defined(PXX) - #define TR_PXX "PXX\0 " -#elif defined(DSM2) || defined(IRPROTOS) - #define TR_PXX "[PXX]\0" -#else - #define TR_PXX -#endif - -#if defined(DSM2) - #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " -#elif defined(IRPROTOS) - #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" -#else - #define TR_DSM2 -#endif - -#if defined(IRPROTOS) - #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" -#else - #define TR_IRPROTOS -#endif - -#if defined(CPUARM) - #define TR_XPPM -#else - #define TR_XPPM "PPM16\0""PPMsim" -#endif - -#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS - -#define LEN_POSNEG "\003" -#define TR_POSNEG "POS""NEG" - -#if defined(PCBSKY9X) && defined(REVX) - #define LEN_VOUTPUT_TYPE "\011" - #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" -#endif - -#define LEN_VCURVEFUNC "\003" -#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" - -#define LEN_VMLTPX "\011" -#define TR_VMLTPX "Adicionar""Multipl. ""Trocar\0 0" - -#define LEN_VMLTPX2 "\002" -#define TR_VMLTPX2 "+=""*="":=" - -#define LEN_VMIXTRIMS "\003" -#define TR_VMIXTRIMS "OFF""ON\0""Lem""Pfd""Mot""Ail" - -#if defined(PCBTARANIS) - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWRANGE "Range" - #define TR_CSWSTAY "Edge\0" -#else - #define TR_CSWTIMER "Tim\0 " - #define TR_CSWSTICKY "Glue\0" - #if defined(CPUARM) - #define TR_CSWRANGE "Rnge\0" - #define TR_CSWSTAY "Edge\0" - #else - #define TR_CSWRANGE - #define TR_CSWSTAY - #endif -#endif - -#if defined(CPUARM) - #define TR_CSWEQUAL "a=x\0 " -#else - #define TR_CSWEQUAL -#endif - -#define LEN_VCSWFUNC "\005" -#if defined(CPUARM) -#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 - #define TR_VTELEMCHNS "---\0 ""Batt\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Time\0" -#else - #define TR_VTELEMCHNS "---\0""Batt" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" -#endif - -#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", "\010") - #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial") - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" -#else - #if defined(IMPERIAL_UNITS) - #define LENGTH_UNIT LENGTH_UNIT_IMP - #define SPEED_UNIT SPEED_UNIT_IMP - #else - #define LENGTH_UNIT LENGTH_UNIT_METR - #define SPEED_UNIT SPEED_UNIT_METR - #endif - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " -#endif - -#define STR_V (STR_VTELEMUNIT+1) -#define STR_A (STR_VTELEMUNIT+4) - -#define LEN_VALARM "\003" -#define TR_VALARM "---""Ama""Lar""Ver" - -#define LEN_VALARMFN "\001" -#define TR_VALARMFN "<>" - -#define LEN_VTELPROTO "\007" -#define TR_VTELPROTO "Nada\0 ""Hub\0 ""WSHHigh" - -#if defined(CPUARM) - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") - #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") -#else - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") -#endif - -#define LEN_VARIOSRC "\005" -#if defined(FRSKY_SPORT) - #define TR_VARIOSRC "Vario""A1\0 ""A2\0" -#else - #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" -#endif - -#define LEN_VTELEMSCREENTYPE "\004" -#define TR_VTELEMSCREENTYPE "Nums""Bars" - -#define LEN_GPSFORMAT "\004" -#define TR_GPSFORMAT "HMS NMEA" - -#define LEN2_VTEMPLATES 13 -#define LEN_VTEMPLATES "\015" -#define TR_VTEMPLATES "Tirar Mixagem""4CH Simples\0 ""Anular Motor\0""V-Tail\0 ""Elevon\\Zagi\0 ""eCCPM\0 ""Mixagem Heli\0""Testar Servos" - -#define LEN_VSWASHTYPE "\004" -#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" - -#define LEN_VKEYS "\005" -#define TR_VKEYS TR("Menu\0""Sair\0""Desce""Sobe\0""Direi""Esqda", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus") - -#define LEN_VRENCODERS "\003" -#define TR_VRENCODERS "REa""REb" - -#define LEN_VSWITCHES "\003" -#define LEN_VSRCRAW "\004" - -#if defined(PCBHORUS) - #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#elif defined(PCBFLAMENCO) - #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " - #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " -#elif defined(PCBTARANIS) && defined(REV9E) - #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" -#elif defined(PCBTARANIS) - #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#else - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " - #define TR_SW_VSRCRAW "3POS" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" -#endif - -#if defined(CPUARM) - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" -#else - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" -#endif - -#define TR_TRIMS_SWITCHES TR("tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr", "\313Rl""\313Rr""\313Ed""\313Eu""\313\313d""\313\313u""\313Al""\313Ar") - -#if defined(PCBSKY9X) - #define TR_ROTARY_ENCODERS "REa\0" - #define TR_ROTENC_SWITCHES "REa" -#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) - #define TR_ROTARY_ENCODERS "REa\0""REb\0" - #define TR_ROTENC_SWITCHES "REa""REb" -#else - #define TR_ROTARY_ENCODERS - #define TR_ROTENC_SWITCHES -#endif - -#if !defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" -#endif - -#define TR_ON_ONE_SWITCHES "ON\0""One" - -#if defined(PCBFLAMENCO) - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" -#elif defined(PCBTARANIS) || defined(PCBHORUS) - // only special switches here - #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES -#else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES -#endif - -#if defined(HELI) -#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" -#else -#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" -#endif - -#define TR_VSRCRAW "---\0""Lem\0""Pfd\0""Mot\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" TR_SW_VSRCRAW - -#define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "OFF""ABS""MTs""MT%""MTt" - -#define LEN_VTRAINERMODES "\022" -#define TR_VTRAINERMODES "Master/Jack\0 ""Slave/Jack\0 ""Master/SBUS Module""Master/CPPM Module""Master/Battery\0" - -#define LEN_VFAILSAFE "\011" -#define TR_VFAILSAFE "Not set\0 ""Hold\0 ""Custom\0 ""No pulses""Receiver\0" - -#if defined(MAVLINK) - #define LEN_MAVLINK_BAUDS "\006" - #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" - #define LEN_MAVLINK_AC_MODES "\011" - #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " - #define LEN_MAVLINK_AP_MODES "\015" - #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " -#endif - -#define LEN_VSENSORTYPES "\012" -#define TR_VSENSORTYPES "Custom\0 ""Calculated" - -#define LEN_VFORMULAS "\010" -#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance" - -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" - -#define LEN_VCELLINDEX "\007" -#define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" - -#define LEN_VANTENNATYPES "\010" -#define TR_VANTENNATYPES "Internal""External" - -// ZERO TERMINATED STRINGS -#define INDENT "\001" -#define LEN_INDENT 1 -#define INDENT_WIDTH (FW/2) - -#if defined(PCBTARANIS) - #define TR_ENTER "[ENTER]" -#else - #define TR_ENTER "[MENU]" -#endif - -#define TR_EXIT "[EXIT]" - -#if defined(PCBTARANIS) - #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER -#else - #define TR_POPUPS TR_ENTER "\010" TR_EXIT - #define OFS_EXIT sizeof(TR_ENTER) -#endif - -#define TR_MENUWHENDONE CENTER"\006"TR_ENTER"QDO PRONTO" -#define TR_FREE "Livre" -#define TR_DELETEMODEL "EXCLUI MODELO" -#define TR_COPYINGMODEL "Copiando modelo" -#define TR_MOVINGMODEL "Movendo modelo" -#define TR_LOADINGMODEL "Carregar modelo" -#define TR_NAME "Nome" -#define TR_MODELNAME "Model Name" -#define TR_PHASENAME "Phase Name" -#define TR_MIXNAME "Mix Name" -#define TR_INPUTNAME "Input Name" -#if defined(PCBTARANIS) - #define TR_EXPONAME "Line Name" -#else - #define TR_EXPONAME "Expo Name" -#endif -#define TR_BITMAP "Model Image" -#define TR_TIMER "Cronom" -#define TR_ELIMITS "E.Limits" -#define TR_ETRIMS "E.Trims" -#define TR_TRIMINC "Trim Step" -#define TR_DISPLAY_TRIMS "Display Trims" -#define TR_TTRACE TR("T-Trace", INDENT "T-Trace") -#define TR_TTRIM TR("T-Trim", INDENT "T-Trim") -#define TR_BEEPCTR "Ctr Beep" -#define TR_USE_GLOBAL_FUNCS "Use Global Funcs" -#if defined(PCBSKY9X) && defined(REVX) - #define TR_OUTPUT_TYPE INDENT "Output" -#endif -#define TR_PROTO INDENT"Proto" -#define TR_PPMFRAME "PPM frame" -#define TR_MS "ms" -#define TR_SWITCH "Chave" -#define TR_TRIMS "Trims" -#define TR_FADEIN "Aparecer" -#define TR_FADEOUT "Ocultar" -#define TR_DEFAULT "(default)" -#define TR_CHECKTRIMS "\006Check\012Trims" -#define OFS_CHECKTRIMS (9*FW) -#define TR_SWASHTYPE "Ciclico Tipo" -#define TR_COLLECTIVE "Coletivo" -#define TR_AILERON "Lateral cyc. source" -#define TR_ELEVATOR "Long. cyc. source" -#define TR_SWASHRING "Anel Coletivo" -#define TR_ELEDIRECTION "PFD Sentido" -#define TR_AILDIRECTION "AIL Sentido" -#define TR_COLDIRECTION "COL Sentido" -#define TR_MODE INDENT"Modo" -#define TR_NOFREEEXPO "No free expo!" -#define TR_NOFREEMIXER "No free mixer!" -#define TR_SOURCE INDENT"Fonte" -#define TR_WEIGHT "Quantia" -#define TR_EXPO "Exponen" -#define TR_SIDE "Lado" -#define TR_DIFFERENTIAL "Diferencial" -#define TR_OFFSET INDENT"Desvio" -#define TR_TRIM "Trim" -#define TR_DREX "DRex" -#define DREX_CHBOX_OFFSET 30 -#define TR_CURVE "Curvas" -#define TR_FLMODE "Fase" -#define TR_MIXWARNING "Aviso" -#define TR_OFF "OFF" -#define TR_MULTPX "Aplicar" -#define TR_DELAYDOWN "Atraso Dn" -#define TR_DELAYUP "Atraso Up" -#define TR_SLOWDOWN "Lento Dn" -#define TR_SLOWUP "Lento Up" -#define TR_MIXER "MIXAGENS" -#define TR_CV "CV" -#define TR_GV "GV" -#define TR_ACHANNEL "A\004Canal" -#define TR_RANGE INDENT"Range" -#define TR_CENTER INDENT "Center" -#define TR_BAR "Bar" -#define TR_ALARM INDENT"Alarme" -#define TR_USRDATA "UsrData" -#define TR_BLADES INDENT"Helice" -#define TR_SCREEN "Tela" -#define TR_SOUND_LABEL "Som" -#define TR_LENGTH INDENT"Comprimento" -#define TR_BEEP_LENGTH INDENT "Beep Length" -#define TR_SPKRPITCH INDENT"Pitch" -#define TR_HAPTIC_LABEL "Vibrar" -#define TR_HAPTICSTRENGTH INDENT"Forca" -#define TR_CONTRAST "Contraste" -#define TR_ALARMS_LABEL "Alarmes" -#define TR_BATTERY_RANGE "Battery Range" -#define TR_BATTERYWARNING INDENT"Bateria Baixa" -#define TR_INACTIVITYALARM INDENT"Inactividade" -#define TR_MEMORYWARNING INDENT"Memoria Baixa" -#define TR_ALARMWARNING INDENT"Som Off" -#define TR_RENAVIG "RotEnc Navig" -#define TR_THROTTLE_LABEL "Throttle" -#define TR_THROTTLEREVERSE TR("Inverte Acel.", INDENT "Inverte Acel.") -#define TR_TIMER_NAME INDENT "Name" -#define TR_MINUTEBEEP INDENT "Beep Minuto" -#define TR_BEEPCOUNTDOWN INDENT "Beep Regressivo" -#define TR_PERSISTENT INDENT "Persist." -#define TR_BACKLIGHT_LABEL "Backlight" -#define TR_BLDELAY INDENT "Tempo Backlight" -#define TR_BLONBRIGHTNESS INDENT "ON Brightness" -#define TR_BLOFFBRIGHTNESS INDENT "OFF Brightness" -#define TR_BLCOLOR INDENT "Color" -#define TR_SPLASHSCREEN "Splash screen" -#define TR_THROTTLEWARNING TR("Avisa Acel", INDENT "Avisa Acel") -#define TR_SWITCHWARNING TR("Avisa Chav", INDENT "Avisa Chav") -#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning") -#define TR_TIMEZONE "Time Zone" -#define TR_ADJUST_RTC INDENT "Adjust RTC" -#define TR_GPS "GPS" -#define TR_RXCHANNELORD "Ordem Canal RX" -#define TR_STICKS "Sticks" -#define TR_POTS "Pots" -#define TR_SWITCHES "Switches" -#define TR_SWITCHES_DELAY "Switches Delay" -#define TR_SLAVE "Escravo" -#define TR_MODESRC "Modo\006% Fonte" -#define TR_MULTIPLIER "Multiplicar" -#define TR_CAL "Cal" -#define TR_VTRIM "Trim- +" -#define TR_BG "BG:" -#if defined(PCBHORUS) - #define TR_MENUTOSTART "Press [Enter] to start" - #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" - #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" -#else - #define TR_MENUTOSTART CENTER"\011" TR_ENTER " INICIAR" - #define TR_SETMIDPOINT TR(CENTER"\005CENTRAR STICK/POT",CENTER"\006CENTRAR STICK/POT") - #define TR_MOVESTICKSPOTS TR(CENTER"\005MOVER STICKS/POTs",CENTER"\006MOVER STICKS/POTs") -#endif -#define TR_RXBATT "Rx Batt:" -#define TR_TXnRX "Tx:\0Rx:" -#define OFS_RX 4 -#define TR_ACCEL "Acc:" -#define TR_NODATA CENTER"SEM DADOS" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" -#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" -#define STR_US (STR_TMR1LATMAXUS+13) -#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" - -#if defined(CPUARM) - #define TR_TMIXMAXMS "Tmix max" - #define TR_FREESTACKMINB "Free Stack" -#else - #define TR_TMIXMAXMS "Tmix max\037\124ms" - #define TR_FREESTACKMINB "Pilha Livre\037\124b" -#endif - -#define TR_MENUTORESET CENTER TR_ENTER" Reinicia" -#define TR_PPM_TRAINER "TR" -#define TR_CH "CH" -#define TR_MODEL "MODEL" -#define TR_FP "FP" -#define TR_MIX "MIX" -#define TR_EEPROMLOWMEM "EEPROM BX Memoria" -#define TR_ALERT "\016ALERT" -#define TR_PRESSANYKEYTOSKIP "Pulsar Tecla p/ sair" -#define TR_THROTTLENOTIDLE "**ACELERADOR ATIVO**" -#define TR_ALARMSDISABLED "Desabilita Alarmes" -#define TR_PRESSANYKEY "\010Pressione Tecla" -#define TR_BADEEPROMDATA "EEPRON INVALIDA" -#define TR_BAD_RADIO_DATA "Bad Radio Data" -#define TR_EEPROMFORMATTING "Formatando EEPROM" -#define TR_STORAGE_FORMAT "Storage Preparation" -#define TR_EEPROMOVERFLOW "EEPROM CHEIA" -#define TR_MENURADIOSETUP "AJUSTAR RADIO" -#define TR_MENUDATEANDTIME "DATA E HORA" -#define TR_MENUTRAINER "TRAINER" -#define TR_MENUGLOBALFUNCS "GLOBAL FUNCTIONS" -#define TR_MENUVERSION "VERSAO" -#define TR_MENUDIAG "DIAGNOST" -#define TR_MENUANA "ANALOGICOS" -#define TR_MENUCALIBRATION "CALIBRAGEM" -#define TR_TRIMS2OFFSETS "\006Trims => Offsets" -#define TR_MENUMODELSEL "MODELOS" -#define TR_MENUSETUP "SETUP" -#define TR_MENUFLIGHTPHASE "MODO DE VOO" -#define TR_MENUFLIGHTPHASES "MODOS DE VOO" -#define TR_MENUHELISETUP "HELI SETUP" - - -// Alignment - -#if defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... - #define TR_MENUINPUTS "STICKS" - #define TR_MENULIMITS "SAIDAS" -#else - #define TR_MENUINPUTS "DR/EXPO" - #define TR_MENULIMITS "LIMITES" -#endif - -#define TR_MENUCURVES "CURVAS" -#define TR_MENUCURVE "CURVA" -#define TR_MENULOGICALSWITCH "CHAVE ESPECIAL" -#define TR_MENULOGICALSWITCHES "CHAVES ESPECIAIS" -#define TR_MENUCUSTOMFUNC "FUNCAO ESPECIAL" -#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS" -#define TR_MENUTELEMETRY "TELEMETRIA" -#define TR_MENUTEMPLATES "MODELOS" -#define TR_MENUSTAT "REGISTROS" -#define TR_MENUDEBUG "DEPURAR" -#define TR_RXNUM "RxNum" -#define TR_SYNCMENU "Sync [MENU]" -#define TR_LIMIT INDENT"Limite" -#define TR_MINRSSI "Min Rssi" -#define TR_LATITUDE "Latitude" -#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_POWEROFF "\027Power OFF..." -#define TR_SHUTDOWN "DESLIGANDOo" -#define TR_SAVEMODEL "Saving model settings" -#define TR_BATT_CALIB "CALIBRAR BATT" -#define TR_CURRENT_CALIB "Corrente Calib" -#define TR_VOLTAGE INDENT"Volts" -#define TR_CURRENT INDENT"Amperes" -#define TR_SELECT_MODEL "Selec. Modelo" -#define TR_CREATE_CATEGORY "Create Category" -#define TR_RENAME_CATEGORY "Rename Category" -#define TR_DELETE_CATEGORY "Delete Category" -#define TR_CREATE_MODEL "Criar Modelo" -#define TR_DUPLICATE_MODEL "Duplicate Model" -#define TR_CHANGE_CATEGORY "Change category" -#define TR_COPY_MODEL "Copy Model" -#define TR_MOVE_MODEL "Move Model" -#define TR_BACKUP_MODEL "Salvar Modelo" -#define TR_DELETE_MODEL "Apagar Modelo" -#define TR_RESTORE_MODEL "Restaura Modelo" -#define TR_SDCARD_ERROR "SDCARD Erro" -#define TR_NO_SDCARD "Sem SDCARD" -#define TR_SDCARD_FULL "SD Card Full" -#define TR_INCOMPATIBLE "Incompativel" -#define TR_WARNING "AVISO" -#define TR_EEPROMWARN "EEPROM" -#define TR_STORAGE_WARNING "STORAGE" -#define TR_EEPROM_CONVERTING "EEPROM Converting" -#define TR_THROTTLEWARN "ACELERAD" -#define TR_ALARMSWARN "ALARMES" -#define TR_SWITCHWARN "CHAVES" -#define TR_FAILSAFEWARN "FAILSAFE" -#define TR_NO_FAILSAFE "Failsafe not set" -#define TR_KEYSTUCK "Key stuck" -#define TR_INVERT_THR "Inverte Acel?" -#define TR_SPEAKER_VOLUME INDENT "Volume" -#define TR_LCD "LCD" -#define TR_BRIGHTNESS INDENT "Brilho" -#define TR_CPU_TEMP "CPU Temp.\016>" -#define TR_CPU_CURRENT "Current\022>" -#define TR_CPU_MAH "Consumo." -#define TR_COPROC "CoProc." -#define TR_COPROC_TEMP "MB Temp. \016>" -#define TR_CAPAWARNING INDENT "Aviso Capacidade" -#define TR_TEMPWARNING INDENT "Temperat. ALTA" -#define TR_FUNC "Funcao" -#define TR_V1 "V1" -#define TR_V2 "V2" -#define TR_DURATION "Tempo" -#define TR_DELAY "Atraso" -#define TR_SD_CARD "SD CARD" -#define TR_SDHC_CARD "SD-HC CARD" -#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_SCRIPT_SYNTAX_ERROR "Script syntax error" -#define TR_SCRIPT_PANIC "Script panic" -#define TR_SCRIPT_KILLED "Script killed" -#define TR_SCRIPT_ERROR "Unknown error" -#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" -#define TR_NA "N/A" -#define TR_HARDWARE "HARDWARE" -#define TR_FORMATTING "Formatando..." -#define TR_TEMP_CALIB "Temp. Calib" -#define TR_TIME "Time" -#define TR_BAUDRATE "BT Baudrate" -#define TR_SD_INFO_TITLE "SD INFO" -#define TR_SD_TYPE "Tipe" -#define TR_SD_SPEED "Velocidade" -#define TR_SD_SECTORS "Sectores" -#define TR_SD_SIZE "Tamanho" -#define TR_TYPE INDENT "Tipe" -#define TR_GLOBAL_VARS "Variaveis" -#define TR_GVARS "GLOBAL V." -#define TR_GLOBAL_VAR "Global Variable" -#define TR_MENUGLOBALVARS "VARIAVEIS" -#define TR_OWN "Propr." -#define TR_DATE "Data" -#define TR_ROTARY_ENCODER "R.Encs" -#define TR_CHANNELS_MONITOR "CHANNELS MONITOR" -#define TR_MIXERS_MONITOR "MIXERS MONITOR" -#define TR_PATH_TOO_LONG "Path too long" -#define TR_VIEW_TEXT "View text" -#define TR_FLASH_BOOTLOADER "Flash BootLoader" -#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device" -#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module" -#define TR_WRITING "\032Writing..." -#define TR_CONFIRM_FORMAT "Confirm Format?" -#define TR_INTERNALRF "Internal RF" -#define TR_EXTERNALRF "External RF" -#define TR_FAILSAFE "Failsafe mode" -#define TR_FAILSAFESET "FAILSAFE SETTINGS" -#define TR_MENUSENSOR "SENSOR" -#define TR_SENSOR "SENSOR" -#define TR_COUNTRYCODE "Country Code" -#define TR_VOICELANG "Voice Language" -#define TR_UNITSSYSTEM "Units" -#define TR_EDIT "Edit" -#define TR_INSERT_BEFORE "Insert Before" -#define TR_INSERT_AFTER "Insert After" -#define TR_COPY "Copy" -#define TR_MOVE "Move" -#define TR_PASTE "Paste" -#define TR_DELETE "Delete" -#define TR_INSERT "Insert" -#define TR_RESET_FLIGHT "Reset Flight" -#define TR_RESET_TIMER1 "Reset Timer1" -#define TR_RESET_TIMER2 "Reset Timer2" -#define TR_RESET_TIMER3 "Reset Timer3" -#define TR_RESET_TELEMETRY "Reset Telemetry" -#define TR_STATISTICS "Statistics" -#define TR_ABOUT_US "About Us" -#define TR_SETUP_SCREENS "Setup screens" -#define TR_AND_SWITCH "AND Switch" -#define TR_SF "CF" -#define TR_GF "GF" -#define TR_SPEAKER INDENT"Speaker" -#define TR_BUZZER INDENT"Buzzer" -#define TR_BYTES "bytes" -#define TR_MODULE_BIND "[Bind]" -#define TR_MODULE_RANGE "[Range]" -#define TR_RESET_BTN "[Reset]" -#define TR_SET "[Set]" -#define TR_TRAINER "Trainer" -#define TR_ANTENNAPROBLEM CENTER "TX Antenna problem!" -#define TR_MODELIDUSED TR("ID already used","Model ID already used") -#define TR_MODULE INDENT "Module" -#define TR_TELEMETRY_TYPE TR("Type", "Telemetry Type") -#define TR_TELEMETRY_SENSORS "Sensors" -#define TR_VALUE "Value" -#define TR_TOPLCDTIMER "Top LCD Timer" -#define TR_UNIT "Unit" -#define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." -#define TR_CHANNELRANGE INDENT "Channel Range" -#define TR_ANTENNASELECTION INDENT "Antenna selection" -#define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" -#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_POPUP "Popup" -#define TR_MIN "Min" -#define TR_MAX "Max" -#define TR_CURVE_PRESET "Preset..." -#define TR_PRESET "Preset" -#define TR_MIRROR "Mirror" -#define TR_CLEAR "Clear" -#define TR_RESET "Reset" -#define TR_RESET_SUBMENU "Reset..." -#define TR_COUNT "Count" -#define TR_PT "pt" -#define TR_PTS "pts" -#define TR_SMOOTH "Smooth" -#define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" -#define TR_COPY_TRIMS_TO_OFS "Copy trims to subtrim" -#define TR_INCDEC "Inc/Decrement" -#define TR_GLOBALVAR "Global Var" -#define TR_MIXSOURCE "Mixer Source" -#define TR_CONSTANT "Constant" -#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" -#define TR_EEBACKUP "\004[ENTER Long] to backup the EEPROM" -#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" -#define TR_CONFIRMRESET "Erase ALL models and settings?" -#define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" - -#if defined(MAVLINK) - #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" - #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" - #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" - #define TR_MAVLINK_BAUD_LABEL "Baudrate" - #define TR_MAVLINK_INFOS "INFOS" - #define TR_MAVLINK_MODE "MODE" - #define TR_MAVLINK_CUR_MODE "Current Mode" - #define TR_MAVLINK_ARMED "Armed" - #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" - #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" - #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" - #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" - #define TR_MAVLINK_NAV_MENU_TITLE "NAV" - #define TR_MAVLINK_COURSE "Course" - #define TR_MAVLINK_HEADING "Heading" - #define TR_MAVLINK_BEARING "Bearing" - #define TR_MAVLINK_ALTITUDE "Altitude" - #define TR_MAVLINK_GPS "GPS" - #define TR_MAVLINK_NO_FIX "NO Fix" - #define TR_MAVLINK_SAT "SAT" - #define TR_MAVLINK_HDOP "HDOP" - #define TR_MAVLINK_LAT "LAT" - #define TR_MAVLINK_LON "LON" -#endif - -// Taranis column headers -#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 " } - -//Taranis About screen -#define TR_ABOUTUS "ABOUT US" - -#define TR_ABOUT_OPENTX_1 "OpenTX is open source, non-" -#define TR_ABOUT_OPENTX_2 "commercial and comes with no" -#define TR_ABOUT_OPENTX_3 "warranties. It was developed" -#define TR_ABOUT_OPENTX_4 "for free. Support through" -#define TR_ABOUT_OPENTX_5 "donations is welcome!" - -#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" -#define TR_ABOUT_BERTRAND_2 "OpenTX main author" -#define TR_ABOUT_BERTRAND_3 "Companion9x co-developer" - -#define TR_ABOUT_MIKE_1 "Mike Blandford" -#define TR_ABOUT_MIKE_2 "Code and drivers guru" -#define TR_ABOUT_MIKE_3 "Arguably, one of the best" -#define TR_ABOUT_MIKE_4 "Inspirational" - -#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" -#define TR_ABOUT_ROMOLO_2 "Companion9x main developer" -#define TR_ABOUT_ROMOLO_3 "" - -#define TR_ABOUT_ANDRE_1 "Andre Bernet" -#define TR_ABOUT_ANDRE_2 "Functionality, usability," -#define TR_ABOUT_ANDRE_3 "debugging, documentation" - -#define TR_ABOUT_ROB_1 "Rob Thomson" -#define TR_ABOUT_ROB_2 "openrcforums webmaster" - -#define TR_ABOUT_KJELL_1 "Kjell Kernen" -#define TR_ABOUT_KJELL_2 "www.open-tx.org main author" -#define TR_ABOUT_KJELL_3 "OpenTX Recorder author" -#define TR_ABOUT_KJELL_4 "Companion contributor" - -#define TR_ABOUT_MARTIN_1 "Martin Hotar" -#define TR_ABOUT_MARTIN_2 "Graphics designer" - -#if defined(PCBTARANIS) - #define TR_ABOUT_HARDWARE_1 "FrSky" - #define TR_ABOUT_HARDWARE_2 "Hardware designer/producer" - #define TR_ABOUT_HARDWARE_3 "Firmware contributor" -#else - #define TR_ABOUT_HARDWARE_1 "Brent Nelson" - #define TR_ABOUT_HARDWARE_2 "Sky9x designer/producer" - #define TR_ABOUT_HARDWARE_3 "" -#endif - -#define TR_ABOUT_PARENTS_1 "Parent projects" -#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" -#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_TOGGLE 't' -#define TR_CHR_HOUR 'h' -#define TR_CHR_INPUT 'I' // 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_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_MODEL_SELECT "Model Select" -#define TR_MODS_FORBIDDEN "Modifications forbidden!" -#define TR_UNLOCKED "Unlocked" -#define TR_ID "ID" -#define TR_PRECISION "Precision" -#define TR_RATIO "Ratio" -#define TR_FORMULA "Formula" -#define TR_CELLINDEX "Cell index" -#define TR_LOGS "Logs" -#define TR_OPTIONS "Options" - -#define TR_ALTSENSOR "Alt sensor" -#define TR_CELLSENSOR "Cell sensor" -#define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Sensor" -#define TR_AUTOOFFSET "Auto Offset" -#define TR_ONLYPOSITIVE "Positive" -#define TR_FILTER "Filter" -#define TR_TELEMETRYFULL "All telemetry slots full!" -#define TR_INVERTED_SERIAL INDENT "Invert" -#define TR_IGNORE_INSTANCE INDENT "Ignore instance" -#define TR_DISCOVER_SENSORS INDENT "Discover new sensors" -#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" -#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors" -#define TR_CONFIRMDELETE "Really delete all?" -#define TR_SELECT_WIDGET "Select widget" -#define TR_REMOVE_WIDGET "Remove widget" -#define TR_WIDGET_SETTINGS "Widget settings" -#define TR_REMOVE_SCREEN "Remove screen" - -#define TR_MENU_INPUTS "\314Inputs" -#define TR_MENU_LUA "\322Lua scripts" -#define TR_MENU_STICKS "\307Sticks" -#define TR_MENU_POTS "\310Pots" -#define TR_MENU_MAX "\315MAX" -#define TR_MENU_HELI "\316Cyclic" -#define TR_MENU_TRIMS "\313Trims" -#define TR_MENU_SWITCHES "\312Switches" -#define TR_MENU_LOGICAL_SWITCHES "\312Logical Switches" -#define TR_MENU_TRAINER "\317Trainer" -#define TR_MENU_CHANNELS "\320Channels" -#define TR_MENU_GVARS "\311GVars" -#define TR_MENU_TELEMETRY "\321Telemetry" -#define TR_MENU_OTHER "Other" -#define TR_MENU_INVERT "Invert" - -#define ZSTR_RSSI "RSSI" -#define ZSTR_SWR "SWR" -#define ZSTR_A1 "A1" -#define ZSTR_A2 "A2" -#define ZSTR_A3 "A3" -#define ZSTR_A4 "A4" -#define ZSTR_BATT "RxBt" -#define ZSTR_ALT "Alt" -#define ZSTR_TEMP1 "Tmp1" -#define ZSTR_TEMP2 "Tmp2" -#define ZSTR_RPM "RPM" -#define ZSTR_FUEL "Fuel" -#define ZSTR_VSPD "VSpd" -#define ZSTR_ACCX "AccX" -#define ZSTR_ACCY "AccY" -#define ZSTR_ACCZ "AccZ" -#define ZSTR_CURR "Curr" -#define ZSTR_VFAS "VFAS" -#define ZSTR_ASPD "ASpd" -#define ZSTR_GSPD "GSpd" -#define ZSTR_HDG "Hdg" -#define ZSTR_CELLS "Cels" -#define ZSTR_GPSALT "GAlt" -#define ZSTR_GPSDATETIME "Date" -#define ZSTR_GPS "GPS" -#define ZSTR_BATT1_VOLTAGE "RB1V" -#define ZSTR_BATT2_VOLTAGE "RB2V" -#define ZSTR_BATT1_CURRENT "RB1A" -#define ZSTR_BATT2_CURRENT "RB2A" -#define ZSTR_BATT1_CONSUMPTION "RB1C" -#define ZSTR_BATT2_CONSUMPTION "RB2C" -#define ZSTR_RB_STATE "RBS" -#define ZSTR_CHANS_STATE "RBCS" -#define ZSTR_RX_RSSI1 "1RSS" -#define ZSTR_RX_RSSI2 "2RSS" -#define ZSTR_RX_QUALITY "RQly" -#define ZSTR_RX_SNR "RSNR" -#define ZSTR_ANTENNA "ANT" -#define ZSTR_RF_MODE "RFMD" -#define ZSTR_TX_POWER "TPWR" -#define ZSTR_TX_RSSI "TRSS" -#define ZSTR_TX_QUALITY "TQly" +/* + * Copyright (C) OpenTX + * + * Based on code named + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +// PT translations author: who? + +/* + * !!!!! DO NOT EDIT pt.h - EDIT pt.h.txt INSTEAD !!!!!!! + * + * In order to make translations easier pt.h.txt is parsed and national + * characters are replaced by bitmap codes. The result is pt.h. + * + * See translate.py in the util folder for the list of character codes + * + * !!!!! DO NOT EDIT pt.h - EDIT pt.h.txt INSTEAD !!!!!!! + */ + +/* + * Formatting octal codes available in TR_ strings: + * \037\x -sets LCD x-coord (x value in octal) + * \036 -newline + * \035 -horizontal tab (ARM only) + * \001 to \034 -extended spacing (value * FW/2) + * \0 -ends current string + */ + + +// NON ZERO TERMINATED STRINGS +#define LEN_OFFON "\003" +#define TR_OFFON "OFF""ON\0" + +#define LEN_MMMINV "\003" +#define TR_MMMINV "---""INV" + +#define LEN_NCHANNELS "\004" +#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" + +#define LEN_VBEEPMODE "\005" +#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo " + +#define LEN_VBEEPLEN "\005" +#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" + +#define LEN_VRENAVIG "\003" +#define TR_VRENAVIG "No REaREb" + +#define LEN_VBLMODE "\004" +#define TR_VBLMODE "OFF ""Chav""Stks""Tudo""ON\0" + +#define LEN_TRNMODE "\003" +#define TR_TRNMODE "OFF"" +="" :=" + +#define LEN_TRNCHN "\003" +#define TR_TRNCHN "CH1CH2CH3CH4" + +#define LEN_UART3MODES "\017" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Telemetry\0 ""SBUS Trainer\0 ""Debug\0" + +#define LEN_SWTYPES "\006" +#define TR_SWTYPES "None\0 ""Toggle""2POS\0 ""3POS\0" + +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "None\0 ""Pot with detent""Multipos Switch""Pot\0" + +#define LEN_SLIDERTYPES "\006" +#define TR_SLIDERTYPES "Rien\0 ""Slider" + +#define LEN_DATETIME "\005" +#define TR_DATETIME "DATA:""HORA:" + +#define LEN_VLCD "\006" +#define TR_VLCD "NormalOptrex" + +#define LEN_VPERSISTENT "\014" +#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset" + +#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""CRSF""MULT" + +#define LEN_XJT_PROTOCOLS "\004" +#define TR_XJT_PROTOCOLS "OFF\0""D16\0""D8\0 ""LR12" + +#define LEN_DSM_PROTOCOLS "\004" +#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" + +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + + +#define LEN_VTRIMINC "\006" +#define TR_VTRIMINC "Expo ""ExFino""Fino ""Medio ""Largo " + +#define LEN_VDISPLAYTRIMS "\006" +#define TR_VDISPLAYTRIMS "No\0 ""Change""Yes\0" + +#define LEN_VBEEPCOUNTDOWN "\006" +#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0Haptic" + +#define LEN_VVARIOCENTER "\006" +#define TR_VVARIOCENTER "Tone\0 ""Silent" + +#define LEN_CURVE_TYPES "\010" +#define TR_CURVE_TYPES "Standard""Custom\0" + +#define LEN_RETA123 "\001" + +#if defined(PCBTARANIS) || defined(REVX) + #define TR_RETA123 "LPMA123LR" +#elif defined(PCBSKY9X) + #define TR_RETA123 "LPMA123a" +#elif defined(CPUM2560) + #define TR_RETA123 "LPMA123ab" +#else + #define TR_RETA123 "LPMA123" +#endif + +#define LEN_VPROTOS "\006" + +#if defined(PXX) + #define TR_PXX "PXX\0 " +#elif defined(DSM2) || defined(IRPROTOS) + #define TR_PXX "[PXX]\0" +#else + #define TR_PXX +#endif + +#if defined(DSM2) + #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " +#elif defined(IRPROTOS) + #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" +#else + #define TR_DSM2 +#endif + +#if defined(IRPROTOS) + #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" +#else + #define TR_IRPROTOS +#endif + +#if defined(CPUARM) + #define TR_XPPM +#else + #define TR_XPPM "PPM16\0""PPMsim" +#endif + +#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS + +#define LEN_POSNEG "\003" +#define TR_POSNEG "POS""NEG" + +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + +#define LEN_VCURVEFUNC "\003" +#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" + +#define LEN_VMLTPX "\011" +#define TR_VMLTPX "Adicionar""Multipl. ""Trocar\0 0" + +#define LEN_VMLTPX2 "\002" +#define TR_VMLTPX2 "+=""*="":=" + +#define LEN_VMIXTRIMS "\003" +#define TR_VMIXTRIMS "OFF""ON\0""Lem""Pfd""Mot""Ail" + +#if defined(PCBTARANIS) + #define TR_CSWTIMER "Timer" + #define TR_CSWSTICKY "Stcky" + #define TR_CSWRANGE "Range" + #define TR_CSWSTAY "Edge\0" +#else + #define TR_CSWTIMER "Tim\0 " + #define TR_CSWSTICKY "Glue\0" + #if defined(CPUARM) + #define TR_CSWRANGE "Rnge\0" + #define TR_CSWSTAY "Edge\0" + #else + #define TR_CSWRANGE + #define TR_CSWSTAY + #endif +#endif + +#if defined(CPUARM) + #define TR_CSWEQUAL "a=x\0 " +#else + #define TR_CSWEQUAL +#endif + +#define LEN_VCSWFUNC "\005" +#if defined(CPUARM) +#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 + #define TR_VTELEMCHNS "---\0 ""Batt\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Time\0" +#else + #define TR_VTELEMCHNS "---\0""Batt" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" +#endif + +#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", "\010") + #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial") + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" +#else + #if defined(IMPERIAL_UNITS) + #define LENGTH_UNIT LENGTH_UNIT_IMP + #define SPEED_UNIT SPEED_UNIT_IMP + #else + #define LENGTH_UNIT LENGTH_UNIT_METR + #define SPEED_UNIT SPEED_UNIT_METR + #endif + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " +#endif + +#define STR_V (STR_VTELEMUNIT+1) +#define STR_A (STR_VTELEMUNIT+4) + +#define LEN_VALARM "\003" +#define TR_VALARM "---""Ama""Lar""Ver" + +#define LEN_VALARMFN "\001" +#define TR_VALARMFN "<>" + +#define LEN_VTELPROTO "\007" +#define TR_VTELPROTO "Nada\0 ""Hub\0 ""WSHHigh" + +#if defined(CPUARM) + #define LEN_AMPSRC TR("\003", "\007") + #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define LEN_VOLTSRC TR("\003", "\007") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") +#else + #define LEN_AMPSRC TR("\003", "\007") + #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") +#endif + +#define LEN_VARIOSRC "\005" +#if defined(FRSKY_SPORT) + #define TR_VARIOSRC "Vario""A1\0 ""A2\0" +#else + #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" +#endif + +#define LEN_VTELEMSCREENTYPE "\004" +#define TR_VTELEMSCREENTYPE "Nums""Bars" + +#define LEN_GPSFORMAT "\004" +#define TR_GPSFORMAT "HMS NMEA" + +#define LEN2_VTEMPLATES 13 +#define LEN_VTEMPLATES "\015" +#define TR_VTEMPLATES "Tirar Mixagem""4CH Simples\0 ""Anular Motor\0""V-Tail\0 ""Elevon\\Zagi\0 ""eCCPM\0 ""Mixagem Heli\0""Testar Servos" + +#define LEN_VSWASHTYPE "\004" +#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" + +#define LEN_VKEYS "\005" +#define TR_VKEYS TR("Menu\0""Sair\0""Desce""Sobe\0""Direi""Esqda", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus") + +#define LEN_VRENCODERS "\003" +#define TR_VRENCODERS "REa""REb" + +#define LEN_VSWITCHES "\003" +#define LEN_VSRCRAW "\004" + +#if defined(PCBHORUS) + #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#elif defined(PCBFLAMENCO) + #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " + #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " +#elif defined(PCBTARANIS) && defined(REV9E) + #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" +#elif defined(PCBTARANIS) + #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#else + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " + #define TR_SW_VSRCRAW "3POS" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" +#endif + +#if defined(CPUARM) + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" +#else + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" +#endif + +#define TR_TRIMS_SWITCHES TR("tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr", "\313Rl""\313Rr""\313Ed""\313Eu""\313\313d""\313\313u""\313Al""\313Ar") + +#if defined(PCBSKY9X) + #define TR_ROTARY_ENCODERS "REa\0" + #define TR_ROTENC_SWITCHES "REa" +#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) + #define TR_ROTARY_ENCODERS "REa\0""REb\0" + #define TR_ROTENC_SWITCHES "REa""REb" +#else + #define TR_ROTARY_ENCODERS + #define TR_ROTENC_SWITCHES +#endif + +#if !defined(PCBTARANIS) + #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" +#endif + +#define TR_ON_ONE_SWITCHES "ON\0""One" + +#if defined(PCBFLAMENCO) + #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" +#elif defined(PCBTARANIS) || defined(PCBHORUS) + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES +#else + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES +#endif + +#if defined(HELI) +#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" +#else +#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" +#endif + +#define TR_VSRCRAW "---\0""Lem\0""Pfd\0""Mot\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" TR_SW_VSRCRAW + +#define LEN_VTMRMODES "\003" +#define TR_VTMRMODES "OFF""ABS""MTs""MT%""MTt" + +#define LEN_VTRAINERMODES "\022" +#define TR_VTRAINERMODES "Master/Jack\0 ""Slave/Jack\0 ""Master/SBUS Module""Master/CPPM Module""Master/Battery\0" + +#define LEN_VFAILSAFE "\011" +#define TR_VFAILSAFE "Not set\0 ""Hold\0 ""Custom\0 ""No pulses""Receiver\0" + +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + +#define LEN_VSENSORTYPES "\012" +#define TR_VSENSORTYPES "Custom\0 ""Calculated" + +#define LEN_VFORMULAS "\010" +#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance" + +#define LEN_VPREC "\005" +#define TR_VPREC "PREC0""PREC1""PREC2" + +#define LEN_VCELLINDEX "\007" +#define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" + +#define LEN_VANTENNATYPES "\010" +#define TR_VANTENNATYPES "Internal""External" + +// ZERO TERMINATED STRINGS +#define INDENT "\001" +#define LEN_INDENT 1 +#define INDENT_WIDTH (FW/2) + +#if defined(PCBTARANIS) + #define TR_ENTER "[ENTER]" +#else + #define TR_ENTER "[MENU]" +#endif + +#define TR_EXIT "[EXIT]" + +#if defined(PCBTARANIS) + #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER +#else + #define TR_POPUPS TR_ENTER "\010" TR_EXIT + #define OFS_EXIT sizeof(TR_ENTER) +#endif + +#define TR_MENUWHENDONE CENTER"\006" TR_ENTER "QDO PRONTO" +#define TR_FREE "Livre" +#define TR_DELETEMODEL "EXCLUI MODELO" +#define TR_COPYINGMODEL "Copiando modelo" +#define TR_MOVINGMODEL "Movendo modelo" +#define TR_LOADINGMODEL "Carregar modelo" +#define TR_NAME "Nome" +#define TR_MODELNAME "Model Name" +#define TR_PHASENAME "Phase Name" +#define TR_MIXNAME "Mix Name" +#define TR_INPUTNAME "Input Name" +#if defined(PCBTARANIS) + #define TR_EXPONAME "Line Name" +#else + #define TR_EXPONAME "Expo Name" +#endif +#define TR_BITMAP "Model Image" +#define TR_TIMER "Cronom" +#define TR_ELIMITS "E.Limits" +#define TR_ETRIMS "E.Trims" +#define TR_TRIMINC "Trim Step" +#define TR_DISPLAY_TRIMS "Display Trims" +#define TR_TTRACE TR("T-Trace", INDENT "T-Trace") +#define TR_TTRIM TR("T-Trim", INDENT "T-Trim") +#define TR_BEEPCTR "Ctr Beep" +#define TR_USE_GLOBAL_FUNCS "Use Global Funcs" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif +#define TR_PROTO INDENT"Proto" +#define TR_PPMFRAME "PPM frame" +#define TR_MS "ms" +#define TR_SWITCH "Chave" +#define TR_TRIMS "Trims" +#define TR_FADEIN "Aparecer" +#define TR_FADEOUT "Ocultar" +#define TR_DEFAULT "(default)" +#define TR_CHECKTRIMS "\006Check\012Trims" +#define OFS_CHECKTRIMS (9*FW) +#define TR_SWASHTYPE "Ciclico Tipo" +#define TR_COLLECTIVE "Coletivo" +#define TR_AILERON "Lateral cyc. source" +#define TR_ELEVATOR "Long. cyc. source" +#define TR_SWASHRING "Anel Coletivo" +#define TR_ELEDIRECTION "PFD Sentido" +#define TR_AILDIRECTION "AIL Sentido" +#define TR_COLDIRECTION "COL Sentido" +#define TR_MODE INDENT"Modo" +#define TR_NOFREEEXPO "No free expo!" +#define TR_NOFREEMIXER "No free mixer!" +#define TR_SOURCE INDENT"Fonte" +#define TR_WEIGHT "Quantia" +#define TR_EXPO "Exponen" +#define TR_SIDE "Lado" +#define TR_DIFFERENTIAL "Diferencial" +#define TR_OFFSET INDENT"Desvio" +#define TR_TRIM "Trim" +#define TR_DREX "DRex" +#define DREX_CHBOX_OFFSET 30 +#define TR_CURVE "Curvas" +#define TR_FLMODE "Fase" +#define TR_MIXWARNING "Aviso" +#define TR_OFF "OFF" +#define TR_MULTPX "Aplicar" +#define TR_DELAYDOWN "Atraso Dn" +#define TR_DELAYUP "Atraso Up" +#define TR_SLOWDOWN "Lento Dn" +#define TR_SLOWUP "Lento Up" +#define TR_MIXER "MIXAGENS" +#define TR_CV "CV" +#define TR_GV "GV" +#define TR_ACHANNEL "A\004Canal" +#define TR_RANGE INDENT"Range" +#define TR_CENTER INDENT "Center" +#define TR_BAR "Bar" +#define TR_ALARM INDENT"Alarme" +#define TR_USRDATA "UsrData" +#define TR_BLADES INDENT"Helice" +#define TR_SCREEN "Tela" +#define TR_SOUND_LABEL "Som" +#define TR_LENGTH INDENT"Comprimento" +#define TR_BEEP_LENGTH INDENT "Beep Length" +#define TR_SPKRPITCH INDENT"Pitch" +#define TR_HAPTIC_LABEL "Vibrar" +#define TR_HAPTICSTRENGTH INDENT"Forca" +#define TR_CONTRAST "Contraste" +#define TR_ALARMS_LABEL "Alarmes" +#define TR_BATTERY_RANGE "Battery Range" +#define TR_BATTERYWARNING INDENT"Bateria Baixa" +#define TR_INACTIVITYALARM INDENT"Inactividade" +#define TR_MEMORYWARNING INDENT"Memoria Baixa" +#define TR_ALARMWARNING INDENT"Som Off" +#define TR_RENAVIG "RotEnc Navig" +#define TR_THROTTLE_LABEL "Throttle" +#define TR_THROTTLEREVERSE TR("Inverte Acel.", INDENT "Inverte Acel.") +#define TR_TIMER_NAME INDENT "Name" +#define TR_MINUTEBEEP INDENT "Beep Minuto" +#define TR_BEEPCOUNTDOWN INDENT "Beep Regressivo" +#define TR_PERSISTENT INDENT "Persist." +#define TR_BACKLIGHT_LABEL "Backlight" +#define TR_BLDELAY INDENT "Tempo Backlight" +#define TR_BLONBRIGHTNESS INDENT "ON Brightness" +#define TR_BLOFFBRIGHTNESS INDENT "OFF Brightness" +#define TR_BLCOLOR INDENT "Color" +#define TR_SPLASHSCREEN "Splash screen" +#define TR_THROTTLEWARNING TR("Avisa Acel", INDENT "Avisa Acel") +#define TR_SWITCHWARNING TR("Avisa Chav", INDENT "Avisa Chav") +#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning") +#define TR_TIMEZONE "Time Zone" +#define TR_ADJUST_RTC INDENT "Adjust RTC" +#define TR_GPS "GPS" +#define TR_RXCHANNELORD "Ordem Canal RX" +#define TR_STICKS "Sticks" +#define TR_POTS "Pots" +#define TR_SWITCHES "Switches" +#define TR_SWITCHES_DELAY "Switches Delay" +#define TR_SLAVE "Escravo" +#define TR_MODESRC "Modo\006% Fonte" +#define TR_MULTIPLIER "Multiplicar" +#define TR_CAL "Cal" +#define TR_VTRIM "Trim- +" +#define TR_BG "BG:" +#if defined(PCBHORUS) + #define TR_MENUTOSTART "Press [Enter] to start" + #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" + #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" +#else + #define TR_MENUTOSTART CENTER"\011" TR_ENTER " INICIAR" + #define TR_SETMIDPOINT TR(CENTER"\005CENTRAR STICK/POT",CENTER"\006CENTRAR STICK/POT") + #define TR_MOVESTICKSPOTS TR(CENTER"\005MOVER STICKS/POTs",CENTER"\006MOVER STICKS/POTs") +#endif +#define TR_RXBATT "Rx Batt:" +#define TR_TXnRX "Tx:\0Rx:" +#define OFS_RX 4 +#define TR_ACCEL "Acc:" +#define TR_NODATA CENTER"SEM DADOS" +#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" +#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" +#define STR_US (STR_TMR1LATMAXUS+13) +#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" +#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" + +#if defined(CPUARM) + #define TR_TMIXMAXMS "Tmix max" + #define TR_FREESTACKMINB "Free Stack" +#else + #define TR_TMIXMAXMS "Tmix max\037\124ms" + #define TR_FREESTACKMINB "Pilha Livre\037\124b" +#endif + +#define TR_MENUTORESET CENTER TR_ENTER" Reinicia" +#define TR_PPM_TRAINER "TR" +#define TR_CH "CH" +#define TR_MODEL "MODEL" +#define TR_FP "FP" +#define TR_MIX "MIX" +#define TR_EEPROMLOWMEM "EEPROM BX Memoria" +#define TR_ALERT "\016ALERT" +#define TR_PRESSANYKEYTOSKIP "Pulsar Tecla p/ sair" +#define TR_THROTTLENOTIDLE "**ACELERADOR ATIVO**" +#define TR_ALARMSDISABLED "Desabilita Alarmes" +#define TR_PRESSANYKEY "\010Pressione Tecla" +#define TR_BADEEPROMDATA "EEPRON INVALIDA" +#define TR_BAD_RADIO_DATA "Bad Radio Data" +#define TR_EEPROMFORMATTING "Formatando EEPROM" +#define TR_STORAGE_FORMAT "Storage Preparation" +#define TR_EEPROMOVERFLOW "EEPROM CHEIA" +#define TR_MENURADIOSETUP "AJUSTAR RADIO" +#define TR_MENUDATEANDTIME "DATA E HORA" +#define TR_MENUTRAINER "TRAINER" +#define TR_MENUGLOBALFUNCS "GLOBAL FUNCTIONS" +#define TR_MENUVERSION "VERSAO" +#define TR_MENUDIAG "DIAGNOST" +#define TR_MENUANA "ANALOGICOS" +#define TR_MENUCALIBRATION "CALIBRAGEM" +#define TR_TRIMS2OFFSETS "\006Trims => Offsets" +#define TR_MENUMODELSEL "MODELOS" +#define TR_MENUSETUP "SETUP" +#define TR_MENUFLIGHTPHASE "MODO DE VOO" +#define TR_MENUFLIGHTPHASES "MODOS DE VOO" +#define TR_MENUHELISETUP "HELI SETUP" + + +// Alignment + +#if defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... + #define TR_MENUINPUTS "STICKS" + #define TR_MENULIMITS "SAIDAS" +#else + #define TR_MENUINPUTS "DR/EXPO" + #define TR_MENULIMITS "LIMITES" +#endif + +#define TR_MENUCURVES "CURVAS" +#define TR_MENUCURVE "CURVA" +#define TR_MENULOGICALSWITCH "CHAVE ESPECIAL" +#define TR_MENULOGICALSWITCHES "CHAVES ESPECIAIS" +#define TR_MENUCUSTOMFUNC "FUNCAO ESPECIAL" +#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS" +#define TR_MENUTELEMETRY "TELEMETRIA" +#define TR_MENUTEMPLATES "MODELOS" +#define TR_MENUSTAT "REGISTROS" +#define TR_MENUDEBUG "DEPURAR" +#define TR_RXNUM "RxNum" +#define TR_SYNCMENU "Sync [MENU]" +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" +#define TR_LIMIT INDENT"Limite" +#define TR_MINRSSI "Min Rssi" +#define TR_LATITUDE "Latitude" +#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_POWEROFF "\027Power OFF..." +#define TR_SHUTDOWN "DESLIGANDOo" +#define TR_SAVEMODEL "Saving model settings" +#define TR_BATT_CALIB "CALIBRAR BATT" +#define TR_CURRENT_CALIB "Corrente Calib" +#define TR_VOLTAGE INDENT"Volts" +#define TR_CURRENT INDENT"Amperes" +#define TR_SELECT_MODEL "Selec. Modelo" +#define TR_CREATE_CATEGORY "Create Category" +#define TR_RENAME_CATEGORY "Rename Category" +#define TR_DELETE_CATEGORY "Delete Category" +#define TR_CREATE_MODEL "Criar Modelo" +#define TR_DUPLICATE_MODEL "Duplicate Model" +#define TR_CHANGE_CATEGORY "Change category" +#define TR_COPY_MODEL "Copy Model" +#define TR_MOVE_MODEL "Move Model" +#define TR_BACKUP_MODEL "Salvar Modelo" +#define TR_DELETE_MODEL "Apagar Modelo" +#define TR_RESTORE_MODEL "Restaura Modelo" +#define TR_SDCARD_ERROR "SDCARD Erro" +#define TR_NO_SDCARD "Sem SDCARD" +#define TR_SDCARD_FULL "SD Card Full" +#define TR_INCOMPATIBLE "Incompativel" +#define TR_WARNING "AVISO" +#define TR_EEPROMWARN "EEPROM" +#define TR_STORAGE_WARNING "STORAGE" +#define TR_EEPROM_CONVERTING "EEPROM Converting" +#define TR_THROTTLEWARN "ACELERAD" +#define TR_ALARMSWARN "ALARMES" +#define TR_SWITCHWARN "CHAVES" +#define TR_FAILSAFEWARN "FAILSAFE" +#define TR_NO_FAILSAFE "Failsafe not set" +#define TR_KEYSTUCK "Key stuck" +#define TR_INVERT_THR "Inverte Acel?" +#define TR_SPEAKER_VOLUME INDENT "Volume" +#define TR_LCD "LCD" +#define TR_BRIGHTNESS INDENT "Brilho" +#define TR_CPU_TEMP "CPU Temp.\016>" +#define TR_CPU_CURRENT "Current\022>" +#define TR_CPU_MAH "Consumo." +#define TR_COPROC "CoProc." +#define TR_COPROC_TEMP "MB Temp. \016>" +#define TR_CAPAWARNING INDENT "Aviso Capacidade" +#define TR_TEMPWARNING INDENT "Temperat. ALTA" +#define TR_FUNC "Funcao" +#define TR_V1 "V1" +#define TR_V2 "V2" +#define TR_DURATION "Tempo" +#define TR_DELAY "Atraso" +#define TR_SD_CARD "SD CARD" +#define TR_SDHC_CARD "SD-HC CARD" +#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_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" +#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" +#define TR_NA "N/A" +#define TR_HARDWARE "HARDWARE" +#define TR_FORMATTING "Formatando..." +#define TR_TEMP_CALIB "Temp. Calib" +#define TR_TIME "Time" +#define TR_BAUDRATE "BT Baudrate" +#define TR_SD_INFO_TITLE "SD INFO" +#define TR_SD_TYPE "Tipe" +#define TR_SD_SPEED "Velocidade" +#define TR_SD_SECTORS "Sectores" +#define TR_SD_SIZE "Tamanho" +#define TR_TYPE INDENT "Tipe" +#define TR_GLOBAL_VARS "Variaveis" +#define TR_GVARS "GLOBAL V." +#define TR_GLOBAL_VAR "Global Variable" +#define TR_MENUGLOBALVARS "VARIAVEIS" +#define TR_OWN "Propr." +#define TR_DATE "Data" +#define TR_ROTARY_ENCODER "R.Encs" +#define TR_CHANNELS_MONITOR "CHANNELS MONITOR" +#define TR_MIXERS_MONITOR "MIXERS MONITOR" +#define TR_PATH_TOO_LONG "Path too long" +#define TR_VIEW_TEXT "View text" +#define TR_FLASH_BOOTLOADER "Flash BootLoader" +#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device" +#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module" +#define TR_WRITING "\032Writing..." +#define TR_CONFIRM_FORMAT "Confirm Format?" +#define TR_INTERNALRF "Internal RF" +#define TR_EXTERNALRF "External RF" +#define TR_FAILSAFE "Failsafe mode" +#define TR_FAILSAFESET "FAILSAFE SETTINGS" +#define TR_MENUSENSOR "SENSOR" +#define TR_SENSOR "SENSOR" +#define TR_COUNTRYCODE "Country Code" +#define TR_VOICELANG "Voice Language" +#define TR_UNITSSYSTEM "Units" +#define TR_EDIT "Edit" +#define TR_INSERT_BEFORE "Insert Before" +#define TR_INSERT_AFTER "Insert After" +#define TR_COPY "Copy" +#define TR_MOVE "Move" +#define TR_PASTE "Paste" +#define TR_DELETE "Delete" +#define TR_INSERT "Insert" +#define TR_RESET_FLIGHT "Reset Flight" +#define TR_RESET_TIMER1 "Reset Timer1" +#define TR_RESET_TIMER2 "Reset Timer2" +#define TR_RESET_TIMER3 "Reset Timer3" +#define TR_RESET_TELEMETRY "Reset Telemetry" +#define TR_STATISTICS "Statistics" +#define TR_ABOUT_US "About Us" +#define TR_SETUP_SCREENS "Setup screens" +#define TR_AND_SWITCH "AND Switch" +#define TR_SF "CF" +#define TR_GF "GF" +#define TR_SPEAKER INDENT"Speaker" +#define TR_BUZZER INDENT"Buzzer" +#define TR_BYTES "bytes" +#define TR_MODULE_BIND "[Bind]" +#define TR_MODULE_RANGE "[Range]" +#define TR_RESET_BTN "[Reset]" +#define TR_SET "[Set]" +#define TR_TRAINER "Trainer" +#define TR_ANTENNAPROBLEM CENTER "TX Antenna problem!" +#define TR_MODELIDUSED TR("ID already used","Model ID already used") +#define TR_MODULE INDENT "Module" +#define TR_TELEMETRY_TYPE TR("Type", "Telemetry Type") +#define TR_TELEMETRY_SENSORS "Sensors" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" +#define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." +#define TR_CHANNELRANGE INDENT "Channel Range" +#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNACONFIRM1 "Really switch?" +#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#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_POPUP "Popup" +#define TR_MIN "Min" +#define TR_MAX "Max" +#define TR_CURVE_PRESET "Preset..." +#define TR_PRESET "Preset" +#define TR_MIRROR "Mirror" +#define TR_CLEAR "Clear" +#define TR_RESET "Reset" +#define TR_RESET_SUBMENU "Reset..." +#define TR_COUNT "Count" +#define TR_PT "pt" +#define TR_PTS "pts" +#define TR_SMOOTH "Smooth" +#define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" +#define TR_COPY_TRIMS_TO_OFS "Copy trims to subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Source" +#define TR_CONSTANT "Constant" +#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" +#define TR_EEBACKUP "\004[ENTER Long] to backup the EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" +#define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" + +#if defined(MAVLINK) + #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" + #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" + #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" + #define TR_MAVLINK_BAUD_LABEL "Baudrate" + #define TR_MAVLINK_INFOS "INFOS" + #define TR_MAVLINK_MODE "MODE" + #define TR_MAVLINK_CUR_MODE "Current Mode" + #define TR_MAVLINK_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #define TR_MAVLINK_NO_FIX "NO Fix" + #define TR_MAVLINK_SAT "SAT" + #define TR_MAVLINK_HDOP "HDOP" + #define TR_MAVLINK_LAT "LAT" + #define TR_MAVLINK_LON "LON" +#endif + +// Taranis column headers +#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 " } + +//Taranis About screen +#define TR_ABOUTUS "ABOUT US" + +#define TR_ABOUT_OPENTX_1 "OpenTX is open source, non-" +#define TR_ABOUT_OPENTX_2 "commercial and comes with no" +#define TR_ABOUT_OPENTX_3 "warranties. It was developed" +#define TR_ABOUT_OPENTX_4 "for free. Support through" +#define TR_ABOUT_OPENTX_5 "donations is welcome!" + +#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" +#define TR_ABOUT_BERTRAND_2 "OpenTX main author" +#define TR_ABOUT_BERTRAND_3 "Companion9x co-developer" + +#define TR_ABOUT_MIKE_1 "Mike Blandford" +#define TR_ABOUT_MIKE_2 "Code and drivers guru" +#define TR_ABOUT_MIKE_3 "Arguably, one of the best" +#define TR_ABOUT_MIKE_4 "Inspirational" + +#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" +#define TR_ABOUT_ROMOLO_2 "Companion9x main developer" +#define TR_ABOUT_ROMOLO_3 "" + +#define TR_ABOUT_ANDRE_1 "Andre Bernet" +#define TR_ABOUT_ANDRE_2 "Functionality, usability," +#define TR_ABOUT_ANDRE_3 "debugging, documentation" + +#define TR_ABOUT_ROB_1 "Rob Thomson" +#define TR_ABOUT_ROB_2 "openrcforums webmaster" + +#define TR_ABOUT_KJELL_1 "Kjell Kernen" +#define TR_ABOUT_KJELL_2 "www.open-tx.org main author" +#define TR_ABOUT_KJELL_3 "OpenTX Recorder author" +#define TR_ABOUT_KJELL_4 "Companion contributor" + +#define TR_ABOUT_MARTIN_1 "Martin Hotar" +#define TR_ABOUT_MARTIN_2 "Graphics designer" + +#if defined(PCBTARANIS) + #define TR_ABOUT_HARDWARE_1 "FrSky" + #define TR_ABOUT_HARDWARE_2 "Hardware designer/producer" + #define TR_ABOUT_HARDWARE_3 "Firmware contributor" +#else + #define TR_ABOUT_HARDWARE_1 "Brent Nelson" + #define TR_ABOUT_HARDWARE_2 "Sky9x designer/producer" + #define TR_ABOUT_HARDWARE_3 "" +#endif + +#define TR_ABOUT_PARENTS_1 "Parent projects" +#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" +#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_TOGGLE 't' +#define TR_CHR_HOUR 'h' +#define TR_CHR_INPUT 'I' // 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_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_MODEL_SELECT "Model Select" +#define TR_MODS_FORBIDDEN "Modifications forbidden!" +#define TR_UNLOCKED "Unlocked" +#define TR_ID "ID" +#define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Sensor" +#define TR_AUTOOFFSET "Auto Offset" +#define TR_ONLYPOSITIVE "Positive" +#define TR_FILTER "Filter" +#define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" +#define TR_IGNORE_INSTANCE INDENT "Ignore instance" +#define TR_DISCOVER_SENSORS INDENT "Discover new sensors" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" +#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors" +#define TR_CONFIRMDELETE "Really delete all?" +#define TR_SELECT_WIDGET "Select widget" +#define TR_REMOVE_WIDGET "Remove widget" +#define TR_WIDGET_SETTINGS "Widget settings" +#define TR_REMOVE_SCREEN "Remove screen" + +#define TR_MENU_INPUTS "\314Inputs" +#define TR_MENU_LUA "\322Lua scripts" +#define TR_MENU_STICKS "\307Sticks" +#define TR_MENU_POTS "\310Pots" +#define TR_MENU_MAX "\315MAX" +#define TR_MENU_HELI "\316Cyclic" +#define TR_MENU_TRIMS "\313Trims" +#define TR_MENU_SWITCHES "\312Switches" +#define TR_MENU_LOGICAL_SWITCHES "\312Logical Switches" +#define TR_MENU_TRAINER "\317Trainer" +#define TR_MENU_CHANNELS "\320Channels" +#define TR_MENU_GVARS "\311GVars" +#define TR_MENU_TELEMETRY "\321Telemetry" +#define TR_MENU_OTHER "Other" +#define TR_MENU_INVERT "Invert" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP1 "Tmp1" +#define ZSTR_TEMP2 "Tmp2" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" +#define ZSTR_BATT1_VOLTAGE "RB1V" +#define ZSTR_BATT2_VOLTAGE "RB2V" +#define ZSTR_BATT1_CURRENT "RB1A" +#define ZSTR_BATT2_CURRENT "RB2A" +#define ZSTR_BATT1_CONSUMPTION "RB1C" +#define ZSTR_BATT2_CONSUMPTION "RB2C" +#define ZSTR_RB_STATE "RBS" +#define ZSTR_CHANS_STATE "RBCS" +#define ZSTR_RX_RSSI1 "1RSS" +#define ZSTR_RX_RSSI2 "2RSS" +#define ZSTR_RX_QUALITY "RQly" +#define ZSTR_RX_SNR "RSNR" +#define ZSTR_ANTENNA "ANT" +#define ZSTR_RF_MODE "RFMD" +#define ZSTR_TX_POWER "TPWR" +#define ZSTR_TX_RSSI "TRSS" +#define ZSTR_TX_QUALITY "TQly" #define ZSTR_TX_SNR "TSNR" \ No newline at end of file diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 39d052e32..0e5d57609 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -1,1193 +1,1236 @@ -/* - * Copyright (C) OpenTX - * - * Based on code named - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program 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. - * - */ - -// SE translations author: Kjell Kernen - -/* - * !!!!! DO NOT EDIT se.h - EDIT se.h.txt INSTEAD !!!!!!! - * - * In order to make translations easier se.h.txt is parsed and national - * characters are replaced by bitmap codes. The result is se.h. - * - * See translate.py in the util folder for the list of character codes - * - * !!!!! DO NOT EDIT se.h - EDIT se.h.txt INSTEAD !!!!!!! - */ - -/* - * Formatting octal codes available in TR_ strings: - * \037\x -sets LCD x-coord (x value in octal) - * \036 -newline - * \035 -horizontal tab (ARM only) - * \001 to \034 -extended spacing (value * FW/2) - * \0 -ends current string - */ - - -// NON ZERO TERMINATED STRINGS -#define LEN_OFFON "\003" -#define TR_OFFON "Av ""På\0" - -#define LEN_MMMINV "\003" -#define TR_MMMINV "---""INV" - -#define LEN_NCHANNELS "\004" -#define TR_NCHANNELS "\0014KN\0016KN\0018KN10KN12KN14KN16KN" - -#define LEN_VBEEPMODE "\005" -#define TR_VBEEPMODE "Tyst\0""Alarm""EjKnp""Alla\0" - -#define LEN_VBEEPLEN "\005" -#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" - -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - -#define LEN_VBLMODE TR("\005", "\010") -#define TR_VBLMODE TR("Av\0 ""Knapp""Spak ""Allt ""På\0 ", "Av\0 ""Knappar ""Spakar\0 ""Allt\0 ""På\0 ") - -#define LEN_TRNMODE "\002" -#define TR_TRNMODE "Av""+="":=" - -#define LEN_TRNCHN "\003" -#define TR_TRNCHN "KN1KN2KN3KN4" - -#define LEN_UART3MODES "\022" -#define TR_UART3MODES "Av\0 ""Spegling av S-Port""Telemetri\0 ""SBUS Trainer\0 ""Debug\0" - -#define LEN_SWTYPES "\006" -#define TR_SWTYPES "Ingen\0""Flipp ""2Pos\0 ""3Pos\0" - -#define LEN_POTTYPES "\020" -#define TR_POTTYPES "Ingen\0 ""Mittläges-pot\0 ""Flerlägesväljare""Potentiometer\0" - -#define LEN_SLIDERTYPES "\006" -#define TR_SLIDERTYPES "Ingen\0""Slider" - -#define LEN_DATETIME "\005" -#define TR_DATETIME "DAG: ""TID: " - -#define LEN_VLCD "\006" -#define TR_VLCD "NormalOptrex" - -#define LEN_VPERSISTENT "\014" -#define TR_VPERSISTENT "Av\0 ""Flygning\0 ""Nolla Själv\0" - -#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""CRSF" - -#define LEN_XJT_PROTOCOLS "\004" -#define TR_XJT_PROTOCOLS "Av\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_VDISPLAYTRIMS "\005" -#define TR_VDISPLAYTRIMS "Nej\0 ""Ändra""Ja\0 " - -#define LEN_VBEEPCOUNTDOWN "\007" -#define TR_VBEEPCOUNTDOWN "Tyst\0 Pip\0 Röst\0 Vibrera" - -#define LEN_VVARIOCENTER "\004" -#define TR_VVARIOCENTER "Pip\0""Tyst" - -#define LEN_CURVE_TYPES "\006" -#define TR_CURVE_TYPES "Normal""Egen\0 " - -#define LEN_RETA123 "\001" - -#if defined(PCBFLAMENCO) - #define TR_RETA123 "RHGS123HV" -#elif defined(PCBTARANIS) && defined(REV9E) - #define TR_RETA123 "RHGS1234HVHV" -#elif defined(PCBTARANIS) || defined(REVX) - #define TR_RETA123 "RHGS123HV" -#elif defined(PCBSKY9X) - #define TR_RETA123 "RHGS123a" -#elif defined(CPUM2560) - #define TR_RETA123 "RHGS123ab" -#else - #define TR_RETA123 "RHGS123" -#endif - -#define LEN_VPROTOS "\006" - -#if defined(PXX) - #define TR_PXX "PXX\0 " -#elif defined(DSM2) || defined(IRPROTOS) - #define TR_PXX "[PXX]\0" -#else - #define TR_PXX -#endif - -#if defined(DSM2) - #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " -#elif defined(IRPROTOS) - #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" -#else - #define TR_DSM2 -#endif - -#if defined(IRPROTOS) - #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" -#else - #define TR_IRPROTOS -#endif - -#if defined(CPUARM) - #define TR_XPPM -#else - #define TR_XPPM "PPM16\0""PPMsim" -#endif - -#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS - -#define LEN_POSNEG "\003" -#define TR_POSNEG "Pos""Neg" - -#if defined(PCBSKY9X) && defined(REVX) - #define LEN_VOUTPUT_TYPE "\011" - #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" -#endif - -#define LEN_VCURVEFUNC "\003" -#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" - -#define LEN_VMLTPX "\010" -#define TR_VMLTPX "Addera ""Förstärk""Ersätt " - -#define LEN_VMLTPX2 "\002" -#define TR_VMLTPX2 "+=""*="":=" - -#define LEN_VMIXTRIMS "\003" -#define TR_VMIXTRIMS "Av\0""På\0""Rod""Hjd""Gas""Ske" - -#if defined(PCBTARANIS) - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Seg\0 " - #define TR_CSWRANGE "Vidd\0" - #define TR_CSWSTAY "Kant\0" -#else - #define TR_CSWTIMER "Tim\0 " - #define TR_CSWSTICKY "Seg\0 " - #if defined(CPUARM) - #define TR_CSWRANGE "Vidd\0" - #define TR_CSWSTAY "Kant\0" - #else - #define TR_CSWRANGE - #define TR_CSWSTAY - #endif -#endif - -#if defined(CPUARM) - #define TR_CSWEQUAL "a=x\0 " -#else - #define TR_CSWEQUAL -#endif - -#define LEN_VCSWFUNC "\005" -#if defined(CPUARM) -#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 - #define TR_SF_SAFETY "Säkra \0 " -#elif defined(OVERRIDE_CHANNEL_FUNCTION) - #define TR_SF_SAFETY "Säkra \0 " -#else - #define TR_SF_SAFETY "---\0 " -#endif - -#if defined(PCBTARANIS) - #define TR_SF_SCREENSHOT "Skärmbild" -#else - #define TR_SF_SCREENSHOT -#endif - -#define TR_SF_RESERVE "[reserve]\0" - -#if defined(CPUARM) - #define TR_VFSWFUNC TR_SF_SAFETY "Trainer\0 ""Sätt Trim\0""Nollställ\0""Sätt\0 " TR_ADJUST_GVAR "Volym\0 " "SetFailsfe" "RangeCheck" "ModuleBind" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Belysning\0" TR_SF_SCREENSHOT TR_SF_TEST -#elif defined(PCBGRUVIN9X) - #define TR_VFSWFUNC TR_SF_SAFETY "Trainer \0 ""Sätt Trim\0""Nollställ\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Belysning\0" TR_SF_TEST -#else - #define TR_VFSWFUNC TR_SF_SAFETY "Trainer \0 ""Sätt Trim\0""Nollställ\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Belysning\0" TR_SF_TEST -#endif - -#define LEN_VFSWRESET TR("\004", "\011") - -#if defined(FRSKY) - #define TR_FSW_RESET_TELEM TR("Telm", "Telemetry") -#else - #define TR_FSW_RESET_TELEM -#endif - -#if ROTARY_ENCODERS == 2 - #define TR_FSW_RESET_ROTENC TR("REa\0""REb\0", "RotEnk A\0""RotEnk B\0") -#elif ROTARY_ENCODERS == 1 - #define TR_FSW_RESET_ROTENC TR("R.E.", "RotEnk\0 ") -#else - #define TR_FSW_RESET_ROTENC -#endif - -#if defined(PCBTARANIS) - #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " -#elif defined(CPUARM) - #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" -#else - #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2" -#endif - -#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "Alla\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) - -#define LEN_FUNCSOUNDS TR("\004", "\006") -#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 TR("\004", "\005") - -#if defined(CPUARM) - #define TR_TELEM_RESERVE TR("[--]", "[---]") - #define TR_TELEM_TIME TR("Tid\0", "Tid\0 ") - #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("[NA]", "[NA]\0") - #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") - #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") -#else - #define TR_TELEM_RESERVE - #define TR_TELEM_TIME - #define TR_SWR - #define TR_RX_BATT - #define TR_A3_A4 - #define TR_A3_A4_MIN -#endif - -#define TR_ASPD_MAX TR("ASp+", "ASpd+") - -#if defined(PCBTARANIS) - #define TR_TELEM_RSSI_RX "RSSI\0" -#else - #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") -#endif - -#if defined(CPUARM) - #define TR_TELEM_TIMERS TR("Tmr1""Tmr2""Tmr3", "Tmr1\0""Tmr2\0""Tmr3\0") -#else - #define TR_TELEM_TIMERS TR("Tmr1""Tmr2", "Tmr1\0""Tmr2\0") -#endif - -#if LCD_W >= 212 - #define TR_VTELEMCHNS "---\0 ""Batt\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Tid\0 " -#else - #define TR_VTELEMCHNS "---\0""Batt" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Tid\0" -#endif - -#define LENGTH_UNIT_IMP "fot" -#define SPEED_UNIT_IMP "mph" -#define LENGTH_UNIT_METR "m\0 " -#define SPEED_UNIT_METR "kmh" - -#if defined(CPUARM) - #define LEN_VUNITSSYSTEM TR("\006", "\010") - #define TR_VUNITSSYSTEM TR("Metri.""Imper.", "Metriska""Imperial") - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" -#else - #if defined(IMPERIAL_UNITS) - #define LENGTH_UNIT LENGTH_UNIT_IMP - #define SPEED_UNIT SPEED_UNIT_IMP - #else - #define LENGTH_UNIT LENGTH_UNIT_METR - #define SPEED_UNIT SPEED_UNIT_METR - #endif - #define LEN_VTELEMUNIT "\003" - #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " -#endif - -#define STR_V (STR_VTELEMUNIT+1) -#define STR_A (STR_VTELEMUNIT+4) - -#define LEN_VALARM "\003" -#define TR_VALARM "---""Gul""Ora""Röd" - -#define LEN_VALARMFN "\001" -#define TR_VALARMFN "<>" - -#define LEN_VTELPROTO "\007" -#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHög." - -#if defined(CPUARM) - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") - #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") -#else - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") -#endif - -#define LEN_VARIOSRC "\005" -#if defined(FRSKY_SPORT) - #define TR_VARIOSRC "Vario""A1\0 ""A2\0" -#else - #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" -#endif - -#if defined(CPUARM) - #define LEN_VTELEMSCREENTYPE "\007" - #define TR_VTELEMSCREENTYPE "Inget\0 ""Siffror""Staplar""Script\0" -#else - #define LEN_VTELEMSCREENTYPE "\007" - #define TR_VTELEMSCREENTYPE "Siffror""Staplar" -#endif - -#define LEN_GPSFORMAT "\004" -#define TR_GPSFORMAT "HMS NMEA" - -#define LEN2_VTEMPLATES 13 -#define LEN_VTEMPLATES "\015" -#define TR_VTEMPLATES "Nolla Mixar\0\0""Enkel 4kanal\0""Gasklippning\0""V-Stjärt \0""Deltavinge \0""eCCPM \0""Helikopter \0""Servotest \0" - -#define LEN_VSWASHTYPE "\004" -#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" - -#if defined(PCBHORUS) -#define LEN_VKEYS "\006" -#define TR_VKEYS "Menu\0 ""Exit\0 ""Enter\0""Upp\0 ""Ned\0 ""Höger\0""Vänst" -#elif defined(PCBTARANIS) -#define LEN_VKEYS "\005" -#define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" -#else -#define LEN_VKEYS "\005" -#define TR_VKEYS "Menu\0""Exit\0""Ned\0 ""Upp\0 ""Höger""Vänst" -#endif - -#define LEN_VRENCODERS "\003" -#define TR_VRENCODERS "REa""REb" - -#define LEN_VSWITCHES "\003" -#define LEN_VSRCRAW "\004" - - -#define TR_STICKS_VSRCRAW TR("Rod\0""Hjd\0""Gas\0""Ske\0", "\307Rod""\307Hjd""\307Gas""\307Ske") -#define TR_TRIMS_VSRCRAW TR("TrmR""TrmH""TrmG""TrmS", "\313Rod""\313Hjd""\313Gas""\313Ske") - -#if defined(PCBHORUS) - #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#elif defined(PCBFLAMENCO) - #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " - #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " -#elif defined(PCBTARANIS) && defined(REV9E) - #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" -#elif defined(PCBTARANIS) - #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" -#else - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " - #define TR_SW_VSRCRAW "3Pos" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" -#endif - -#if defined(CPUARM) - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" -#else - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" -#endif - -#define TR_TRIMS_SWITCHES TR("tRv""tRh""tHn""tHu""tGn""tGu""tSv""tSh", "\313Rv""\313Rh""\313Hn""\313Hu""\313Gn""\313Gu""\313Sv""\313Sh") - -#if defined(PCBSKY9X) - #define TR_ROTARY_ENCODERS "REa\0" - #define TR_ROTENC_SWITCHES "REa" -#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) - #define TR_ROTARY_ENCODERS "REa\0""REb\0" - #define TR_ROTENC_SWITCHES "REa""REb" -#else - #define TR_ROTARY_ENCODERS - #define TR_ROTENC_SWITCHES -#endif - - -#if defined(PCBFLAMENCO) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB\301""SC1""SC2""SC3""SC4""SC5""SC6""SE\300""SE\301""SF\300""SF-""SF\301" -#elif !defined(PCBTARANIS) && !defined(PCBHORUS) - #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" -#endif - -#define TR_ON_ONE_SWITCHES "På\0""Ett" - - -#if defined(PCBFLAMENCO) - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "På\0""Ett" -#elif defined(PCBTARANIS) || defined(PCBHORUS) - // only special switches here - #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES -#else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYK1""CYK2""CYK3" -#else - #define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" -#endif - -#if defined(CPUARM) - #define TR_RESERVE_VSRCRAW "[--]" - #define TR_EXTRA_VSRCRAW "Batt""Tid\0" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" -#else - #define TR_EXTRA_VSRCRAW -#endif - -#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "Max\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW - -#define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "Av\0""På\0""GAs""GA%""GAt" - -#define LEN_VTRAINERMODES "\022" -#define TR_VTRAINERMODES "Lärare/Uttag\0 ""Elev./Uttag\0 ""Lärare/SBUS-Modul\0""Lärare/CPPM-Modul\0""Lärare/Batteri\0" - -#define LEN_VFAILSAFE "\011" -#define TR_VFAILSAFE "Ej givet""Lås Servo""Anpassat\0""Pulsfritt""Mottagare" - -#if defined(MAVLINK) - #define LEN_MAVLINK_BAUDS "\006" - #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" - #define LEN_MAVLINK_AC_MODES "\011" - #define TR_MAVLINK_AC_MODES "Stabil ""Akrobat ""Lås Höjd ""Automat ""Guidad ""Hovra ""Flyg Hem ""Cirkla ""Håll Pos.""Landa ""OF Hovra ""Leksak A ""Leksak M ""OGILTIG " - #define LEN_MAVLINK_AP_MODES "\015" - #define TR_MAVLINK_AP_MODES "Manuell ""Cirkla ""Stabilisera ""Övning ""Fly by Wire A""Fly by Wire A""Automatisk ""Flyg Hem ""Hovra ""Guidad ""Initialiserar""OGILTIG " -#endif - -#define LEN_VSENSORTYPES "\010" -#define TR_VSENSORTYPES "Egen\0 ""Beräknad" - -#define LEN_VFORMULAS "\014" -#define TR_VFORMULAS "Addera\0 ""Medelvärde\0 ""Min\0 ""Max\0 ""Multiplicera""Totalsumma\0 ""Cell\0 ""Förbrukning ""Sträcka " - -#define LEN_VPREC "\004" -#define TR_VPREC "0.--""0.0 ""0.00" - -#define LEN_VCELLINDEX "\010" -#define TR_VCELLINDEX "Lägsta\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Högsta\0 ""Skillnad" - -#define LEN_VANTENNATYPES "\010" -#define TR_VANTENNATYPES "Internal""External" - -// ZERO TERMINATED STRINGS -#if defined(COLORLCD) - #define INDENT " " - #define LEN_INDENT 3 - #define INDENT_WIDTH 12 - #define BREAKSPACE "\036" -#else - #define INDENT "\001" - #define LEN_INDENT 1 - #define INDENT_WIDTH (FW/2) - #define BREAKSPACE " " -#endif - -#if defined(PCBTARANIS) || defined(PCBFLAMENCO) || defined(PCBHORUS) - #define TR_ENTER "[ENTER]" -#else - #define TR_ENTER "[MENU]" -#endif - -#define TR_EXIT "[EXIT]" - -#if defined(PCBFLAMENCO) - #define TR_POPUPS TR_EXIT "\010" TR_ENTER -#elif defined(PCBTARANIS) - #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER -#else - #define TR_POPUPS TR_ENTER "\010" TR_EXIT - #define OFS_EXIT sizeof(TR_ENTER) -#endif - -#define TR_MENUWHENDONE CENTER "\011" TR_ENTER " Avslutar " -#define TR_FREE "kvar" -#define TR_DELETEMODEL "Radera Modell" -#define TR_COPYINGMODEL "Kopierar Modell " -#define TR_MOVINGMODEL "Flyttar Modell " -#define TR_LOADINGMODEL "Laddar Modell " -#define TR_NAME "Namn" -#define TR_MODELNAME "Modellnamn" -#define TR_PHASENAME "Lägesnamn " -#define TR_MIXNAME "Mixnamn " -#define TR_INPUTNAME "Inputnamn" -#if defined(PCBTARANIS) - #define TR_EXPONAME "Radnamn" -#else - #define TR_EXPONAME "Exponamn" -#endif -#define TR_BITMAP "Modellikon" -#define TR_TIMER TR("Timer","Timer ") -#define TR_ELIMITS TR("Gränser++","Utökade Gränser") -#define TR_ETRIMS TR("Trimmar++","Utökade Trimmar") -#define TR_TRIMINC TR("Trimning","Trimökning") -#define TR_DISPLAY_TRIMS "Display Trims" -#define TR_TTRACE TR("Följ Gas", INDENT "Följ Gas") -#define TR_TTRIM TR("Gastrim", INDENT "Gastrim") -#define TR_BEEPCTR TR("Cent.pip", "Centerpip") -#define TR_USE_GLOBAL_FUNCS TR("Glob. Funk","Globala Funktioner") -#if defined(PCBSKY9X) && defined(REVX) - #define TR_OUTPUT_TYPE INDENT "Output" -#endif -#define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll") -#if defined(CPUARM) - #define TR_PPMFRAME INDENT "PPM-paket" -#else - #define TR_PPMFRAME "PPM-paket" -#endif -#define TR_MS "ms" -#define TR_SWITCH "Brytare" -#define TR_TRIMS "Trimmar" -#define TR_FADEIN "Tona In" -#define TR_FADEOUT "Tona Ut" -#define TR_DEFAULT "Standard" -#define TR_CHECKTRIMS CENTER "\006Kolla\012Trimmar" -#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) -#define TR_SWASHTYPE "Swashtyp" -#define TR_COLLECTIVE "Kollektiv" -#define TR_AILERON "Skevroder-källa" -#define TR_ELEVATOR "Höjdroder-källa" -#define TR_SWASHRING "Swashring" -#define TR_ELEDIRECTION "HöJD Riktning" -#define TR_AILDIRECTION "SKEV Riktning" -#define TR_COLDIRECTION "PITCH Riktn. " -#define TR_MODE INDENT"Läge" -#define TR_NOFREEEXPO "Expo saknas!" -#define TR_NOFREEMIXER "Mixer saknas!" -#define TR_SOURCE INDENT"Källa" -#define TR_WEIGHT "Vikt" -#define TR_EXPO TR("Expo","Exponentiell") -#define TR_SIDE "Sida" -#define TR_DIFFERENTIAL "Diff." -#define TR_OFFSET INDENT"Offset" -#define TR_TRIM "Trim" -#define TR_DREX "DRex" -#define DREX_CHBOX_OFFSET 30 -#define TR_CURVE "Kurva" -#define TR_FLMODE TR("Läge","Flyglägen") -#define TR_MIXWARNING "Varning" -#define TR_OFF "Av " -#define TR_MULTPX "Multpx" -#define TR_DELAYDOWN "Dröj Ned" -#define TR_DELAYUP "Dröj Upp" -#define TR_SLOWDOWN "Trög Ned" -#define TR_SLOWUP "Trög Upp" -#define TR_MIXER "MIXAR" -#define TR_CV "KU" -#define TR_GV "GV" -#define TR_ACHANNEL "A\004kanal " -#define TR_RANGE INDENT"MinMax" -#define TR_CENTER INDENT "Center" -#define TR_BAR "Data" -#define TR_ALARM INDENT"Alarm" -#define TR_USRDATA "Användardata" -#define TR_BLADES INDENT"Blad" -#define TR_SCREEN "Skärm " -#define TR_SOUND_LABEL "Ljud " -#define TR_LENGTH INDENT"Tid" -#define TR_BEEP_LENGTH INDENT "Pip-längd" -#define TR_SPKRPITCH INDENT "Pip-ton" -#define TR_HAPTIC_LABEL "Vibrator" -#define TR_HAPTICSTRENGTH INDENT"Styrka" -#define TR_CONTRAST "Kontrast" -#define TR_ALARMS_LABEL "Alarm" -#define TR_BATTERY_RANGE "Batteri-MinMax" -#define TR_BATTERYWARNING INDENT"Batteri" -#define TR_INACTIVITYALARM INDENT"Inaktivitet" -#define TR_MEMORYWARNING INDENT"Lite Minne" -#define TR_ALARMWARNING INDENT"Ljud Av" -#define TR_RENAVIG "RotEnk Navig" -#define TR_THROTTLE_LABEL "Gas" -#define TR_THROTTLEREVERSE TR("Inv.Gas", INDENT "Inverterad Gas") -#define TR_TIMER_NAME INDENT "Namn" -#define TR_MINUTEBEEP INDENT "Minutpip" -#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" -#define TR_BLONBRIGHTNESS INDENT "På Ljusstyrka" -#define TR_BLOFFBRIGHTNESS INDENT "Av Ljusstyrka" -#define TR_SPLASHSCREEN "Startbild" -#define TR_BLCOLOR INDENT "Color" -#define TR_THROTTLEWARNING TR("Gasvarning", INDENT "Gasvarning") -#define TR_SWITCHWARNING TR("Bryt.varn.", INDENT "Brytarvarning") -#define TR_POTWARNING TR("Rattvarn.", INDENT "Rattvarning") -#define TR_TIMEZONE TR("Tidszon", "GPS Tidszon") -#define TR_ADJUST_RTC INDENT "Adjust RTC" -#define TR_GPS "GPS" -#define TR_RXCHANNELORD "Kanaler i RX" -#define TR_STICKS "Sticks" -#define TR_POTS "Pots" -#define TR_SWITCHES "Switches" -#define TR_SWITCHES_DELAY "Brytarfördröjning" -#define TR_SLAVE "Elev" -#define TR_MODESRC " Läge\004% Källa" -#define TR_MULTIPLIER "Styrka" -#define TR_CAL "Kalib." -#define TR_VTRIM "Trim- +" -#define TR_BG "BG:" -#if defined(PCBHORUS) - #define TR_MENUTOSTART "Press [Enter] to start" - #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" - #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" -#elif defined(COLORLCD) - #define TR_MENUTOSTART TR_ENTER " Startar " - #define TR_SETMIDPOINT "Centrera Allt" - #define TR_MOVESTICKSPOTS "Rör Spakar/Rattar" -#else - #define TR_MENUTOSTART CENTER "\011" TR_ENTER " Startar " - #define TR_SETMIDPOINT TR(CENTER "\012Centrera Allt",CENTER "\013Centrera Allt") - #define TR_MOVESTICKSPOTS TR(CENTER "\005Rör Spakar/Rattar",CENTER "\006Rör Spakar/Rattar") -#endif -#define TR_RXBATT "Rx Batt:" -#define TR_TXnRX "Tx:\0Rx:" -#define OFS_RX 4 -#define TR_ACCEL "Acc:" -#define TR_NODATA CENTER "DATA SAKNAS" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" -#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" -#define STR_US (STR_TMR1LATMAXUS+13) -#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" - -#if defined(CPUARM) - #define TR_TMIXMAXMS "Tmix max" - #define TR_FREESTACKMINB "Free Stack" -#else - #define TR_TMIXMAXMS "Tmix max\037\124ms" - #define TR_FREESTACKMINB "Free Stack\037\124b" -#endif - -#define TR_MENUTORESET CENTER TR_ENTER " Nollar" -#define TR_PPM_TRAINER "TR" -#define TR_CH "KN" -#define TR_MODEL "Modell" -#define TR_FP "FL" -#define TR_MIX "MIX" -#define TR_EEPROMLOWMEM "Minnesbrist" -#define TR_ALERT "\016OBS" -#define TR_PRESSANYKEYTOSKIP "Tryck ned en knapp" -#define TR_THROTTLENOTIDLE "Gasen är påslagen!" -#define TR_ALARMSDISABLED "Alarmen Avstängda!" -#define TR_PRESSANYKEY "Tryck ned en knapp" -#define TR_BADEEPROMDATA "Minnet kan inte tolkas" -#define TR_BAD_RADIO_DATA "Data från radion kan inte tolkas" -#define TR_EEPROMFORMATTING "Minnet Nollställs" -#define TR_STORAGE_FORMAT "SD-Lagring förbereds" -#define TR_EEPROMOVERFLOW "Minnesfel" -#define TR_MENURADIOSETUP "INSTÄLLNINGAR" -#define TR_MENUDATEANDTIME "DAG OCH TID" -#define TR_MENUTRAINER "TRAINER (PPM IN)" -#define TR_MENUGLOBALFUNCS "GLOBALA FUNKTIONER" -#define TR_MENUVERSION "VERSION" -#define TR_MENUDIAG TR("BRYTARE","TEST AV BRYTARE") -#define TR_MENUANA "ANALOGA VÄRDEN" -#define TR_MENUCALIBRATION "KALIBRERING" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "[Spara Trimvärden]" -#else - #define TR_TRIMS2OFFSETS "\006[Spara Trimvärden]" -#endif -#define TR_MENUMODELSEL TR("MODELL","VÄLJ MODELL") -#define TR_MENUSETUP TR("VÄRDEN","MODELLINSTÄLLNINGAR") -#define TR_MENUFLIGHTPHASE "FLYGLÄGE" -#define TR_MENUFLIGHTPHASES "FLYGLÄGEN" -#define TR_MENUHELISETUP "HELIKOPTER" - -#if defined(VIRTUALINPUTS) - #define TR_MENUINPUTS "INPUT" - #define TR_MENULIMITS "SERVON" -#else - #define TR_MENUINPUTS "SPAKAR" - #define TR_MENULIMITS "SERVON" -#endif - -#define TR_MENUCURVES "KURVOR" -#define TR_MENUCURVE "KURVA" -#define TR_MENULOGICALSWITCH "LOGISK BRYTARE" -#define TR_MENULOGICALSWITCHES "LOGISKA BRYTARE" -#define TR_MENUCUSTOMFUNC "BRYTARFUNKTIONER" -#define TR_MENUCUSTOMSCRIPTS "SPECIALKOD" -#define TR_MENUTELEMETRY "TELEMETRI" -#define TR_MENUTEMPLATES "MALLAR" -#define TR_MENUSTAT "STATISTIK" -#define TR_MENUDEBUG "DEBUG" -#if defined(CPUARM) - #define TR_RXNUM TR(INDENT "RxNum", INDENT "Mottagare Nr.") -#else - #define TR_RXNUM "RxNum" -#endif -#define TR_SYNCMENU "Synk [MENU]" -#define TR_LIMIT INDENT "Nivå" -#define TR_MINRSSI "Min Rssi" -#define TR_LATITUDE "Breddgrad" -#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_POWEROFF "\027Stänger Av..." -#define TR_SHUTDOWN "STÄNGER AV" -#define TR_SAVEMODEL "Spara modellinställn." -#define TR_BATT_CALIB "Kalib. Batteri" -#define TR_CURRENT_CALIB "Kalib. Ström" -#define TR_VOLTAGE INDENT"Volt" -#define TR_CURRENT INDENT"Ampere" -#define TR_SELECT_MODEL "Välj Modell" -#define TR_CREATE_CATEGORY "Skapa Kategori" -#define TR_RENAME_CATEGORY "Byt Kat.namn" -#define TR_DELETE_CATEGORY "Ta Bort Kategori" -#define TR_CREATE_MODEL "Skapa Modell" -#define TR_DUPLICATE_MODEL "Dupl. Modell" -#define TR_CHANGE_CATEGORY "Change category" -#define TR_COPY_MODEL "Kopiera Modell" -#define TR_MOVE_MODEL "Flytta Modell" -#define TR_BACKUP_MODEL "Modell-backup" -#define TR_DELETE_MODEL "Ta Bort Modell" -#define TR_RESTORE_MODEL "Återställ Modell" -#define TR_SDCARD_ERROR "SDCARD-fel" -#define TR_NO_SDCARD "SDCARD saknas" -#define TR_SDCARD_FULL "SD-kort Fullt" -#define TR_INCOMPATIBLE "Inkompatibel" -#define TR_WARNING "VARNING" -#define TR_EEPROMWARN "EEPROM" -#define TR_STORAGE_WARNING "LAGRING" -#define TR_EEPROM_CONVERTING "EEPROM Konvertering" -#define TR_THROTTLEWARN "GAS" -#define TR_ALARMSWARN "ALARM" -#define TR_SWITCHWARN "BRYTARE" -#define TR_FAILSAFEWARN "FAILSAFE" -#define TR_NO_FAILSAFE "Failsafe ej given" -#define TR_KEYSTUCK "Knapp-fel" -#define TR_INVERT_THR TR("Invert.Gas?", "Invertera Gasen?") -#define TR_SPEAKER_VOLUME INDENT "Volym" -#define TR_LCD "LCD" -#define TR_BRIGHTNESS INDENT "Ljusstyrka" -#define TR_CPU_TEMP "CPU temp.\016>" -#define TR_CPU_CURRENT "Ström\022>" -#define TR_CPU_MAH "Förbrukn." -#define TR_COPROC "CoProc." -#define TR_COPROC_TEMP "MB temp. \016>" -#define TR_CAPAWARNING INDENT "Låg Kapacitet" -#define TR_TEMPWARNING TR(INDENT "Hög Temp ", INDENT "Hög Temperatur") -#define TR_FUNC "Funk" -#define TR_V1 "V1" -#define TR_V2 "V2" -#define TR_DURATION "Tidlängd" -#define TR_DELAY "Fördröj" -#define TR_SD_CARD "SD-kort" -#define TR_SDHC_CARD "SD/HC-kort" -#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 "Programkod saknas på SD" -#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" -#define TR_SCRIPT_PANIC "Script panic" -#define TR_SCRIPT_KILLED "Script killed" -#define TR_SCRIPT_ERROR "Unknown error" -#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" -#define TR_NA "N/A" -#define TR_HARDWARE "Hårdvara" -#define TR_FORMATTING "Formaterar..." -#define TR_TEMP_CALIB "Temp. kalib." -#define TR_TIME "Tid " -#define TR_BAUDRATE "BT Baudrate" -#define TR_SD_INFO_TITLE "SD INFO" -#define TR_SD_TYPE "Typ: " -#define TR_SD_SPEED "Hastighet:" -#define TR_SD_SECTORS "Sektorer:" -#define TR_SD_SIZE "Strl:" -#define TR_TYPE INDENT "Typ " -#define TR_GLOBAL_VARS "Globala Variabler" -#define TR_GVARS "GLOBAL V." -#define TR_GLOBAL_VAR "Global Variabel" -#define TR_MENUGLOBALVARS "GLOBALA VARIABLER" -#define TR_OWN "Egen" -#define TR_DATE "Datum" -#define TR_ROTARY_ENCODER "R.Enks" -#define TR_CHANNELS_MONITOR "Kanalöversikt" -#define TR_MIXERS_MONITOR "MIXER-SKÄRM" -#define TR_PATH_TOO_LONG "För lång sökväg" -#define TR_VIEW_TEXT "Visa Text" -#define TR_FLASH_BOOTLOADER "Skriv BootLoader" -#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device" -#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module" -#define TR_WRITING "\032Skriver..." -#define TR_CONFIRM_FORMAT "Formatera Minnet?" -#define TR_INTERNALRF "Intern Radio" -#define TR_EXTERNALRF "Extern Radiomodul" -#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafeläge") -#define TR_FAILSAFESET "FailsafeInställning" -#define TR_MENUSENSOR "SENSOR" -#define TR_SENSOR "SENSOR" -#define TR_COUNTRYCODE "Landskod" -#define TR_VOICELANG "Röstspråk" -#define TR_UNITSSYSTEM "Enheter" -#define TR_EDIT "Redigera" -#define TR_INSERT_BEFORE "Addera Före" -#define TR_INSERT_AFTER "Addera Efter" -#define TR_COPY "Kopiera" -#define TR_MOVE "Flytta" -#define TR_PASTE "Infoga" -#define TR_DELETE "Radera" -#define TR_INSERT "Addera" -#define TR_RESET_FLIGHT "Nollställ Flygning" -#define TR_RESET_TIMER1 "Nollställ Timer1" -#define TR_RESET_TIMER2 "Nollställ Timer2" -#define TR_RESET_TIMER3 "Nollställ Timer3" -#define TR_RESET_TELEMETRY "Nollställ Telemetri" -#define TR_STATISTICS "Statistik" -#define TR_ABOUT_US "Om Oss" -#define TR_SETUP_SCREENS "Setup screens" -#define TR_AND_SWITCH "OCH Brytare" -#define TR_SF "BF" -#define TR_GF "GF" -#define TR_SPEAKER INDENT"Högtalare" -#define TR_BUZZER INDENT"Summer" -#define TR_BYTES "byte" -#define TR_MODULE_BIND TR("[Bnd]", "[Bind]") -#define TR_MODULE_RANGE TR("[Tst]", "[Testa]") -#define TR_RESET_BTN "[Nollställ]" -#define TR_SET "[Spara]" -#define TR_TRAINER "Trainer" -#define TR_ANTENNAPROBLEM CENTER "Fel på TX-antennen" -#define TR_MODELIDUSED TR("ID finns redan","ModellID används redan") -#define TR_MODULE INDENT "Modul" -#define TR_TELEMETRY_TYPE "Telemetrityp" -#define TR_TELEMETRY_SENSORS "Sensorer" -#define TR_VALUE "Värde" -#define TR_TOPLCDTIMER "Top LCD Timer" -#define TR_UNIT "Enhet" -#define TR_TELEMETRY_NEWSENSOR INDENT "Lägg till sensor..." -#define TR_CHANNELRANGE INDENT "Kanalområde" -#define TR_ANTENNASELECTION INDENT "Antenna selection" -#define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" -#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_POPUP "Popup" -#define TR_MIN "Min" -#define TR_MAX "Max" -#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_RESET_SUBMENU "Nollställ..." -#define TR_COUNT "Antal" -#define TR_PT "pt" -#define TR_PTS "pkt" -#define TR_SMOOTH "Mjuk" -#define TR_COPY_STICKS_TO_OFS "Spara spakar som subtrim" -#define TR_COPY_TRIMS_TO_OFS "Spara trimmar som subtrim" -#define TR_INCDEC "Inkr/Dekrement" -#define TR_GLOBALVAR "Globala Var" -#define TR_MIXSOURCE "Mixer Källa" -#define TR_CONSTANT "Konstant" -#define TR_PERSISTENT_MAH INDENT "Lagra mAh" -#define TR_PREFLIGHT "Startkontroller" -#define TR_CHECKLIST TR(INDENT "Checklista", INDENT "Visa Checklista") -#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") -#define TR_UART3MODE "Serieporten" -#define TR_SCRIPT "Programkod" -#define TR_INPUTS "Input" -#define TR_OUTPUTS "Outputs" -#define TR_EEBACKUP "\004[ENTER Lång] säkerhetskopiera EEPROM" -#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" -#define TR_CONFIRMRESET "Erase ALL models and settings?" -#define TR_TO_MANY_LUA_SCRIPTS "För många Lua-scripts!" - -#if defined(MAVLINK) - #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" - #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" - #define TR_MAVMENUSETUP_TITLE "MAVLINKINSTÄLLNINGAR" - #define TR_MAVLINK_BAUD_LABEL "Baudrate" - #define TR_MAVLINK_INFOS "INFOS" - #define TR_MAVLINK_MODE "LÄGE" - #define TR_MAVLINK_CUR_MODE "Nuvarande Läge" - #define TR_MAVLINK_ARMED "Osäkrad" - #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" - #define TR_MAVLINK_BATTERY_LABEL "Status för flygbatteri" - #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" - #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" - #define TR_MAVLINK_NAV_MENU_TITLE "NAV" - #define TR_MAVLINK_COURSE "Kurs" - #define TR_MAVLINK_HEADING "Riktning" - #define TR_MAVLINK_BEARING "Bäring" - #define TR_MAVLINK_ALTITUDE "Höjd" - #define TR_MAVLINK_GPS "GPS" - #define TR_MAVLINK_NO_FIX "EJ Lås" - #define TR_MAVLINK_SAT "SAT" - #define TR_MAVLINK_HDOP "HDOP" - #define TR_MAVLINK_LAT "LAT" - #define TR_MAVLINK_LON "LON" -#endif - -// Taranis column headers -#define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Rodertrim ", " Höjdrodertrim ", " Gastrim ", " Skevrodertrim ", " Tona Upp ", " Tona Ned " } -#define TR_LIMITS_HEADERS { " Namn ", " Subtrim ", " Min ", " Max ", " Riktning ", " Kurva ", " PPM-center ", " Subtrim-läge " } -#define TR_CSW_HEADERS { " Funktion ", " V1 ", " V2 ", " V2 ", " OCH Brytare ", " Tidslängd ", " Fördröj " } -// About screen -#define TR_ABOUTUS "Om Oss" - -#define TR_ABOUT_OPENTX_1 "OpenTX är icke-kommersiell," -#define TR_ABOUT_OPENTX_2 "öppen programvara utan" -#define TR_ABOUT_OPENTX_3 "garantier som uvecklas helt" -#define TR_ABOUT_OPENTX_4 "ideellt. Stöd i form av" -#define TR_ABOUT_OPENTX_5 "donationer välkomnas!" - -#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" -#define TR_ABOUT_BERTRAND_2 "Chefsutvecklare av OpenTX" -#define TR_ABOUT_BERTRAND_3 "Hjälputvecklare av Companion9x" - -#define TR_ABOUT_MIKE_1 "Mike Blandford" -#define TR_ABOUT_MIKE_2 "Kod och drivrutins-guru" -#define TR_ABOUT_MIKE_3 "Stor inspirationskälla" -#define TR_ABOUT_MIKE_4 "" - -#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" -#define TR_ABOUT_ROMOLO_2 "Chefsutvecklare av Companion9x" -#define TR_ABOUT_ROMOLO_3 "" - -#define TR_ABOUT_ANDRE_1 "Andre Bernet" -#define TR_ABOUT_ANDRE_2 "Funktionalitet, Användbarhet," -#define TR_ABOUT_ANDRE_3 "Felsökning, Dokumentation" - -#define TR_ABOUT_ROB_1 "Rob Thomson" -#define TR_ABOUT_ROB_2 "Webmaster för openRCforums" - -#define TR_ABOUT_KJELL_1 "Kjell Kernen" -#define TR_ABOUT_KJELL_2 "Utvecklare av www.open-tx.org" -#define TR_ABOUT_KJELL_3 "Utvecklare av OpenTX Recorder" -#define TR_ABOUT_KJELL_4 "Hjälputvecklare av Companion" - -#define TR_ABOUT_MARTIN_1 "Martin Hotar" -#define TR_ABOUT_MARTIN_2 "Grafikdesigner" - -#if defined(PCBFLAMENCO) - #define TR_ABOUT_HARDWARE_1 "XXX" - #define TR_ABOUT_HARDWARE_2 "Hardware designer/producer" - #define TR_ABOUT_HARDWARE_3 "" -#elif defined(PCBTARANIS) || defined(PCBHORUS) - #define TR_ABOUT_HARDWARE_1 "FrSky" - #define TR_ABOUT_HARDWARE_2 "Hårdvarudesign/producent" - #define TR_ABOUT_HARDWARE_3 "" -#else - #define TR_ABOUT_HARDWARE_1 "Brent Nelson" - #define TR_ABOUT_HARDWARE_2 "Sky9x design/producent" - #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)" -#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" - -#define TR_CHR_SHORT 's' -#define TR_CHR_LONG 'l' -#define TR_CHR_TOGGLE 't' -#define TR_CHR_HOUR 'h' -#define TR_CHR_INPUT 'I' // Values between A-I will work - -#define TR_BEEP_VOLUME "Volym Pip" -#define TR_WAV_VOLUME "Volym Wav" -#define TR_VARIO_VOLUME "Volym Vario" -#define TR_BG_VOLUME "Volym Bg" - -#define TR_TOP_BAR "Titelraden" -#define TR_ALTITUDE INDENT "Höjd" -#define TR_SCALE "Skala" -#define TR_VIEW_CHANNELS "Visa Kanaler" -#define TR_VIEW_NOTES "Visa Noteringars" -#define TR_MODEL_SELECT "Välj Modell" -#define TR_MODS_FORBIDDEN "Modifikationer förbjudna!" -#define TR_UNLOCKED "Olåst" -#define TR_ID "ID" -#define TR_PRECISION "Precision" -#define TR_RATIO "Ratio" -#define TR_FORMULA "Formel" -#define TR_CELLINDEX "Cell index" -#define TR_LOGS "Logga" -#define TR_OPTIONS "Options" - -#define TR_ALTSENSOR "Höjdsensor" -#define TR_CELLSENSOR "Cell sensor" -#define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Sensor" -#define TR_AUTOOFFSET "Auto Offset" -#define TR_ONLYPOSITIVE "Positiv" -#define TR_FILTER "Filter" -#define TR_TELEMETRYFULL "Alla telemetriplatser upptagna!" -//TODO: translation -#define TR_INVERTED_SERIAL INDENT "Invert" -#define TR_IGNORE_INSTANCE TR(INDENT "Inst.fel", INDENT "Hantera Instansfel") -#define TR_DISCOVER_SENSORS INDENT "Sök nya sensorer" -#define TR_STOP_DISCOVER_SENSORS INDENT "Avbryt sökning" -#define TR_DELETE_ALL_SENSORS INDENT "Ta bort alla sensorer" -#define TR_CONFIRMDELETE "Ta bort alla?" -#define TR_SELECT_WIDGET "Select widget" -#define TR_REMOVE_WIDGET "Remove widget" -#define TR_WIDGET_SETTINGS "Widget settings" -#define TR_REMOVE_SCREEN "Remove screen" - -#define TR_MENU_INPUTS "\314Inputs" -#define TR_MENU_LUA "\322Lua scripts" -#define TR_MENU_STICKS "\307Spakars" -#define TR_MENU_POTS "\310Rattar" -#define TR_MENU_MAX "\315MAX" -#define TR_MENU_HELI "\316Cyclic" -#define TR_MENU_TRIMS "\313Trimm" -#define TR_MENU_SWITCHES "\312Brytare" -#define TR_MENU_LOGICAL_SWITCHES "\312Logiska Brytare" -#define TR_MENU_TRAINER "\317Trainer" -#define TR_MENU_CHANNELS "\320Servon" -#define TR_MENU_GVARS "\311GVars" -#define TR_MENU_TELEMETRY "\321Telemetri" -#define TR_MENU_OTHER "Annat" -#define TR_MENU_INVERT "Invertera" - -#define ZSTR_RSSI "RSSI" -#define ZSTR_SWR "SWR" -#define ZSTR_A1 "A1" -#define ZSTR_A2 "A2" -#define ZSTR_A3 "A3" -#define ZSTR_A4 "A4" -#define ZSTR_BATT "RxBt" -#define ZSTR_ALT "Alt" -#define ZSTR_TEMP1 "Tmp1" -#define ZSTR_TEMP2 "Tmp2" -#define ZSTR_RPM "RPM" -#define ZSTR_FUEL "Fuel" -#define ZSTR_VSPD "VSpd" -#define ZSTR_ACCX "AccX" -#define ZSTR_ACCY "AccY" -#define ZSTR_ACCZ "AccZ" -#define ZSTR_CURR "Curr" -#define ZSTR_VFAS "VFAS" -#define ZSTR_ASPD "ASpd" -#define ZSTR_GSPD "GSpd" -#define ZSTR_HDG "Hdg" -#define ZSTR_CELLS "Cels" -#define ZSTR_GPSALT "GAlt" -#define ZSTR_GPSDATETIME "Date" -#define ZSTR_GPS "GPS" -#define ZSTR_BATT1_VOLTAGE "RB1V" -#define ZSTR_BATT2_VOLTAGE "RB2V" -#define ZSTR_BATT1_CURRENT "RB1A" -#define ZSTR_BATT2_CURRENT "RB2A" -#define ZSTR_BATT1_CONSUMPTION "RB1C" -#define ZSTR_BATT2_CONSUMPTION "RB2C" -#define ZSTR_RB_STATE "RBS" -#define ZSTR_CHANS_STATE "RBCS" -#define ZSTR_RX_RSSI1 "1RSS" -#define ZSTR_RX_RSSI2 "2RSS" -#define ZSTR_RX_QUALITY "RQly" -#define ZSTR_RX_SNR "RSNR" -#define ZSTR_ANTENNA "ANT" -#define ZSTR_RF_MODE "RFMD" -#define ZSTR_TX_POWER "TPWR" -#define ZSTR_TX_RSSI "TRSS" -#define ZSTR_TX_QUALITY "TQly" +/* + * Copyright (C) OpenTX + * + * Based on code named + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +// SE translations author: Kjell Kernen + +/* + * !!!!! DO NOT EDIT se.h - EDIT se.h.txt INSTEAD !!!!!!! + * + * In order to make translations easier se.h.txt is parsed and national + * characters are replaced by bitmap codes. The result is se.h. + * + * See translate.py in the util folder for the list of character codes + * + * !!!!! DO NOT EDIT se.h - EDIT se.h.txt INSTEAD !!!!!!! + */ + +/* + * Formatting octal codes available in TR_ strings: + * \037\x -sets LCD x-coord (x value in octal) + * \036 -newline + * \035 -horizontal tab (ARM only) + * \001 to \034 -extended spacing (value * FW/2) + * \0 -ends current string + */ + + +// NON ZERO TERMINATED STRINGS +#define LEN_OFFON "\003" +#define TR_OFFON "Av ""På\0" + +#define LEN_MMMINV "\003" +#define TR_MMMINV "---""INV" + +#define LEN_NCHANNELS "\004" +#define TR_NCHANNELS "\0014KN\0016KN\0018KN10KN12KN14KN16KN" + +#define LEN_VBEEPMODE "\005" +#define TR_VBEEPMODE "Tyst\0""Alarm""EjKnp""Alla\0" + +#define LEN_VBEEPLEN "\005" +#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" + +#define LEN_VRENAVIG "\003" +#define TR_VRENAVIG "No REaREb" + +#define LEN_VBLMODE TR("\005", "\010") +#define TR_VBLMODE TR("Av\0 ""Knapp""Spak ""Allt ""På\0 ", "Av\0 ""Knappar ""Spakar\0 ""Allt\0 ""På\0 ") + +#define LEN_TRNMODE "\002" +#define TR_TRNMODE "Av""+="":=" + +#define LEN_TRNCHN "\003" +#define TR_TRNCHN "KN1KN2KN3KN4" + +#define LEN_UART3MODES "\022" +#define TR_UART3MODES "Av\0 ""Spegling av S-Port""Telemetri\0 ""SBUS Trainer\0 ""Debug\0" + +#define LEN_SWTYPES "\006" +#define TR_SWTYPES "Ingen\0""Flipp ""2Pos\0 ""3Pos\0" + +#define LEN_POTTYPES "\020" +#define TR_POTTYPES "Ingen\0 ""Mittläges-pot\0 ""Flerlägesväljare""Potentiometer\0" + +#define LEN_SLIDERTYPES "\006" +#define TR_SLIDERTYPES "Ingen\0""Slider" + +#define LEN_DATETIME "\005" +#define TR_DATETIME "DAG: ""TID: " + +#define LEN_VLCD "\006" +#define TR_VLCD "NormalOptrex" + +#define LEN_VPERSISTENT "\014" +#define TR_VPERSISTENT "Av\0 ""Flygning\0 ""Nolla Själv\0" + +#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""CRSF""MULT" + +#define LEN_XJT_PROTOCOLS "\004" +#define TR_XJT_PROTOCOLS "Av\0 ""D16\0""D8\0 ""LR12" + +#define LEN_DSM_PROTOCOLS "\004" +#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" + +#define LEN_MULTI_PROTOCOLS "\006" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""Custom" + +#define LEN_SUBTYPE_FLYSKY "\004" +#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" + +// SUBTYPE FOR FRSKY use TR_XJT_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_HISKY "\005" +#define TR_SUBTYPE_HISKY "HiSky""HK310" + +// SUBTYPE FOR DSMX use TR_DSM_PROTOCOLS with offset +1 + +#define LEN_SUBTYPE_YD717 "\007" +#define TR_SUBTYPE_YD717 "YD717\0 ""SKYWLKR""SYMAX2\0""XINXUN\0""NIHUI\0 " + +#define LEN_SUBTYPE_SYMAX "\003" +#define TR_SUBTYPE_SYMAX "Std""5c\0" + +#define LEN_SUBTYPE_CX10 "\007" +#define TR_SUBTYPE_CX10 "Green\0 ""Blue\0 ""DM007\0 ""Q282\0 ""JC3015a""JC3015b""MK33041""Q242\0 " + +#define LEN_SUBTYPE_CG023 "\005" +#define TR_SUBTYPE_CG023 "CG023""YD829""H3 3d" + +#define LEN_SUBTYPE_KN "\006" +#define TR_SUBTYPE_KN "WLtoys""FeiLun" + +#define LEN_SUBTYPE_MT99 "\004" +#define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 " + +#define LEN_SUBTYPE_MJXQ "\005" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" + +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + +#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_VDISPLAYTRIMS "\005" +#define TR_VDISPLAYTRIMS "Nej\0 ""Ändra""Ja\0 " + +#define LEN_VBEEPCOUNTDOWN "\007" +#define TR_VBEEPCOUNTDOWN "Tyst\0 Pip\0 Röst\0 Vibrera" + +#define LEN_VVARIOCENTER "\004" +#define TR_VVARIOCENTER "Pip\0""Tyst" + +#define LEN_CURVE_TYPES "\006" +#define TR_CURVE_TYPES "Normal""Egen\0 " + +#define LEN_RETA123 "\001" + +#if defined(PCBFLAMENCO) + #define TR_RETA123 "RHGS123HV" +#elif defined(PCBTARANIS) && defined(REV9E) + #define TR_RETA123 "RHGS1234HVHV" +#elif defined(PCBTARANIS) || defined(REVX) + #define TR_RETA123 "RHGS123HV" +#elif defined(PCBSKY9X) + #define TR_RETA123 "RHGS123a" +#elif defined(CPUM2560) + #define TR_RETA123 "RHGS123ab" +#else + #define TR_RETA123 "RHGS123" +#endif + +#define LEN_VPROTOS "\006" + +#if defined(PXX) + #define TR_PXX "PXX\0 " +#elif defined(DSM2) || defined(IRPROTOS) + #define TR_PXX "[PXX]\0" +#else + #define TR_PXX +#endif + +#if defined(DSM2) + #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " +#elif defined(IRPROTOS) + #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" +#else + #define TR_DSM2 +#endif + +#if defined(IRPROTOS) + #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" +#else + #define TR_IRPROTOS +#endif + +#if defined(CPUARM) + #define TR_XPPM +#else + #define TR_XPPM "PPM16\0""PPMsim" +#endif + +#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS + +#define LEN_POSNEG "\003" +#define TR_POSNEG "Pos""Neg" + +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + +#define LEN_VCURVEFUNC "\003" +#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" + +#define LEN_VMLTPX "\010" +#define TR_VMLTPX "Addera ""Förstärk""Ersätt " + +#define LEN_VMLTPX2 "\002" +#define TR_VMLTPX2 "+=""*="":=" + +#define LEN_VMIXTRIMS "\003" +#define TR_VMIXTRIMS "Av\0""På\0""Rod""Hjd""Gas""Ske" + +#if defined(PCBTARANIS) + #define TR_CSWTIMER "Timer" + #define TR_CSWSTICKY "Seg\0 " + #define TR_CSWRANGE "Vidd\0" + #define TR_CSWSTAY "Kant\0" +#else + #define TR_CSWTIMER "Tim\0 " + #define TR_CSWSTICKY "Seg\0 " + #if defined(CPUARM) + #define TR_CSWRANGE "Vidd\0" + #define TR_CSWSTAY "Kant\0" + #else + #define TR_CSWRANGE + #define TR_CSWSTAY + #endif +#endif + +#if defined(CPUARM) + #define TR_CSWEQUAL "a=x\0 " +#else + #define TR_CSWEQUAL +#endif + +#define LEN_VCSWFUNC "\005" +#if defined(CPUARM) +#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a~x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a= 212 + #define TR_SF_SAFETY "Säkra \0 " +#elif defined(OVERRIDE_CHANNEL_FUNCTION) + #define TR_SF_SAFETY "Säkra \0 " +#else + #define TR_SF_SAFETY "---\0 " +#endif + +#if defined(PCBTARANIS) + #define TR_SF_SCREENSHOT "Skärmbild" +#else + #define TR_SF_SCREENSHOT +#endif + +#define TR_SF_RESERVE "[reserve]\0" + +#if defined(CPUARM) + #define TR_VFSWFUNC TR_SF_SAFETY "Trainer\0 ""Sätt Trim\0""Nollställ\0""Sätt\0 " TR_ADJUST_GVAR "Volym\0 " "SetFailsfe" "RangeCheck" "ModuleBind" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Belysning\0" TR_SF_SCREENSHOT TR_SF_TEST +#elif defined(PCBGRUVIN9X) + #define TR_VFSWFUNC TR_SF_SAFETY "Trainer \0 ""Sätt Trim\0""Nollställ\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Belysning\0" TR_SF_TEST +#else + #define TR_VFSWFUNC TR_SF_SAFETY "Trainer \0 ""Sätt Trim\0""Nollställ\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Belysning\0" TR_SF_TEST +#endif + +#define LEN_VFSWRESET TR("\004", "\011") + +#if defined(FRSKY) + #define TR_FSW_RESET_TELEM TR("Telm", "Telemetry") +#else + #define TR_FSW_RESET_TELEM +#endif + +#if ROTARY_ENCODERS == 2 + #define TR_FSW_RESET_ROTENC TR("REa\0""REb\0", "RotEnk A\0""RotEnk B\0") +#elif ROTARY_ENCODERS == 1 + #define TR_FSW_RESET_ROTENC TR("R.E.", "RotEnk\0 ") +#else + #define TR_FSW_RESET_ROTENC +#endif + +#if defined(PCBTARANIS) + #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " +#elif defined(CPUARM) + #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" +#else + #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2" +#endif + +#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "Alla\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) + +#define LEN_FUNCSOUNDS TR("\004", "\006") +#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 TR("\004", "\005") + +#if defined(CPUARM) + #define TR_TELEM_RESERVE TR("[--]", "[---]") + #define TR_TELEM_TIME TR("Tid\0", "Tid\0 ") + #define TR_SWR TR("SWR\0", "SWR\0 ") + #define TR_RX_BATT TR("[NA]", "[NA]\0") + #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") + #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") +#else + #define TR_TELEM_RESERVE + #define TR_TELEM_TIME + #define TR_SWR + #define TR_RX_BATT + #define TR_A3_A4 + #define TR_A3_A4_MIN +#endif + +#define TR_ASPD_MAX TR("ASp+", "ASpd+") + +#if defined(PCBTARANIS) + #define TR_TELEM_RSSI_RX "RSSI\0" +#else + #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") +#endif + +#if defined(CPUARM) + #define TR_TELEM_TIMERS TR("Tmr1""Tmr2""Tmr3", "Tmr1\0""Tmr2\0""Tmr3\0") +#else + #define TR_TELEM_TIMERS TR("Tmr1""Tmr2", "Tmr1\0""Tmr2\0") +#endif + +#if LCD_W >= 212 + #define TR_VTELEMCHNS "---\0 ""Batt\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""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-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Tid\0 " +#else + #define TR_VTELEMCHNS "---\0""Batt" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS 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+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Tid\0" +#endif + +#define LENGTH_UNIT_IMP "fot" +#define SPEED_UNIT_IMP "mph" +#define LENGTH_UNIT_METR "m\0 " +#define SPEED_UNIT_METR "kmh" + +#if defined(CPUARM) + #define LEN_VUNITSSYSTEM TR("\006", "\010") + #define TR_VUNITSSYSTEM TR("Metri.""Imper.", "Metriska""Imperial") + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""ml\0""fOz" +#else + #if defined(IMPERIAL_UNITS) + #define LENGTH_UNIT LENGTH_UNIT_IMP + #define SPEED_UNIT SPEED_UNIT_IMP + #else + #define LENGTH_UNIT LENGTH_UNIT_METR + #define SPEED_UNIT SPEED_UNIT_METR + #endif + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " +#endif + +#define STR_V (STR_VTELEMUNIT+1) +#define STR_A (STR_VTELEMUNIT+4) + +#define LEN_VALARM "\003" +#define TR_VALARM "---""Gul""Ora""Röd" + +#define LEN_VALARMFN "\001" +#define TR_VALARMFN "<>" + +#define LEN_VTELPROTO "\007" +#define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHög." + +#if defined(CPUARM) + #define LEN_AMPSRC TR("\003", "\007") + #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define LEN_VOLTSRC TR("\003", "\007") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") +#else + #define LEN_AMPSRC TR("\003", "\007") + #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") +#endif + +#define LEN_VARIOSRC "\005" +#if defined(FRSKY_SPORT) + #define TR_VARIOSRC "Vario""A1\0 ""A2\0" +#else + #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" +#endif + +#if defined(CPUARM) + #define LEN_VTELEMSCREENTYPE "\007" + #define TR_VTELEMSCREENTYPE "Inget\0 ""Siffror""Staplar""Script\0" +#else + #define LEN_VTELEMSCREENTYPE "\007" + #define TR_VTELEMSCREENTYPE "Siffror""Staplar" +#endif + +#define LEN_GPSFORMAT "\004" +#define TR_GPSFORMAT "HMS NMEA" + +#define LEN2_VTEMPLATES 13 +#define LEN_VTEMPLATES "\015" +#define TR_VTEMPLATES "Nolla Mixar\0\0""Enkel 4kanal\0""Gasklippning\0""V-Stjärt \0""Deltavinge \0""eCCPM \0""Helikopter \0""Servotest \0" + +#define LEN_VSWASHTYPE "\004" +#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" + +#if defined(PCBHORUS) +#define LEN_VKEYS "\006" +#define TR_VKEYS "Menu\0 ""Exit\0 ""Enter\0""Upp\0 ""Ned\0 ""Höger\0""Vänst" +#elif defined(PCBTARANIS) +#define LEN_VKEYS "\005" +#define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" +#else +#define LEN_VKEYS "\005" +#define TR_VKEYS "Menu\0""Exit\0""Ned\0 ""Upp\0 ""Höger""Vänst" +#endif + +#define LEN_VRENCODERS "\003" +#define TR_VRENCODERS "REa""REb" + +#define LEN_VSWITCHES "\003" +#define LEN_VSRCRAW "\004" + + +#define TR_STICKS_VSRCRAW TR("Rod\0""Hjd\0""Gas\0""Ske\0", "\307Rod""\307Hjd""\307Gas""\307Ske") +#define TR_TRIMS_VSRCRAW TR("TrmR""TrmH""TrmG""TrmS", "\313Rod""\313Hjd""\313Gas""\313Ske") + +#if defined(PCBHORUS) + #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#elif defined(PCBFLAMENCO) + #define TR_POTS_VSRCRAW "SD\0 ""LS\0 ""RS\0 " + #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SE\0 ""SF\0 " +#elif defined(PCBTARANIS) && defined(REV9E) + #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" +#elif defined(PCBTARANIS) + #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" +#else + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " + #define TR_SW_VSRCRAW "3Pos" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" +#endif + +#if defined(CPUARM) + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" +#else + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" +#endif + +#define TR_TRIMS_SWITCHES TR("tRv""tRh""tHn""tHu""tGn""tGu""tSv""tSh", "\313Rv""\313Rh""\313Hn""\313Hu""\313Gn""\313Gu""\313Sv""\313Sh") + +#if defined(PCBSKY9X) + #define TR_ROTARY_ENCODERS "REa\0" + #define TR_ROTENC_SWITCHES "REa" +#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560) + #define TR_ROTARY_ENCODERS "REa\0""REb\0" + #define TR_ROTENC_SWITCHES "REa""REb" +#else + #define TR_ROTARY_ENCODERS + #define TR_ROTENC_SWITCHES +#endif + + +#if defined(PCBFLAMENCO) + #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB\301""SC1""SC2""SC3""SC4""SC5""SC6""SE\300""SE\301""SF\300""SF-""SF\301" +#elif !defined(PCBTARANIS) && !defined(PCBHORUS) + #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" +#endif + +#define TR_ON_ONE_SWITCHES "På\0""Ett" + + +#if defined(PCBFLAMENCO) + #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "På\0""Ett" +#elif defined(PCBTARANIS) || defined(PCBHORUS) + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES +#else + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES +#endif + +#if defined(HELI) + #define TR_CYC_VSRCRAW "CYK1""CYK2""CYK3" +#else + #define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" +#endif + +#if defined(CPUARM) + #define TR_RESERVE_VSRCRAW "[--]" + #define TR_EXTRA_VSRCRAW "Batt""Tid\0" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" +#else + #define TR_EXTRA_VSRCRAW +#endif + +#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "Max\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW + +#define LEN_VTMRMODES "\003" +#define TR_VTMRMODES "Av\0""På\0""GAs""GA%""GAt" + +#define LEN_VTRAINERMODES "\022" +#define TR_VTRAINERMODES "Lärare/Uttag\0 ""Elev./Uttag\0 ""Lärare/SBUS-Modul\0""Lärare/CPPM-Modul\0""Lärare/Batteri\0" + +#define LEN_VFAILSAFE "\011" +#define TR_VFAILSAFE "Ej givet""Lås Servo""Anpassat\0""Pulsfritt""Mottagare" + +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabil ""Akrobat ""Lås Höjd ""Automat ""Guidad ""Hovra ""Flyg Hem ""Cirkla ""Håll Pos.""Landa ""OF Hovra ""Leksak A ""Leksak M ""OGILTIG " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manuell ""Cirkla ""Stabilisera ""Övning ""Fly by Wire A""Fly by Wire A""Automatisk ""Flyg Hem ""Hovra ""Guidad ""Initialiserar""OGILTIG " +#endif + +#define LEN_VSENSORTYPES "\010" +#define TR_VSENSORTYPES "Egen\0 ""Beräknad" + +#define LEN_VFORMULAS "\014" +#define TR_VFORMULAS "Addera\0 ""Medelvärde\0 ""Min\0 ""Max\0 ""Multiplicera""Totalsumma\0 ""Cell\0 ""Förbrukning ""Sträcka " + +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" + +#define LEN_VCELLINDEX "\010" +#define TR_VCELLINDEX "Lägsta\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Högsta\0 ""Skillnad" + +#define LEN_VANTENNATYPES "\010" +#define TR_VANTENNATYPES "Internal""External" + +// ZERO TERMINATED STRINGS +#if defined(COLORLCD) + #define INDENT " " + #define LEN_INDENT 3 + #define INDENT_WIDTH 12 + #define BREAKSPACE "\036" +#else + #define INDENT "\001" + #define LEN_INDENT 1 + #define INDENT_WIDTH (FW/2) + #define BREAKSPACE " " +#endif + +#if defined(PCBTARANIS) || defined(PCBFLAMENCO) || defined(PCBHORUS) + #define TR_ENTER "[ENTER]" +#else + #define TR_ENTER "[MENU]" +#endif + +#define TR_EXIT "[EXIT]" + +#if defined(PCBFLAMENCO) + #define TR_POPUPS TR_EXIT "\010" TR_ENTER +#elif defined(PCBTARANIS) + #define TR_POPUPS TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER +#else + #define TR_POPUPS TR_ENTER "\010" TR_EXIT + #define OFS_EXIT sizeof(TR_ENTER) +#endif + +#define TR_MENUWHENDONE CENTER "\011" TR_ENTER " Avslutar " +#define TR_FREE "kvar" +#define TR_DELETEMODEL "Radera Modell" +#define TR_COPYINGMODEL "Kopierar Modell " +#define TR_MOVINGMODEL "Flyttar Modell " +#define TR_LOADINGMODEL "Laddar Modell " +#define TR_NAME "Namn" +#define TR_MODELNAME "Modellnamn" +#define TR_PHASENAME "Lägesnamn " +#define TR_MIXNAME "Mixnamn " +#define TR_INPUTNAME "Inputnamn" +#if defined(PCBTARANIS) + #define TR_EXPONAME "Radnamn" +#else + #define TR_EXPONAME "Exponamn" +#endif +#define TR_BITMAP "Modellikon" +#define TR_TIMER TR("Timer","Timer ") +#define TR_ELIMITS TR("Gränser++","Utökade Gränser") +#define TR_ETRIMS TR("Trimmar++","Utökade Trimmar") +#define TR_TRIMINC TR("Trimning","Trimökning") +#define TR_DISPLAY_TRIMS "Display Trims" +#define TR_TTRACE TR("Följ Gas", INDENT "Följ Gas") +#define TR_TTRIM TR("Gastrim", INDENT "Gastrim") +#define TR_BEEPCTR TR("Cent.pip", "Centerpip") +#define TR_USE_GLOBAL_FUNCS TR("Glob. Funk","Globala Funktioner") +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif +#define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll") +#if defined(CPUARM) + #define TR_PPMFRAME INDENT "PPM-paket" +#else + #define TR_PPMFRAME "PPM-paket" +#endif +#define TR_MS "ms" +#define TR_SWITCH "Brytare" +#define TR_TRIMS "Trimmar" +#define TR_FADEIN "Tona In" +#define TR_FADEOUT "Tona Ut" +#define TR_DEFAULT "Standard" +#define TR_CHECKTRIMS CENTER "\006Kolla\012Trimmar" +#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) +#define TR_SWASHTYPE "Swashtyp" +#define TR_COLLECTIVE "Kollektiv" +#define TR_AILERON "Skevroder-källa" +#define TR_ELEVATOR "Höjdroder-källa" +#define TR_SWASHRING "Swashring" +#define TR_ELEDIRECTION "HöJD Riktning" +#define TR_AILDIRECTION "SKEV Riktning" +#define TR_COLDIRECTION "PITCH Riktn. " +#define TR_MODE INDENT"Läge" +#define TR_NOFREEEXPO "Expo saknas!" +#define TR_NOFREEMIXER "Mixer saknas!" +#define TR_SOURCE INDENT"Källa" +#define TR_WEIGHT "Vikt" +#define TR_EXPO TR("Expo","Exponentiell") +#define TR_SIDE "Sida" +#define TR_DIFFERENTIAL "Diff." +#define TR_OFFSET INDENT"Offset" +#define TR_TRIM "Trim" +#define TR_DREX "DRex" +#define DREX_CHBOX_OFFSET 30 +#define TR_CURVE "Kurva" +#define TR_FLMODE TR("Läge","Flyglägen") +#define TR_MIXWARNING "Varning" +#define TR_OFF "Av " +#define TR_MULTPX "Multpx" +#define TR_DELAYDOWN "Dröj Ned" +#define TR_DELAYUP "Dröj Upp" +#define TR_SLOWDOWN "Trög Ned" +#define TR_SLOWUP "Trög Upp" +#define TR_MIXER "MIXAR" +#define TR_CV "KU" +#define TR_GV "GV" +#define TR_ACHANNEL "A\004kanal " +#define TR_RANGE INDENT"MinMax" +#define TR_CENTER INDENT "Center" +#define TR_BAR "Data" +#define TR_ALARM INDENT"Alarm" +#define TR_USRDATA "Användardata" +#define TR_BLADES INDENT"Blad" +#define TR_SCREEN "Skärm " +#define TR_SOUND_LABEL "Ljud " +#define TR_LENGTH INDENT"Tid" +#define TR_BEEP_LENGTH INDENT "Pip-längd" +#define TR_SPKRPITCH INDENT "Pip-ton" +#define TR_HAPTIC_LABEL "Vibrator" +#define TR_HAPTICSTRENGTH INDENT"Styrka" +#define TR_CONTRAST "Kontrast" +#define TR_ALARMS_LABEL "Alarm" +#define TR_BATTERY_RANGE "Batteri-MinMax" +#define TR_BATTERYWARNING INDENT"Batteri" +#define TR_INACTIVITYALARM INDENT"Inaktivitet" +#define TR_MEMORYWARNING INDENT"Lite Minne" +#define TR_ALARMWARNING INDENT"Ljud Av" +#define TR_RENAVIG "RotEnk Navig" +#define TR_THROTTLE_LABEL "Gas" +#define TR_THROTTLEREVERSE TR("Inv.Gas", INDENT "Inverterad Gas") +#define TR_TIMER_NAME INDENT "Namn" +#define TR_MINUTEBEEP INDENT "Minutpip" +#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" +#define TR_BLONBRIGHTNESS INDENT "På Ljusstyrka" +#define TR_BLOFFBRIGHTNESS INDENT "Av Ljusstyrka" +#define TR_SPLASHSCREEN "Startbild" +#define TR_BLCOLOR INDENT "Color" +#define TR_THROTTLEWARNING TR("Gasvarning", INDENT "Gasvarning") +#define TR_SWITCHWARNING TR("Bryt.varn.", INDENT "Brytarvarning") +#define TR_POTWARNING TR("Rattvarn.", INDENT "Rattvarning") +#define TR_TIMEZONE TR("Tidszon", "GPS Tidszon") +#define TR_ADJUST_RTC INDENT "Adjust RTC" +#define TR_GPS "GPS" +#define TR_RXCHANNELORD "Kanaler i RX" +#define TR_STICKS "Sticks" +#define TR_POTS "Pots" +#define TR_SWITCHES "Switches" +#define TR_SWITCHES_DELAY "Brytarfördröjning" +#define TR_SLAVE "Elev" +#define TR_MODESRC " Läge\004% Källa" +#define TR_MULTIPLIER "Styrka" +#define TR_CAL "Kalib." +#define TR_VTRIM "Trim- +" +#define TR_BG "BG:" +#if defined(PCBHORUS) + #define TR_MENUTOSTART "Press [Enter] to start" + #define TR_SETMIDPOINT "Center sticks/pots/sliders and press [Enter]" + #define TR_MOVESTICKSPOTS "Move sticks, pots and sliders and press [Enter]" +#elif defined(COLORLCD) + #define TR_MENUTOSTART TR_ENTER " Startar " + #define TR_SETMIDPOINT "Centrera Allt" + #define TR_MOVESTICKSPOTS "Rör Spakar/Rattar" +#else + #define TR_MENUTOSTART CENTER "\011" TR_ENTER " Startar " + #define TR_SETMIDPOINT TR(CENTER "\012Centrera Allt",CENTER "\013Centrera Allt") + #define TR_MOVESTICKSPOTS TR(CENTER "\005Rör Spakar/Rattar",CENTER "\006Rör Spakar/Rattar") +#endif +#define TR_RXBATT "Rx Batt:" +#define TR_TXnRX "Tx:\0Rx:" +#define OFS_RX 4 +#define TR_ACCEL "Acc:" +#define TR_NODATA CENTER "DATA SAKNAS" +#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" +#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" +#define STR_US (STR_TMR1LATMAXUS+13) +#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" +#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" + +#if defined(CPUARM) + #define TR_TMIXMAXMS "Tmix max" + #define TR_FREESTACKMINB "Free Stack" +#else + #define TR_TMIXMAXMS "Tmix max\037\124ms" + #define TR_FREESTACKMINB "Free Stack\037\124b" +#endif + +#define TR_MENUTORESET CENTER TR_ENTER " Nollar" +#define TR_PPM_TRAINER "TR" +#define TR_CH "KN" +#define TR_MODEL "Modell" +#define TR_FP "FL" +#define TR_MIX "MIX" +#define TR_EEPROMLOWMEM "Minnesbrist" +#define TR_ALERT "\016OBS" +#define TR_PRESSANYKEYTOSKIP "Tryck ned en knapp" +#define TR_THROTTLENOTIDLE "Gasen är påslagen!" +#define TR_ALARMSDISABLED "Alarmen Avstängda!" +#define TR_PRESSANYKEY "Tryck ned en knapp" +#define TR_BADEEPROMDATA "Minnet kan inte tolkas" +#define TR_BAD_RADIO_DATA "Data från radion kan inte tolkas" +#define TR_EEPROMFORMATTING "Minnet Nollställs" +#define TR_STORAGE_FORMAT "SD-Lagring förbereds" +#define TR_EEPROMOVERFLOW "Minnesfel" +#define TR_MENURADIOSETUP "INSTÄLLNINGAR" +#define TR_MENUDATEANDTIME "DAG OCH TID" +#define TR_MENUTRAINER "TRAINER (PPM IN)" +#define TR_MENUGLOBALFUNCS "GLOBALA FUNKTIONER" +#define TR_MENUVERSION "VERSION" +#define TR_MENUDIAG TR("BRYTARE","TEST AV BRYTARE") +#define TR_MENUANA "ANALOGA VÄRDEN" +#define TR_MENUCALIBRATION "KALIBRERING" +#if defined(COLORLCD) + #define TR_TRIMS2OFFSETS "[Spara Trimvärden]" +#else + #define TR_TRIMS2OFFSETS "\006[Spara Trimvärden]" +#endif +#define TR_MENUMODELSEL TR("MODELL","VÄLJ MODELL") +#define TR_MENUSETUP TR("VÄRDEN","MODELLINSTÄLLNINGAR") +#define TR_MENUFLIGHTPHASE "FLYGLÄGE" +#define TR_MENUFLIGHTPHASES "FLYGLÄGEN" +#define TR_MENUHELISETUP "HELIKOPTER" + +#if defined(VIRTUALINPUTS) + #define TR_MENUINPUTS "INPUT" + #define TR_MENULIMITS "SERVON" +#else + #define TR_MENUINPUTS "SPAKAR" + #define TR_MENULIMITS "SERVON" +#endif + +#define TR_MENUCURVES "KURVOR" +#define TR_MENUCURVE "KURVA" +#define TR_MENULOGICALSWITCH "LOGISK BRYTARE" +#define TR_MENULOGICALSWITCHES "LOGISKA BRYTARE" +#define TR_MENUCUSTOMFUNC "BRYTARFUNKTIONER" +#define TR_MENUCUSTOMSCRIPTS "SPECIALKOD" +#define TR_MENUTELEMETRY "TELEMETRI" +#define TR_MENUTEMPLATES "MALLAR" +#define TR_MENUSTAT "STATISTIK" +#define TR_MENUDEBUG "DEBUG" +#if defined(CPUARM) + #define TR_RXNUM TR(INDENT "RxNum", INDENT "Mottagare Nr.") +#else + #define TR_RXNUM "RxNum" +#endif +#define TR_SYNCMENU "Synk [MENU]" +#define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" +#define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" +#define TR_MULTI_OPTION INDENT "Option value" +#define TR_MULTI_AUTOBIND INDENT "Autobind" +#define TR_MULTI_LOWPOWER INDENT "Low power mode" +#define TR_LIMIT INDENT "Nivå" +#define TR_MINRSSI "Min Rssi" +#define TR_LATITUDE "Breddgrad" +#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_POWEROFF "\027Stänger Av..." +#define TR_SHUTDOWN "STÄNGER AV" +#define TR_SAVEMODEL "Spara modellinställn." +#define TR_BATT_CALIB "Kalib. Batteri" +#define TR_CURRENT_CALIB "Kalib. Ström" +#define TR_VOLTAGE INDENT"Volt" +#define TR_CURRENT INDENT"Ampere" +#define TR_SELECT_MODEL "Välj Modell" +#define TR_CREATE_CATEGORY "Skapa Kategori" +#define TR_RENAME_CATEGORY "Byt Kat.namn" +#define TR_DELETE_CATEGORY "Ta Bort Kategori" +#define TR_CREATE_MODEL "Skapa Modell" +#define TR_DUPLICATE_MODEL "Dupl. Modell" +#define TR_CHANGE_CATEGORY "Change category" +#define TR_COPY_MODEL "Kopiera Modell" +#define TR_MOVE_MODEL "Flytta Modell" +#define TR_BACKUP_MODEL "Modell-backup" +#define TR_DELETE_MODEL "Ta Bort Modell" +#define TR_RESTORE_MODEL "Återställ Modell" +#define TR_SDCARD_ERROR "SDCARD-fel" +#define TR_NO_SDCARD "SDCARD saknas" +#define TR_SDCARD_FULL "SD-kort Fullt" +#define TR_INCOMPATIBLE "Inkompatibel" +#define TR_WARNING "VARNING" +#define TR_EEPROMWARN "EEPROM" +#define TR_STORAGE_WARNING "LAGRING" +#define TR_EEPROM_CONVERTING "EEPROM Konvertering" +#define TR_THROTTLEWARN "GAS" +#define TR_ALARMSWARN "ALARM" +#define TR_SWITCHWARN "BRYTARE" +#define TR_FAILSAFEWARN "FAILSAFE" +#define TR_NO_FAILSAFE "Failsafe ej given" +#define TR_KEYSTUCK "Knapp-fel" +#define TR_INVERT_THR TR("Invert.Gas?", "Invertera Gasen?") +#define TR_SPEAKER_VOLUME INDENT "Volym" +#define TR_LCD "LCD" +#define TR_BRIGHTNESS INDENT "Ljusstyrka" +#define TR_CPU_TEMP "CPU temp.\016>" +#define TR_CPU_CURRENT "Ström\022>" +#define TR_CPU_MAH "Förbrukn." +#define TR_COPROC "CoProc." +#define TR_COPROC_TEMP "MB temp. \016>" +#define TR_CAPAWARNING INDENT "Låg Kapacitet" +#define TR_TEMPWARNING TR(INDENT "Hög Temp ", INDENT "Hög Temperatur") +#define TR_FUNC "Funk" +#define TR_V1 "V1" +#define TR_V2 "V2" +#define TR_DURATION "Tidlängd" +#define TR_DELAY "Fördröj" +#define TR_SD_CARD "SD-kort" +#define TR_SDHC_CARD "SD/HC-kort" +#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 "Programkod saknas på SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" +#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" +#define TR_NA "N/A" +#define TR_HARDWARE "Hårdvara" +#define TR_FORMATTING "Formaterar..." +#define TR_TEMP_CALIB "Temp. kalib." +#define TR_TIME "Tid " +#define TR_BAUDRATE "BT Baudrate" +#define TR_SD_INFO_TITLE "SD INFO" +#define TR_SD_TYPE "Typ: " +#define TR_SD_SPEED "Hastighet:" +#define TR_SD_SECTORS "Sektorer:" +#define TR_SD_SIZE "Strl:" +#define TR_TYPE INDENT "Typ " +#define TR_GLOBAL_VARS "Globala Variabler" +#define TR_GVARS "GLOBAL V." +#define TR_GLOBAL_VAR "Global Variabel" +#define TR_MENUGLOBALVARS "GLOBALA VARIABLER" +#define TR_OWN "Egen" +#define TR_DATE "Datum" +#define TR_ROTARY_ENCODER "R.Enks" +#define TR_CHANNELS_MONITOR "Kanalöversikt" +#define TR_MIXERS_MONITOR "MIXER-SKÄRM" +#define TR_PATH_TOO_LONG "För lång sökväg" +#define TR_VIEW_TEXT "Visa Text" +#define TR_FLASH_BOOTLOADER "Skriv BootLoader" +#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device" +#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module" +#define TR_WRITING "\032Skriver..." +#define TR_CONFIRM_FORMAT "Formatera Minnet?" +#define TR_INTERNALRF "Intern Radio" +#define TR_EXTERNALRF "Extern Radiomodul" +#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafeläge") +#define TR_FAILSAFESET "FailsafeInställning" +#define TR_MENUSENSOR "SENSOR" +#define TR_SENSOR "SENSOR" +#define TR_COUNTRYCODE "Landskod" +#define TR_VOICELANG "Röstspråk" +#define TR_UNITSSYSTEM "Enheter" +#define TR_EDIT "Redigera" +#define TR_INSERT_BEFORE "Addera Före" +#define TR_INSERT_AFTER "Addera Efter" +#define TR_COPY "Kopiera" +#define TR_MOVE "Flytta" +#define TR_PASTE "Infoga" +#define TR_DELETE "Radera" +#define TR_INSERT "Addera" +#define TR_RESET_FLIGHT "Nollställ Flygning" +#define TR_RESET_TIMER1 "Nollställ Timer1" +#define TR_RESET_TIMER2 "Nollställ Timer2" +#define TR_RESET_TIMER3 "Nollställ Timer3" +#define TR_RESET_TELEMETRY "Nollställ Telemetri" +#define TR_STATISTICS "Statistik" +#define TR_ABOUT_US "Om Oss" +#define TR_SETUP_SCREENS "Setup screens" +#define TR_AND_SWITCH "OCH Brytare" +#define TR_SF "BF" +#define TR_GF "GF" +#define TR_SPEAKER INDENT"Högtalare" +#define TR_BUZZER INDENT"Summer" +#define TR_BYTES "byte" +#define TR_MODULE_BIND TR("[Bnd]", "[Bind]") +#define TR_MODULE_RANGE TR("[Tst]", "[Testa]") +#define TR_RESET_BTN "[Nollställ]" +#define TR_SET "[Spara]" +#define TR_TRAINER "Trainer" +#define TR_ANTENNAPROBLEM CENTER "Fel på TX-antennen" +#define TR_MODELIDUSED TR("ID finns redan","ModellID används redan") +#define TR_MODULE INDENT "Modul" +#define TR_TELEMETRY_TYPE "Telemetrityp" +#define TR_TELEMETRY_SENSORS "Sensorer" +#define TR_VALUE "Värde" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Enhet" +#define TR_TELEMETRY_NEWSENSOR INDENT "Lägg till sensor..." +#define TR_CHANNELRANGE INDENT "Kanalområde" +#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNACONFIRM1 "Really switch?" +#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#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_POPUP "Popup" +#define TR_MIN "Min" +#define TR_MAX "Max" +#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_RESET_SUBMENU "Nollställ..." +#define TR_COUNT "Antal" +#define TR_PT "pt" +#define TR_PTS "pkt" +#define TR_SMOOTH "Mjuk" +#define TR_COPY_STICKS_TO_OFS "Spara spakar som subtrim" +#define TR_COPY_TRIMS_TO_OFS "Spara trimmar som subtrim" +#define TR_INCDEC "Inkr/Dekrement" +#define TR_GLOBALVAR "Globala Var" +#define TR_MIXSOURCE "Mixer Källa" +#define TR_CONSTANT "Konstant" +#define TR_PERSISTENT_MAH INDENT "Lagra mAh" +#define TR_PREFLIGHT "Startkontroller" +#define TR_CHECKLIST TR(INDENT "Checklista", INDENT "Visa Checklista") +#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") +#define TR_UART3MODE "Serieporten" +#define TR_SCRIPT "Programkod" +#define TR_INPUTS "Input" +#define TR_OUTPUTS "Outputs" +#define TR_EEBACKUP "\004[ENTER Lång] säkerhetskopiera EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" +#define TR_TO_MANY_LUA_SCRIPTS "För många Lua-scripts!" + +#if defined(MAVLINK) + #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" + #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" + #define TR_MAVMENUSETUP_TITLE "MAVLINKINSTÄLLNINGAR" + #define TR_MAVLINK_BAUD_LABEL "Baudrate" + #define TR_MAVLINK_INFOS "INFOS" + #define TR_MAVLINK_MODE "LÄGE" + #define TR_MAVLINK_CUR_MODE "Nuvarande Läge" + #define TR_MAVLINK_ARMED "Osäkrad" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Status för flygbatteri" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Kurs" + #define TR_MAVLINK_HEADING "Riktning" + #define TR_MAVLINK_BEARING "Bäring" + #define TR_MAVLINK_ALTITUDE "Höjd" + #define TR_MAVLINK_GPS "GPS" + #define TR_MAVLINK_NO_FIX "EJ Lås" + #define TR_MAVLINK_SAT "SAT" + #define TR_MAVLINK_HDOP "HDOP" + #define TR_MAVLINK_LAT "LAT" + #define TR_MAVLINK_LON "LON" +#endif + +// Taranis column headers +#define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Rodertrim ", " Höjdrodertrim ", " Gastrim ", " Skevrodertrim ", " Tona Upp ", " Tona Ned " } +#define TR_LIMITS_HEADERS { " Namn ", " Subtrim ", " Min ", " Max ", " Riktning ", " Kurva ", " PPM-center ", " Subtrim-läge " } +#define TR_CSW_HEADERS { " Funktion ", " V1 ", " V2 ", " V2 ", " OCH Brytare ", " Tidslängd ", " Fördröj " } +// About screen +#define TR_ABOUTUS "Om Oss" + +#define TR_ABOUT_OPENTX_1 "OpenTX är icke-kommersiell," +#define TR_ABOUT_OPENTX_2 "öppen programvara utan" +#define TR_ABOUT_OPENTX_3 "garantier som uvecklas helt" +#define TR_ABOUT_OPENTX_4 "ideellt. Stöd i form av" +#define TR_ABOUT_OPENTX_5 "donationer välkomnas!" + +#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" +#define TR_ABOUT_BERTRAND_2 "Chefsutvecklare av OpenTX" +#define TR_ABOUT_BERTRAND_3 "Hjälputvecklare av Companion9x" + +#define TR_ABOUT_MIKE_1 "Mike Blandford" +#define TR_ABOUT_MIKE_2 "Kod och drivrutins-guru" +#define TR_ABOUT_MIKE_3 "Stor inspirationskälla" +#define TR_ABOUT_MIKE_4 "" + +#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" +#define TR_ABOUT_ROMOLO_2 "Chefsutvecklare av Companion9x" +#define TR_ABOUT_ROMOLO_3 "" + +#define TR_ABOUT_ANDRE_1 "Andre Bernet" +#define TR_ABOUT_ANDRE_2 "Funktionalitet, Användbarhet," +#define TR_ABOUT_ANDRE_3 "Felsökning, Dokumentation" + +#define TR_ABOUT_ROB_1 "Rob Thomson" +#define TR_ABOUT_ROB_2 "Webmaster för openRCforums" + +#define TR_ABOUT_KJELL_1 "Kjell Kernen" +#define TR_ABOUT_KJELL_2 "Utvecklare av www.open-tx.org" +#define TR_ABOUT_KJELL_3 "Utvecklare av OpenTX Recorder" +#define TR_ABOUT_KJELL_4 "Hjälputvecklare av Companion" + +#define TR_ABOUT_MARTIN_1 "Martin Hotar" +#define TR_ABOUT_MARTIN_2 "Grafikdesigner" + +#if defined(PCBFLAMENCO) + #define TR_ABOUT_HARDWARE_1 "XXX" + #define TR_ABOUT_HARDWARE_2 "Hardware designer/producer" + #define TR_ABOUT_HARDWARE_3 "" +#elif defined(PCBTARANIS) || defined(PCBHORUS) + #define TR_ABOUT_HARDWARE_1 "FrSky" + #define TR_ABOUT_HARDWARE_2 "Hårdvarudesign/producent" + #define TR_ABOUT_HARDWARE_3 "" +#else + #define TR_ABOUT_HARDWARE_1 "Brent Nelson" + #define TR_ABOUT_HARDWARE_2 "Sky9x design/producent" + #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)" +#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" + +#define TR_CHR_SHORT 's' +#define TR_CHR_LONG 'l' +#define TR_CHR_TOGGLE 't' +#define TR_CHR_HOUR 'h' +#define TR_CHR_INPUT 'I' // Values between A-I will work + +#define TR_BEEP_VOLUME "Volym Pip" +#define TR_WAV_VOLUME "Volym Wav" +#define TR_VARIO_VOLUME "Volym Vario" +#define TR_BG_VOLUME "Volym Bg" + +#define TR_TOP_BAR "Titelraden" +#define TR_ALTITUDE INDENT "Höjd" +#define TR_SCALE "Skala" +#define TR_VIEW_CHANNELS "Visa Kanaler" +#define TR_VIEW_NOTES "Visa Noteringars" +#define TR_MODEL_SELECT "Välj Modell" +#define TR_MODS_FORBIDDEN "Modifikationer förbjudna!" +#define TR_UNLOCKED "Olåst" +#define TR_ID "ID" +#define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formel" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logga" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Höjdsensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Sensor" +#define TR_AUTOOFFSET "Auto Offset" +#define TR_ONLYPOSITIVE "Positiv" +#define TR_FILTER "Filter" +#define TR_TELEMETRYFULL "Alla telemetriplatser upptagna!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" +#define TR_IGNORE_INSTANCE TR(INDENT "Inst.fel", INDENT "Hantera Instansfel") +#define TR_DISCOVER_SENSORS INDENT "Sök nya sensorer" +#define TR_STOP_DISCOVER_SENSORS INDENT "Avbryt sökning" +#define TR_DELETE_ALL_SENSORS INDENT "Ta bort alla sensorer" +#define TR_CONFIRMDELETE "Ta bort alla?" +#define TR_SELECT_WIDGET "Select widget" +#define TR_REMOVE_WIDGET "Remove widget" +#define TR_WIDGET_SETTINGS "Widget settings" +#define TR_REMOVE_SCREEN "Remove screen" + +#define TR_MENU_INPUTS "\314Inputs" +#define TR_MENU_LUA "\322Lua scripts" +#define TR_MENU_STICKS "\307Spakars" +#define TR_MENU_POTS "\310Rattar" +#define TR_MENU_MAX "\315MAX" +#define TR_MENU_HELI "\316Cyclic" +#define TR_MENU_TRIMS "\313Trimm" +#define TR_MENU_SWITCHES "\312Brytare" +#define TR_MENU_LOGICAL_SWITCHES "\312Logiska Brytare" +#define TR_MENU_TRAINER "\317Trainer" +#define TR_MENU_CHANNELS "\320Servon" +#define TR_MENU_GVARS "\311GVars" +#define TR_MENU_TELEMETRY "\321Telemetri" +#define TR_MENU_OTHER "Annat" +#define TR_MENU_INVERT "Invertera" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP1 "Tmp1" +#define ZSTR_TEMP2 "Tmp2" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" +#define ZSTR_BATT1_VOLTAGE "RB1V" +#define ZSTR_BATT2_VOLTAGE "RB2V" +#define ZSTR_BATT1_CURRENT "RB1A" +#define ZSTR_BATT2_CURRENT "RB2A" +#define ZSTR_BATT1_CONSUMPTION "RB1C" +#define ZSTR_BATT2_CONSUMPTION "RB2C" +#define ZSTR_RB_STATE "RBS" +#define ZSTR_CHANS_STATE "RBCS" +#define ZSTR_RX_RSSI1 "1RSS" +#define ZSTR_RX_RSSI2 "2RSS" +#define ZSTR_RX_QUALITY "RQly" +#define ZSTR_RX_SNR "RSNR" +#define ZSTR_ANTENNA "ANT" +#define ZSTR_RF_MODE "RFMD" +#define ZSTR_TX_POWER "TPWR" +#define ZSTR_TX_RSSI "TRSS" +#define ZSTR_TX_QUALITY "TQly" #define ZSTR_TX_SNR "TSNR" \ No newline at end of file