From 35619139817e0f44a254124a3f6b224956c651b5 Mon Sep 17 00:00:00 2001 From: philmoz Date: Tue, 26 Nov 2024 17:53:56 +1100 Subject: [PATCH] Cleanup string usage. Add translation testing to tests build. Remove conditional sections from translation files. Restructure 'translations' folder. --- radio/src/CMakeLists.txt | 2 +- .../boards/generic_stm32/analog_inputs.cpp | 2 +- radio/src/edgetx.cpp | 10 +- radio/src/edgetx.h | 12 +- radio/src/gui/128x64/model_curve_edit.cpp | 2 +- radio/src/gui/128x64/model_custom_scripts.cpp | 4 +- radio/src/gui/128x64/model_flightmodes.cpp | 2 +- radio/src/gui/128x64/model_gvars.cpp | 2 +- radio/src/gui/128x64/model_input_edit.cpp | 2 +- radio/src/gui/128x64/model_mix_edit.cpp | 2 +- radio/src/gui/128x64/model_outputs.cpp | 6 +- radio/src/gui/128x64/model_setup.cpp | 22 +- .../src/gui/128x64/model_telemetry_sensor.cpp | 2 +- radio/src/gui/128x64/radio_setup.cpp | 4 +- radio/src/gui/128x64/view_statistics.cpp | 2 +- radio/src/gui/212x64/model_curve_edit.cpp | 7 +- radio/src/gui/212x64/model_custom_scripts.cpp | 4 +- radio/src/gui/212x64/model_gvars.cpp | 2 +- radio/src/gui/212x64/model_input_edit.cpp | 2 +- radio/src/gui/212x64/model_mix_edit.cpp | 2 +- radio/src/gui/212x64/model_setup.cpp | 20 +- .../src/gui/212x64/model_telemetry_sensor.cpp | 2 +- radio/src/gui/212x64/radio_setup.cpp | 4 +- .../src/gui/colorlcd/controls/channel_bar.cpp | 5 +- .../colorlcd/controls/switch_warn_dialog.cpp | 2 +- .../libui/bitmapbuffer_draw_extra.cpp | 1 - .../src/gui/colorlcd/libui/file_carosell.cpp | 2 +- .../gui/colorlcd/libui/fullscreen_dialog.cpp | 2 +- radio/src/gui/colorlcd/libui/menutoolbar.cpp | 2 +- .../colorlcd/mainview/layout_factory_impl.h | 2 +- .../colorlcd/model/model_mixer_scripts.cpp | 1 - radio/src/gui/colorlcd/model/model_mixes.cpp | 6 +- .../src/gui/colorlcd/model/model_outputs.cpp | 9 +- radio/src/gui/colorlcd/model/model_setup.cpp | 6 +- radio/src/gui/colorlcd/model/output_edit.cpp | 12 +- .../src/gui/colorlcd/module/module_setup.cpp | 5 +- .../gui/colorlcd/radio/radio_sdmanager.cpp | 2 +- .../gui/colorlcd/setup_menus/menu_screen.cpp | 20 +- radio/src/gui/colorlcd/standalone_lua.cpp | 1 - radio/src/gui/common/stdlcd/boot_menu.cpp | 2 - radio/src/gui/common/stdlcd/model_inputs.cpp | 4 +- radio/src/gui/common/stdlcd/model_mixes.cpp | 6 +- .../gui/common/stdlcd/model_setup_pxx2.cpp | 6 +- .../gui/common/stdlcd/model_usbjoystick.cpp | 4 +- radio/src/gui/common/stdlcd/popups.cpp | 2 +- .../src/gui/common/stdlcd/radio_hardware.cpp | 4 +- .../src/gui/common/stdlcd/radio_sdmanager.cpp | 4 +- radio/src/gui/common/stdlcd/radio_trainer.cpp | 2 +- radio/src/gui/common/stdlcd/radio_version.cpp | 4 +- radio/src/gui/common/stdlcd/utf8.cpp | 2 +- radio/src/gui/gui_common.cpp | 2 +- radio/src/io/multi_protolist.cpp | 1 - radio/src/sdcard.h | 2 +- radio/src/storage/modelslist.cpp | 7 +- radio/src/storage/sdcard_common.h | 1 - radio/src/storage/sdcard_yaml.cpp | 11 +- radio/src/strhelpers.h | 4 +- radio/src/string_list.h | 1149 ---------------- radio/src/targets/common/arm/CMakeLists.txt | 2 +- radio/src/targets/pa01/battery_driver.h | 2 +- radio/src/targets/simu/adc_driver.cpp | 3 +- radio/src/telemetry/multi.cpp | 3 +- radio/src/tests/module_ports.cpp | 2 +- radio/src/tests/switches.cpp | 2 +- radio/src/tests/test_cn.cpp | 33 + radio/src/tests/test_cz.cpp | 33 + radio/src/tests/test_da.cpp | 33 + radio/src/tests/test_de.cpp | 33 + radio/src/tests/test_es.cpp | 33 + radio/src/tests/test_fi.cpp | 33 + radio/src/tests/test_fr.cpp | 33 + radio/src/tests/test_he.cpp | 33 + radio/src/tests/test_it.cpp | 33 + radio/src/tests/test_jp.cpp | 33 + radio/src/tests/test_ko.cpp | 33 + radio/src/tests/test_nl.cpp | 33 + radio/src/tests/test_pl.cpp | 33 + radio/src/tests/test_pt.cpp | 33 + radio/src/tests/test_ru.cpp | 33 + radio/src/tests/test_se.cpp | 33 + radio/src/tests/test_tw.cpp | 33 + radio/src/tests/test_ua.cpp | 33 + radio/src/translations.cpp | 51 - radio/src/translations/bl_translations.h | 111 +- radio/src/translations/{ => i18n}/cn.h | 649 +++++---- radio/src/translations/{ => i18n}/cz.h | 693 ++++++---- radio/src/translations/{ => i18n}/da.h | 665 +++++---- radio/src/translations/{ => i18n}/de.h | 659 +++++---- radio/src/translations/{ => i18n}/en.h | 689 ++++++---- radio/src/translations/{ => i18n}/es.h | 667 +++++---- radio/src/translations/{ => i18n}/fi.h | 682 ++++++---- radio/src/translations/{ => i18n}/fr.h | 670 +++++---- radio/src/translations/{ => i18n}/he.h | 664 +++++---- radio/src/translations/{ => i18n}/it.h | 661 +++++---- radio/src/translations/{ => i18n}/jp.h | 693 ++++++---- radio/src/translations/{ => i18n}/ko.h | 650 +++++---- radio/src/translations/{ => i18n}/nl.h | 664 +++++---- radio/src/translations/{ => i18n}/pl.h | 650 +++++---- radio/src/translations/{ => i18n}/pt.h | 799 ++++++----- radio/src/translations/{ => i18n}/ru.h | 659 +++++---- radio/src/translations/{ => i18n}/se.h | 716 ++++++---- radio/src/translations/{ => i18n}/tw.h | 665 +++++---- radio/src/translations/{ => i18n}/ua.h | 662 +++++---- radio/src/translations/string_list.h | 1197 +++++++++++++++++ radio/src/translations/translation_def.h | 244 ++++ radio/src/translations/translations.cpp | 73 + radio/src/translations/translations.h | 42 + .../tts/tts.h} | 131 -- radio/src/translations/{ => tts}/tts_cn.cpp | 2 +- radio/src/translations/{ => tts}/tts_cz.cpp | 2 +- radio/src/translations/{ => tts}/tts_da.cpp | 2 +- radio/src/translations/{ => tts}/tts_de.cpp | 2 +- radio/src/translations/{ => tts}/tts_en.cpp | 2 +- radio/src/translations/{ => tts}/tts_es.cpp | 2 +- radio/src/translations/{ => tts}/tts_fr.cpp | 2 +- radio/src/translations/{ => tts}/tts_he.cpp | 2 +- radio/src/translations/{ => tts}/tts_hu.cpp | 2 +- radio/src/translations/{ => tts}/tts_it.cpp | 2 +- radio/src/translations/{ => tts}/tts_jp.cpp | 2 +- radio/src/translations/{ => tts}/tts_ko.cpp | 2 +- radio/src/translations/{ => tts}/tts_nl.cpp | 2 +- radio/src/translations/{ => tts}/tts_pl.cpp | 2 +- radio/src/translations/{ => tts}/tts_pt.cpp | 2 +- radio/src/translations/{ => tts}/tts_ru.cpp | 2 +- radio/src/translations/{ => tts}/tts_se.cpp | 2 +- radio/src/translations/{ => tts}/tts_sk.cpp | 2 +- radio/src/translations/{ => tts}/tts_ua.cpp | 2 +- radio/src/translations/untranslated.h | 107 +- tools/cfn_sorter.cpp | 4 +- 129 files changed, 10108 insertions(+), 6769 deletions(-) delete mode 100644 radio/src/string_list.h create mode 100644 radio/src/tests/test_cn.cpp create mode 100644 radio/src/tests/test_cz.cpp create mode 100644 radio/src/tests/test_da.cpp create mode 100644 radio/src/tests/test_de.cpp create mode 100644 radio/src/tests/test_es.cpp create mode 100644 radio/src/tests/test_fi.cpp create mode 100644 radio/src/tests/test_fr.cpp create mode 100644 radio/src/tests/test_he.cpp create mode 100644 radio/src/tests/test_it.cpp create mode 100644 radio/src/tests/test_jp.cpp create mode 100644 radio/src/tests/test_ko.cpp create mode 100644 radio/src/tests/test_nl.cpp create mode 100644 radio/src/tests/test_pl.cpp create mode 100644 radio/src/tests/test_pt.cpp create mode 100644 radio/src/tests/test_ru.cpp create mode 100644 radio/src/tests/test_se.cpp create mode 100644 radio/src/tests/test_tw.cpp create mode 100644 radio/src/tests/test_ua.cpp delete mode 100644 radio/src/translations.cpp rename radio/src/translations/{ => i18n}/cn.h (73%) rename radio/src/translations/{ => i18n}/cz.h (72%) rename radio/src/translations/{ => i18n}/da.h (73%) rename radio/src/translations/{ => i18n}/de.h (73%) rename radio/src/translations/{ => i18n}/en.h (71%) rename radio/src/translations/{ => i18n}/es.h (73%) rename radio/src/translations/{ => i18n}/fi.h (72%) rename radio/src/translations/{ => i18n}/fr.h (73%) rename radio/src/translations/{ => i18n}/he.h (73%) rename radio/src/translations/{ => i18n}/it.h (73%) rename radio/src/translations/{ => i18n}/jp.h (73%) rename radio/src/translations/{ => i18n}/ko.h (74%) rename radio/src/translations/{ => i18n}/nl.h (72%) rename radio/src/translations/{ => i18n}/pl.h (73%) rename radio/src/translations/{ => i18n}/pt.h (73%) rename radio/src/translations/{ => i18n}/ru.h (75%) rename radio/src/translations/{ => i18n}/se.h (71%) rename radio/src/translations/{ => i18n}/tw.h (73%) rename radio/src/translations/{ => i18n}/ua.h (75%) create mode 100644 radio/src/translations/string_list.h create mode 100644 radio/src/translations/translation_def.h create mode 100644 radio/src/translations/translations.cpp create mode 100644 radio/src/translations/translations.h rename radio/src/{translations.h => translations/tts/tts.h} (52%) rename radio/src/translations/{ => tts}/tts_cn.cpp (98%) rename radio/src/translations/{ => tts}/tts_cz.cpp (99%) rename radio/src/translations/{ => tts}/tts_da.cpp (98%) rename radio/src/translations/{ => tts}/tts_de.cpp (99%) rename radio/src/translations/{ => tts}/tts_en.cpp (98%) rename radio/src/translations/{ => tts}/tts_es.cpp (99%) rename radio/src/translations/{ => tts}/tts_fr.cpp (98%) rename radio/src/translations/{ => tts}/tts_he.cpp (98%) rename radio/src/translations/{ => tts}/tts_hu.cpp (98%) rename radio/src/translations/{ => tts}/tts_it.cpp (99%) rename radio/src/translations/{ => tts}/tts_jp.cpp (98%) rename radio/src/translations/{ => tts}/tts_ko.cpp (98%) rename radio/src/translations/{ => tts}/tts_nl.cpp (98%) rename radio/src/translations/{ => tts}/tts_pl.cpp (99%) rename radio/src/translations/{ => tts}/tts_pt.cpp (99%) rename radio/src/translations/{ => tts}/tts_ru.cpp (99%) rename radio/src/translations/{ => tts}/tts_se.cpp (98%) rename radio/src/translations/{ => tts}/tts_sk.cpp (98%) rename radio/src/translations/{ => tts}/tts_ua.cpp (99%) diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 31cdd5acb58..d19c377d604 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -447,7 +447,7 @@ if(GUI) ${SRC} keys.cpp maths.cpp - translations.cpp + translations/translations.cpp cfn_sort.cpp gui/gui_common.cpp ) diff --git a/radio/src/boards/generic_stm32/analog_inputs.cpp b/radio/src/boards/generic_stm32/analog_inputs.cpp index bfd99db1e2a..c9adba6f8a6 100644 --- a/radio/src/boards/generic_stm32/analog_inputs.cpp +++ b/radio/src/boards/generic_stm32/analog_inputs.cpp @@ -34,7 +34,7 @@ #include "definitions.h" #include "myeeprom.h" -#include "translations.h" +#include "translations/translations.h" #include diff --git a/radio/src/edgetx.cpp b/radio/src/edgetx.cpp index a89a2ab09ce..723e97e7def 100644 --- a/radio/src/edgetx.cpp +++ b/radio/src/edgetx.cpp @@ -820,7 +820,7 @@ void checkThrottleStick() } // first - display warning; also deletes inputs if any have been before LED_ERROR_BEGIN(); - RAISE_ALERT(TR_THROTTLE_UPPERCASE, throttleNotIdle, STR_PRESS_ANY_KEY_TO_SKIP, AU_THROTTLE_ALERT); + RAISE_ALERT(STR_THROTTLE_UPPERCASE, throttleNotIdle, STR_PRESS_ANY_KEY_TO_SKIP, AU_THROTTLE_ALERT); #if defined(PWR_BUTTON_PRESS) bool refresh = false; @@ -842,7 +842,7 @@ void checkThrottleStick() refresh = true; } else if (power == e_power_on && refresh) { - RAISE_ALERT(TR_THROTTLE_UPPERCASE, throttleNotIdle, STR_PRESS_ANY_KEY_TO_SKIP, AU_NONE); + RAISE_ALERT(STR_THROTTLE_UPPERCASE, throttleNotIdle, STR_PRESS_ANY_KEY_TO_SKIP, AU_NONE); refresh = false; } #else @@ -1755,14 +1755,14 @@ uint32_t pwrCheck() POPUP_CONFIRMATION(STR_MODEL_SHUTDOWN, nullptr); const char* msg = STR_MODEL_STILL_POWERED; - uint8_t msg_len = sizeof(TR_MODEL_STILL_POWERED); + uint8_t msg_len = strlen(STR_MODEL_STILL_POWERED); if (usbPlugged() && getSelectedUsbMode() != USB_UNSELECTED_MODE) { msg = STR_USB_STILL_CONNECTED; - msg_len = sizeof(TR_USB_STILL_CONNECTED); + msg_len = strlen(STR_USB_STILL_CONNECTED); } else if (isTrainerConnected() && !g_eeGeneral.disableTrainerPoweroffAlarm) { msg = STR_TRAINER_STILL_CONNECTED; - msg_len = sizeof(TR_TRAINER_STILL_CONNECTED); + msg_len = strlen(STR_TRAINER_STILL_CONNECTED); } event_t evt = getEvent(); SET_WARNING_INFO(msg, msg_len, 0); diff --git a/radio/src/edgetx.h b/radio/src/edgetx.h index 2b8b05586c7..c32d032594a 100644 --- a/radio/src/edgetx.h +++ b/radio/src/edgetx.h @@ -205,14 +205,6 @@ extern void cancelSplash(); extern uint8_t heartbeat; -#define LEN_STD_CHARS 40 - -#if defined(TRANSLATIONS_CZ) -#define ZCHAR_MAX (LEN_STD_CHARS) -#else -#define ZCHAR_MAX (LEN_STD_CHARS + LEN_SPECIAL_CHARS) -#endif - #include "keys.h" #include "pwr.h" @@ -555,7 +547,7 @@ enum AUDIO_SOUNDS { #endif #include "buzzer.h" -#include "translations.h" +#include "translations/translations.h" #if defined(HAPTIC) #include "haptic.h" @@ -665,7 +657,7 @@ union ReusableBuffer char originalName[SD_SCREEN_FILE_LENGTH+1]; #if defined(PXX2) OtaUpdateInformation otaUpdateInformation; - char otaReceiverVersion[sizeof(TR_CURRENT_VERSION) + 12]; + char otaReceiverVersion[64]; // Large enough for TR_CURRENT_VERSION string plus version number #endif } sdManager; diff --git a/radio/src/gui/128x64/model_curve_edit.cpp b/radio/src/gui/128x64/model_curve_edit.cpp index afcf8fb5b30..a3d4668e41d 100644 --- a/radio/src/gui/128x64/model_curve_edit.cpp +++ b/radio/src/gui/128x64/model_curve_edit.cpp @@ -87,7 +87,7 @@ void menuModelCurveOne(event_t event) CurveHeader & crv = g_model.curves[s_currIdxSubMenu]; int8_t * points = curveAddress(s_currIdxSubMenu); - drawStringWithIndex(PSIZE(TR_MENUCURVES)*FW+FW, 0, STR_CV, s_currIdxSubMenu+1); + drawStringWithIndex(strlen(STR_MENUCURVES)*FW+FW, 0, STR_CV, s_currIdxSubMenu+1); uint8_t old_editMode = s_editMode; diff --git a/radio/src/gui/128x64/model_custom_scripts.cpp b/radio/src/gui/128x64/model_custom_scripts.cpp index c9ac6e84211..93b8644dae0 100644 --- a/radio/src/gui/128x64/model_custom_scripts.cpp +++ b/radio/src/gui/128x64/model_custom_scripts.cpp @@ -59,7 +59,7 @@ void menuModelCustomScriptOne(event_t event) { ScriptData & sd = g_model.scriptsData[s_currIdx]; - drawStringWithIndex(PSIZE(TR_MENUCUSTOMSCRIPTS)*FW+FW, 0, "LUA", s_currIdx+1, 0); + drawStringWithIndex(strlen(STR_MENUCUSTOMSCRIPTS)*FW+FW, 0, "LUA", s_currIdx+1, 0); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID, 0); uint8_t old_editMode = s_editMode; @@ -90,7 +90,7 @@ void menuModelCustomScriptOne(event_t event) } } else if (i == ITEM_MODEL_CUSTOMSCRIPT_NAME) { - lcdDrawTextAlignedLeft(y, TR_NAME); + lcdDrawTextAlignedLeft(y, STR_NAME); editName(SCRIPT_ONE_2ND_COLUMN_POS, y, sd.name, sizeof(sd.name), event, (attr != 0), attr, old_editMode); } else if (i == ITEM_MODEL_CUSTOMSCRIPT_PARAMS_LABEL) { diff --git a/radio/src/gui/128x64/model_flightmodes.cpp b/radio/src/gui/128x64/model_flightmodes.cpp index 1fb3aabc985..66160f4e599 100644 --- a/radio/src/gui/128x64/model_flightmodes.cpp +++ b/radio/src/gui/128x64/model_flightmodes.cpp @@ -151,7 +151,7 @@ void menuModelFlightModeOne(event_t event) #if defined(GVARS) case ITEM_MODEL_FLIGHT_MODE_GVARS_LABEL: - lcdDrawTextAlignedLeft(y, TR_MENU_GLOBAL_VARS); + lcdDrawTextAlignedLeft(y, STR_MENU_GLOBAL_VARS); break; default: diff --git a/radio/src/gui/128x64/model_gvars.cpp b/radio/src/gui/128x64/model_gvars.cpp index 93f278074f3..1ba07f29fff 100644 --- a/radio/src/gui/128x64/model_gvars.cpp +++ b/radio/src/gui/128x64/model_gvars.cpp @@ -70,7 +70,7 @@ void menuModelGVarOne(event_t event) { GVarData * gvar = &g_model.gvars[s_currIdxSubMenu]; - drawStringWithIndex(PSIZE(TR_GVARS)*FW+FW, 0, STR_GV, s_currIdxSubMenu+1, 0); + drawStringWithIndex(strlen(STR_GVARS)*FW+FW, 0, STR_GV, s_currIdxSubMenu+1, 0); drawGVarValue(32*FW, 0, s_currIdxSubMenu, getGVarValue(s_currIdxSubMenu, getFlightMode())); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID); diff --git a/radio/src/gui/128x64/model_input_edit.cpp b/radio/src/gui/128x64/model_input_edit.cpp index 479efb55711..9c7faf726d5 100644 --- a/radio/src/gui/128x64/model_input_edit.cpp +++ b/radio/src/gui/128x64/model_input_edit.cpp @@ -62,7 +62,7 @@ void menuModelExpoOne(event_t event) } ExpoData * ed = expoAddress(s_currIdx); - drawSource(PSIZE(TR_MENUINPUTS)*FW+FW, 0, MIXSRC_FIRST_INPUT+ed->chn, 0); + drawSource(strlen(STR_MENUINPUTS)*FW+FW, 0, MIXSRC_FIRST_INPUT+ed->chn, 0); uint8_t old_editMode = s_editMode; diff --git a/radio/src/gui/128x64/model_mix_edit.cpp b/radio/src/gui/128x64/model_mix_edit.cpp index 13b10ce1680..83764d9a950 100644 --- a/radio/src/gui/128x64/model_mix_edit.cpp +++ b/radio/src/gui/128x64/model_mix_edit.cpp @@ -98,7 +98,7 @@ void menuModelMixOne(event_t event) } MixData * md2 = mixAddress(s_currIdx) ; - putsChn(PSIZE(TR_MIXES)*FW+FW, 0, md2->destCh+1,0); + putsChn(strlen(STR_MIXES)*FW+FW, 0, md2->destCh+1,0); uint8_t old_editMode = s_editMode; diff --git a/radio/src/gui/128x64/model_outputs.cpp b/radio/src/gui/128x64/model_outputs.cpp index 62f78bd125b..467353f18b7 100644 --- a/radio/src/gui/128x64/model_outputs.cpp +++ b/radio/src/gui/128x64/model_outputs.cpp @@ -133,7 +133,7 @@ void menuModelLimitsOne(event_t event) break; case ITEM_OUTPUTONE_OFFSET: - ld->offset = gvValEdit(TR_LIMITS_HEADERS_SUBTRIM, ld->offset, 0, -1000, 1000, y, attr, event, active, 0); + ld->offset = gvValEdit(STR_LIMITS_HEADERS_SUBTRIM, ld->offset, 0, -1000, 1000, y, attr, event, active, 0); break; case ITEM_OUTPUTONE_MIN: @@ -164,7 +164,7 @@ void menuModelLimitsOne(event_t event) #if defined(PPM_CENTER_ADJUSTABLE) case ITEM_OUTPUTONE_PPM_CENTER: - lcdDrawTextAlignedLeft(y, TR_LIMITS_HEADERS_PPMCENTER); + lcdDrawTextAlignedLeft(y, STR_LIMITS_HEADERS_PPMCENTER); lcdDrawNumber(LIMITS_ONE_2ND_COLUMN, y, PPM_CENTER+ld->ppmCenter, attr); if (active) { CHECK_INCDEC_MODELVAR(event, ld->ppmCenter, -PPM_CENTER_MAX, +PPM_CENTER_MAX); @@ -174,7 +174,7 @@ void menuModelLimitsOne(event_t event) #if defined(PPM_LIMITS_SYMETRICAL) case ITEM_OUTPUTONE_SYMETRICAL: - lcdDrawTextAlignedLeft(y, TR_LIMITS_HEADERS_SUBTRIMMODE); + lcdDrawTextAlignedLeft(y, STR_LIMITS_HEADERS_SUBTRIMMODE); lcdDrawSizedText(LIMITS_ONE_2ND_COLUMN, y, ld->symetrical ? "=" : STR_CHAR_DELTA, 2, attr); if (active) { diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 49f40edefc4..9b118c4843b 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -1556,18 +1556,18 @@ void menuModelSetup(event_t event) MODULE_SUBTYPE_R9M_EU) { POPUP_WARNING(STR_MODULE_PROTOCOL_FLEX_WARN_LINE1); SET_WARNING_INFO(STR_MODULE_PROTOCOL_WARN_LINE2, - sizeof(TR_MODULE_PROTOCOL_WARN_LINE2) - 1, 0); + strlen(STR_MODULE_PROTOCOL_WARN_LINE2), 0); } #if POPUP_LEVEL >= 3 else if (g_model.moduleData[moduleIdx].subType == MODULE_SUBTYPE_R9M_EU) { POPUP_WARNING(STR_MODULE_PROTOCOL_EU_WARN_LINE1); SET_WARNING_INFO(STR_MODULE_PROTOCOL_WARN_LINE2, - sizeof(TR_MODULE_PROTOCOL_WARN_LINE2) - 1, 0); + strlen(STR_MODULE_PROTOCOL_WARN_LINE2), 0); } else { POPUP_WARNING(STR_MODULE_PROTOCOL_FCC_WARN_LINE1); SET_WARNING_INFO(STR_MODULE_PROTOCOL_WARN_LINE2, - sizeof(TR_MODULE_PROTOCOL_WARN_LINE2) - 1, 0); + strlen(STR_MODULE_PROTOCOL_WARN_LINE2), 0); } #endif } @@ -1754,7 +1754,7 @@ void menuModelSetup(event_t event) } if (bluetooth.distantAddr[0]) { lcdDrawText(INDENT_WIDTH, y+1, bluetooth.distantAddr, TINSIZE); - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON(TR_CLEAR), attr); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_CLEAR, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { bluetooth.state = BLUETOOTH_STATE_CLEAR_REQUESTED; memclear(bluetooth.distantAddr, sizeof(bluetooth.distantAddr)); @@ -1765,7 +1765,7 @@ void menuModelSetup(event_t event) if (bluetooth.state < BLUETOOTH_STATE_IDLE) lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_BUTTON_INIT, attr); else - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON(TR_DISCOVER), attr); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_DISCOVER, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { if (bluetooth.state < BLUETOOTH_STATE_IDLE) { bluetooth.state = BLUETOOTH_STATE_OFF; @@ -1914,7 +1914,7 @@ void menuModelSetup(event_t event) #endif { lcdDrawTextIndented(y, STR_MODULE); - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON(TR_REGISTER), (menuHorizontalPosition == 0 ? attr : 0)); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_REGISTER, (menuHorizontalPosition == 0 ? attr : 0)); lcdDrawText(lcdLastRightPos + 3, y, STR_MODULE_RANGE, (menuHorizontalPosition == 1 ? attr : 0)); if (attr) { if (moduleState[moduleIdx].mode == MODULE_MODE_NORMAL && s_editMode > 0) { @@ -2186,7 +2186,7 @@ void menuModelSetup(event_t event) if (event && !s_editMode && reusableBuffer.moduleSetup.antennaMode != g_model.moduleData[INTERNAL_MODULE].pxx.antennaMode) { if (reusableBuffer.moduleSetup.antennaMode == ANTENNA_MODE_EXTERNAL && !isExternalAntennaEnabled()) { POPUP_CONFIRMATION(STR_ANTENNACONFIRM1, onModelAntennaSwitchConfirm); - SET_WARNING_INFO(STR_ANTENNACONFIRM2, sizeof(TR_ANTENNACONFIRM2), 0); + SET_WARNING_INFO(STR_ANTENNACONFIRM2, strlen(STR_ANTENNACONFIRM2), 0); } else { g_model.moduleData[INTERNAL_MODULE].pxx.antennaMode = reusableBuffer.moduleSetup.antennaMode; @@ -2518,7 +2518,7 @@ void menuModelSetup(event_t event) expandState.viewOpt = expandableSection(y, STR_ENABLED_FEATURES, expandState.viewOpt, attr, event); break; case ITEM_VIEW_OPTIONS_RADIO_TAB: - lcdDrawText(INDENT_WIDTH-2, y, TR_RADIO_MENU_TABS); + lcdDrawText(INDENT_WIDTH-2, y, STR_RADIO_MENU_TABS); break; case ITEM_VIEW_OPTIONS_GF: g_model.radioGFDisabled = viewOptChoice(y, STR_MENUSPECIALFUNCS, g_model.radioGFDisabled, attr, event); @@ -2527,7 +2527,7 @@ void menuModelSetup(event_t event) g_model.radioTrainerDisabled = viewOptChoice(y, STR_MENUTRAINER, g_model.radioTrainerDisabled, attr, event); break; case ITEM_VIEW_OPTIONS_MODEL_TAB: - lcdDrawText(INDENT_WIDTH-2, y, TR_MODEL_MENU_TABS); + lcdDrawText(INDENT_WIDTH-2, y, STR_MODEL_MENU_TABS); break; #if defined(HELI) case ITEM_VIEW_OPTIONS_HELI: @@ -2575,14 +2575,14 @@ void menuModelSetup(event_t event) break; case ITEM_MODEL_SETUP_USBJOYSTICK_CH_BUTTON: - lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_USBJOYSTICK_SETTINGS), attr); + lcdDrawText(INDENT_WIDTH, y, STR_USBJOYSTICK_SETTINGS, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { pushMenu(menuModelUSBJoystick); } break; case ITEM_MODEL_SETUP_USBJOYSTICK_APPLY: - lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_USBJOYSTICK_APPLY_CHANGES), attr); + lcdDrawText(INDENT_WIDTH, y, STR_USBJOYSTICK_APPLY_CHANGES, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { onUSBJoystickModelChanged(); } diff --git a/radio/src/gui/128x64/model_telemetry_sensor.cpp b/radio/src/gui/128x64/model_telemetry_sensor.cpp index fd9bd7c009c..180e0ed4813 100644 --- a/radio/src/gui/128x64/model_telemetry_sensor.cpp +++ b/radio/src/gui/128x64/model_telemetry_sensor.cpp @@ -68,7 +68,7 @@ void menuModelSensor(event_t event) 0 // Logs }); - lcdDrawNumber(PSIZE(TR_MENUSENSOR)*FW+1, 0, s_currIdx+1, INVERS|LEFT); + lcdDrawNumber(strlen(STR_MENUSENSOR)*FW+1, 0, s_currIdx+1, INVERS|LEFT); if (!isGPSSensor(s_currIdx+1)) drawSensorCustomValue(SENSOR_2ND_COLUMN, 0, s_currIdx, getValue(MIXSRC_FIRST_TELEM+3*s_currIdx), LEFT); diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index d3f74ca8f9e..6e13f613ec5 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -795,7 +795,7 @@ void menuRadioSetup(event_t event) expandState.viewOpt = expandableSection(y, STR_ENABLED_FEATURES, expandState.viewOpt, attr, event); break; case ITEM_VIEW_OPTIONS_RADIO_TAB: - lcdDrawText(INDENT_WIDTH-2, y, TR_RADIO_MENU_TABS); + lcdDrawText(INDENT_WIDTH-2, y, STR_RADIO_MENU_TABS); break; case ITEM_VIEW_OPTIONS_GF: g_eeGeneral.radioGFDisabled = viewOptCheckBox(y, STR_MENUSPECIALFUNCS, g_eeGeneral.radioGFDisabled, attr, event, g_model.radioGFDisabled); @@ -804,7 +804,7 @@ void menuRadioSetup(event_t event) g_eeGeneral.radioTrainerDisabled = viewOptCheckBox(y, STR_MENUTRAINER, g_eeGeneral.radioTrainerDisabled, attr, event, g_model.radioTrainerDisabled); break; case ITEM_VIEW_OPTIONS_MODEL_TAB: - lcdDrawText(INDENT_WIDTH-2, y, TR_MODEL_MENU_TABS); + lcdDrawText(INDENT_WIDTH-2, y, STR_MODEL_MENU_TABS); break; #if defined(HELI) case ITEM_VIEW_OPTIONS_HELI: diff --git a/radio/src/gui/128x64/view_statistics.cpp b/radio/src/gui/128x64/view_statistics.cpp index 1b952909228..c249de6c041 100644 --- a/radio/src/gui/128x64/view_statistics.cpp +++ b/radio/src/gui/128x64/view_statistics.cpp @@ -154,7 +154,7 @@ void menuStatisticsDebug(event_t event) y += FH; #if defined(LUA) - lcdDrawTextAlignedLeft(y, TR_LUA_SCRIPTS_LABEL); + lcdDrawTextAlignedLeft(y, STR_LUA_SCRIPTS_LABEL); lcdDrawText(MENU_DEBUG_COL1_OFS, y+1, STR_DURATION_MS, SMLSIZE); lcdDrawNumber(lcdLastRightPos, y, 10*maxLuaDuration, LEFT); lcdDrawText(lcdLastRightPos+2, y+1, STR_INTERVAL_MS, SMLSIZE); diff --git a/radio/src/gui/212x64/model_curve_edit.cpp b/radio/src/gui/212x64/model_curve_edit.cpp index 3b49f8dd83a..33848459f09 100644 --- a/radio/src/gui/212x64/model_curve_edit.cpp +++ b/radio/src/gui/212x64/model_curve_edit.cpp @@ -90,9 +90,12 @@ void menuModelCurveOne(event_t event) CurveHeader & crv = g_model.curves[s_currIdxSubMenu]; int8_t * points = curveAddress(s_currIdxSubMenu); - drawStringWithIndex(PSIZE(TR_MENUCURVES)*FW+FW, 0, "CV", s_currIdxSubMenu+1); + drawStringWithIndex(strlen(STR_MENUCURVES)*FW+FW, 0, "CV", s_currIdxSubMenu+1); - lcdDrawText(11*FW+FW/2, 0, TR_PT "\002X\006Y"); + char str[10]; + char* s = strAppend(str, STR_PT); + strAppend(s, "\002X\006Y"); + lcdDrawText(11*FW+FW/2, 0, str); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID, FILL_WHITE|GREY_DEFAULT); uint8_t old_editMode = s_editMode; diff --git a/radio/src/gui/212x64/model_custom_scripts.cpp b/radio/src/gui/212x64/model_custom_scripts.cpp index 3a4bcfa1db0..d1b30b1f5f5 100644 --- a/radio/src/gui/212x64/model_custom_scripts.cpp +++ b/radio/src/gui/212x64/model_custom_scripts.cpp @@ -53,7 +53,7 @@ void menuModelCustomScriptOne(event_t event) { ScriptData & sd = g_model.scriptsData[s_currIdx]; - drawStringWithIndex(PSIZE(TR_MENUCUSTOMSCRIPTS)*FW+FW, 0, "LUA", s_currIdx+1, 0); + drawStringWithIndex(strlen(STR_MENUCUSTOMSCRIPTS)*FW+FW, 0, "LUA", s_currIdx+1, 0); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID, FILL_WHITE|GREY_DEFAULT); uint8_t old_editMode = s_editMode; @@ -84,7 +84,7 @@ void menuModelCustomScriptOne(event_t event) } } else if (i == ITEM_MODEL_CUSTOMSCRIPT_NAME) { - lcdDrawTextAlignedLeft(y, TR_NAME); + lcdDrawTextAlignedLeft(y, STR_NAME); editName(SCRIPT_ONE_2ND_COLUMN_POS, y, sd.name, sizeof(sd.name), event, (attr != 0), attr, old_editMode); } else if (i == ITEM_MODEL_CUSTOMSCRIPT_PARAMS_LABEL) { diff --git a/radio/src/gui/212x64/model_gvars.cpp b/radio/src/gui/212x64/model_gvars.cpp index a70492cecc6..81295793205 100644 --- a/radio/src/gui/212x64/model_gvars.cpp +++ b/radio/src/gui/212x64/model_gvars.cpp @@ -72,7 +72,7 @@ void menuModelGVarOne(event_t event) { GVarData * gvar = &g_model.gvars[s_currIdx]; - drawStringWithIndex(PSIZE(TR_GVARS)*FW+FW, 0, STR_GV, s_currIdx+1, 0); + drawStringWithIndex(strlen(STR_GVARS)*FW+FW, 0, STR_GV, s_currIdx+1, 0); drawGVarValue(32*FW, 0, s_currIdx, getGVarValue(s_currIdx, getFlightMode())); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID, FILL_WHITE|GREY_DEFAULT); diff --git a/radio/src/gui/212x64/model_input_edit.cpp b/radio/src/gui/212x64/model_input_edit.cpp index 70a72ab123c..22ac8237bc8 100644 --- a/radio/src/gui/212x64/model_input_edit.cpp +++ b/radio/src/gui/212x64/model_input_edit.cpp @@ -62,7 +62,7 @@ void menuModelExpoOne(event_t event) } ExpoData * ed = expoAddress(s_currIdx); - drawSource(PSIZE(TR_MENUINPUTS)*FW+FW, 0, MIXSRC_FIRST_INPUT+ed->chn, 0); + drawSource(strlen(STR_MENUINPUTS)*FW+FW, 0, MIXSRC_FIRST_INPUT+ed->chn, 0); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID, FILL_WHITE|GREY_DEFAULT); uint8_t old_editMode = s_editMode; diff --git a/radio/src/gui/212x64/model_mix_edit.cpp b/radio/src/gui/212x64/model_mix_edit.cpp index 01cb088205c..190ef86a963 100644 --- a/radio/src/gui/212x64/model_mix_edit.cpp +++ b/radio/src/gui/212x64/model_mix_edit.cpp @@ -98,7 +98,7 @@ void menuModelMixOne(event_t event) } MixData * md2 = mixAddress(s_currIdx) ; - putsChn(PSIZE(TR_MIXES)*FW+FW, 0, md2->destCh+1,0); + putsChn(strlen(STR_MIXES)*FW+FW, 0, md2->destCh+1,0); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID, FILL_WHITE|GREY_DEFAULT); uint8_t old_editMode = s_editMode; diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index e34209ee60c..a1fc5652fc1 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -1199,18 +1199,18 @@ void menuModelSetup(event_t event) MODULE_SUBTYPE_R9M_EU) { POPUP_WARNING(STR_MODULE_PROTOCOL_FLEX_WARN_LINE1); SET_WARNING_INFO(STR_MODULE_PROTOCOL_WARN_LINE2, - sizeof(TR_MODULE_PROTOCOL_WARN_LINE2) - 1, 0); + strlen(STR_MODULE_PROTOCOL_WARN_LINE2), 0); } #if POPUP_LEVEL >= 3 else if (g_model.moduleData[EXTERNAL_MODULE].subType == MODULE_SUBTYPE_R9M_EU) { POPUP_WARNING(STR_MODULE_PROTOCOL_EU_WARN_LINE1); SET_WARNING_INFO(STR_MODULE_PROTOCOL_WARN_LINE2, - sizeof(TR_MODULE_PROTOCOL_WARN_LINE2) - 1, 0); + strlen(TR_MODULE_PROTOCOL_WARN_LINE2), 0); } else { POPUP_WARNING(STR_MODULE_PROTOCOL_FCC_WARN_LINE1); SET_WARNING_INFO(STR_MODULE_PROTOCOL_WARN_LINE2, - sizeof(TR_MODULE_PROTOCOL_WARN_LINE2) - 1, 0); + strlen(TR_MODULE_PROTOCOL_WARN_LINE2), 0); } #endif } @@ -1358,7 +1358,7 @@ void menuModelSetup(event_t event) } if (bluetooth.distantAddr[0]) { lcdDrawText(INDENT_WIDTH, y+1, bluetooth.distantAddr, TINSIZE); - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON(TR_CLEAR), attr); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_CLEAR, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { bluetooth.state = BLUETOOTH_STATE_CLEAR_REQUESTED; memclear(bluetooth.distantAddr, sizeof(bluetooth.distantAddr)); @@ -1369,7 +1369,7 @@ void menuModelSetup(event_t event) if (bluetooth.state < BLUETOOTH_STATE_IDLE) lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_BUTTON_INIT, attr); else - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON(TR_DISCOVER), attr); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_DISCOVER, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { if (bluetooth.state < BLUETOOTH_STATE_IDLE) { bluetooth.state = BLUETOOTH_STATE_OFF; @@ -1900,7 +1900,7 @@ void menuModelSetup(event_t event) { uint8_t moduleIdx = CURRENT_MODULE_EDITED(k); lcdDrawTextIndented(y, STR_MODULE); - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON(TR_REGISTER), (menuHorizontalPosition == 0 ? attr : 0)); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_REGISTER, (menuHorizontalPosition == 0 ? attr : 0)); lcdDrawText(lcdLastRightPos + 3, y, STR_MODULE_RANGE, (menuHorizontalPosition == 1 ? attr : 0)); if (attr) { if (moduleState[moduleIdx].mode == MODULE_MODE_NORMAL && s_editMode > 0) { @@ -1946,7 +1946,7 @@ void menuModelSetup(event_t event) expandState.viewOpt = expandableSection(y, STR_ENABLED_FEATURES, expandState.viewOpt, attr, event); break; case ITEM_VIEW_OPTIONS_RADIO_TAB: - lcdDrawTextIndented(y, TR_RADIO_MENU_TABS); + lcdDrawTextIndented(y, STR_RADIO_MENU_TABS); break; case ITEM_VIEW_OPTIONS_GF: g_model.radioGFDisabled = viewOptChoice(y, STR_MENUSPECIALFUNCS, g_model.radioGFDisabled, attr, event, g_eeGeneral.radioGFDisabled); @@ -1955,7 +1955,7 @@ void menuModelSetup(event_t event) g_model.radioTrainerDisabled = viewOptChoice(y, STR_MENUTRAINER, g_model.radioTrainerDisabled, attr, event, g_eeGeneral.radioTrainerDisabled); break; case ITEM_VIEW_OPTIONS_MODEL_TAB: - lcdDrawTextIndented(y, TR_MODEL_MENU_TABS); + lcdDrawTextIndented(y, STR_MODEL_MENU_TABS); break; #if defined(HELI) case ITEM_VIEW_OPTIONS_HELI: @@ -2008,14 +2008,14 @@ void menuModelSetup(event_t event) break; case ITEM_MODEL_SETUP_USBJOYSTICK_CH_BUTTON: - lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_USBJOYSTICK_SETTINGS), attr); + lcdDrawText(INDENT_WIDTH, y, STR_USBJOYSTICK_SETTINGS, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { pushMenu(menuModelUSBJoystick); } break; case ITEM_MODEL_SETUP_USBJOYSTICK_APPLY: - lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_USBJOYSTICK_APPLY_CHANGES), attr); + lcdDrawText(INDENT_WIDTH, y, STR_USBJOYSTICK_APPLY_CHANGES, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { onUSBJoystickModelChanged(); } diff --git a/radio/src/gui/212x64/model_telemetry_sensor.cpp b/radio/src/gui/212x64/model_telemetry_sensor.cpp index f131f785ddd..2a6e9634e24 100644 --- a/radio/src/gui/212x64/model_telemetry_sensor.cpp +++ b/radio/src/gui/212x64/model_telemetry_sensor.cpp @@ -59,7 +59,7 @@ void menuModelSensor(event_t event) { TelemetrySensor * sensor = &g_model.telemetrySensors[s_currIdx]; - drawStringWithIndex(PSIZE(TR_MENUSENSOR)*FW+FW, 0, STR_SENSOR, s_currIdx+1); + drawStringWithIndex(strlen(STR_MENUSENSOR)*FW+FW, 0, STR_SENSOR, s_currIdx+1); drawSensorCustomValue(25*FW, 0, s_currIdx, getValue(MIXSRC_FIRST_TELEM+3*s_currIdx)); lcdDrawFilledRect(0, 0, LCD_W, FH, SOLID, FILL_WHITE|GREY_DEFAULT); diff --git a/radio/src/gui/212x64/radio_setup.cpp b/radio/src/gui/212x64/radio_setup.cpp index c5a4f3c25ca..14def4ff074 100644 --- a/radio/src/gui/212x64/radio_setup.cpp +++ b/radio/src/gui/212x64/radio_setup.cpp @@ -741,7 +741,7 @@ void menuRadioSetup(event_t event) expandState.viewOpt = expandableSection(y, STR_ENABLED_FEATURES, expandState.viewOpt, attr, event); break; case ITEM_VIEW_OPTIONS_RADIO_TAB: - lcdDrawTextIndented(y, TR_RADIO_MENU_TABS); + lcdDrawTextIndented(y, STR_RADIO_MENU_TABS); break; case ITEM_VIEW_OPTIONS_GF: g_eeGeneral.radioGFDisabled = viewOptCheckBox(y, STR_MENUSPECIALFUNCS, g_eeGeneral.radioGFDisabled, attr, event, g_model.radioGFDisabled); @@ -750,7 +750,7 @@ void menuRadioSetup(event_t event) g_eeGeneral.radioTrainerDisabled = viewOptCheckBox(y, STR_MENUTRAINER, g_eeGeneral.radioTrainerDisabled, attr, event, g_model.radioTrainerDisabled); break; case ITEM_VIEW_OPTIONS_MODEL_TAB: - lcdDrawTextIndented(y, TR_MODEL_MENU_TABS); + lcdDrawTextIndented(y, STR_MODEL_MENU_TABS); break; #if defined(HELI) case ITEM_VIEW_OPTIONS_HELI: diff --git a/radio/src/gui/colorlcd/controls/channel_bar.cpp b/radio/src/gui/colorlcd/controls/channel_bar.cpp index acc2f15da88..5d9e2f48b06 100644 --- a/radio/src/gui/colorlcd/controls/channel_bar.cpp +++ b/radio/src/gui/colorlcd/controls/channel_bar.cpp @@ -239,8 +239,9 @@ ComboChannelBar::ComboChannelBar(Window* parent, const rect_t& rect, channel); // Channel number - char chanString[] = TR_CH "32 "; - strAppendSigned(&chanString[2], channel + 1, 2); + char chanString[10]; + char* s = strAppend(chanString, STR_CH); + strAppendSigned(s, channel + 1); new StaticText(this, {PAD_TINY + invMask->width, 0, LV_SIZE_CONTENT, ChannelBar::VAL_H}, chanString, txtColIdx, FONT(XS) | LEFT); diff --git a/radio/src/gui/colorlcd/controls/switch_warn_dialog.cpp b/radio/src/gui/colorlcd/controls/switch_warn_dialog.cpp index 73ec69d42ed..d5d3e48c927 100644 --- a/radio/src/gui/colorlcd/controls/switch_warn_dialog.cpp +++ b/radio/src/gui/colorlcd/controls/switch_warn_dialog.cpp @@ -95,7 +95,7 @@ void SwitchWarnDialog::checkEvents() } ThrottleWarnDialog::ThrottleWarnDialog(const char* msg) : - FullScreenDialog(WARNING_TYPE_ALERT, TR_THROTTLE_UPPERCASE, msg, + FullScreenDialog(WARNING_TYPE_ALERT, STR_THROTTLE_UPPERCASE, msg, STR_PRESS_ANY_KEY_TO_SKIP) { setCloseCondition(std::bind(&ThrottleWarnDialog::warningInactive, this)); diff --git a/radio/src/gui/colorlcd/libui/bitmapbuffer_draw_extra.cpp b/radio/src/gui/colorlcd/libui/bitmapbuffer_draw_extra.cpp index fe0df7438fc..38307bc08a9 100644 --- a/radio/src/gui/colorlcd/libui/bitmapbuffer_draw_extra.cpp +++ b/radio/src/gui/colorlcd/libui/bitmapbuffer_draw_extra.cpp @@ -25,7 +25,6 @@ #include "edgetx.h" #include "strhelpers.h" #include "telemetry/telemetry_sensors.h" -#include "translations.h" #include diff --git a/radio/src/gui/colorlcd/libui/file_carosell.cpp b/radio/src/gui/colorlcd/libui/file_carosell.cpp index f72fdc9489b..2b749abe207 100644 --- a/radio/src/gui/colorlcd/libui/file_carosell.cpp +++ b/radio/src/gui/colorlcd/libui/file_carosell.cpp @@ -21,7 +21,7 @@ #include "file_carosell.h" -#include "translations.h" +#include "translations/translations.h" extern inline tmr10ms_t getTicks() { diff --git a/radio/src/gui/colorlcd/libui/fullscreen_dialog.cpp b/radio/src/gui/colorlcd/libui/fullscreen_dialog.cpp index eb67aa28097..a332b760bc4 100644 --- a/radio/src/gui/colorlcd/libui/fullscreen_dialog.cpp +++ b/radio/src/gui/colorlcd/libui/fullscreen_dialog.cpp @@ -101,7 +101,7 @@ void FullScreenDialog::build() } else { if (type == WARNING_TYPE_CONFIRM) { auto btn = new TextButton( - this, {LCD_W / 3 - TWOBTN_W / 2, LCD_H - TWOBTN_H - PAD_LARGE, TWOBTN_W, TWOBTN_H}, STR_EXIT, + this, {LCD_W / 3 - TWOBTN_W / 2, LCD_H - TWOBTN_H - PAD_LARGE, TWOBTN_W, TWOBTN_H}, STR_CANCEL, [=]() { deleteLater(); return 0; diff --git a/radio/src/gui/colorlcd/libui/menutoolbar.cpp b/radio/src/gui/colorlcd/libui/menutoolbar.cpp index 99049e55c7a..d5178915acb 100644 --- a/radio/src/gui/colorlcd/libui/menutoolbar.cpp +++ b/radio/src/gui/colorlcd/libui/menutoolbar.cpp @@ -20,7 +20,7 @@ #include "menu.h" #include "etx_lv_theme.h" -#include "translations.h" +#include "translations/translations.h" static const lv_obj_class_t menu_button_class = { .base_class = &button_class, diff --git a/radio/src/gui/colorlcd/mainview/layout_factory_impl.h b/radio/src/gui/colorlcd/mainview/layout_factory_impl.h index 0042277128b..a0a3dcf8936 100644 --- a/radio/src/gui/colorlcd/mainview/layout_factory_impl.h +++ b/radio/src/gui/colorlcd/mainview/layout_factory_impl.h @@ -24,7 +24,7 @@ #include #include "audio.h" -#include "translations.h" +#include "translations/translations.h" #include "widgets_container_impl.h" #include "view_main_decoration.h" diff --git a/radio/src/gui/colorlcd/model/model_mixer_scripts.cpp b/radio/src/gui/colorlcd/model/model_mixer_scripts.cpp index 5ff7ba160c6..fc200a32e8a 100644 --- a/radio/src/gui/colorlcd/model/model_mixer_scripts.cpp +++ b/radio/src/gui/colorlcd/model/model_mixer_scripts.cpp @@ -30,7 +30,6 @@ #include "page.h" #include "sourcechoice.h" #include "etx_lv_theme.h" -#include "translations.h" #define SET_DIRTY() storageDirty(EE_MODEL) diff --git a/radio/src/gui/colorlcd/model/model_mixes.cpp b/radio/src/gui/colorlcd/model/model_mixes.cpp index 44190853f88..c151b05c1ec 100644 --- a/radio/src/gui/colorlcd/model/model_mixes.cpp +++ b/radio/src/gui/colorlcd/model/model_mixes.cpp @@ -182,8 +182,10 @@ class MixGroup : public InputMixGroupBase g_model.limitData[idx - MIXSRC_FIRST_CH].name[0] != '\0') { chText = lv_label_create(lvobj); etx_font(chText, FONT_XS_INDEX); - lv_label_set_text_fmt(chText, TR_CH "%" PRIu32, - UINT32_C(idx - MIXSRC_FIRST_CH + 1)); + char chanStr[10]; + char* s = strAppend(chanStr, STR_CH); + strAppendUnsigned(s, idx - MIXSRC_FIRST_CH + 1); + lv_label_set_text(chText, chanStr); lv_obj_set_pos(chText, PAD_TINY, CHNUM_Y-1); } diff --git a/radio/src/gui/colorlcd/model/model_outputs.cpp b/radio/src/gui/colorlcd/model/model_outputs.cpp index 4d8a90d6987..424ff867607 100644 --- a/radio/src/gui/colorlcd/model/model_outputs.cpp +++ b/radio/src/gui/colorlcd/model/model_outputs.cpp @@ -117,9 +117,12 @@ class OutputLineButton : public ListLineButton #if !NARROW_LAYOUT lv_obj_add_state(source, ETX_STATE_NAME_FONT_SMALL); #endif - lv_label_set_text_fmt(source, "%s\n" TR_CH "%u", - getSourceString(MIXSRC_FIRST_CH + index), - index + 1); + char chanStr[LEN_CHANNEL_NAME + 16]; + char* s = strAppend(chanStr, getSourceString(MIXSRC_FIRST_CH + index)); + s = strAppend(s, "\n"); + s = strAppend(s, STR_CH); + strAppendUnsigned(s, index + 1); + lv_label_set_text(source, chanStr); } else { #if !NARROW_LAYOUT lv_obj_clear_state(source, ETX_STATE_NAME_FONT_SMALL); diff --git a/radio/src/gui/colorlcd/model/model_setup.cpp b/radio/src/gui/colorlcd/model/model_setup.cpp index d98428a80f0..52848c14af6 100644 --- a/radio/src/gui/colorlcd/model/model_setup.cpp +++ b/radio/src/gui/colorlcd/model/model_setup.cpp @@ -357,9 +357,9 @@ void ModelSetupPage::build(Window * window) {STR_EXTERNALRF, []() { new ModulePage(EXTERNAL_MODULE); }, []() { return g_model.moduleData[EXTERNAL_MODULE].type > 0; }}, {STR_TRAINER, []() { new TrainerPage(); }, []() { return g_model.trainerData.mode > 0; }}, // Timer buttons - {TR_TIMER "1", []() { new TimerWindow(0); }, []() { return g_model.timers[0].mode > 0; }}, - {TR_TIMER "2", []() { new TimerWindow(1); }, []() { return g_model.timers[1].mode > 0; }}, - {TR_TIMER "3", []() { new TimerWindow(2); }, []() { return g_model.timers[2].mode > 0; }}, + {STR_TIMER_1, []() { new TimerWindow(0); }, []() { return g_model.timers[0].mode > 0; }}, + {STR_TIMER_2, []() { new TimerWindow(1); }, []() { return g_model.timers[1].mode > 0; }}, + {STR_TIMER_3, []() { new TimerWindow(2); }, []() { return g_model.timers[2].mode > 0; }}, {STR_PREFLIGHT, []() { new PreflightChecks(); }}, {STR_TRIMS, []() { new TrimsSetup(); }}, diff --git a/radio/src/gui/colorlcd/model/output_edit.cpp b/radio/src/gui/colorlcd/model/output_edit.cpp index ddae14db116..46b8aa83fbf 100644 --- a/radio/src/gui/colorlcd/model/output_edit.cpp +++ b/radio/src/gui/colorlcd/model/output_edit.cpp @@ -127,7 +127,7 @@ void OutputEditWindow::buildBody(Window *form) new ModelTextEdit(line, rect_t{}, output->name, sizeof(output->name)); // Offset - new StaticText(line, rect_t{}, TR_LIMITS_HEADERS_SUBTRIM); + new StaticText(line, rect_t{}, STR_LIMITS_HEADERS_SUBTRIM); auto off = new GVarNumberEdit(line, -LIMIT_STD_MAX, +LIMIT_STD_MAX, GET_SET_DEFAULT(output->offset), PREC1); off->setFastStep(20); @@ -140,7 +140,7 @@ void OutputEditWindow::buildBody(Window *form) // Min line = form->newLine(grid); - minText = new StaticText(line, rect_t{}, TR_MIN); + minText = new StaticText(line, rect_t{}, STR_MIN); etx_solid_bg(minText->getLvObj(), COLOR_THEME_ACTIVE_INDEX, ETX_STATE_MINMAX_HIGHLIGHT); etx_font(minText->getLvObj(), FONT_BOLD_INDEX, ETX_STATE_MINMAX_HIGHLIGHT); minEdit = new GVarNumberEdit(line, -limit, 0, @@ -156,7 +156,7 @@ void OutputEditWindow::buildBody(Window *form) }); // Max - maxText = new StaticText(line, rect_t{}, TR_MAX); + maxText = new StaticText(line, rect_t{}, STR_MAX); etx_solid_bg(maxText->getLvObj(), COLOR_THEME_ACTIVE_INDEX, ETX_STATE_MINMAX_HIGHLIGHT); etx_font(maxText->getLvObj(), FONT_BOLD_INDEX, ETX_STATE_MINMAX_HIGHLIGHT); maxEdit = new GVarNumberEdit(line, 0, +limit, @@ -181,12 +181,12 @@ void OutputEditWindow::buildBody(Window *form) }); // Curve - new StaticText(line, rect_t{}, TR_CURVE); + new StaticText(line, rect_t{}, STR_CURVE); new CurveChoice(line, GET_SET_DEFAULT(output->curve), nullptr, channel + MIXSRC_FIRST_CH); // PPM center line = form->newLine(grid); - auto label = new StaticText(line, rect_t{}, TR_LIMITS_HEADERS_PPMCENTER); + auto label = new StaticText(line, rect_t{}, STR_LIMITS_HEADERS_PPMCENTER); lv_label_set_long_mode(label->getLvObj(), LV_LABEL_LONG_WRAP); lv_obj_set_style_grid_cell_x_align(label->getLvObj(), LV_GRID_ALIGN_STRETCH, 0); @@ -200,7 +200,7 @@ void OutputEditWindow::buildBody(Window *form) center->setDefault(PPM_CENTER); // Subtrims mode - label = new StaticText(line, rect_t{}, TR_LIMITS_HEADERS_SUBTRIMMODE); + label = new StaticText(line, rect_t{}, STR_LIMITS_HEADERS_SUBTRIMMODE); lv_label_set_long_mode(label->getLvObj(), LV_LABEL_LONG_WRAP); lv_obj_set_style_grid_cell_x_align(label->getLvObj(), LV_GRID_ALIGN_STRETCH, 0); diff --git a/radio/src/gui/colorlcd/module/module_setup.cpp b/radio/src/gui/colorlcd/module/module_setup.cpp index 4c3837abe66..89a49280348 100644 --- a/radio/src/gui/colorlcd/module/module_setup.cpp +++ b/radio/src/gui/colorlcd/module/module_setup.cpp @@ -388,8 +388,9 @@ class ModuleWindow : public Window if (isModuleRFAccess(moduleIdx)) { for (uint8_t receiverIdx = 0; receiverIdx < PXX2_MAX_RECEIVERS_PER_MODULE; receiverIdx++) { - char label[] = TR_RECEIVER " X"; - label[sizeof(label) - 2] = '1' + receiverIdx; + char label[40]; + char* s = strAppend(label, STR_RECEIVER); + strAppendUnsigned(s, receiverIdx + 1); auto line = newLine(grid); new StaticText(line, rect_t{}, label); diff --git a/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp b/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp index 5f7b6d5bec2..393c581bf5b 100644 --- a/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp +++ b/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp @@ -134,7 +134,7 @@ class FrskyOtaFlashDialog : public BaseDialog if (reusableBuffer.sdManager.otaUpdateInformation.step == BIND_INFO_REQUEST) { uint8_t modelId = reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.modelID; if (isPXX2ReceiverOptionAvailable(modelId, RECEIVER_OPTION_OTA_TO_UPDATE_SELF)) { - char *tmp = strAppend(reusableBuffer.sdManager.otaReceiverVersion, TR_CURRENT_VERSION); + char *tmp = strAppend(reusableBuffer.sdManager.otaReceiverVersion, STR_CURRENT_VERSION); tmp = strAppendUnsigned(tmp, 1 + reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.major); *tmp++ = '.'; tmp = strAppendUnsigned(tmp, reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.minor); diff --git a/radio/src/gui/colorlcd/setup_menus/menu_screen.cpp b/radio/src/gui/colorlcd/setup_menus/menu_screen.cpp index f1e4b788a68..4c75793e7de 100644 --- a/radio/src/gui/colorlcd/setup_menus/menu_screen.cpp +++ b/radio/src/gui/colorlcd/setup_menus/menu_screen.cpp @@ -27,16 +27,16 @@ PageDef screensMenuItems[] = { { ICON_RADIO_EDIT_THEME, STR_QM_THEMES, STR_MAIN_MENU_THEMES, PAGE_CREATE, QuickMenu::UI_THEMES, [](PageDef& pageDef) { return new ThemeSetupPage(pageDef); }, radioThemesEnabled}, { ICON_THEME_SETUP, STR_QM_TOP_BAR, STR_USER_INTERFACE, PAGE_CREATE, QuickMenu::UI_SETUP, [](PageDef& pageDef) { return new ScreenUserInterfacePage(pageDef); }}, - { ICON_THEME_VIEW1, STR_QM_SCREEN_1, TR_MAIN_VIEW_X "1", PAGE_CREATE, QuickMenu::UI_SCREEN1, [](PageDef& pageDef) { return new ScreenSetupPage(0, pageDef); }}, - { ICON_THEME_VIEW2, STR_QM_SCREEN_2, TR_MAIN_VIEW_X "2", PAGE_CREATE, QuickMenu::UI_SCREEN2, [](PageDef& pageDef) { return new ScreenSetupPage(1, pageDef); }, []() { return customScreens[1] != nullptr; }}, - { ICON_THEME_VIEW3, STR_QM_SCREEN_3, TR_MAIN_VIEW_X "3", PAGE_CREATE, QuickMenu::UI_SCREEN3, [](PageDef& pageDef) { return new ScreenSetupPage(2, pageDef); }, []() { return customScreens[2] != nullptr; }}, - { ICON_THEME_VIEW4, STR_QM_SCREEN_4, TR_MAIN_VIEW_X "4", PAGE_CREATE, QuickMenu::UI_SCREEN4, [](PageDef& pageDef) { return new ScreenSetupPage(3, pageDef); }, []() { return customScreens[3] != nullptr; }}, - { ICON_THEME_VIEW5, STR_QM_SCREEN_5, TR_MAIN_VIEW_X "5", PAGE_CREATE, QuickMenu::UI_SCREEN5, [](PageDef& pageDef) { return new ScreenSetupPage(4, pageDef); }, []() { return customScreens[4] != nullptr; }}, - { ICON_THEME_VIEW6, STR_QM_SCREEN_6, TR_MAIN_VIEW_X "6", PAGE_CREATE, QuickMenu::UI_SCREEN6, [](PageDef& pageDef) { return new ScreenSetupPage(5, pageDef); }, []() { return customScreens[5] != nullptr; }}, - { ICON_THEME_VIEW7, STR_QM_SCREEN_7, TR_MAIN_VIEW_X "7", PAGE_CREATE, QuickMenu::UI_SCREEN7, [](PageDef& pageDef) { return new ScreenSetupPage(6, pageDef); }, []() { return customScreens[6] != nullptr; }}, - { ICON_THEME_VIEW8, STR_QM_SCREEN_8, TR_MAIN_VIEW_X "8", PAGE_CREATE, QuickMenu::UI_SCREEN8, [](PageDef& pageDef) { return new ScreenSetupPage(7, pageDef); }, []() { return customScreens[7] != nullptr; }}, - { ICON_THEME_VIEW9, STR_QM_SCREEN_9, TR_MAIN_VIEW_X "9", PAGE_CREATE, QuickMenu::UI_SCREEN9, [](PageDef& pageDef) { return new ScreenSetupPage(8, pageDef); }, []() { return customScreens[8] != nullptr; }}, - { ICON_THEME_VIEW10, STR_QM_SCREEN_10, TR_MAIN_VIEW_X "10", PAGE_CREATE, QuickMenu::UI_SCREEN10, [](PageDef& pageDef) { return new ScreenSetupPage(9, pageDef); }, []() { return customScreens[9] != nullptr; }}, + { ICON_THEME_VIEW1, STR_QM_SCREEN_1, STR_MAIN_VIEW_1, PAGE_CREATE, QuickMenu::UI_SCREEN1, [](PageDef& pageDef) { return new ScreenSetupPage(0, pageDef); }}, + { ICON_THEME_VIEW2, STR_QM_SCREEN_2, STR_MAIN_VIEW_2, PAGE_CREATE, QuickMenu::UI_SCREEN2, [](PageDef& pageDef) { return new ScreenSetupPage(1, pageDef); }, []() { return customScreens[1] != nullptr; }}, + { ICON_THEME_VIEW3, STR_QM_SCREEN_3, STR_MAIN_VIEW_3, PAGE_CREATE, QuickMenu::UI_SCREEN3, [](PageDef& pageDef) { return new ScreenSetupPage(2, pageDef); }, []() { return customScreens[2] != nullptr; }}, + { ICON_THEME_VIEW4, STR_QM_SCREEN_4, STR_MAIN_VIEW_4, PAGE_CREATE, QuickMenu::UI_SCREEN4, [](PageDef& pageDef) { return new ScreenSetupPage(3, pageDef); }, []() { return customScreens[3] != nullptr; }}, + { ICON_THEME_VIEW5, STR_QM_SCREEN_5, STR_MAIN_VIEW_5, PAGE_CREATE, QuickMenu::UI_SCREEN5, [](PageDef& pageDef) { return new ScreenSetupPage(4, pageDef); }, []() { return customScreens[4] != nullptr; }}, + { ICON_THEME_VIEW6, STR_QM_SCREEN_6, STR_MAIN_VIEW_6, PAGE_CREATE, QuickMenu::UI_SCREEN6, [](PageDef& pageDef) { return new ScreenSetupPage(5, pageDef); }, []() { return customScreens[5] != nullptr; }}, + { ICON_THEME_VIEW7, STR_QM_SCREEN_7, STR_MAIN_VIEW_7, PAGE_CREATE, QuickMenu::UI_SCREEN7, [](PageDef& pageDef) { return new ScreenSetupPage(6, pageDef); }, []() { return customScreens[6] != nullptr; }}, + { ICON_THEME_VIEW8, STR_QM_SCREEN_8, STR_MAIN_VIEW_8, PAGE_CREATE, QuickMenu::UI_SCREEN8, [](PageDef& pageDef) { return new ScreenSetupPage(7, pageDef); }, []() { return customScreens[7] != nullptr; }}, + { ICON_THEME_VIEW9, STR_QM_SCREEN_9, STR_MAIN_VIEW_9, PAGE_CREATE, QuickMenu::UI_SCREEN9, [](PageDef& pageDef) { return new ScreenSetupPage(8, pageDef); }, []() { return customScreens[8] != nullptr; }}, + { ICON_THEME_VIEW10, STR_QM_SCREEN_10, STR_MAIN_VIEW_10, PAGE_CREATE, QuickMenu::UI_SCREEN10, [](PageDef& pageDef) { return new ScreenSetupPage(9, pageDef); }, []() { return customScreens[9] != nullptr; }}, { ICON_THEME_ADD_VIEW, STR_QM_ADD_SCREEN, nullptr, PAGE_ACTION, QuickMenu::UI_ADD_PG, nullptr, []() { return customScreens[9] == nullptr; }, [](QuickSubMenu* subMenu) { int newIdx = 1; diff --git a/radio/src/gui/colorlcd/standalone_lua.cpp b/radio/src/gui/colorlcd/standalone_lua.cpp index 2eefc160dff..bc10c2d2347 100644 --- a/radio/src/gui/colorlcd/standalone_lua.cpp +++ b/radio/src/gui/colorlcd/standalone_lua.cpp @@ -21,7 +21,6 @@ #include "standalone_lua.h" -#include "translations.h" #include "view_main.h" #include "dma2d.h" #include "lua/lua_event.h" diff --git a/radio/src/gui/common/stdlcd/boot_menu.cpp b/radio/src/gui/common/stdlcd/boot_menu.cpp index 7875396ba73..dedd6093862 100644 --- a/radio/src/gui/common/stdlcd/boot_menu.cpp +++ b/radio/src/gui/common/stdlcd/boot_menu.cpp @@ -24,8 +24,6 @@ #include "board.h" #include "lcd.h" -#include "translations.h" - #include "fw_version.h" #include "translations/bl_translations.h" #include "bootloader/boot.h" diff --git a/radio/src/gui/common/stdlcd/model_inputs.cpp b/radio/src/gui/common/stdlcd/model_inputs.cpp index d60b29d630b..e7987ef81be 100644 --- a/radio/src/gui/common/stdlcd/model_inputs.cpp +++ b/radio/src/gui/common/stdlcd/model_inputs.cpp @@ -364,8 +364,8 @@ void menuModelExposAll(event_t event) s_copyTgtOfs = next_ofs; } - lcdDrawNumber(FW*sizeof(TR_MENUINPUTS)+FW+FW/2, 0, getExposCount(), RIGHT); - lcdDrawText(FW*sizeof(TR_MENUINPUTS)+FW+FW/2, 0, STR_MAX(MAX_EXPOS)); + lcdDrawNumber(FW*strlen(STR_MENUINPUTS)+FW+FW/2, 0, getExposCount(), RIGHT); + lcdDrawText(FW*strlen(STR_MENUINPUTS)+FW+FW/2, 0, STR_MAX(MAX_EXPOS)); #if LCD_DEPTH > 1 // Value diff --git a/radio/src/gui/common/stdlcd/model_mixes.cpp b/radio/src/gui/common/stdlcd/model_mixes.cpp index 3a658100720..10393208dbc 100644 --- a/radio/src/gui/common/stdlcd/model_mixes.cpp +++ b/radio/src/gui/common/stdlcd/model_mixes.cpp @@ -141,8 +141,8 @@ void displayMixInfos(coord_t y, MixData * md) void displayMixLine(coord_t y, MixData * md, bool active) { if(active && md->name[0]) { - lcdDrawFilledRect(FW*sizeof(TR_MIXES)+FW/2, 0, FW*4+1, MENU_HEADER_HEIGHT, 0xFF, ERASE); - lcdDrawSizedText(FW*sizeof(TR_MIXES)+FW/2, 0, md->name, sizeof(md->name), 0); + lcdDrawFilledRect(FW*strlen(STR_MIXES)+FW/2, 0, FW*4+1, MENU_HEADER_HEIGHT, 0xFF, ERASE); + lcdDrawSizedText(FW*strlen(STR_MIXES)+FW/2, 0, md->name, sizeof(md->name), 0); if (!md->flightModes || ((md->curve.value || md->swtch) && ((get_tmr10ms() / 200) & 1))) displayMixInfos(y, md); else @@ -279,7 +279,7 @@ void menuModelMixAll(event_t event) s_copyTgtOfs = next_ofs; } - lcdDrawNumber(FW*sizeof(TR_MIXES)+FW/2, 0, getMixCount(), 0); + lcdDrawNumber(FW*strlen(STR_MIXES)+FW/2, 0, getMixCount(), 0); lcdDrawText(lcdNextPos, 0, STR_MAX(MAX_MIXERS)); // Value diff --git a/radio/src/gui/common/stdlcd/model_setup_pxx2.cpp b/radio/src/gui/common/stdlcd/model_setup_pxx2.cpp index f993fb4bef4..f887242a7f9 100644 --- a/radio/src/gui/common/stdlcd/model_setup_pxx2.cpp +++ b/radio/src/gui/common/stdlcd/model_setup_pxx2.cpp @@ -215,7 +215,7 @@ void runPopupRegister(event_t event) // RX name if (reusableBuffer.moduleSetup.pxx2.registerStep < REGISTER_RX_NAME_RECEIVED) { lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 4 + 2 * FH, STR_WAITING); - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 2 + 3 * FH, TR_EXIT, menuVerticalPosition == ITEM_REGISTER_BUTTONS ? INVERS : 0); + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 2 + 3 * FH, STR_EXIT, menuVerticalPosition == ITEM_REGISTER_BUTTONS ? INVERS : 0); } else { lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 4 + 2 * FH, STR_RX_NAME); @@ -225,13 +225,13 @@ void runPopupRegister(event_t event) event, menuVerticalPosition == ITEM_REGISTER_RECEIVER_NAME, 0, backupEditMode); - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 2 + 3 * FH, TR_ENTER, + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 2 + 3 * FH, STR_ENTER, menuVerticalPosition == ITEM_REGISTER_BUTTONS && menuHorizontalPosition == 0 ? INVERS : 0); - lcdDrawText(WARNING_LINE_X + 8 * FW, WARNING_LINE_Y - 2 + 3 * FH, TR_EXIT, + lcdDrawText(WARNING_LINE_X + 8 * FW, WARNING_LINE_Y - 2 + 3 * FH, STR_EXIT, menuVerticalPosition == ITEM_REGISTER_BUTTONS && menuHorizontalPosition == 1 ? INVERS diff --git a/radio/src/gui/common/stdlcd/model_usbjoystick.cpp b/radio/src/gui/common/stdlcd/model_usbjoystick.cpp index 613565b935b..a22000187c4 100644 --- a/radio/src/gui/common/stdlcd/model_usbjoystick.cpp +++ b/radio/src/gui/common/stdlcd/model_usbjoystick.cpp @@ -87,7 +87,7 @@ void menuModelUSBJoystickOne(event_t event) break; case USBJ_FIELD_INVERSION: - lcdDrawTextAlignedLeft(y, TR_USBJOYSTICK_CH_INVERSION); + lcdDrawTextAlignedLeft(y, STR_USBJOYSTICK_CH_INVERSION); drawCheckBox(USBJ_ONE_2ND_COLUMN, y, cch->inversion, attr); if (attr) cch->inversion = checkIncDecModel(event, cch->inversion, 0, 1); break; @@ -123,7 +123,7 @@ void menuModelUSBJoystickOne(event_t event) break; case USBJ_FIELD_BTNNUM: - lcdDrawTextAlignedLeft(y, TR_USBJOYSTICK_CH_BTNNUM); + lcdDrawTextAlignedLeft(y, STR_USBJOYSTICK_CH_BTNNUM); uint8_t last = cch->lastBtnNumNoCLip(); uint8_t limited = 0; if(last >= USBJ_BUTTON_SIZE) { diff --git a/radio/src/gui/common/stdlcd/popups.cpp b/radio/src/gui/common/stdlcd/popups.cpp index b0cebce591e..ca87c928f51 100644 --- a/radio/src/gui/common/stdlcd/popups.cpp +++ b/radio/src/gui/common/stdlcd/popups.cpp @@ -174,7 +174,7 @@ void runPopupWarning(event_t event) break; case WARNING_TYPE_ASTERISK: - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+4*FH+2, BUTTON(TR_EXIT)); + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+4*FH+2, STR_EXIT_BTN); break; default: diff --git a/radio/src/gui/common/stdlcd/radio_hardware.cpp b/radio/src/gui/common/stdlcd/radio_hardware.cpp index 1a7f5dd9d84..8dbc7766db3 100644 --- a/radio/src/gui/common/stdlcd/radio_hardware.cpp +++ b/radio/src/gui/common/stdlcd/radio_hardware.cpp @@ -410,7 +410,7 @@ void menuRadioHardware(event_t event) switch(k) { case ITEM_RADIO_HARDWARE_LABEL_STICKS: lcdDrawTextAlignedLeft(y, STR_STICKS); - lcdDrawText(HW_SETTINGS_COLUMN2, y, BUTTON(TR_CALIBRATION), attr); + lcdDrawText(HW_SETTINGS_COLUMN2, y, STR_CALIBRATION, attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { pushMenu(menuRadioCalibration); } @@ -548,7 +548,7 @@ void menuRadioHardware(event_t event) if (!s_editMode && reusableBuffer.radioHardware.antennaMode != g_eeGeneral.antennaMode) { if (!isExternalAntennaEnabled() && (reusableBuffer.radioHardware.antennaMode == ANTENNA_MODE_EXTERNAL || (reusableBuffer.radioHardware.antennaMode == ANTENNA_MODE_PER_MODEL && g_model.moduleData[INTERNAL_MODULE].pxx.antennaMode == ANTENNA_MODE_EXTERNAL))) { POPUP_CONFIRMATION(STR_ANTENNACONFIRM1, onHardwareAntennaSwitchConfirm); - SET_WARNING_INFO(STR_ANTENNACONFIRM2, sizeof(TR_ANTENNACONFIRM2), 0); + SET_WARNING_INFO(STR_ANTENNACONFIRM2, strlen(STR_ANTENNACONFIRM2), 0); } else { g_eeGeneral.antennaMode = reusableBuffer.radioHardware.antennaMode; diff --git a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp index 104f66bdefb..7981a4db4c2 100644 --- a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp +++ b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp @@ -90,7 +90,7 @@ void onUpdateStateChanged() uint8_t modelId = reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.modelID; if (isPXX2ReceiverOptionAvailable(modelId, RECEIVER_OPTION_OTA_TO_UPDATE_SELF)) { POPUP_CONFIRMATION(getPXX2ReceiverName(modelId), onUpdateConfirmation); - char *tmp = strAppend(reusableBuffer.sdManager.otaReceiverVersion, TR_CURRENT_VERSION); + char *tmp = strAppend(reusableBuffer.sdManager.otaReceiverVersion, STR_CURRENT_VERSION); tmp = strAppendUnsigned(tmp, 1 + reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.major); *tmp++ = '.'; tmp = strAppendUnsigned(tmp, reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.minor); @@ -100,7 +100,7 @@ void onUpdateStateChanged() } else { POPUP_WARNING(STR_OTA_UPDATE_ERROR); - SET_WARNING_INFO(STR_UNSUPPORTED_RX, sizeof(TR_UNSUPPORTED_RX) - 1, 0); + SET_WARNING_INFO(STR_UNSUPPORTED_RX, strlen(STR_UNSUPPORTED_RX) - 1, 0); moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode = MODULE_MODE_NORMAL; } } diff --git a/radio/src/gui/common/stdlcd/radio_trainer.cpp b/radio/src/gui/common/stdlcd/radio_trainer.cpp index d701f3a654d..cd8e2af3889 100644 --- a/radio/src/gui/common/stdlcd/radio_trainer.cpp +++ b/radio/src/gui/common/stdlcd/radio_trainer.cpp @@ -100,7 +100,7 @@ void menuRadioTrainer(event_t event) attr = (menuVerticalPosition==HEADER_LINE+4) ? blink : 0; if (g_model.trainerData.mode == TRAINER_MODE_MASTER_TRAINER_JACK) { lcdDrawTextAlignedLeft(y, STR_MULTIPLIER); - lcdDrawNumber(LEN_MULTIPLIER * FW + 3 * FW, y, g_eeGeneral.PPM_Multiplier + 10, attr | PREC1 | RIGHT); + lcdDrawNumber(strlen(STR_MULTIPLIER) * FW + 3 * FW, y, g_eeGeneral.PPM_Multiplier + 10, attr | PREC1 | RIGHT); if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.PPM_Multiplier, -10, 40); } y += FH; diff --git a/radio/src/gui/common/stdlcd/radio_version.cpp b/radio/src/gui/common/stdlcd/radio_version.cpp index e1386479064..76ad4c546bd 100644 --- a/radio/src/gui/common/stdlcd/radio_version.cpp +++ b/radio/src/gui/common/stdlcd/radio_version.cpp @@ -271,7 +271,7 @@ void menuRadioVersion(event_t event) y += 5 * (FH - 1) + 2; #if defined(PCBTARANIS) - lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_FIRMWARE_OPTIONS), menuVerticalPosition == ITEM_RADIO_FIRMWARE_OPTIONS ? INVERS : 0); + lcdDrawText(INDENT_WIDTH, y, STR_FIRMWARE_OPTIONS, menuVerticalPosition == ITEM_RADIO_FIRMWARE_OPTIONS ? INVERS : 0); y += FH; if (menuVerticalPosition == ITEM_RADIO_FIRMWARE_OPTIONS && event == EVT_KEY_BREAK(KEY_ENTER)) { s_editMode = EDIT_SELECT_FIELD; @@ -280,7 +280,7 @@ void menuRadioVersion(event_t event) #endif #if defined(PXX2) || defined(CROSSFIRE) - lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_MODULES_RX_VERSION), menuVerticalPosition == ITEM_RADIO_MODULES_VERSION ? INVERS : 0); + lcdDrawText(INDENT_WIDTH, y, STR_MODULES_RX_VERSION, menuVerticalPosition == ITEM_RADIO_MODULES_VERSION ? INVERS : 0); y += FH; if (menuVerticalPosition == ITEM_RADIO_MODULES_VERSION && event == EVT_KEY_BREAK(KEY_ENTER)) { s_editMode = EDIT_SELECT_FIELD; diff --git a/radio/src/gui/common/stdlcd/utf8.cpp b/radio/src/gui/common/stdlcd/utf8.cpp index a985a4d7b7c..529731fbd6b 100644 --- a/radio/src/gui/common/stdlcd/utf8.cpp +++ b/radio/src/gui/common/stdlcd/utf8.cpp @@ -23,7 +23,7 @@ #include #include "fonts.h" #include "definitions.h" -#include "translations/untranslated.h" +#include "translations/translations.h" #if defined(TRANSLATIONS_FR) static uint16_t _utf8_lut[] = { diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index aa52a8055b7..f0a25a3459e 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -809,7 +809,7 @@ void checkExternalAntenna() } #else POPUP_CONFIRMATION(STR_ANTENNACONFIRM1, onAntennaSwitchConfirm); - SET_WARNING_INFO(STR_ANTENNACONFIRM2, sizeof(TR_ANTENNACONFIRM2), 0); + SET_WARNING_INFO(STR_ANTENNACONFIRM2, strlen(STR_ANTENNACONFIRM2), 0); #endif } } else if (g_eeGeneral.antennaMode == ANTENNA_MODE_ASK || diff --git a/radio/src/io/multi_protolist.cpp b/radio/src/io/multi_protolist.cpp index dac982da94d..e1021b8bedc 100644 --- a/radio/src/io/multi_protolist.cpp +++ b/radio/src/io/multi_protolist.cpp @@ -23,7 +23,6 @@ #include "multi_rfprotos.h" #include "strhelpers.h" #include "audio.h" -#include "translations.h" #include "pulses/modules_helpers.h" #include "pulses/pulses.h" #include "gui_common.h" diff --git a/radio/src/sdcard.h b/radio/src/sdcard.h index 1ce44d142a1..5c85005bf96 100644 --- a/radio/src/sdcard.h +++ b/radio/src/sdcard.h @@ -25,7 +25,7 @@ extern FIL g_oLogFile; -#include "translations.h" +#include "translations/translations.h" #define FILE_COPY_PREFIX "cp_" diff --git a/radio/src/storage/modelslist.cpp b/radio/src/storage/modelslist.cpp index 30b9a7cd8f3..4ffe397e331 100644 --- a/radio/src/storage/modelslist.cpp +++ b/radio/src/storage/modelslist.cpp @@ -1109,7 +1109,12 @@ bool ModelsList::loadYaml() } if(moveRequired) { fileHashInfo = newFileHash; // Update the new file list - POPUP_WARNING(TR_MODELS_MOVED "\n" UNUSED_MODELS_PATH, "\n" TR_PRESS_ANY_KEY_TO_SKIP); + std::string s(STR_MODELS_MOVED); + s += "\n"; + s += UNUSED_MODELS_PATH; + s += "\n"; + s += STR_PRESS_ANY_KEY_TO_SKIP; + POPUP_WARNING(s.c_str()); } } diff --git a/radio/src/storage/sdcard_common.h b/radio/src/storage/sdcard_common.h index efcc386af26..3f0cc24590d 100644 --- a/radio/src/storage/sdcard_common.h +++ b/radio/src/storage/sdcard_common.h @@ -22,7 +22,6 @@ #pragma once #include "ff.h" -#include "translations.h" #include "sdcard.h" #define MODEL_FILENAME_PREFIX "model" diff --git a/radio/src/storage/sdcard_yaml.cpp b/radio/src/storage/sdcard_yaml.cpp index dbc8f503141..7388ddc6fdd 100644 --- a/radio/src/storage/sdcard_yaml.cpp +++ b/radio/src/storage/sdcard_yaml.cpp @@ -155,12 +155,12 @@ const char * loadRadioSettingsYaml(bool checks) f_unlink(RADIO_SETTINGS_YAML_PATH); result = f_rename(RADIO_SETTINGS_TMPFILE_YAML_PATH, RADIO_SETTINGS_YAML_PATH); // Rename previously saved file to active file if (result != FR_OK) { - ALERT(STR_STORAGE_WARNING, TR_RADIO_DATA_UNRECOVERABLE, AU_BAD_RADIODATA); + ALERT(STR_STORAGE_WARNING, STR_RADIO_DATA_UNRECOVERABLE, AU_BAD_RADIODATA); return SDCARD_ERROR(result); } } TRACE("Unable to recover radio data"); - ALERT(STR_STORAGE_WARNING, p == NULL ? TR_RADIO_DATA_RECOVERED : TR_RADIO_DATA_UNRECOVERABLE, AU_BAD_RADIODATA); + ALERT(STR_STORAGE_WARNING, p == NULL ? STR_RADIO_DATA_RECOVERED : STR_RADIO_DATA_UNRECOVERABLE, AU_BAD_RADIODATA); } } return p; @@ -560,10 +560,9 @@ const char * backupModel(uint8_t idx) if (len == 0) { uint8_t num = idx + 1; - strcpy(buf, STR_MODEL); - buf[PSIZE(TR_MODEL)] = (char)((num / 10) + '0'); - buf[PSIZE(TR_MODEL) + 1] = (char)((num % 10) + '0'); - len = PSIZE(TR_MODEL) + 2; + char* s = strAppend(buf, STR_MODEL); + strAppendUnsigned(s, num, 2); + len = strlen(buf); } #if defined(RTCLOCK) diff --git a/radio/src/strhelpers.h b/radio/src/strhelpers.h index 22d68c8b35d..0f8928b4ece 100644 --- a/radio/src/strhelpers.h +++ b/radio/src/strhelpers.h @@ -60,13 +60,13 @@ uint8_t zlen(const char *str, uint8_t size); bool zexist(const char *str, uint8_t size); char * strcat_zchar(char *dest, const char *name, uint8_t size, const char spaceSym = 0, const char *defaultName=nullptr, uint8_t defaultNameSize=0, uint8_t defaultIdx=0); -#define strcatFlightmodeName(dest, idx) strcat_zchar(dest, g_model.flightModeData[idx].name, LEN_FLIGHT_MODE_NAME, 0, STR_FM, PSIZE(TR_FM), idx+1) +#define strcatFlightmodeName(dest, idx) strcat_zchar(dest, g_model.flightModeData[idx].name, LEN_FLIGHT_MODE_NAME, 0, STR_FM, strlen(STR_FM), idx+1) #if !defined(STORAGE_MODELSLIST) #define strcat_modelname(dest, idx, spaceSym) \ strcat_zchar(dest, modelHeaders[idx].name, LEN_MODEL_NAME, spaceSym, STR_MODEL, \ - PSIZE(TR_MODEL), idx + 1) + strlen(STR_MODEL), idx + 1) #define strcat_currentmodelname(dest, spaceSym) \ strcat_modelname(dest, g_eeGeneral.currModel, spaceSym) diff --git a/radio/src/string_list.h b/radio/src/string_list.h deleted file mode 100644 index 9eb233a70dc..00000000000 --- a/radio/src/string_list.h +++ /dev/null @@ -1,1149 +0,0 @@ -/* - * Copyright (C) EdgeTX - * - * Based on code named - * opentx - https://github.com/opentx/opentx - * 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. - */ - -// DO NOT INCLUDE THIS FILE DIRECTLY - -// List of strings and string arrays -// Macros are expanded in translations.h and translations.cpp - -#if defined(COLORLCD) -STRARRAY(FONT_SIZES); -#endif -STRARRAY(OFFON); -STRARRAY(MMMINV); -STRARRAY(VBEEPMODE); -STRARRAY(TRNMODE); -STRARRAY(TRNCHN); -STRARRAY(VTRIMINC); -STRARRAY(VDISPLAYTRIMS); -STRARRAY(VBLMODE); -STRARRAY(VCURVETYPE); -STRARRAY(VCURVEFUNC); -STRARRAY(VMLTPX); -STRARRAY(VMLTPX2); -STRARRAY(VCSWFUNC); -STRARRAY(VFSWRESET); -STRARRAY(FUNCSOUNDS); -STRARRAY(VTELEMUNIT); -STRARRAY(GPSFORMAT); -STRARRAY(VTELEMSCREENTYPE); -STRARRAY(ON_ONE_SWITCHES); -#if defined(IMU) -STRARRAY(IMU_VSRCRAW); -#endif -#if defined(PCBHORUS) -STRARRAY(SM_VSRCRAW); -#endif -STRARRAY(CYC_VSRCRAW); -STRARRAY(ROTARY_ENC_OPT); -STRARRAY(VTMRMODES); -STRARRAY(VPERSISTENT); -STRARRAY(VUNITSSYSTEM); -STRARRAY(VBEEPCOUNTDOWN); -STRARRAY(COUNTDOWNVALUES); -STRARRAY(VVARIOCENTER); -STRARRAY(COUNTRY_CODES); -STRARRAY(USBMODES); -STRARRAY(JACK_MODES); -STRARRAY(VFAILSAFE); -STRARRAY(VTRAINERMODES); -STRARRAY(MODULE_PROTOCOLS); -STRARRAY(R9M_REGION); -STRARRAY(R9M_FCC_POWER_VALUES); -STRARRAY(R9M_LBT_POWER_VALUES); -STRARRAY(R9M_LITE_FCC_POWER_VALUES); -STRARRAY(R9M_LITE_LBT_POWER_VALUES); -STRARRAY(XJT_ACCST_RF_PROTOCOLS); -STRARRAY(ISRM_RF_PROTOCOLS); -STRARRAY(R9M_PXX2_RF_PROTOCOLS); -STRARRAY(PPM_PROTOCOLS); -STRARRAY(SBUS_PROTOCOLS); -STRARRAY(DSM_PROTOCOLS); -STRARRAY(AFHDS3_PROTOCOLS); -STRARRAY(AFHDS3_POWERS); -STRARRAY(FLYSKY_PULSE_PROTO); -STRARRAY(FLYSKY_SERIAL_PROTO); -STRARRAY(CURVE_TYPES); -STRARRAY(CRSF_ARMING_MODES); -STRARRAY(VSENSORTYPES); -STRARRAY(VFORMULAS); -STRARRAY(VPREC); -STRARRAY(VCELLINDEX); -STRARRAY(AUX_SERIAL_MODES); -STRARRAY(SWTYPES); -STRARRAY(POTTYPES); -STRARRAY(ANTENNA_MODES); -STRARRAY(SAMPLE_MODES); -STRARRAY(SPORT_UPDATE_POWER_MODES); -STRARRAY(CRSF_BAUDRATE); -STRARRAY(PPM_POL); -STRARRAY(SBUS_INVERSION_VALUES); -STRARRAY(SPORT_MODES); -STRARRAY(FSGROUPS); -STRARRAY(FSSWITCHES); -STRARRAY(ADCFILTERVALUES); -STRARRAY(TIMER_DIR); -STRARRAY(PREFLIGHT_POTSLIDER_CHECK); -STRARRAY(PPMUNIT); -#if defined(FUNCTION_SWITCHES) -STRARRAY(FUNCTION_SWITCH_GROUPS); -STRARRAY(FS_COLOR_LIST); -#endif - -#if defined(HELI) -STRARRAY(VSWASHTYPE); -#endif - -#if defined(MULTIMODULE) -STRARRAY(MULTI_PROTOCOLS); -STRARRAY(MULTI_POWER); -STRARRAY(MULTI_BAYANG_OPTIONS); -STRARRAY(MULTI_DSM_OPTIONS); -STRARRAY(MULTI_DSM_CLONE); -STRARRAY(MULTI_WBUS_MODE); -#endif - -#if defined(BLUETOOTH) -STRARRAY(BLUETOOTH_MODES); -#endif - -STRARRAY(SUBTRIMMODES); -STRARRAY(PWR_OFF_DELAYS); -#if defined(COLORLCD) -STRARRAY(SPLASHSCREEN_DELAYS); -#endif - -// Main Menu -STR(QM_MANAGE_MODELS); -STR(QM_MODEL_SETUP); -STR(QM_RADIO_SETUP); -STR(QM_UI_SETUP); -STR(QM_TOOLS); -STR(QM_GEN_SETTINGS); -STR(QM_FLIGHT_MODES); -STR(QM_INPUTS); -STR(QM_MIXES); -STR(QM_OUTPUTS); -STR(QM_CURVES); -STR(QM_GLOBAL_VARS); -STR(QM_LOGICAL_SW); -STR(QM_SPEC_FUNC); -STR(QM_CUSTOM_LUA); -STR(QM_TELEM); -STR(QM_GLOB_FUNC); -STR(QM_TRAINER); -STR(QM_HARDWARE); -STR(QM_ABOUT); -STR(QM_THEMES); -STR(QM_TOP_BAR); -STR(QM_SCREEN_1); -STR(QM_SCREEN_2); -STR(QM_SCREEN_3); -STR(QM_SCREEN_4); -STR(QM_SCREEN_5); -STR(QM_SCREEN_6); -STR(QM_SCREEN_7); -STR(QM_SCREEN_8); -STR(QM_SCREEN_9); -STR(QM_SCREEN_10); -STR(QM_ADD_SCREEN); -STR(QM_APPS); -STR(QM_STORAGE); -STR(QM_RESET); -STR(QM_CHAN_MON); -STR(QM_LS_MON); -STR(QM_STATS); -STR(QM_DEBUG); -// Main Menu - -STR(MINUTE_SINGULAR); -STR(MINUTE_PLURAL1); -STR(MINUTE_PLURAL2); - -STR(EMPTY); -STR(POPUPS_ENTER_EXIT); -STR(OK); -STR(FREE); -STR(YES); -STR(NO); -STR(DELETEMODEL); -STR(COPYINGMODEL); -STR(MOVINGMODEL); -STR(LOADINGMODEL); -STR(UNLABELEDMODEL); -STR(NAME); -STR(BITMAP); -STR(NO_PICTURE); -STR(TIMER); -STR(NO_TIMERS); -STR(START); -STR(NEXT); -STR(ELIMITS); -STR(ETRIMS); -STR(TRIMINC); -STR(DISPLAY_TRIMS); -STR(TTRACE); -STR(TTRIM); -STR(TTRIM_SW); -STR(BEEPCTR); -STR(USE_GLOBAL_FUNCS); -STR(PPMFRAME); -STR(REFRESHRATE); -STR(MS); -STR(SWITCH); -#if defined(FUNCTION_SWITCHES) -STR(GROUPS); -STR(LUA_OVERRIDE); -STR(LAST); -STR(MORE_INFO); -STR(SWITCH_TYPE); -STR(SWITCH_GROUP); -STR(SWITCH_STARTUP); -STR(FUNCTION_SWITCHES); -STR(GROUP); -STR(GROUP_ALWAYS_ON); -STR(SF_PUSH_CUST_SWITCH); -#endif -STR(ADJUST_GVAR); -STR(PLAY_TRACK); -STR(PLAY_VALUE); -STR(SOUND); -STR(SF_BACKLIGHT); -STR(SF_BG_MUSIC); -STR(SF_BG_MUSIC_PAUSE); -STR(SF_DISABLE_TOUCH); -STR(SF_DISABLE_AUDIO_AMP); -STR(SF_FAILSAFE); -STR(SF_HAPTIC); -STR(SF_INST_TRIM); -STR(SF_LOGS); -STR(SF_MOD_BIND); -STR(SF_PLAY_SCRIPT); -STR(SF_RANGE_CHECK); -STR(SF_RESET); -STR(SF_SET_TIMER); -STR(SF_SWITCH); -STR(SF_TRAINER); -STR(SF_VARIO); -STR(SF_RGBLEDS); -STR(SF_VOLUME); -STR(SF_RACING_MODE); -STR(SF_SAFETY); -STR(SF_SCREENSHOT); -STR(SF_LCD_TO_VIDEO); -STR(SF_TEST); -STR(TRIMS); -STR(MIRROR); -STR(FADEIN); -STR(FADEOUT); -STR(DEFAULT); -STR(CHECKTRIMS); -STR(MODE); -STR(NOFREEEXPO); -STR(NOFREEMIXER); -STR(SOURCE); -STR(WEIGHT); -STR(SIDE); -STR(OFFSET); -STR(TRIM); -STR(DREX); -STR(CURVE); -STR(FLMODE); -STR(MIXWARNING); -STR(OFF); -STR(ANTENNA); -STR(NO_INFORMATION); -STR(MULTPX); -STR(DELAYDOWN); -STR(DELAYUP); -STR(SLOWDOWN); -STR(SLOWUP); -STR(MIXES); -STR(CV); -STR(GV); -STR(RANGE); -STR(CENTER); -STR(ALARM); -STR(BLADES); -STR(SCREEN); -STR(SOUND_LABEL); -STR(LENGTH); -STR(BEEP_LENGTH); -STR(CONTRAST); -STR(ALARMS_LABEL); -STR(BATTERY_RANGE); -STR(BATTERYCHARGING); -STR(BATTERYFULL); -STR(BATTERYNONE); -STR(BATTERYWARNING); -STR(INACTIVITYALARM); -STR(MEMORYWARNING); -STR(ALARMWARNING); -STR(RSSI_SHUTDOWN_ALARM); -STR(TRAINER_SHUTDOWN_ALARM); -STR(MODEL_STILL_POWERED); -STR(TRAINER_STILL_CONNECTED); -STR(USB_STILL_CONNECTED); -STR(MODEL_SHUTDOWN); -STR(PRESS_ENTER_TO_CONFIRM); -STR(THROTTLEREVERSE); -STR(MINUTEBEEP); -STR(BEEPCOUNTDOWN); -STR(PERSISTENT); -STR(BACKLIGHT_LABEL); -STR(GHOST_MENU_LABEL); -STR(STATUS); -STR(DEF_CHAN_ORD); -STR(STICKS); -STR(POTS); -STR(SWITCHES); -STR(SWITCHES_DELAY); -STR(SLAVE); -STR(MODESRC); -STR(MULTIPLIER); -STR(CAL); -STR(CALIB_DONE); -STR(VTRIM); -#if !defined(COLORLCD) -STR(MENUTOSTART); -#endif -STR(SETMIDPOINT); -STR(MOVESTICKSPOTS); -#if !defined(COLORLCD) -STR(AXISDIR); -STR(MENUAXISDIR); -#endif -STR(NODATA); -STR(US); -STR(HZ); -STR(TMIXMAXMS); -STR(FREE_STACK); -STR(INT_GPS_LABEL); -STR(HEARTBEAT_LABEL); -STR(LUA_SCRIPTS_LABEL); -STR(FREE_MEM_LABEL); -STR(DURATION_MS); -STR(INTERVAL_MS); -STR(MEM_USED_SCRIPT); -STR(MEM_USED_WIDGET); -STR(MEM_USED_EXTRA); -STR(STACK_MIX); -STR(STACK_AUDIO); -STR(GPS_FIX_YES); -STR(GPS_FIX_NO); -STR(GPS_SATS); -STR(GPS_HDOP); -STR(STACK_MENU); -STR(TIMER_LABEL); -STR(THROTTLE_PERCENT_LABEL); -STR(BATT_LABEL); -STR(SESSION); -STR(MENUTORESET); -STR(PPM_TRAINER); -STR(CH); -STR(MODEL); -STR(FM); -STR(PRESS_ANY_KEY_TO_SKIP); -STR(THROTTLE_NOT_IDLE); -STR(ALARMSDISABLED); -STR(PRESSANYKEY); -STR(TRIMS2OFFSETS); -STR(CHANNELS2FAILSAFE); -STR(CHANNEL2FAILSAFE); -STR(RADIO_SETUP); -STR(MENUTRAINER); -STR(MENUSPECIALFUNCS); -STR(MENUVERSION); -STR(MENU_RADIO_SWITCHES); -STR(MENU_RADIO_ANALOGS); -STR(MENU_RADIO_ANALOGS_CALIB); -STR(MENU_RADIO_ANALOGS_RAWLOWFPS); -STR(MENUCALIBRATION); -STR(MENU_FSWITCH); -STR(MENUMODELSEL); -STR(MENU_MODEL_SETUP); -STR(MENUFLIGHTMODE); -STR(MENUFLIGHTMODES); -STR(MENUINPUTS); -STR(MENULIMITS); -STR(MENUCURVES); -STR(MENUCURVE); -STR(MENULOGICALSWITCH); -STR(MENULOGICALSWITCHES); -STR(MENUCUSTOMFUNC); -STR(SPLASHSCREEN); -STR(PLAY_HELLO); -STR(PWR_ON_DELAY); -STR(PWR_OFF_DELAY); -STR(PWR_AUTO_OFF); -STR(THROTTLE_UPPERCASE); -STR(SWITCHWARNING); -STR(POTWARNINGSTATE); -STR(POTWARNING); -STR(MENUSTAT); -STR(MENUDEBUG); -STRARRAY(MONITOR_CHANNELS); -STR(MONITOR_SWITCHES); -STR(MONITOR_OUTPUT_DESC); -STR(MONITOR_MIXER_DESC); -STR(MENU_GLOBAL_VARS); -STR(INTERNALRF); -STR(INTERNAL_MODULE); -STR(EXTERNAL_MODULE); -STR(EDGETX_UPGRADE_REQUIRED); -STR(TELEMETRY_DISABLED); -STR(MORE_OPTIONS_AVAILABLE); -STR(NO_MODULE_INFORMATION); -STR(EXTERNALRF); -STR(MODULE_TELEMETRY); -STR(MODULE_TELEM_ON); -STR(COUNTRY_CODE); -STR(USBMODE); -STR(JACK_MODE); -STR(FAILSAFE); -STR(FAILSAFESET); -STR(REG_ID); -STR(OWNER_ID); -STR(HOLD); -STR(HOLD_UPPERCASE); -STR(NONE); -STR(NONE_UPPERCASE); -STR(MENUSENSOR); -STR(POWERMETER_PEAK); -STR(POWERMETER_POWER); -STR(POWERMETER_ATTN); -STR(POWERMETER_FREQ); -STR(MENUTOOLS); -STR(MAIN_MENU_APPS); -STR(TURN_OFF_RECEIVER); -STR(STOPPING); -STR(MENU_SPECTRUM_ANALYSER); -STR(MENU_POWER_METER); -STR(SENSOR); -STR(DISABLE_INTERNAL); -STR(AND_SWITCH); -STR(SF); -STR(GF); -STR(ANADIAGS_CALIB); -STR(ANADIAGS_FILTRAWDEV); -STR(ANADIAGS_UNFILTRAW); -STR(ANADIAGS_MINMAX); -STR(ANADIAGS_MOVE); -STR(BATT_CALIB); -STR(VOLTAGE); -STR(CURRENT_CALIB); -STR(UNITS_SYSTEM); -STR(UNITS_PPM); -STR(VOICE_LANGUAGE); -STR(MODELIDUSED); -STR(MODELIDUNIQUE); -STR(BEEP_VOLUME); -STR(WAV_VOLUME); -STR(BG_VOLUME); -STR(SELECT_MODEL); -STR(MODELS); -STR(SELECT_MODE); -STR(CREATE_MODEL); -STR(FAVORITE_LABEL); -STR(MODELS_MOVED); -STR(NEW_MODEL); -STR(INVALID_MODEL); -STR(MOVE_UP); -STR(MOVE_DOWN); -STR(DUPLICATE_MODEL); -STR(COPY_MODEL); -STR(MOVE_MODEL); -STR(DELETE_MODEL); -STR(EDIT); -STR(INSERT_BEFORE); -STR(INSERT_AFTER); -STR(COPY); -STR(MOVE); -STR(PASTE); -STR(PASTE_BEFORE); -STR(PASTE_AFTER); -STR(INSERT); -STR(DELETE); -STR(RESET_FLIGHT); -STR(RESET_TIMER1); -STR(RESET_TIMER2); -STR(RESET_TIMER3); -STR(RESET_TELEMETRY); -STR(STATISTICS); -STR(ABOUT_US); -STR(USB_JOYSTICK); -STR(USB_MASS_STORAGE); -STR(USB_SERIAL); -STR(SETUP_SCREENS); -STR(MONITOR_SCREENS); -STR(RESET_BTN); -STR(DEBUG); -STR(KEYS_BTN); -STR(ANALOGS_BTN); -STR(FS_BTN); -STR(TOUCH_NOTFOUND); -STR(TOUCH_EXIT); -STR(CALIBRATION); -STR(NO_TOOLS); -STR(NORMAL); -STR(NOT_INVERTED); -STR(NOT_CONNECTED); -STR(CONNECTED); -STR(FLEX_915); -STR(FLEX_868); -STR(16CH_WITHOUT_TELEMETRY); -STR(16CH_WITH_TELEMETRY); -STR(8CH_WITH_TELEMETRY); -STR(EXT_ANTENNA); -STR(PIN); -STR(UPDATE_RX_OPTIONS); -STR(UPDATE_TX_OPTIONS); -STR(MENU_MODULES_RX_VERSION); -STR(MENU_FIRM_OPTIONS); -STR(IMU); -STR(STICKS_POTS_SLIDERS); -STR(PWM_STICKS_POTS_SLIDERS); -STR(RF_PROTOCOL); -STR(MODULE_OPTIONS); -STR(POWER); -STR(NO_TX_OPTIONS); -STR(RTC_BATT); -STR(POWER_METER_EXT); -STR(POWER_METER_INT); -STR(SPECTRUM_ANALYSER_EXT); -STR(SPECTRUM_ANALYSER_INT); -STR(GHOST_MODULE_CONFIG); -STR(GPS_MODEL_LOCATOR); -STR(REFRESH); -STR(WAITING_FOR_RX); -STR(WAITING_FOR_TX); -STR(WAITING_FOR_MODULE); -STR(WARN_5VOLTS); -STR(WARNING); -STR(THROTTLE_WARNING); -STR(CUSTOM_THROTTLE_WARNING); -STR(CUSTOM_THROTTLE_WARNING_VAL); -STR(ALARMSWARN); -STR(SWITCHWARN); -STR(FAILSAFEWARN); -STR(WRONG_SDCARDVERSION); -STR(WARN_RTC_BATTERY_LOW); -STR(WARN_MULTI_LOWPOWER); -STR(BATTERY); -STR(WRONG_PCBREV); -STR(EMERGENCY_MODE); -STR(NO_FAILSAFE); -STR(KEYSTUCK); -STR(VOLUME); -STR(LCD); -STR(BRIGHTNESS); -STR(CPU_TEMP); -STR(COPROC); -STR(COPROC_TEMP); -STR(TTL_WARNING); -STR(FUNC); -STR(V1); -STR(V2); -STR(DURATION); -STR(DELAY); -STR(SD_CARD); -STR(NO_SOUNDS_ON_SD); -STR(NO_MODELS_ON_SD); -STR(NO_BITMAPS_ON_SD); -STR(NO_SCRIPTS_ON_SD); -STR(SCRIPT_SYNTAX_ERROR); -STR(SCRIPT_PANIC); -STR(SCRIPT_KILLED); -STR(SCRIPT_ERROR); -STR(PLAY_FILE); -STR(ASSIGN_BITMAP); -STR(EXECUTE_FILE); -STR(DELETE_FILE); -STR(COPY_FILE); -STR(RENAME_FILE); -STR(SD_INFO); -STR(REMOVED); -STR(NA); -STR(HARDWARE); -STR(FORMATTING); -STR(TEMP_CALIB); -STR(TIME); -STR(MAXBAUDRATE); -STR(BAUDRATE); -STR(CRSF_ARMING_MODE); -STR(SAMPLE_MODE); -STR(SD_INFO_TITLE); -STR(SD_SPEED); -STR(SD_SECTORS); -STR(SD_SIZE); -STR(TYPE); -STR(GVARS); -STR(GLOBAL_VAR); -STR(OWN); -STR(DATE); -STR(CHANNELS_MONITOR); -STR(ROTARY_ENCODER); -STR(ROTARY_ENC_MODE); - -#if defined(USE_HATS_AS_KEYS) -STR(HATSMODE); -STRARRAY(HATSOPT); -STR(HATSMODE_TRIMS); -STR(HATSMODE_KEYS); -STR(HATSMODE_KEYS_HELP); -#endif - -STR(MIXERS_MONITOR); -STR(PATH_TOO_LONG); -STR(VIEW_TEXT); -STR(FLASH_BOOTLOADER); -STR(CURRENT_VERSION); -STR(FLASH_INTERNAL_MODULE); -STR(FLASH_INTERNAL_MULTI); -STR(FLASH_EXTERNAL_MODULE); -STR(FLASH_EXTERNAL_MULTI); -STR(FLASH_EXTERNAL_ELRS); -STR(FIRMWARE_UPDATE_ERROR); -STR(FIRMWARE_UPDATE_SUCCESS); -STR(WRITING); -STR(FLASH_DEVICE); -STR(FLASH_EXTERNAL_DEVICE); -STR(FLASH_RECEIVER_OTA); -STR(FLASH_RECEIVER_BY_EXTERNAL_MODULE_OTA); -STR(FLASH_RECEIVER_BY_INTERNAL_MODULE_OTA); -STR(FLASH_FLIGHT_CONTROLLER_BY_EXTERNAL_MODULE_OTA); -STR(FLASH_FLIGHT_CONTROLLER_BY_INTERNAL_MODULE_OTA); -STR(FLASH_BLUETOOTH_MODULE); -STR(FLASH_POWER_MANAGEMENT_UNIT); -STR(DEVICE_NO_RESPONSE); -STR(DEVICE_FILE_ERROR); -STR(DEVICE_DATA_REFUSED); -STR(DEVICE_WRONG_REQUEST); -STR(DEVICE_FILE_REJECTED); -STR(DEVICE_FILE_WRONG_SIG); -STR(CONFIRM_FORMAT); -STR(CONFIRMRESET); -STR(TOO_MANY_LUA_SCRIPTS); -STR(BLCOLOR); -STR(MODELNAME); -STR(PHASENAME); -STR(MIXNAME); -STR(INPUTNAME); -STR(EXPONAME); -STR(TRAINER); -STR(CHANS); -STR(MODULE_BIND); -STR(MODULE_UNBIND); -STR(POWERMETER_ATTN_NEEDED); -STR(PXX2_SELECT_RX); -STR(PXX2_DEFAULT); -STR(BT_SELECT_DEVICE); -STR(DISCOVER); -STR(BUTTON_INIT); -STR(WAITING); -STR(RECEIVER_DELETE); -STR(RECEIVER_RESET); -STR(SHARE); -STR(BIND); -STR(REGISTER); -STR(BINDING_CH1_8_TELEM_ON); -STR(BINDING_CH1_8_TELEM_OFF); -STR(BINDING_CH9_16_TELEM_ON); -STR(BINDING_CH9_16_TELEM_OFF); -STR(CHANNELRANGE); -STR(ANTENNACONFIRM1); -STR(ANTENNACONFIRM2); -STR(USE_INTERNAL_ANTENNA); -STR(USE_EXTERNAL_ANTENNA); -STR(MODULE_PROTOCOL_FLEX_WARN_LINE1); -STR(MODULE_PROTOCOL_FCC_WARN_LINE1); -STR(MODULE_PROTOCOL_EU_WARN_LINE1); -STR(MODULE_PROTOCOL_WARN_LINE2); -STR(SET); -STR(PREFLIGHT); -STR(CHECKLIST); -STR(CHECKLIST_INTERACTIVE); -STR(VIEW_NOTES); -STR(MODEL_SELECT); -STR(RESET_SUBMENU); -STR(LOWALARM); -STR(CRITICALALARM); -STR(DISABLE_ALARM); -STR(TELEMETRY_TYPE); -STR(TELEMETRY_SENSORS); -STR(VALUE); -STR(PERIOD); -STR(INTERVAL); -STR(REPEAT); -STR(ENABLE); -STR(DISABLE); -STR(TOPLCDTIMER); -STR(UNIT); -STR(TELEMETRY_NEWSENSOR); -STR(ID); -STR(PRECISION); -STR(RATIO); -STR(FORMULA); -STR(CELLINDEX); -STR(LOGS); -STR(OPTIONS); -STR(FIRMWARE_OPTIONS); -STR(ALTSENSOR); -STR(CELLSENSOR); -STR(GPSSENSOR); -STR(CURRENTSENSOR); -STR(AUTOOFFSET); -STR(ONLYPOSITIVE); -STR(FILTER); -STR(TELEMETRYFULL); -STR(IGNORE_INSTANCE); -STR(SHOW_INSTANCE_ID); -STR(DISCOVER_SENSORS); -STR(STOP_DISCOVER_SENSORS); -STR(DELETE_ALL_SENSORS); -STR(CONFIRMDELETE); -STR(SELECT_WIDGET); -STR(REMOVE_WIDGET); -STR(WIDGET_SETTINGS); -STR(WIDGET_FULLSCREEN); -STR(REMOVE_SCREEN); -STR(SETUP_WIDGETS); -STR(USER_INTERFACE); -STR(THEME); -STR(SETUP); -STR(LAYOUT); -STR(TEXT_COLOR); -STR(RF_POWER); -STR(BYTES); -STR(ANTENNAPROBLEM); -STR(MODULE); -STR(RX_NAME); -STR(POPUP); -STR(MIN); -STR(MAX); -STR(INVERTED); -STR(CURVE_PRESET); -STR(PRESET); -STR(CLEAR); -STR(RESET); -STR(ADD_ALL_TRIMS_TO_SUBTRIMS); -STR(OPEN_CHANNEL_MONITORS); -STR(COUNT); -STR(PT); -STR(PTS); -STR(SMOOTH); -STR(COPY_STICKS_TO_OFS); -STR(COPY_MIN_MAX_TO_OUTPUTS); -STR(COPY_TRIMS_TO_OFS); -STR(INCDEC); -STR(GLOBALVAR); -STR(MIXSOURCE); -STR(MIXSOURCERAW); -STR(CONSTANT); -STR(TOP_BAR); -STR(FLASH_ERASE); -STR(FLASH_WRITE); -STR(OTA_UPDATE); -STR(MODULE_RESET); -STR(UNKNOWN_RX); -STR(UNSUPPORTED_RX); -STR(OTA_UPDATE_ERROR); -STR(DEVICE_RESET); -STR(ALTITUDE); -STR(SCALE); -STR(VIEW_CHANNELS); -STR(AUX_SERIAL_MODE); -STR(AUX2_SERIAL_MODE); -STR(AUX_SERIAL_PORT_POWER); -STR(THROTTLE_LABEL); -STR(SCRIPT); -STR(INPUTS); -STR(OUTPUTS); -STR(MENU_INPUTS); -STR(MENU_LUA); -STR(MENU_STICKS); -STR(MENU_POTS); -STR(MENU_MIN); -STR(MENU_MAX); -STR(MENU_HELI); -STR(MENU_TRIMS); -STR(MENU_SWITCHES); -STR(MENU_LOGICAL_SWITCHES); -STR(MENU_TRAINER); -STR(MENU_CHANNELS); -STR(MENU_GVARS); -STR(MENU_TELEMETRY); -STR(MENU_DISPLAY); -STR(MENU_OTHER); -STR(MENU_INVERT); -STR(AUDIO_MUTE); -STR(JITTER_FILTER); -STR(DEAD_ZONE); -STR(RTC_CHECK); -STR(EXIT); -STR(MODULE_RANGE); -STR(RANGE_TEST); -STR(RECEIVER_OPTIONS); -STR(SPORT_UPDATE_POWER_MODE); -STR(TOUCH_PANEL); -STR(FILE_SIZE); -STR(FILE_OPEN); -STRARRAY(TIMER_MODES); -STRARRAY(MONTHS); -STR(LIMITS_HEADERS_DIRECTION); -STR(SRC_BATT); -STR(SRC_TIME); -STR(SRC_GPS); -STR(SRC_TIMER); -STR(FUNC_SW); - -#if defined(COLORLCD) -STR(ASSIGN_SPLASH); -STR(FIRST_CHANNEL); -STR(FILL_BACKGROUND); -STR(BG_COLOR); -STR(SLIDERS_TRIMS); -STR(SLIDERS); -STR(FLIGHT_MODE); -STR(INVALID_FILE); -STR(TIMER_SOURCE); -STR(SIZE); -STR(SHADOW); -STR(ALIGNMENT); -STR(ALIGN_LABEL); -STR(ALIGN_VALUE); -STRARRAY(ALIGN_OPTS); -STR(TEXT); -STR(COLOR); -STR(MAIN_VIEW_X); -STR(PANEL1_BACKGROUND); -STR(PANEL2_BACKGROUND); -STR(WIDGET_GAUGE); -STR(WIDGET_MODELBMP); -STR(WIDGET_OUTPUTS); -STR(WIDGET_TEXT); -STR(WIDGET_TIMER); -STR(WIDGET_VALUE); -STR(MODULES_RX_VERSION); -STR(LEFT_STICK); -STR(SHOW_MIXER_MONITORS); -STR(MODEL_QUICK_SELECT); -STR(LOADING); -STR(DELETE_THEME); -STR(SAVE_THEME); -STR(EDIT_COLOR); -STR(NO_THEME_IMAGE); -STR(BACKLIGHT_TIMER); -STR(LABELS_SELECT); -STR(LABELS_MATCH); -STR(FAV_MATCH); -STRARRAY(LABELS_SELECT_MODE); -STRARRAY(LABELS_MATCH_MODE); -STRARRAY(FAV_MATCH_MODE); -#endif - -#if !defined(COLORLCD) -STR(MENUWHENDONE); -STR(NO_TELEMETRY_SCREENS); -#endif - -#if defined(HELI) -STR(MENUHELISETUP); -STR(SWASHTYPE); -STR(COLLECTIVE); -STR(AILERON); -STR(ELEVATOR); -STR(SWASHRING); -#endif - -#if defined(AUDIO) -STR(BEEP_PITCH); -#endif - -#if defined(HAPTIC) -STR(PWR_ON_OFF_HAPTIC); -STR(HAPTIC_LABEL); -STR(STRENGTH); -#endif - -#if defined(IMU) -STR(IMU_LABEL); -STR(IMU_OFFSET); -STR(IMU_MAX); -#endif - -#if defined(COLORLCD) -STR(BLONBRIGHTNESS); -STR(BLOFFBRIGHTNESS); -STR(KEYS_BACKLIGHT); -#endif - -STR(TIMEZONE); -STR(ADJUST_RTC); -STR(GPS); -STR(GPS_COORDS_FORMAT); -STR(VARIO); -STR(FLYSKY_TELEMETRY); -STR(PITCH_AT_ZERO); -STR(PITCH_AT_MAX); -STR(REPEAT_AT_ZERO); - -STR(BAD_RADIO_DATA); -STR(STORAGE_WARNING); -STR(STORAGE_FORMAT); -STR(RADIO_DATA_UNRECOVERABLE); -STR(RADIO_DATA_RECOVERED); -STR(EEPROMOVERFLOW); - -#if defined(LUA) -STR(MENUCUSTOMSCRIPTS); -#endif - -STR(MENUTELEMETRY); - -#if defined(DSM2) || defined(PXX) -STR(RECEIVER_NUM); -STR(RECEIVER); -STR(REBIND); -STR(REG_OK); -STR(BIND_OK); -#endif - -STR(MULTI_CUSTOM); -STR(MULTI_RFTUNE); -STR(MULTI_RFPOWER); -STR(MULTI_WBUS); -STR(MULTI_TELEMETRY); -STR(MULTI_VIDFREQ); -STR(MULTI_OPTION); -STR(MULTI_FIXEDID); -STR(MULTI_AUTOBIND); -STR(DISABLE_CH_MAP); -STR(DISABLE_TELEM); -STR(MULTI_LOWPOWER); -STR(MULTI_LNA_DISABLE); -STR(MODULE_NO_SERIAL_MODE); -STR(MODULE_NO_INPUT); -STR(MODULE_WAITFORBIND); -STR(MODULE_NO_TELEMETRY); -STR(MODULE_BINDING); -STR(MODULE_UPGRADE_ALERT); -STR(MODULE_UPGRADE); -STR(PROTOCOL_INVALID); -STR(MODULE_STATUS); -STR(MODULE_SYNC); -STR(MULTI_SERVOFREQ); -STR(MULTI_MAX_THROW); -STR(MULTI_RFCHAN); -STR(NEEDS_FILE); -STR(EXT_MULTI_SPEC); -STR(INT_MULTI_SPEC); - -#if defined(AFHDS3) -STR(AFHDS3_RX_FREQ); -STR(AFHDS3_ACTUAL_POWER); -STR(AFHDS3_POWER_SOURCE); -STR(AFHDS3_ONE_TO_ONE_TELEMETRY); -STR(AFHDS3_ONE_TO_MANY); -#endif - -STR(SUBTYPE); - -STR(BACKUP_MODEL); -STR(RESTORE_MODEL); -STR(DELETE_ERROR); -STR(SDCARD_ERROR); -STR(SDCARD); -STR(NO_FILES_ON_SD); -STR(NO_SDCARD); -STR(SDCARD_FULL); -STR(SDCARD_FULL_EXT); -STR(INCOMPATIBLE); - -STR(TEST_WARNING); -STR(TEST_NOTSAFE); - -#if LCD_W >= 212 -STRARRAY(PHASES_HEADERS); -STRARRAY(LIMITS_HEADERS); -STRARRAY(LSW_HEADERS); -STRARRAY(LSW_DESCRIPTIONS); -#endif - -#if defined(BLUETOOTH) -STR(BLUETOOTH); -STR(BLUETOOTH_DISC); -STR(BLUETOOTH_INIT); -STR(BLUETOOTH_DIST_ADDR); -STR(BLUETOOTH_LOCAL_ADDR); -STR(BLUETOOTH_PIN_CODE); -STR(BLUETOOTH_NODEVICES); -STR(BLUETOOTH_SCANNING); -STR(BLUETOOTH_BAUDRATE); -#endif - -STR(ABOUTUS); - -STR(AUTH_FAILURE); -STR(PROTOCOL); -STR(RACING_MODE); - -#if defined(RADIO_NV14_FAMILY) -STRARRAY(RFPOWER_AFHDS2); -#endif - -#if defined(COLORLCD) -STR(SELECT_TEMPLATE); -STR(SELECT_TEMPLATE_FOLDER); -STR(NO_TEMPLATES); -STR(SAVE_TEMPLATE); -STR(BLANK_MODEL); -STR(BLANK_MODEL_INFO); -STR(FILE_EXISTS); -STR(ASK_OVERWRITE); - -STR(USE_THEME_COLOR); - -STR(DUPLICATE); -STR(ACTIVATE); -STR(RED); -STR(GREEN); -STR(BLUE); -STR(COLOR_PICKER); -STR(FIXED); -STR(EDIT_THEME_DETAILS); -STR(THEME_COLOR_DEFAULT); -STR(THEME_COLOR_PRIMARY1); -STR(THEME_COLOR_PRIMARY2); -STR(THEME_COLOR_PRIMARY3); -STR(THEME_COLOR_SECONDARY1); -STR(THEME_COLOR_SECONDARY2); -STR(THEME_COLOR_SECONDARY3); -STR(THEME_COLOR_FOCUS); -STR(THEME_COLOR_EDIT); -STR(THEME_COLOR_ACTIVE); -STR(THEME_COLOR_WARNING); -STR(THEME_COLOR_DISABLED); -STR(THEME_COLOR_CUSTOM); -STR(THEME_CHECKBOX); -STR(THEME_ACTIVE); -STR(THEME_REGULAR); -STR(THEME_WARNING); -STR(THEME_DISABLED); -STR(THEME_EDIT); -STR(THEME_FOCUS); -STR(AUTHOR); -STR(DESCRIPTION); -STR(SAVE); -STR(CANCEL); -STR(EDIT_THEME); -STR(DETAILS); - -STR(EDIT_LABELS); -STR(LABEL_MODEL); -STR(ENTER_LABEL); -STR(LABEL); -STR(LABELS); -STR(ACTIVE); -STR(NEW); -STR(NEW_LABEL); -STR(RENAME_LABEL); -STR(DELETE_LABEL); -STR(MAIN_MENU_MANAGE_MODELS); -STR(MAIN_MENU_MODEL_NOTES); -STR(MAIN_MENU_CHANNEL_MONITOR); -STR(MAIN_MENU_MODEL_SETTINGS); -STR(MAIN_MENU_RADIO_SETTINGS); -STR(MAIN_MENU_SETTINGS); -STR(MAIN_MENU_SCREEN_SETTINGS); -STR(MAIN_MENU_STATISTICS); -STR(MAIN_MENU_ABOUT_EDGETX); -STR(MAIN_MENU_THEMES); -STR(MANAGE_MODELS); -#endif - -#if defined(USBJ_EX) -STR(USBJOYSTICK_LABEL); -STR(USBJOYSTICK_EXTMODE); -STRARRAY(VUSBJOYSTICK_EXTMODE); -STR(USBJOYSTICK_SETTINGS); -STR(USBJOYSTICK_IF_MODE); -STRARRAY(VUSBJOYSTICK_IF_MODE); -STR(USBJOYSTICK_CH_MODE); -STRARRAY(VUSBJOYSTICK_CH_MODE); -STRARRAY(VUSBJOYSTICK_CH_MODE_S); -STR(USBJOYSTICK_CH_BTNMODE); -STRARRAY(VUSBJOYSTICK_CH_BTNMODE); -STRARRAY(VUSBJOYSTICK_CH_BTNMODE_S); -STR(USBJOYSTICK_CH_SWPOS); -STRARRAY(VUSBJOYSTICK_CH_SWPOS); -STR(USBJOYSTICK_CH_AXIS); -STRARRAY(VUSBJOYSTICK_CH_AXIS); -STR(USBJOYSTICK_CH_SIM); -STRARRAY(VUSBJOYSTICK_CH_SIM); -STR(USBJOYSTICK_CH_INVERSION); -STR(USBJOYSTICK_CH_BTNNUM); -STR(USBJOYSTICK_BTN_COLLISION); -STR(USBJOYSTICK_AXIS_COLLISION); -STR(USBJOYSTICK_CIRC_COUTOUT); -STRARRAY(VUSBJOYSTICK_CIRC_COUTOUT); -STR(USBJOYSTICK_APPLY_CHANGES); -#endif - -STR(DIGITAL_SERVO); -STR(ANALOG_SERVO); -STR(SIGNAL_OUTPUT); -STR(SERIAL_BUS); -STR(SYNC); - -STR(ENABLED_FEATURES); -STR(RADIO_MENU_TABS); -STR(MODEL_MENU_TABS); - -STR(STICK_NAMES0); -STR(STICK_NAMES1); -STR(STICK_NAMES2); -STR(STICK_NAMES3); -STR(SURFACE_NAMES0); -STR(SURFACE_NAMES1); - -STR(SELECT_MENU_ALL); -STR(SELECT_MENU_CLR); -STR(SELECT_MENU_INV); - -#if defined(COLORLCD) -STRARRAY(SORT_ORDERS); -STR(SORT_MODELS_BY); -STR(CREATE_NEW); -STR(THEME_EXISTS); - -STR(DATE_TIME_WIDGET); -STR(RADIO_INFO_WIDGET); -STR(LOW_BATT_COLOR); -STR(MID_BATT_COLOR); -STR(HIGH_BATT_COLOR); -STR(WIDGET_SIZE); -#endif - -STR(MIX_SLOW_PREC); -STR(MIX_DELAY_PREC); - -STR(DEL_DIR_NOT_EMPTY); diff --git a/radio/src/targets/common/arm/CMakeLists.txt b/radio/src/targets/common/arm/CMakeLists.txt index 3c7cf9056ca..ab80eed7119 100644 --- a/radio/src/targets/common/arm/CMakeLists.txt +++ b/radio/src/targets/common/arm/CMakeLists.txt @@ -274,7 +274,7 @@ add_definitions(-DBATTGRAPH -DTHRTRACE) foreach(LANGUAGE ${TTS_LANGUAGES}) string(TOLOWER ${LANGUAGE} lang_lower) - set(SRC ${SRC} translations/tts_${lang_lower}.cpp) + set(SRC ${SRC} translations/tts/tts_${lang_lower}.cpp) endforeach() set(SRC diff --git a/radio/src/targets/pa01/battery_driver.h b/radio/src/targets/pa01/battery_driver.h index 5cfcb15aacb..364abf088ac 100644 --- a/radio/src/targets/pa01/battery_driver.h +++ b/radio/src/targets/pa01/battery_driver.h @@ -52,4 +52,4 @@ extern uint16_t getBatteryVoltage(); // returns current battery voltage in 10m extern bool isChargerActive(); extern void battery_charge_end(); void rgbBatteryLevelInfo(uint8_t power_level, uint8_t rgb_state); -void updateBatteryState(uint8_t rgb_state); \ No newline at end of file +void updateBatteryState(uint8_t rgb_state); diff --git a/radio/src/targets/simu/adc_driver.cpp b/radio/src/targets/simu/adc_driver.cpp index dfb14291fbf..8d7cecf6b57 100644 --- a/radio/src/targets/simu/adc_driver.cpp +++ b/radio/src/targets/simu/adc_driver.cpp @@ -23,11 +23,10 @@ #include "definitions.h" #include "myeeprom.h" -#include "translations.h" -#include "hal_adc_inputs.inc" #include "board.h" #include "edgetx.h" +#include "hal_adc_inputs.inc" void enableVBatBridge(){} void disableVBatBridge(){} diff --git a/radio/src/telemetry/multi.cpp b/radio/src/telemetry/multi.cpp index 4a88f409908..425fee9a9e5 100644 --- a/radio/src/telemetry/multi.cpp +++ b/radio/src/telemetry/multi.cpp @@ -546,7 +546,8 @@ void MultiModuleStatus::getStatusString(char * statusText) const tmp = strAppendUnsigned(tmp, patch); if (isBinding()) { - strcpy(tmp, " " TR_MODULE_BINDING); + tmp[0] = ' '; + strcpy(tmp + 1, STR_MODULE_BINDING); } else if (ch_order != 0xFF) { uint8_t temp = ch_order; diff --git a/radio/src/tests/module_ports.cpp b/radio/src/tests/module_ports.cpp index e24fcc4048b..28c3357e6f2 100644 --- a/radio/src/tests/module_ports.cpp +++ b/radio/src/tests/module_ports.cpp @@ -25,7 +25,7 @@ #include "hal/serial_driver.h" #include "pulses/modules_constants.h" #include "pulses/pulses.h" -#include "translations.h" +#include "translations/translations.h" TEST(ports, softserialFallback) { diff --git a/radio/src/tests/switches.cpp b/radio/src/tests/switches.cpp index 893ff3cfece..ebcb533f150 100644 --- a/radio/src/tests/switches.cpp +++ b/radio/src/tests/switches.cpp @@ -119,7 +119,7 @@ TEST(evalLogicalSwitches, playFile) extern BitField<(MAX_LOGICAL_SWITCHES * 2/*on, off*/)> sdAvailableLogicalSwitchAudioFiles; char filename[AUDIO_FILENAME_MAXLEN+1]; -#define MODELNAME TR_MODEL "01" +#define MODELNAME "MODEL01" sdAvailableLogicalSwitchAudioFiles.setBit(INDEX_LOGICAL_SWITCH_AUDIO_FILE(0,AUDIO_EVENT_OFF)); sdAvailableLogicalSwitchAudioFiles.setBit(INDEX_LOGICAL_SWITCH_AUDIO_FILE(0,AUDIO_EVENT_ON)); diff --git a/radio/src/tests/test_cn.cpp b/radio/src/tests/test_cn.cpp new file mode 100644 index 00000000000..82046a3524a --- /dev/null +++ b/radio/src/tests/test_cn.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/cn.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_cz.cpp b/radio/src/tests/test_cz.cpp new file mode 100644 index 00000000000..dff707c7589 --- /dev/null +++ b/radio/src/tests/test_cz.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/cz.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_da.cpp b/radio/src/tests/test_da.cpp new file mode 100644 index 00000000000..015bd2df047 --- /dev/null +++ b/radio/src/tests/test_da.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/da.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_de.cpp b/radio/src/tests/test_de.cpp new file mode 100644 index 00000000000..146b525b63f --- /dev/null +++ b/radio/src/tests/test_de.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/de.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_es.cpp b/radio/src/tests/test_es.cpp new file mode 100644 index 00000000000..936ea7084ac --- /dev/null +++ b/radio/src/tests/test_es.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/es.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_fi.cpp b/radio/src/tests/test_fi.cpp new file mode 100644 index 00000000000..e8b47e374ed --- /dev/null +++ b/radio/src/tests/test_fi.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/fi.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_fr.cpp b/radio/src/tests/test_fr.cpp new file mode 100644 index 00000000000..afd92481b87 --- /dev/null +++ b/radio/src/tests/test_fr.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/fr.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_he.cpp b/radio/src/tests/test_he.cpp new file mode 100644 index 00000000000..44da41cf2de --- /dev/null +++ b/radio/src/tests/test_he.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/he.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_it.cpp b/radio/src/tests/test_it.cpp new file mode 100644 index 00000000000..63c95786568 --- /dev/null +++ b/radio/src/tests/test_it.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/it.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_jp.cpp b/radio/src/tests/test_jp.cpp new file mode 100644 index 00000000000..ddd5a758876 --- /dev/null +++ b/radio/src/tests/test_jp.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/jp.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_ko.cpp b/radio/src/tests/test_ko.cpp new file mode 100644 index 00000000000..92b3f4d6cf3 --- /dev/null +++ b/radio/src/tests/test_ko.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/ko.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_nl.cpp b/radio/src/tests/test_nl.cpp new file mode 100644 index 00000000000..b77c59b4e69 --- /dev/null +++ b/radio/src/tests/test_nl.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/nl.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_pl.cpp b/radio/src/tests/test_pl.cpp new file mode 100644 index 00000000000..8d3bf8c223b --- /dev/null +++ b/radio/src/tests/test_pl.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/pl.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_pt.cpp b/radio/src/tests/test_pt.cpp new file mode 100644 index 00000000000..fda489f96e6 --- /dev/null +++ b/radio/src/tests/test_pt.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/pt.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_ru.cpp b/radio/src/tests/test_ru.cpp new file mode 100644 index 00000000000..935e8e2d4f9 --- /dev/null +++ b/radio/src/tests/test_ru.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/ru.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_se.cpp b/radio/src/tests/test_se.cpp new file mode 100644 index 00000000000..f228e6d947c --- /dev/null +++ b/radio/src/tests/test_se.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/se.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_tw.cpp b/radio/src/tests/test_tw.cpp new file mode 100644 index 00000000000..bcafa2204a7 --- /dev/null +++ b/radio/src/tests/test_tw.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/tw.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/tests/test_ua.cpp b/radio/src/tests/test_ua.cpp new file mode 100644 index 00000000000..c4be3e541fb --- /dev/null +++ b/radio/src/tests/test_ua.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// Test language translation file against English base + +#include "edgetx.h" +#include "translations/translation_def.h" +#include "translations/i18n/ua.h" + +// Static string +#define STR(x) const char TST_STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const TST_STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp deleted file mode 100644 index f59a2fc1ec3..00000000000 --- a/radio/src/translations.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) EdgeTX - * - * Based on code named - * opentx - https://github.com/opentx/opentx - * 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 "edgetx.h" - -const char CHR_HOUR = TR_CHR_HOUR; -const char CHR_INPUT = TR_CHR_INPUT; - -#define TR_MONITOR_CHANNELS TR_MONITOR_CHANNELS1, TR_MONITOR_CHANNELS2, TR_MONITOR_CHANNELS3, TR_MONITOR_CHANNELS4 -#define TR_TIMER_MODES TR_OFFON,TR_START,TR_THROTTLE_LABEL,TR_THROTTLE_PERCENT_LABEL,TR_THROTTLE_START -#define TR_PHASES_HEADERS TR_PHASES_HEADERS_NAME, TR_PHASES_HEADERS_SW, TR_PHASES_HEADERS_RUD_TRIM, TR_PHASES_HEADERS_ELE_TRIM, TR_PHASES_HEADERS_THT_TRIM, TR_PHASES_HEADERS_AIL_TRIM, TR_PHASES_HEADERS_FAD_IN, TR_PHASES_HEADERS_FAD_OUT -#define TR_LIMITS_HEADERS TR_LIMITS_HEADERS_NAME, TR_LIMITS_HEADERS_SUBTRIM, TR_LIMITS_HEADERS_MIN, TR_LIMITS_HEADERS_MAX, TR_LIMITS_HEADERS_DIRECTION, TR_LIMITS_HEADERS_CURVE, TR_LIMITS_HEADERS_PPMCENTER, TR_LIMITS_HEADERS_SUBTRIMMODE -#define TR_LSW_HEADERS TR_FUNC, TR_V1, TR_V2, TR_V2, TR_AND_SWITCH, TR_DURATION, TR_DELAY, TR_PERSISTENT - -// Static string -#define STR(x) const char STR_##x[] = TR_##x -// Static string array -#define STRARRAY(x) const char* const STR_##x[] = { TR_##x } - -#include "string_list.h" - -#if defined(COLORLCD) -STR(SF_SET_SCREEN); -#else -const char STR_SF_SET_SCREEN[] = TR_SF_SET_TELEMSCREEN; -#endif - -#if defined(AUDIO) && defined(BUZZER) -STR(SPEAKER); -STR(BUZZER); -#endif - -const char STR_RX[] = "Rx"; diff --git a/radio/src/translations/bl_translations.h b/radio/src/translations/bl_translations.h index 9a8a59fc12c..fcb7b8d300a 100644 --- a/radio/src/translations/bl_translations.h +++ b/radio/src/translations/bl_translations.h @@ -21,6 +21,8 @@ #pragma once +#include "translations/translation_def.h" + // Bootloader strings - ASCII characters only (no extended ASCII or unicode) #if defined(PCBPL18) @@ -63,17 +65,10 @@ #define TR_BL_ENABLE "Povoleno" #define TR_BL_DISABLE "Zakazano" - #if defined(COLORLCD) - #define TR_BL_INVALID_FIRMWARE "Neplatny soubor s firmwarem" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "Drzet [ENT] pro zahajeni nahravani" - #define TR_BL_INVALID_FIRMWARE "Neplatny firmware soubor!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "Drzet [ENT] pro zahajeni" - #define TR_BL_INVALID_FIRMWARE "Neplatny firmware!" + #if !defined(COLORLCD) + #define TR_BL_HOLD_ENTER_TO_START TR("Drzet [ENT] pro zahajeni", "Drzet [ENT] pro zahajeni nahravani") #endif + #define TR_BL_INVALID_FIRMWARE TR("Neplatny firmware!", "Neplatny soubor s firmwarem") // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Stisknete tlacitko napajeni." @@ -109,17 +104,10 @@ #define TR_BL_ENABLE "Aktiver" #define TR_BL_DISABLE "Deaktiver" - #if defined(COLORLCD) - #define TR_BL_INVALID_FIRMWARE "Ikke en installationsfil!" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "[ENT] for at starte installation" - #define TR_BL_INVALID_FIRMWARE "Ikke en installationsfil!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "[ENT] for at starte" - #define TR_BL_INVALID_FIRMWARE "Ikke en installationsfil!" + #if !defined(COLORLCD) + #define TR_BL_HOLD_ENTER_TO_START TR("[ENT] for at starte", "[ENT] for at starte installation") #endif + #define TR_BL_INVALID_FIRMWARE "Ikke en installationsfil!" // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Tryk power knap." @@ -155,17 +143,11 @@ #define TR_BL_ENABLE "Aktivieren" #define TR_BL_DISABLE "Deaktivieren" - #if defined(COLORLCD) - #define TR_BL_INVALID_FIRMWARE "Keine gültige Firmwaredatei" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE "Oder schließen Sie ein USB-Kabel " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "Halte [ENT] gedrückt, um mit dem Schreiben zu beginnen" - #define TR_BL_INVALID_FIRMWARE "Keine gültige Firmwaredatei!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "Zum Starten [ENT] halten" - #define TR_BL_INVALID_FIRMWARE "Keine gültige Firmware!" + #if !defined(COLORLCD) + #define TR_BL_OR_PLUGIN_USB_CABLE TR(TR_BL_USB_PLUGIN, "Oder schließen Sie ein USB-Kabel " TR_BL_USB_MASS_STORE) + #define TR_BL_HOLD_ENTER_TO_START TR("Zum Starten [ENT] halten", "Halte [ENT] gedrückt, um mit dem Schreiben zu beginnen") #endif + #define TR_BL_INVALID_FIRMWARE TR("Keine gültige Firmware!", "Keine gültige Firmwaredatei!") // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Drücke den Power Knopf." @@ -201,17 +183,10 @@ #define TR_BL_ENABLE "Activer" #define TR_BL_DISABLE "Désactiver" - #if defined(COLORLCD) - #define TR_BL_INVALID_FIRMWARE "Fichier firmware non valide" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "Appui [ENT] pour demarrer ecriture" - #define TR_BL_INVALID_FIRMWARE "Fichier firmware non valide!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "Appui [ENT] pour demarrer" - #define TR_BL_INVALID_FIRMWARE "Firmware non valide!" + #if !defined(COLORLCD) + #define TR_BL_HOLD_ENTER_TO_START TR("Appui [ENT] pour demarrer", "Appui [ENT] pour demarrer ecriture") #endif + #define TR_BL_INVALID_FIRMWARE TR("Firmware non valide!", "Fichier firmware non valide!") // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Appuyez sur le bouton power." @@ -247,17 +222,10 @@ #define TR_BL_ENABLE "Abilita" #define TR_BL_DISABLE "Disabilita" - #if defined(COLORLCD) - #define TR_BL_INVALID_FIRMWARE "Firmware non valido" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "Premi [ENT] per iniziare la scrittura" - #define TR_BL_INVALID_FIRMWARE "Non è un file Firmware valido!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "Premi [ENT] per partire" - #define TR_BL_INVALID_FIRMWARE "Non è un file Firmware valido!" + #if !defined(COLORLCD) + #define TR_BL_HOLD_ENTER_TO_START TR("Premi [ENT] per partire", "Premi [ENT] per iniziare la scrittura") #endif + #define TR_BL_INVALID_FIRMWARE "Non è un file Firmware valido!" // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Premi il bottone d'accensione" @@ -293,17 +261,10 @@ #define TR_BL_ENABLE "Enable" #define TR_BL_DISABLE "Disable" - #if defined(COLORLCD) - #define TR_BL_INVALID_FIRMWARE "Nieprawidlowy plik firmware" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "Przytrzymaj [ENT] by zaczac zapis" - #define TR_BL_INVALID_FIRMWARE "Nieprawidlowy plik firmware!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "Przytrzymaj [ENT] by zaczac" - #define TR_BL_INVALID_FIRMWARE "011Nieprawidlowy firmware!" + #if !defined(COLORLCD) + #define TR_BL_HOLD_ENTER_TO_START TR("Przytrzymaj [ENT] by zaczac", "Przytrzymaj [ENT] by zaczac zapis") #endif + #define TR_BL_INVALID_FIRMWARE TR("Nieprawidlowy firmware!", "Nieprawidlowy plik firmware!") // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Nacisnij przycisk Power" @@ -340,17 +301,10 @@ #define TR_BL_ENABLE "Aktivera" #define TR_BL_DISABLE "Inaktivera" - #if LCD_W >= 480 - #define TR_BL_INVALID_FIRMWARE "Ej en giltig firmwarefil" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "Tryck [ENT] foer att boerja skriva " - #define TR_BL_INVALID_FIRMWARE "Ej en giltig firmwarefil!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "Tryck [ENT] för att boerja" - #define TR_BL_INVALID_FIRMWARE "Ej en giltig firmware!" + #if !defined(COLORLCD) + #define TR_BL_HOLD_ENTER_TO_START TR("Tryck [ENT] för att boerja", "Tryck [ENT] foer att boerja skriva") #endif + #define TR_BL_INVALID_FIRMWARE TR("Ej en giltig firmware!", "Ej en giltig firmwarefil!") // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Tryck paa startknappen." @@ -386,17 +340,10 @@ #define TR_BL_ENABLE "Enable" #define TR_BL_DISABLE "Disable" - #if defined(COLORLCD) - #define TR_BL_INVALID_FIRMWARE "Not a valid firmware file" - #elif LCD_W >= 212 - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE - #define TR_BL_HOLD_ENTER_TO_START "Hold [ENT] to start writing" - #define TR_BL_INVALID_FIRMWARE "Not a valid firmware file!" - #else - #define TR_BL_OR_PLUGIN_USB_CABLE TR_BL_USB_PLUGIN - #define TR_BL_HOLD_ENTER_TO_START "Hold [ENT] to start" - #define TR_BL_INVALID_FIRMWARE "Not a valid firmware!" + #if !defined(COLORLCD) + #define TR_BL_HOLD_ENTER_TO_START TR("Hold [ENT] to start", "Hold [ENT] to start writing") #endif + #define TR_BL_INVALID_FIRMWARE TR("Not a valid firmware!", "Not a valid firmware file!") // Bootloader Taranis specific - ASCII characters only #define TR_BL_POWER_KEY "Press the power button." @@ -417,6 +364,10 @@ #endif +#if !defined(COLORLCD) && !defined(TR_BL_OR_PLUGIN_USB_CABLE) + #define TR_BL_OR_PLUGIN_USB_CABLE TR(TR_BL_USB_PLUGIN, TR_BL_USB_PLUGIN " " TR_BL_USB_MASS_STORE) +#endif + #define TR_BL_DFU_MODE "DFU mode" #define TR_BL_PLUG_USB "Plug USB cable" #define TR_BL_COPY_UF2 "Copy firmware.uf2 to EDGETX_UF2 drive" diff --git a/radio/src/translations/cn.h b/radio/src/translations/i18n/cn.h similarity index 73% rename from radio/src/translations/cn.h rename to radio/src/translations/i18n/cn.h index 559877ac4e9..c833f2f50cd 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/i18n/cn.h @@ -29,15 +29,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "管理\n模型" #define TR_QM_MODEL_SETUP "模型\n设置" @@ -45,7 +36,7 @@ #define TR_QM_UI_SETUP "界面\n设置" #define TR_QM_TOOLS "工具\nAPP" #define TR_QM_GEN_SETTINGS "常规\n设置" -#define TR_QM_FLIGHT_MODES TRSA("驾驶\n模式", "飞行\n模式") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("驾驶\n模式", "飞行\n模式") #define TR_QM_INPUTS "输入" #define TR_QM_MIXES "混控" #define TR_QM_OUTPUTS "输出" @@ -74,7 +65,7 @@ #define TR_QM_ADD_SCREEN "添加\n屏幕" #define TR_QM_APPS "APP\nLUA脚本" #define TR_QM_STORAGE "存储器" -#define TR_QM_RESET TRSA("重置", "重置") +#define TR_QM_RESET TR_SFC_AIR("重置", "重置") #define TR_QM_CHAN_MON "通道\n监视器" #define TR_QM_LS_MON "逻辑开关\n监视器" #define TR_QM_STATS "统计" @@ -93,8 +84,8 @@ #define TR_MAIN_MENU_THEMES "主题" #define TR_MAIN_MENU_APPS "APP/LUA脚本" #define TR_MENUHELISETUP "直升机设置" -#define TR_MENUFLIGHTMODES TRSA("驾驶模式", "飞行模式设置") -#define TR_MENUFLIGHTMODE TRSA("驾驶模式", "飞行模式") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("驾驶模式", "飞行模式设置") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("驾驶模式", "飞行模式") #define TR_MENUINPUTS "输入" #define TR_MENULIMITS "输出" #define TR_MENUCURVES "曲线" @@ -119,49 +110,106 @@ #define TR_MINUTE_PLURAL1 "分钟" #define TR_MINUTE_PLURAL2 "分钟" -#define TR_OFFON "禁用","开启" -#define TR_MMMINV "---","反\0" -#define TR_VBEEPMODE "静音","警告","忽略按键","全部" -#define TR_VBLMODE "关闭","按键","操控","全部","开启" -#define TR_TRNMODE "关","相加","替换" -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "禁用","回传镜像","回传输入","SBUS教练","LUA脚本","CLI","GPS","Debug","SpaceMouse","外置发射" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "禁用","回弹","2段","3段","全局" -#else -#define TR_SWTYPES "禁用","回弹","2段","3段" -#endif -#define TR_POTTYPES "禁用","无中点旋钮",TR("中点旋钮","有中点旋钮"),"侧滑块",TR("多段","多段按键"),"X 轴","Y 轴","开关" -#define TR_VPERSISTENT "禁用","随飞行记录复位","手动复位" -#define TR_COUNTRY_CODES "美国","日本","欧洲" -#define TR_USBMODES "询问","游戏柄","存储器","串行" -#define TR_JACK_MODES "询问","音频","教练" - -#define TR_SBUS_INVERSION_VALUES "正常","未反相" +#define TR_OFFON_1 "禁用" +#define TR_OFFON_2 "开启" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "反\0" +#define TR_VBEEPMODE_1 "静音" +#define TR_VBEEPMODE_2 "警告" +#define TR_VBEEPMODE_3 "忽略按键" +#define TR_VBEEPMODE_4 "全部" +#define TR_VBLMODE_1 "关闭" +#define TR_VBLMODE_2 "按键" +#define TR_VBLMODE_3 "操控" +#define TR_VBLMODE_4 "全部" +#define TR_VBLMODE_5 "开启" +#define TR_TRNMODE_1 "关" +#define TR_TRNMODE_2 "相加" +#define TR_TRNMODE_3 "替换" +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "禁用" +#define TR_AUX_SERIAL_MODES_2 "回传镜像" +#define TR_AUX_SERIAL_MODES_3 "回传输入" +#define TR_AUX_SERIAL_MODES_4 "SBUS教练" +#define TR_AUX_SERIAL_MODES_5 "LUA脚本" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "外置发射" +#define TR_SWTYPES_1 "禁用" +#define TR_SWTYPES_2 "回弹" +#define TR_SWTYPES_3 "2段" +#define TR_SWTYPES_4 "3段" +#define TR_SWTYPES_5 "全局" +#define TR_POTTYPES_1 "禁用" +#define TR_POTTYPES_2 "无中点旋钮" +#define TR_POTTYPES_3 TR("中点旋钮","有中点旋钮") +#define TR_POTTYPES_4 "侧滑块" +#define TR_POTTYPES_5 TR("多段","多段按键") +#define TR_POTTYPES_6 "X 轴" +#define TR_POTTYPES_7 "Y 轴" +#define TR_POTTYPES_8 "开关" +#define TR_VPERSISTENT_1 "禁用" +#define TR_VPERSISTENT_2 "随飞行记录复位" +#define TR_VPERSISTENT_3 "手动复位" +#define TR_COUNTRY_CODES_1 "美国" +#define TR_COUNTRY_CODES_2 "日本" +#define TR_COUNTRY_CODES_3 "欧洲" +#define TR_USBMODES_1 "询问" +#define TR_USBMODES_2 "游戏柄" +#define TR_USBMODES_3 "存储器" +#define TR_USBMODES_4 "串行" +#define TR_JACK_MODES_1 "询问" +#define TR_JACK_MODES_2 "音频" +#define TR_JACK_MODES_3 "教练" + +#define TR_SBUS_INVERSION_VALUES_1 "正常" +#define TR_SBUS_INVERSION_VALUES_2 "未反相" #define TR_MULTI_CUSTOM "自定义" -#define TR_VTRIMINC "指数","很小","较小","中等","较大" -#define TR_VDISPLAYTRIMS "不显示","改变时","始终显示" -#define TR_VBEEPCOUNTDOWN "静音","蜂鸣","语音","震动",TR("B & H","Beeps & Haptic"),TR("V & H","Voice & Haptic") -#define TR_COUNTDOWNVALUES "5秒","10秒","20秒","30秒" -#define TR_VVARIOCENTER "音调","静音" -#define TR_CURVE_TYPES "标准","自定义" - -#define TR_ADCFILTERVALUES "全局","禁用","开启" - -#define TR_VCURVETYPE "单边","指数","函数","自定义" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "相加","相乘","替换" -#define TR_VMLTPX2 "+=","*=",":=" +#define TR_VTRIMINC_1 "指数" +#define TR_VTRIMINC_2 "很小" +#define TR_VTRIMINC_3 "较小" +#define TR_VTRIMINC_4 "中等" +#define TR_VTRIMINC_5 "较大" +#define TR_VDISPLAYTRIMS_1 "不显示" +#define TR_VDISPLAYTRIMS_2 "改变时" +#define TR_VDISPLAYTRIMS_3 "始终显示" +#define TR_VBEEPCOUNTDOWN_1 "静音" +#define TR_VBEEPCOUNTDOWN_2 "蜂鸣" +#define TR_VBEEPCOUNTDOWN_3 "语音" +#define TR_VBEEPCOUNTDOWN_4 "震动" +#define TR_VBEEPCOUNTDOWN_5 TR("B & H","Beeps & Haptic") +#define TR_VBEEPCOUNTDOWN_6 TR("V & H","Voice & Haptic") +#define TR_COUNTDOWNVALUES_1 "5秒" +#define TR_COUNTDOWNVALUES_2 "10秒" +#define TR_COUNTDOWNVALUES_3 "20秒" +#define TR_COUNTDOWNVALUES_4 "30秒" +#define TR_VVARIOCENTER_1 "音调" +#define TR_VVARIOCENTER_2 "静音" +#define TR_CURVE_TYPES_1 "标准" +#define TR_CURVE_TYPES_2 "自定义" + +#define TR_ADCFILTERVALUES_1 "全局" +#define TR_ADCFILTERVALUES_2 "禁用" +#define TR_ADCFILTERVALUES_3 "开启" + +#define TR_VCURVETYPE_1 "单边" +#define TR_VCURVETYPE_2 "指数" +#define TR_VCURVETYPE_3 "函数" +#define TR_VCURVETYPE_4 "自定义" +#define TR_VMLTPX_1 "相加" +#define TR_VMLTPX_2 "相乘" +#define TR_VMLTPX_3 "替换" #define TR_CSWTIMER "定时" #define TR_CSWSTICKY "粘滞" #define TR_CSWSTAY "边沿" -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_FSW_RESET_TRIMS "Trims" - #define TR_FSW_RESET_TIMERS "计时器1","计时器2","计时器3" -#else - #define TR_FSW_RESET_TRIMS "Trims" - #define TR_FSW_RESET_TIMERS "计时1","计时2","计时3" -#endif - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("全部","飞行"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Beep1"),TR("Bp2","Beep2"),TR("Bp3","Beep3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TRIMS "Trims" +#define TR_FSW_RESET_TIMERS_1 TR("计时1", "计时器1") +#define TR_FSW_RESET_TIMERS_2 TR("计时2", "计时器2") +#define TR_FSW_RESET_TIMERS_3 TR("计时3", "计时器3") + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("全部","飞行") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM "公制",TR("英制","英制") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "禁用","数值","条形图","脚本" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "公制" +#define TR_VUNITSSYSTEM_2 TR("英制","英制") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "禁用" +#define TR_VTELEMSCREENTYPE_2 "数值" +#define TR_VTELEMSCREENTYPE_3 "条形图" +#define TR_VTELEMSCREENTYPE_4 "脚本" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Rud" #define TR_STICK_NAMES1 "Ele" @@ -233,18 +332,20 @@ #define TR_SURFACE_NAMES0 "ST" #define TR_SURFACE_NAMES1 "TH" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Default","High" -#endif +#define TR_RFPOWER_AFHDS2_1 "Default" +#define TR_RFPOWER_AFHDS2_2 "High" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","One" +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "One" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "按键帽模式" -#define TR_HATSOPT "微调","导航键","可切换","全局" +#define TR_HATSOPT_1 "微调" +#define TR_HATSOPT_2 "导航键" +#define TR_HATSOPT_3 "可切换" +#define TR_HATSOPT_4 "全局" #define TR_HATSMODE_TRIMS "按键帽: 微调" #define TR_HATSMODE_KEYS "按键帽: 导航键" #define TR_HATSMODE_KEYS_HELP "左侧按键帽:\n"\ @@ -257,79 +358,87 @@ " 右 = PAGE>\n"\ " 上 = PREV/INC\n"\ " 下 = NEXT/DEC" -#endif -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "正常","反向" -#else - #define TR_ROTARY_ENC_OPT "正常","反向","V-I H-N","V-I H-A","V-N E-I" -#endif +#define TR_ROTARY_ENC_OPT_1 "正常" +#define TR_ROTARY_ENC_OPT_2 "反向" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ON","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ON" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "禁用" #define TR_VTRAINER_MASTER_JACK "教练主机/教练口" #define TR_VTRAINER_SLAVE_JACK "学生从机/教练口" #define TR_VTRAINER_MASTER_SBUS_MODULE "教练主机/SBUS模块" #define TR_VTRAINER_MASTER_CPPM_MODULE "教练从机/CPPM模块" #define TR_VTRAINER_MASTER_BATTERY "教练主机/串口" -#define TR_VTRAINER_BLUETOOTH "教练主机/蓝牙","教练从机/蓝牙" +#define TR_VTRAINER_BLUETOOTH_1 "教练主机/蓝牙" +#define TR_VTRAINER_BLUETOOTH_2 "教练从机/蓝牙" #define TR_VTRAINER_MULTI "教练主机/多协议" #define TR_VTRAINER_CRSF "教练主机/CRSF" -#define TR_VFAILSAFE "未设置","失控保持","自定义","无脉冲","接收机" -#define TR_VSENSORTYPES "自定义","运算" -#define TR_VFORMULAS "加","平均值","最小值","最大值","乘","总计值","单节电池","消耗量","距离" -#define TR_VPREC "0.--","0.0-","0.00" -#define TR_VCELLINDEX "最低值","1","2","3","4","5","6","7","8","最高值","差值" -#define TR_SUBTRIMMODES STR_CHAR_DELTA "(中点)", "=(整体)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER "[确认]" - #define TR_ENTER_LONG "[长按确认]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "退出" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "退出" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "未设置" +#define TR_VFAILSAFE_2 "失控保持" +#define TR_VFAILSAFE_3 "自定义" +#define TR_VFAILSAFE_4 "无脉冲" +#define TR_VFAILSAFE_5 "接收机" +#define TR_VSENSORTYPES_1 "自定义" +#define TR_VSENSORTYPES_2 "运算" +#define TR_VFORMULAS_1 "加" +#define TR_VFORMULAS_2 "平均值" +#define TR_VFORMULAS_3 "最小值" +#define TR_VFORMULAS_4 "最大值" +#define TR_VFORMULAS_5 "乘" +#define TR_VFORMULAS_6 "总计值" +#define TR_VFORMULAS_7 "单节电池" +#define TR_VFORMULAS_8 "消耗量" +#define TR_VFORMULAS_9 "距离" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0-" +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "最低值" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "最高值" +#define TR_VCELLINDEX_11 "差值" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA "(中点)" +#define TR_SUBTRIMMODES_2 "=(整体)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "空闲" #define TR_YES "是" @@ -362,11 +471,19 @@ #define TR_USE_GLOBAL_FUNCS TR("全局功能", "全局功能可介入") #define TR_PPMFRAME "PPM帧" #define TR_REFRESHRATE TR("刷新率", "刷新速率") -#define STR_WARN_BATTVOLTAGE TR("输出为电池电压: ", "注意输出电平为电池电压") +#define TR_WARN_BATTVOLTAGE TR("输出为电池电压: ", "注意输出电平为电池电压") #define TR_WARN_5VOLTS "注意输出电平为5V" #define TR_MS "ms" #define TR_SWITCH "开关" -#define TR_FS_COLOR_LIST "自定义","关闭","白色","红色","绿色","黄色","橙色","蓝色","粉色" +#define TR_FS_COLOR_LIST_1 "定义" +#define TR_FS_COLOR_LIST_2 "关闭" +#define TR_FS_COLOR_LIST_3 "白色" +#define TR_FS_COLOR_LIST_4 "红色" +#define TR_FS_COLOR_LIST_5 "绿色" +#define TR_FS_COLOR_LIST_6 "黄色" +#define TR_FS_COLOR_LIST_7 "橙色" +#define TR_FS_COLOR_LIST_8 "蓝色" +#define TR_FS_COLOR_LIST_9 "粉色" #define TR_GROUP "分组" #define TR_GROUP_ALWAYS_ON "始终开启" #define TR_LUA_OVERRIDE "允许LUA脚本控制" @@ -376,28 +493,19 @@ #define TR_SWITCH_TYPE "类型" #define TR_SWITCH_STARTUP "默认" #define TR_SWITCH_GROUP "分组" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" -#define TR_SF_SWITCH "触发" +#define TR_SF_SWITCH "Trigger" #define TR_TRIMS "微调" #define TR_FADEIN "渐入" #define TR_FADEOUT "渐出" #define TR_DEFAULT "(默认)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "检查当前飞行模式微调" -#else - #define TR_CHECKTRIMS "\006检查\012微调" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006检查\012微调", "检查当前飞行模式微调") #define TR_SWASHTYPE "斜盘类型" #define TR_COLLECTIVE TR("螺距源", "螺距混控源") #define TR_AILERON TR("横滚源", "横滚混控源") #define TR_ELEVATOR TR("俯仰源", "俯仰混控源") #define TR_SWASHRING "斜盘行程" #define TR_MODE "模式" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "左摇杆" -#else - #define TR_LEFT_STICK "左摇杆" -#endif +#define TR_LEFT_STICK "左摇杆" #define TR_SUBTYPE "子类型" #define TR_NOFREEEXPO "指数曲线已满!" #define TR_NOFREEMIXER "混控数量已满!" @@ -420,11 +528,7 @@ #define TR_SLOWDOWN TR("下慢放", "下行慢动作") #define TR_SLOWUP "上行慢动作" #define TR_CV "曲线" -#if defined(PCBPL18) - #define TR_GV "GV" -#else - #define TR_GV TR("G", "GV") -#endif +#define TR_GV TR("G", "GV") #define TR_RANGE "范围" #define TR_CENTER "中点" #define TR_ALARM "报警" @@ -493,20 +597,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "倍率" #define TR_CAL "校准" -#define TR_CALIBRATION "校准" +#define TR_CALIBRATION BUTTON("校准") #define TR_VTRIM "微调-+" #define TR_CALIB_DONE "校准完成" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "校准中点,按[确认]保存" - #define TR_MOVESTICKSPOTS "校准边界,按[确认]保存并完成" -#else - #define TR_MENUTOSTART "按" TR_ENTER " 开始" - #define TR_SETMIDPOINT TRSA("校准中点", TR("校准中点", "校准中点")) - #define TR_MOVESTICKSPOTS TRSA("校准边界", "校准边界") - #define TR_MENUWHENDONE TR_ENTER " 完成" +#define TR_MENUTOSTART "按" TR_ENTER " 开始" +#define TR_MENUWHENDONE TR_ENTER " 完成" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("校准中点", TR("校准中点", "校准中点")), "校准中点,按[确认]保存") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("校准边界", "校准边界"), "校准边界,按[确认]保存并完成") #define TR_NODATA "NO DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -536,7 +635,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "模型" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM low mem" #define TR_PRESS_ANY_KEY_TO_SKIP "按任意键跳过" #define TR_THROTTLE_NOT_IDLE "请将油门拉至最低!" @@ -555,11 +654,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "已校准的ADC值" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "原始ADC值 (5 Hz)" #define TR_MENU_FSWITCH "自定义按键" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "将当前微调量保存至中点" -#else - #define TR_TRIMS2OFFSETS "\006微调存至中点" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006微调存至中点", "将当前微调量保存至中点") #define TR_CHANNELS2FAILSAFE "导入当前所有通道值" #define TR_CHANNEL2FAILSAFE "导入当前通道值" #define TR_MENUMODELSEL TR("模型选择", "模型选择") @@ -677,7 +772,7 @@ #define TR_PIN "插针" #define TR_UPDATE_RX_OPTIONS "是否升级接收机?" #define TR_UPDATE_TX_OPTIONS "是否升级发射机?" -#define TR_MODULES_RX_VERSION "模块/接收机版本" +#define TR_MODULES_RX_VERSION BUTTON("模块/接收机版本") #define TR_SHOW_MIXER_MONITORS "显示通道混控" #define TR_MENU_MODULES_RX_VERSION "模块/接收机版本" #define TR_MENU_FIRM_OPTIONS "固件选项" @@ -697,11 +792,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "刷新" #define TR_SDCARD_FULL "SD卡已满" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\n日志和截屏功能将被禁用" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036日志和 " LCDW_128_LINEBREAK "截屏功能将被禁用" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036日志和 " LCDW_128_LINEBREAK "截屏功能将被禁用", TR_SDCARD_FULL "\n日志和截屏功能将被禁用") #define TR_NEEDS_FILE "需要文件名包含" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -760,7 +851,8 @@ #define TR_CRSF_ARMING_MODE "解锁类型" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "采样模式" -#define TR_SAMPLE_MODES "标准","OneBit" +#define TR_SAMPLE_MODES_1 "标准" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "加载中..." #define TR_DELETE_THEME "删除主题?" #define TR_SAVE_THEME "保存主题?" @@ -768,15 +860,16 @@ #define TR_NO_THEME_IMAGE "没有预览图" #define TR_BACKLIGHT_TIMER "持续时间" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "快速选择模型" - #define TR_LABELS_SELECT "标签类型选择" - #define TR_LABELS_MATCH "标签匹配类型" - #define TR_FAV_MATCH "收藏夹匹配类型" - #define TR_LABELS_SELECT_MODE "复选项","单选项" - #define TR_LABELS_MATCH_MODE "全部匹配","任意匹配" - #define TR_FAV_MATCH_MODE "必须匹配","可选匹配" -#endif +#define TR_MODEL_QUICK_SELECT "快速选择模型" +#define TR_LABELS_SELECT "标签类型选择" +#define TR_LABELS_MATCH "标签匹配类型" +#define TR_FAV_MATCH "收藏夹匹配类型" +#define TR_LABELS_SELECT_MODE_1 "复选项" +#define TR_LABELS_SELECT_MODE_2 "单选项" +#define TR_LABELS_MATCH_MODE_1 "全部匹配" +#define TR_LABELS_MATCH_MODE_2 "任意匹配" +#define TR_FAV_MATCH_MODE_1 "必须匹配" +#define TR_FAV_MATCH_MODE_2 "可选匹配" #define TR_SELECT_TEMPLATE_FOLDER "选择一个模板文件夹:" #define TR_SELECT_TEMPLATE "选择一个模板:" @@ -796,11 +889,10 @@ #define TR_BLUETOOTH_NODEVICES "未找到设备" #define TR_BLUETOOTH_SCANNING "正在扫描..." #define TR_BLUETOOTH_BAUDRATE "蓝牙带宽" -#if defined(PCBX9E) - #define TR_BLUETOOTH_MODES "---","启用" -#else - #define TR_BLUETOOTH_MODES "---","回传","教练" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "回传" +#define TR_BLUETOOTH_MODES_3 "教练" +#define TR_BLUETOOTH_MODES_4 "启用" #define TR_SD_INFO_TITLE "存储卡详情" #define TR_SD_SPEED "速度:" @@ -811,7 +903,18 @@ #define TR_GLOBAL_VAR "全局变量" #define TR_OWN "Own" #define TR_DATE "日期" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "May" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Oct" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec" #define TR_ROTARY_ENCODER "滚轮" #define TR_ROTARY_ENC_MODE TR("滚轮模式","滚轮模式") #define TR_CHANNELS_MONITOR "通道查看器" @@ -916,14 +1019,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "选择设备" -#define TR_DISCOVER "发现" +#define TR_DISCOVER BUTTON("发现") #define TR_BUTTON_INIT BUTTON("初始化") #define TR_WAITING "等待..." #define TR_RECEIVER_DELETE "是否删除接收机?" #define TR_RECEIVER_RESET "是否复位接收机?" #define TR_SHARE "分享" #define TR_BIND "对频" -#define TR_REGISTER TR("注册", "注册") +#define TR_REGISTER BUTTON(TR("注册", "注册")) #define TR_MODULE_RANGE BUTTON(TR("测距", "测距")) #define TR_RANGE_TEST "距离测试(低功率)" #define TR_RECEIVER_OPTIONS TR("选项", "接收机选项") @@ -954,11 +1057,11 @@ #define TR_TELEMETRY_NEWSENSOR "添加新传感器..." #define TR_CHANNELRANGE TR("通道范围", "通道范围") #define TR_ANTENNACONFIRM1 "外置天线" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "内置天线","询问","基于模型","外置天线" -#else - #define TR_ANTENNA_MODES "内置天线","询问","基于模型","外置天线" -#endif +#define TR_ANTENNA_MODES_1 "内置天线" +#define TR_ANTENNA_MODES_2 "询问" +#define TR_ANTENNA_MODES_3 "基于模型" +#define TR_ANTENNA_MODES_4 "外置天线" +#define TR_ANTENNA_MODES_5 "外置天线" #define TR_USE_INTERNAL_ANTENNA TR("请使用内置天线", "请使用内置天线") #define TR_USE_EXTERNAL_ANTENNA TR("请使用外置天线", "请使用外置天线") #define TR_ANTENNACONFIRM2 TR("检查天线", "请确认天线安装完好!") @@ -975,7 +1078,7 @@ #define TR_CURVE_PRESET "预设..." #define TR_PRESET "预设" #define TR_MIRROR "镜像" -#define TR_CLEAR "清除" +#define TR_CLEAR BUTTON("清除") #define TR_RESET "复位" #define TR_RESET_SUBMENU "复位..." #define TR_COUNT "点数" @@ -990,7 +1093,9 @@ #define TR_MIXSOURCE "输入源 (%)" #define TR_MIXSOURCERAW "输入源 (数值)" #define TR_CONSTANT "固定值" -#define TR_PREFLIGHT_POTSLIDER_CHECK "关闭","开启","自动" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "关闭" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "开启" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "自动" #define TR_PREFLIGHT "初始检查" #define TR_CHECKLIST TR("显示列表", "显示列表") #define TR_CHECKLIST_INTERACTIVE TR3("检查列表", "自定义检查列表", "自定义检查列表") @@ -1005,7 +1110,8 @@ #define TR_CONFIRMRESET TR("是否清除?", "是否清除所有模型和设置数据?") #define TR_TOO_MANY_LUA_SCRIPTS "LUA脚本数量超出限制!" #define TR_SPORT_UPDATE_POWER_MODE "SP 电源" -#define TR_SPORT_UPDATE_POWER_MODES "自动","开启" +#define TR_SPORT_UPDATE_POWER_MODES_1 "自动" +#define TR_SPORT_UPDATE_POWER_MODES_2 "开启" #define TR_NO_TELEMETRY_SCREENS "无回传页面" #define TR_TOUCH_PANEL "触摸屏:" #define TR_FILE_SIZE "文件大小" @@ -1033,36 +1139,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "微调模式" #define TR_INVERTED "反向" - -#define TR_LSW_DESCRIPTIONS "比较类型或功能", "第一个变量", "第二个变量或常量", "第二个变量或常量", "启用本行的附加条件", "逻辑开关持续时间", "逻辑开关延时开启" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "起始通道" - #define TR_FILL_BACKGROUND "是否填充背景?" - #define TR_BG_COLOR "背景颜色" - #define TR_SLIDERS_TRIMS "滑块和微调" - #define TR_SLIDERS "滑块" - #define TR_FLIGHT_MODE "飞行模式" - #define TR_INVALID_FILE "无效的文件" - #define TR_TIMER_SOURCE "计时器选择" - #define TR_SIZE "尺寸" - #define TR_SHADOW "阴影" - #define TR_ALIGNMENT "对齐" - #define TR_ALIGN_LABEL "对齐名称" - #define TR_ALIGN_VALUE "对齐值" - #define TR_ALIGN_OPTS "左", "中", "右" - #define TR_TEXT "文本" - #define TR_COLOR "颜色" - #define TR_PANEL1_BACKGROUND "面板1背景" - #define TR_PANEL2_BACKGROUND "面板2背景" - #define TR_WIDGET_GAUGE "行程" - #define TR_WIDGET_MODELBMP "模型信息" - #define TR_WIDGET_OUTPUTS "输出" - #define TR_WIDGET_TEXT "文本" - #define TR_WIDGET_TIMER "计时器" - #define TR_WIDGET_VALUE "数值" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "起始通道" +#define TR_FILL_BACKGROUND "是否填充背景?" +#define TR_BG_COLOR "背景颜色" +#define TR_SLIDERS_TRIMS "滑块和微调" +#define TR_SLIDERS "滑块" +#define TR_FLIGHT_MODE "飞行模式" +#define TR_INVALID_FILE "无效的文件" +#define TR_TIMER_SOURCE "计时器选择" +#define TR_SIZE "尺寸" +#define TR_SHADOW "阴影" +#define TR_ALIGNMENT "对齐" +#define TR_ALIGN_LABEL "对齐名称" +#define TR_ALIGN_VALUE "对齐值" +#define TR_ALIGN_OPTS_1 "左" +#define TR_ALIGN_OPTS_2 "中" +#define TR_ALIGN_OPTS_3 "右" +#define TR_TEXT "文本" +#define TR_COLOR "颜色" +#define TR_PANEL1_BACKGROUND "面板1背景" +#define TR_PANEL2_BACKGROUND "面板2背景" +#define TR_WIDGET_GAUGE "行程" +#define TR_WIDGET_MODELBMP "模型信息" +#define TR_WIDGET_OUTPUTS "输出" +#define TR_WIDGET_TEXT "文本" +#define TR_WIDGET_TIMER "计时器" +#define TR_WIDGET_VALUE "数值" // About screen #define TR_ABOUTUS TR(" 关于 ", "关于") @@ -1095,7 +1198,7 @@ #define TR_CELLINDEX "单节电池编号" #define TR_LOGS "日志" #define TR_OPTIONS "选项" -#define TR_FIRMWARE_OPTIONS "固件选项" +#define TR_FIRMWARE_OPTIONS BUTTON("固件选项") #define TR_ALTSENSOR "Alt 传感器" #define TR_CELLSENSOR "Cell 传感器" @@ -1148,11 +1251,6 @@ #define TR_USE_THEME_COLOR "使用主题颜色" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "将所有微调导入中点偏移值" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "打开通道监视器" -#else - #define TR_OPEN_CHANNEL_MONITORS "通道监视" -#endif #define TR_DUPLICATE "复制" #define TR_ACTIVATE "启用" #define TR_RED "红" @@ -1214,29 +1312,71 @@ #define TR_USBJOYSTICK_LABEL "USB 游戏柄" #define TR_USBJOYSTICK_EXTMODE "模式" -#define TR_VUSBJOYSTICK_EXTMODE "常规","高级" -#define TR_USBJOYSTICK_SETTINGS "通道设置" +#define TR_VUSBJOYSTICK_EXTMODE_1 "常规" +#define TR_VUSBJOYSTICK_EXTMODE_2 "高级" +#define TR_USBJOYSTICK_SETTINGS BUTTON("通道设置") #define TR_USBJOYSTICK_IF_MODE TR("接口模式","接口模式") -#define TR_VUSBJOYSTICK_IF_MODE "操纵杆","游戏手柄","多轴摇杆" +#define TR_VUSBJOYSTICK_IF_MODE_1 "操纵杆" +#define TR_VUSBJOYSTICK_IF_MODE_2 "游戏手柄" +#define TR_VUSBJOYSTICK_IF_MODE_3 "多轴摇杆" #define TR_USBJOYSTICK_CH_MODE "通道模式" -#define TR_VUSBJOYSTICK_CH_MODE "禁用","按钮","轴","模拟" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "禁用" +#define TR_VUSBJOYSTICK_CH_MODE_2 "按钮" +#define TR_VUSBJOYSTICK_CH_MODE_3 "轴" +#define TR_VUSBJOYSTICK_CH_MODE_4 "模拟" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "按钮模式" -#define TR_VUSBJOYSTICK_CH_BTNMODE "普通","脉冲","开关","双联","多联" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("普通","普通"),TR("脉冲","脉冲"),TR("开关","开关"),TR("双联","双联"),TR("多联","多联") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "普通" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "脉冲" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "开关" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "双联" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "多联" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("普通","普通") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("脉冲","脉冲") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("开关","开关") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("双联","双联") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("多联","多联") #define TR_USBJOYSTICK_CH_SWPOS "位置" -#define TR_VUSBJOYSTICK_CH_SWPOS "单按","2联","3联","4联","5联","6联","7联","8联" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "单按" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2联" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3联" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4联" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5联" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6联" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7联" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8联" #define TR_USBJOYSTICK_CH_AXIS "轴" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","旋转X","旋转Y","旋转Z","推杆","拨轮","方向盘" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "旋转X" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "旋转Y" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "旋转Z" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "推杆" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "拨轮" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "方向盘" #define TR_USBJOYSTICK_CH_SIM "模拟轴" -#define TR_VUSBJOYSTICK_CH_SIM "横滚","俯仰","航向","油门","加速","刹车","转盘","方向" +#define TR_VUSBJOYSTICK_CH_SIM_1 "横滚" +#define TR_VUSBJOYSTICK_CH_SIM_2 "俯仰" +#define TR_VUSBJOYSTICK_CH_SIM_3 "航向" +#define TR_VUSBJOYSTICK_CH_SIM_4 "油门" +#define TR_VUSBJOYSTICK_CH_SIM_5 "加速" +#define TR_VUSBJOYSTICK_CH_SIM_6 "刹车" +#define TR_VUSBJOYSTICK_CH_SIM_7 "转盘" +#define TR_VUSBJOYSTICK_CH_SIM_8 "方向" #define TR_USBJOYSTICK_CH_INVERSION "反转" #define TR_USBJOYSTICK_CH_BTNNUM "按钮编号." #define TR_USBJOYSTICK_BTN_COLLISION "!按钮编号冲突!" #define TR_USBJOYSTICK_AXIS_COLLISION "!轴冲突!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("圆口行程", "圆口行程") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "无","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "应用更改" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "无" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("应用更改") #define TR_DIGITAL_SERVO "数字舵机333HZ" #define TR_ANALOG_SERVO "模拟舵机50HZ" @@ -1252,7 +1392,10 @@ #define TR_SELECT_MENU_CLR "清除" #define TR_SELECT_MENU_INV "反向" -#define TR_SORT_ORDERS "名称 A-Z","名称 Z-A","不常用","常用" +#define TR_SORT_ORDERS_1 "名称 A-Z" +#define TR_SORT_ORDERS_2 "名称 Z-A" +#define TR_SORT_ORDERS_3 "不常用" +#define TR_SORT_ORDERS_4 "常用" #define TR_SORT_MODELS_BY "排序" #define TR_CREATE_NEW "新建" diff --git a/radio/src/translations/cz.h b/radio/src/translations/i18n/cz.h similarity index 72% rename from radio/src/translations/cz.h rename to radio/src/translations/i18n/cz.h index 3c893d237da..ed285661512 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/i18n/cz.h @@ -31,15 +31,6 @@ * \001 to \034 -extended spacing (value * FW/2) */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 4 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 1 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 20 - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -47,7 +38,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -76,7 +67,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -95,8 +86,8 @@ #define TR_MAIN_MENU_THEMES "Motivy" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "HELI" -#define TR_MENUFLIGHTMODES TRSA("REŽIM JÍZDA", "LETOVÉ REŽIMY") -#define TR_MENUFLIGHTMODE TRSA("REŽIM JÍZDA", "LETOVÝ REŽIM") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("REŽIM JÍZDA", "LETOVÉ REŽIMY") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("REŽIM JÍZDA", "LETOVÝ REŽIM") #define TR_MENUINPUTS "VSTUPY" #define TR_MENULIMITS "SERVA" #define TR_MENUCURVES "KŘIVKY" @@ -122,56 +113,104 @@ #define TR_MINUTE_PLURAL2 "minut" // NON ZERO TERMINATED STRINGS -#define TR_OFFON "VYP","ZAP" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Tichý",TR("Alarm","Jen Alarm"),TR("BezKl","Bez kláves"),"Vše" -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VBLMODE TR("Vyp","Vypnuto"),TR("Kláv.","Klávesy"),"Páky","Vše",TR("Zap","Zapnuto") -#define TR_TRNMODE "X","Sečíst","Zaměnit" -#define TR_TRNCHN "CH1","CH2","CH3","CH4" -#define TR_AUX_SERIAL_MODES "VYP","Telemetrie zrcadlení","Telemetrie vstup","SBUS Trenér","LUA","CLI","GPS","Debug","SpaceMouse","Externí modul" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Žádný","Bez aretace","2-polohový","3-polohový","Globální" -#else -#define TR_SWTYPES "Žádný","Bez aretace","2-polohový","3-polohový" -#endif -#define TR_POTTYPES "Žádný",TR("Pot","Potenciometr"),TR("Pot s aret.","Pot s aretací"),"Slider",TR("Vícepol př.","Vícepol. přep."),"Osa X","Osa Y","Přepínač" -#define TR_VPERSISTENT "Ne","V rámci letu","Reset ručně" -#define TR_COUNTRY_CODES TR("US","Amerika"),TR("JP","Japonsko"),TR("EU","Evropa") -#define TR_USBMODES TR("Zeptat","Zeptat se"),TR("Joyst","Joystick"),TR("SDkarta","Úložiště"),"Serial" -#define TR_JACK_MODES "Zeptat","Audio","Trenér" - -#define TR_SBUS_INVERSION_VALUES "normal","neinvertováno" +#define TR_OFFON_1 "VYP" +#define TR_OFFON_2 "ZAP" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Tichý" +#define TR_VBEEPMODE_2 TR("Alarm","Jen Alarm") +#define TR_VBEEPMODE_3 TR("BezKl","Bez kláves") +#define TR_VBEEPMODE_4 "Vše" +#define TR_COUNTDOWNVALUES_1 "5s" +#define TR_COUNTDOWNVALUES_2 "10s" +#define TR_COUNTDOWNVALUES_3 "20s" +#define TR_COUNTDOWNVALUES_4 "30s" +#define TR_VBLMODE_1 TR("Vyp","Vypnuto") +#define TR_VBLMODE_2 TR("Kláv.","Klávesy") +#define TR_VBLMODE_3 "Páky" +#define TR_VBLMODE_4 "Vše" +#define TR_VBLMODE_5 TR("Zap","Zapnuto") +#define TR_TRNMODE_1 "X" +#define TR_TRNMODE_2 "Sečíst" +#define TR_TRNMODE_3 "Zaměnit" +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" +#define TR_AUX_SERIAL_MODES_1 "VYP" +#define TR_AUX_SERIAL_MODES_2 "Telemetrie zrcadlení" +#define TR_AUX_SERIAL_MODES_3 "Telemetrie vstup" +#define TR_AUX_SERIAL_MODES_4 "SBUS Trenér" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Externí modul" +#define TR_SWTYPES_1 "Žádný" +#define TR_SWTYPES_2 "Bez aretace" +#define TR_SWTYPES_3 "2-polohový" +#define TR_SWTYPES_4 "3-polohový" +#define TR_SWTYPES_5 "Globální" +#define TR_POTTYPES_1 "Žádný" +#define TR_POTTYPES_2 TR("Pot","Potenciometr") +#define TR_POTTYPES_3 TR("Pot s aret.","Pot s aretací") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Vícepol př.","Vícepol. přep.") +#define TR_POTTYPES_6 "Osa X" +#define TR_POTTYPES_7 "Osa Y" +#define TR_POTTYPES_8 "Přepínač" +#define TR_VPERSISTENT_1 "Ne" +#define TR_VPERSISTENT_2 "V rámci letu" +#define TR_VPERSISTENT_3 "Reset ručně" +#define TR_COUNTRY_CODES_1 TR("US","Amerika") +#define TR_COUNTRY_CODES_2 TR("JP","Japonsko") +#define TR_COUNTRY_CODES_3 TR("EU","Evropa") +#define TR_USBMODES_1 TR("Zeptat","Zeptat se") +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDkarta","Úložiště") +#define TR_USBMODES_4 "Serial" +#define TR_JACK_MODES_1 "Zeptat" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trenér" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "neinvertováno" #define TR_MULTI_CUSTOM "Vlastní" -#define TR_VTRIMINC "Expo","ExJemný","Jemný","Střední","Hrubý" -#define TR_VDISPLAYTRIMS "Ne","Změna","Ano" -#define TR_VBEEPCOUNTDOWN "Ne", "Zvuk", "Hlas", "Vibrace", TR("Zv & Vib","Zvuk & Vibrace"),TR("Hl & Vib", "Hlas & Vibrace") -#define TR_VVARIOCENTER "Tón","Ticho" -#define TR_CURVE_TYPES "Rastr-X","Volná-XY" - -#define TR_ADCFILTERVALUES "Globální","Vyp","Zap", - -#define TR_VCURVETYPE "Diff","Expo","Funk","Vlas" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Sečíst","Násobit","Zaměnit" -#define TR_VMLTPX2 "+=","*=",":=" - -#if defined(PCBHORUS) -#else -#endif - -#if LCD_W >= 212 - #define TR_CSWTIMER "Stopky" - #define TR_CSWSTICKY "Sticky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Stky" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "Stopky1","Stopky2","Stopky3" -#else - #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "Čas1","Čas2","Čas3" -#endif - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,"Vše",TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS -#define TR_FUNCSOUNDS TR("Píp1","Pípnutí1"),TR("Píp2","Pípnutí2"),TR("Píp3","Pípnutí3"),TR("Var1","Varování1"),TR("Var2","Varování2"),TR("Chee","Cheep"),TR("Rata", "Ratata"),"Tick",TR("Sirn","Siréna"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TRIMS "Trims" +#define TR_FSW_RESET_TIMERS_1 TR("Čas1", "Stopky1") +#define TR_FSW_RESET_TIMERS_2 TR("Čas2", "Stopky2") +#define TR_FSW_RESET_TIMERS_3 TR("Čas3", "Stopky3") + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 "Vše" +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS +#define TR_FUNCSOUNDS_1 TR("Píp1","Pípnutí1") +#define TR_FUNCSOUNDS_2 TR("Píp2","Pípnutí2") +#define TR_FUNCSOUNDS_3 TR("Píp3","Pípnutí3") +#define TR_FUNCSOUNDS_4 TR("Var1","Varování1") +#define TR_FUNCSOUNDS_5 TR("Var2","Varování2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata", "Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siréna") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM TR("Metr.","Metrické"),TR("Imper.","Imperiální") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "Nic","Hodnota","Ukazatel","Skript" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 TR("Metr.","Metrické") +#define TR_VUNITSSYSTEM_2 TR("Imper.","Imperiální") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "Nic" +#define TR_VTELEMSCREENTYPE_2 "Hodnota" +#define TR_VTELEMSCREENTYPE_3 "Ukazatel" +#define TR_VTELEMSCREENTYPE_4 "Skript" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Smě" #define TR_STICK_NAMES1 "Výš" @@ -243,18 +333,20 @@ #define TR_SURFACE_NAMES0 "Smě" #define TR_SURFACE_NAMES1 "Pln" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Defaultní","Vysoký" -#endif +#define TR_RFPOWER_AFHDS2_1 "Defaultní" +#define TR_RFPOWER_AFHDS2_2 "Vysoký" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ZAP","One" +#define TR_ON_ONE_SWITCHES_1 "ZAP" +#define TR_ON_ONE_SWITCHES_2 "One" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "Režim kloboučků" -#define TR_HATSOPT "Pouze trimy","Pouze tlačítka","Přepinatelné","Globální" +#define TR_HATSOPT_1 "Pouze trimy" +#define TR_HATSOPT_2 "Pouze tlačítka" +#define TR_HATSOPT_3 "Přepinatelné" +#define TR_HATSOPT_4 "Globální" #define TR_HATSMODE_TRIMS "Režim kloboučků: Trimy" #define TR_HATSMODE_KEYS "Režim kloboučků: Tlačítka" #define TR_HATSMODE_KEYS_HELP "Levá strana:\n"\ @@ -267,81 +359,87 @@ " Vpravo = LIST>\n"\ " Nahoru = PŘED/ZVÝŠ\n"\ " Dolů = DALŠÍ/SNÍŽ" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Invertován" -#else - #define TR_ROTARY_ENC_OPT "Normal","Invertován","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Invertován" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Bat." #define TR_SRC_TIME "Čas" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Čas" -#define TR_VTMRMODES "VYP","ZAP","Strt","Pln>","Pln%","Pln*" +#define TR_VTMRMODES_1 "VYP" +#define TR_VTMRMODES_2 "ZAP" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "Pln>" +#define TR_VTMRMODES_5 "Pln%" +#define TR_VTMRMODES_6 "Pln*" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Učitel/Jack" #define TR_VTRAINER_SLAVE_JACK "Žák/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Učitel/SBUS Modul" #define TR_VTRAINER_MASTER_CPPM_MODULE "Učitel/CPPM Modul" #define TR_VTRAINER_MASTER_BATTERY "Učitel/Serial" -#define TR_VTRAINER_BLUETOOTH TR("Učitel/BT","Učitel/Bluetooth"),TR("Žák/BT","Žák/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 TR("Učitel/BT","Učitel/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 TR("Žák/BT","Žák/Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "Nenastaven","Držet","Vlastní","Bez pulzů","Přijímač" -#define TR_VSENSORTYPES "Vlastní","Vypočtený" -#define TR_VFORMULAS "Součet","Průměr","Min","Max","Násobení","Celkem","Článek","Spotřeba","Vzdálenost" -#define TR_VPREC "X","X.X","X.XX" -#define TR_VCELLINDEX "Nízký","1","2","3","4","5","6","7","8","Nejvíce","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA"(pouze středy)","= (symetrický)" -#define TR_TIMER_DIR TR("Zbývající", "Zobrazit zbývající"), TR("Uplynulý", "Zobrazit uplynulý") -#define TR_PPMUNIT "0.--","0.0","us" - -// ZERO TERMINATED STRINGS - -#if defined(COLORLCD) - #if defined(BOLD) - #define TR_FONT_SIZES "STD" - #else - #define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" - #endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[DALŠÍ]" -#else - #define TR_ENTER "[ENTER]" - #define TR_ENTER_LONG "[ENTER LONG]" -#endif - -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK "\010" "\010" "\010" TR("[OK]", "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Nenastaven" +#define TR_VFAILSAFE_2 "Držet" +#define TR_VFAILSAFE_3 "Vlastní" +#define TR_VFAILSAFE_4 "Bez pulzů" +#define TR_VFAILSAFE_5 "Přijímač" +#define TR_VSENSORTYPES_1 "Vlastní" +#define TR_VSENSORTYPES_2 "Vypočtený" +#define TR_VFORMULAS_1 "Součet" +#define TR_VFORMULAS_2 "Průměr" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Násobení" +#define TR_VFORMULAS_6 "Celkem" +#define TR_VFORMULAS_7 "Článek" +#define TR_VFORMULAS_8 "Spotřeba" +#define TR_VFORMULAS_9 "Vzdálenost" +#define TR_VPREC_1 "X" +#define TR_VPREC_2 "X.X" +#define TR_VPREC_3 "X.XX" +#define TR_VCELLINDEX_1 "Nízký" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Nejvíce" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA"(pouze středy)" +#define TR_SUBTRIMMODES_2 "= (symetrický)" +#define TR_TIMER_DIR_1 TR("Zbývající", "Zobrazit zbývající") +#define TR_TIMER_DIR_2 TR("Uplynulý", "Zobrazit uplynulý") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE TR("volné:", "volných") #define TR_YES "Ano" @@ -366,20 +464,28 @@ #define TR_ELIMITS TR("Limit +25%", "Kanál +/- 125%") #define TR_ETRIMS TR("širší Trim", "Široký trim") #define TR_TRIMINC TR("Krok Trimu", "Krok trimu") -#define TR_DISPLAY_TRIMS TR3("Číslo v Trm", "Zobr.hodnotu trimu", "Číslo v liště trimu") +#define TR_DISPLAY_TRIMS TR("Číslo v Trm", "Číslo v liště trimu") #define TR_TTRACE TR("StopaPlynu", "Stopa plynu") -#define TR_TTRIM TR3("TrimVolnob.", "Trim jen volnoběh", "Trim jen pro volnoběh") +#define TR_TTRIM TR("TrimVolnob.", "Trim jen pro volnoběh") #define TR_TTRIM_SW TR("T-Trim-Sw", "Trim spínač") #define TR_BEEPCTR TR("Pípat střed", "Pípnutí při středové poloze") #define TR_USE_GLOBAL_FUNCS TR("Glob.Funkce", "Použít globální funkce") #define TR_PROTOCOL "Protokol" #define TR_PPMFRAME "PPM modulace" #define TR_REFRESHRATE TR("Obnovit", "Obn. frekv.") -#define STR_WARN_BATTVOLTAGE TR("Výstup VBAT: ", "Varování: výstupní hodnota VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Výstup VBAT: ", "Varování: výstupní hodnota VBAT: ") #define TR_WARN_5VOLTS "Varování: výstupní úroveň je 5 voltů" #define TR_MS "ms" #define TR_SWITCH "Spínač" -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -389,28 +495,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trimy" #define TR_FADEIN "Přechod Zap" #define TR_FADEOUT "Přechod Vyp" #define TR_DEFAULT "(výchozí)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Kontrolovat trimy" -#else - #define TR_CHECKTRIMS "\006Kont.\012Trimy" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Kont.\012Trimy", "Kontrolovat trimy") #define TR_SWASHTYPE "Typ cykliky" #define TR_COLLECTIVE "Kolektiv" #define TR_AILERON "Boční cyklika" -#define TR_ELEVATOR TR3("Podélná cykl.", "Podélná cykl.", "Podélná cyklika") +#define TR_ELEVATOR "Podélná cyklika" #define TR_SWASHRING "Cyklika" #define TR_MODE "Mód" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Vlevo" -#else - #define TR_LEFT_STICK "Vlevo" -#endif +#define TR_LEFT_STICK "Vlevo" #define TR_SUBTYPE "Subtyp" #define TR_NOFREEEXPO "Není volné expo!" #define TR_NOFREEMIXER "Není volný mix!" @@ -428,16 +525,12 @@ #define TR_ANTENNA "Anténa" #define TR_NO_INFORMATION TR("Není info.", "Žádná informace") #define TR_MULTPX TR("Mat.operace", "Operace") -#define TR_DELAYDOWN TR3("Zpoždění Vyp", "Zdržet(x)", "Zpoždění Vyp") -#define TR_DELAYUP TR3("Zpoždění Zap", "Zdržet(\43)", "Zpoždění Zap") -#define TR_SLOWDOWN TR3("Zpomalení(-)", "Zpomal(\177)", "Zpomalení(\177)") -#define TR_SLOWUP TR3("Zpomalení(+)", "Zpomal(\176)", "Zpomalení(\176)") +#define TR_DELAYDOWN TR("Zdržet(x)", "Zpoždění Vyp") +#define TR_DELAYUP TR("Zdržet(\43)", "Zpoždění Zap") +#define TR_SLOWDOWN TR("Zpomal(\177)", "Zpomalení(-)") +#define TR_SLOWUP TR("Zpomal(\176)", "Zpomalení(+)") #define TR_CV "K" -#if defined(PCBPL18) -#define TR_GV "GP" -#else #define TR_GV TR("G", "GP") -#endif #define TR_RANGE "Rozsah" #define TR_CENTER "Střed" #define TR_ALARM "Alarm" @@ -445,7 +538,7 @@ #define TR_SCREEN "Panel " #define TR_SOUND_LABEL "Zvuk" #define TR_LENGTH "Délka" -#define TR_BEEP_LENGTH TR3("Délka", "Délka", "Délka zvuku") +#define TR_BEEP_LENGTH TR("Délka", "Délka zvuku") #define TR_BEEP_PITCH "Tón" #define TR_HAPTIC_LABEL "Vibrace" #define TR_STRENGTH "Intenzita" @@ -461,7 +554,7 @@ #define TR_BATTERYWARNING "Vybitá baterie" #define TR_INACTIVITYALARM TR("Nečinnost", "Nečinnost rádia") #define TR_MEMORYWARNING "Plná pamět'" -#define TR_ALARMWARNING TR3("Vypnutý zvuk", "Upozornit na vypnutý zvuk", "Upozornit na vyp. zvuk") +#define TR_ALARMWARNING TR("Vypnutý zvuk", "Upozornit na vypnutý zvuk") #define TR_RSSI_SHUTDOWN_ALARM TR("Rssi při vyp.", "Hlídat RSSI při vypnutí") #define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Použít FlySky RSSI hodnotu bez škálování") #define TR_TRAINER_SHUTDOWN_ALARM TR("Trenér vypnutí", "Kontrola trenéra při vypnutí") @@ -496,31 +589,26 @@ #define TR_POTWARNINGSTATE "Kontrola Pot&Slid." #define TR_POTWARNING TR("* Potenc.", "Potenciometry") #define TR_TIMEZONE "Časové pásmo" -#define TR_ADJUST_RTC TR3("Čas z GPS", "Použít čas z GPS", "Použít čas z GPS") +#define TR_ADJUST_RTC TR("Čas z GPS", "Použít čas z GPS") #define TR_GPS "GPS" #define TR_DEF_CHAN_ORD TR("Def řaz kanálu", "Defaultní řazení kanálu") #define TR_STICKS "Osy" #define TR_POTS "Potenciometry" #define TR_SWITCHES "Spínače" -#define TR_SWITCHES_DELAY TR3("Filtr přepínače", "Filtr přepínače", "Filtr poloh přepínače") +#define TR_SWITCHES_DELAY TR("Filtr přepínače", "Filtr poloh přepínače") #define TR_SLAVE "Podřízený" #define TR_MODESRC "Mód\006% Zdroj" #define TR_MULTIPLIER "Násobič" #define TR_CAL "Kal." -#define TR_CALIBRATION "Kalibrace" +#define TR_CALIBRATION BUTTON("Kalibrace") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Kalibrace dokončena" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "VYCENTROVAT OSY/SLIDERY" - #define TR_MOVESTICKSPOTS "HÝBAT OSY/POTY" -#else - #define TR_MENUTOSTART TR_ENTER " = START" - #define TR_SETMIDPOINT TRSA("NASTAVIT STŘED POTU", TR("NASTAVIT STŘED OSY", "STŘED OSY/SLIDERU")) - #define TR_MOVESTICKSPOTS TRSA("HÝBAT TOČIT/PLYN/POTY/OSY", "HÝBAT OSY/POTY") - #define TR_MENUWHENDONE TR_ENTER " > DALŠÍ" +#define TR_MENUTOSTART TR_ENTER " = START" +#define TR_MENUWHENDONE TR_ENTER " > DALŠÍ" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("NASTAVIT STŘED POTU", TR("NASTAVIT STŘED OSY", "STŘED OSY/SLIDERU")), "VYCENTROVAT OSY/SLIDERY") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("HÝBAT TOČIT/PLYN/POTY/OSY", "HÝBAT OSY/POTY"), "HÝBAT OSY/POTY") #define TR_NODATA "ŽÁDNÁ DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -552,7 +640,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODEL" -#define TR_FM TRSA("DM", "LR") +#define TR_FM TR_SFC_AIR("DM", "LR") #define TR_EEPROMLOWMEM "Dochází EEPROM" #define TR_PRESS_ANY_KEY_TO_SKIP TR("\003Klávesa >>> přeskočit", "Klávesa >>> přeskočit") #define TR_THROTTLE_NOT_IDLE TR("\003Páka plynu je pohnutá", "Páka plynu není na nule") @@ -571,11 +659,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "KALIBROVAT ANALOGY" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGY (5 Hz)" #define TR_MENU_FSWITCH "NASTAVITELNÉ PŘEPÍNAČE" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trimy => Subtrimy" -#else - #define TR_TRIMS2OFFSETS "\006Trimy => Subtrimy" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trimy => Subtrimy", "Trimy => Subtrimy") #define TR_CHANNELS2FAILSAFE "Kanály=>Failsafe" #define TR_CHANNEL2FAILSAFE "Kanál=>Failsafe" #define TR_MENUMODELSEL "MODEL" @@ -687,7 +771,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Uložit nastavení?" #define TR_UPDATE_TX_OPTIONS "Uložit nastavení?" -#define TR_MODULES_RX_VERSION "Verze modulu a RX" +#define TR_MODULES_RX_VERSION BUTTON("Verze modulu a RX") #define TR_SHOW_MIXER_MONITORS "Zobrazit monitor mixů" #define TR_MENU_MODULES_RX_VERSION "VERZE MODULU A RX" #define TR_MENU_FIRM_OPTIONS "MOŽNOSTI FIRMWARE" @@ -707,11 +791,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "Plná karta SD" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogování dat a snímky obrazovky vypnuty" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logy a " LCDW_128_LINEBREAK " Snímky obrazovky vypnuty" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logy a " LCDW_128_LINEBREAK " Snímky obrazovky vypnuty", TR_SDCARD_FULL "\nLogování dat a snímky obrazovky vypnuty") #define TR_NEEDS_FILE "Vyžadován soubor" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -770,7 +850,8 @@ #define TR_CRSF_ARMING_MODE "Arm mód" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "Vzorkovací režim" -#define TR_SAMPLE_MODES "Normální","OneBit" +#define TR_SAMPLE_MODES_1 "Normální" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Načítání..." #define TR_DELETE_THEME "Smazat motiv?" #define TR_SAVE_THEME "Uložit motiv?" @@ -778,15 +859,16 @@ #define TR_NO_THEME_IMAGE "Náhled motivu nedostupný" #define TR_BACKLIGHT_TIMER "Čas zhasnutí displeje" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Rychlý výběr modelu" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "Rychlý výběr modelu" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "VYBRAT SLOŽKU SE ŠABLONOU:" #define TR_SELECT_TEMPLATE "VYBRAT ŠABLONU MODELU:" @@ -806,11 +888,10 @@ #define TR_BLUETOOTH_NODEVICES "Žádné zařízení nalezeno" #define TR_BLUETOOTH_SCANNING "Skenování..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Povoleno" -#else -#define TR_BLUETOOTH_MODES "---","Telemetrie","Trenér " -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetrie" +#define TR_BLUETOOTH_MODES_3 "Trenér " +#define TR_BLUETOOTH_MODES_4 "Povoleno" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Rychlost:" #define TR_SD_SECTORS "Sektorů :" @@ -820,7 +901,18 @@ #define TR_GLOBAL_VAR "Globální proměnná" #define TR_OWN "\043" #define TR_DATE "Datum" -#define TR_MONTHS "Led", "Úno", "Bře", "Dub", "Kvě", "Čvn", "Čvc", "Srp", "Zář", "Říj", "Lis", "Pro" +#define TR_MONTHS_1 "Led" +#define TR_MONTHS_2 "Úno" +#define TR_MONTHS_3 "Bře" +#define TR_MONTHS_4 "Dub" +#define TR_MONTHS_5 "Kvě" +#define TR_MONTHS_6 "Čvn" +#define TR_MONTHS_7 "Čvc" +#define TR_MONTHS_8 "Srp" +#define TR_MONTHS_9 "Zář" +#define TR_MONTHS_10 "Říj" +#define TR_MONTHS_11 "Lis" +#define TR_MONTHS_12 "Pro" #define TR_ROTARY_ENCODER "R.Enko" #define TR_ROTARY_ENC_MODE TR("R.Enko mód","Režim otočného tlačítka") #define TR_CHANNELS_MONITOR "MONITOR KANÁLU" @@ -925,14 +1017,14 @@ #define TR_PXX2_SELECT_RX "Vyber RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Vyberte zařízení" -#define TR_DISCOVER "Hledat" +#define TR_DISCOVER BUTTON("Hledat") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Čekám..." #define TR_RECEIVER_DELETE "Smazat přijímač?" #define TR_RECEIVER_RESET "Resetovat přijímač?" #define TR_SHARE "Sdílet" #define TR_BIND "Párovat" -#define TR_REGISTER TR("Reg", "Registrovat") +#define TR_REGISTER BUTTON(TR("Reg", "Registrovat")) #define TR_MODULE_RANGE BUTTON(TR("Rng", "Dosah")) #define TR_RANGE_TEST "Test dosahu" #define TR_RECEIVER_OPTIONS TR("MOŽNOSTI RX", "MOŽNOSTI PŘIJÍMAČE") @@ -968,11 +1060,11 @@ #define TR_AFHDS3_ACTUAL_POWER TR("Act. pow", "Aktuální výkon") #define TR_AFHDS3_POWER_SOURCE TR("Power src.", TR("Power src.", "Power source")) #define TR_ANTENNACONFIRM1 "Opravdu přepnout?" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Interní","Zeptat se","Dle modelu","Interní + Externí" -#else - #define TR_ANTENNA_MODES "Interní","Zeptat se","Dle modelu","Externí" -#endif +#define TR_ANTENNA_MODES_1 "Interní" +#define TR_ANTENNA_MODES_2 "Zeptat se" +#define TR_ANTENNA_MODES_3 "Dle modelu" +#define TR_ANTENNA_MODES_4 "Interní + Externí" +#define TR_ANTENNA_MODES_5 "Externí" #define TR_USE_INTERNAL_ANTENNA TR("Použít int. ant.", "Použít interní anténu") #define TR_USE_EXTERNAL_ANTENNA TR("Použít ext. ant.", "Použít externí anténu") #define TR_ANTENNACONFIRM2 TR("Zkont. anténu", "Ujistěte se, že je anténa připojena!") @@ -989,7 +1081,7 @@ #define TR_CURVE_PRESET "Šablona" #define TR_PRESET "Šablona" #define TR_MIRROR "Zrcadlit" -#define TR_CLEAR "Smazat" +#define TR_CLEAR BUTTON("Smazat") #define TR_RESET "Reset" #define TR_RESET_SUBMENU "Inicializovat ..." #define TR_COUNT "Velikost" @@ -1004,7 +1096,9 @@ #define TR_MIXSOURCE "Zdroj (%)" #define TR_MIXSOURCERAW "Zdroj (hodnota)" #define TR_CONSTANT "Konstanta" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Vyp","Zap","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Vyp" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "Zap" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Předletová kontrola" #define TR_CHECKLIST TR("Poznámky", "Zobrazit poznámky") #define TR_CHECKLIST_INTERACTIVE TR3("S-interkativni", "Interaktivní seznam", "Interaktivní seznam") @@ -1019,7 +1113,8 @@ #define TR_CONFIRMRESET TR("Smazat vše?", "Smazat modely a nastavení?") #define TR_TOO_MANY_LUA_SCRIPTS "Příliš mnoho skriptů!" #define TR_SPORT_UPDATE_POWER_MODE "SP výkon" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "Žádné obrazovky telemetrie" #define TR_TOUCH_PANEL "Dotyková obrazovka:" #define TR_FILE_SIZE "Velikost souboru" @@ -1047,36 +1142,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Symetrické" #define TR_INVERTED "Invertováno" - -#define TR_LSW_DESCRIPTIONS "Typ porovnávací funkce", "První proměnná", "Druhá proměnná nebo konstanta", "Druhá proměnná nebo konstanta", "Další stav povolující tenko spínač", "Minimální doba trvání sepnutého stavu", "Minimální doba platné podmínky pro aktivaci" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "První kanál" - #define TR_FILL_BACKGROUND "Vyplnit pozadí?" - #define TR_BG_COLOR "Barva pozadí" - #define TR_SLIDERS_TRIMS "Slidery+Trimy" - #define TR_SLIDERS "Slidery" - #define TR_FLIGHT_MODE "Letový režim" - #define TR_INVALID_FILE "Neplatný soubor" - #define TR_TIMER_SOURCE "Časovač zdroj" - #define TR_SIZE "Velikost" - #define TR_SHADOW "Stíny" - #define TR_ALIGNMENT "Zarovnání" - #define TR_ALIGN_LABEL "Zarovnat název" - #define TR_ALIGN_VALUE "Zarovnat hodnotu" - #define TR_ALIGN_OPTS "Vlevo", "Uprostřed", "Vpravo" - #define TR_TEXT "Text" - #define TR_COLOR "Barva" - #define TR_PANEL1_BACKGROUND "Panel1 pozadí" - #define TR_PANEL2_BACKGROUND "Panel2 pozadí" - #define TR_WIDGET_GAUGE "Měřidlo" - #define TR_WIDGET_MODELBMP "Model info" - #define TR_WIDGET_OUTPUTS "Výstupy" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Časovač" - #define TR_WIDGET_VALUE "Hodnota" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "První kanál" +#define TR_FILL_BACKGROUND "Vyplnit pozadí?" +#define TR_BG_COLOR "Barva pozadí" +#define TR_SLIDERS_TRIMS "Slidery+Trimy" +#define TR_SLIDERS "Slidery" +#define TR_FLIGHT_MODE "Letový režim" +#define TR_INVALID_FILE "Neplatný soubor" +#define TR_TIMER_SOURCE "Časovač zdroj" +#define TR_SIZE "Velikost" +#define TR_SHADOW "Stíny" +#define TR_ALIGNMENT "Zarovnání" +#define TR_ALIGN_LABEL "Zarovnat název" +#define TR_ALIGN_VALUE "Zarovnat hodnotu" +#define TR_ALIGN_OPTS_1 "Vlevo" +#define TR_ALIGN_OPTS_2 "Uprostřed" +#define TR_ALIGN_OPTS_3 "Vpravo" +#define TR_TEXT "Text" +#define TR_COLOR "Barva" +#define TR_PANEL1_BACKGROUND "Panel1 pozadí" +#define TR_PANEL2_BACKGROUND "Panel2 pozadí" +#define TR_WIDGET_GAUGE "Měřidlo" +#define TR_WIDGET_MODELBMP "Model info" +#define TR_WIDGET_OUTPUTS "Výstupy" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Časovač" +#define TR_WIDGET_VALUE "Hodnota" // About screen #define TR_ABOUTUS "O nás" @@ -1109,7 +1201,7 @@ #define TR_CELLINDEX "Článek" #define TR_LOGS "Logovat" #define TR_OPTIONS "Možnosti" -#define TR_FIRMWARE_OPTIONS "Možnosti firmwaru" +#define TR_FIRMWARE_OPTIONS BUTTON("Možnosti firmwaru") #define TR_ALTSENSOR "Senzor výšky" #define TR_CELLSENSOR "Senzor článků" @@ -1163,11 +1255,6 @@ #define TR_USE_THEME_COLOR "Použít barevný motiv" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Trimy do subtrimů" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Otevřít monitor kanálů" -#else - #define TR_OPEN_CHANNEL_MONITORS "Otevřít mon. kanálů" -#endif #define TR_DUPLICATE "Duplikovat" #define TR_ACTIVATE "Aktivovat" #define TR_RED "Červená" @@ -1202,6 +1289,7 @@ #define TR_CANCEL "Zrušit" #define TR_EDIT_THEME "EDITOVAT MOTIV" #define TR_DETAILS "Detaily" +#define TR_THEME_EDITOR "Motivy" // Voice in native language #define TR_VOICE_ENGLISH "Angličtina" @@ -1227,29 +1315,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "Mode" -#define TR_VUSBJOYSTICK_EXTMODE "Classic","Advanced" -#define TR_USBJOYSTICK_SETTINGS "Channel Settings" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Classic" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Advanced" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Channel Settings") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Interface mode") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "None","Btn","Axis","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "None" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axis" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Button Mode" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulse","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulse" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positions" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Axis" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Sim axis" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversion" #define TR_USBJOYSTICK_CH_BTNNUM "Button no." #define TR_USBJOYSTICK_BTN_COLLISION "!Button no. collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axis collision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "Žádný","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Apply changes" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "Žádný" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Apply changes") #define TR_DIGITAL_SERVO "Servo 333Hz" #define TR_ANALOG_SERVO "Servo 50Hz" @@ -1265,7 +1395,10 @@ #define TR_SELECT_MENU_CLR "Vymazat" #define TR_SELECT_MENU_INV "Invertovat" -#define TR_SORT_ORDERS "Název A-Z","Název Z-A","Nejméne používané","Nejvíce používané" +#define TR_SORT_ORDERS_1 "Název A-Z" +#define TR_SORT_ORDERS_2 "Název Z-A" +#define TR_SORT_ORDERS_3 "Nejméne používané" +#define TR_SORT_ORDERS_4 "Nejvíce používané" #define TR_SORT_MODELS_BY "Seřadit modely podle" #define TR_CREATE_NEW "Vytvořit" diff --git a/radio/src/translations/da.h b/radio/src/translations/i18n/da.h similarity index 73% rename from radio/src/translations/da.h rename to radio/src/translations/i18n/da.h index 33a6461fa85..40f3bf8195e 100644 --- a/radio/src/translations/da.h +++ b/radio/src/translations/i18n/da.h @@ -30,15 +30,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -46,7 +37,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -75,7 +66,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -94,8 +85,8 @@ #define TR_MAIN_MENU_THEMES "TEMAER" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "HELI SETUP" -#define TR_MENUFLIGHTMODES TRSA("FLYVE TILSTANDE", "FLYVE TILSTANDE") -#define TR_MENUFLIGHTMODE TRSA("FLYVE TILSTAND", "FLYVE TILSTAND") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("FLYVE TILSTANDE", "FLYVE TILSTANDE") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("FLYVE TILSTAND", "FLYVE TILSTAND") #define TR_MENUINPUTS "INDGANGE" #define TR_MENULIMITS "UDGANGE" #define TR_MENUCURVES "KURVER" @@ -120,54 +111,106 @@ #define TR_MINUTE_PLURAL1 "minutter" #define TR_MINUTE_PLURAL2 "minutter" -#define TR_OFFON "FRA","TIL" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Stille","Alarm","NoKey","Alle" -#define TR_VBLMODE "FRA","Knap",TR("Styr","Styring"),"Begge","TIL" -#define TR_TRNMODE "FRA",TR("+=","Læg til"),TR(":=","Erstat") -#define TR_TRNCHN "KA1","KA2","KA3","KA4" -#define TR_AUX_SERIAL_MODES "FRA","Telem spejlet","Telemetri ind","SBUS træner","LUA","CLI","GPS","Debug","SpaceMouse","Eksternt modul" - -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Ingen", "2 pos skift","2 position","3 position","Global" -#else -#define TR_SWTYPES "Ingen", "2 pos skift","2 position","3 position" -#endif - -#define TR_POTTYPES "Ingen",TR("Drejek.", "Drejekontakt"),TR("Drejek./klik","Drejekontakt med klik"),"Skyder",TR("Multipos","Multipos kontakt"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "FRA","Flyv","Manuel nulstil" -#define TR_COUNTRY_CODES TR("US","Amerika"),TR("JP","Japan"),TR("EU","Europa") -#define TR_USBMODES "Spørg",TR("Joyst","Joystik"),TR("Lager","USB lager"),TR("Data", "USB data") -#define TR_JACK_MODES "Spørg","Audio","Træner" - -#define TR_SBUS_INVERSION_VALUES "normal","ikke invers" +#define TR_OFFON_1 "FRA" +#define TR_OFFON_2 "TIL" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Stille" +#define TR_VBEEPMODE_2 "Alarm" +#define TR_VBEEPMODE_3 "NoKey" +#define TR_VBEEPMODE_4 "Alle" +#define TR_VBLMODE_1 "FRA" +#define TR_VBLMODE_2 "Knap" +#define TR_VBLMODE_3 TR("Styr","Styring") +#define TR_VBLMODE_4 "Begge" +#define TR_VBLMODE_5 "TIL" +#define TR_TRNMODE_1 "FRA" +#define TR_TRNMODE_2 TR("+=","Læg til") +#define TR_TRNMODE_3 TR(":=","Erstat") +#define TR_TRNCHN_1 "KA1" +#define TR_TRNCHN_2 "KA2" +#define TR_TRNCHN_3 "KA3" +#define TR_TRNCHN_4 "KA4" +#define TR_AUX_SERIAL_MODES_1 "FRA" +#define TR_AUX_SERIAL_MODES_2 "Telem spejlet" +#define TR_AUX_SERIAL_MODES_3 "Telemetri ind" +#define TR_AUX_SERIAL_MODES_4 "SBUS træner" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Eksternt modul" + +#define TR_SWTYPES_1 "Ingen" +#define TR_SWTYPES_2 "2 pos skift" +#define TR_SWTYPES_3 "2 position" +#define TR_SWTYPES_4 "3 position" +#define TR_SWTYPES_5 "Global" + +#define TR_POTTYPES_1 "Ingen" +#define TR_POTTYPES_2 TR("Drejek.", "Drejekontakt") +#define TR_POTTYPES_3 TR("Drejek./klik","Drejekontakt med klik") +#define TR_POTTYPES_4 "Skyder" +#define TR_POTTYPES_5 TR("Multipos","Multipos kontakt") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "FRA" +#define TR_VPERSISTENT_2 "Flyv" +#define TR_VPERSISTENT_3 "Manuel nulstil" +#define TR_COUNTRY_CODES_1 TR("US","Amerika") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europa") +#define TR_USBMODES_1 "Spørg" +#define TR_USBMODES_2 TR("Joyst","Joystik") +#define TR_USBMODES_3 TR("Lager","USB lager") +#define TR_USBMODES_4 TR("Data", "USB data") +#define TR_JACK_MODES_1 "Spørg" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Træner" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "ikke invers" #define TR_MULTI_CUSTOM "Tilpasset" -#define TR_VTRIMINC TR("Expo","Exponentiel"),TR("ExFin","Ekstra fin"),"Fin","Medium","Grov" -#define TR_VDISPLAYTRIMS "Nej","Ændre","Ja" -#define TR_VBEEPCOUNTDOWN "Stille","Bip","Stemme","Vibration",TR("B & V","Bips & Vibration"),TR("St & Vib","Stemme & Vibration") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tone","Stille" -#define TR_CURVE_TYPES "Standard","Tilpasset" - -#define TR_ADCFILTERVALUES "Global","Fra","Til" - -#define TR_VCURVETYPE "Diff","Expo","Funk","Egen" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Læg til","Gange","Erstat" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Tid" - #define TR_CSWSTICKY "Sej" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tid" - #define TR_CSWSTICKY "Sej" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a\n"\ " Op = PREV/INC\n"\ " Ned = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Invers" -#else - #define TR_ROTARY_ENC_OPT "Normal","Invers","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TitX","TitY", -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Invers" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TitX" +#define TR_IMU_VSRCRAW_2 "TitY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Bat." #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tid" -#define TR_VTMRMODES "FRA","TIL","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "FRA" +#define TR_VTMRMODES_2 "TIL" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "FRA" #define TR_VTRAINER_MASTER_JACK "Træner/Stik" #define TR_VTRAINER_SLAVE_JACK "Elev/Stik" #define TR_VTRAINER_MASTER_SBUS_MODULE "Træner/SBUS modul" #define TR_VTRAINER_MASTER_CPPM_MODULE "Træner/CPPM modul" #define TR_VTRAINER_MASTER_BATTERY "Træner/Seriel" -#define TR_VTRAINER_BLUETOOTH "Træner/" TR("BT","Bluetooth"), "Elev/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Træner/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Elev/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Træner/Multi" #define TR_VTRAINER_CRSF "Træner/CRSF" -#define TR_VFAILSAFE "Ikke sat","Hold","Tilpasset","Ingen puls","Modtager" -#define TR_VSENSORTYPES "Tilpasset","Beregnet" -#define TR_VFORMULAS "Tillæg","Gennems.","Min","Max","Gange","Sum","Cell","Forbrug","Afstand" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Lavest","1","2","3","4","5","6","7","8","Højst","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center kun)","= (symmetrisk)" -#define TR_TIMER_DIR TR("Rest", "Vis rest"), TR("Gået tid", "Vis gået tid") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) - #if defined(BOLD) - #define TR_FONT_SIZES "STD" - #else - #define TR_FONT_SIZES "STD","FED","XXS","XS","L","XL","XXL" - #endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NÆSTE]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "FORLAD" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Ikke sat" +#define TR_VFAILSAFE_2 "Hold" +#define TR_VFAILSAFE_3 "Tilpasset" +#define TR_VFAILSAFE_4 "Ingen puls" +#define TR_VFAILSAFE_5 "Modtager" +#define TR_VSENSORTYPES_1 "Tilpasset" +#define TR_VSENSORTYPES_2 "Beregnet" +#define TR_VFORMULAS_1 "Tillæg" +#define TR_VFORMULAS_2 "Gennems." +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Gange" +#define TR_VFORMULAS_6 "Sum" +#define TR_VFORMULAS_7 "Cell" +#define TR_VFORMULAS_8 "Forbrug" +#define TR_VFORMULAS_9 "Afstand" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Lavest" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Højst" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (center kun)" +#define TR_SUBTRIMMODES_2 "= (symmetrisk)" +#define TR_TIMER_DIR_1 TR("Rest", "Vis rest") +#define TR_TIMER_DIR_2 TR("Gået tid", "Vis gået tid") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "FED" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("FORLAD", "RTN") #define TR_FREE "fri" #define TR_YES "Ja" @@ -365,11 +474,19 @@ #define TR_PROTOCOL TR("Proto", "Protokol") #define TR_PPMFRAME "PPM frame" #define TR_REFRESHRATE TR("Genfrisk", "Genfrisk rate") -#define STR_WARN_BATTVOLTAGE TR("Udgang er VBAT: ", "Advarsel: udgang niveau er VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Udgang er VBAT: ", "Advarsel: udgang niveau er VBAT: ") #define TR_WARN_5VOLTS "Advarsel: udgang niveau er 5 volts" #define TR_MS "ms" #define TR_SWITCH "Kontakt" -#define TR_FS_COLOR_LIST "Bruger","Fra","Hvid","Rød","Grøn","Gul","Orange","Blå","Pink" +#define TR_FS_COLOR_LIST_1 "Bruger" +#define TR_FS_COLOR_LIST_2 "Fra" +#define TR_FS_COLOR_LIST_3 "Hvid" +#define TR_FS_COLOR_LIST_4 "Rød" +#define TR_FS_COLOR_LIST_5 "Grøn" +#define TR_FS_COLOR_LIST_6 "Gul" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blå" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Altid til" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -379,28 +496,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Start" #define TR_SWITCH_GROUP "Gruppe" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Udløser" #define TR_TRIMS "Trim" #define TR_FADEIN "Tone ind" #define TR_FADEOUT "Tone ud" #define TR_DEFAULT "(standard)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Kontroller FT trim" -#else - #define TR_CHECKTRIMS "\006Kontroller\012trim" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Kontroller\012trim", "Kontroller FT trim") #define TR_SWASHTYPE "Swash type" #define TR_COLLECTIVE TR("Collective", "Coll. pitch kilde") #define TR_AILERON TR("Lateral cyc.", "Lateral cyc. kilde") #define TR_ELEVATOR TR("Long. cyc.", "Long. cyc. kilde") #define TR_SWASHRING "Swash ring" #define TR_MODE TR("Tils.","Tilstand") -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Venstre" -#else - #define TR_LEFT_STICK "Ven" -#endif +#define TR_LEFT_STICK "Venstre" #define TR_SUBTYPE "Undertype" #define TR_NOFREEEXPO "Ingen fri expo!" #define TR_NOFREEMIXER "Ingen fri mix!" @@ -423,11 +531,7 @@ #define TR_SLOWDOWN TR("Langsom ned", "Langsom ned") #define TR_SLOWUP TR("Langsom op", "Langsom op") #define TR_CV "KU" -#if defined(PCBPL18) - #define TR_GV "GV" -#else - #define TR_GV TR("G", "GV") -#endif +#define TR_GV TR("G", "GV") #define TR_RANGE TR("Max ned/op", "Max synke/stige") #define TR_CENTER TR("Min ned/op", "Min synke/stige") @@ -498,20 +602,15 @@ #define TR_MODESRC "Mode\006% Kilde" #define TR_MULTIPLIER "Multiplier" #define TR_CAL "Kal" -#define TR_CALIBRATION "Kalibrering" +#define TR_CALIBRATION BUTTON("Kalibrering") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Kalibrering færdig" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTRER PINDE/SKYDER" - #define TR_MOVESTICKSPOTS "FLYT PINDE/DREJEKONTAKT" -#else - #define TR_MENUTOSTART TR_ENTER " FOR START" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", TR("SÆT PINDE I MIDT", "CENTRER PINDE/SKYDERE")) - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "FLYT PINDE/DREJEKONTAKTER") - #define TR_MENUWHENDONE TR_ENTER " NÅR FÆRDIG" +#define TR_MENUTOSTART TR_ENTER " FOR START" +#define TR_MENUWHENDONE TR_ENTER " NÅR FÆRDIG" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", TR("SÆT PINDE I MIDT", "CENTRER PINDE/SKYDERE")), "CENTRER PINDE/SKYDER") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "FLYT PINDE/DREJEKONTAKTER"), "FLYT PINDE/DREJEKONTAKT") #define TR_NODATA "INGEN DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -541,7 +640,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "KA" #define TR_MODEL "MODEL" -#define TR_FM TRSA("DM", "FT") +#define TR_FM TR_SFC_AIR("DM", "FT") #define TR_EEPROMLOWMEM "EEPROM lav mem" #define TR_PRESS_ANY_KEY_TO_SKIP "Tryk en tast ..." #define TR_THROTTLE_NOT_IDLE TR("Gas ikke sat lav", "Gas ikke sat i tomgang") @@ -560,11 +659,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "KALIBRERET ANALOGE" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RÅ ANALOGE (5 Hz)" #define TR_MENU_FSWITCH "KONTAKTER DER KAN TILPASSES" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trim => Subtrim" -#else - #define TR_TRIMS2OFFSETS "\006Trim => Subtrim" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trim => Subtrim", "Trim => Subtrim") #define TR_CHANNELS2FAILSAFE "Kanaler=>Fejlsikring" #define TR_CHANNEL2FAILSAFE "Kanal=>Fejlsikring" #define TR_MENUMODELSEL TR("MODELLER", "MODEL VALG") @@ -671,7 +766,7 @@ #define TR_NO_TOOLS "Ingen mulige værktøjer" #define TR_NORMAL "Normal" #define TR_NOT_INVERTED "Ikke inv" -#define TR_NOT_CONNECTED TR("!Forbundet", "Ikke forbundet"); +#define TR_NOT_CONNECTED TR("!Forbundet", "Ikke forbundet") #define TR_CONNECTED "Forbundet" #define TR_FLEX_915 "Flex 915MHz" #define TR_FLEX_868 "Flex 868MHz" @@ -682,7 +777,7 @@ #define TR_PIN "Pind" #define TR_UPDATE_RX_OPTIONS "Opdater RX tilvalg?" #define TR_UPDATE_TX_OPTIONS "Opdater TX tilvalg?" -#define TR_MODULES_RX_VERSION "Moduler / RX version" +#define TR_MODULES_RX_VERSION BUTTON("Moduler / RX version") #define TR_SHOW_MIXER_MONITORS "Vis mixer monitor" #define TR_MENU_MODULES_RX_VERSION "MODULER / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWARE TILVALG" @@ -702,11 +797,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD kort fuldt" -#if defined(COLORLCD) - #define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLog & skærmklip deaktiveret" -#else - #define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Log & skærmklip" LCDW_128_LINEBREAK "deaktiveret" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Log & skærmklip" LCDW_128_LINEBREAK "deaktiveret", TR_SDCARD_FULL "\nLog & skærmklip deaktiveret") #define TR_NEEDS_FILE "MANGLER FIL" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -765,7 +856,8 @@ #define TR_CRSF_ARMING_MODE TR("Aktiver m.", "Aktiver med") #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "Måle tilstand" -#define TR_SAMPLE_MODES "Normal","EnBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "EnBit" #define TR_LOADING "Indlæser..." #define TR_DELETE_THEME "Slet tema?" #define TR_SAVE_THEME "Gem tema?" @@ -773,15 +865,16 @@ #define TR_NO_THEME_IMAGE "Ingen billede for tema" #define TR_BACKLIGHT_TIMER TR("Inaktivitet", "Ved inaktivitet dæmp efter") -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Hurtigvalg af model" - #define TR_LABELS_SELECT "Label valg" - #define TR_LABELS_MATCH "Label match" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi valg","Enkelt valg" - #define TR_LABELS_MATCH_MODE "Match alle","Match enhver" - #define TR_FAV_MATCH_MODE "Skal have match","Kan have match" -#endif +#define TR_MODEL_QUICK_SELECT "Hurtigvalg af model" +#define TR_LABELS_SELECT "Label valg" +#define TR_LABELS_MATCH "Label match" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi valg" +#define TR_LABELS_SELECT_MODE_2 "Enkelt valg" +#define TR_LABELS_MATCH_MODE_1 "Match alle" +#define TR_LABELS_MATCH_MODE_2 "Match enhver" +#define TR_FAV_MATCH_MODE_1 "Skal have match" +#define TR_FAV_MATCH_MODE_2 "Kan have match" #define TR_SELECT_TEMPLATE_FOLDER "VÆLG EN SKABELON MAPPE:" #define TR_SELECT_TEMPLATE "VÆLG EN SKABELON til MODEL:" @@ -801,11 +894,10 @@ #define TR_BLUETOOTH_NODEVICES "Ingen enheder fundet" #define TR_BLUETOOTH_SCANNING "Søger..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) - #define TR_BLUETOOTH_MODES "---","Aktiveret" -#else - #define TR_BLUETOOTH_MODES "---","Telemetri","Træner" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetri" +#define TR_BLUETOOTH_MODES_3 "Træner" +#define TR_BLUETOOTH_MODES_4 "Aktiveret" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Hastighed:" @@ -816,7 +908,18 @@ #define TR_GLOBAL_VAR "Globale variable" #define TR_OWN "Egen" #define TR_DATE "Dato" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "Maj" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Okt" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("DrejeK. tilst.","Drejekontakt tilstand") #define TR_CHANNELS_MONITOR "KANAL MONITOR" @@ -921,14 +1024,14 @@ #define TR_PXX2_SELECT_RX "Vælg RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Vælg enhed" -#define TR_DISCOVER "Opdag" +#define TR_DISCOVER BUTTON("Opdag") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Venter..." #define TR_RECEIVER_DELETE "Slet modtager?" #define TR_RECEIVER_RESET "Nulstil modtager?" #define TR_SHARE "Del" #define TR_BIND "Tilslut" -#define TR_REGISTER TR("Reg", "Registrer") +#define TR_REGISTER BUTTON(TR("Reg", "Registrer")) #define TR_MODULE_RANGE BUTTON(TR("Ræk", "Rækkevidde")) #define TR_RANGE_TEST "Test af rækkevidde" #define TR_RECEIVER_OPTIONS TR("MODT. VALG", "MODTAGER VALG") @@ -959,11 +1062,11 @@ #define TR_TELEMETRY_NEWSENSOR "Tilføj ny" #define TR_CHANNELRANGE TR("Kan. rækkev", "Kanal rækkevidde") #define TR_ANTENNACONFIRM1 TR("EXT. ANTENNE", "EKSTERN ANTENNE") -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Intern","Spørg","Per model","Intern + Ekstern" -#else - #define TR_ANTENNA_MODES "Intern","Spørg","Per model","Ekstern" -#endif +#define TR_ANTENNA_MODES_1 "Intern" +#define TR_ANTENNA_MODES_2 "Spørg" +#define TR_ANTENNA_MODES_3 "Per model" +#define TR_ANTENNA_MODES_4 "Intern + Ekstern" +#define TR_ANTENNA_MODES_5 "Ekstern" #define TR_USE_INTERNAL_ANTENNA TR("Brug int. antenne", "Brug intern antenne") #define TR_USE_EXTERNAL_ANTENNA TR("Brug ext. antenne", "Brug ekstern antenne") #define TR_ANTENNACONFIRM2 TR("Check antenne", "Kontroller at antenne er installeret!") @@ -980,7 +1083,7 @@ #define TR_CURVE_PRESET TR ("Forudindstil", "Forudind.") #define TR_PRESET "Forudindstil" #define TR_MIRROR "Spejle" -#define TR_CLEAR "Slet" +#define TR_CLEAR BUTTON("Slet") #define TR_RESET "Nulstil" #define TR_RESET_SUBMENU "Nulstil..." #define TR_COUNT "Tæller" @@ -995,7 +1098,9 @@ #define TR_MIXSOURCE "Kilde (%)" #define TR_MIXSOURCERAW "Kilde (værdi)" #define TR_CONSTANT "Konstant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Fra","Til","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Fra" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "Til" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Fly checkliste" #define TR_CHECKLIST TR("Checkliste", "Vis checkliste") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "Interactive checklist") @@ -1010,7 +1115,8 @@ #define TR_CONFIRMRESET TR("Slet ALLE", "Slet ALLE modeller og indstillinger?") #define TR_TOO_MANY_LUA_SCRIPTS "For mange Lua scripts!" #define TR_SPORT_UPDATE_POWER_MODE "SP Strøm" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","TIL" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "TIL" #define TR_NO_TELEMETRY_SCREENS "Ingen telemetri skærme" #define TR_TOUCH_PANEL "Tryk panel:" #define TR_FILE_SIZE "Fil størrelse" @@ -1038,35 +1144,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE TR("Undertrim tils.", "Undertrim tilstand") #define TR_INVERTED "Invers" -#define TR_LSW_DESCRIPTIONS "Sammenlign type eller funktion", "Første variabel", "Anden variabel eller konstant", "Anden variabel eller konstant", "Endnu en betingelse for linje", "Minimum TIL varighed for logisk funktion", "Minimum SAND varighed for betingelse bliver sand" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Første kanal" - #define TR_FILL_BACKGROUND "Udfyld baggrund?" - #define TR_BG_COLOR "BG farve" - #define TR_SLIDERS_TRIMS "Skyder+Trim" - #define TR_SLIDERS "Skydere" - #define TR_FLIGHT_MODE "Flyve tilstand" - #define TR_INVALID_FILE "Ugyldig fil" - #define TR_TIMER_SOURCE "Tidtagning kilde" - #define TR_SIZE "Størrelse" - #define TR_SHADOW "Skygge" - #define TR_ALIGNMENT "Justering" - #define TR_ALIGN_LABEL "Justere navn" - #define TR_ALIGN_VALUE "Justere værdi" - #define TR_ALIGN_OPTS "Venstre", "Center", "Højre" - #define TR_TEXT "Tekst" - #define TR_COLOR "Farve" - #define TR_PANEL1_BACKGROUND "Panel1 baggrund" - #define TR_PANEL2_BACKGROUND "Panel2 baggrund" - #define TR_WIDGET_GAUGE "Måling" - #define TR_WIDGET_MODELBMP "Modeller" - #define TR_WIDGET_OUTPUTS "Udgange" - #define TR_WIDGET_TEXT "Tekst" - #define TR_WIDGET_TIMER "Tider" - #define TR_WIDGET_VALUE "Værdi" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Første kanal" +#define TR_FILL_BACKGROUND "Udfyld baggrund?" +#define TR_BG_COLOR "BG farve" +#define TR_SLIDERS_TRIMS "Skyder+Trim" +#define TR_SLIDERS "Skydere" +#define TR_FLIGHT_MODE "Flyve tilstand" +#define TR_INVALID_FILE "Ugyldig fil" +#define TR_TIMER_SOURCE "Tidtagning kilde" +#define TR_SIZE "Størrelse" +#define TR_SHADOW "Skygge" +#define TR_ALIGNMENT "Justering" +#define TR_ALIGN_LABEL "Justere navn" +#define TR_ALIGN_VALUE "Justere værdi" +#define TR_ALIGN_OPTS_1 "Venstre" +#define TR_ALIGN_OPTS_2 "Center" +#define TR_ALIGN_OPTS_3 "Højre" +#define TR_TEXT "Tekst" +#define TR_COLOR "Farve" +#define TR_PANEL1_BACKGROUND "Panel1 baggrund" +#define TR_PANEL2_BACKGROUND "Panel2 baggrund" +#define TR_WIDGET_GAUGE "Måling" +#define TR_WIDGET_MODELBMP "Modeller" +#define TR_WIDGET_OUTPUTS "Udgange" +#define TR_WIDGET_TEXT "Tekst" +#define TR_WIDGET_TIMER "Tider" +#define TR_WIDGET_VALUE "Værdi" // About screen #define TR_ABOUTUS TR(" OM ", "OM") @@ -1099,7 +1203,7 @@ #define TR_CELLINDEX "Celle indeks" #define TR_LOGS "Log" #define TR_OPTIONS "Tilvalg" -#define TR_FIRMWARE_OPTIONS "Firmware tilvalg" +#define TR_FIRMWARE_OPTIONS BUTTON("Firmware tilvalg") #define TR_ALTSENSOR "Højde sensor" #define TR_CELLSENSOR "Cell sensor" @@ -1121,11 +1225,7 @@ #define TR_WIDGET_SETTINGS "Widget indstilinger" #define TR_REMOVE_SCREEN "Slet skærm" -#if !NARROW_LAYOUT - #define TR_SETUP_WIDGETS "Opsæt widget" -#else - #define TR_SETUP_WIDGETS "Widget" -#endif +#define TR_SETUP_WIDGETS "Opsæt widget" #define TR_THEME "Tema" #define TR_SETUP "Opsætning" @@ -1164,11 +1264,6 @@ #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Tilføj alle trim til subtrim" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Åbn kanal monitor" -#else - #define TR_OPEN_CHANNEL_MONITORS "Åbn kanal mon." -#endif #define TR_DUPLICATE "Dupliker" #define TR_ACTIVATE "Sæt aktiv" @@ -1204,6 +1299,7 @@ #define TR_CANCEL "Fortryd" #define TR_EDIT_THEME "RET TEMA" #define TR_DETAILS "Detajler" +#define TR_THEME_EDITOR "TEMAER" // Voice in native language #define TR_VOICE_ENGLISH "Engelsk" @@ -1229,29 +1325,71 @@ #define TR_USBJOYSTICK_LABEL "USB joystik" #define TR_USBJOYSTICK_EXTMODE "Tilstand" -#define TR_VUSBJOYSTICK_EXTMODE "Klassisk","Advanceret" -#define TR_USBJOYSTICK_SETTINGS "Kanal indstillinger" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Klassisk" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Advanceret" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Kanal indstillinger") #define TR_USBJOYSTICK_IF_MODE TR("Intf. tils.","Interface tilstand") -#define TR_VUSBJOYSTICK_IF_MODE "Joystik","Gamepad","MultiAkse" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystik" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAkse" #define TR_USBJOYSTICK_CH_MODE "Tilstand" -#define TR_VUSBJOYSTICK_CH_MODE "Ingen","Knap","Akse","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Ingen" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Knap" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Akse" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Knap tilstand" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Puls","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Puls"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Puls" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Puls") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positioner" -#define TR_VUSBJOYSTICK_CH_SWPOS "Skub","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Skub" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Akse" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Skyder","Drej","Hjul" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Skyder" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Drej" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Hjul" #define TR_USBJOYSTICK_CH_SIM "Sim akse" -#define TR_VUSBJOYSTICK_CH_SIM TR_STICK_NAMES3,TR_STICK_NAMES1,TR_STICK_NAMES0,TR_STICK_NAMES2,"Acc","Brems","Styr","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 TR_STICK_NAMES3 +#define TR_VUSBJOYSTICK_CH_SIM_2 TR_STICK_NAMES1 +#define TR_VUSBJOYSTICK_CH_SIM_3 TR_STICK_NAMES0 +#define TR_VUSBJOYSTICK_CH_SIM_4 TR_STICK_NAMES2 +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brems" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Styr" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Omvendt" #define TR_USBJOYSTICK_CH_BTNNUM "Knap #" #define TR_USBJOYSTICK_BTN_COLLISION "!Knap # kollision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Akse kollision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Cirk. klip", "Cikulær klip") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "Ingen","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Gem ændringer" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "Ingen" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Gem ændringer") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1267,7 +1405,10 @@ #define TR_SELECT_MENU_CLR "Slet" #define TR_SELECT_MENU_INV "Invers" -#define TR_SORT_ORDERS "Navn A-Z","Navn Z-A","Sidst anvendt","Mest anvendt" +#define TR_SORT_ORDERS_1 "Navn A-Z" +#define TR_SORT_ORDERS_2 "Navn Z-A" +#define TR_SORT_ORDERS_3 "Sidst anvendt" +#define TR_SORT_ORDERS_4 "Mest anvendt" #define TR_SORT_MODELS_BY "Sorter modeller" #define TR_CREATE_NEW "Opret" diff --git a/radio/src/translations/de.h b/radio/src/translations/i18n/de.h similarity index 73% rename from radio/src/translations/de.h rename to radio/src/translations/i18n/de.h index a0462dd9a2f..084c923c304 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/i18n/de.h @@ -32,15 +32,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -48,7 +39,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -77,7 +68,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -96,8 +87,8 @@ #define TR_MAIN_MENU_THEMES "THEMES" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP TR("HELI TS-Mischer", "HELI TS-Mischer CYC1-3") -#define TR_MENUFLIGHTMODES TRSA("FAHRMODI", "FLUGPHASEN") -#define TR_MENUFLIGHTMODE TRSA("FAHRMODUS", "FLUGPHASE") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("FAHRMODI", "FLUGPHASEN") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("FAHRMODUS", "FLUGPHASE") #define TR_MENUINPUTS "INPUTS" //"Inputs=Geber" #define TR_MENULIMITS "SERVOS" //"AUSGABEN" oder "Servos" #define TR_MENUCURVES "KURVEN" @@ -122,52 +113,105 @@ #define TR_MINUTE_PLURAL2 "minuten" // NON ZERO TERMINATED STRINGS -#define TR_OFFON "AUS","EIN" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Stumm","Alarm","NoKey","Alle" -#define TR_VBLMODE "AUS","Taste","Stks","Beide","EIN" -#define TR_TRNMODE "AUS",TR("+=","Addiere"),TR(":=","Ersetze") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" -#define TR_AUX_SERIAL_MODES "AUS","Telem weiterl.","Telemetrie In","SBUS Eingang","LUA","CLI","GPS","Debug","SpaceMouse","Externes Modul" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Kein","Taster","2POS","3POS","Global" -#else -#define TR_SWTYPES "Kein","Taster","2POS","3POS" -#endif -#define TR_POTTYPES "Kein","Poti", TR("Pot o. Ras","Poti mit Raste"),"Schieber",TR("Multipos.","Multipos. Schalter"),"Knüppel X","Knüppel Y","Schalter" -#define TR_VPERSISTENT "AUS","Flugzeit","Manuell Rück" -#define TR_COUNTRY_CODES TR("US","Amerika"),TR("JP","Japan"),TR("EU","Europa") -#define TR_USBMODES "Fragen",TR("Joyst","Joystick"),TR("SDCard","Speicher"),TR("Serial","Seriell") -#define TR_JACK_MODES "Popup","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normal","nicht inv." +#define TR_OFFON_1 "AUS" +#define TR_OFFON_2 "EIN" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Stumm" +#define TR_VBEEPMODE_2 "Alarm" +#define TR_VBEEPMODE_3 "NoKey" +#define TR_VBEEPMODE_4 "Alle" +#define TR_VBLMODE_1 "AUS" +#define TR_VBLMODE_2 "Taste" +#define TR_VBLMODE_3 "Stks" +#define TR_VBLMODE_4 "Beide" +#define TR_VBLMODE_5 "EIN" +#define TR_TRNMODE_1 "AUS" +#define TR_TRNMODE_2 TR("+=","Addiere") +#define TR_TRNMODE_3 TR(":=","Ersetze") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" +#define TR_AUX_SERIAL_MODES_1 "AUS" +#define TR_AUX_SERIAL_MODES_2 "Telem weiterl." +#define TR_AUX_SERIAL_MODES_3 "Telemetrie In" +#define TR_AUX_SERIAL_MODES_4 "SBUS Eingang" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Externes Modul" +#define TR_SWTYPES_1 "Kein" +#define TR_SWTYPES_2 "Taster" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "Kein" +#define TR_POTTYPES_2 "Poti" +#define TR_POTTYPES_3 TR("Pot o. Ras","Poti mit Raste") +#define TR_POTTYPES_4 "Schieber" +#define TR_POTTYPES_5 TR("Multipos.","Multipos. Schalter") +#define TR_POTTYPES_6 "Knüppel X" +#define TR_POTTYPES_7 "Knüppel Y" +#define TR_POTTYPES_8 "Schalter" +#define TR_VPERSISTENT_1 "AUS" +#define TR_VPERSISTENT_2 "Flugzeit" +#define TR_VPERSISTENT_3 "Manuell Rück" +#define TR_COUNTRY_CODES_1 TR("US","Amerika") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europa") +#define TR_USBMODES_1 "Fragen" +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Speicher") +#define TR_USBMODES_4 TR("Serial","Seriell") +#define TR_JACK_MODES_1 "Popup" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "nicht inv." #define TR_MULTI_CUSTOM "Benutzer" -#define TR_VTRIMINC TR("Expo","Exponentiell"),TR("ExFein","Extrafein"),"Fein","Mittel","Grob" -#define TR_VDISPLAYTRIMS "Nein","Kurz","Ja" // Trimmwerte Keine, kurze Anzeigen, Ja -#define TR_VBEEPCOUNTDOWN "Kein", "Pieps", "Stimme", "Haptik", TR("P & H","Pieps & Haptik"), TR("St & H","Stimme & Haptik") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Ton","Ruhe" -#define TR_CURVE_TYPES "Nur Y","X und Y" // "Standard","Custom" - -#define TR_ADCFILTERVALUES "Global","Aus","Ein" - -#define TR_VCURVETYPE "Diff","Expo","Funk","Ind." -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Addiere","Multipl.","Ersetze" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Takt" // TIM = Takt = Taktgenerator - #define TR_CSWSTICKY "SRFF" // Sticky = RS-Flip-Flop - #define TR_CSWSTAY "Puls" // Edge = einstellbarer Impuls -#else - #define TR_CSWTIMER "Takt" // TIM = Takt = Taktgenerator - #define TR_CSWSTICKY "SRFF" // Sticky = RS-Flip-Flop - #define TR_CSWSTAY "Puls" // Edge = einstellbarer Impuls -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a\n"\ " Oben = PREV/INC\n"\ " Unten = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Inverted" -#else - #define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inverted" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(HELI) -#define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else -#define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "AUS","EIN","Strt","GSs","GS%","GSt" +#define TR_VTMRMODES_1 "AUS" +#define TR_VTMRMODES_2 "EIN" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "GSs" +#define TR_VTMRMODES_5 "GS%" +#define TR_VTMRMODES_6 "GSt" #define TR_VTRAINER_MASTER_OFF "AUS" #define TR_VTRAINER_MASTER_JACK "Lehrer/Buchse" #define TR_VTRAINER_SLAVE_JACK "Schüler/Buchse" #define TR_VTRAINER_MASTER_SBUS_MODULE "Lehrer/SBUS Modul" #define TR_VTRAINER_MASTER_CPPM_MODULE "Lehrer/CPPM Modul" #define TR_VTRAINER_MASTER_BATTERY "Lehrer/Serial" -#define TR_VTRAINER_BLUETOOTH TR("Lehrer/BT","Lehrer/Bluetooth"),TR("Schüler/BT","Schüler/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 TR("Lehrer/BT","Lehrer/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 TR("Schüler/BT","Schüler/Bluetooth") #define TR_VTRAINER_MULTI "Lehrer/Multi" #define TR_VTRAINER_CRSF "Lehrer/CRSF" -#define TR_VFAILSAFE "Kein Failsafe","Halte Pos.","Kanäle","Kein Signal","Empfänger" -#define TR_VSENSORTYPES "Sensor","Berechnung" -#define TR_VFORMULAS "Addieren","Mittelwert","Min","Max","Multiplizier","Gesamt","Zelle","Verbrauch","Distanz" -#define TR_VPREC "0.--","0.0","0.00" -#define TR_VCELLINDEX "Niedrigst","1. Zelle","2. Zelle","3. Zelle","4. Zelle","5. Zelle","6. Zelle","7. Zelle","8. Zelle","Höchster","Differenz" -#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)" -#define TR_TIMER_DIR TR("Rückw.", "Rückwärts"), TR("Vorwä.", "Vorwärts") -#define TR_PPMUNIT "0.--","0.0","us" - -// ZERO TERMINATED STRINGS - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","FETT","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER "[ENTER]" - #define TR_ENTER_LONG "[ENTER LONG]" -#endif - -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK "\010" "\010" "\010" TR("[OK]", "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) - -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Kein Failsafe" +#define TR_VFAILSAFE_2 "Halte Pos." +#define TR_VFAILSAFE_3 "Kanäle" +#define TR_VFAILSAFE_4 "Kein Signal" +#define TR_VFAILSAFE_5 "Empfänger" +#define TR_VSENSORTYPES_1 "Sensor" +#define TR_VSENSORTYPES_2 "Berechnung" +#define TR_VFORMULAS_1 "Addieren" +#define TR_VFORMULAS_2 "Mittelwert" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Multiplizier" +#define TR_VFORMULAS_6 "Gesamt" +#define TR_VFORMULAS_7 "Zelle" +#define TR_VFORMULAS_8 "Verbrauch" +#define TR_VFORMULAS_9 "Distanz" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0" +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Niedrigst" +#define TR_VCELLINDEX_2 "1. Zelle" +#define TR_VCELLINDEX_3 "2. Zelle" +#define TR_VCELLINDEX_4 "3. Zelle" +#define TR_VCELLINDEX_5 "4. Zelle" +#define TR_VCELLINDEX_6 "5. Zelle" +#define TR_VCELLINDEX_7 "6. Zelle" +#define TR_VCELLINDEX_8 "7. Zelle" +#define TR_VCELLINDEX_9 "8. Zelle" +#define TR_VCELLINDEX_10 "Höchster" +#define TR_VCELLINDEX_11 "Differenz" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA" (center only)" +#define TR_SUBTRIMMODES_2 "= (symetrical)" +#define TR_TIMER_DIR_1 TR("Rückw.", "Rückwärts") +#define TR_TIMER_DIR_2 TR("Vorwä.", "Vorwärts") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "FETT" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "frei" #define TR_YES "Ja" @@ -366,11 +473,19 @@ #define TR_PROTOCOL TR("Protok.", "Protokoll") #define TR_PPMFRAME "PPM-Frame" #define TR_REFRESHRATE TR("Refresh", "Refresh Rate") -#define STR_WARN_BATTVOLTAGE TR("Ausg. ist VBAT: ", "Warnung: Ausg.pegel ist VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Ausg. ist VBAT: ", "Warnung: Ausg.pegel ist VBAT: ") #define TR_WARN_5VOLTS "Warnung: Ausgangspegel ist 5 Volt" #define TR_MS "ms" #define TR_SWITCH TR("Schalt.", "Schalter") -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -380,28 +495,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trimmer" #define TR_FADEIN "Langs. Ein" #define TR_FADEOUT "Langs. Aus" #define TR_DEFAULT "(Normal)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Prüfe Flugphasen-Trimmung" -#else - #define TR_CHECKTRIMS "\006Prüfe\012Trimmung" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Prüfe\012Trimmung", "Prüfe Flugphasen-Trimmung") #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_MODE "Modus" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Links" -#else - #define TR_LEFT_STICK "Li" -#endif +#define TR_LEFT_STICK "Links" #define TR_SUBTYPE "Subtype" #define TR_NOFREEEXPO "Expos voll!" #define TR_NOFREEMIXER "Mischer voll!" @@ -424,11 +530,7 @@ #define TR_SLOWDOWN "Langs.Dn" #define TR_SLOWUP "Langs.Up" #define TR_CV "KV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE TR("Bereich", "Variobereich m/s") #define TR_CENTER TR("Mitte", "Variomitte m/s") #define TR_ALARM "Alarme" @@ -500,17 +602,12 @@ #define TR_CAL "Kal." #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Kalibrierung fertig" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "Knüppel/Schieber zentrieren" - #define TR_MOVESTICKSPOTS "Knüppel/Schieber bewegen" -#else - #define TR_MENUTOSTART TR_ENTER " Zum START" - #define TR_SETMIDPOINT TRSA("SCHIEBER AUF MITTE", TR("KNÜPPEL AUF MITTE", "ZENTRIERE KNÜPPEL/SCHIEBER")) - #define TR_MOVESTICKSPOTS TRSA("BEWEGE LENK/GAS/POTI/KNÜPPEL", "BEWEGE KNÜPPEL/SCHIEBER") - #define TR_MENUWHENDONE TR_ENTER " wenn fertig" +#define TR_MENUTOSTART TR_ENTER " Zum START" +#define TR_MENUWHENDONE TR_ENTER " wenn fertig" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SCHIEBER AUF MITTE", TR("KNÜPPEL AUF MITTE", "ZENTRIERE KNÜPPEL/SCHIEBER")), "Knüppel/Schieber zentrieren") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("BEWEGE LENK/GAS/POTI/KNÜPPEL", "BEWEGE KNÜPPEL/SCHIEBER"), "Knüppel/Schieber bewegen") #define TR_NODATA "Keine Daten" #define TR_US "us" #define TR_HZ "Hz" @@ -540,7 +637,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODELL" -#define TR_FM TRSA("DM", "FP") +#define TR_FM TR_SFC_AIR("DM", "FP") #define TR_EEPROMLOWMEM "EEPROM voll" #define TR_THROTTLE_NOT_IDLE "Gas nicht Null!" #define TR_ALARMSDISABLED "Alarme ausgeschaltet" @@ -559,11 +656,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "CALIBRATED ANALOGS" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "ANPASSBARE SCHALTER" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "Channels=>Failsafe" #define TR_CHANNEL2FAILSAFE "Channel=>Failsafe" #define TR_MENUMODELSEL TR("MODELLE", "MODELL WÄHLEN") @@ -674,7 +767,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Update RX Optionen?" #define TR_UPDATE_TX_OPTIONS "Update TX Optionen?" -#define TR_MODULES_RX_VERSION "Modul / RX version" +#define TR_MODULES_RX_VERSION BUTTON("Modul / RX version") #define TR_SHOW_MIXER_MONITORS "Zeige Mischermonitor" #define TR_MENU_MODULES_RX_VERSION "MODUL / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONEN" @@ -694,11 +787,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD-Karte voll" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogs und Screenshots deaktiviert" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs und " LCDW_128_LINEBREAK "Screenshots deaktiviert" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs und " LCDW_128_LINEBREAK "Screenshots deaktiviert", TR_SDCARD_FULL "\nLogs und Screenshots deaktiviert") #define TR_NEEDS_FILE "Datei benötigt" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -757,7 +846,8 @@ #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_MAXBAUDRATE "Max Baud" #define TR_SAMPLE_MODE "Abtastmodus" -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Wird geladen..." #define TR_DELETE_THEME "Theme löschen?" #define TR_SAVE_THEME "Theme speichern?" @@ -765,15 +855,16 @@ #define TR_NO_THEME_IMAGE "Kein Theme Bild" #define TR_BACKLIGHT_TIMER "Inaktivitäts Timeout" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "schnelle Modellauswahl" - #define TR_LABELS_SELECT "Labelauswahl" - #define TR_LABELS_MATCH "Labelvergleich" - #define TR_FAV_MATCH "Favoriten vergleichen" - #define TR_LABELS_SELECT_MODE "Mehrfachauswahl", "Einfachauswahl" - #define TR_LABELS_MATCH_MODE "Alle", "Beliebig" - #define TR_FAV_MATCH_MODE "Muss übereinstimmen", "Alternative Übereinstimmung" -#endif +#define TR_MODEL_QUICK_SELECT "schnelle Modellauswahl" +#define TR_LABELS_SELECT "Labelauswahl" +#define TR_LABELS_MATCH "Labelvergleich" +#define TR_FAV_MATCH "Favoriten vergleichen" +#define TR_LABELS_SELECT_MODE_1 "Mehrfachauswahl" +#define TR_LABELS_SELECT_MODE_2 "Einfachauswahl" +#define TR_LABELS_MATCH_MODE_1 "Alle" +#define TR_LABELS_MATCH_MODE_2 "Beliebig" +#define TR_FAV_MATCH_MODE_1 "Muss übereinstimmen" +#define TR_FAV_MATCH_MODE_2 "Alternative Übereinstimmung" #define TR_SELECT_TEMPLATE_FOLDER "WÄHLE VORLAGENVERZEICHNIS:" #define TR_SELECT_TEMPLATE "WÄHLE MODELLVORLAGE:" @@ -793,11 +884,10 @@ #define TR_BLUETOOTH_NODEVICES "kein Gerät gefunden" #define TR_BLUETOOTH_SCANNING "Suche..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Aktiviert" -#else -#define TR_BLUETOOTH_MODES "---","Telemetrie","Trainer" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetrie" +#define TR_BLUETOOTH_MODES_3 "Trainer" +#define TR_BLUETOOTH_MODES_4 "Aktiviert" #define TR_SD_INFO_TITLE "SD-INFO" #define TR_SD_SPEED "Geschw:" #define TR_SD_SECTORS "Sektoren:" @@ -807,7 +897,18 @@ #define TR_GLOBAL_VAR "Globale Variable" #define TR_OWN "Eigen" #define TR_DATE "Datum:" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "Mai" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Okt" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dez" #define TR_ROTARY_ENCODER "Drehg." #define TR_ROTARY_ENC_MODE TR("Drehg. Modus","Drehgeber Modus") #define TR_CHANNELS_MONITOR "Kanal-Monitor==>" @@ -837,7 +938,7 @@ #define TR_FLASH_EXTERNAL_MULTI TR("Flash Ext. Multi", "Flash ext. Multimodul") #define TR_FLASH_EXTERNAL_ELRS TR("Flash Ext. ELRS", "Flash External ELRS") #define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware Updatefehler") -#define TR_FIRMWARE_UPDATE_SUCCESS TR3("Flash successful","Flash successful","Update erfolgreich") +#define TR_FIRMWARE_UPDATE_SUCCESS TR("Flash successful","Update erfolgreich") #define TR_WRITING "Schreibe..." #define TR_CONFIRM_FORMAT "Formatieren bestätigen?" #define TR_INTERNALRF "Internes HF-Modul" @@ -912,15 +1013,15 @@ #define TR_PXX2_SELECT_RX "Wähle RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Wähle Gerät" -#define TR_DISCOVER "Suche" +#define TR_DISCOVER BUTTON("Suche") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Warte..." #define TR_RECEIVER_DELETE "Empfänger löschen?" #define TR_RECEIVER_RESET "Empfänger resetten?" #define TR_SHARE "Share" #define TR_BIND "Binden" -#define TR_REGISTER TR("Reg", "Register") -#define TR_MODULE_RANGE BUTTON(TR3("Rng", "Reichw", "Reichweite")) +#define TR_REGISTER BUTTON(TR("Reg", "Register")) +#define TR_MODULE_RANGE BUTTON(TR("Rng", "Reichweite")) #define TR_RANGE_TEST "Reichweitentest" #define TR_RECEIVER_OPTIONS TR("RX OPTIONEN", "RX OPTIONEN") #define TR_RESET_BTN BUTTON("Reset") @@ -929,7 +1030,7 @@ #define TR_FS_BTN BUTTON(TR("AnpSchalt", TR_FUNCTION_SWITCHES)) #define TR_TOUCH_NOTFOUND "Touch hardware not found" #define TR_TOUCH_EXIT "Touch screen to exit" -#define TR_CALIBRATION "Kalibrieren" +#define TR_CALIBRATION BUTTON("Kalibrieren") #define TR_SET BUTTON("Set") #define TR_TRAINER "Lehrer/Schüler" #define TR_CHANS "Chans" @@ -956,11 +1057,11 @@ #define TR_AFHDS3_ACTUAL_POWER TR("Tat.Leis", "tatsäch. Leistung") #define TR_AFHDS3_POWER_SOURCE TR("Stromqu.", "Stromquelle") #define TR_ANTENNACONFIRM1 "Ant. umschalten" -#if defined(PCBX12S) -#define TR_ANTENNA_MODES "Intern","Frag","Modellspezifisch","Intern + Extern" -#else -#define TR_ANTENNA_MODES "Intern","Frag","Modellspezifisch","Extern" -#endif +#define TR_ANTENNA_MODES_1 "Intern" +#define TR_ANTENNA_MODES_2 "Frag" +#define TR_ANTENNA_MODES_3 "Modellspezifisch" +#define TR_ANTENNA_MODES_4 "Intern + Extern" +#define TR_ANTENNA_MODES_5 "Extern" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna") #define TR_ANTENNACONFIRM2 TR("Check antenna", "Ist eine externe Antenne installiert?") @@ -977,7 +1078,7 @@ #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_CLEAR BUTTON("Löschen") #define TR_RESET TR("Servowert reset","Servowerte zurücksetzen") #define TR_RESET_SUBMENU TR("Reset Werte ==>", "Reset=>Timer Flug Telem") #define TR_COUNT "Punkte" @@ -992,7 +1093,9 @@ #define TR_MIXSOURCE "Quelle (%)" #define TR_MIXSOURCERAW "Quelle (Wert)" #define TR_CONSTANT "Konstant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Aus","Ein","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Aus" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "Ein" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Vorflug-Checkliste" #define TR_CHECKLIST TR("Checkliste", "Checkliste anzeigen") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interaktiv", "Interakt. Checkl.", "Interaktive Checkliste") @@ -1007,7 +1110,8 @@ #define TR_CONFIRMRESET TR("Alles löschen? ","ALLE Modelle+Einst. löschen?") #define TR_TOO_MANY_LUA_SCRIPTS "Zu viele Skripte!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","EIN" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "EIN" #define TR_NO_TELEMETRY_SCREENS "Keine Telemetrie Seiten" #define TR_TOUCH_PANEL "Touch panel:" #define TR_FILE_SIZE "Dateigröße" @@ -1025,33 +1129,33 @@ #define TR_PHASES_HEADERS_FAD_IN "Langs Ein" #define TR_PHASES_HEADERS_FAD_OUT "Langs Aus" -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Erster Kanal" - #define TR_FILL_BACKGROUND "Hintergrund füllen?" - #define TR_BG_COLOR "Hintergrundfarbe" - #define TR_SLIDERS_TRIMS "Schieber+Trim" - #define TR_SLIDERS "Schieber" - #define TR_FLIGHT_MODE "Flugphase" - #define TR_INVALID_FILE "ungültige Datei" - #define TR_TIMER_SOURCE "Timer Quelle" - #define TR_SIZE "Größe" - #define TR_SHADOW "Schatten" - #define TR_ALIGNMENT "Ausrichtung" - #define TR_ALIGN_LABEL "Name ausrichten" - #define TR_ALIGN_VALUE "Wert ausrichten" - #define TR_ALIGN_OPTS "Links", "Mitte", "Rechts" - #define TR_TEXT "Text" - #define TR_COLOR "Farbe" - #define TR_PANEL1_BACKGROUND "Panel1 Hintergrund" - #define TR_PANEL2_BACKGROUND "Panel2 Hintergrund" - #define TR_WIDGET_GAUGE "Pegel" - #define TR_WIDGET_MODELBMP "Modellinfo" - #define TR_WIDGET_OUTPUTS "Ausgänge" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Wert" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Erster Kanal" +#define TR_FILL_BACKGROUND "Hintergrund füllen?" +#define TR_BG_COLOR "Hintergrundfarbe" +#define TR_SLIDERS_TRIMS "Schieber+Trim" +#define TR_SLIDERS "Schieber" +#define TR_FLIGHT_MODE "Flugphase" +#define TR_INVALID_FILE "ungültige Datei" +#define TR_TIMER_SOURCE "Timer Quelle" +#define TR_SIZE "Größe" +#define TR_SHADOW "Schatten" +#define TR_ALIGNMENT "Ausrichtung" +#define TR_ALIGN_LABEL "Name ausrichten" +#define TR_ALIGN_VALUE "Wert ausrichten" +#define TR_ALIGN_OPTS_1 "Links" +#define TR_ALIGN_OPTS_2 "Mitte" +#define TR_ALIGN_OPTS_3 "Rechts" +#define TR_TEXT "Text" +#define TR_COLOR "Farbe" +#define TR_PANEL1_BACKGROUND "Panel1 Hintergrund" +#define TR_PANEL2_BACKGROUND "Panel2 Hintergrund" +#define TR_WIDGET_GAUGE "Pegel" +#define TR_WIDGET_MODELBMP "Modellinfo" +#define TR_WIDGET_OUTPUTS "Ausgänge" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Wert" // Taranis Info Zeile Anzeigen #define TR_LIMITS_HEADERS_NAME "Name" @@ -1064,10 +1168,6 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Subtrim Modus" #define TR_INVERTED "Invertiert" - -// Horus footer descriptions -#define TR_LSW_DESCRIPTIONS "Vergleich oder Funktion", "Erste Variable", "Zweite Variable/Konstante", "Zweite Variable/Konstante", "Weitere UND Bedingung für Freigabe des Log Schalters", "ON-Zeit des Log Schalters wenn Bedingung ok", "Mindestdauer der Bedingung damit Log Schalter ON geht" - //Taranis About screen #define TR_ABOUTUS TR(" Info ", "Info") @@ -1099,7 +1199,7 @@ #define TR_CELLINDEX "Zellenindex" #define TR_LOGS "Log Daten" #define TR_OPTIONS "Optionen" -#define TR_FIRMWARE_OPTIONS "Firmwareoptionen" +#define TR_FIRMWARE_OPTIONS BUTTON("Firmwareoptionen") #define TR_ALTSENSOR "Höhen Sensor" #define TR_CELLSENSOR "Zellen Sensor" @@ -1154,11 +1254,6 @@ #define TR_USE_THEME_COLOR "Farbe des Themes verwenden" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Alle Trimmungen übernehmen" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Öffne Kanalmonitor" -#else - #define TR_OPEN_CHANNEL_MONITORS "Öffne Kanalmon." -#endif #define TR_DUPLICATE "Duplizieren" #define TR_ACTIVATE "Aktivieren" #define TR_RED "Rot" @@ -1193,6 +1288,7 @@ #define TR_CANCEL "Abbruch" #define TR_EDIT_THEME "THEME Editieren" #define TR_DETAILS "Details" +#define TR_THEME_EDITOR "THEMES" // Voice in native language #define TR_VOICE_ENGLISH "Englisch" @@ -1218,29 +1314,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "Modus" -#define TR_VUSBJOYSTICK_EXTMODE "Klassisch","Erweitert" -#define TR_USBJOYSTICK_SETTINGS "Kanal Einstellungen" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Klassisch" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Erweitert" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Kanal Einstellungen") #define TR_USBJOYSTICK_IF_MODE TR("If.Modus","Interface Modus") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAchsen" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAchsen" #define TR_USBJOYSTICK_CH_MODE "Modus" -#define TR_VUSBJOYSTICK_CH_MODE "Kein","Tasten","Achse","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Kein" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Tasten" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Achse" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Tasten Modus" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Puls","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Puls"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Puls" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Puls") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positionen" -#define TR_VUSBJOYSTICK_CH_SWPOS "Drücken","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Drücken" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Achse" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Schieber","Dial","Rad" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Schieber" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Rad" #define TR_USBJOYSTICK_CH_SIM "Sim Achse" -#define TR_VUSBJOYSTICK_CH_SIM "Quer","Höhe","Seite","Gas","Beschl.","Bremsen","Lenkung","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Quer" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Höhe" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Seite" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Gas" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Beschl." +#define TR_VUSBJOYSTICK_CH_SIM_6 "Bremsen" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Lenkung" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Invers" #define TR_USBJOYSTICK_CH_BTNNUM "Tastennr." #define TR_USBJOYSTICK_BTN_COLLISION "!Tastennr. Kollision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Achsen Kollision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "kein","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Änd. übernehmen" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "kein" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Änd. übernehmen") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1256,7 +1394,10 @@ #define TR_SELECT_MENU_CLR "Löschen" #define TR_SELECT_MENU_INV "Invertiert" -#define TR_SORT_ORDERS "Name A-Z","Name Z-A","Wenig benutzt","Meist benutzt" +#define TR_SORT_ORDERS_1 "Name A-Z" +#define TR_SORT_ORDERS_2 "Name Z-A" +#define TR_SORT_ORDERS_3 "Wenig benutzt" +#define TR_SORT_ORDERS_4 "Meist benutzt" #define TR_SORT_MODELS_BY "Modelle sortieren nach" #define TR_CREATE_NEW "Erstelle" diff --git a/radio/src/translations/en.h b/radio/src/translations/i18n/en.h similarity index 71% rename from radio/src/translations/en.h rename to radio/src/translations/i18n/en.h index 8307fe92ccd..64484a034ab 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/i18n/en.h @@ -29,14 +29,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -44,7 +36,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -73,7 +65,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -91,26 +83,26 @@ #define TR_MAIN_VIEW_X "Screen " #define TR_MAIN_MENU_THEMES "Themes" #define TR_MAIN_MENU_APPS "Apps" -#define TR_MENUHELISETUP TRC("HELI SETUP", "Heli Settings") -#define TR_MENUFLIGHTMODES TRSA(TRC("DRIVE MODES", "Drive Modes"), TRC("FLIGHT MODES", "Flight Modes")) -#define TR_MENUFLIGHTMODE TRSA("DRIVE MODE", "FLIGHT MODE") -#define TR_MENUINPUTS TRC("INPUTS", "Inputs") -#define TR_MENULIMITS TRC("OUTPUTS", "Outputs") -#define TR_MENUCURVES TRC("CURVES", "Curves") -#define TR_MIXES TRC("MIXES", "Mixes") +#define TR_MENUHELISETUP TR_BW_COL("HELI SETUP", "Heli Settings") +#define TR_MENUFLIGHTMODES TR_SFC_AIR(TR_BW_COL("DRIVE MODES", "Drive Modes"), TR_BW_COL("FLIGHT MODES", "Flight Modes")) +#define TR_MENUFLIGHTMODE TR_SFC_AIR("DRIVE MODE", "FLIGHT MODE") +#define TR_MENUINPUTS TR_BW_COL("INPUTS", "Inputs") +#define TR_MENULIMITS TR_BW_COL("OUTPUTS", "Outputs") +#define TR_MENUCURVES TR_BW_COL("CURVES", "Curves") +#define TR_MIXES TR_BW_COL("MIXES", "Mixes") #define TR_MENU_GLOBAL_VARS "Global Variables" -#define TR_MENULOGICALSWITCHES TRC("LOGICAL SWITCHES", "Logical Switches") -#define TR_MENUCUSTOMFUNC TRC("SPECIAL FUNCTIONS", "Special Functions") -#define TR_MENUCUSTOMSCRIPTS TRC("MIXER SCRIPTS", "Mixer Scripts") -#define TR_MENUTELEMETRY TRC("TELEMETRY", "Telemetry") -#define TR_MENUSPECIALFUNCS TRC("GLOBAL FUNCTIONS", "Global Functions") -#define TR_MENUTRAINER TRC("TRAINER", "Trainer") -#define TR_HARDWARE TRC("HARDWARE", "Hardware") +#define TR_MENULOGICALSWITCHES TR_BW_COL("LOGICAL SWITCHES", "Logical Switches") +#define TR_MENUCUSTOMFUNC TR_BW_COL("SPECIAL FUNCTIONS", "Special Functions") +#define TR_MENUCUSTOMSCRIPTS TR_BW_COL("MIXER SCRIPTS", "Mixer Scripts") +#define TR_MENUTELEMETRY TR_BW_COL("TELEMETRY", "Telemetry") +#define TR_MENUSPECIALFUNCS TR_BW_COL("GLOBAL FUNCTIONS", "Global Functions") +#define TR_MENUTRAINER TR_BW_COL("TRAINER", "Trainer") +#define TR_HARDWARE TR_BW_COL("HARDWARE", "Hardware") #define TR_USER_INTERFACE "Top Bar" -#define TR_SD_CARD TRC("SD CARD", "Storage") +#define TR_SD_CARD TR_BW_COL("SD CARD", "Storage") #define TR_DEBUG "Debug" -#define TR_MENU_RADIO_SWITCHES TRC("SWITCHES", "Switches Test") -#define TR_MENUCALIBRATION TRC("CALIBRATION", "Calibration") +#define TR_MENU_RADIO_SWITCHES TR_BW_COL("SWITCHES", "Switches Test") +#define TR_MENUCALIBRATION TR_BW_COL("CALIBRATION", "Calibration") #define TR_FUNCTION_SWITCHES "Customizable Switches" // End Main menu @@ -118,53 +110,105 @@ #define TR_MINUTE_PLURAL1 "minutes" #define TR_MINUTE_PLURAL2 "minutes" -#define TR_OFFON "OFF","ON" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Quiet","Alarm","NoKey","All" -#define TR_VBLMODE "OFF","Keys",TR("Ctrl","Controls"),"Both","ON" -#define TR_TRNMODE "OFF",TR("+=","Add"),TR(":=","Replace") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "OFF","Telem Mirror","Telemetry In","SBUS Trainer","LUA","CLI","GPS","Debug","SpaceMouse","External module" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "None","Toggle","2POS","3POS","Global" -#else -#define TR_SWTYPES "None","Toggle","2POS","3POS" -#endif -#define TR_POTTYPES "None","Pot",TR("Pot w. det","Pot with detent"),"Slider",TR("Multipos","Multipos Switch"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "OFF","Flight","Manual Reset" -#define TR_COUNTRY_CODES TR("US","America"),TR("JP","Japan"),TR("EU","Europe") -#define TR_USBMODES "Ask",TR("Joyst","Joystick"),TR("SDCard","Storage"),"Serial" -#define TR_JACK_MODES "Ask","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normal","not inverted" +#define TR_OFFON_1 "OFF" +#define TR_OFFON_2 "ON" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Quiet" +#define TR_VBEEPMODE_2 "Alarm" +#define TR_VBEEPMODE_3 "NoKey" +#define TR_VBEEPMODE_4 "All" +#define TR_VBLMODE_1 "OFF" +#define TR_VBLMODE_2 "Keys" +#define TR_VBLMODE_3 TR("Ctrl","Controls") +#define TR_VBLMODE_4 "Both" +#define TR_VBLMODE_5 "ON" +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","Add") +#define TR_TRNMODE_3 TR(":=","Replace") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "OFF" +#define TR_AUX_SERIAL_MODES_2 "Telem Mirror" +#define TR_AUX_SERIAL_MODES_3 "Telemetry In" +#define TR_AUX_SERIAL_MODES_4 "SBUS Trainer" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "External module" +#define TR_SWTYPES_1 "None" +#define TR_SWTYPES_2 "Toggle" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "None" +#define TR_POTTYPES_2 "Pot" +#define TR_POTTYPES_3 TR("Pot w. det","Pot with detent") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Multipos","Multipos Switch") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "OFF" +#define TR_VPERSISTENT_2 "Flight" +#define TR_VPERSISTENT_3 "Manual Reset" +#define TR_COUNTRY_CODES_1 TR("US","America") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europe") +#define TR_USBMODES_1 "Ask" +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Storage") +#define TR_USBMODES_4 "Serial" +#define TR_JACK_MODES_1 "Ask" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "not inverted" #define TR_MULTI_CUSTOM "Custom" -#define TR_VTRIMINC TR("Expo","Exponential"),TR("ExFine","Extra Fine"),"Fine","Medium","Coarse" -#define TR_VDISPLAYTRIMS "No","Change","Yes" -#define TR_VBEEPCOUNTDOWN "Silent","Beeps","Voice","Haptic",TR("B & H","Beeps & Haptic"),TR("V & H","Voice & Haptic") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tone","Silent" -#define TR_CURVE_TYPES "Standard","Custom" - -#define TR_ADCFILTERVALUES "Global","Off","On" - -#define TR_VCURVETYPE "Diff","Expo","Func","Cstm" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Add","Multiply","Replace" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Stky" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_SF_SAFETY "Override" -#else - #define TR_SF_SAFETY "Overr." -#endif +#define TR_SF_SAFETY TR("Overr.", "Override") #define TR_SF_SCREENSHOT "Screenshot" #define TR_SF_RACING_MODE "RacingMode" #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" -#define TR_SF_SET_SCREEN "Set Main Screen" -#define TR_SF_SET_TELEMSCREEN "Set Screen" +#define TR_SF_SET_SCREEN TR_BW_COL("Set Screen", "Set Main Screen") #define TR_SF_PUSH_CUST_SWITCH "Push CS" #define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetry") #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("All","Flight"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Beep1"),TR("Bp2","Beep2"),TR("Bp3","Beep3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TIMERS_1 "Tmr1" +#define TR_FSW_RESET_TIMERS_2 "Tmr2" +#define TR_FSW_RESET_TIMERS_3 "Tmr3" + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("All","Flight") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM "Metric",TR("Imper.","Imperial") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "None","Nums","Bars","Script" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "Metric" +#define TR_VUNITSSYSTEM_2 TR("Imper.","Imperial") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "None" +#define TR_VTELEMSCREENTYPE_2 "Nums" +#define TR_VTELEMSCREENTYPE_3 "Bars" +#define TR_VTELEMSCREENTYPE_4 "Script" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Rud" #define TR_STICK_NAMES1 "Ele" @@ -236,18 +332,20 @@ #define TR_SURFACE_NAMES0 "ST" #define TR_SURFACE_NAMES1 "TH" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Default","High" -#endif +#define TR_RFPOWER_AFHDS2_1 "Default" +#define TR_RFPOWER_AFHDS2_2 "High" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","One" +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "One" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "Hats mode" -#define TR_HATSOPT "Trims only","Keys only","Switchable","Global" +#define TR_HATSOPT_1 "Trims only" +#define TR_HATSOPT_2 "Keys only" +#define TR_HATSOPT_3 "Switchable" +#define TR_HATSOPT_4 "Global" #define TR_HATSMODE_TRIMS "Hats mode: Trims" #define TR_HATSMODE_KEYS "Hats mode: Keys" #define TR_HATSMODE_KEYS_HELP "Left side:\n"\ @@ -260,79 +358,87 @@ " Right = PAGE>\n"\ " Up = PREV/INC\n"\ " Down = NEXT/DEC" -#endif -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Inverted" -#else - #define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A","V-N E-I" -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inverted" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ON","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ON" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Master/Jack" #define TR_VTRAINER_SLAVE_JACK "Slave/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Master/SBUS Module" #define TR_VTRAINER_MASTER_CPPM_MODULE "Master/CPPM Module" #define TR_VTRAINER_MASTER_BATTERY "Master/Serial" -#define TR_VTRAINER_BLUETOOTH "Master/" TR("BT","Bluetooth"), "Slave/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Master/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Slave/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "Not set","Hold","Custom","No pulses","Receiver" -#define TR_VSENSORTYPES "Custom","Calculated" -#define TR_VFORMULAS "Add","Average","Min","Max","Multiply","Totalize","Cell","Consumpt","Distance" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Lowest","1","2","3","4","5","6","7","8","Highest","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symmetrical)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Not set" +#define TR_VFAILSAFE_2 "Hold" +#define TR_VFAILSAFE_3 "Custom" +#define TR_VFAILSAFE_4 "No pulses" +#define TR_VFAILSAFE_5 "Receiver" +#define TR_VSENSORTYPES_1 "Custom" +#define TR_VSENSORTYPES_2 "Calculated" +#define TR_VFORMULAS_1 "Add" +#define TR_VFORMULAS_2 "Average" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Multiply" +#define TR_VFORMULAS_6 "Totalize" +#define TR_VFORMULAS_7 "Cell" +#define TR_VFORMULAS_8 "Consumpt" +#define TR_VFORMULAS_9 "Distance" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Lowest" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Highest" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (center only)" +#define TR_SUBTRIMMODES_2 "= (symmetrical)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "free" #define TR_YES "Yes" @@ -366,11 +472,19 @@ #define TR_PROTOCOL TR("Proto", "Protocol") #define TR_PPMFRAME "PPM frame" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") - #define STR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") + #define TR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") #define TR_WARN_5VOLTS "Warning: output level is 5 volts" #define TR_MS "ms" #define TR_SWITCH "Switch" -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -380,28 +494,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trims" #define TR_FADEIN "Fade in" #define TR_FADEOUT "Fade out" #define TR_DEFAULT "(default)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Check FM Trims" -#else - #define TR_CHECKTRIMS "\006Check\012trims" -#endif +#define TR_CHECKTRIMS TR("\006Check\012trims", "Check FM Trims") #define TR_SWASHTYPE "Swash Type" #define TR_COLLECTIVE TR("Collective", "Coll. pitch source") #define TR_AILERON TR("Lateral cyc.", "Lateral cyc. source") #define TR_ELEVATOR TR("Long. cyc.", "Long. cyc. source") #define TR_SWASHRING "Swash Ring" #define TR_MODE "Mode" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Left" -#else - #define TR_LEFT_STICK "Left" -#endif +#define TR_LEFT_STICK "Left" #define TR_SUBTYPE "Subtype" #define TR_NOFREEEXPO "No free expo!" #define TR_NOFREEMIXER "No free mixer!" @@ -424,11 +529,7 @@ #define TR_SLOWDOWN TR("Slow dn", "Slow down") #define TR_SLOWUP "Slow up" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE "Range" #define TR_CENTER "Center" #define TR_ALARM "Alarm" @@ -497,20 +598,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplier" #define TR_CAL "Cal" -#define TR_CALIBRATION "Calibration" +#define TR_CALIBRATION BUTTON("Calibration") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Calibration completed" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTER AXIS/SLIDERS" - #define TR_MOVESTICKSPOTS "MOVE AXIS/POTS" -#else - #define TR_MENUTOSTART TR_ENTER " TO START" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", TR("SET AXIS MIDPOINT", "CENTER AXIS/SLIDERS")) - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "MOVE AXIS/POTS") - #define TR_MENUWHENDONE TR_ENTER " WHEN DONE" +#define TR_MENUTOSTART TR_ENTER " TO START" +#define TR_MENUWHENDONE TR_ENTER " WHEN DONE" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", TR("SET AXIS MIDPOINT", "CENTER AXIS/SLIDERS")), "CENTER AXIS/SLIDERS") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "MOVE AXIS/POTS"), "MOVE AXIS/POTS") #define TR_NODATA "NO DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -540,7 +636,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODEL" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM low mem" #define TR_PRESS_ANY_KEY_TO_SKIP "Press any key to skip" #define TR_THROTTLE_NOT_IDLE "Throttle not idle" @@ -559,11 +655,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "CALIBRATED ANALOGS" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "CUSTOMIZABLE SWITCHES" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "Channels=>Failsafe" #define TR_CHANNEL2FAILSAFE "Channel=>Failsafe" #define TR_MENUMODELSEL TR("MODELSEL", "MODEL SELECTION") @@ -670,7 +762,7 @@ #define TR_NO_TOOLS "No tools available" #define TR_NORMAL "Normal" #define TR_NOT_INVERTED "Not inv" -#define TR_NOT_CONNECTED TR("!Connected", "Not Connected"); +#define TR_NOT_CONNECTED TR("!Connected", "Not Connected") #define TR_CONNECTED "Connected" #define TR_FLEX_915 "Flex 915MHz" #define TR_FLEX_868 "Flex 868MHz" @@ -681,7 +773,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Update RX options?" #define TR_UPDATE_TX_OPTIONS "Update TX options?" -#define TR_MODULES_RX_VERSION "Modules / RX version" +#define TR_MODULES_RX_VERSION BUTTON("Modules / RX version") #define TR_SHOW_MIXER_MONITORS "Show mixer monitors" #define TR_MENU_MODULES_RX_VERSION "MODULES / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONS" @@ -701,11 +793,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD card full" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogs and Screenshots disabled" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs & Screenshots" LCDW_128_LINEBREAK "disabled" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs & Screenshots" LCDW_128_LINEBREAK "disabled", TR_SDCARD_FULL "\nLogs and Screenshots disabled") #define TR_NEEDS_FILE "NEEDS FILE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -764,7 +852,8 @@ #define TR_CRSF_ARMING_MODE "Arm using" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE TR("Sampling","Sample Mode") -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Loading..." #define TR_DELETE_THEME "Delete Theme?" #define TR_SAVE_THEME "Save Theme?" @@ -772,15 +861,16 @@ #define TR_NO_THEME_IMAGE "No theme image" #define TR_BACKLIGHT_TIMER "Inactivity timeout" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Model quick select" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "Model quick select" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "Select a template folder" #define TR_SELECT_TEMPLATE "SELECT A MODEL TEMPLATE:" @@ -800,11 +890,10 @@ #define TR_BLUETOOTH_NODEVICES "No Devices Found" #define TR_BLUETOOTH_SCANNING "Scanning..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Enabled" -#else -#define TR_BLUETOOTH_MODES "---","Telemetry","Trainer" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetry" +#define TR_BLUETOOTH_MODES_3 "Trainer" +#define TR_BLUETOOTH_MODES_4 "Enabled" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Speed:" @@ -815,7 +904,18 @@ #define TR_GLOBAL_VAR "Global variable" #define TR_OWN "Own" #define TR_DATE "Date" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "May" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Oct" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode") #define TR_CHANNELS_MONITOR "CHANNELS MONITOR" @@ -920,14 +1020,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device" -#define TR_DISCOVER "Discover" +#define TR_DISCOVER BUTTON("Discover") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Waiting..." #define TR_RECEIVER_DELETE "Delete receiver?" #define TR_RECEIVER_RESET "Reset receiver?" #define TR_SHARE "Share" #define TR_BIND "Bind" -#define TR_REGISTER TR("Reg", "Register") +#define TR_REGISTER BUTTON(TR("Reg", "Register")) #define TR_MODULE_RANGE BUTTON(TR("Rng", "Range")) #define TR_RANGE_TEST "Range Test" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS") @@ -958,11 +1058,11 @@ #define TR_TELEMETRY_NEWSENSOR "Add new" #define TR_CHANNELRANGE TR("Ch. Range", "Channel Range") #define TR_ANTENNACONFIRM1 "EXT. ANTENNA" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Internal","Ask","Per model","Internal + External" -#else - #define TR_ANTENNA_MODES "Internal","Ask","Per model","External" -#endif +#define TR_ANTENNA_MODES_1 "Internal" +#define TR_ANTENNA_MODES_2 "Ask" +#define TR_ANTENNA_MODES_3 "Per model" +#define TR_ANTENNA_MODES_4 "Internal + External" +#define TR_ANTENNA_MODES_5 "External" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna") #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") @@ -979,7 +1079,7 @@ #define TR_CURVE_PRESET "Preset..." #define TR_PRESET "Preset" #define TR_MIRROR "Mirror" -#define TR_CLEAR "Clear" +#define TR_CLEAR BUTTON("Clear") #define TR_RESET "Reset" #define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Count" @@ -994,7 +1094,9 @@ #define TR_MIXSOURCE "Source (%)" #define TR_MIXSOURCERAW "Source (value)" #define TR_CONSTANT "Constant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "OFF","ON","AUTO" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "OFF" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "ON" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "AUTO" #define TR_PREFLIGHT "Pre-start Checks" #define TR_CHECKLIST TR("Checklist", "Display checklist") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "Interactive checklist") @@ -1009,7 +1111,8 @@ #define TR_CONFIRMRESET TR("Erase ALL", "Erase ALL models and settings?") #define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "No Telemetry Screens" #define TR_TOUCH_PANEL "Touch panel:" #define TR_FILE_SIZE "File size" @@ -1037,36 +1140,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Subtrim mode" #define TR_INVERTED "Inverted" - -#define TR_LSW_DESCRIPTIONS "Comparison type or function", "First variable", "Second variable or constant", "Second variable or constant", "Additional condition for line to be enabled", "Minimum ON duration of the logical switch", "Minimum TRUE duration for the switch to become ON" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "First channel" - #define TR_FILL_BACKGROUND "Fill background?" - #define TR_BG_COLOR "BG Color" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "Sliders" - #define TR_FLIGHT_MODE "Flight mode" - #define TR_INVALID_FILE "Invalid File" - #define TR_TIMER_SOURCE "Timer source" - #define TR_SIZE "Size" - #define TR_SHADOW "Shadow" - #define TR_ALIGNMENT "Alignment" - #define TR_ALIGN_LABEL "Align label" - #define TR_ALIGN_VALUE "Align value" - #define TR_ALIGN_OPTS "Left", "Center", "Right" - #define TR_TEXT "Text" - #define TR_COLOR "Color" - #define TR_PANEL1_BACKGROUND "Panel1 background" - #define TR_PANEL2_BACKGROUND "Panel2 background" - #define TR_WIDGET_GAUGE "Gauge" - #define TR_WIDGET_MODELBMP "Model info" - #define TR_WIDGET_OUTPUTS "Outputs" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Value" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "First channel" +#define TR_FILL_BACKGROUND "Fill background?" +#define TR_BG_COLOR "BG Color" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "Sliders" +#define TR_FLIGHT_MODE "Flight mode" +#define TR_INVALID_FILE "Invalid File" +#define TR_TIMER_SOURCE "Timer source" +#define TR_SIZE "Size" +#define TR_SHADOW "Shadow" +#define TR_ALIGNMENT "Alignment" +#define TR_ALIGN_LABEL "Align label" +#define TR_ALIGN_VALUE "Align value" +#define TR_ALIGN_OPTS_1 "Left" +#define TR_ALIGN_OPTS_2 "Center" +#define TR_ALIGN_OPTS_3 "Right" +#define TR_TEXT "Text" +#define TR_COLOR "Color" +#define TR_PANEL1_BACKGROUND "Panel1 background" +#define TR_PANEL2_BACKGROUND "Panel2 background" +#define TR_WIDGET_GAUGE "Gauge" +#define TR_WIDGET_MODELBMP "Model info" +#define TR_WIDGET_OUTPUTS "Outputs" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Value" // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") @@ -1099,7 +1199,7 @@ #define TR_CELLINDEX "Cell index" #define TR_LOGS "Logs" #define TR_OPTIONS "Options" -#define TR_FIRMWARE_OPTIONS "Firmware options" +#define TR_FIRMWARE_OPTIONS BUTTON("Firmware options") #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" @@ -1152,11 +1252,6 @@ #define TR_USE_THEME_COLOR "Use theme color" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Add all Trims to Subtrims" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Monitor" -#else - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Mon." -#endif #define TR_DUPLICATE "Duplicate" #define TR_ACTIVATE "Set Active" #define TR_RED "Red" @@ -1191,6 +1286,7 @@ #define TR_CANCEL "Cancel" #define TR_EDIT_THEME "EDIT THEME" #define TR_DETAILS "Details" +#define TR_THEME_EDITOR "THEMES" // Voice in native language #define TR_VOICE_ENGLISH "English" @@ -1216,29 +1312,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "Mode" -#define TR_VUSBJOYSTICK_EXTMODE "Classic","Advanced" -#define TR_USBJOYSTICK_SETTINGS "Channel Settings" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Classic" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Advanced" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Channel Settings") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Interface mode") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "None","Btn","Axis","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "None" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axis" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Button Mode" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulse","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulse" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positions" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Axis" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Sim axis" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversion" #define TR_USBJOYSTICK_CH_BTNNUM "Button no." #define TR_USBJOYSTICK_BTN_COLLISION "!Button no. collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axis collision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "None","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Apply changes" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "None" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Apply changes") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1254,7 +1392,10 @@ #define TR_SELECT_MENU_CLR "Clear" #define TR_SELECT_MENU_INV "Invert" -#define TR_SORT_ORDERS "Name A-Z","Name Z-A","Least used","Most used" +#define TR_SORT_ORDERS_1 "Name A-Z" +#define TR_SORT_ORDERS_2 "Name Z-A" +#define TR_SORT_ORDERS_3 "Least used" +#define TR_SORT_ORDERS_4 "Most used" #define TR_SORT_MODELS_BY "Sort models by" #define TR_CREATE_NEW "Create" diff --git a/radio/src/translations/es.h b/radio/src/translations/i18n/es.h similarity index 73% rename from radio/src/translations/es.h rename to radio/src/translations/i18n/es.h index 1f30493b0f7..be8dd371a27 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/i18n/es.h @@ -30,15 +30,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -46,7 +37,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -75,7 +66,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -85,8 +76,8 @@ #define TR_MAIN_MENU_MODEL_NOTES "Model Notes" #define TR_MAIN_MENU_CHANNEL_MONITOR "Channel Monitor" #define TR_MONITOR_SWITCHES "MONITOR INTERRP LÓGICOS" -#define TR_MAIN_MENU_MODEL_SETTINGS "Model Settings" -#define TR_MAIN_MENU_RADIO_SETTINGS "Radio Settings" +#define TR_MAIN_MENU_MODEL_SETTINGS "Model Setup" +#define TR_MAIN_MENU_RADIO_SETTINGS "Radio Setup" #define TR_MAIN_MENU_SCREEN_SETTINGS "UI Setup" #define TR_MAIN_MENU_STATISTICS "Statistics" #define TR_MAIN_MENU_ABOUT_EDGETX "About EdgeTX" @@ -94,19 +85,14 @@ #define TR_MAIN_MENU_THEMES "THEMES" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "CONFIGURACIÓN HELI" -#define TR_MENUFLIGHTMODES TRSA("DRIVE MODES", "MODOS DE VUELO") -#define TR_MENUFLIGHTMODE TRSA("DRIVE MODE", "MODO DE VUELO") -#if defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... - #define TR_MENUINPUTS "STICKS" - #define TR_MENULIMITS "SERVOS" -#else - #define TR_MENUINPUTS "DR/EXPO" - #define TR_MENULIMITS "LÍMITES" -#endif +#define TR_MENUFLIGHTMODES TR_SFC_AIR("DRIVE MODES", "MODOS DE VUELO") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("DRIVE MODE", "MODO DE VUELO") +#define TR_MENUINPUTS "INPUTS" +#define TR_MENULIMITS "OUTPUTS" #define TR_MENUCURVES "CURVAS" #define TR_MIXES "MIXES" #define TR_MENU_GLOBAL_VARS "Variables Globales" -#define TR_MENULOGICALSWITCHES TR3("INTERRUP. LÓGICOS", "INTERRUP. LÓGICOS", "INTERRUPTORES LÓGICOS") +#define TR_MENULOGICALSWITCHES TR("INTERRUP. LÓGICOS", "INTERRUPTORES LÓGICOS") #define TR_MENUCUSTOMFUNC TR("FUNCIONES", "FUNCIONES ESPECIALES") #define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS" #define TR_MENUTELEMETRY "TELEMETRÍA" @@ -125,53 +111,104 @@ #define TR_MINUTE_PLURAL1 "minutes" #define TR_MINUTE_PLURAL2 "minutes" -#define TR_OFFON "OFF","ON" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Silencio","Alarma","No tecla","Todo" -#define TR_VBLMODE "OFF","Teclas","Sticks","Ambos","ON" -#define TR_TRNMODE "OFF",TR("+=","Añadir"),TR(":=","Cambiar") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "UIT","Telem Mirror","Telemetría","Entrenador SBUS","LUA","CLI","GPS","Debug","SpaceMouse","Módulo externo" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Nada","Palanca","2POS","3POS","Global" -#else -#define TR_SWTYPES "Nada","Palanca","2POS","3POS" -#endif -#define TR_POTTYPES "Nada","Pot",TR("Pot con fij","Pot con fijador"),"Slider",TR("Multipos","Switch multipos"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "OFF","Vuelo","Reset manual" -#define TR_COUNTRY_CODES TR("US","América"),TR("JP","Japón"),TR("EU", "Europa") -#define TR_USBMODES "Pregunta","Joystick","SDCard","Serie" -#define TR_JACK_MODES "Pregunta","Audio","Entrena." - -#define TR_SBUS_INVERSION_VALUES "normal","not inverted" +#define TR_OFFON_1 "OFF" +#define TR_OFFON_2 "ON" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Silencio" +#define TR_VBEEPMODE_2 "Alarma" +#define TR_VBEEPMODE_3 "No tecla" +#define TR_VBEEPMODE_4 "Todo" +#define TR_VBLMODE_1 "OFF" +#define TR_VBLMODE_2 "Teclas" +#define TR_VBLMODE_3 "Sticks" +#define TR_VBLMODE_4 "Ambos" +#define TR_VBLMODE_5 "ON" +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","Añadir") +#define TR_TRNMODE_3 TR(":=","Cambiar") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "UIT" +#define TR_AUX_SERIAL_MODES_2 "Telem Mirror" +#define TR_AUX_SERIAL_MODES_3 "Telemetría" +#define TR_AUX_SERIAL_MODES_4 "Entrenador SBUS" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Módulo externo" +#define TR_SWTYPES_1 "Nada" +#define TR_SWTYPES_2 "Palanca" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "Nada" +#define TR_POTTYPES_2 "Pot" +#define TR_POTTYPES_3 TR("Pot con fij","Pot con fijador") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Multipos","Switch multipos") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "OFF" +#define TR_VPERSISTENT_2 "Vuelo" +#define TR_VPERSISTENT_3 "Reset manual" +#define TR_COUNTRY_CODES_1 TR("US","América") +#define TR_COUNTRY_CODES_2 TR("JP","Japón") +#define TR_COUNTRY_CODES_3 TR("EU", "Europa") +#define TR_USBMODES_1 "Pregunta" +#define TR_USBMODES_2 "Joystick" +#define TR_USBMODES_3 "SDCard" +#define TR_USBMODES_4 "Serie" +#define TR_JACK_MODES_1 "Pregunta" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Entrena." + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "not inverted" #define TR_MULTI_CUSTOM "Custom" -#define TR_VTRIMINC TR("Expo","Exponencial"),TR("ExFino","Extra fino")"Fino","Medio","Grueso" -#define TR_VDISPLAYTRIMS "No","Cambiar","Si" -#define TR_VBEEPCOUNTDOWN "Silencio", "Beeps", "Voz", "Haptic", TR("B & H","Beeps & Haptic"),TR("V & H", "Voz & Haptic") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tono","Silencio" -#define TR_CURVE_TYPES "Normal","Custom" -#define TR_ADCFILTERVALUES "Global","Off","On" - -#define TR_VCURVETYPE "Diff","Expo","Func","Cstm" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Añadir","Multipl.","Cambiar" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Pega" - #define TR_CSWSTAY "Borde" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Pega" - #define TR_CSWSTAY "Bord" -#endif - -#define TR_CSWEQUAL "a=x" - -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a\n"\ " Up = PREV/INC\n"\ " Down = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Inverted" -#else - #define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inverted" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ABS","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ABS" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Master/Jack" #define TR_VTRAINER_SLAVE_JACK "Esclav/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Master/Módulo SBUS" #define TR_VTRAINER_MASTER_CPPM_MODULE "Master/Módulo CPPM" #define TR_VTRAINER_MASTER_BATTERY "Master/Serie" -#define TR_VTRAINER_BLUETOOTH TR("Master/BT","Master/Bluetooth"),TR("Esclavo/BT","Esclavo/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 TR("Master/BT","Master/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 TR("Esclavo/BT","Esclavo/Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "No","Hold","Custom","No pulsos","Receptor" -#define TR_VSENSORTYPES "Custom","Calculado" -#define TR_VFORMULAS "Suma","Media","Min","Máx","Multipl.","Total","Cell","Consumo","Distancia" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Menor","1","2","3","4","5","6","7","8","Mayor","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symetrical)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) - -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "No" +#define TR_VFAILSAFE_2 "Hold" +#define TR_VFAILSAFE_3 "Custom" +#define TR_VFAILSAFE_4 "No pulsos" +#define TR_VFAILSAFE_5 "Receptor" +#define TR_VSENSORTYPES_1 "Custom" +#define TR_VSENSORTYPES_2 "Calculado" +#define TR_VFORMULAS_1 "Suma" +#define TR_VFORMULAS_2 "Media" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Máx" +#define TR_VFORMULAS_5 "Multipl." +#define TR_VFORMULAS_6 "Total" +#define TR_VFORMULAS_7 "Cell" +#define TR_VFORMULAS_8 "Consumo" +#define TR_VFORMULAS_9 "Distancia" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Menor" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Mayor" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (center only)" +#define TR_SUBTRIMMODES_2 "= (symetrical)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "libre" #define TR_YES "Yes" @@ -368,11 +470,19 @@ #define TR_PROTOCOL TR("Proto", "Protocolo") #define TR_PPMFRAME "Trama PPM" #define TR_REFRESHRATE TR("Refresco", "Velocidad refresco") -#define STR_WARN_BATTVOLTAGE TR("Salida es VBAT: ", "Aviso: señal salida es VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Salida es VBAT: ", "Aviso: señal salida es VBAT: ") #define TR_WARN_5VOLTS "Aviso: nivel de salida 5 voltios" #define TR_MS "ms" #define TR_SWITCH TR("Interr.", "Interruptor") -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -382,28 +492,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trims" #define TR_FADEIN "Inicio" #define TR_FADEOUT "Final" #define TR_DEFAULT "(defecto)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Check FM Trims" -#else - #define TR_CHECKTRIMS "\006Check\012trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Check\012trims", "Check FM Trims") #define TR_SWASHTYPE "Tipo cíclico" #define TR_COLLECTIVE TR("Colectivo", "Fuente colectivo") #define TR_AILERON TR("Col. lateral", "Fuente col. lateral") #define TR_ELEVATOR TR("Col. long. ", "Fuente col. longitudinal") #define TR_SWASHRING "Ciclico" #define TR_MODE "Modo" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Izquierdo" -#else - #define TR_LEFT_STICK "Izq" -#endif +#define TR_LEFT_STICK "Izquierdo" #define TR_SUBTYPE "Subtipo" #define TR_NOFREEEXPO "No expo libre!" #define TR_NOFREEMIXER "No mezcla lib!" @@ -426,11 +527,7 @@ #define TR_SLOWDOWN "Bajar lento " #define TR_SLOWUP "Subir lento" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE "Alcance" #define TR_CENTER "Centro" #define TR_ALARM "Alarma" @@ -501,17 +598,12 @@ #define TR_CAL "Cal" #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Calibration completed" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "Centra sticks/pots/sliders" - #define TR_MOVESTICKSPOTS "Mueve sticks, pots and sliders" -#else - #define TR_MENUTOSTART TR_ENTER " EMPEZAR" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", TR("STICKS AL CENTRO", "STICKS AL CENTRO")) - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "MOVER STICKS/POTS") - #define TR_MENUWHENDONE TR_ENTER " AL ACABAR " -#define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUTOSTART TR_ENTER " EMPEZAR" +#define TR_MENUWHENDONE TR_ENTER " AL ACABAR " +#define TR_AXISDIR "AXIS DIR" +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", TR("STICKS AL CENTRO", "STICKS AL CENTRO")), "Centra sticks/pots/sliders") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "MOVER STICKS/POTS"), "Mueve sticks, pots and sliders") #define TR_NODATA "SIN DATOS" #define TR_US "us" #define TR_HZ "Hz" @@ -541,7 +633,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODELO" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM mem.baja" #define TR_PRESS_ANY_KEY_TO_SKIP "Pulsar tecla para omitir" #define TR_THROTTLE_NOT_IDLE "Aceler. Activado" @@ -560,11 +652,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "CALIBRATED ANALOGS" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "CUSTOMIZABLE SWITCHES" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Offsets" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Offsets" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Offsets", "Trims => Offsets") #define TR_CHANNELS2FAILSAFE "Canales=>Failsafe" #define TR_CHANNEL2FAILSAFE "Canal=>Failsafe" #define TR_MENUMODELSEL TR("MODELOS", "SELECCIÓN MODELO") @@ -679,7 +767,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Actualizar opciones RX?" #define TR_UPDATE_TX_OPTIONS "Actualizar opciones TX?" -#define TR_MODULES_RX_VERSION "Módulos / versión RX" +#define TR_MODULES_RX_VERSION BUTTON("Módulos / versión RX") #define TR_SHOW_MIXER_MONITORS "Show mixer monitors" #define TR_MENU_MODULES_RX_VERSION "MÓDULOS / VERSIÓN RX" #define TR_MENU_FIRM_OPTIONS "OPCIONES FIRMWARE" @@ -699,11 +787,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD Card llena" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogs and Screenshots disabled" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs and " LCDW_128_LINEBREAK "Screenshots disabled" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs and " LCDW_128_LINEBREAK "Screenshots disabled", TR_SDCARD_FULL "\nLogs and Screenshots disabled") #define TR_NEEDS_FILE "NECESITA ARCHIVO" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -762,7 +846,8 @@ #define TR_CRSF_ARMING_MODE TR("Modo Arm.", "Modo Armado") #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "Modo de muestra" -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Loading..." #define TR_DELETE_THEME "Delete Theme?" #define TR_SAVE_THEME "Save Theme?" @@ -770,15 +855,16 @@ #define TR_NO_THEME_IMAGE "No theme image" #define TR_BACKLIGHT_TIMER "Inactivity timeout" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Model quick select" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "Model quick select" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "Select a template folder" #define TR_SELECT_TEMPLATE "SELECT A MODEL TEMPLATE:" @@ -798,11 +884,10 @@ #define TR_BLUETOOTH_NODEVICES "No Devices Found" #define TR_BLUETOOTH_SCANNING "Scanning..." #define TR_BLUETOOTH_BAUDRATE "BT Velocidad" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Activo" -#else -#define TR_BLUETOOTH_MODES "---","Telemetría","Entrenador" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetría" +#define TR_BLUETOOTH_MODES_3 "Entrenador" +#define TR_BLUETOOTH_MODES_4 "Activo" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Velocidad:" #define TR_SD_SECTORS "Sectores:" @@ -812,7 +897,18 @@ #define TR_GLOBAL_VAR "Variable global" #define TR_OWN "Propio" #define TR_DATE "Fecha" -#define TR_MONTHS "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" +#define TR_MONTHS_1 "Ene" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Abr" +#define TR_MONTHS_5 "May" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Ago" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Oct" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dic" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode") #define TR_CHANNELS_MONITOR "MONITOR CANALES" @@ -917,14 +1013,14 @@ #define TR_PXX2_SELECT_RX "Selecciona RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Selecciona dispositivo" -#define TR_DISCOVER "Buscar" +#define TR_DISCOVER BUTTON("Buscar") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Espera..." #define TR_RECEIVER_DELETE "Borrar receptor?" #define TR_RECEIVER_RESET "Reset receptor?" #define TR_SHARE "Compartido" #define TR_BIND "Emparejar" -#define TR_REGISTER TR("Reg", "Registrar") +#define TR_REGISTER BUTTON(TR("Reg", "Registrar")) #define TR_MODULE_RANGE "[Lim.]" #define TR_RANGE_TEST "Range test" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "OPCIONES RECEPTOR") @@ -934,7 +1030,7 @@ #define TR_FS_BTN BUTTON(TR("Custom sw", "Customizable switches")) #define TR_TOUCH_NOTFOUND "Hardware táctil no encontrado" #define TR_TOUCH_EXIT "Tocar pantalla para salir" -#define TR_CALIBRATION "Calibración" +#define TR_CALIBRATION BUTTON("Calibración") #define TR_SET "[Ajuste]" #define TR_TRAINER "Entrenador" #define TR_CHANS "Chans" @@ -961,11 +1057,11 @@ #define TR_AFHDS3_ACTUAL_POWER TR("Act. pow", "Actual power") #define TR_AFHDS3_POWER_SOURCE TR("Power src.", "Power source") #define TR_ANTENNACONFIRM1 "ANTENA EXT." -#if defined(PCBX12S) -#define TR_ANTENNA_MODES "Interna","Preguntar","Por modelo","Interno + Externo" -#else -#define TR_ANTENNA_MODES "Interna","Preguntar","Por modelo","Externa" -#endif +#define TR_ANTENNA_MODES_1 "Interna" +#define TR_ANTENNA_MODES_2 "Preguntar" +#define TR_ANTENNA_MODES_3 "Por modelo" +#define TR_ANTENNA_MODES_4 "Interno + Externo" +#define TR_ANTENNA_MODES_5 "Externa" #define TR_USE_INTERNAL_ANTENNA TR("Usa antena int.", "Usa antena interna") #define TR_USE_EXTERNAL_ANTENNA TR("Use antena ext.", "Usa antena externa") #define TR_ANTENNACONFIRM2 TR("Revisa antena", "Revisa que la antena esté instalada!") @@ -983,7 +1079,7 @@ #define TR_CURVE_PRESET "Preset..." #define TR_PRESET "Preset" #define TR_MIRROR "Mirror" -#define TR_CLEAR "Borrar" +#define TR_CLEAR BUTTON("Borrar") #define TR_RESET "Reset" #define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Puntos" @@ -998,7 +1094,9 @@ #define TR_MIXSOURCE "Fuente (%)" #define TR_MIXSOURCERAW "Fuente (valor)" #define TR_CONSTANT "Constante" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Off","On","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Off" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "On" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Chequeos prevuelo" #define TR_CHECKLIST TR("Lista verif", "Lista verificación") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "Interactive checklist") @@ -1013,7 +1111,8 @@ #define TR_CONFIRMRESET "Borrar TODOS los " LCDW_128_LINEBREAK "modelos y conf?" #define TR_TOO_MANY_LUA_SCRIPTS "Demasiados Lua scripts!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS TR("No hay pant. telemetría", "No hay pantallas de telemetría") #define TR_TOUCH_PANEL "Pantalla táctil:" #define TR_FILE_SIZE "File size" @@ -1041,36 +1140,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Simétrica" #define TR_INVERTED "Inverted" - -#define TR_LSW_DESCRIPTIONS "Tipo de comparación o función", "Primera variable", "Segunda variable o constante", "Segunda variable o constante", "Condición adicional para activar línea", "Duración mínima de switch lógico", "Duración mínima TRUE para activar switch lógico" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Primer canal" - #define TR_FILL_BACKGROUND "Rellenar fondo" - #define TR_BG_COLOR "Color BG" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "Sliders" - #define TR_FLIGHT_MODE "Modo de vuelo" - #define TR_INVALID_FILE "Fichero no valido" - #define TR_TIMER_SOURCE "Entrada timer" - #define TR_SIZE "Tamaño" - #define TR_SHADOW "Sombra" - #define TR_ALIGNMENT "Alinear" - #define TR_ALIGN_LABEL "Alinear marbete" - #define TR_ALIGN_VALUE "Alinear valor" - #define TR_ALIGN_OPTS "Lzquierdo", "Centro", "Derecho" - #define TR_TEXT "Texto" - #define TR_COLOR "Color" - #define TR_PANEL1_BACKGROUND "Fondo panel1" - #define TR_PANEL2_BACKGROUND "Fondo panel2" - #define TR_WIDGET_GAUGE "Gauge" - #define TR_WIDGET_MODELBMP "Models" - #define TR_WIDGET_OUTPUTS "Outputs" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Value" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Primer canal" +#define TR_FILL_BACKGROUND "Rellenar fondo" +#define TR_BG_COLOR "Color BG" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "Sliders" +#define TR_FLIGHT_MODE "Modo de vuelo" +#define TR_INVALID_FILE "Fichero no valido" +#define TR_TIMER_SOURCE "Entrada timer" +#define TR_SIZE "Tamaño" +#define TR_SHADOW "Sombra" +#define TR_ALIGNMENT "Alinear" +#define TR_ALIGN_LABEL "Alinear marbete" +#define TR_ALIGN_VALUE "Alinear valor" +#define TR_ALIGN_OPTS_1 "Lzquierdo" +#define TR_ALIGN_OPTS_2 "Centro" +#define TR_ALIGN_OPTS_3 "Derecho" +#define TR_TEXT "Texto" +#define TR_COLOR "Color" +#define TR_PANEL1_BACKGROUND "Fondo panel1" +#define TR_PANEL2_BACKGROUND "Fondo panel2" +#define TR_WIDGET_GAUGE "Gauge" +#define TR_WIDGET_MODELBMP "Models" +#define TR_WIDGET_OUTPUTS "Outputs" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Value" // About screen #define TR_ABOUTUS "Nosotros" @@ -1103,7 +1199,7 @@ #define TR_CELLINDEX "Cell index" #define TR_LOGS "Logs" #define TR_OPTIONS "Opciones" -#define TR_FIRMWARE_OPTIONS "Opciones firmware" +#define TR_FIRMWARE_OPTIONS BUTTON("Opciones firmware") #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" @@ -1159,11 +1255,6 @@ #define TR_USE_THEME_COLOR "Use theme color" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Add all Trims to Subtrims" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Monitor" -#else - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Mon." -#endif #define TR_DUPLICATE "Duplicate" #define TR_ACTIVATE "Set Active" #define TR_RED "Red" @@ -1198,6 +1289,7 @@ #define TR_CANCEL "Cancel" #define TR_EDIT_THEME "EDIT THEME" #define TR_DETAILS "Details" +#define TR_THEME_EDITOR "THEMES" // Voice in native language #define TR_VOICE_ENGLISH "English" @@ -1223,29 +1315,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "Mode" -#define TR_VUSBJOYSTICK_EXTMODE "Classic","Advanced" -#define TR_USBJOYSTICK_SETTINGS "Channel Settings" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Classic" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Advanced" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Channel Settings") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Interface mode") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "None","Btn","Axis","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "None" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axis" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Button Mode" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulse","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulse" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positions" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Axis" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Sim axis" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversion" #define TR_USBJOYSTICK_CH_BTNNUM "Button no." #define TR_USBJOYSTICK_BTN_COLLISION "!Button no. collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axis collision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "None","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Apply changes" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "None" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Apply changes") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1261,7 +1395,10 @@ #define TR_SELECT_MENU_CLR "Clear" #define TR_SELECT_MENU_INV "Invert" -#define TR_SORT_ORDERS "Name A-Z","Name Z-A","Least used","Most used" +#define TR_SORT_ORDERS_1 "Name A-Z" +#define TR_SORT_ORDERS_2 "Name Z-A" +#define TR_SORT_ORDERS_3 "Least used" +#define TR_SORT_ORDERS_4 "Most used" #define TR_SORT_MODELS_BY "Sort models by" #define TR_CREATE_NEW "Create" diff --git a/radio/src/translations/fi.h b/radio/src/translations/i18n/fi.h similarity index 72% rename from radio/src/translations/fi.h rename to radio/src/translations/i18n/fi.h index 47e8c66d667..f8e181d7257 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/i18n/fi.h @@ -31,15 +31,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -47,7 +38,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -76,7 +67,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -86,8 +77,8 @@ #define TR_MAIN_MENU_MODEL_NOTES "Model Notes" #define TR_MAIN_MENU_CHANNEL_MONITOR "Channel Monitor" #define TR_MONITOR_SWITCHES "LOGICAL SWITCHES MONITOR" -#define TR_MAIN_MENU_MODEL_SETTINGS "Model Settings" -#define TR_MAIN_MENU_RADIO_SETTINGS "Radio Settings" +#define TR_MAIN_MENU_MODEL_SETTINGS "Model Setup" +#define TR_MAIN_MENU_RADIO_SETTINGS "Radio Setup" #define TR_MAIN_MENU_SCREEN_SETTINGS "UI Setup" #define TR_MAIN_MENU_STATISTICS "Tilastot" #define TR_MAIN_MENU_ABOUT_EDGETX "About EdgeTX" @@ -95,18 +86,10 @@ #define TR_MAIN_MENU_THEMES "TEEMAT" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "HELI SETUP" -#define TR_MENUFLIGHTMODES TRSA("DRIVE MODES", "FLIGHT MODES") -#define TR_MENUFLIGHTMODE TRSA("DRIVE MODE", "FLIGHT MODE") -#if defined(PCBTARANIS) - #define TR_MENUINPUTS "INPUTS" - #define TR_MENULIMITS "SERVOS" -#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) - #define TR_MENUINPUTS "STICKS" - #define TR_MENULIMITS "SERVOS" -#else - #define TR_MENUINPUTS "DR/EXPO" - #define TR_MENULIMITS "LIMITS" -#endif +#define TR_MENUFLIGHTMODES TR_SFC_AIR("DRIVE MODES", "FLIGHT MODES") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("DRIVE MODE", "FLIGHT MODE") +#define TR_MENUINPUTS "INPUTS" +#define TR_MENULIMITS "OUTPUTS" #define TR_MENUCURVES "CURVES" #define TR_MIXES "MIXER" #define TR_MENU_GLOBAL_VARS "Globaalit Muuttujat" @@ -128,54 +111,105 @@ #define TR_MINUTE_PLURAL2 "minutes" // NON ZERO TERMINATED STRINGS -#define TR_OFFON "POI","PÄÄ" -#define TR_MMMINV "---","KÄÄ" -#define TR_VBEEPMODE "Äänet","Hälyt","EiNap","Kaikk" -#define TR_VBLMODE "OFF","Keys",TR("Ctrl","Controls"),"Both","ON" -#define TR_TRNMODE "OFF",TR("+=","Lisää"),TR(":=","Korvaa") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "POIS","S-Port Pelik","Telemetry In","SBUS Trainer","LUA","CLI","GPS","Debug","SpaceMouse","External module" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "None","Toggle","2POS","3POS","Global" -#else -#define TR_SWTYPES "None","Toggle","2POS","3POS" -#endif -#define TR_POTTYPES "None",TR("Pot","Potikka"),TR("Pot w. det","Pot with detent"),"Slider",TR("Multipos","Monias. Kytkin"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "OFF","Flight","Manual Reset" -#define TR_COUNTRY_CODES TR("US","Amerikk"),TR("JP","Japani"),TR("EU","Euroopp") -#define TR_USBMODES "Kysy",TR("Joyst","Joystick"),TR("SDCard","Storage"),"Serial" -#define TR_JACK_MODES "Ask","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normal","not inverted" +#define TR_OFFON_1 "POI" +#define TR_OFFON_2 "PÄÄ" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "KÄÄ" +#define TR_VBEEPMODE_1 "Äänet" +#define TR_VBEEPMODE_2 "Hälyt" +#define TR_VBEEPMODE_3 "EiNap" +#define TR_VBEEPMODE_4 "Kaikk" +#define TR_VBLMODE_1 "OFF" +#define TR_VBLMODE_2 "Keys" +#define TR_VBLMODE_3 TR("Ctrl","Controls") +#define TR_VBLMODE_4 "Both" +#define TR_VBLMODE_5 "ON" +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","Lisää") +#define TR_TRNMODE_3 TR(":=","Korvaa") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "POIS" +#define TR_AUX_SERIAL_MODES_2 "S-Port Pelik" +#define TR_AUX_SERIAL_MODES_3 "Telemetry In" +#define TR_AUX_SERIAL_MODES_4 "SBUS Trainer" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "External module" +#define TR_SWTYPES_1 "None" +#define TR_SWTYPES_2 "Toggle" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "None" +#define TR_POTTYPES_2 TR("Pot","Potikka") +#define TR_POTTYPES_3 TR("Pot w. det","Pot with detent") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Multipos","Monias. Kytkin") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "OFF" +#define TR_VPERSISTENT_2 "Flight" +#define TR_VPERSISTENT_3 "Manual Reset" +#define TR_COUNTRY_CODES_1 TR("US","Amerikk") +#define TR_COUNTRY_CODES_2 TR("JP","Japani") +#define TR_COUNTRY_CODES_3 TR("EU","Euroopp") +#define TR_USBMODES_1 "Kysy" +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Storage") +#define TR_USBMODES_4 "Serial" +#define TR_JACK_MODES_1 "Ask" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "not inverted" #define TR_MULTI_CUSTOM "Custom" -#define TR_VTRIMINC TR("Expo","Exponential"),TR("EriHie","Eri Hieno"),"Hieno","Keski","Karkea" -#define TR_VDISPLAYTRIMS "No","Change","Yes" -#define TR_VBEEPCOUNTDOWN "Silent","Beeps","Voice","Haptic",TR("B & H","Beeps & Haptic"),TR("V & H","Voice & Haptic") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tone","Silent" -#define TR_CURVE_TYPES "Standard","Custom" - -#define TR_ADCFILTERVALUES "Global","Off","On" - -#define TR_VCURVETYPE "Diff","Expo","Func","Cstm" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Lisää","Kerro","Korvaa" -#define TR_VMLTPX2 "+=","*=",":=" - -#if defined(PCBTARANIS) - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Glue" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" - -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a\n"\ " Up = PREV/INC\n"\ " Down = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Inverted" -#else - #define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inverted" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" @@ -297,54 +376,68 @@ #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ABS","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ABS" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Master/Jack" #define TR_VTRAINER_SLAVE_JACK "Slave/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Master/SBUS Module" #define TR_VTRAINER_MASTER_CPPM_MODULE "Master/CPPM Module" #define TR_VTRAINER_MASTER_BATTERY "Master/Serial" -#define TR_VTRAINER_BLUETOOTH TR("Master/BT","Master/Bluetooth"),TR("Slave/BT","Slave/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 TR("Master/BT","Master/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 TR("Slave/BT","Slave/Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "Not set","Hold","Custom","No pulses","Receiver" -#define TR_VSENSORTYPES "Custom","Calculated" -#define TR_VFORMULAS "Add","Average","Min","Max","Multiply","Totalize","Cell","Kulutus","Etäisyys" -#define TR_VPREC "0.--","0.0","0.00" -#define TR_VCELLINDEX "Alin","1","2","3","4","5","6","7","8","Korkein","Ero" -#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK "\010" "\010" "\010" TR("[OK]", "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) - -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Not set" +#define TR_VFAILSAFE_2 "Hold" +#define TR_VFAILSAFE_3 "Custom" +#define TR_VFAILSAFE_4 "No pulses" +#define TR_VFAILSAFE_5 "Receiver" +#define TR_VSENSORTYPES_1 "Custom" +#define TR_VSENSORTYPES_2 "Calculated" +#define TR_VFORMULAS_1 "Add" +#define TR_VFORMULAS_2 "Average" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Multiply" +#define TR_VFORMULAS_6 "Totalize" +#define TR_VFORMULAS_7 "Cell" +#define TR_VFORMULAS_8 "Kulutus" +#define TR_VFORMULAS_9 "Etäisyys" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0" +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Alin" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Korkein" +#define TR_VCELLINDEX_11 "Ero" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA" (center only)" +#define TR_SUBTRIMMODES_2 "= (symetrical)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "free" #define TR_YES "Yes" @@ -358,12 +451,8 @@ #define TR_MODELNAME "Model Name" #define TR_PHASENAME "Mode 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_INPUTNAME TR("Input", "Input name") +#define TR_EXPONAME TR("Name", "Line name") #define TR_BITMAP "Model Image" #define TR_NO_PICTURE "No Picture" #define TR_TIMER "Timer" @@ -382,11 +471,19 @@ #define TR_PROTOCOL TR("Proto", "Protocol") #define TR_PPMFRAME "PPM frame" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") -#define STR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") #define TR_WARN_5VOLTS "Warning: output level is 5 volts" #define TR_MS "ms" #define TR_SWITCH "Switch" -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -396,28 +493,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trims" #define TR_FADEIN "Fade In" #define TR_FADEOUT "Fade Out" #define TR_DEFAULT "(default)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Check FM Trims" -#else - #define TR_CHECKTRIMS "\006Check\012Trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Check\012Trims", "Check FM Trims") #define TR_SWASHTYPE "Swash Type" #define TR_COLLECTIVE TR("Collective", "Coll. pitch source") #define TR_AILERON TR("Lateral cyc.", "Lateral cyc. source") #define TR_ELEVATOR TR("Long. cyc.", "Long. cyc. source") #define TR_SWASHRING "Swash Ring" #define TR_MODE "Mode" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Vasemmalle" -#else - #define TR_LEFT_STICK "Va" -#endif +#define TR_LEFT_STICK "Vasemmalle" #define TR_SUBTYPE "Subtype" #define TR_NOFREEEXPO "No free expo!" #define TR_NOFREEMIXER "No free mixer!" @@ -440,11 +528,7 @@ #define TR_SLOWDOWN "Slow Dn" #define TR_SLOWUP "Slow Up" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE "Range" #define TR_CENTER "Center" #define TR_ALARM "Alarm" @@ -513,20 +597,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplier" #define TR_CAL "Cal" -#define TR_CALIBRATION "Calibration" +#define TR_CALIBRATION BUTTON("Calibration") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Calibration completed" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTER AXIS/SLIDERS" - #define TR_MOVESTICKSPOTS "MOVE AXIS/POTS" -#else - #define TR_MENUTOSTART TR_ENTER " TO START" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", TR("SET STICKS MIDPOINT", "CENTER STICKS/SLIDERS")) - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "MOVE STICKS/POTS") - #define TR_MENUWHENDONE TR_ENTER " WHEN DONE" +#define TR_MENUTOSTART TR_ENTER " TO START" +#define TR_MENUWHENDONE TR_ENTER " WHEN DONE" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", TR("SET STICKS MIDPOINT", "CENTER STICKS/SLIDERS")), "CENTER AXIS/SLIDERS") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "MOVE STICKS/POTS"), "MOVE AXIS/POTS") #define TR_NODATA "NO DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -556,7 +635,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODEL" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM low mem" #define TR_PRESS_ANY_KEY_TO_SKIP "Press any key to skip" #define TR_THROTTLE_NOT_IDLE "Throttle not idle" @@ -575,11 +654,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "CALIBRATED ANALOGS" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "CUSTOMIZABLE SWITCHES" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "Channels=>Failsafe" #define TR_CHANNEL2FAILSAFE "Channel=>Failsafe" #define TR_MENUMODELSEL TR("MODELSEL","MODEL SELECTION") @@ -692,7 +767,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Update RX options?" #define TR_UPDATE_TX_OPTIONS "Update TX options?" -#define TR_MODULES_RX_VERSION "Modules / RX version" +#define TR_MODULES_RX_VERSION BUTTON("Modules / RX version") #define TR_SHOW_MIXER_MONITORS "Show mixer monitors" #define TR_MENU_MODULES_RX_VERSION "MODULES / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONS" @@ -712,11 +787,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD Card Full" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogs and Screenshots disabled" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs and " LCDW_128_LINEBREAK "Screenshots disabled" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs and " LCDW_128_LINEBREAK "Screenshots disabled", TR_SDCARD_FULL "\nLogs and Screenshots disabled") #define TR_NEEDS_FILE "NEEDS FILE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -775,7 +846,8 @@ #define TR_CRSF_ARMING_MODE "Arm using" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE TR("Sampling","Sample Mode") -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Loading..." #define TR_DELETE_THEME "Delete Theme?" #define TR_SAVE_THEME "Save Theme?" @@ -783,15 +855,16 @@ #define TR_NO_THEME_IMAGE "No theme image" #define TR_BACKLIGHT_TIMER "Inactivity timeout" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Mallin pikavalinta" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "Mallin pikavalinta" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "SELECT A TEMPLATE FOLDER:" #define TR_SELECT_TEMPLATE "SELECT A MODEL TEMPLATE:" @@ -811,11 +884,10 @@ #define TR_BLUETOOTH_NODEVICES "No Devices Found" #define TR_BLUETOOTH_SCANNING "Scanning..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Enabled" -#else -#define TR_BLUETOOTH_MODES "---","Telemetry","Trainer" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetry" +#define TR_BLUETOOTH_MODES_3 "Trainer" +#define TR_BLUETOOTH_MODES_4 "Enabled" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Nopeus:" #define TR_SD_SECTORS "Sectors:" @@ -825,7 +897,18 @@ #define TR_GLOBAL_VAR "Globaali muuttuja" #define TR_OWN "Oma" #define TR_DATE "Päivämäärä" -#define TR_MONTHS "tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou" +#define TR_MONTHS_1 "tam" +#define TR_MONTHS_2 "hel" +#define TR_MONTHS_3 "maa" +#define TR_MONTHS_4 "huh" +#define TR_MONTHS_5 "tou" +#define TR_MONTHS_6 "kes" +#define TR_MONTHS_7 "hei" +#define TR_MONTHS_8 "elo" +#define TR_MONTHS_9 "syy" +#define TR_MONTHS_10 "lok" +#define TR_MONTHS_11 "mar" +#define TR_MONTHS_12 "jou" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode") #define TR_CHANNELS_MONITOR "CHANNELS MONITOR" @@ -930,14 +1013,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device" -#define TR_DISCOVER "Discover" +#define TR_DISCOVER BUTTON("Discover") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Waiting..." #define TR_RECEIVER_DELETE "Delete receiver?" #define TR_RECEIVER_RESET "Reset receiver?" #define TR_SHARE "Share" #define TR_BIND "Bind" -#define TR_REGISTER TR("Reg", "Register") +#define TR_REGISTER BUTTON(TR("Reg", "Register")) #define TR_MODULE_RANGE "[Range]" #define TR_RANGE_TEST "Range test" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS") @@ -974,11 +1057,11 @@ #define TR_AFHDS3_ACTUAL_POWER TR("Act. pow", "Actual power") #define TR_AFHDS3_POWER_SOURCE TR("Power src.", "Power source") #define TR_ANTENNACONFIRM1 "EXT. ANTENNA" -#if defined(PCBX12S) -#define TR_ANTENNA_MODES "Internal","Ask","Per model","Internal + External" -#else -#define TR_ANTENNA_MODES "Internal","Ask","Per model","External" -#endif +#define TR_ANTENNA_MODES_1 "Internal" +#define TR_ANTENNA_MODES_2 "Ask" +#define TR_ANTENNA_MODES_3 "Per model" +#define TR_ANTENNA_MODES_4 "Internal + External" +#define TR_ANTENNA_MODES_5 "External" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna") #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") @@ -995,7 +1078,7 @@ #define TR_CURVE_PRESET "Preset..." #define TR_PRESET "Preset" #define TR_MIRROR "Mirror" -#define TR_CLEAR "Clear" +#define TR_CLEAR BUTTON("Clear") #define TR_RESET "Reset" #define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Count" @@ -1010,7 +1093,9 @@ #define TR_MIXSOURCE "Source (%)" #define TR_MIXSOURCERAW "Source (value)" #define TR_CONSTANT "Constant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Off","On","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Off" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "On" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST "Display Checklist" #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "Interactive checklist") @@ -1025,7 +1110,8 @@ #define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "No Telemetry Screens" #define TR_TOUCH_PANEL "Kosketusnäyttö:" #define TR_FILE_SIZE "File size" @@ -1053,36 +1139,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Subtrim mode" #define TR_INVERTED "Inverted" - -#define TR_LSW_DESCRIPTIONS "Comparison type or function", "First variable", "Second variable or constant", "Second variable or constant", "Additional condition for line to be enabled", "Minimum ON duration of the logical switch", "Minimum TRUE duration for the switch to become ON" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "First channel" - #define TR_FILL_BACKGROUND "Fill background?" - #define TR_BG_COLOR "BG Color" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "Sliders" - #define TR_FLIGHT_MODE "Flight mode" - #define TR_INVALID_FILE "Invalid File" - #define TR_TIMER_SOURCE "Timer source" - #define TR_SIZE "Size" - #define TR_SHADOW "Shadow" - #define TR_ALIGNMENT "Kohdistus" - #define TR_ALIGN_LABEL "Kohdista merkki" - #define TR_ALIGN_VALUE "Kohdista arvo" - #define TR_ALIGN_OPTS "Vasen", "Keski", "Oikea" - #define TR_TEXT "Text" - #define TR_COLOR "Color" - #define TR_PANEL1_BACKGROUND "Panel1 background" - #define TR_PANEL2_BACKGROUND "Panel2 background" - #define TR_WIDGET_GAUGE "Gauge" - #define TR_WIDGET_MODELBMP "Models" - #define TR_WIDGET_OUTPUTS "Outputs" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Value" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "First channel" +#define TR_FILL_BACKGROUND "Fill background?" +#define TR_BG_COLOR "BG Color" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "Sliders" +#define TR_FLIGHT_MODE "Flight mode" +#define TR_INVALID_FILE "Invalid File" +#define TR_TIMER_SOURCE "Timer source" +#define TR_SIZE "Size" +#define TR_SHADOW "Shadow" +#define TR_ALIGNMENT "Kohdistus" +#define TR_ALIGN_LABEL "Kohdista merkki" +#define TR_ALIGN_VALUE "Kohdista arvo" +#define TR_ALIGN_OPTS_1 "Vasen" +#define TR_ALIGN_OPTS_2 "Keski" +#define TR_ALIGN_OPTS_3 "Oikea" +#define TR_TEXT "Text" +#define TR_COLOR "Color" +#define TR_PANEL1_BACKGROUND "Panel1 background" +#define TR_PANEL2_BACKGROUND "Panel2 background" +#define TR_WIDGET_GAUGE "Gauge" +#define TR_WIDGET_MODELBMP "Models" +#define TR_WIDGET_OUTPUTS "Outputs" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Value" // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") @@ -1115,7 +1198,7 @@ #define TR_CELLINDEX "Cell index" #define TR_LOGS "Logs" #define TR_OPTIONS "Options" -#define TR_FIRMWARE_OPTIONS "Firmware options" +#define TR_FIRMWARE_OPTIONS BUTTON("Firmware options") #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" @@ -1173,11 +1256,6 @@ #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Add all Trims to Subtrims" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Monitor" -#else - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Mon." -#endif #define TR_DUPLICATE "Duplicate" #define TR_ACTIVATE "Set Active" @@ -1213,6 +1291,7 @@ #define TR_CANCEL "Peruuttaa" #define TR_EDIT_THEME "MUOKKAA TEEMAA" #define TR_DETAILS "Yksityiskohdat" +#define TR_THEME_EDITOR "TEEMAT" // Voice in native language #define TR_VOICE_ENGLISH "English" @@ -1239,29 +1318,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "Mode" -#define TR_VUSBJOYSTICK_EXTMODE "Classic","Advanced" -#define TR_USBJOYSTICK_SETTINGS "Channel Settings" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Classic" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Advanced" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Channel Settings") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Interface mode") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "None","Btn","Axis","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "None" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axis" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Button Mode" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulse","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulse" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positions" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Axis" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Sim axis" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversion" #define TR_USBJOYSTICK_CH_BTNNUM "Button no." #define TR_USBJOYSTICK_BTN_COLLISION "!Button no. collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axis collision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "None","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Apply changes" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "None" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Apply changes") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1277,7 +1398,10 @@ #define TR_SELECT_MENU_CLR "Clear" #define TR_SELECT_MENU_INV "Invert" -#define TR_SORT_ORDERS "Name A-Z","Name Z-A","Least used","Most used" +#define TR_SORT_ORDERS_1 "Name A-Z" +#define TR_SORT_ORDERS_2 "Name Z-A" +#define TR_SORT_ORDERS_3 "Least used" +#define TR_SORT_ORDERS_4 "Most used" #define TR_SORT_MODELS_BY "Sort models by" #define TR_CREATE_NEW "Create" diff --git a/radio/src/translations/fr.h b/radio/src/translations/i18n/fr.h similarity index 73% rename from radio/src/translations/fr.h rename to radio/src/translations/i18n/fr.h index c85935ffcc0..b987d407c1f 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/i18n/fr.h @@ -30,15 +30,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -46,7 +37,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -75,7 +66,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -94,8 +85,8 @@ #define TR_MAIN_MENU_THEMES "THÈMES" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP TR("CONF.HÉLI", "CONFIGURATION HÉLICO") -#define TR_MENUFLIGHTMODES TRSA("DRIVE MODES", "PHASES DE VOL") -#define TR_MENUFLIGHTMODE TRSA("DRIVE MODE", "PHASE DE VOL") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("DRIVE MODES", "PHASES DE VOL") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("DRIVE MODE", "PHASE DE VOL") #define TR_MENUINPUTS "ENTRÉES" #define TR_MENULIMITS "SORTIES" #define TR_MENUCURVES "COURBES" @@ -121,54 +112,107 @@ #define TR_MINUTE_PLURAL2 "minutes" // NON ZERO TERMINATED STRINGS -#define TR_OFFON "OFF","ON" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Aucun","Alarme","NoKey","Tout" -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VBLMODE "OFF",TR("Btns","Touches"),TR("Ctrl","Contrôles"),"Tous","ON" -#define TR_TRNMODE "OFF",TR("+=","Ajoute"),TR(":=","Remplace") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" -#define TR_AUX_SERIAL_MODES "OFF","Recopie Télém.","Télémétrie In","Écolage SBUS","LUA","CLI","GPS","Débug","SpaceMouse","Module externe" - -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Rien","Monostable","2-POS","3-POS","Global" -#else -#define TR_SWTYPES "Rien","Monostable","2-POS","3-POS" -#endif -#define TR_POTTYPES "Rien",TR("Pots","Potentiomètre"),TR("Pots av. ctr","Pots avec centre"),"Curseurs",TR("Multipos.","Inter multi-pos""Potentiomètre"),"Axis X","Axis Y","Switch" - -#define TR_VPERSISTENT "OFF","Vol","Reset Manuel" -#define TR_COUNTRY_CODES TR("US","USA"),TR("JP","Japon"),TR("Europe","EU") -#define TR_USBMODES TR("Popup","Demander"),TR("Joyst","Joystick"),TR("SDCard","Stockage"),"Série" -#define TR_JACK_MODES "Demander","Audio","Écolage" - -#define TR_SBUS_INVERSION_VALUES "normal","non inversé" +#define TR_OFFON_1 "OFF" +#define TR_OFFON_2 "ON" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Aucun" +#define TR_VBEEPMODE_2 "Alarme" +#define TR_VBEEPMODE_3 "NoKey" +#define TR_VBEEPMODE_4 "Tout" +#define TR_COUNTDOWNVALUES_1 "5s" +#define TR_COUNTDOWNVALUES_2 "10s" +#define TR_COUNTDOWNVALUES_3 "20s" +#define TR_COUNTDOWNVALUES_4 "30s" +#define TR_VBLMODE_1 "OFF" +#define TR_VBLMODE_2 TR("Btns","Touches") +#define TR_VBLMODE_3 TR("Ctrl","Contrôles") +#define TR_VBLMODE_4 "Tous" +#define TR_VBLMODE_5 "ON" +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","Ajoute") +#define TR_TRNMODE_3 TR(":=","Remplace") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" +#define TR_AUX_SERIAL_MODES_1 "OFF" +#define TR_AUX_SERIAL_MODES_2 "Recopie Télém." +#define TR_AUX_SERIAL_MODES_3 "Télémétrie In" +#define TR_AUX_SERIAL_MODES_4 "Écolage SBUS" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Débug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Module externe" + +#define TR_SWTYPES_1 "Rien" +#define TR_SWTYPES_2 "Monostable" +#define TR_SWTYPES_3 "2-POS" +#define TR_SWTYPES_4 "3-POS" +#define TR_SWTYPES_5 "Global" + +#define TR_POTTYPES_1 "Rien" +#define TR_POTTYPES_2 TR("Pots","Potentiomètre") +#define TR_POTTYPES_3 TR("Pots av. ctr","Pots avec centre") +#define TR_POTTYPES_4 "Curseurs" +#define TR_POTTYPES_5 TR("Multipos.","Inter multi-pos""Potentiomètre") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" + +#define TR_VPERSISTENT_1 "OFF" +#define TR_VPERSISTENT_2 "Vol" +#define TR_VPERSISTENT_3 "Reset Manuel" +#define TR_COUNTRY_CODES_1 TR("US","USA") +#define TR_COUNTRY_CODES_2 TR("JP","Japon") +#define TR_COUNTRY_CODES_3 TR("Europe","EU") +#define TR_USBMODES_1 TR("Popup","Demander") +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Stockage") +#define TR_USBMODES_4 "Série" +#define TR_JACK_MODES_1 "Demander" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Écolage" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "non inversé" #define TR_MULTI_CUSTOM "Perso" -#define TR_VTRIMINC TR("Expo","Exponentiel"),TR("ExFin","Extra Fin"),"Fin","Moyen",TR("Gros","Grossier") -#define TR_VDISPLAYTRIMS "Non","Change","Oui" -#define TR_VBEEPCOUNTDOWN "Aucun","Bips","Voix","Vibreur",TR("B & H","Bips & Vibreur"),TR("V & H","Voix & Vibreur") -#define TR_VVARIOCENTER "Son","Silencieux" -#define TR_CURVE_TYPES "Standard","Libre" - -#define TR_ADCFILTERVALUES "Global","Off","On" - -#define TR_VCURVETYPE "Diff","Expo","Fonct","Perso." -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX TR("Ajoute","Additionner"),TR("Multipl.","Multiplier"),TR("Remplace","Remplacer") -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Chrono" - #define TR_CSWSTICKY "Bistb" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Chrono" - #define TR_CSWSTICKY "Bist" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 -#else -#endif +#define TR_FSW_RESET_TIMERS_1 "Chr1" +#define TR_FSW_RESET_TIMERS_2 "Chr2" +#define TR_FSW_RESET_TIMERS_3 "Chr3" + + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 "Tout" +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "km/h" -#define TR_VUNITSSYSTEM TR("Métr.","Métriques"),TR("Impér.","Impériales") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","km/h","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "Rien","Valeurs","Barres","Script" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "--- ","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 TR("Métr.","Métriques") +#define TR_VUNITSSYSTEM_2 TR("Impér.","Impériales") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "km/h" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "Rien" +#define TR_VTELEMSCREENTYPE_2 "Valeurs" +#define TR_VTELEMSCREENTYPE_3 "Barres" +#define TR_VTELEMSCREENTYPE_4 "Script" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "--- " +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Dir" #define TR_STICK_NAMES1 "Prf" @@ -239,18 +335,20 @@ #define TR_SURFACE_NAMES0 "Dir" #define TR_SURFACE_NAMES1 "Gaz" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Défaut","Haut" -#endif +#define TR_RFPOWER_AFHDS2_1 "Défaut" +#define TR_RFPOWER_AFHDS2_2 "Haut" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","Un" +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "Un" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "Mode joystick" -#define TR_HATSOPT "Trims uniquement","Touches uniquement","Commutable","Global" +#define TR_HATSOPT_1 "Trims uniquement" +#define TR_HATSOPT_2 "Touches uniquement" +#define TR_HATSOPT_3 "Commutable" +#define TR_HATSOPT_4 "Global" #define TR_HATSMODE_TRIMS "Mode joystick: trims" #define TR_HATSMODE_KEYS "Mode joystick: touches" #define TR_HATSMODE_KEYS_HELP "Left side:\n"\ @@ -263,81 +361,86 @@ " Right = PAGE>\n"\ " Up = PREV/INC\n"\ " Down = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Inversé" -#else - #define TR_ROTARY_ENC_OPT "Normal","Inversé","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inversé" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "H_M" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Chrono" -#define TR_VTMRMODES "OFF","ON","GZs","GZ%","GZt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ON" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "GZs" +#define TR_VTMRMODES_5 "GZ%" +#define TR_VTMRMODES_6 "GZt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Maître/Jack" #define TR_VTRAINER_SLAVE_JACK "Élève/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Maître/SBUS Module" #define TR_VTRAINER_MASTER_CPPM_MODULE "Maître/CPPM Module" #define TR_VTRAINER_MASTER_BATTERY "Maître/Série" -#define TR_VTRAINER_BLUETOOTH TR("Maître/BT","Maître/Bluetooth"),TR("Élève/BT","Élève/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 TR("Maître/BT","Maître/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 TR("Élève/BT","Élève/Bluetooth") #define TR_VTRAINER_MULTI "Maître/Multi" #define TR_VTRAINER_CRSF "Maître/CRSF" -#define TR_VFAILSAFE "Pas déf.","Maintien",TR("Prédéf.","Prédéfini"),"Pas d'imp","Récepteur" -#define TR_VSENSORTYPES "Perso","Calculé" -#define TR_VFORMULAS "Addition","Moyenne","Min","Max","Multipl.","Totalise","Élém.","Consomm.","Distance" -#define TR_VPREC "0.--","0.0","0.00" -#define TR_VCELLINDEX "Mini.","1","2","3","4","5","6","7","8","Maxi.","Diff." -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (centre seulement)","= (symétrique)" -#define TR_TIMER_DIR TR("Reste", "Voir restant"), TR("Écoulé", "Voir écoulé") -#define TR_PPMUNIT "0.--","0.0","us" - -// ZERO TERMINATED STRINGS - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","GRAS","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[SUIVANT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "QUITTER" - #define TR_OK "\010" "\010" "\010" TR("[OK]", "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Pas déf." +#define TR_VFAILSAFE_2 "Maintien" +#define TR_VFAILSAFE_3 TR("Prédéf.","Prédéfini") +#define TR_VFAILSAFE_4 "Pas d'imp" +#define TR_VFAILSAFE_5 "Récepteur" +#define TR_VSENSORTYPES_1 "Perso" +#define TR_VSENSORTYPES_2 "Calculé" +#define TR_VFORMULAS_1 "Addition" +#define TR_VFORMULAS_2 "Moyenne" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Multipl." +#define TR_VFORMULAS_6 "Totalise" +#define TR_VFORMULAS_7 "Élém." +#define TR_VFORMULAS_8 "Consomm." +#define TR_VFORMULAS_9 "Distance" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0" +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Mini." +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Maxi." +#define TR_VCELLINDEX_11 "Diff." +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (centre seulement)" +#define TR_SUBTRIMMODES_2 "= (symétrique)" +#define TR_TIMER_DIR_1 TR("Reste", "Voir restant") +#define TR_TIMER_DIR_2 TR("Écoulé", "Voir écoulé") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "GRAS" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "QUITTER") #define TR_FREE "disp." #define TR_YES "Oui" @@ -371,11 +474,19 @@ #define TR_PROTOCOL TR("Proto.", "Protocole") #define TR_PPMFRAME "Trame PPM" #define TR_REFRESHRATE "Période" -#define STR_WARN_BATTVOLTAGE TR("Signal is VBAT: ", "ATTENTION: niveau sortie est VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Signal is VBAT: ", "ATTENTION: niveau sortie est VBAT: ") #define TR_WARN_5VOLTS "Attention: niveau de sortie 5 volts" #define TR_MS "ms" #define TR_SWITCH TR("Inter", "Interrupteur") -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -385,28 +496,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Interrupteur" #define TR_TRIMS "Trims" #define TR_FADEIN "Fondu ON" #define TR_FADEOUT "Fondu OFF" #define TR_DEFAULT "(défaut)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Vérif. Trims" -#else - #define TR_CHECKTRIMS "\006Vérif\012Trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Vérif\012Trims", "Vérif. Trims") #define TR_SWASHTYPE "Type de plateau" #define TR_COLLECTIVE TR("Collectif", "Source collectif") #define TR_AILERON "Source cyc. lat." #define TR_ELEVATOR "Source cyc. lon." #define TR_SWASHRING TR("Limite Cycl.", "Limite du cyclique") #define TR_MODE "Mode" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Gauche" -#else - #define TR_LEFT_STICK "Gauche" -#endif +#define TR_LEFT_STICK "Gauche" #define TR_SUBTYPE "Sous-type" #define TR_NOFREEEXPO "Max expos atteint!" #define TR_NOFREEMIXER "Max mixages atteint!" @@ -429,11 +531,7 @@ #define TR_SLOWDOWN "Ralenti bas" #define TR_SLOWUP "Ralenti haut" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "VG" -#else #define TR_GV TR("G", "VG") -#endif #define TR_RANGE "Plage" #define TR_CENTER "Centre" #define TR_ALARM "Alarme" @@ -503,20 +601,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplier" #define TR_CAL "Cal" -#define TR_CALIBRATION "Calibration" +#define TR_CALIBRATION BUTTON("Calibration") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Calibration terminée" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "RÉGLER NEUTRES" - #define TR_MOVESTICKSPOTS "BOUGER STICKS/POTS" -#else - #define TR_MENUTOSTART TR_ENTER " POUR DÉBUT" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", "REGLER NEUTRES") - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "BOUGER STICKS/POTS") - #define TR_MENUWHENDONE TR_ENTER " QUAND PRÊT" +#define TR_MENUTOSTART TR_ENTER " POUR DÉBUT" +#define TR_MENUWHENDONE TR_ENTER " QUAND PRÊT" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", "REGLER NEUTRES"), "RÉGLER NEUTRES") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "BOUGER STICKS/POTS"), "BOUGER STICKS/POTS") #define TR_NODATA "NO DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -548,7 +641,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODÈLE" -#define TR_FM TRSA("DM", "PV") +#define TR_FM TR_SFC_AIR("DM", "PV") #define TR_EEPROMLOWMEM "EEPROM pleine!" #define TR_PRESS_ANY_KEY_TO_SKIP "Touche pour ignorer" #define TR_THROTTLE_NOT_IDLE "Gaz pas à zéro" @@ -567,11 +660,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "ANALOG. CALIBRÉS" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "INTERS PARAMETRABLES" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "Channels=>Failsafe" #define TR_CHANNEL2FAILSAFE "Channel=>Failsafe" #define TR_MENUMODELSEL "MODÈLES" @@ -682,7 +771,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Sauver options RX?" #define TR_UPDATE_TX_OPTIONS "Sauver options TX?" -#define TR_MODULES_RX_VERSION "Versions modules / RX" +#define TR_MODULES_RX_VERSION BUTTON("Versions modules / RX") #define TR_SHOW_MIXER_MONITORS "Voir monit. mixeurs" #define TR_MENU_MODULES_RX_VERSION "VERSIONS MODULES / RX " #define TR_MENU_FIRM_OPTIONS "OPTIONS FIRMWARE" @@ -702,11 +791,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD carte pleine" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nJournaux et Impr. écran désactivé" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Journaux et" LCDW_128_LINEBREAK "Impr. écran désactivé" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Journaux et" LCDW_128_LINEBREAK "Impr. écran désactivé", TR_SDCARD_FULL "\nJournaux et Impr. écran désactivé") #define TR_NEEDS_FILE "FICHIER EXIGE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -765,7 +850,8 @@ #define TR_CRSF_ARMING_MODE TR("Mod. Arm.", "Mode d'armement") #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "Mode" -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Chargement..." #define TR_DELETE_THEME "Supprimer Thème?" #define TR_SAVE_THEME "Sauvegarder Thème?" @@ -773,15 +859,16 @@ #define TR_NO_THEME_IMAGE "Pas d'image de thème" #define TR_BACKLIGHT_TIMER "Durée du rétroéclairage" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Sélect. rapide modèle" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "Sélect. rapide modèle" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "Sélect. dossier de modèles" #define TR_SELECT_TEMPLATE "SÉLECTIONNEZ UN EXEMPLE DE MODÈLE:" @@ -801,11 +888,10 @@ #define TR_BLUETOOTH_NODEVICES "Aucun périph. trouvé" #define TR_BLUETOOTH_SCANNING "Scanning..." #define TR_BLUETOOTH_BAUDRATE "Baudrate BT" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Activé" -#else -#define TR_BLUETOOTH_MODES "---","Télémétrie","Écolage" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Télémétrie" +#define TR_BLUETOOTH_MODES_3 "Écolage" +#define TR_BLUETOOTH_MODES_4 "Activé" #define TR_SD_INFO_TITLE "INFO SD" #define TR_SD_SPEED "Vitesse:" #define TR_SD_SECTORS "Secteurs:" @@ -815,7 +901,18 @@ #define TR_GLOBAL_VAR "Variable globale" #define TR_OWN "Perso" #define TR_DATE "Date" -#define TR_MONTHS "Jan", "Fév", "Mar", "Avr", "Mai", "Jun", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Fév" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Avr" +#define TR_MONTHS_5 "Mai" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aou" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Oct" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec" #define TR_ROTARY_ENCODER "Enc.Rot." #define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Mode Encod. Rotatif") #define TR_CHANNELS_MONITOR "MONITEUR CANAUX" @@ -920,14 +1017,14 @@ #define TR_PXX2_SELECT_RX "Sélection RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Sélect. périph." -#define TR_DISCOVER "Découvrir" +#define TR_DISCOVER BUTTON("Découvrir") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Attente..." #define TR_RECEIVER_DELETE "Suppr récept.?" #define TR_RECEIVER_RESET "Réinit. récept.?" #define TR_SHARE "Partager" #define TR_BIND "Bind" -#define TR_REGISTER TR("Enr", "Enregistr.") +#define TR_REGISTER BUTTON(TR("Enr", "Enregistr.")) #define TR_MODULE_RANGE BUTTON(TR("Prt", "Port.")) #define TR_RANGE_TEST "Test de portée" #define TR_RECEIVER_OPTIONS TR("OPTIONS REC.", "OPTIONS RÉCEPTEUR") @@ -963,11 +1060,11 @@ #define TR_AFHDS3_ACTUAL_POWER TR("Act. pow", "Puissance actuelle") #define TR_AFHDS3_POWER_SOURCE TR("Power src.", "Source puissance") #define TR_ANTENNACONFIRM1 "Vraiment changer?" -#if defined(PCBX12S) -#define TR_ANTENNA_MODES "Interne","Demander","Par modèle","Interne + Externe" -#else -#define TR_ANTENNA_MODES "Interne","Demander","Par modèle","Externe" -#endif +#define TR_ANTENNA_MODES_1 "Interne" +#define TR_ANTENNA_MODES_2 "Demander" +#define TR_ANTENNA_MODES_3 "Par modèle" +#define TR_ANTENNA_MODES_4 "Interne + Externe" +#define TR_ANTENNA_MODES_5 "Externe" #define TR_USE_INTERNAL_ANTENNA TR("Util antenne int", "Utiliser antenne interne") #define TR_USE_EXTERNAL_ANTENNA TR("Util antenne ext", "Utiliser antenne externe") #define TR_ANTENNACONFIRM2 TR("Vérif antenne", "Installer l'antenne d'abord!") @@ -984,7 +1081,7 @@ #define TR_CURVE_PRESET "Courbe standard..." #define TR_PRESET "Pente" #define TR_MIRROR "Miroir" -#define TR_CLEAR "Effacer" +#define TR_CLEAR BUTTON("Effacer") #define TR_RESET "Réinit." #define TR_RESET_SUBMENU "Réinit..." #define TR_COUNT "Nb points" @@ -999,7 +1096,9 @@ #define TR_MIXSOURCE "Source (%)" #define TR_MIXSOURCERAW "Source (valeur)" #define TR_CONSTANT "Constante" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Off","On","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Off" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "On" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Vérifs avant vol" #define TR_CHECKLIST TR("checklist", "Afficher checklist") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "Interactive checklist") @@ -1009,20 +1108,13 @@ #define TR_SCRIPT "Script" #define TR_INPUTS "Entrées" #define TR_OUTPUTS "Sorties" -#if defined(COLORLCD) -#define STR_EEBACKUP "Sauvegarder l'EEPROM" -#define STR_FACTORYRESET "RAZ d'usine" -#elif defined(PCBXLITE) -#define STR_EEBACKUP "Sauvegarde" -#define STR_FACTORYRESET "RAZ usine" -#else #define STR_EEBACKUP TR("Sauvegarde", "Sauvegarder l'EEPROM") #define STR_FACTORYRESET "RAZ d'usine" -#endif #define TR_CONFIRMRESET TR("Effacer TOUT?","Effacer TOUS modèles/réglages?") #define TR_TOO_MANY_LUA_SCRIPTS "Trop de scripts lua!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "Pas d’Écrans de Télém." #define TR_TOUCH_PANEL "Écran Tactile:" #define TR_FILE_SIZE "Taille fichier" @@ -1050,36 +1142,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Mode subtrim" #define TR_INVERTED "Inversé" - -#define TR_LSW_DESCRIPTIONS "Type de comparaison ou fonction", "Première variable", "Seconde variable ou constante", "Seconde variable ou constante", "Condition supplémentaire pour activer la ligne", "Durée minimale d'activation de l'inter logique", "Durée min de la condition avant l'activation de l'inter" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Premier Canal" - #define TR_FILL_BACKGROUND "Remplir arrière-plan?" - #define TR_BG_COLOR "BG Color" - #define TR_SLIDERS_TRIMS "Curseurs+Trims" - #define TR_SLIDERS "Curseurs" - #define TR_FLIGHT_MODE "Mode de vol" - #define TR_INVALID_FILE "Fichier invalide" - #define TR_TIMER_SOURCE "Source Chrono" - #define TR_SIZE "Taille" - #define TR_SHADOW "Ombre" - #define TR_ALIGNMENT "Alignement" - #define TR_ALIGN_LABEL "Aligner Catégorie" - #define TR_ALIGN_VALUE "Aligner Valeur" - #define TR_ALIGN_OPTS "Gauche", "Centre", "Droite" - #define TR_TEXT "Texte" - #define TR_COLOR "Couleur" - #define TR_PANEL1_BACKGROUND "Arrière-plan Ecran1" - #define TR_PANEL2_BACKGROUND "Arrière-plan Ecran2" - #define TR_WIDGET_GAUGE "Jauge" - #define TR_WIDGET_MODELBMP "Modèle" - #define TR_WIDGET_OUTPUTS "Sorties" - #define TR_WIDGET_TEXT "Texte" - #define TR_WIDGET_TIMER "Chrono" - #define TR_WIDGET_VALUE "Valeur" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Premier Canal" +#define TR_FILL_BACKGROUND "Remplir arrière-plan?" +#define TR_BG_COLOR "BG Color" +#define TR_SLIDERS_TRIMS "Curseurs+Trims" +#define TR_SLIDERS "Curseurs" +#define TR_FLIGHT_MODE "Mode de vol" +#define TR_INVALID_FILE "Fichier invalide" +#define TR_TIMER_SOURCE "Source Chrono" +#define TR_SIZE "Taille" +#define TR_SHADOW "Ombre" +#define TR_ALIGNMENT "Alignement" +#define TR_ALIGN_LABEL "Aligner Catégorie" +#define TR_ALIGN_VALUE "Aligner Valeur" +#define TR_ALIGN_OPTS_1 "Gauche" +#define TR_ALIGN_OPTS_2 "Centre" +#define TR_ALIGN_OPTS_3 "Droite" +#define TR_TEXT "Texte" +#define TR_COLOR "Couleur" +#define TR_PANEL1_BACKGROUND "Arrière-plan Ecran1" +#define TR_PANEL2_BACKGROUND "Arrière-plan Ecran2" +#define TR_WIDGET_GAUGE "Jauge" +#define TR_WIDGET_MODELBMP "Modèle" +#define TR_WIDGET_OUTPUTS "Sorties" +#define TR_WIDGET_TEXT "Texte" +#define TR_WIDGET_TIMER "Chrono" +#define TR_WIDGET_VALUE "Valeur" // About screen #define TR_ABOUTUS TR(" A PROPOS ", "A PROPOS") @@ -1112,7 +1201,7 @@ #define TR_CELLINDEX "Index élém." #define TR_LOGS "Logs" #define TR_OPTIONS "Options" -#define TR_FIRMWARE_OPTIONS "Options Firmware" +#define TR_FIRMWARE_OPTIONS BUTTON("Options Firmware") #define TR_ALTSENSOR "Capteur Alt." #define TR_CELLSENSOR "Capteur Elém." @@ -1171,11 +1260,6 @@ #define TR_USE_THEME_COLOR "Utiliser couleur du thème" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Ajouter tous trims aux sub-trims" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Ouvrir Monit. de Canal" -#else - #define TR_OPEN_CHANNEL_MONITORS "Ouvrir Mon. de Canal" -#endif #define TR_DUPLICATE "Dupliquer" #define TR_ACTIVATE "Activer" #define TR_RED "Rouge" @@ -1210,6 +1294,7 @@ #define TR_CANCEL "Annuler" #define TR_EDIT_THEME "ÉDITER THÈME" #define TR_DETAILS "Détails" +#define TR_THEME_EDITOR "THÈMES" // Voice in native language #define TR_VOICE_ENGLISH "English" @@ -1235,29 +1320,71 @@ #define TR_USBJOYSTICK_LABEL "Joystick USB" #define TR_USBJOYSTICK_EXTMODE "Mode" -#define TR_VUSBJOYSTICK_EXTMODE "Classique","Avancé" -#define TR_USBJOYSTICK_SETTINGS "Paramètre voies" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Classique" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Avancé" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Paramètre voies") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Mode interface") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxes" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxes" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "Aucun","Btn","Axes","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Aucun" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axes" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Mode Bouton" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulse","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulse" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positions" -#define TR_VUSBJOYSTICK_CH_SWPOS "Pousser","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Pousser" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Axes" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Curseur","Cadran","Volant" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Curseur" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Cadran" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Volant" #define TR_USBJOYSTICK_CH_SIM "Voies Simu" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Prof","Dir","Gaz","Acc","Frein","Gouv","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Prof" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Dir" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Gaz" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Frein" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Gouv" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversion" #define TR_USBJOYSTICK_CH_BTNNUM "Bouton no." #define TR_USBJOYSTICK_BTN_COLLISION "!Bouton anti collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Collision des Axes!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Déc. Circ.", "Découpe circulaire") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "Aucun","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Appliquer changement" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "Aucun" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Appliquer changement") #define TR_DIGITAL_SERVO "Servo 333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1273,7 +1400,10 @@ #define TR_SELECT_MENU_CLR "Clear" #define TR_SELECT_MENU_INV "Invert" -#define TR_SORT_ORDERS "Nom A-Z","Nom Z-A","Dernier utilisé","Couramment utilisé" +#define TR_SORT_ORDERS_1 "Nom A-Z" +#define TR_SORT_ORDERS_2 "Nom Z-A" +#define TR_SORT_ORDERS_3 "Dernier utilisé" +#define TR_SORT_ORDERS_4 "Couramment utilisé" #define TR_SORT_MODELS_BY "Trier modèles par" #define TR_CREATE_NEW "Créer" diff --git a/radio/src/translations/he.h b/radio/src/translations/i18n/he.h similarity index 73% rename from radio/src/translations/he.h rename to radio/src/translations/i18n/he.h index 0a7ac07cc88..13e7a31df0c 100644 --- a/radio/src/translations/he.h +++ b/radio/src/translations/i18n/he.h @@ -32,14 +32,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -47,7 +39,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -76,7 +68,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -95,8 +87,8 @@ #define TR_MAIN_MENU_THEMES "ערכות נושא" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "הגדרות מסוק" -#define TR_MENUFLIGHTMODES TRSA("DRIVE MODES", "מצבי טיסה") -#define TR_MENUFLIGHTMODE TRSA("DRIVE MODE", "מצב טיסה") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("DRIVE MODES", "מצבי טיסה") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("DRIVE MODE", "מצב טיסה") #define TR_MENUINPUTS "כניסות" #define TR_MENULIMITS "יציאות" #define TR_MENUCURVES "עקומות" @@ -121,53 +113,105 @@ #define TR_MINUTE_PLURAL1 "דקות" #define TR_MINUTE_PLURAL2 "דקות" -#define TR_OFFON "OFF","ON" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Quiet","Alarm","NoKey","All" -#define TR_VBLMODE "OFF","Keys",TR("Ctrl","Controls"),"Both","ON" -#define TR_TRNMODE "OFF",TR("+=","הוספה"),TR(":=","החלפה") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "OFF","Telem Mirror","Telemetry In","SBUS Trainer","LUA","CLI","GPS","Debug","SpaceMouse","External module" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "None","Toggle","2POS","3POS","Global" -#else -#define TR_SWTYPES "None","Toggle","2POS","3POS" -#endif -#define TR_POTTYPES "None","Pot",TR("Pot w. det","Pot with detent"),"Slider",TR("Multipos","Multipos Switch"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "OFF","Flight","Manual Reset" -#define TR_COUNTRY_CODES TR("US","America"),TR("JP","Japan"),TR("EU","Europe") -#define TR_USBMODES "הצג לי אופציות",TR("Joyst","חיבור משחק קבוע"),TR("SDCard","העברת נתונים קבוע"),"חיבור סיריילי קבוע" -#define TR_JACK_MODES "Ask","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normal","not inverted" +#define TR_OFFON_1 "OFF" +#define TR_OFFON_2 "ON" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Quiet" +#define TR_VBEEPMODE_2 "Alarm" +#define TR_VBEEPMODE_3 "NoKey" +#define TR_VBEEPMODE_4 "All" +#define TR_VBLMODE_1 "OFF" +#define TR_VBLMODE_2 "Keys" +#define TR_VBLMODE_3 TR("Ctrl","Controls") +#define TR_VBLMODE_4 "Both" +#define TR_VBLMODE_5 "ON" +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","הוספה") +#define TR_TRNMODE_3 TR(":=","החלפה") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "OFF" +#define TR_AUX_SERIAL_MODES_2 "Telem Mirror" +#define TR_AUX_SERIAL_MODES_3 "Telemetry In" +#define TR_AUX_SERIAL_MODES_4 "SBUS Trainer" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "External module" +#define TR_SWTYPES_1 "None" +#define TR_SWTYPES_2 "Toggle" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "None" +#define TR_POTTYPES_2 "Pot" +#define TR_POTTYPES_3 TR("Pot w. det","Pot with detent") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Multipos","Multipos Switch") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "OFF" +#define TR_VPERSISTENT_2 "Flight" +#define TR_VPERSISTENT_3 "Manual Reset" +#define TR_COUNTRY_CODES_1 TR("US","America") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europe") +#define TR_USBMODES_1 "הצג לי אופציות" +#define TR_USBMODES_2 TR("Joyst","חיבור משחק קבוע") +#define TR_USBMODES_3 TR("SDCard","העברת נתונים קבוע") +#define TR_USBMODES_4 "חיבור סיריילי קבוע" +#define TR_JACK_MODES_1 "Ask" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "not inverted" #define TR_MULTI_CUSTOM "עיצוב מיוחד" -#define TR_VTRIMINC TR("Expo","הולך ומתעצם"),TR("ExFine","זז ב-1"),"זז ב-2","זז ב-3","זז ב-6" -#define TR_VDISPLAYTRIMS "אל תציג","הצג שינוי בלבד","הצג" -#define TR_VBEEPCOUNTDOWN "שקט","ציפצופים","שמע","לחן",TR("B & H","Beeps & Haptic"),TR("V & H","Voice & Haptic") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tone","Silent" -#define TR_CURVE_TYPES "סטנדרטי","עיצוב מיוחד" - -#define TR_ADCFILTERVALUES "Global","Off","On" - -#define TR_VCURVETYPE "דיפרנציאלי","אקספו","פונקציה","עריכת מיוחד" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "אוסף תנועה","צרף תנועות יחד","החלף תנועה" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "שעון" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "שעון" - #define TR_CSWSTICKY "Stky" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_SF_SAFETY "Override" -#elif defined(OVERRIDE_CHANNEL_FUNCTION) - #define TR_SF_SAFETY "Overr." -#endif +#define TR_SF_SAFETY TR("Overr.", "Override") #define TR_SF_SCREENSHOT "צילום מסך" #define TR_SF_RACING_MODE "מצב תחרות" #define TR_SF_DISABLE_TOUCH "ללא מסך מגע" #define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" -#define TR_SF_SET_SCREEN "הגדרת מסך ראשי" -#define TR_SF_SET_TELEMSCREEN "Set Screen" +#define TR_SF_SET_SCREEN TR_BW_COL("Set Screen", "הגדרת מסך ראשי") #define TR_SF_PUSH_CUST_SWITCH "Push CS" #define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "טלמטריה") #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "שעון 1","שעון 2","שעון 3" - - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("All","Flight"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Beep1"),TR("Bp2","Beep2"),TR("Bp3","Beep3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TIMERS_1 "שעון 1" +#define TR_FSW_RESET_TIMERS_2 "שעון 2" +#define TR_FSW_RESET_TIMERS_3 "שעון 3" + + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("All","Flight") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM "תצוגת מילימטר",TR("Imper.","תצוגת אינצ'ים") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "None","Nums","Bars","Script" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "תצוגת מילימטר" +#define TR_VUNITSSYSTEM_2 TR("Imper.","תצוגת אינצ'ים") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "None" +#define TR_VTELEMSCREENTYPE_2 "Nums" +#define TR_VTELEMSCREENTYPE_3 "Bars" +#define TR_VTELEMSCREENTYPE_4 "Script" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "כיוון" #define TR_STICK_NAMES1 "ה.גוב" @@ -240,18 +336,20 @@ #define TR_SURFACE_NAMES0 "ST" #define TR_SURFACE_NAMES1 "TH" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Default","High" -#endif +#define TR_RFPOWER_AFHDS2_1 "Default" +#define TR_RFPOWER_AFHDS2_2 "High" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","One" +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "One" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "מצב כובעונים" -#define TR_HATSOPT "קיזוזים בלבד","ניווט בלבד","משולב","גלובאלי" +#define TR_HATSOPT_1 "קיזוזים בלבד" +#define TR_HATSOPT_2 "ניווט בלבד" +#define TR_HATSOPT_3 "משולב" +#define TR_HATSOPT_4 "גלובאלי" #define TR_HATSMODE_TRIMS "מצב כובעונים: קיזוזים" #define TR_HATSMODE_KEYS "מצב כובעונים: ניווט" #define TR_HATSMODE_KEYS_HELP "Left side:\n"\ @@ -264,79 +362,86 @@ " Right = PAGE>\n"\ " Up = PREV/INC\n"\ " Down = NEXT/DEC" -#endif -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "רגיל","הפוך" -#else - #define TR_ROTARY_ENC_OPT "רגיל","הפוך","V-I H-N","V-I H-A","V-N E-I" -#endif - -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_ROTARY_ENC_OPT_1 "רגיל" +#define TR_ROTARY_ENC_OPT_2 "הפוך" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ON","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ON" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "שלט ראשי" #define TR_VTRAINER_SLAVE_JACK "שלט חניך" #define TR_VTRAINER_MASTER_SBUS_MODULE "Master/SBUS Module" #define TR_VTRAINER_MASTER_CPPM_MODULE "Master/CPPM Module" #define TR_VTRAINER_MASTER_BATTERY "Master/Serial" -#define TR_VTRAINER_BLUETOOTH "Master/" TR("BT","Bluetooth"), "Slave/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Master/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Slave/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "לא מוגדר","מוחזק","הגדרה ידנית - מומלץ!","ללא שינוי","מקלט" -#define TR_VSENSORTYPES "Custom","Calculated" -#define TR_VFORMULAS "Add","Average","Min","Max","Multiply","Totalize","Cell","Consumpt","Distance" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Lowest","1","2","3","4","5","6","7","8","Highest","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symmetrical)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "חזרה" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "לא מוגדר" +#define TR_VFAILSAFE_2 "מוחזק" +#define TR_VFAILSAFE_3 "הגדרה ידנית - מומלץ!" +#define TR_VFAILSAFE_4 "ללא שינוי" +#define TR_VFAILSAFE_5 "מקלט" +#define TR_VSENSORTYPES_1 "Custom" +#define TR_VSENSORTYPES_2 "Calculated" +#define TR_VFORMULAS_1 "Add" +#define TR_VFORMULAS_2 "Average" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Multiply" +#define TR_VFORMULAS_6 "Totalize" +#define TR_VFORMULAS_7 "Cell" +#define TR_VFORMULAS_8 "Consumpt" +#define TR_VFORMULAS_9 "Distance" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Lowest" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Highest" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (center only)" +#define TR_SUBTRIMMODES_2 "= (symmetrical)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("חזרה", "RTN") #define TR_FREE "חופשי" #define TR_YES "כן" @@ -370,11 +475,19 @@ #define TR_PROTOCOL TR("Proto", "Protocol") #define TR_PPMFRAME "PPM frame" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") -#define STR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") #define TR_WARN_5VOLTS "Warning: output level is 5 volts" #define TR_MS "ms" #define TR_SWITCH "מתג" -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -384,28 +497,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "הדק" #define TR_TRIMS "קיזוזים" #define TR_FADEIN "Fade in" #define TR_FADEOUT "Fade out" #define TR_DEFAULT "(ברירת מחדל)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Check FM Trims" -#else - #define TR_CHECKTRIMS "\006Check\012trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Check\012trims", "Check FM Trims") #define TR_SWASHTYPE "Swash Type" #define TR_COLLECTIVE TR("Collective", "Coll. pitch source") #define TR_AILERON TR("Lateral cyc.", "Lateral cyc. source") #define TR_ELEVATOR TR("Long. cyc.", "Long. cyc. source") #define TR_SWASHRING "Swash Ring" #define TR_MODE "Mode" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Left" -#else - #define TR_LEFT_STICK "Left" -#endif +#define TR_LEFT_STICK "Left" #define TR_SUBTYPE "Subtype" #define TR_NOFREEEXPO "No free expo!" #define TR_NOFREEMIXER "No free mixer!" @@ -428,11 +532,7 @@ #define TR_SLOWDOWN TR("Slow dn", "האט ירידה") #define TR_SLOWUP "האט עלייה" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE "טווח" #define TR_CENTER "מרכז" #define TR_ALARM "התראה" @@ -501,20 +601,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplier" #define TR_CAL "Cal" -#define TR_CALIBRATION "כיול" +#define TR_CALIBRATION BUTTON("כיול") #define TR_VTRIM "קיזוז - +" #define TR_CALIB_DONE "כיול הושלם" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTER STICKS/SLIDERS" - #define TR_MOVESTICKSPOTS "MOVE STICKS/POTS" -#else - #define TR_MENUTOSTART TR_ENTER " TO START" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", TR("SET STICKS MIDPOINT", "CENTER STICKS/SLIDERS")) - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "MOVE STICKS/POTS") - #define TR_MENUWHENDONE TR_ENTER " WHEN DONE" +#define TR_MENUTOSTART TR_ENTER " TO START" +#define TR_MENUWHENDONE TR_ENTER " WHEN DONE" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", TR("SET STICKS MIDPOINT", "CENTER STICKS/SLIDERS")), "CENTER STICKS/SLIDERS") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "MOVE STICKS/POTS"), "MOVE STICKS/POTS") #define TR_NODATA "NO DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -544,7 +639,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "ערוץ " #define TR_MODEL "מודל" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM low mem" #define TR_PRESS_ANY_KEY_TO_SKIP "לחץ על המסך או על כפתור" #define TR_THROTTLE_NOT_IDLE "סטיק מצערת פתוח" @@ -563,11 +658,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "בדיקת אנלוגיות סטיקים ומגע" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "מפסקים בהתאמה אישית" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "הגדר מצב נוכחי כקבוע" #define TR_CHANNEL2FAILSAFE "הגדר מצב נוכחי כקבוע" #define TR_MENUMODELSEL TR("MODELSEL", "MODEL SELECTION") @@ -673,7 +764,7 @@ #define TR_NO_TOOLS "No tools available" #define TR_NORMAL "רגיל" #define TR_NOT_INVERTED "Not inv" -#define TR_NOT_CONNECTED TR("!Connected", "Not Connected"); +#define TR_NOT_CONNECTED TR("!Connected", "Not Connected") #define TR_CONNECTED "Connected" #define TR_FLEX_915 "Flex 915MHz" #define TR_FLEX_868 "Flex 868MHz" @@ -684,7 +775,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Update RX options?" #define TR_UPDATE_TX_OPTIONS "Update TX options?" -#define TR_MODULES_RX_VERSION "ריכוז מידע חשוב על המערכת" +#define TR_MODULES_RX_VERSION BUTTON("ריכוז מידע חשוב על המערכת") #define TR_SHOW_MIXER_MONITORS "הצג מצגי מיקסים" #define TR_MENU_MODULES_RX_VERSION "MODULES / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONS" @@ -703,12 +794,8 @@ #define TR_GHOST_MODULE_CONFIG "Ghost module config" #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" -#define TR_SDCARD_FULL "הדיסק מלא״" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\לוגים ושמירת צילומי מסך מושבתים" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036לוגים" LCDW_128_LINEBREAK "ושמירת צילומי מסך מושבתים" -#endif +#define TR_SDCARD_FULL "הדיסק מלא״" +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036לוגים" LCDW_128_LINEBREAK "ושמירת צילומי מסך מושבתים", TR_SDCARD_FULL "\036לוגים ושמירת צילומי מסך מושבתים") #define TR_NEEDS_FILE "NEEDS FILE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -767,7 +854,8 @@ #define TR_CRSF_ARMING_MODE "Arm using" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "Sample Mode" -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "...טוען" #define TR_DELETE_THEME "?למחוק את הערכה" #define TR_SAVE_THEME "?לשמור את הערכה" @@ -775,15 +863,16 @@ #define TR_NO_THEME_IMAGE "תמונת ערכת נושא" #define TR_BACKLIGHT_TIMER "זמן אי פעילות" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "בחירת מודל מהירה" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "בחירת מודל מהירה" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "בחר ספרית תבנית" #define TR_SELECT_TEMPLATE "בחר מודל מתבנית:" @@ -803,11 +892,10 @@ #define TR_BLUETOOTH_NODEVICES "לא נמצאו מכשירים" #define TR_BLUETOOTH_SCANNING "...סורק" #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","אפשר" -#else -#define TR_BLUETOOTH_MODES "---","טלמטריה","טריינר" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "טלמטריה" +#define TR_BLUETOOTH_MODES_3 "טריינר" +#define TR_BLUETOOTH_MODES_4 "אפשר" #define TR_SD_INFO_TITLE "מידע כרטיס" #define TR_SD_SPEED ":מהירות" @@ -818,7 +906,18 @@ #define TR_GLOBAL_VAR "משתנה גלובלי" #define TR_OWN "בעלים" #define TR_DATE "תאריך" -#define TR_MONTHS "ינו", "פבו", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ" +#define TR_MONTHS_1 "ינו" +#define TR_MONTHS_2 "פבו" +#define TR_MONTHS_3 "מרץ" +#define TR_MONTHS_4 "אפר" +#define TR_MONTHS_5 "מאי" +#define TR_MONTHS_6 "יונ" +#define TR_MONTHS_7 "יול" +#define TR_MONTHS_8 "אוג" +#define TR_MONTHS_9 "ספט" +#define TR_MONTHS_10 "אוק" +#define TR_MONTHS_11 "נוב" +#define TR_MONTHS_12 "דצמ" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode") #define TR_CHANNELS_MONITOR "מצגי ערוצים" @@ -923,14 +1022,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "בחר מכשיר" -#define TR_DISCOVER "Discover" +#define TR_DISCOVER BUTTON("Discover") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "...ממתין" #define TR_RECEIVER_DELETE "? מחיקת מקלט" #define TR_RECEIVER_RESET "? איפוס מקלט" #define TR_SHARE "שיתוף" #define TR_BIND "צימוד" -#define TR_REGISTER TR("Reg", "Register") +#define TR_REGISTER BUTTON(TR("Reg", "Register")) #define TR_MODULE_RANGE BUTTON(TR("Rng", "בדיקת טווח קליטה")) #define TR_RANGE_TEST "בדיקת טווח" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS") @@ -961,11 +1060,11 @@ #define TR_TELEMETRY_NEWSENSOR "הוסף חדש" #define TR_CHANNELRANGE TR("Ch. Range", "טווח ערוצים") #define TR_ANTENNACONFIRM1 "EXT. ANTENNA" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Internal","Ask","Per model","Internal + External" -#else - #define TR_ANTENNA_MODES "Internal","Ask","Per model","External" -#endif +#define TR_ANTENNA_MODES_1 "Internal" +#define TR_ANTENNA_MODES_2 "Ask" +#define TR_ANTENNA_MODES_3 "Per model" +#define TR_ANTENNA_MODES_4 "Internal + External" +#define TR_ANTENNA_MODES_5 "External" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna") #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") @@ -982,7 +1081,7 @@ #define TR_CURVE_PRESET "Preset..." #define TR_PRESET "Preset" #define TR_MIRROR "היפוך" -#define TR_CLEAR "ניקוי" +#define TR_CLEAR BUTTON("ניקוי") #define TR_RESET "איפוס" #define TR_RESET_SUBMENU "...איפוס" #define TR_COUNT "ספירה" @@ -997,7 +1096,9 @@ #define TR_MIXSOURCE "מקור (%)" #define TR_MIXSOURCERAW "מקור (ערך)" #define TR_CONSTANT "Constant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "כבוי","פועל","אוטומטי" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "כבוי" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "פועל" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "אוטומטי" #define TR_PREFLIGHT "מצב הביקורת לשלט" #define TR_CHECKLIST TR("Checklist", "הצג מצב מערכת") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "Interactive checklist") @@ -1012,7 +1113,8 @@ #define TR_CONFIRMRESET TR("Erase ALL", "Erase ALL models and settings?") #define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "אוטומטי","פעיל" +#define TR_SPORT_UPDATE_POWER_MODES_1 "אוטומטי" +#define TR_SPORT_UPDATE_POWER_MODES_2 "פעיל" #define TR_NO_TELEMETRY_SCREENS "אין מסכי טלמטריה" #define TR_TOUCH_PANEL "מסך מגע:" #define TR_FILE_SIZE "גודל קובץ" @@ -1040,36 +1142,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "מצב מירכוז" #define TR_INVERTED "היפוך" - -#define TR_LSW_DESCRIPTIONS "Comparison type or function", "First variable", "Second variable or constant", "Second variable or constant", "Additional condition for line to be enabled", "Minimum ON duration of the logical switch", "Minimum TRUE duration for the switch to become ON" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "ערוץ ראשון" - #define TR_FILL_BACKGROUND "מילוי רקע?" - #define TR_BG_COLOR "BG צבעי" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "סליידרים" - #define TR_FLIGHT_MODE "מצב טיסה" - #define TR_INVALID_FILE "Invalid File" - #define TR_TIMER_SOURCE "מקור השעון" - #define TR_SIZE "גודל" - #define TR_SHADOW "הצללה" - #define TR_ALIGNMENT "יישור" - #define TR_ALIGN_LABEL "Align label" - #define TR_ALIGN_VALUE "Align value" - #define TR_ALIGN_OPTS "שמאל", "מרכז", "ימין" - #define TR_TEXT "טקסט" - #define TR_COLOR "צבע" - #define TR_PANEL1_BACKGROUND "Panel1 background" - #define TR_PANEL2_BACKGROUND "Panel2 background" - #define TR_WIDGET_GAUGE "מקור" - #define TR_WIDGET_MODELBMP "תמונה מודל" - #define TR_WIDGET_OUTPUTS "יציאות" - #define TR_WIDGET_TEXT "טקסט" - #define TR_WIDGET_TIMER "שעון" - #define TR_WIDGET_VALUE "ערך" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "ערוץ ראשון" +#define TR_FILL_BACKGROUND "מילוי רקע?" +#define TR_BG_COLOR "BG צבעי" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "סליידרים" +#define TR_FLIGHT_MODE "מצב טיסה" +#define TR_INVALID_FILE "Invalid File" +#define TR_TIMER_SOURCE "מקור השעון" +#define TR_SIZE "גודל" +#define TR_SHADOW "הצללה" +#define TR_ALIGNMENT "יישור" +#define TR_ALIGN_LABEL "Align label" +#define TR_ALIGN_VALUE "Align value" +#define TR_ALIGN_OPTS_1 "שמאל" +#define TR_ALIGN_OPTS_2 "מרכז" +#define TR_ALIGN_OPTS_3 "ימין" +#define TR_TEXT "טקסט" +#define TR_COLOR "צבע" +#define TR_PANEL1_BACKGROUND "Panel1 background" +#define TR_PANEL2_BACKGROUND "Panel2 background" +#define TR_WIDGET_GAUGE "מקור" +#define TR_WIDGET_MODELBMP "תמונה מודל" +#define TR_WIDGET_OUTPUTS "יציאות" +#define TR_WIDGET_TEXT "טקסט" +#define TR_WIDGET_TIMER "שעון" +#define TR_WIDGET_VALUE "ערך" // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") @@ -1102,7 +1201,7 @@ #define TR_CELLINDEX "מיקום תא" #define TR_LOGS "לוגים" #define TR_OPTIONS "אופציות" -#define TR_FIRMWARE_OPTIONS "אופציןת קושחה" +#define TR_FIRMWARE_OPTIONS BUTTON("אופציןת קושחה") #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" @@ -1155,11 +1254,6 @@ #define TR_USE_THEME_COLOR "Use theme color" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "מיכרוז כל הקיזוזים" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "פתח מצג ערוצים" -#else - #define TR_OPEN_CHANNEL_MONITORS "פתח מצג ערוצים." -#endif #define TR_DUPLICATE "שיכפול" #define TR_ACTIVATE "הגדר פעיל" #define TR_RED "אדום" @@ -1194,6 +1288,7 @@ #define TR_CANCEL "ביטול" #define TR_EDIT_THEME "עריכת ערכת נושא" #define TR_DETAILS "פרטים" +#define TR_THEME_EDITOR "ערכות נושא" // Voice in native language #define TR_VOICE_ENGLISH "English" @@ -1219,29 +1314,71 @@ #define TR_USBJOYSTICK_LABEL "חיבור מצב משחק" #define TR_USBJOYSTICK_EXTMODE "מצב" -#define TR_VUSBJOYSTICK_EXTMODE "רגיל","מתקדם" -#define TR_USBJOYSTICK_SETTINGS "הגדרות ערוץ" +#define TR_VUSBJOYSTICK_EXTMODE_1 "רגיל" +#define TR_VUSBJOYSTICK_EXTMODE_2 "מתקדם" +#define TR_USBJOYSTICK_SETTINGS BUTTON("הגדרות ערוץ") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Interface mode") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "None","Btn","Axis","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "None" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axis" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Button Mode" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulse","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulse" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "מיקומים" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "צירים" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "ציר סימולטור" -#define TR_VUSBJOYSTICK_CH_SIM "מאזנות","ה.גובה","ה.כיוון","מנוע","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "מאזנות" +#define TR_VUSBJOYSTICK_CH_SIM_2 "ה.גובה" +#define TR_VUSBJOYSTICK_CH_SIM_3 "ה.כיוון" +#define TR_VUSBJOYSTICK_CH_SIM_4 "מנוע" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "היפוך" #define TR_USBJOYSTICK_CH_BTNNUM "Button no." #define TR_USBJOYSTICK_BTN_COLLISION "!Button no. collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axis collision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "None","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "החל שינויים" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "None" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("החל שינויים") #define TR_DIGITAL_SERVO "333HZ סרוו דיגיטאלי" #define TR_ANALOG_SERVO "50HZ סרוו אנלוגי" @@ -1257,7 +1394,10 @@ #define TR_SELECT_MENU_CLR "Clear" #define TR_SELECT_MENU_INV "Invert" -#define TR_SORT_ORDERS "A-Z סידור","Z-A סידור","יותר בשימוש","פחות בשימוש" +#define TR_SORT_ORDERS_1 "A-Z סידור" +#define TR_SORT_ORDERS_2 "Z-A סידור" +#define TR_SORT_ORDERS_3 "יותר בשימוש" +#define TR_SORT_ORDERS_4 "פחות בשימוש" #define TR_SORT_MODELS_BY "סדר תצוגה" #define TR_CREATE_NEW "יצירה חדשה" diff --git a/radio/src/translations/it.h b/radio/src/translations/i18n/it.h similarity index 73% rename from radio/src/translations/it.h rename to radio/src/translations/i18n/it.h index 7189431063f..dee2690e69e 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/i18n/it.h @@ -29,14 +29,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -44,7 +36,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -73,7 +65,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -92,8 +84,8 @@ #define TR_MAIN_MENU_THEMES "TEMI" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "CONFIGURA ELI" -#define TR_MENUFLIGHTMODES TRSA("MODI DI PILOTAGGIO", "FASI DI VOLO") -#define TR_MENUFLIGHTMODE TRSA("MODO DI PILOTAGGIO", "FASE DI VOLO") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("MODI DI PILOTAGGIO", "FASI DI VOLO") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("MODO DI PILOTAGGIO", "FASE DI VOLO") #define TR_MENUINPUTS "INGRESSI" #define TR_MENULIMITS "USCITE" #define TR_MENUCURVES "CURVE" @@ -118,53 +110,105 @@ #define TR_MINUTE_PLURAL1 "minuti" #define TR_MINUTE_PLURAL2 "minuti" -#define TR_OFFON TR("OFF","Disattivato"),TR("ON","Attivato") -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE TR("Silen","Silente"),TR("Avvis","Avvisi"),TR("Notst","No Tasti"),"Tutti" -#define TR_VBLMODE TR("OFF","Spenta"),"Tasti",TR("Stks","Sticks"),"Tutti",TR("ON","Accesa") -#define TR_TRNMODE "OFF",TR("+=","Add"),TR(":=","Sost.") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "OFF","Replica Telem","Telemetria In","SBUS Trainer","LUA","CLI","GPS","Debug","SpaceMouse","Modulo esterno" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Disab.","Toggle","2POS","3POS","Globali" -#else -#define TR_SWTYPES "Disab.","Toggle","2POS","3POS" -#endif -#define TR_POTTYPES "Disab.",TR("Pot","Potenziometro"),TR("Pot c. fer","Pot. con centro"),"Slider",TR("Multipos","Inter. Multipos"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "NO","Volo","Reset Manuale" -#define TR_COUNTRY_CODES TR("US","America"),TR("JP","Japan"),TR("EU","Europa") -#define TR_USBMODES TR("Chied","Chiedi"),TR("Joyst","Joystick"),TR("SDCard","Storage"),TR("Serial","Seriale") -#define TR_JACK_MODES "Chiedi","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normale","non invertito" +#define TR_OFFON_1 TR("OFF","Disattivato") +#define TR_OFFON_2 TR("ON","Attivato") +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 TR("Silen","Silente") +#define TR_VBEEPMODE_2 TR("Avvis","Avvisi") +#define TR_VBEEPMODE_3 TR("Notst","No Tasti") +#define TR_VBEEPMODE_4 "Tutti" +#define TR_VBLMODE_1 TR("OFF","Spenta") +#define TR_VBLMODE_2 "Tasti" +#define TR_VBLMODE_3 TR("Stks","Sticks") +#define TR_VBLMODE_4 "Tutti" +#define TR_VBLMODE_5 TR("ON","Accesa") +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","Add") +#define TR_TRNMODE_3 TR(":=","Sost.") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "OFF" +#define TR_AUX_SERIAL_MODES_2 "Replica Telem" +#define TR_AUX_SERIAL_MODES_3 "Telemetria In" +#define TR_AUX_SERIAL_MODES_4 "SBUS Trainer" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Modulo esterno" +#define TR_SWTYPES_1 "Disab." +#define TR_SWTYPES_2 "Toggle" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Globali" +#define TR_POTTYPES_1 "Disab." +#define TR_POTTYPES_2 TR("Pot","Potenziometro") +#define TR_POTTYPES_3 TR("Pot c. fer","Pot. con centro") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Multipos","Inter. Multipos") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "NO" +#define TR_VPERSISTENT_2 "Volo" +#define TR_VPERSISTENT_3 "Reset Manuale" +#define TR_COUNTRY_CODES_1 TR("US","America") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europa") +#define TR_USBMODES_1 TR("Chied","Chiedi") +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Storage") +#define TR_USBMODES_4 TR("Serial","Seriale") +#define TR_JACK_MODES_1 "Chiedi" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normale" +#define TR_SBUS_INVERSION_VALUES_2 "non invertito" #define TR_MULTI_CUSTOM "Person." -#define TR_VTRIMINC TR("Expo","Esponenziale"),TR("ExFine","Extra Fine"),"Fine","Medio","Ampio" -#define TR_VDISPLAYTRIMS "No","Cambio","Si" -#define TR_VBEEPCOUNTDOWN "Niente","Suoni","Voce","Vibra",TR("S & V","Suoni & Vibra"),TR("V & V","Voce & Vibra") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tono","Silenz." -#define TR_CURVE_TYPES "Standard","Personali" - -#define TR_ADCFILTERVALUES "Globali","Off","On" - -#define TR_VCURVETYPE "Diff","Espo","Funz","Pers" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Add.","Molt.","Sost." -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Glue" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_SF_SAFETY "Ignora" -#else - #define TR_SF_SAFETY "Annulla" -#endif +#define TR_SF_SAFETY TR("Annulla", "Ignora") #define TR_SF_SCREENSHOT "Screenshot" #define TR_SF_RACING_MODE "Modo Racing" #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Amp Audio Off" -#define TR_SF_SET_SCREEN "Setta Schermo Princ." -#define TR_SF_SET_TELEMSCREEN "Setta Schermo" +#define TR_SF_SET_SCREEN TR_BW_COL("Setta Schermo", "Setta Schermo Princ.") #define TR_SF_PUSH_CUST_SWITCH "Push CS" #define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetria") #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("All","Tutto"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Beep1"),TR("Bp2","Beep2"),TR("Bp3","Beep3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TIMERS_1 "Tmr1" +#define TR_FSW_RESET_TIMERS_2 "Tmr2" +#define TR_FSW_RESET_TIMERS_3 "Tmr3" + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("All","Tutto") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM TR("Metric","Metriche"),TR("Imper.","Imperiali") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "Niente","Valori","Barre","Script" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 TR("Metric","Metriche") +#define TR_VUNITSSYSTEM_2 TR("Imper.","Imperiali") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "Niente" +#define TR_VTELEMSCREENTYPE_2 "Valori" +#define TR_VTELEMSCREENTYPE_3 "Barre" +#define TR_VTELEMSCREENTYPE_4 "Script" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Dir" #define TR_STICK_NAMES1 "Ele" @@ -236,18 +332,20 @@ #define TR_SURFACE_NAMES0 "Dir" #define TR_SURFACE_NAMES1 "Mot" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Default","Alto" -#endif +#define TR_RFPOWER_AFHDS2_1 "Default" +#define TR_RFPOWER_AFHDS2_2 "Alto" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","One" +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "One" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "Modo joystick" -#define TR_HATSOPT "Solo trims","Solo keys","Commutabile","Globale" +#define TR_HATSOPT_1 "Solo trims" +#define TR_HATSOPT_2 "Solo keys" +#define TR_HATSOPT_3 "Commutabile" +#define TR_HATSOPT_4 "Globale" #define TR_HATSMODE_TRIMS "Modo joystick: trims" #define TR_HATSMODE_KEYS "Modo joystick: keys" #define TR_HATSMODE_KEYS_HELP "Lato sinistro:\n"\ @@ -260,79 +358,87 @@ " Destra = PAGINA>\n"\ " Su = PREC/AUM\n"\ " Giù = PROS/DIM" -#endif -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normale","Invertito" -#else - #define TR_ROTARY_ENC_OPT "Normale","Invertito","V-I H-N","V-I H-A","V-N E-I" -#endif +#define TR_ROTARY_ENC_OPT_1 "Normale" +#define TR_ROTARY_ENC_OPT_2 "Invertito" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ABS","Strt","MOs","MO%","MOt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ABS" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "MOs" +#define TR_VTMRMODES_5 "MO%" +#define TR_VTMRMODES_6 "MOt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Maestro/Jack" #define TR_VTRAINER_SLAVE_JACK "Allievo/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Master/Modulo SBUS" #define TR_VTRAINER_MASTER_CPPM_MODULE "Master/Modulo CPPM" #define TR_VTRAINER_MASTER_BATTERY "Master/Seriale" -#define TR_VTRAINER_BLUETOOTH "Master/" TR("BT","Bluetooth"), "Slave/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Master/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Slave/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "Non settato","Mantieni","Personali","No impulsi","Ricevente" -#define TR_VSENSORTYPES "Person.","Calcolato" -#define TR_VFORMULAS "Somma","Media","Min","Max","Moltipl","Totalizza","Cella","Consumo","Distanza" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Minore","1","2","3","4","5","6","7","8","Maggiore","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)" -#define TR_TIMER_DIR TR("Riman.", "Mostra Riman."), TR("Trasc.", "Mostra Trascorso") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Non settato" +#define TR_VFAILSAFE_2 "Mantieni" +#define TR_VFAILSAFE_3 "Personali" +#define TR_VFAILSAFE_4 "No impulsi" +#define TR_VFAILSAFE_5 "Ricevente" +#define TR_VSENSORTYPES_1 "Person." +#define TR_VSENSORTYPES_2 "Calcolato" +#define TR_VFORMULAS_1 "Somma" +#define TR_VFORMULAS_2 "Media" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Moltipl" +#define TR_VFORMULAS_6 "Totalizza" +#define TR_VFORMULAS_7 "Cella" +#define TR_VFORMULAS_8 "Consumo" +#define TR_VFORMULAS_9 "Distanza" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Minore" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Maggiore" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA" (center only)" +#define TR_SUBTRIMMODES_2 "= (symetrical)" +#define TR_TIMER_DIR_1 TR("Riman.", "Mostra Riman.") +#define TR_TIMER_DIR_2 TR("Trasc.", "Mostra Trascorso") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "Disp." #define TR_YES "Si" @@ -366,11 +472,19 @@ #define TR_PROTOCOL TR("Protoc.", "Protocollo") #define TR_PPMFRAME "Frame PPM" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") -#define STR_WARN_BATTVOLTAGE TR("Uscita VBAT: ", "Att.: livel. uscita VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Uscita VBAT: ", "Att.: livel. uscita VBAT: ") #define TR_WARN_5VOLTS "Attenzione: il livello d'uscita è 5 Volts" #define TR_MS "ms" #define TR_SWITCH "Inter." -#define TR_FS_COLOR_LIST "Custom","Off","Bianco","Rosso","Verde","Giallo","Arancio","Blue","Rosa" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "Bianco" +#define TR_FS_COLOR_LIST_4 "Rosso" +#define TR_FS_COLOR_LIST_5 "Verde" +#define TR_FS_COLOR_LIST_6 "Giallo" +#define TR_FS_COLOR_LIST_7 "Arancio" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Rosa" #define TR_GROUP "Gruppo" #define TR_GROUP_ALWAYS_ON "Sempre on" #define TR_LUA_OVERRIDE "Consenti sovrascrittura Lua" @@ -380,28 +494,19 @@ #define TR_SWITCH_TYPE "Tipo" #define TR_SWITCH_STARTUP "Inizio" #define TR_SWITCH_GROUP "Gruppo" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trims" #define TR_FADEIN "Diss.In" #define TR_FADEOUT "Diss.Out" #define TR_DEFAULT "(Predefinita)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Contr. Trims" -#else - #define TR_CHECKTRIMS "\006Contr.\012Trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Contr.\012Trims", "Contr. Trims") #define TR_SWASHTYPE "Tipo Ciclico" #define TR_COLLECTIVE TR("Collettivo", "Origine Collettivo") #define TR_AILERON TR("Cic. later.", "Sorg. cic. later.") #define TR_ELEVATOR TR("Cic. long.", "Sorg. cic. long.") #define TR_SWASHRING "Anello Ciclico" #define TR_MODE "Modo" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Sinistro" -#else - #define TR_LEFT_STICK "Sx" -#endif +#define TR_LEFT_STICK "Sinistro" #define TR_SUBTYPE "Sottotipo" #define TR_NOFREEEXPO "Expo pieni!" #define TR_NOFREEMIXER "Mixer pieni!" @@ -424,11 +529,7 @@ #define TR_SLOWDOWN "Rall.Giù " #define TR_SLOWUP "Rall.Su" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE TR("Inter.", "Intervallo") #define TR_CENTER "Centro" #define TR_ALARM TR( "Allar.", "Allarme") @@ -497,20 +598,15 @@ #define TR_MODESRC "Modo\006% Origine" #define TR_MULTIPLIER "Moltiplica" #define TR_CAL "Cal" -#define TR_CALIBRATION "Calibrazione" +#define TR_CALIBRATION BUTTON("Calibrazione") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Calibratione completa" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTRA STICKS/SLIDERS" - #define TR_MOVESTICKSPOTS "MUOVI STICKS/POTS" -#else - #define TR_MENUTOSTART TR_ENTER "PER START" - #define TR_SETMIDPOINT TRSA(TR("CENTRA STICKS A META'", "CENTRA STICKS/SLIDERS"), TR("SETTA ASSI AL CENTRO", "CENTRA ASSI/SLIDERS")) - #define TR_MOVESTICKSPOTS TRSA("MUOVI STICK/POT", "MUOVI ASSI/POTS") - #define TR_MENUWHENDONE TR_ENTER " PER FINIRE" -#define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUTOSTART TR_ENTER "PER START" +#define TR_MENUWHENDONE TR_ENTER " PER FINIRE" +#define TR_AXISDIR "AXIS DIR" +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR(TR("CENTRA STICKS A META'", "CENTRA STICKS/SLIDERS"), TR("SETTA ASSI AL CENTRO", "CENTRA ASSI/SLIDERS")), "CENTRA STICKS/SLIDERS") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MUOVI STICK/POT", "MUOVI ASSI/POTS"), "MUOVI STICKS/POTS") #define TR_NODATA "DATI ASSENTI" #define TR_US "us" #define TR_HZ "Hz" @@ -540,7 +636,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODELLO" -#define TR_FM TRSA("DM", "FV") +#define TR_FM TR_SFC_AIR("DM", "FV") #define TR_EEPROMLOWMEM "EEPROM quasi piena!" #define TR_PRESS_ANY_KEY_TO_SKIP "\010Premi un tasto" #define TR_THROTTLE_NOT_IDLE "Gas non a minimo" @@ -559,11 +655,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "ANALOGICI CALIBRATI" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "ANALOGICI RAW (5 Hz)" #define TR_MENU_FSWITCH "INTERRUTTORI PERSONALIZZABILI" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Offset " -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Offset ", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "Canali => Failsafe" #define TR_CHANNEL2FAILSAFE "Canale => Failsafe" #define TR_MENUMODELSEL TR("MODELSEL", "SELEEZIONE MODELLO") @@ -669,7 +761,7 @@ #define TR_NO_TOOLS "Tools non disp." #define TR_NORMAL "Normale" #define TR_NOT_INVERTED "Non inv." -#define TR_NOT_CONNECTED TR("!Connesso", "Non Connesso"); +#define TR_NOT_CONNECTED TR("!Connesso", "Non Connesso") #define TR_CONNECTED "Connesso" #define TR_FLEX_915 "Flex 915MHz" #define TR_FLEX_868 "Flex 868MHz" @@ -680,7 +772,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Agg. opzioni RX?" #define TR_UPDATE_TX_OPTIONS "Agg. opzioni TX?" -#define TR_MODULES_RX_VERSION "Versioni Moduli / RX" +#define TR_MODULES_RX_VERSION BUTTON("Versioni Moduli / RX") #define TR_SHOW_MIXER_MONITORS "Mostra monitors mixer" #define TR_MENU_MODULES_RX_VERSION "VERSIONI MODULI / RX" #define TR_MENU_FIRM_OPTIONS "OPZIONI FIRMWARE" @@ -700,11 +792,7 @@ #define TR_GPS_MODEL_LOCATOR "Trova modello con GPS" #define TR_REFRESH "Ricarica" #define TR_SDCARD_FULL "SDCard piena" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogs e Screenshots disattivati" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs e Screenshots" LCDW_128_LINEBREAK "disattivati" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs e Screenshots" LCDW_128_LINEBREAK "disattivati", TR_SDCARD_FULL "\nLogs e Screenshots disattivati") #define TR_NEEDS_FILE "RICHIEDE FILE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -763,7 +851,8 @@ #define TR_CRSF_ARMING_MODE TR("Modo arm", "Modo d'armamento") #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "Modo Semplice" -#define TR_SAMPLE_MODES "Normale","OneBit" +#define TR_SAMPLE_MODES_1 "Normale" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Caricamento..." #define TR_DELETE_THEME "Cancello Tema?" #define TR_SAVE_THEME "Salvo Tema?" @@ -771,15 +860,16 @@ #define TR_NO_THEME_IMAGE "Nessuna immagine trovata" #define TR_BACKLIGHT_TIMER "Tempo d'inattività" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Selezione rapida modello" - #define TR_LABELS_SELECT "Seleziona etichette" - #define TR_LABELS_MATCH "Abbinamento etichette" - #define TR_FAV_MATCH "Abbinamento favoriti" - #define TR_LABELS_SELECT_MODE "Selezione multipla","Selezione singola" - #define TR_LABELS_MATCH_MODE "Abbina tutti","Abbina qualsiasi" - #define TR_FAV_MATCH_MODE "Deve coincidere","Abbinamento facoltativo" -#endif +#define TR_MODEL_QUICK_SELECT "Selezione rapida modello" +#define TR_LABELS_SELECT "Seleziona etichette" +#define TR_LABELS_MATCH "Abbinamento etichette" +#define TR_FAV_MATCH "Abbinamento favoriti" +#define TR_LABELS_SELECT_MODE_1 "Selezione multipla" +#define TR_LABELS_SELECT_MODE_2 "Selezione singola" +#define TR_LABELS_MATCH_MODE_1 "Abbina tutti" +#define TR_LABELS_MATCH_MODE_2 "Abbina qualsiasi" +#define TR_FAV_MATCH_MODE_1 "Deve coincidere" +#define TR_FAV_MATCH_MODE_2 "Abbinamento facoltativo" #define TR_SELECT_TEMPLATE_FOLDER "Seleziona Cartella Template:" #define TR_SELECT_TEMPLATE "SELEZIONA TEMPLATE MODELLO:" @@ -799,11 +889,10 @@ #define TR_BLUETOOTH_NODEVICES "Nessun Dispositivo Trovato" #define TR_BLUETOOTH_SCANNING "Scansione..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Attivo" -#else -#define TR_BLUETOOTH_MODES "---","Telemetr.","Trainer" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetr." +#define TR_BLUETOOTH_MODES_3 "Trainer" +#define TR_BLUETOOTH_MODES_4 "Attivo" #define TR_SD_INFO_TITLE "INFO SD" #define TR_SD_SPEED "Veloc.:" @@ -814,7 +903,18 @@ #define TR_GLOBAL_VAR "Variabile globale" #define TR_OWN "Fase" #define TR_DATE "Data" -#define TR_MONTHS "Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic" +#define TR_MONTHS_1 "Gen" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "Mag" +#define TR_MONTHS_6 "Giu" +#define TR_MONTHS_7 "Lug" +#define TR_MONTHS_8 "Ago" +#define TR_MONTHS_9 "Set" +#define TR_MONTHS_10 "Ott" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dic" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("Modo RotEnc","Modo Rotary Encoder") #define TR_CHANNELS_MONITOR "MONITOR CANALI" @@ -919,14 +1019,14 @@ #define TR_PXX2_SELECT_RX "Seleziona RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Seleziona dispositivo" -#define TR_DISCOVER "Cerca" +#define TR_DISCOVER BUTTON("Cerca") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "In attesa..." #define TR_RECEIVER_DELETE "Cancello RX?" #define TR_RECEIVER_RESET "Resetto RX?" #define TR_SHARE "Condividere" #define TR_BIND "Bind" -#define TR_REGISTER TR("Reg", "Registrare") +#define TR_REGISTER BUTTON(TR("Reg", "Registrare")) #define TR_MODULE_RANGE TR("[Rng]","[Range]") #define TR_RANGE_TEST "Test del link radio a bassa potenza" #define TR_RECEIVER_OPTIONS TR("OPZIONI RX", "OPZIONI RICEVENTE") @@ -957,11 +1057,11 @@ #define TR_TELEMETRY_NEWSENSOR "Aggiungi sensore" #define TR_CHANNELRANGE TR("Num Canali", "Numero Canali") #define TR_ANTENNACONFIRM1 "ANTENNA EST." -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Interna","Chiedi","Per modello","Intern + Esterno" -#else - #define TR_ANTENNA_MODES "Interna","Chiedi","Per modello","Esterno" -#endif +#define TR_ANTENNA_MODES_1 "Interna" +#define TR_ANTENNA_MODES_2 "Chiedi" +#define TR_ANTENNA_MODES_3 "Per modello" +#define TR_ANTENNA_MODES_4 "Intern + Esterno" +#define TR_ANTENNA_MODES_5 "Esterno" #define TR_USE_INTERNAL_ANTENNA TR("Usa ant. int.", "Usa antenna interna") #define TR_USE_EXTERNAL_ANTENNA TR("Usa ant. est.", "Usa antenna esterna") #define TR_ANTENNACONFIRM2 TR("Controlla instal.", "Controlla prima se installata!") @@ -978,7 +1078,7 @@ #define TR_CURVE_PRESET "Preimpostate..." #define TR_PRESET "Preimpostate" #define TR_MIRROR "Mirror" -#define TR_CLEAR "Cancella" +#define TR_CLEAR BUTTON("Cancella") #define TR_RESET "Azzera" #define TR_RESET_SUBMENU "Azzera..." #define TR_COUNT "Punti" @@ -993,7 +1093,9 @@ #define TR_MIXSOURCE "Sorgente (%)" #define TR_MIXSOURCERAW "Sorgente (valore)" #define TR_CONSTANT "Constante" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Off","On","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Off" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "On" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Controlli Prevolo" #define TR_CHECKLIST "Mostra Checklist" #define TR_CHECKLIST_INTERACTIVE TR3("Interatt-C", "Interact. checklist", "Checklist interattiva") @@ -1008,7 +1110,8 @@ #define TR_CONFIRMRESET "Resettare TUTTI i dati?" #define TR_TOO_MANY_LUA_SCRIPTS "Troppi Scripts Lua!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "Nessuno Schermo Telemetria" #define TR_TOUCH_PANEL "Schermo touch:" #define TR_FILE_SIZE "Dimensione file" @@ -1036,36 +1139,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Simmetria" #define TR_INVERTED "Invertito" - -#define TR_LSW_DESCRIPTIONS "Confronta tipo o funzione", "Prima variabile", "Seconda variabile o costante", "Seconda variabile o costante", "Condizione aggiuntiva per abilitare linea", "Durata minima ON dell'interruttore logico", "Durata minima REALE per abilitare l'interruttore" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Primo canale" - #define TR_FILL_BACKGROUND "Riempi lo sfondo?" - #define TR_BG_COLOR "Colore sfondo" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "Sliders" - #define TR_FLIGHT_MODE "Modo di volo" - #define TR_INVALID_FILE "File invalido" - #define TR_TIMER_SOURCE "Sorgente timer" - #define TR_SIZE "Dimensione" - #define TR_SHADOW "Ombra" - #define TR_ALIGNMENT "Allineamento" - #define TR_ALIGN_LABEL "Allinea etichetta" - #define TR_ALIGN_VALUE "Allinea il valore" - #define TR_ALIGN_OPTS "Sinistra", "Centro", "Destra" - #define TR_TEXT "Testo" - #define TR_COLOR "Colore" - #define TR_PANEL1_BACKGROUND "Sfondo Panello 1" - #define TR_PANEL2_BACKGROUND "Sfondo Panello 2" - #define TR_WIDGET_GAUGE "Indicatore" - #define TR_WIDGET_MODELBMP "Immagine e nome modello" - #define TR_WIDGET_OUTPUTS "Uscite" - #define TR_WIDGET_TEXT "Testo" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Valore" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Primo canale" +#define TR_FILL_BACKGROUND "Riempi lo sfondo?" +#define TR_BG_COLOR "Colore sfondo" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "Sliders" +#define TR_FLIGHT_MODE "Modo di volo" +#define TR_INVALID_FILE "File invalido" +#define TR_TIMER_SOURCE "Sorgente timer" +#define TR_SIZE "Dimensione" +#define TR_SHADOW "Ombra" +#define TR_ALIGNMENT "Allineamento" +#define TR_ALIGN_LABEL "Allinea etichetta" +#define TR_ALIGN_VALUE "Allinea il valore" +#define TR_ALIGN_OPTS_1 "Sinistra" +#define TR_ALIGN_OPTS_2 "Centro" +#define TR_ALIGN_OPTS_3 "Destra" +#define TR_TEXT "Testo" +#define TR_COLOR "Colore" +#define TR_PANEL1_BACKGROUND "Sfondo Panello 1" +#define TR_PANEL2_BACKGROUND "Sfondo Panello 2" +#define TR_WIDGET_GAUGE "Indicatore" +#define TR_WIDGET_MODELBMP "Immagine e nome modello" +#define TR_WIDGET_OUTPUTS "Uscite" +#define TR_WIDGET_TEXT "Testo" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Valore" // About screen #define TR_ABOUTUS TR(" INFO ", "INFO SU") @@ -1098,7 +1198,7 @@ #define TR_CELLINDEX "Indice cella" #define TR_LOGS "Logs" #define TR_OPTIONS "Opzioni" -#define TR_FIRMWARE_OPTIONS "Opzioni firmware" +#define TR_FIRMWARE_OPTIONS BUTTON("Opzioni firmware") #define TR_ALTSENSOR "Sensore Alt" #define TR_CELLSENSOR "Sensore Cell" @@ -1151,11 +1251,6 @@ #define TR_USE_THEME_COLOR "Usa colore tema" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Agg. Trim a Subtrim" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Apri Monitor Canali" -#else - #define TR_OPEN_CHANNEL_MONITORS "Apri Mon. Canali" -#endif #define TR_DUPLICATE "Duplica" #define TR_ACTIVATE "Setta Attivo" #define TR_RED "Rosso" @@ -1190,6 +1285,7 @@ #define TR_CANCEL "Elimina" #define TR_EDIT_THEME "EDITA TEMA" #define TR_DETAILS "Dettagli" +#define TR_THEME_EDITOR "TEMI" // Voice in native language #define TR_VOICE_ENGLISH "Inglese" @@ -1215,29 +1311,71 @@ #define TR_USBJOYSTICK_LABEL "Joystick USB" #define TR_USBJOYSTICK_EXTMODE "Modo" -#define TR_VUSBJOYSTICK_EXTMODE "Classico","Avanzato" -#define TR_USBJOYSTICK_SETTINGS "Settaggio canali" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Classico" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Avanzato" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Settaggio canali") #define TR_USBJOYSTICK_IF_MODE TR("Modo in.","Modo interfaccia") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","Multi Assi" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "Multi Assi" #define TR_USBJOYSTICK_CH_MODE "Modo" -#define TR_VUSBJOYSTICK_CH_MODE "Nessuno","Btn","Assi","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Nessuno" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Assi" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Modo pulsante" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normale","Impulsi","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normale"),TR("Impu","Impulsi"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normale" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Impulsi" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normale") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Impu","Impulsi") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Posizioni" -#define TR_VUSBJOYSTICK_CH_SWPOS "Pulsante","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Pulsante" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Assi" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Sim assi" -#define TR_VUSBJOYSTICK_CH_SIM "Ale","Ele","Dir","Mot","Acc","Fre","Sterz","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ale" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Dir" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Mot" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Fre" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Sterz" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversione" #define TR_USBJOYSTICK_CH_BTNNUM "Pulsante no." #define TR_USBJOYSTICK_BTN_COLLISION "!Collisione pulsante no.!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Collisione assi!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Rit. Cir.", "Ritaglio circolare") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "Nessuno","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Applica modifiche" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "Nessuno" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Applica modifiche") #define TR_DIGITAL_SERVO "Servo 333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1253,7 +1391,10 @@ #define TR_SELECT_MENU_CLR "Pulisci" #define TR_SELECT_MENU_INV "Inverti" -#define TR_SORT_ORDERS "Nome A-Z","Nome Z-A","Meno usati","Più usati" +#define TR_SORT_ORDERS_1 "Nome A-Z" +#define TR_SORT_ORDERS_2 "Nome Z-A" +#define TR_SORT_ORDERS_3 "Meno usati" +#define TR_SORT_ORDERS_4 "Più usati" #define TR_SORT_MODELS_BY "Ordina modelli per" #define TR_CREATE_NEW "Crea" diff --git a/radio/src/translations/jp.h b/radio/src/translations/i18n/jp.h similarity index 73% rename from radio/src/translations/jp.h rename to radio/src/translations/i18n/jp.h index c0afe682d65..7f7e4909e82 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/i18n/jp.h @@ -29,14 +29,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -44,7 +36,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -73,7 +65,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -92,8 +84,8 @@ #define TR_MAIN_MENU_THEMES "テーマ" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "ヘリ セットアップ" -#define TR_MENUFLIGHTMODES TRSA("ドライブモード", "飛行モード") -#define TR_MENUFLIGHTMODE TRSA("ドライブモード", "飛行モード") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("ドライブモード", "飛行モード") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("ドライブモード", "飛行モード") #define TR_MENUINPUTS "入力" #define TR_MENULIMITS "出力" #define TR_MENUCURVES "カーブ" @@ -118,53 +110,105 @@ #define TR_MINUTE_PLURAL1 "分間" #define TR_MINUTE_PLURAL2 "分間" -#define TR_OFFON "OFF","ON" -#define TR_MMMINV "---","リバース" -#define TR_VBEEPMODE "消音","アラームのみ","キー音なし","すべて" -#define TR_VBLMODE "OFF","クリック時",TR("Ctrl","操作時"),"両方","ON" -#define TR_TRNMODE "OFF",TR("+=","加算"),TR(":=","置換") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "OFF","テレメトリーミラー","テレメトリーIN","SBUSトレーナー","LUAスクリプト","CLI","GPS","デバッグ","SpaceMouse","外部モジュール" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "なし","トグル","2POS","3POS","グローバル" -#else -#define TR_SWTYPES "なし","トグル","2POS","3POS" -#endif -#define TR_POTTYPES "なし","ダイヤル",TR("Pot w. det","ダイヤル(ノッチ)"),"スライダー",TR("Multipos","マルチPOS-Sw"),"X軸","Y軸","スイッチ" -#define TR_VPERSISTENT "無効","飛行時","手動リセット" -#define TR_COUNTRY_CODES TR("US","アメリカ"),TR("JP","日本"),TR("EU","ヨーロッパ") -#define TR_USBMODES "確認",TR("Joyst","JoyStick"),TR("SDカード","ストレージ"),"シリアル" -#define TR_JACK_MODES "確認","音声","トレーナー" - -#define TR_SBUS_INVERSION_VALUES "標準","リバースなし" +#define TR_OFFON_1 "OFF" +#define TR_OFFON_2 "ON" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "リバース" +#define TR_VBEEPMODE_1 "消音" +#define TR_VBEEPMODE_2 "アラームのみ" +#define TR_VBEEPMODE_3 "キー音なし" +#define TR_VBEEPMODE_4 "すべて" +#define TR_VBLMODE_1 "OFF" +#define TR_VBLMODE_2 "クリック時" +#define TR_VBLMODE_3 TR("Ctrl","操作時") +#define TR_VBLMODE_4 "両方" +#define TR_VBLMODE_5 "ON" +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","加算") +#define TR_TRNMODE_3 TR(":=","置換") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "OFF" +#define TR_AUX_SERIAL_MODES_2 "テレメトリーミラー" +#define TR_AUX_SERIAL_MODES_3 "テレメトリーIN" +#define TR_AUX_SERIAL_MODES_4 "SBUSトレーナー" +#define TR_AUX_SERIAL_MODES_5 "LUAスクリプト" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "デバッグ" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "外部モジュール" +#define TR_SWTYPES_1 "なし" +#define TR_SWTYPES_2 "トグル" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "グローバル" +#define TR_POTTYPES_1 "なし" +#define TR_POTTYPES_2 "ダイヤル" +#define TR_POTTYPES_3 TR("Pot w. det","ダイヤル(ノッチ)") +#define TR_POTTYPES_4 "スライダー" +#define TR_POTTYPES_5 TR("Multipos","マルチPOS-Sw") +#define TR_POTTYPES_6 "X軸" +#define TR_POTTYPES_7 "Y軸" +#define TR_POTTYPES_8 "スイッチ" +#define TR_VPERSISTENT_1 "無効" +#define TR_VPERSISTENT_2 "飛行時" +#define TR_VPERSISTENT_3 "手動リセット" +#define TR_COUNTRY_CODES_1 TR("US","アメリカ") +#define TR_COUNTRY_CODES_2 TR("JP","日本") +#define TR_COUNTRY_CODES_3 TR("EU","ヨーロッパ") +#define TR_USBMODES_1 "確認" +#define TR_USBMODES_2 TR("Joyst","JoyStick") +#define TR_USBMODES_3 TR("SDカード","ストレージ") +#define TR_USBMODES_4 "シリアル" +#define TR_JACK_MODES_1 "確認" +#define TR_JACK_MODES_2 "音声" +#define TR_JACK_MODES_3 "トレーナー" + +#define TR_SBUS_INVERSION_VALUES_1 "標準" +#define TR_SBUS_INVERSION_VALUES_2 "リバースなし" #define TR_MULTI_CUSTOM "カスタム" -#define TR_VTRIMINC "ステップExpo","ステップ微小","ステップ小","ステップ中","ステップ大" -#define TR_VDISPLAYTRIMS "非表示","変更時","常時表示" -#define TR_VBEEPCOUNTDOWN "消音","ビープ","音声","バイブレート",TR("B & H","ビープ & バイブ"),TR("V & H","音声 & バイブ") -#define TR_COUNTDOWNVALUES "5秒","10秒","20秒","30秒" -#define TR_VVARIOCENTER "トーン","消音" -#define TR_CURVE_TYPES "スタンダード","カスタム" - -#define TR_ADCFILTERVALUES "グローバル","OFF","ON" - -#define TR_VCURVETYPE "Diff","Expo","Func","Cstm" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "加算","乗算","置換" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Stky" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_SF_SAFETY "上書き" -#else - #define TR_SF_SAFETY "Overr." -#endif +#define TR_SF_SAFETY TR("Overr.", "上書き") #define TR_SF_SCREENSHOT "画面キャプチャ" #define TR_SF_RACING_MODE "レースモード" #define TR_SF_DISABLE_TOUCH "非タッチ" #define TR_SF_DISABLE_AUDIO_AMP "オーディオアンプ OFF" -#define TR_SF_SET_SCREEN "メイン画面設定" -#define TR_SF_SET_TELEMSCREEN "画面設定" +#define TR_SF_SET_SCREEN TR_BW_COL("画面設定", "メイン画面設定") #define TR_SF_PUSH_CUST_SWITCH "Push CS" #define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "テレメトリー") #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("すべて","飛行時"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Beep1"),TR("Bp2","Beep2"),TR("Bp3","Beep3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TIMERS_1 "Tmr1" +#define TR_FSW_RESET_TIMERS_2 "Tmr2" +#define TR_FSW_RESET_TIMERS_3 "Tmr3" + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("すべて","飛行時") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM "メートル法","ヤードポンド法" -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "無効","数値","バー","スクリプト" -#define TR_GPSFORMAT "DMS","NMEA" - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "メートル法" +#define TR_VUNITSSYSTEM_2 "ヤードポンド法" +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "無効" +#define TR_VTELEMSCREENTYPE_2 "数値" +#define TR_VTELEMSCREENTYPE_3 "バー" +#define TR_VTELEMSCREENTYPE_4 "スクリプト" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Rud" #define TR_STICK_NAMES1 "Ele" @@ -235,103 +331,113 @@ #define TR_SURFACE_NAMES0 "ST" #define TR_SURFACE_NAMES1 "TH" -#if defined(PCBPL18) - #define TR_RFPOWER_AFHDS2 "初期値","高出力" -#endif +#define TR_RFPOWER_AFHDS2_1 "初期値" +#define TR_RFPOWER_AFHDS2_2 "高出力" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","One" - -#if defined(USE_HATS_AS_KEYS) - #define TR_HATSMODE "アナログスティック" - #define TR_HATSOPT "トリムのみ","キーのみ","スイッチ","すべて" - #define TR_HATSMODE_TRIMS "アナログスティック: トリム" - #define TR_HATSMODE_KEYS "アナログスティック: キー" - #define TR_HATSMODE_KEYS_HELP "左側:\n"\ - " 右 = MDL\n"\ - " 上 = SYS\n"\ - " 下 = TELE\n"\ - "\n"\ - "右側:\n"\ - " 左 = PAGE<\n"\ - " 右 = PAGE>\n"\ - " 上 = PREV/INC\n"\ - " 下 = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "標準","リバース" -#else - #define TR_ROTARY_ENC_OPT "標準","リバース","V-I H-N","V-I H-A","V-N E-I" -#endif - -#if defined(IMU) - #define TR_IMU_VSRCRAW "チルトX軸","チルトY軸", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif - +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "One" + +#define TR_HATSMODE "アナログスティック" +#define TR_HATSOPT_1 "トリムのみ" +#define TR_HATSOPT_2 "キーのみ" +#define TR_HATSOPT_3 "スイッチ" +#define TR_HATSOPT_4 "すべて" +#define TR_HATSMODE_TRIMS "アナログスティック: トリム" +#define TR_HATSMODE_KEYS "アナログスティック: キー" +#define TR_HATSMODE_KEYS_HELP "左側:\n"\ + " 右 = MDL\n"\ + " 上 = SYS\n"\ + " 下 = TELE\n"\ + "\n"\ + "右側:\n"\ + " 左 = PAGE<\n"\ + " 右 = PAGE>\n"\ + " 上 = PREV/INC\n"\ + " 下 = NEXT/DEC" + +#define TR_ROTARY_ENC_OPT_1 "標準" +#define TR_ROTARY_ENC_OPT_2 "リバース" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" + +#define TR_IMU_VSRCRAW_1 "チルトX軸" +#define TR_IMU_VSRCRAW_2 "チルトY軸" + +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ON","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ON" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "マスター/Jack" #define TR_VTRAINER_SLAVE_JACK "スレーブ/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "マスター/SBUSモジュール" #define TR_VTRAINER_MASTER_CPPM_MODULE "マスター/CPPMモジュール" #define TR_VTRAINER_MASTER_BATTERY "マスター/シリアル" -#define TR_VTRAINER_BLUETOOTH "マスター/" TR("BT","Bluetooth"), "スレーブ/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "マスター/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "スレーブ/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "マスター/Multi" #define TR_VTRAINER_CRSF "マスター/CRSF" -#define TR_VFAILSAFE "設定なし","ホールド","カスタム","信号なし","受信機" -#define TR_VSENSORTYPES "カスタム","演算" -#define TR_VFORMULAS "加算値","平均値","最小値","最大値","乗算値","合計値","セル","消費量","距離" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "最低値","1","2","3","4","5","6","7","8","最高値","差分" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (中央)","= (全体)" -#define TR_TIMER_DIR TR("Remain", "残り時間表示"), TR("Elaps.", "経過時間表示") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "設定なし" +#define TR_VFAILSAFE_2 "ホールド" +#define TR_VFAILSAFE_3 "カスタム" +#define TR_VFAILSAFE_4 "信号なし" +#define TR_VFAILSAFE_5 "受信機" +#define TR_VSENSORTYPES_1 "カスタム" +#define TR_VSENSORTYPES_2 "演算" +#define TR_VFORMULAS_1 "加算値" +#define TR_VFORMULAS_2 "平均値" +#define TR_VFORMULAS_3 "最小値" +#define TR_VFORMULAS_4 "最大値" +#define TR_VFORMULAS_5 "乗算値" +#define TR_VFORMULAS_6 "合計値" +#define TR_VFORMULAS_7 "セル" +#define TR_VFORMULAS_8 "消費量" +#define TR_VFORMULAS_9 "距離" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "最低値" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "最高値" +#define TR_VCELLINDEX_11 "差分" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (中央)" +#define TR_SUBTRIMMODES_2 "= (全体)" +#define TR_TIMER_DIR_1 TR("Remain", "残り時間表示") +#define TR_TIMER_DIR_2 TR("Elaps.", "経過時間表示") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "フリー" #define TR_YES "はい" @@ -365,11 +471,19 @@ #define TR_PROTOCOL TR("Proto", "プロトコル") #define TR_PPMFRAME "PPMフレーム" #define TR_REFRESHRATE TR("Refresh", "リフレッシュレート") -#define STR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "警告: 出力レベル VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "警告: 出力レベル VBAT: ") #define TR_WARN_5VOLTS "警告: 出力レベル 5V" #define TR_MS "ms" #define TR_SWITCH "スイッチ" -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -379,28 +493,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "トリガー" #define TR_TRIMS "トリム" #define TR_FADEIN "フェードイン" #define TR_FADEOUT "フェードアウト" #define TR_DEFAULT "(デフォルト)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "現在の飛行モードのトリムをチェック" -#else - #define TR_CHECKTRIMS "\006チェック\012トリム" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006チェック\012トリム", "現在の飛行モードのトリムをチェック") #define TR_SWASHTYPE "スワッシュタイプ" #define TR_COLLECTIVE TR("Collective", "Coll. pitch ソース") #define TR_AILERON TR("Lateral cyc.", "Lateral cyc. ソース") #define TR_ELEVATOR TR("Long. cyc.", "Long. cyc. ソース") #define TR_SWASHRING "スワッシュリング" #define TR_MODE "モード" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "左スティック" -#else - #define TR_LEFT_STICK "左スティック" -#endif +#define TR_LEFT_STICK "左スティック" #define TR_SUBTYPE "サブタイプ" #define TR_NOFREEEXPO "Expoが未設定です!!" #define TR_NOFREEMIXER "ミキサーが未設定です!!" @@ -423,11 +528,7 @@ #define TR_SLOWDOWN TR("Slow dn", "スローダウン") #define TR_SLOWUP "スローアップ" #define TR_CV "CV" -#if defined(PCBPL18) - #define TR_GV "GV" -#else - #define TR_GV TR("G", "GV") -#endif +#define TR_GV TR("G", "GV") #define TR_RANGE "範囲" #define TR_CENTER "中央値" #define TR_ALARM "アラーム" @@ -496,20 +597,15 @@ #define TR_MODESRC "モード\006% ソース" #define TR_MULTIPLIER "倍率" #define TR_CAL "設定" -#define TR_CALIBRATION "キャリブレーション" +#define TR_CALIBRATION BUTTON("キャリブレーション") #define TR_VTRIM "トリム - +" #define TR_CALIB_DONE "キャリブレーション 完了" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "スティック/スライダーを中央に合わせます" - #define TR_MOVESTICKSPOTS "スティック/スライダーを動かします" -#else - #define TR_MENUTOSTART TR_ENTER " TO START" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", TR("SET AXIS MIDPOINT", "CENTER AXIS/SLIDERS")) - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "MOVE AXIS/POTS") - #define TR_MENUWHENDONE TR_ENTER " WHEN DONE" +#define TR_MENUTOSTART TR_ENTER " TO START" +#define TR_MENUWHENDONE TR_ENTER " WHEN DONE" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", TR("SET AXIS MIDPOINT", "CENTER AXIS/SLIDERS")), "スティック/スライダーを中央に合わせます") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "MOVE AXIS/POTS"), "スティック/スライダーを動かします") #define TR_NODATA "NO DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -539,7 +635,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "モデル名" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROMメモリ低" #define TR_PRESS_ANY_KEY_TO_SKIP "任意のキーを押してスキップします" #define TR_THROTTLE_NOT_IDLE "Throttleがアイドル値ではありません" @@ -558,11 +654,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "アナログ キャリブレーション" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW アナログ (5 Hz)" #define TR_MENU_FSWITCH "カスタマイズ スイッチ" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "トリム => サブトリム" -#else - #define TR_TRIMS2OFFSETS "\006トリム => サブトリム" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006トリム => サブトリム", "トリム => サブトリム") #define TR_CHANNELS2FAILSAFE "チャンネル=>Failsafe" #define TR_CHANNEL2FAILSAFE "チャンネル=>Failsafe" #define TR_MENUMODELSEL TR("MODELSEL", "モデル選択") @@ -668,7 +760,7 @@ #define TR_NO_TOOLS "ツールはありません" #define TR_NORMAL "標準" #define TR_NOT_INVERTED "正方向" -#define TR_NOT_CONNECTED TR("!Connected", "未接続です"); +#define TR_NOT_CONNECTED TR("!Connected", "未接続です") #define TR_CONNECTED "接続しました" #define TR_FLEX_915 "FLEX 915MHz" #define TR_FLEX_868 "FLEX 868MHz" @@ -679,7 +771,7 @@ #define TR_PIN "ピン" #define TR_UPDATE_RX_OPTIONS "受信オプションをアップデートしますか ?" #define TR_UPDATE_TX_OPTIONS "送信オプションをアップデートしますか ?" -#define TR_MODULES_RX_VERSION "モジュール / 受信機バージョン" +#define TR_MODULES_RX_VERSION BUTTON("モジュール / 受信機バージョン") #define TR_SHOW_MIXER_MONITORS "チャンネルミキサーの表示" #define TR_MENU_MODULES_RX_VERSION "モジュール / 受信機バージョン" #define TR_MENU_FIRM_OPTIONS "ファームウェアオプション" @@ -699,11 +791,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SDカード空き容量なし" -#if defined(COLORLCD) - #define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nログとスクリーンショット保存が無効" -#else - #define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs & Screenshots" LCDW_128_LINEBREAK "disabled" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs & Screenshots" LCDW_128_LINEBREAK "disabled", TR_SDCARD_FULL "\nログとスクリーンショット保存が無効") #define TR_NEEDS_FILE "を含むファイルが必要です" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -762,7 +850,8 @@ #define TR_CRSF_ARMING_MODE "アーム ロック解除" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "サンプルモード" -#define TR_SAMPLE_MODES "標準","OneBit" +#define TR_SAMPLE_MODES_1 "標準" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "読み込み中..." #define TR_DELETE_THEME "テーマを削除しますか?" #define TR_SAVE_THEME "テーマを保存しますか?" @@ -770,15 +859,16 @@ #define TR_NO_THEME_IMAGE "テーマ画像はありません" #define TR_BACKLIGHT_TIMER "持続時間" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "モデル クイック選択" - #define TR_LABELS_SELECT "ラベル選択" - #define TR_LABELS_MATCH "ラベルマッチング" - #define TR_FAV_MATCH "お気に入りマッチング" - #define TR_LABELS_SELECT_MODE "複数選択","単一選択" - #define TR_LABELS_MATCH_MODE "すべてにマッチング","いずれかにマッチング" - #define TR_FAV_MATCH_MODE "必ずマッチング","任意にマッチング" -#endif +#define TR_MODEL_QUICK_SELECT "モデル クイック選択" +#define TR_LABELS_SELECT "ラベル選択" +#define TR_LABELS_MATCH "ラベルマッチング" +#define TR_FAV_MATCH "お気に入りマッチング" +#define TR_LABELS_SELECT_MODE_1 "複数選択" +#define TR_LABELS_SELECT_MODE_2 "単一選択" +#define TR_LABELS_MATCH_MODE_1 "すべてにマッチング" +#define TR_LABELS_MATCH_MODE_2 "いずれかにマッチング" +#define TR_FAV_MATCH_MODE_1 "必ずマッチング" +#define TR_FAV_MATCH_MODE_2 "任意にマッチング" #define TR_SELECT_TEMPLATE_FOLDER "テンプレートフォルダを選択:" #define TR_SELECT_TEMPLATE "モデルテンプレートを選択:" @@ -798,11 +888,10 @@ #define TR_BLUETOOTH_NODEVICES "デバイスが見つかりません" #define TR_BLUETOOTH_SCANNING "検索中..." #define TR_BLUETOOTH_BAUDRATE "BT ボーレート" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","有効" -#else -#define TR_BLUETOOTH_MODES "---","テレメトリー","トレーナー" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "テレメトリー" +#define TR_BLUETOOTH_MODES_3 "トレーナー" +#define TR_BLUETOOTH_MODES_4 "有効" #define TR_SD_INFO_TITLE "SDカード詳細" #define TR_SD_SPEED "速度:" @@ -813,7 +902,18 @@ #define TR_GLOBAL_VAR "グローバル変数" #define TR_OWN "Own" #define TR_DATE "日付" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "May" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Oct" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE "選択操作リバース" #define TR_CHANNELS_MONITOR "チャンネルモニター" @@ -918,14 +1018,14 @@ #define TR_PXX2_SELECT_RX "受信機選択" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "デバイス選択" -#define TR_DISCOVER "検索" +#define TR_DISCOVER BUTTON("検索") #define TR_BUTTON_INIT BUTTON("初期化") #define TR_WAITING "待機中..." #define TR_RECEIVER_DELETE "受信機を削除しますか?" #define TR_RECEIVER_RESET "受信機をリセットしますか?" #define TR_SHARE "共有" #define TR_BIND "Bind" -#define TR_REGISTER TR("Reg", "登録") +#define TR_REGISTER BUTTON(TR("Reg", "登録")) #define TR_MODULE_RANGE BUTTON(TR("Rng", "受信強度")) #define TR_RANGE_TEST "受信強度テスト" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "受信機オプション") @@ -956,11 +1056,11 @@ #define TR_TELEMETRY_NEWSENSOR "新規追加" #define TR_CHANNELRANGE TR("Ch. Range", "チャンネル範囲") #define TR_ANTENNACONFIRM1 "外部アンテナ" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "内部","確認","モデル毎","内部+外部" -#else - #define TR_ANTENNA_MODES "内部","確認","モデル毎","外部" -#endif +#define TR_ANTENNA_MODES_1 "内部" +#define TR_ANTENNA_MODES_2 "確認" +#define TR_ANTENNA_MODES_3 "モデル毎" +#define TR_ANTENNA_MODES_4 "内部+外部" +#define TR_ANTENNA_MODES_5 "外部" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "内部アンテナを使用") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "外部アンテナを使用") #define TR_ANTENNACONFIRM2 TR("Check antenna", "アンテナの装着を確認してください!!") @@ -977,7 +1077,7 @@ #define TR_CURVE_PRESET "プリセット..." #define TR_PRESET "プリセット" #define TR_MIRROR "ミラー" -#define TR_CLEAR "消去" +#define TR_CLEAR BUTTON("消去") #define TR_RESET "リセット" #define TR_RESET_SUBMENU "リセット..." #define TR_COUNT "カウント" @@ -992,7 +1092,9 @@ #define TR_MIXSOURCE "ソース (%)" #define TR_MIXSOURCERAW "ソース (値)" #define TR_CONSTANT "変化なし" -#define TR_PREFLIGHT_POTSLIDER_CHECK "OFF","ON","自動" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "OFF" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "ON" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "自動" #define TR_PREFLIGHT "飛行前チェック" #define TR_CHECKLIST TR("Checklist", "チェックリストの表示") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "インタラクティブ チェック") @@ -1007,7 +1109,8 @@ #define TR_CONFIRMRESET TR("Erase ALL", "全モデルと全設定を消去しますか?") #define TR_TOO_MANY_LUA_SCRIPTS "LUAスクリプトが多すぎます!!" #define TR_SPORT_UPDATE_POWER_MODE "SP 電源" -#define TR_SPORT_UPDATE_POWER_MODES "自動","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "自動" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "テレメトリー表示なし" #define TR_TOUCH_PANEL "タッチパネル:" #define TR_FILE_SIZE "ファイルサイズ" @@ -1035,36 +1138,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "サブトリムモード" #define TR_INVERTED "リバース" - -#define TR_LSW_DESCRIPTIONS "比較タイプまたは機能", "第1変数", "第2変数または定数", "第2変数または定数", "回線が有効となる追加条件", "論理スイッチの最小ON時間", "スイッチONになるまでの最小TRUE時間" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "第1チャンネル" - #define TR_FILL_BACKGROUND "背景を塗り潰しますか?" - #define TR_BG_COLOR "背景カラー" - #define TR_SLIDERS_TRIMS "スライダー+トリム" - #define TR_SLIDERS "スライダー" - #define TR_FLIGHT_MODE "飛行モード" - #define TR_INVALID_FILE "無効なファイル" - #define TR_TIMER_SOURCE "タイマーソース" - #define TR_SIZE "サイズ" - #define TR_SHADOW "影" - #define TR_ALIGNMENT "アライメント" - #define TR_ALIGN_LABEL "ラベルを揃える" - #define TR_ALIGN_VALUE "値を揃える" - #define TR_ALIGN_OPTS "左", "中央", "右" - #define TR_TEXT "テキスト" - #define TR_COLOR "カラー" - #define TR_PANEL1_BACKGROUND "パネル1 背景" - #define TR_PANEL2_BACKGROUND "パネル2 背景" - #define TR_WIDGET_GAUGE "ゲージ" - #define TR_WIDGET_MODELBMP "モデル" - #define TR_WIDGET_OUTPUTS "出力" - #define TR_WIDGET_TEXT "テキスト" - #define TR_WIDGET_TIMER "タイマー" - #define TR_WIDGET_VALUE "値" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "第1チャンネル" +#define TR_FILL_BACKGROUND "背景を塗り潰しますか?" +#define TR_BG_COLOR "背景カラー" +#define TR_SLIDERS_TRIMS "スライダー+トリム" +#define TR_SLIDERS "スライダー" +#define TR_FLIGHT_MODE "飛行モード" +#define TR_INVALID_FILE "無効なファイル" +#define TR_TIMER_SOURCE "タイマーソース" +#define TR_SIZE "サイズ" +#define TR_SHADOW "影" +#define TR_ALIGNMENT "アライメント" +#define TR_ALIGN_LABEL "ラベルを揃える" +#define TR_ALIGN_VALUE "値を揃える" +#define TR_ALIGN_OPTS_1 "左" +#define TR_ALIGN_OPTS_2 "中央" +#define TR_ALIGN_OPTS_3 "右" +#define TR_TEXT "テキスト" +#define TR_COLOR "カラー" +#define TR_PANEL1_BACKGROUND "パネル1 背景" +#define TR_PANEL2_BACKGROUND "パネル2 背景" +#define TR_WIDGET_GAUGE "ゲージ" +#define TR_WIDGET_MODELBMP "モデル" +#define TR_WIDGET_OUTPUTS "出力" +#define TR_WIDGET_TEXT "テキスト" +#define TR_WIDGET_TIMER "タイマー" +#define TR_WIDGET_VALUE "値" // About screen #define TR_ABOUTUS TR(" 概要 ", "概要") @@ -1097,7 +1197,7 @@ #define TR_CELLINDEX "セル番号" #define TR_LOGS "ログ" #define TR_OPTIONS "オプション" -#define TR_FIRMWARE_OPTIONS "ファームウェアオプション" +#define TR_FIRMWARE_OPTIONS BUTTON("ファームウェアオプション") #define TR_ALTSENSOR "Altセンサー" #define TR_CELLSENSOR "セルセンサー" @@ -1150,11 +1250,6 @@ #define TR_USE_THEME_COLOR "テーマ色を使用" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "サブトリムにすべてのトリムを追加" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "チャンネルモニター起動" -#else - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Mon." -#endif #define TR_DUPLICATE "複製" #define TR_ACTIVATE "設定の有効" #define TR_RED "赤" @@ -1189,6 +1284,7 @@ #define TR_CANCEL "キャンセル" #define TR_EDIT_THEME "テーマ編集" #define TR_DETAILS "詳細情報" +#define TR_THEME_EDITOR "テーマ" // Voice in native language #define TR_VOICE_ENGLISH "アメリカ-EN" @@ -1214,29 +1310,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "モード" -#define TR_VUSBJOYSTICK_EXTMODE "標準","詳細" -#define TR_USBJOYSTICK_SETTINGS "チャンネル設定" +#define TR_VUSBJOYSTICK_EXTMODE_1 "標準" +#define TR_VUSBJOYSTICK_EXTMODE_2 "詳細" +#define TR_USBJOYSTICK_SETTINGS BUTTON("チャンネル設定") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Interface mode") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","ゲームPad","マルチ軸" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "ゲームPad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "マルチ軸" #define TR_USBJOYSTICK_CH_MODE "モード" -#define TR_VUSBJOYSTICK_CH_MODE "なし","ボタン","軸","シミュ" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "なし" +#define TR_VUSBJOYSTICK_CH_MODE_2 "ボタン" +#define TR_VUSBJOYSTICK_CH_MODE_3 "軸" +#define TR_VUSBJOYSTICK_CH_MODE_4 "シミュ" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "ボタン" -#define TR_VUSBJOYSTICK_CH_BTNMODE "標準","パルス","SWエミュ","デルタ","コンパニオン" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","標準"),TR("Puls","パルス"),TR("SWEm","SWエミュ"),TR("Delt","デルタ"),TR("CPN","コンパニオン") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "標準" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "パルス" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWエミュ" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "デルタ" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "コンパニオン" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","標準") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","パルス") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWエミュ") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","デルタ") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","コンパニオン") #define TR_USBJOYSTICK_CH_SWPOS "Sw-POS" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "軸" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","Xロール","Yロール","Zロール","スライダー","ダイヤル","ホイール" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "Xロール" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "Yロール" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "Zロール" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "スライダー" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "ダイヤル" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "ホイール" #define TR_USBJOYSTICK_CH_SIM "シミュ軸" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "リバース" #define TR_USBJOYSTICK_CH_BTNNUM "ボタンNo." #define TR_USBJOYSTICK_BTN_COLLISION "!ボタンNo.の衝突!" #define TR_USBJOYSTICK_AXIS_COLLISION "!軸設定の衝突!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "円形カット") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "なし","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "変更を適用" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "なし" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("変更を適用") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1252,7 +1390,10 @@ #define TR_SELECT_MENU_CLR "消去" #define TR_SELECT_MENU_INV "リバース" -#define TR_SORT_ORDERS "名称 A-Z順","名称 Z-A順","利用の少ない順","利用の多い順" +#define TR_SORT_ORDERS_1 "名称 A-Z順" +#define TR_SORT_ORDERS_2 "名称 Z-A順" +#define TR_SORT_ORDERS_3 "利用の少ない順" +#define TR_SORT_ORDERS_4 "利用の多い順" #define TR_SORT_MODELS_BY "モデルをソート" #define TR_CREATE_NEW "作成" diff --git a/radio/src/translations/ko.h b/radio/src/translations/i18n/ko.h similarity index 74% rename from radio/src/translations/ko.h rename to radio/src/translations/i18n/ko.h index cb05e8165ea..86aa42a44c7 100644 --- a/radio/src/translations/ko.h +++ b/radio/src/translations/i18n/ko.h @@ -29,15 +29,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 - // For this number of minute in the last decimal place singular form is used in - // plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 - // If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -45,7 +36,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -74,7 +65,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -93,8 +84,8 @@ #define TR_MAIN_MENU_THEMES "테마" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "헬리 설정" -#define TR_MENUFLIGHTMODES TRSA("주행 모드", "비행 모드") -#define TR_MENUFLIGHTMODE TRSA("주행 모드", "비행 모드") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("주행 모드", "비행 모드") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("주행 모드", "비행 모드") #define TR_MENUINPUTS "입력" #define TR_MENULIMITS "출력" #define TR_MENUCURVES "커브" @@ -119,49 +110,105 @@ #define TR_MINUTE_PLURAL1 "분" #define TR_MINUTE_PLURAL2 "분" -#define TR_OFFON "끔", "켬" -#define TR_MMMINV "---", "반전" -#define TR_VBEEPMODE "무음", "알람", "키 없음", "모두" -#define TR_VBLMODE "꺼짐", "키", TR("제어부", "제어 장치"), "둘 다", "켬" -#define TR_TRNMODE "끔", TR("+=", "합치기"), TR(":=", "대체") -#define TR_TRNCHN "채널1", "채널2", "채널3", "채널4" - -#define TR_AUX_SERIAL_MODES "끔", "텔레미러", "텔레입력", "SBUS 트레이너", "LUA", "CLI", "GPS", "디버그", "SpaceMouse", "외부 모듈" -#define TR_SWTYPES "없음", "토글", "2단", "3단" -#define TR_POTTYPES "없음", "다이얼", TR("클릭 다이얼", "중심 클릭 다이얼"), "슬라이더", TR("다단", "다단 스위치"), "X축", "Y축", "스위치" -#define TR_VPERSISTENT "끔", "비행 중", "수동 초기화" -#define TR_COUNTRY_CODES TR("미국", "미국"), TR("일본", "일본"), TR("유럽", "유럽") -#define TR_USBMODES "선택 요청", TR("조이스틱", "조이스틱"), TR("SD카드", "저장소"), "시리얼" -#define TR_JACK_MODES "선택 요청", "오디오", "트레이너" - -#define TR_SBUS_INVERSION_VALUES "정방향", "반전 안함" +#define TR_OFFON_1 "끔" +#define TR_OFFON_2 "켬" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "반전" +#define TR_VBEEPMODE_1 "무음" +#define TR_VBEEPMODE_2 "알람" +#define TR_VBEEPMODE_3 "키 없음" +#define TR_VBEEPMODE_4 "모두" +#define TR_VBLMODE_1 "꺼짐" +#define TR_VBLMODE_2 "키" +#define TR_VBLMODE_3 TR("제어부", "제어 장치") +#define TR_VBLMODE_4 "둘 다" +#define TR_VBLMODE_5 "켬" +#define TR_TRNMODE_1 "끔" +#define TR_TRNMODE_2 TR("+=", "합치기") +#define TR_TRNMODE_3 TR(":=", "대체") +#define TR_TRNCHN_1 "채널1" +#define TR_TRNCHN_2 "채널2" +#define TR_TRNCHN_3 "채널3" +#define TR_TRNCHN_4 "채널4" + +#define TR_AUX_SERIAL_MODES_1 "끔" +#define TR_AUX_SERIAL_MODES_2 "텔레미러" +#define TR_AUX_SERIAL_MODES_3 "텔레입력" +#define TR_AUX_SERIAL_MODES_4 "SBUS 트레이너" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "디버그" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "외부 모듈" +#define TR_SWTYPES_1 "없음" +#define TR_SWTYPES_2 "토글" +#define TR_SWTYPES_3 "2단" +#define TR_SWTYPES_4 "3단" +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "없음" +#define TR_POTTYPES_2 "다이얼" +#define TR_POTTYPES_3 TR("클릭 다이얼", "중심 클릭 다이얼") +#define TR_POTTYPES_4 "슬라이더" +#define TR_POTTYPES_5 TR("다단", "다단 스위치") +#define TR_POTTYPES_6 "X축" +#define TR_POTTYPES_7 "Y축" +#define TR_POTTYPES_8 "스위치" +#define TR_VPERSISTENT_1 "끔" +#define TR_VPERSISTENT_2 "비행 중" +#define TR_VPERSISTENT_3 "수동 초기화" +#define TR_COUNTRY_CODES_1 TR("미국", "미국") +#define TR_COUNTRY_CODES_2 TR("일본", "일본") +#define TR_COUNTRY_CODES_3 TR("유럽", "유럽") +#define TR_USBMODES_1 "선택 요청" +#define TR_USBMODES_2 TR("조이스틱", "조이스틱") +#define TR_USBMODES_3 TR("SD카드", "저장소") +#define TR_USBMODES_4 "시리얼" +#define TR_JACK_MODES_1 "선택 요청" +#define TR_JACK_MODES_2 "오디오" +#define TR_JACK_MODES_3 "트레이너" + +#define TR_SBUS_INVERSION_VALUES_1 "정방향" +#define TR_SBUS_INVERSION_VALUES_2 "반전 안함" #define TR_MULTI_CUSTOM "사용자 정의" -#define TR_VTRIMINC TR("지수", "지수 증가"), TR("초정밀", "아주 미세"), "미세", "중간", "큼" -#define TR_VDISPLAYTRIMS "아니오", "변경시", "예" -#define TR_VBEEPCOUNTDOWN "무음", "삐 소리", "음성", "진동", TR("삐+진동", "삐 소리 + 진동"), TR("음성+진동", "음성 + 진동") -#define TR_COUNTDOWNVALUES "5초", "10초", "20초", "30초" -#define TR_VVARIOCENTER "톤", "무음" -#define TR_CURVE_TYPES "표준", "사용자 정의" - -#define TR_ADCFILTERVALUES "전역", "끔", "켬" - -#define TR_VCURVETYPE "차이", "지수", "수식", "사용자" -#define TR_VCURVEFUNC "---", "x>0", "x<0", "|x|", "f>0", "f<0", "|f|" -#define TR_VMLTPX "더하기", "곱하기", "대체" -#define TR_VMLTPX2 "+=", "*=", ":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "타이머" - #define TR_CSWSTICKY "고정" - #define TR_CSWSTAY "변화시" -#else - #define TR_CSWTIMER "타이머" - #define TR_CSWSTICKY "고정" - #define TR_CSWSTAY "변화" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---", TR_CSWEQUAL, "a~x", "a>x", "ax", "|a|b", "a= 212 -#define TR_SF_SAFETY "출력 오버라이드" -#else -#define TR_SF_SAFETY "Overr." -#endif +#define TR_SF_SAFETY TR("Overr.", "출력 오버라이드") #define TR_SF_SCREENSHOT "스크린샷 저장" #define TR_SF_RACING_MODE "레이싱 모드" #define TR_SF_DISABLE_TOUCH "터치 비활성화" #define TR_SF_DISABLE_AUDIO_AMP "오디오 앰프 끄기" -#define TR_SF_SET_SCREEN "메인 화면 설정" -#define TR_SF_SET_TELEMSCREEN "텔레 화면 설정" +#define TR_SF_SET_SCREEN TR_BW_COL("텔레 화면 설정", "메인 화면 설정") #define TR_SF_PUSH_CUST_SWITCH "커스텀 스위치 실행" #define TR_SF_LCD_TO_VIDEO "LCD -> 비디오 출력" #define TR_FSW_RESET_TELEM TR("텔레", "텔레메트리") #define TR_FSW_RESET_TRIMS "트림" -#define TR_FSW_RESET_TIMERS "타이머1", "타이머2", "타이머3" - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS, TR("전체", "비행"), TR_FSW_RESET_TELEM, TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("삐1", "삐 소리1"), TR("삐2", "삐 소리2"), TR("삐3", "삐 소리3"), TR("경고1", "경고음1"), TR("경고2", "경고음2"), TR("찍", "찍찍"), TR("따다", "따따다"), "틱", TR("사이렌", "사이렌"), "벨소리", TR("공상", "공상과학"), TR("로봇", "로봇음"), TR("짹", "짹짹"), "따다~", TR("귀뚜", "귀뚜라미"), TR("알람", "알람시계") +#define TR_FSW_RESET_TIMERS_1 "타이머1" +#define TR_FSW_RESET_TIMERS_2 "타이머2" +#define TR_FSW_RESET_TIMERS_3 "타이머3" + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("전체", "비행") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("삐1", "삐 소리1") +#define TR_FUNCSOUNDS_2 TR("삐2", "삐 소리2") +#define TR_FUNCSOUNDS_3 TR("삐3", "삐 소리3") +#define TR_FUNCSOUNDS_4 TR("경고1", "경고음1") +#define TR_FUNCSOUNDS_5 TR("경고2", "경고음2") +#define TR_FUNCSOUNDS_6 TR("찍", "찍찍") +#define TR_FUNCSOUNDS_7 TR("따다", "따따다") +#define TR_FUNCSOUNDS_8 "틱" +#define TR_FUNCSOUNDS_9 TR("사이렌", "사이렌") +#define TR_FUNCSOUNDS_10 "벨소리" +#define TR_FUNCSOUNDS_11 TR("공상", "공상과학") +#define TR_FUNCSOUNDS_12 TR("로봇", "로봇음") +#define TR_FUNCSOUNDS_13 TR("짹", "짹짹") +#define TR_FUNCSOUNDS_14 "따다~" +#define TR_FUNCSOUNDS_15 TR("귀뚜", "귀뚜라미") +#define TR_FUNCSOUNDS_16 TR("알람", "알람시계") #define LENGTH_UNIT_IMP "피트" #define SPEED_UNIT_IMP "마일/시" #define LENGTH_UNIT_METR "미터" #define SPEED_UNIT_METR "킬로미터" -#define TR_VUNITSSYSTEM "미터법", TR("영국식", "영국 단위계") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "없음", "숫자", "막대", "스크립트" -#define TR_GPSFORMAT "도/분/초", "NMEA" - -#define TR_VSWASHTYPE "없음", "120", "120X", "140", "90" +#define TR_VUNITSSYSTEM_1 "미터법" +#define TR_VUNITSSYSTEM_2 TR("영국식", "영국 단위계") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "없음" +#define TR_VTELEMSCREENTYPE_2 "숫자" +#define TR_VTELEMSCREENTYPE_3 "막대" +#define TR_VTELEMSCREENTYPE_4 "스크립트" +#define TR_GPSFORMAT_1 "도/분/초" +#define TR_GPSFORMAT_2 "NMEA" + +#define TR_VSWASHTYPE_1 "없음" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Rud" #define TR_STICK_NAMES1 "Ele" #define TR_STICK_NAMES2 "Thr" @@ -230,20 +330,20 @@ #define TR_SURFACE_NAMES0 "스티어링" #define TR_SURFACE_NAMES1 "스로틀" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "기본","높음" -#endif +#define TR_RFPOWER_AFHDS2_1 "기본" +#define TR_RFPOWER_AFHDS2_2 "높음" #define TR_ROTARY_ENCODERS "로터리 인코더" #define TR_ROTENC_SWITCHES "인코더 스위치" -#define TR_ON_ONE_SWITCHES "개별", "하나로" - - -#if defined(USE_HATS_AS_KEYS) +#define TR_ON_ONE_SWITCHES_1 "개별" +#define TR_ON_ONE_SWITCHES_2 "하나로" #define TR_HATSMODE "Hat 스위치 모드" -#define TR_HATSOPT "트림 전용","키 전용","전환 가능","전역 설정" +#define TR_HATSOPT_1 "트림 전용" +#define TR_HATSOPT_2 "키 전용" +#define TR_HATSOPT_3 "전환 가능" +#define TR_HATSOPT_4 "전역 설정" #define TR_HATSMODE_TRIMS "Hat 모드: 트림" #define TR_HATSMODE_KEYS "Hat 모드: 키" #define TR_HATSMODE_KEYS_HELP "왼쪽Hat\n"\ @@ -256,26 +356,19 @@ " 오른쪽 = 다음 페이지\n"\ " 위 = 이전/증가\n"\ " 아래 = 다음/감소" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "정방향", "역방향" -#else - #define TR_ROTARY_ENC_OPT "정방향", "역방향", "수직-정, 수평-정", "수직-정, 수평-역", "수직-역역, 수평-정" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "기울기X", "기울기Y" -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "정방향" +#define TR_ROTARY_ENC_OPT_2 "역방향" +#define TR_ROTARY_ENC_OPT_3 "수직-정, 수평-정" +#define TR_ROTARY_ENC_OPT_4 "수직-정, 수평-역" +#define TR_ROTARY_ENC_OPT_5 "수직-역역, 수평-정" -#if defined(HELI) - #define TR_CYC_VSRCRAW "사이클릭1", "사이클릭2", "사이클릭3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "기울기X" +#define TR_IMU_VSRCRAW_2 "기울기Y" +#define TR_CYC_VSRCRAW_1 "사이클릭1" +#define TR_CYC_VSRCRAW_2 "사이클릭2" +#define TR_CYC_VSRCRAW_3 "사이클릭3" #define TR_SRC_BATT "배터리" #define TR_SRC_TIME "시간" @@ -283,7 +376,12 @@ #define TR_SRC_TIMER "타이머" -#define TR_VTMRMODES "끔", "켬", "시작", "스로틀 스틱", "스로틀 비율", "스로틀 시간" +#define TR_VTMRMODES_1 "끔" +#define TR_VTMRMODES_2 "켬" +#define TR_VTMRMODES_3 "시작" +#define TR_VTMRMODES_4 "스로틀 스틱" +#define TR_VTMRMODES_5 "스로틀 비율" +#define TR_VTMRMODES_6 "스로틀 시간" #define TR_VTRAINER_MASTER_OFF "끔" #define TR_VTRAINER_MASTER_JACK "마스터/잭" @@ -291,46 +389,57 @@ #define TR_VTRAINER_MASTER_SBUS_MODULE "마스터/SBUS 모듈" #define TR_VTRAINER_MASTER_CPPM_MODULE "마스터/CPPM 모듈" #define TR_VTRAINER_MASTER_BATTERY "마스터/시리얼" -#define TR_VTRAINER_BLUETOOTH "마스터/" TR("BT","블루투스"), "슬레이브/" TR("BT","블루투스") +#define TR_VTRAINER_BLUETOOTH_1 "마스터/" TR("BT","블루투스") +#define TR_VTRAINER_BLUETOOTH_2 "슬레이브/" TR("BT","블루투스") #define TR_VTRAINER_MULTI "마스터/멀티" #define TR_VTRAINER_CRSF "마스터/CRSF" -#define TR_VFAILSAFE "설정 안됨", "고정", "사용자 지정", "신호 없음", "수신기 설정" -#define TR_VSENSORTYPES "사용자 정의", "계산됨" -#define TR_VFORMULAS "더하기", "평균", "최소값", "최대값", "곱하기", "합계", "셀", "소모량", "거리" -#define TR_VPREC "0.--", "0.0", "0.00" -#define TR_VCELLINDEX "최저", "1", "2", "3", "4", "5", "6", "7", "8", "최고", "차이" -#define TR_SUBTRIMMODES STR_CHAR_DELTA "(센터만)", "= (대칭)" -#define TR_TIMER_DIR TR("남은 시간", "잔여 시간 표시"), TR("경과 시간", "경과 시간 표시") -#define TR_PPMUNIT "0.--", "0.0", "μs" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "표준" -#else -#define TR_FONT_SIZES "표준", "굵게", "아주 작게", "작게", "크게", "아주 크게", "매우 크게" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "뒤로" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "나가기" - #define TR_OK "[확인]" -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT "나가기 <-> 확인" -#else - #define TR_POPUPS_ENTER_EXIT "확인 <-> 나가기" -#endif +#define TR_VFAILSAFE_1 "설정 안됨" +#define TR_VFAILSAFE_2 "고정" +#define TR_VFAILSAFE_3 "사용자 지정" +#define TR_VFAILSAFE_4 "신호 없음" +#define TR_VFAILSAFE_5 "수신기 설정" +#define TR_VSENSORTYPES_1 "사용자 정의" +#define TR_VSENSORTYPES_2 "계산됨" +#define TR_VFORMULAS_1 "더하기" +#define TR_VFORMULAS_2 "평균" +#define TR_VFORMULAS_3 "최소값" +#define TR_VFORMULAS_4 "최대값" +#define TR_VFORMULAS_5 "곱하기" +#define TR_VFORMULAS_6 "합계" +#define TR_VFORMULAS_7 "셀" +#define TR_VFORMULAS_8 "소모량" +#define TR_VFORMULAS_9 "거리" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0" +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "최저" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "최고" +#define TR_VCELLINDEX_11 "차이" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA "(센터만)" +#define TR_SUBTRIMMODES_2 "= (대칭)" +#define TR_TIMER_DIR_1 TR("남은 시간", "잔여 시간 표시") +#define TR_TIMER_DIR_2 TR("경과 시간", "경과 시간 표시") + +#define TR_FONT_SIZES_1 "표준" +#define TR_FONT_SIZES_2 "굵게" +#define TR_FONT_SIZES_3 "아주 작게" +#define TR_FONT_SIZES_4 "작게" +#define TR_FONT_SIZES_5 "크게" +#define TR_FONT_SIZES_6 "아주 크게" +#define TR_FONT_SIZES_7 "매우 크게" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[확인]", "\010\010\010\010\010[확인]"), "Ok") +#define TR_EXIT TR_BW_COL("나가기", "RTN") #define TR_FREE "사용 가능" #define TR_YES "예" @@ -366,12 +475,20 @@ #define TR_PROTOCOL TR("프로토콜", "통신 방식") #define TR_PPMFRAME "PPM 프레임" #define TR_REFRESHRATE TR("갱신", "갱신 속도") -#define STR_WARN_BATTVOLTAGE TR("출력은 VBAT: ", "경고: 출력 전압은 VBAT입니다") +#define TR_WARN_BATTVOLTAGE TR("출력은 VBAT: ", "경고: 출력 전압은 VBAT입니다") #define TR_WARN_5VOLTS "경고: 출력 전압이 5볼트입니다" #define TR_MS "ms" #define TR_SWITCH "스위치" -#define TR_FS_COLOR_LIST "사용자 정의", "끄기", "흰색", "빨강", "초록", "노랑", "주황", "파랑", "분홍" +#define TR_FS_COLOR_LIST_1 "사용자 정의" +#define TR_FS_COLOR_LIST_2 "끄기" +#define TR_FS_COLOR_LIST_3 "흰색" +#define TR_FS_COLOR_LIST_4 "빨강" +#define TR_FS_COLOR_LIST_5 "초록" +#define TR_FS_COLOR_LIST_6 "노랑" +#define TR_FS_COLOR_LIST_7 "주황" +#define TR_FS_COLOR_LIST_8 "파랑" +#define TR_FS_COLOR_LIST_9 "분홍" #define TR_GROUP "그룹" #define TR_GROUP_ALWAYS_ON "항상 켜짐" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -381,31 +498,20 @@ #define TR_SWITCH_TYPE "유형" #define TR_SWITCH_STARTUP "시작 시 상태" #define TR_SWITCH_GROUP "스위치 그룹" -#define TR_FUNCTION_SWITCH_GROUPS "---", "스위치 그룹 1", "스위치 그룹 2", "스위치 그룹 3" #define TR_SF_SWITCH "트리거" #define TR_TRIMS "트림" #define TR_FADEIN "페이드 인" #define TR_FADEOUT "페이드 아웃" #define TR_DEFAULT "(기본값)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "FM 트림 확인" -#else - #define TR_CHECKTRIMS "\006트림\012확인" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006트림\012확인", "FM 트림 확인") #define TR_SWASHTYPE "스와시 타입" #define TR_COLLECTIVE TR("콜렉티브", "집단 피치 소스") #define TR_AILERON TR("에일러론", "측면 싸이클릭 소스") #define TR_ELEVATOR TR("엘리베이터", "전후 싸이클릭 소스") #define TR_SWASHRING "스와시 링" - #define TR_MODE "모드" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "왼쪽 스틱" -#else - #define TR_LEFT_STICK "왼쪽 스틱" -#endif - +#define TR_LEFT_STICK "왼쪽 스틱" #define TR_SUBTYPE "하위 유형" #define TR_NOFREEEXPO "사용 가능한 Expo 없음!" #define TR_NOFREEMIXER "사용 가능한 믹서 없음!" @@ -428,13 +534,7 @@ #define TR_SLOWDOWN TR("느리게 내림", "하강 속도 조절") #define TR_SLOWUP "느리게 올림" #define TR_CV "CV" - - #if defined(PCBPL18) - #define TR_GV "GV" - #else - #define TR_GV TR("G", "GV") - #endif - +#define TR_GV TR("G", "GV") #define TR_RANGE "범위" #define TR_CENTER "중앙" #define TR_ALARM "알람" @@ -511,21 +611,16 @@ #define TR_MODESRC "모드별 소스" #define TR_MULTIPLIER "배율" #define TR_CAL "보정" -#define TR_CALIBRATION "보정" +#define TR_CALIBRATION BUTTON("보정") #define TR_VTRIM "트림 - +" #define TR_CALIB_DONE "보정 완료" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "스틱/슬라이더 중앙 정렬" - #define TR_MOVESTICKSPOTS "스틱/포트 이동" -#else - #define TR_MENUTOSTART TR_ENTER " -> 시작" - #define TR_SETMIDPOINT TRSA("포트 중앙 정렬", TR("스틱 중앙 정렬", "스틱/슬라이더 중앙 정렬")) - #define TR_MOVESTICKSPOTS TRSA("스티어링/스로틀/포트/슬라이더 이동", "스틱/포트 이동") - #define TR_MENUWHENDONE TR_ENTER " -> 완료" -#define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUTOSTART TR_ENTER " -> 시작" +#define TR_MENUWHENDONE TR_ENTER " -> 완료" +#define TR_AXISDIR "AXIS DIR" +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("포트 중앙 정렬", TR("스틱 중앙 정렬", "스틱/슬라이더 중앙 정렬")), "스틱/슬라이더 중앙 정렬") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("스티어링/스로틀/포트/슬라이더 이동", "스틱/포트 이동"), "스틱/포트 이동") #define TR_NODATA "데이터 없음" #define TR_US "us" #define TR_HZ "Hz" @@ -556,7 +651,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "채널" #define TR_MODEL "모델" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM 메모리 부족" #define TR_PRESS_ANY_KEY_TO_SKIP "아무 키나 눌러 건너뛰기" #define TR_THROTTLE_NOT_IDLE "스로틀이 유휴 상태가 아님" @@ -577,11 +672,7 @@ #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW 아날로그 (5 Hz)" #define TR_MENU_FSWITCH "사용자 스위치 설정" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "트림 -> 서브트림" -#else - #define TR_TRIMS2OFFSETS "\006트림 -> 서브트림" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006트림 -> 서브트림", "트림 -> 서브트림") #define TR_CHANNELS2FAILSAFE "채널 전체 -> 페일세이프" #define TR_CHANNEL2FAILSAFE "채널 -> 페일세이프" @@ -713,7 +804,7 @@ #define TR_UPDATE_RX_OPTIONS "수신기 옵션을 업데이트할까요?" #define TR_UPDATE_TX_OPTIONS "송신기 옵션을 업데이트할까요?" -#define TR_MODULES_RX_VERSION "모듈 / 수신기 버전" +#define TR_MODULES_RX_VERSION BUTTON("모듈 / 수신기 버전") #define TR_SHOW_MIXER_MONITORS "믹서 모니터 표시" #define TR_MENU_MODULES_RX_VERSION "모듈 / 수신기 버전" #define TR_MENU_FIRM_OPTIONS "펌웨어 옵션" @@ -734,11 +825,7 @@ #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD 카드가 가득 찼습니다" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\n로그 및 스크린샷 저장 불가" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036로그 및 스크린샷" LCDW_128_LINEBREAK "저장 불가" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036로그 및 스크린샷" LCDW_128_LINEBREAK "저장 불가", TR_SDCARD_FULL "\n로그 및 스크린샷 저장 불가") #define TR_NEEDS_FILE "파일 필요" #define TR_EXT_MULTI_SPEC "opentx-inv" @@ -803,7 +890,8 @@ #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE TR("샘플링", "샘플 모드") -#define TR_SAMPLE_MODES "일반", "1비트" +#define TR_SAMPLE_MODES_1 "일반" +#define TR_SAMPLE_MODES_2 "1비트" #define TR_LOADING "불러오는 중..." #define TR_DELETE_THEME "테마를 삭제할까요?" #define TR_SAVE_THEME "테마를 저장할까요?" @@ -811,15 +899,16 @@ #define TR_NO_THEME_IMAGE "테마 이미지 없음" #define TR_BACKLIGHT_TIMER "무작동 타이머" -#if defined(COLORLCD) #define TR_MODEL_QUICK_SELECT "빠른 모델 선택" #define TR_LABELS_SELECT "라벨 선택" #define TR_LABELS_MATCH "라벨 매칭" #define TR_FAV_MATCH "즐겨찾기 조건" -#define TR_LABELS_SELECT_MODE "다중 선택", "단일 선택" -#define TR_LABELS_MATCH_MODE "모두 일치", "하나 이상 일치" -#define TR_FAV_MATCH_MODE "일치해야 함", "일치해도 됨" -#endif +#define TR_LABELS_SELECT_MODE_1 "다중 선택" +#define TR_LABELS_SELECT_MODE_2 "단일 선택" +#define TR_LABELS_MATCH_MODE_1 "모두 일치" +#define TR_LABELS_MATCH_MODE_2 "하나 이상 일치" +#define TR_FAV_MATCH_MODE_1 "일치해야 함" +#define TR_FAV_MATCH_MODE_2 "일치해도 됨" #define TR_SELECT_TEMPLATE_FOLDER "템플릿 폴더 선택" #define TR_SELECT_TEMPLATE "모델 템플릿 선택:" @@ -840,11 +929,10 @@ #define TR_BLUETOOTH_SCANNING "검색 중..." #define TR_BLUETOOTH_BAUDRATE "블루투스 보드레이트" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---", "사용함" -#else -#define TR_BLUETOOTH_MODES "---", "텔레메트리", "트레이너" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "텔레메트리" +#define TR_BLUETOOTH_MODES_3 "트레이너" +#define TR_BLUETOOTH_MODES_4 "사용함" #define TR_SD_INFO_TITLE "SD 카드 정보" #define TR_SD_SPEED "속도:" @@ -855,7 +943,18 @@ #define TR_GLOBAL_VAR "전역 변수" #define TR_OWN "사용자 설정" #define TR_DATE "날짜" -#define TR_MONTHS "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월" +#define TR_MONTHS_1 "1월" +#define TR_MONTHS_2 "2월" +#define TR_MONTHS_3 "3월" +#define TR_MONTHS_4 "4월" +#define TR_MONTHS_5 "5월" +#define TR_MONTHS_6 "6월" +#define TR_MONTHS_7 "7월" +#define TR_MONTHS_8 "8월" +#define TR_MONTHS_9 "9월" +#define TR_MONTHS_10 "10월" +#define TR_MONTHS_11 "11월" +#define TR_MONTHS_12 "12월" #define TR_ROTARY_ENCODER "로터리 인코더" #define TR_ROTARY_ENC_MODE TR("인코더 모드", "로터리 인코더 모드") @@ -965,7 +1064,7 @@ #define TR_PXX2_SELECT_RX "수신기 선택" #define TR_PXX2_DEFAULT "<기본값>" #define TR_BT_SELECT_DEVICE "기기 선택" -#define TR_DISCOVER "검색" +#define TR_DISCOVER BUTTON("검색") #define TR_BUTTON_INIT BUTTON("초기화") #define TR_WAITING "대기 중..." @@ -973,7 +1072,7 @@ #define TR_RECEIVER_RESET "수신기를 초기화할까요?" #define TR_SHARE "공유" #define TR_BIND "바인딩" -#define TR_REGISTER TR("등록", "등록") +#define TR_REGISTER BUTTON(TR("등록", "등록")) #define TR_MODULE_RANGE BUTTON(TR("범위", "범위 테스트")) #define TR_RANGE_TEST "범위 테스트" #define TR_RECEIVER_OPTIONS TR("수신기 옵션", "RECEIVER OPTIONS") @@ -1006,11 +1105,11 @@ #define TR_CHANNELRANGE TR("채널 범위", "사용할 채널 범위") #define TR_ANTENNACONFIRM1 "외장 안테나" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "내장", "확인 요청", "모델별 설정", "내장 + 외장" -#else - #define TR_ANTENNA_MODES "내장", "확인 요청", "모델별 설정", "외장" -#endif +#define TR_ANTENNA_MODES_1 "내장" +#define TR_ANTENNA_MODES_2 "확인 요청" +#define TR_ANTENNA_MODES_3 "모델별 설정" +#define TR_ANTENNA_MODES_4 "내장 + 외장" +#define TR_ANTENNA_MODES_5 "외장" #define TR_USE_INTERNAL_ANTENNA TR("내장 안테나 사용", "내부 안테나 사용") #define TR_USE_EXTERNAL_ANTENNA TR("외장 안테나 사용", "외부 안테나 사용") @@ -1028,7 +1127,7 @@ #define TR_CURVE_PRESET "프리셋..." #define TR_PRESET "프리셋" #define TR_MIRROR "미러" -#define TR_CLEAR "지우기" +#define TR_CLEAR BUTTON("지우기") #define TR_RESET "초기화" #define TR_RESET_SUBMENU "초기화..." #define TR_COUNT "카운트" @@ -1044,7 +1143,9 @@ #define TR_MIXSOURCE "소스 (%)" #define TR_MIXSOURCERAW "소스 (값)" #define TR_CONSTANT "상수" -#define TR_PREFLIGHT_POTSLIDER_CHECK "끔", "켬", "자동" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "끔" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "켬" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "자동" #define TR_PREFLIGHT "비행 전 점검" #define TR_CHECKLIST TR("체크리스트", "체크리스트 보기") #define TR_CHECKLIST_INTERACTIVE TR3("체크리스트 상호작용", "상호작용 체크리스트", "인터랙티브 체크리스트") @@ -1060,7 +1161,8 @@ #define TR_CONFIRMRESET TR("전체 삭제", "모델과 설정을 모두 삭제할까요?") #define TR_TOO_MANY_LUA_SCRIPTS "Lua 스크립트가 너무 많습니다!" #define TR_SPORT_UPDATE_POWER_MODE "S.Port 전원" -#define TR_SPORT_UPDATE_POWER_MODES "자동", "항상 켜짐" +#define TR_SPORT_UPDATE_POWER_MODES_1 "자동" +#define TR_SPORT_UPDATE_POWER_MODES_2 "항상 켜짐" #define TR_NO_TELEMETRY_SCREENS "텔레메트리 화면 없음" #define TR_TOUCH_PANEL "터치 패널:" #define TR_FILE_SIZE "파일 크기" @@ -1088,35 +1190,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "서브트림 모드" #define TR_INVERTED "반전됨" -#define TR_LSW_DESCRIPTIONS "비교 방식 또는 기능", "첫 번째 변수", "두 번째 변수 또는 상수", "두 번째 변수 또는 상수", "라인이 활성화되기 위한 추가 조건", "스위치 ON 유지 최소 시간", "ON 되기 위한 조건 지속 시간" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "첫 번째 채널" - #define TR_FILL_BACKGROUND "배경 채우기?" - #define TR_BG_COLOR "배경 색상" - #define TR_SLIDERS_TRIMS "슬라이더 + 트림" - #define TR_SLIDERS "슬라이더" - #define TR_FLIGHT_MODE "비행 모드" - #define TR_INVALID_FILE "잘못된 파일" - #define TR_TIMER_SOURCE "타이머 소스" - #define TR_SIZE "크기" - #define TR_SHADOW "그림자" - #define TR_ALIGNMENT "정렬" - #define TR_ALIGN_LABEL "레이블 정렬" - #define TR_ALIGN_VALUE "값 정렬" - #define TR_ALIGN_OPTS "왼쪽", "가운데", "오른쪽" - #define TR_TEXT "텍스트" - #define TR_COLOR "색상" - #define TR_PANEL1_BACKGROUND "패널1 배경" - #define TR_PANEL2_BACKGROUND "패널2 배경" - #define TR_WIDGET_GAUGE "게이지" - #define TR_WIDGET_MODELBMP "모델 정보" - #define TR_WIDGET_OUTPUTS "출력" - #define TR_WIDGET_TEXT "텍스트" - #define TR_WIDGET_TIMER "타이머" - #define TR_WIDGET_VALUE "값" -#endif + // Horus layouts and widgets +#define TR_FIRST_CHANNEL "첫 번째 채널" +#define TR_FILL_BACKGROUND "배경 채우기?" +#define TR_BG_COLOR "배경 색상" +#define TR_SLIDERS_TRIMS "슬라이더 + 트림" +#define TR_SLIDERS "슬라이더" +#define TR_FLIGHT_MODE "비행 모드" +#define TR_INVALID_FILE "잘못된 파일" +#define TR_TIMER_SOURCE "타이머 소스" +#define TR_SIZE "크기" +#define TR_SHADOW "그림자" +#define TR_ALIGNMENT "정렬" +#define TR_ALIGN_LABEL "레이블 정렬" +#define TR_ALIGN_VALUE "값 정렬" +#define TR_ALIGN_OPTS_1 "왼쪽" +#define TR_ALIGN_OPTS_2 "가운데" +#define TR_ALIGN_OPTS_3 "오른쪽" +#define TR_TEXT "텍스트" +#define TR_COLOR "색상" +#define TR_PANEL1_BACKGROUND "패널1 배경" +#define TR_PANEL2_BACKGROUND "패널2 배경" +#define TR_WIDGET_GAUGE "게이지" +#define TR_WIDGET_MODELBMP "모델 정보" +#define TR_WIDGET_OUTPUTS "출력" +#define TR_WIDGET_TEXT "텍스트" +#define TR_WIDGET_TIMER "타이머" +#define TR_WIDGET_VALUE "값" // About screen #define TR_ABOUTUS TR(" 정보 ", "정보") @@ -1146,7 +1246,7 @@ #define TR_CELLINDEX "셀 인덱스" #define TR_LOGS "로그" #define TR_OPTIONS "옵션" -#define TR_FIRMWARE_OPTIONS "펌웨어 옵션" +#define TR_FIRMWARE_OPTIONS BUTTON("펌웨어 옵션") #define TR_ALTSENSOR "고도 센서" #define TR_CELLSENSOR "셀 전압 센서" #define TR_GPSSENSOR "GPS 센서" @@ -1196,11 +1296,6 @@ #define TR_RACING_MODE "레이싱 모드" #define TR_USE_THEME_COLOR "테마 색상 사용" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "모든 트림 -> 서브트림 복사" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "채널 모니터 열기" -#else - #define TR_OPEN_CHANNEL_MONITORS "채널 모니터 열기" -#endif #define TR_DUPLICATE "복제" #define TR_ACTIVATE "활성화" #define TR_RED "빨강" @@ -1259,29 +1354,71 @@ #define TR_VOICE_KOREAN "한국어" #define TR_USBJOYSTICK_LABEL "USB 조이스틱" #define TR_USBJOYSTICK_EXTMODE "모드" -#define TR_VUSBJOYSTICK_EXTMODE "클래식", "고급" -#define TR_USBJOYSTICK_SETTINGS "채널 설정" +#define TR_VUSBJOYSTICK_EXTMODE_1 "클래식" +#define TR_VUSBJOYSTICK_EXTMODE_2 "고급" +#define TR_USBJOYSTICK_SETTINGS BUTTON("채널 설정") #define TR_USBJOYSTICK_IF_MODE TR("인터페이스 모드", "입력 방식") -#define TR_VUSBJOYSTICK_IF_MODE "조이스틱", "게임패드", "멀티축" +#define TR_VUSBJOYSTICK_IF_MODE_1 "조이스틱" +#define TR_VUSBJOYSTICK_IF_MODE_2 "게임패드" +#define TR_VUSBJOYSTICK_IF_MODE_3 "멀티축" #define TR_USBJOYSTICK_CH_MODE "채널 모드" -#define TR_VUSBJOYSTICK_CH_MODE "없음", "버튼", "축", "시뮬" -#define TR_VUSBJOYSTICK_CH_MODE_S "-", "B", "A", "S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "없음" +#define TR_VUSBJOYSTICK_CH_MODE_2 "버튼" +#define TR_VUSBJOYSTICK_CH_MODE_3 "축" +#define TR_VUSBJOYSTICK_CH_MODE_4 "시뮬" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "버튼 동작" -#define TR_VUSBJOYSTICK_CH_BTNMODE "일반", "펄스", "스위치에뮬", "델타", "컴패니언" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("일반", "Normal"), TR("펄스", "Pulse"), TR("SW에뮬", "SWEmul"), TR("델타", "Delta"), TR("CPN", "Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "일반" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "펄스" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "스위치에뮬" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "델타" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "컴패니언" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("일반", "Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("펄스", "Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SW에뮬", "SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("델타", "Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN", "Companion") #define TR_USBJOYSTICK_CH_SWPOS "스위치 위치" -#define TR_VUSBJOYSTICK_CH_SWPOS "푸시", "2단", "3단", "4단", "5단", "6단", "7단", "8단" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "푸시" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2단" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3단" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4단" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5단" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6단" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7단" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8단" #define TR_USBJOYSTICK_CH_AXIS "축" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","회전X","회전Y","회전Z","슬라이더","다이얼","휠" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "회전X" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "회전Y" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "회전Z" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "슬라이더" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "다이얼" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "휠" #define TR_USBJOYSTICK_CH_SIM "시뮬레이션 축" -#define TR_VUSBJOYSTICK_CH_SIM "에일러론", "엘리베이터", "러더", "스로틀", "가속", "브레이크", "조향", "D패드" +#define TR_VUSBJOYSTICK_CH_SIM_1 "에일러론" +#define TR_VUSBJOYSTICK_CH_SIM_2 "엘리베이터" +#define TR_VUSBJOYSTICK_CH_SIM_3 "러더" +#define TR_VUSBJOYSTICK_CH_SIM_4 "스로틀" +#define TR_VUSBJOYSTICK_CH_SIM_5 "가속" +#define TR_VUSBJOYSTICK_CH_SIM_6 "브레이크" +#define TR_VUSBJOYSTICK_CH_SIM_7 "조향" +#define TR_VUSBJOYSTICK_CH_SIM_8 "D패드" #define TR_USBJOYSTICK_CH_INVERSION "반전" #define TR_USBJOYSTICK_CH_BTNNUM "버튼 번호" #define TR_USBJOYSTICK_BTN_COLLISION "!버튼 번호 중복!" #define TR_USBJOYSTICK_AXIS_COLLISION "!축 중복!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("원형 컷", "원형 제한") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "없음", "X-Y, Z-rX", "X-Y, rX-rY", "X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "변경사항 적용" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "없음" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("변경사항 적용") #define TR_DIGITAL_SERVO "디지털 서보 (333Hz)" #define TR_ANALOG_SERVO "아날로그 서보 (50Hz)" #define TR_SIGNAL_OUTPUT "신호 출력" @@ -1293,7 +1430,10 @@ #define TR_SELECT_MENU_ALL "전체 선택" #define TR_SELECT_MENU_CLR "선택 해제" #define TR_SELECT_MENU_INV "선택 반전" -#define TR_SORT_ORDERS "이름순 A-Z", "이름순 Z-A", "최소 사용순", "최다 사용순" +#define TR_SORT_ORDERS_1 "이름순 A-Z" +#define TR_SORT_ORDERS_2 "이름순 Z-A" +#define TR_SORT_ORDERS_3 "최소 사용순" +#define TR_SORT_ORDERS_4 "최다 사용순" #define TR_SORT_MODELS_BY "모델 정렬 기준" #define TR_CREATE_NEW "새로 만들기" #define TR_MIX_SLOW_PREC TR("슬로우 정밀도", "상/하 슬로우 전환 정밀도") diff --git a/radio/src/translations/nl.h b/radio/src/translations/i18n/nl.h similarity index 72% rename from radio/src/translations/nl.h rename to radio/src/translations/i18n/nl.h index 309fe3ad308..888a7234cce 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/i18n/nl.h @@ -31,15 +31,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -47,7 +38,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -76,7 +67,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -86,8 +77,8 @@ #define TR_MAIN_MENU_MODEL_NOTES "Model Notes" #define TR_MAIN_MENU_CHANNEL_MONITOR "Channel Monitor" #define TR_MONITOR_SWITCHES "LOGISCHE SCHAKELAARS MONITOR" -#define TR_MAIN_MENU_MODEL_SETTINGS "Model Settings" -#define TR_MAIN_MENU_RADIO_SETTINGS "Radio Settings" +#define TR_MAIN_MENU_MODEL_SETTINGS "Model Setup" +#define TR_MAIN_MENU_RADIO_SETTINGS "Radio Setup" #define TR_MAIN_MENU_SCREEN_SETTINGS "UI Setup" #define TR_MAIN_MENU_STATISTICS "Statistics" #define TR_MAIN_MENU_ABOUT_EDGETX "About EdgeTX" @@ -95,8 +86,8 @@ #define TR_MAIN_MENU_THEMES "THEMES" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "HELI TS-Mixer" -#define TR_MENUFLIGHTMODES TRSA("DRIVE MODES", "VLIEGFASES") -#define TR_MENUFLIGHTMODE TRSA("DRIVE MODE", "VLIEGFASE") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("DRIVE MODES", "VLIEGFASES") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("DRIVE MODE", "VLIEGFASE") #define TR_MENUINPUTS "INPUTS" #define TR_MENULIMITS "OUTPUTS" #define TR_MENUCURVES "CURVEN" @@ -121,52 +112,104 @@ #define TR_MINUTE_PLURAL1 "minutes" #define TR_MINUTE_PLURAL2 "minutes" -#define TR_OFFON "UIT","AAN" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Stil","Alarm","NoKey","Alles" -#define TR_VBLMODE "UIT",TR("Keys","Toetsen"),TR("Stick","Sticks"),"Beide","AAN" -#define TR_TRNMODE "UIT",TR("+=","Add"),TR(":=","Replace") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "UIT","Telem Mirror","Telemetry In","SBUS Leerling","LUA","CLI","GPS","Debug","SpaceMouse","External module" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Geen","Wissel","2POS","3POS","Globale" -#else -#define TR_SWTYPES "Geen","Wissel","2POS","3POS" -#endif -#define TR_POTTYPES "Geen",TR("Pot", "Pot zonder Klik"),TR("Pot w. det","Pot met Klik"),"Schuif",TR("Multipos","Standenschakelaar"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "UIT","Vliegtijd","Handmatige Reset" -#define TR_COUNTRY_CODES TR("US","Amerika"),TR("JP","Japan"),TR("EU","Europa") -#define TR_USBMODES "Ask",TR("Joyst","Joystick"),TR("SDCard","Storage"),"Serial" -#define TR_JACK_MODES "Ask","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normal","not inverted" +#define TR_OFFON_1 "UIT" +#define TR_OFFON_2 "AAN" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Stil" +#define TR_VBEEPMODE_2 "Alarm" +#define TR_VBEEPMODE_3 "NoKey" +#define TR_VBEEPMODE_4 "Alles" +#define TR_VBLMODE_1 "UIT" +#define TR_VBLMODE_2 TR("Keys","Toetsen") +#define TR_VBLMODE_3 TR("Stick","Sticks") +#define TR_VBLMODE_4 "Beide" +#define TR_VBLMODE_5 "AAN" +#define TR_TRNMODE_1 "UIT" +#define TR_TRNMODE_2 TR("+=","Add") +#define TR_TRNMODE_3 TR(":=","Replace") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" + +#define TR_AUX_SERIAL_MODES_1 "UIT" +#define TR_AUX_SERIAL_MODES_2 "Telem Mirror" +#define TR_AUX_SERIAL_MODES_3 "Telemetry In" +#define TR_AUX_SERIAL_MODES_4 "SBUS Leerling" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "External module" +#define TR_SWTYPES_1 "Geen" +#define TR_SWTYPES_2 "Wissel" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Globale" +#define TR_POTTYPES_1 "Geen" +#define TR_POTTYPES_2 TR("Pot", "Pot zonder Klik") +#define TR_POTTYPES_3 TR("Pot w. det","Pot met Klik") +#define TR_POTTYPES_4 "Schuif" +#define TR_POTTYPES_5 TR("Multipos","Standenschakelaar") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "UIT" +#define TR_VPERSISTENT_2 "Vliegtijd" +#define TR_VPERSISTENT_3 "Handmatige Reset" +#define TR_COUNTRY_CODES_1 TR("US","Amerika") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europa") +#define TR_USBMODES_1 "Ask" +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Storage") +#define TR_USBMODES_4 "Serial" +#define TR_JACK_MODES_1 "Ask" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "not inverted" #define TR_MULTI_CUSTOM "Custom" -#define TR_VTRIMINC TR("Expo","Exponentieel"),TR("ExFijn","Extra Fijn"),"Fijn","Medium","Grof" -#define TR_VDISPLAYTRIMS "Nee","Kort","Ja" -#define TR_VBEEPCOUNTDOWN "Stilte","Beeps","Spraak","Tril",TR("B & T","Beeps & Tril"),TR("Spr & Tr","Spraak & Tril") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tonen","Stilte" -#define TR_CURVE_TYPES "Standaard","Custom" -#define TR_ADCFILTERVALUES "Globale","Off","On" - -#define TR_VCURVETYPE "Diff","Expo","Func","Cstm" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Add","Multiply","Replace" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Glue" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a\n"\ " Up = PREV/INC\n"\ " Down = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Inverted" -#else - #define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inverted" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "UIT","AAN","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "UIT" +#define TR_VTMRMODES_2 "AAN" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Master/Jack" #define TR_VTRAINER_SLAVE_JACK "Slave/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Master/SBUS Module" #define TR_VTRAINER_MASTER_CPPM_MODULE "Master/CPPM Module" #define TR_VTRAINER_MASTER_BATTERY "Master/Serial" -#define TR_VTRAINER_BLUETOOTH "Master/" TR("BT","Bluetooth"), "Slave/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Master/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Slave/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "Niet Gezet","Vasthouden","Custom","Geen Pulsen","Ontvanger" -#define TR_VSENSORTYPES "Custom","Berekend" -#define TR_VFORMULAS "Optellen","Gemiddeld","Min","Max","Vermenigvuld","Totaal","Cellen","Verbruik","Afstand" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Laagste","1e Cel","2e Cel","3e Cel","4e Cel","5e Cel","6e Cel","7e Cel","8e Cel","Hoogste","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symetrical)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Niet Gezet" +#define TR_VFAILSAFE_2 "Vasthouden" +#define TR_VFAILSAFE_3 "Custom" +#define TR_VFAILSAFE_4 "Geen Pulsen" +#define TR_VFAILSAFE_5 "Ontvanger" +#define TR_VSENSORTYPES_1 "Custom" +#define TR_VSENSORTYPES_2 "Berekend" +#define TR_VFORMULAS_1 "Optellen" +#define TR_VFORMULAS_2 "Gemiddeld" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Vermenigvuld" +#define TR_VFORMULAS_6 "Totaal" +#define TR_VFORMULAS_7 "Cellen" +#define TR_VFORMULAS_8 "Verbruik" +#define TR_VFORMULAS_9 "Afstand" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Laagste" +#define TR_VCELLINDEX_2 "1e Cel" +#define TR_VCELLINDEX_3 "2e Cel" +#define TR_VCELLINDEX_4 "3e Cel" +#define TR_VCELLINDEX_5 "4e Cel" +#define TR_VCELLINDEX_6 "5e Cel" +#define TR_VCELLINDEX_7 "6e Cel" +#define TR_VCELLINDEX_8 "7e Cel" +#define TR_VCELLINDEX_9 "8e Cel" +#define TR_VCELLINDEX_10 "Hoogste" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (center only)" +#define TR_SUBTRIMMODES_2 "= (symetrical)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "vrij" #define TR_YES "Yes" @@ -363,11 +472,19 @@ #define TR_PROTOCOL TR("Proto", "Protocol") #define TR_PPMFRAME "PPM frame" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") -#define STR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Warning: output level is VBAT: ") #define TR_WARN_5VOLTS "Warning: output level is 5 volts" #define TR_MS "ms" #define TR_SWITCH TR("Schak.", "Schakelaar") -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -377,28 +494,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trims" #define TR_FADEIN "Fade in" #define TR_FADEOUT "Fade out" #define TR_DEFAULT "(default)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Check FM Trims" -#else - #define TR_CHECKTRIMS "\006Check\012Trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Check\012Trims", "Check FM Trims") #define TR_SWASHTYPE "Swash Type" #define TR_COLLECTIVE TR("Collective", "Coll. pitch source") #define TR_AILERON TR("Lateral cyc.", "Lateral cyc. source") #define TR_ELEVATOR TR("Long. cyc.", "Long. cyc. source") #define TR_SWASHRING "Swash Ring" #define TR_MODE "Mode" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Linkerkant" -#else - #define TR_LEFT_STICK "Li" -#endif +#define TR_LEFT_STICK "Linkerkant" #define TR_SUBTYPE "Subtype" #define TR_NOFREEEXPO "Geen vrije expo!" #define TR_NOFREEMIXER "Geen vrije mixer!" @@ -421,11 +529,7 @@ #define TR_SLOWDOWN "Langz.Dn" #define TR_SLOWUP "Langz.Up" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE "Bereik" #define TR_CENTER "Centreer" #define TR_ALARM "Alarm" @@ -495,20 +599,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplier" #define TR_CAL "Cal" -#define TR_CALIBRATION "Calibration" +#define TR_CALIBRATION BUTTON("Calibration") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Calibration completed" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTREER STICKS/SLIDERS" - #define TR_MOVESTICKSPOTS "BEWEEG STICKS/POTS" -#else - #define TR_MENUTOSTART TR_ENTER " VOOR START" - #define TR_SETMIDPOINT TRSA("SET POTS MIDPOINT", TR("ZET STICKS NAAR HET MIDDEN", "CENTREER STICKS/SLIDERS")) - #define TR_MOVESTICKSPOTS TRSA("MOVE ST/TH/POTS/AXIS", "BEWEEG STICKS/POTS") - #define TR_MENUWHENDONE TR_ENTER " BIJ GEREED" -#define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUTOSTART TR_ENTER " VOOR START" +#define TR_MENUWHENDONE TR_ENTER " BIJ GEREED" +#define TR_AXISDIR "AXIS DIR" +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET POTS MIDPOINT", TR("ZET STICKS NAAR HET MIDDEN", "CENTREER STICKS/SLIDERS")), "CENTREER STICKS/SLIDERS") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVE ST/TH/POTS/AXIS", "BEWEEG STICKS/POTS"), "BEWEEG STICKS/POTS") #define TR_NODATA "Geen Data" #define TR_US "us" #define TR_HZ "Hz" @@ -538,7 +637,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODEL" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM weinig geheugen" #define TR_PRESS_ANY_KEY_TO_SKIP "Druk een toets.." #define TR_THROTTLE_NOT_IDLE "Gas niet Dicht!" @@ -558,11 +657,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "CALIBRATED ANALOGS" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "CUSTOMIZABLE SWITCHES" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "Channels=>Failsafe" #define TR_CHANNEL2FAILSAFE "Channel=>Failsafe" #define TR_MENUMODELSEL TR("MODELLEN", "MODEL KIEZEN") @@ -674,7 +769,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Update RX options?" #define TR_UPDATE_TX_OPTIONS "Update TX options?" -#define TR_MODULES_RX_VERSION "Modules / RX version" +#define TR_MODULES_RX_VERSION BUTTON("Modules / RX version") #define TR_SHOW_MIXER_MONITORS "Show mixer monitors" #define TR_MENU_MODULES_RX_VERSION "MODULES / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONS" @@ -694,11 +789,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD-Kaart vol" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogs and Screenshots disabled" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs and " LCDW_128_LINEBREAK "Screenshots disabled" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs and " LCDW_128_LINEBREAK "Screenshots disabled", TR_SDCARD_FULL "\nLogs and Screenshots disabled") #define TR_NEEDS_FILE "NEEDS FILE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -756,8 +847,9 @@ #define TR_BAUDRATE "Baudrate" #define TR_CRSF_ARMING_MODE "Arm using" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH -#define TR_SAMPLE_MODE TR("Sampling","Sample Mode") -#define TR_SAMPLE_MODES "Normal""OneBit" +#define TR_SAMPLE_MODE TR("Sampling","Sample Mode") +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Loading..." #define TR_DELETE_THEME "Delete Theme?" #define TR_SAVE_THEME "Save Theme?" @@ -765,15 +857,16 @@ #define TR_NO_THEME_IMAGE "No theme image" #define TR_BACKLIGHT_TIMER "Inactivity timeout" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Model quick select" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "Model quick select" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "Select a template folder" #define TR_SELECT_TEMPLATE "SELECT A MODEL TEMPLATE:" @@ -793,11 +886,10 @@ #define TR_BLUETOOTH_NODEVICES "No Devices Found" #define TR_BLUETOOTH_SCANNING "Scanning..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Enabled" -#else -#define TR_BLUETOOTH_MODES "---","Telemetry","Trainer" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetry" +#define TR_BLUETOOTH_MODES_3 "Trainer" +#define TR_BLUETOOTH_MODES_4 "Enabled" #define TR_SD_INFO_TITLE "SD-INFO" #define TR_SD_SPEED "Snelheid:" #define TR_SD_SECTORS "Sectoren:" @@ -807,7 +899,18 @@ #define TR_GLOBAL_VAR "Globale Variabele" #define TR_OWN "Eigen" #define TR_DATE "Datum:" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "Mei" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Okt" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec" #define TR_ROTARY_ENCODER "Draaischakelaar" #define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode") #define TR_CHANNELS_MONITOR "Kanaal-Monitor==>" @@ -912,14 +1015,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device" -#define TR_DISCOVER "Discover" +#define TR_DISCOVER BUTTON("Discover") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Waiting..." #define TR_RECEIVER_DELETE "Delete receiver?" #define TR_RECEIVER_RESET "Reset receiver?" #define TR_SHARE "Share" #define TR_BIND "Bind" -#define TR_REGISTER TR("Reg", "Register") +#define TR_REGISTER BUTTON(TR("Reg", "Register")) #define TR_MODULE_RANGE TR("[Rng]", "[Range]") #define TR_RANGE_TEST "Range test" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS") @@ -955,11 +1058,11 @@ #define TR_AFHDS3_ACTUAL_POWER TR("Act. pow", "Actual power") #define TR_AFHDS3_POWER_SOURCE TR("Power src.", "Power source") #define TR_ANTENNACONFIRM1 "Antennes wisselen?" -#if defined(PCBX12S) -#define TR_ANTENNA_MODES "Internal","Ask","Per model","Internal + External" -#else -#define TR_ANTENNA_MODES "Internal","Ask","Per model","External" -#endif +#define TR_ANTENNA_MODES_1 "Internal" +#define TR_ANTENNA_MODES_2 "Ask" +#define TR_ANTENNA_MODES_3 "Per model" +#define TR_ANTENNA_MODES_4 "Internal + External" +#define TR_ANTENNA_MODES_5 "External" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna") #define TR_ANTENNACONFIRM2 TR("Check antenna", "Is er zeker een antenne geplaatst!") @@ -976,7 +1079,7 @@ #define TR_CURVE_PRESET "Preset..." #define TR_PRESET "Preset" #define TR_MIRROR "Spiegelen" -#define TR_CLEAR "Wissen" +#define TR_CLEAR BUTTON("Wissen") #define TR_RESET "Reset Servowaardes" #define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Punten" @@ -991,7 +1094,9 @@ #define TR_MIXSOURCE "Bron (%)" #define TR_MIXSOURCERAW "Bron (waarde)" #define TR_CONSTANT "Constant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Off","On","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Off" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "On" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST TR("Checklist", "Toon Checklist") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interact", "Interact. checklist", "Interactive checklist") @@ -1001,18 +1106,13 @@ #define TR_SCRIPT "Script" #define TR_INPUTS "Inputs" #define TR_OUTPUTS "Outputs" -#if defined(COLORLCD) -#define STR_EEBACKUP "EEPROM backup" -#define STR_FACTORYRESET "Factory reset" -#else #define STR_EEBACKUP TR("Backup", "EEPROM backup => SD") #define STR_FACTORYRESET TR("Fact. reset", "Factory reset") - -#endif #define TR_CONFIRMRESET TR("Wis Alles?", "Wis ALLE modellen en instellingen?") #define TR_TOO_MANY_LUA_SCRIPTS "Te veel Lua scripts!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 " +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "No Telemetry Screens" #define TR_TOUCH_PANEL "Touch panel:" #define TR_FILE_SIZE "File size" @@ -1040,36 +1140,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Subtrim mode" #define TR_INVERTED "Inverted" - -#define TR_LSW_DESCRIPTIONS "Vergelijking of Functie", "1e variabele", "2e variabele of constante", "2e variabele of constante", "Additionele conditie", "Minimale AAN duur van de logische schakelaar", "Minimale WAAR duur om AAN te gaan" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "First channel" - #define TR_FILL_BACKGROUND "Fill background?" - #define TR_BG_COLOR "BG Color" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "Sliders" - #define TR_FLIGHT_MODE "Flight mode" - #define TR_INVALID_FILE "Invalid File" - #define TR_TIMER_SOURCE "Timer source" - #define TR_SIZE "Size" - #define TR_SHADOW "Shadow" - #define TR_ALIGNMENT "Uitlijnen" - #define TR_ALIGN_LABEL "Label uitlijnen" - #define TR_ALIGN_VALUE "Waarde uitlijnen" - #define TR_ALIGN_OPTS "Links", "Midden", "Rechts" - #define TR_TEXT "Text" - #define TR_COLOR "Color" - #define TR_PANEL1_BACKGROUND "Panel1 background" - #define TR_PANEL2_BACKGROUND "Panel2 background" - #define TR_WIDGET_GAUGE "Gauge" - #define TR_WIDGET_MODELBMP "Models" - #define TR_WIDGET_OUTPUTS "Outputs" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Value" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "First channel" +#define TR_FILL_BACKGROUND "Fill background?" +#define TR_BG_COLOR "BG Color" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "Sliders" +#define TR_FLIGHT_MODE "Flight mode" +#define TR_INVALID_FILE "Invalid File" +#define TR_TIMER_SOURCE "Timer source" +#define TR_SIZE "Size" +#define TR_SHADOW "Shadow" +#define TR_ALIGNMENT "Uitlijnen" +#define TR_ALIGN_LABEL "Label uitlijnen" +#define TR_ALIGN_VALUE "Waarde uitlijnen" +#define TR_ALIGN_OPTS_1 "Links" +#define TR_ALIGN_OPTS_2 "Midden" +#define TR_ALIGN_OPTS_3 "Rechts" +#define TR_TEXT "Text" +#define TR_COLOR "Color" +#define TR_PANEL1_BACKGROUND "Panel1 background" +#define TR_PANEL2_BACKGROUND "Panel2 background" +#define TR_WIDGET_GAUGE "Gauge" +#define TR_WIDGET_MODELBMP "Models" +#define TR_WIDGET_OUTPUTS "Outputs" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Value" // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") @@ -1102,7 +1199,7 @@ #define TR_CELLINDEX "Cel index" #define TR_LOGS "Log Data" #define TR_OPTIONS "Opties" -#define TR_FIRMWARE_OPTIONS "Firmware options" +#define TR_FIRMWARE_OPTIONS BUTTON("Firmware options") #define TR_ALTSENSOR "Hoogte Sensor" #define TR_CELLSENSOR "Cellen Sensor" @@ -1159,11 +1256,6 @@ #define TR_USE_THEME_COLOR "Use theme color" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Add all Trims to Subtrims" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Monitor" -#else - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Mon." -#endif #define TR_DUPLICATE "Duplicate" #define TR_ACTIVATE "Set Active" #define TR_RED "Red" @@ -1198,6 +1290,7 @@ #define TR_CANCEL "Cancel" #define TR_EDIT_THEME "EDIT THEME" #define TR_DETAILS "Details" +#define TR_THEME_EDITOR "THEMES" // Voice in native language #define TR_VOICE_ENGLISH "English" @@ -1223,29 +1316,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "Mode" -#define TR_VUSBJOYSTICK_EXTMODE "Classic","Advanced" -#define TR_USBJOYSTICK_SETTINGS "Channel Settings" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Classic" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Advanced" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Channel Settings") #define TR_USBJOYSTICK_IF_MODE TR("If. mode","Interface mode") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "None","Btn","Axis","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "None" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axis" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Button Mode" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulse","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulse" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Positions" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Axis" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Sim axis" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversion" #define TR_USBJOYSTICK_CH_BTNNUM "Button no." #define TR_USBJOYSTICK_BTN_COLLISION "!Button no. collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axis collision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "None","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Apply changes" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "None" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Apply changes") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1261,7 +1396,10 @@ #define TR_SELECT_MENU_CLR "Clear" #define TR_SELECT_MENU_INV "Invert" -#define TR_SORT_ORDERS "Name A-Z","Name Z-A","Least used","Most used" +#define TR_SORT_ORDERS_1 "Name A-Z" +#define TR_SORT_ORDERS_2 "Name Z-A" +#define TR_SORT_ORDERS_3 "Least used" +#define TR_SORT_ORDERS_4 "Most used" #define TR_SORT_MODELS_BY "Sort models by" #define TR_CREATE_NEW "Create" diff --git a/radio/src/translations/pl.h b/radio/src/translations/i18n/pl.h similarity index 73% rename from radio/src/translations/pl.h rename to radio/src/translations/i18n/pl.h index 2163aa8a4b6..c0c2f13b3ec 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/i18n/pl.h @@ -31,15 +31,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 4 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 1 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -47,7 +38,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -76,7 +67,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -95,8 +86,8 @@ #define TR_MAIN_MENU_THEMES "Szablony" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "USTAW HELI" -#define TR_MENUFLIGHTMODES TRSA("DRIVE MODES", "FAZY LOTU") -#define TR_MENUFLIGHTMODE TRSA("DRIVE MODE", "FAZA LOTU") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("DRIVE MODES", "FAZY LOTU") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("DRIVE MODE", "FAZA LOTU") #define TR_MENUINPUTS "WEJŚCIA" #define TR_MENULIMITS "WYJŚCIA" #define TR_MENUCURVES "KRZYWE" @@ -121,51 +112,103 @@ #define TR_MINUTE_PLURAL1 "minuty" #define TR_MINUTE_PLURAL2 "minut" -#define TR_OFFON "WYŁ","ZAŁ" -#define TR_MMMINV "---","REV" -#define TR_VBEEPMODE "Cichy","Alarm","BezPr","Wsz." -#define TR_VBLMODE TR("Wył","Wyłącz"),TR("Przy","Przycisk"),TR("Drąż","Drązki"),"Oba",TR("Zał","Włącz") -#define TR_TRNMODE "Wył",TR("+=","Dodaj"),TR(":=","Zastąp") -#define TR_TRNCHN "KN1","KN2","KN3","KN4" -#define TR_AUX_SERIAL_MODES "Wyłącz","S-Port Kopia","Telemetria","Trener SBUS","LUA","CLI","GPS","Debug","SpaceMouse","Moduł zewnętrzny" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Brak","Chwil.","2POZ","3POZ","Globalne" -#else -#define TR_SWTYPES "Brak","Chwil.","2POZ","3POZ" -#endif -#define TR_POTTYPES "Brak","Pot.",TR("Pot. z. zap.","Pot. z zapadką"),"Suwak",TR("Wielopoz.","Przeł.wielopoz."),"Oś X","Oś Y","Przełącznik" -#define TR_VPERSISTENT "Wyłącz","Lot","Ręczny Reset" -#define TR_COUNTRY_CODES TR("US","Ameryka"),TR("JP","Japonia"),TR("EU", "Europa") -#define TR_USBMODES "Ask",TR("Joyst","Joystick"),TR("SDCard","Storage"),"Serial" -#define TR_JACK_MODES "Ask","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normal","not inverted" +#define TR_OFFON_1 "WYŁ" +#define TR_OFFON_2 "ZAŁ" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "REV" +#define TR_VBEEPMODE_1 "Cichy" +#define TR_VBEEPMODE_2 "Alarm" +#define TR_VBEEPMODE_3 "BezPr" +#define TR_VBEEPMODE_4 "Wsz." +#define TR_VBLMODE_1 TR("Wył","Wyłącz") +#define TR_VBLMODE_2 TR("Przy","Przycisk") +#define TR_VBLMODE_3 TR("Drąż","Drązki") +#define TR_VBLMODE_4 "Oba" +#define TR_VBLMODE_5 TR("Zał","Włącz") +#define TR_TRNMODE_1 "Wył" +#define TR_TRNMODE_2 TR("+=","Dodaj") +#define TR_TRNMODE_3 TR(":=","Zastąp") +#define TR_TRNCHN_1 "KN1" +#define TR_TRNCHN_2 "KN2" +#define TR_TRNCHN_3 "KN3" +#define TR_TRNCHN_4 "KN4" +#define TR_AUX_SERIAL_MODES_1 "Wyłącz" +#define TR_AUX_SERIAL_MODES_2 "S-Port Kopia" +#define TR_AUX_SERIAL_MODES_3 "Telemetria" +#define TR_AUX_SERIAL_MODES_4 "Trener SBUS" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Moduł zewnętrzny" +#define TR_SWTYPES_1 "Brak" +#define TR_SWTYPES_2 "Chwil." +#define TR_SWTYPES_3 "2POZ" +#define TR_SWTYPES_4 "3POZ" +#define TR_SWTYPES_5 "Globalne" +#define TR_POTTYPES_1 "Brak" +#define TR_POTTYPES_2 "Pot." +#define TR_POTTYPES_3 TR("Pot. z. zap.","Pot. z zapadką") +#define TR_POTTYPES_4 "Suwak" +#define TR_POTTYPES_5 TR("Wielopoz.","Przeł.wielopoz.") +#define TR_POTTYPES_6 "Oś X" +#define TR_POTTYPES_7 "Oś Y" +#define TR_POTTYPES_8 "Przełącznik" +#define TR_VPERSISTENT_1 "Wyłącz" +#define TR_VPERSISTENT_2 "Lot" +#define TR_VPERSISTENT_3 "Ręczny Reset" +#define TR_COUNTRY_CODES_1 TR("US","Ameryka") +#define TR_COUNTRY_CODES_2 TR("JP","Japonia") +#define TR_COUNTRY_CODES_3 TR("EU", "Europa") +#define TR_USBMODES_1 "Ask" +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Storage") +#define TR_USBMODES_4 "Serial" +#define TR_JACK_MODES_1 "Ask" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "not inverted" #define TR_MULTI_CUSTOM "Custom" -#define TR_VTRIMINC TR("Expo","Expotencja"),TR("B.Dokł","B.Dokładny"),TR("Dokł.","Dokładny"),"Średni",TR("Zgrubn","Zgrubny") -#define TR_VDISPLAYTRIMS "Nie","Zmień","Tak" -#define TR_VBEEPCOUNTDOWN "Cichy","Pik","Dźwięk","Wibrac",TR("P & W","Pik & Wibrac"),TR("Dzw & Wbr","Dźwięk & Wibrac") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Ton","Cicho" -#define TR_CURVE_TYPES "Standard","Własny" -#define TR_ADCFILTERVALUES "Globalne","WYŁ","ZAŁ" - -#define TR_VCURVETYPE "Diff","Expo","Func","Cstm" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Dodaj","Mnóż","Zastąp" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stały" - #define TR_CSWSTAY "Brzeg" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Stały" - #define TR_CSWSTAY "Brzeg" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a\n"\ " Góra = PREV/INC\n"\ " Dół = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Inverted" -#else - #define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inverted" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "WYŁ","ABS","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "WYŁ" +#define TR_VTMRMODES_2 "ABS" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Trener/Jack" #define TR_VTRAINER_SLAVE_JACK "Uczeń/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Trener/SBUS Moduł" #define TR_VTRAINER_MASTER_CPPM_MODULE "Trener/CPPM Moduł" #define TR_VTRAINER_MASTER_BATTERY "Trener/Serial" -#define TR_VTRAINER_BLUETOOTH "Master/" TR("BT","Bluetooth"), "Slave/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Master/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Slave/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Master/Multi" #define TR_VTRAINER_CRSF "Master/CRSF" -#define TR_VFAILSAFE "Brak","Utrzymuj","Własne","0 sygnału","Odbiornik" -#define TR_VSENSORTYPES "Użytkownik","Obliczone" -#define TR_VFORMULAS "Dodaj","Średnie","Min","Max","Mnóż","Zliczani","Komórka","Zużycie","Zasięg" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Niskie","1","2","3","4","5","6","7","8","Wysokie","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) - -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Brak" +#define TR_VFAILSAFE_2 "Utrzymuj" +#define TR_VFAILSAFE_3 "Własne" +#define TR_VFAILSAFE_4 "0 sygnału" +#define TR_VFAILSAFE_5 "Odbiornik" +#define TR_VSENSORTYPES_1 "Użytkownik" +#define TR_VSENSORTYPES_2 "Obliczone" +#define TR_VFORMULAS_1 "Dodaj" +#define TR_VFORMULAS_2 "Średnie" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Mnóż" +#define TR_VFORMULAS_6 "Zliczani" +#define TR_VFORMULAS_7 "Komórka" +#define TR_VFORMULAS_8 "Zużycie" +#define TR_VFORMULAS_9 "Zasięg" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Niskie" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Wysokie" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA" (center only)" +#define TR_SUBTRIMMODES_2 "= (symetrical)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "woln" #define TR_YES "Tak" @@ -362,11 +471,19 @@ #define TR_PROTOCOL TR("Proto", "Protokół") #define TR_PPMFRAME "Ramka PPM" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") -#define STR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Uwaga: output level is VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Output is VBAT: ", "Uwaga: output level is VBAT: ") #define TR_WARN_5VOLTS "Uwaga: output level is 5 volts" #define TR_MS "ms" #define TR_SWITCH "Przełą" -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -376,28 +493,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trymy" #define TR_FADEIN "Pojawia" #define TR_FADEOUT "Zanik " #define TR_DEFAULT "(Bazowa) " -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Sprawdź trymy" -#else - #define TR_CHECKTRIMS "\006Spr \012Trymy" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Spr \012Trymy", "Sprawdź trymy") #define TR_SWASHTYPE "Typ tarczy" #define TR_COLLECTIVE TR("Kolektyw", "Źródło Kolektywu") #define TR_AILERON TR("Lateral cyc.", "Lateral cyc. source") #define TR_ELEVATOR TR("Long. cyc.", "Long. cyc. source") #define TR_SWASHRING "Tarcza " #define TR_MODE "Tryb" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Lewy" -#else - #define TR_LEFT_STICK "Lewy" -#endif +#define TR_LEFT_STICK "Lewy" #define TR_SUBTYPE "Podtyp" #define TR_NOFREEEXPO "BrakWoln.Expo!" #define TR_NOFREEMIXER "BrakWoln.Mixów!" @@ -420,11 +528,7 @@ #define TR_SLOWDOWN "Spowoln.(-)" #define TR_SLOWUP "Spowoln.(+)" #define TR_CV "Kr" -#if defined(PCBPL18) -#define TR_GV "ZG" -#else #define TR_GV TR("G", "ZG") -#endif #define TR_RANGE "Zakres" #define TR_CENTER "Środek" #define TR_ALARM "Alarm" @@ -493,20 +597,15 @@ #define TR_MODESRC " Tryb\006% Źródło" #define TR_MULTIPLIER "Mnożnik" #define TR_CAL "Kal." -#define TR_CALIBRATION "Kalibracja" +#define TR_CALIBRATION BUTTON("Kalibracja") #define TR_VTRIM "Trym - +" #define TR_CALIB_DONE "Kalibracja zakończona" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTRUJ DRĄŻKI/SUWAKI" - #define TR_MOVESTICKSPOTS "RUSZAJ DRĄŻKI/SUWAKI" -#else - #define TR_MENUTOSTART TR_ENTER " = START" - #define TR_SETMIDPOINT TRSA("USTAW ŚRODEK POT.", TR("USTAW ŚRODEK OSI", "CENTRUJ DRĄŻKI/SUWAKI")) - #define TR_MOVESTICKSPOTS TRSA("RUSZAJ DR/TH/POT./OSIE", "RUSZAJ DRĄŻKI/POT.") - #define TR_MENUWHENDONE TR_ENTER " = KONIEC" -#define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUTOSTART TR_ENTER " = START" +#define TR_MENUWHENDONE TR_ENTER " = KONIEC" +#define TR_AXISDIR "AXIS DIR" +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("USTAW ŚRODEK POT.", TR("USTAW ŚRODEK OSI", "CENTRUJ DRĄŻKI/SUWAKI")), "CENTRUJ DRĄŻKI/SUWAKI") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("RUSZAJ DR/TH/POT./OSIE", "RUSZAJ DRĄŻKI/POT."), "RUSZAJ DRĄŻKI/SUWAKI") #define TR_NODATA "Brak Danych" #define TR_US "us" #define TR_HZ "Hz" @@ -536,7 +635,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "KN" #define TR_MODEL "MODEL" -#define TR_FM TRSA("DM", "FL") +#define TR_FM TR_SFC_AIR("DM", "FL") #define TR_EEPROMLOWMEM "Mało pamięci EEPROM" #define TR_PRESS_ANY_KEY_TO_SKIP "Wciśnij guzik->ignoruj" #define TR_THROTTLE_NOT_IDLE "Gaz nie na zerze" @@ -555,11 +654,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "CALIBRATED ANALOGS" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW ANALOGS (5 Hz)" #define TR_MENU_FSWITCH "USTAWIANE PRZEŁĄCZNIKI" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trymery => Subtrimy" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trymery => Subtrimy") #define TR_CHANNELS2FAILSAFE "Channels=>Failsafe" #define TR_CHANNEL2FAILSAFE "Channel=>Failsafe" #define TR_MENUMODELSEL TR("WYB.MODEL","WYBÓR MODELU") @@ -671,7 +766,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Update RX options?" #define TR_UPDATE_TX_OPTIONS "Update TX options?" -#define TR_MODULES_RX_VERSION "Modules / RX version" +#define TR_MODULES_RX_VERSION BUTTON("Modules / RX version") #define TR_SHOW_MIXER_MONITORS "Show mixer monitors" #define TR_MENU_MODULES_RX_VERSION "MODULES / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONS" @@ -691,11 +786,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "Pełna karta SD" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogi i zrzuty ekranu wyłączone" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logi i zrzuty ekranu" LCDW_128_LINEBREAK "wyłączone" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logi i zrzuty ekranu" LCDW_128_LINEBREAK "wyłączone", TR_SDCARD_FULL "\nLogi i zrzuty ekranu wyłączone") #define TR_NEEDS_FILE "NEEDS FILE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -754,7 +845,8 @@ #define TR_CRSF_ARMING_MODE "Arm using" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE TR("Sampling","Sample Mode") -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Ładowanie..." #define TR_DELETE_THEME "Usunąć motyw?" #define TR_SAVE_THEME "Zapisać motyw?" @@ -762,15 +854,16 @@ #define TR_NO_THEME_IMAGE "Brak obrazu motywu" #define TR_BACKLIGHT_TIMER "Czas bezczynności" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Szybki wybór modelu" - #define TR_LABELS_SELECT "Wybierz etykietę" - #define TR_LABELS_MATCH "Dopasowanie etykiet" - #define TR_FAV_MATCH "Dopasowanie ulubionych" - #define TR_LABELS_SELECT_MODE "Wybór wielu","Pojedynczy wybór" - #define TR_LABELS_MATCH_MODE "Pasują wszystkie","Pasuje którykolwiek" - #define TR_FAV_MATCH_MODE "Musi pasować","Może pasować" -#endif +#define TR_MODEL_QUICK_SELECT "Szybki wybór modelu" +#define TR_LABELS_SELECT "Wybierz etykietę" +#define TR_LABELS_MATCH "Dopasowanie etykiet" +#define TR_FAV_MATCH "Dopasowanie ulubionych" +#define TR_LABELS_SELECT_MODE_1 "Wybór wielu" +#define TR_LABELS_SELECT_MODE_2 "Pojedynczy wybór" +#define TR_LABELS_MATCH_MODE_1 "Pasują wszystkie" +#define TR_LABELS_MATCH_MODE_2 "Pasuje którykolwiek" +#define TR_FAV_MATCH_MODE_1 "Musi pasować" +#define TR_FAV_MATCH_MODE_2 "Może pasować" #define TR_SELECT_TEMPLATE_FOLDER "Wybierz folder szablonu" #define TR_SELECT_TEMPLATE "WYBIERZ SZABLON MODELU:" @@ -790,11 +883,10 @@ #define TR_BLUETOOTH_NODEVICES "No Devices Found" #define TR_BLUETOOTH_SCANNING "Skanuję..." #define TR_BLUETOOTH_BAUDRATE "BT Prędkość" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Włączony" -#else -#define TR_BLUETOOTH_MODES "---","Telemetry","Trainer" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetry" +#define TR_BLUETOOTH_MODES_3 "Trainer" +#define TR_BLUETOOTH_MODES_4 "Włączony" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Prędkość:" #define TR_SD_SECTORS "Sektory :" @@ -804,7 +896,18 @@ #define TR_GLOBAL_VAR "Zmienna Globalna" #define TR_OWN "Własność" #define TR_DATE "Data" -#define TR_MONTHS "Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru" +#define TR_MONTHS_1 "Sty" +#define TR_MONTHS_2 "Lut" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Kwi" +#define TR_MONTHS_5 "Maj" +#define TR_MONTHS_6 "Cze" +#define TR_MONTHS_7 "Lip" +#define TR_MONTHS_8 "Sie" +#define TR_MONTHS_9 "Wrz" +#define TR_MONTHS_10 "Paź" +#define TR_MONTHS_11 "Lis" +#define TR_MONTHS_12 "Gru" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode") #define TR_CHANNELS_MONITOR "MONITOR KANAŁÓW" @@ -909,14 +1012,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Wybierz urządzenie" -#define TR_DISCOVER "Szukaj" +#define TR_DISCOVER BUTTON("Szukaj") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Czekam..." #define TR_RECEIVER_DELETE "Delete receiver?" #define TR_RECEIVER_RESET "Reset receiver?" #define TR_SHARE "Share" #define TR_BIND "Bind" -#define TR_REGISTER TR("Reg", "Register") +#define TR_REGISTER BUTTON(TR("Reg", "Register")) #define TR_MODULE_RANGE TR("[Zas]","Zasięg") #define TR_RANGE_TEST "Test zasięgu" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS") @@ -952,11 +1055,11 @@ #define TR_AFHDS3_ACTUAL_POWER TR("Act. pow", "Actual power") #define TR_AFHDS3_POWER_SOURCE TR("Power src.", "Power source") #define TR_ANTENNACONFIRM1 "EXT. ANTENNA" -#if defined(PCBX12S) -#define TR_ANTENNA_MODES "Internal","Ask","Per model","Internal + External" -#else -#define TR_ANTENNA_MODES "Internal","Ask","Per model","External" -#endif +#define TR_ANTENNA_MODES_1 "Internal" +#define TR_ANTENNA_MODES_2 "Ask" +#define TR_ANTENNA_MODES_3 "Per model" +#define TR_ANTENNA_MODES_4 "Internal + External" +#define TR_ANTENNA_MODES_5 "External" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna") #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") @@ -973,7 +1076,7 @@ #define TR_CURVE_PRESET "Predef..." #define TR_PRESET "Predef." #define TR_MIRROR "Lustro" -#define TR_CLEAR "Wyczyść" +#define TR_CLEAR BUTTON("Wyczyść") #define TR_RESET "Resetuj" #define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Punkty" @@ -988,7 +1091,9 @@ #define TR_MIXSOURCE "Źródło (%)" #define TR_MIXSOURCERAW "Źródło (wartość)" #define TR_CONSTANT "Stała " -#define TR_PREFLIGHT_POTSLIDER_CHECK "WYŁ","ZAŁ","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "WYŁ" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "ZAŁ" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Pre-start Checks" #define TR_CHECKLIST TR("Czeklista","Pokaż Listę Ostrzeżeń") #define TR_CHECKLIST_INTERACTIVE TR("C-Interakt", "Interkatywna lista ostrż.") @@ -1003,7 +1108,8 @@ #define TR_CONFIRMRESET "Wykasować wszytkie modele? " #define TR_TOO_MANY_LUA_SCRIPTS "Za dużo skryptów Lua!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "No Telemetry Screens" #define TR_TOUCH_PANEL "Touch panel:" #define TR_FILE_SIZE "File size" @@ -1031,36 +1137,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Tryb subtrim" #define TR_INVERTED "Inverted" - -#define TR_LSW_DESCRIPTIONS "Comparison type or function", "First variable", "Second variable or constant", "Second variable or constant", "Additional condition for line to be enabled", "Minimum ON duration of the logical switch", "Minimum TRUE duration for the switch to become ON" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Pierwszy kanał" - #define TR_FILL_BACKGROUND "Wypełnić tło?" - #define TR_BG_COLOR "BG Color" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "Sliders" - #define TR_FLIGHT_MODE "Flight mode" - #define TR_INVALID_FILE "Invalid File" - #define TR_TIMER_SOURCE "Timer source" - #define TR_SIZE "Rozmiar" - #define TR_SHADOW "Cień" - #define TR_ALIGNMENT "Wyrównaj" - #define TR_ALIGN_LABEL "Wyrównaj przywieszka" - #define TR_ALIGN_VALUE "Wyrównać wartość" - #define TR_ALIGN_OPTS "Lewy", "Centrum", "Prawe" - #define TR_TEXT "Tekst" - #define TR_COLOR "Kolor" - #define TR_PANEL1_BACKGROUND "Panel1 tło" - #define TR_PANEL2_BACKGROUND "Panel2 tło" - #define TR_WIDGET_GAUGE "Wskaźnik" - #define TR_WIDGET_MODELBMP "Modele" - #define TR_WIDGET_OUTPUTS "Wyjścia" - #define TR_WIDGET_TEXT "Tekst" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Wartość" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Pierwszy kanał" +#define TR_FILL_BACKGROUND "Wypełnić tło?" +#define TR_BG_COLOR "BG Color" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "Sliders" +#define TR_FLIGHT_MODE "Flight mode" +#define TR_INVALID_FILE "Invalid File" +#define TR_TIMER_SOURCE "Timer source" +#define TR_SIZE "Rozmiar" +#define TR_SHADOW "Cień" +#define TR_ALIGNMENT "Wyrównaj" +#define TR_ALIGN_LABEL "Wyrównaj przywieszka" +#define TR_ALIGN_VALUE "Wyrównać wartość" +#define TR_ALIGN_OPTS_1 "Lewy" +#define TR_ALIGN_OPTS_2 "Centrum" +#define TR_ALIGN_OPTS_3 "Prawe" +#define TR_TEXT "Tekst" +#define TR_COLOR "Kolor" +#define TR_PANEL1_BACKGROUND "Panel1 tło" +#define TR_PANEL2_BACKGROUND "Panel2 tło" +#define TR_WIDGET_GAUGE "Wskaźnik" +#define TR_WIDGET_MODELBMP "Modele" +#define TR_WIDGET_OUTPUTS "Wyjścia" +#define TR_WIDGET_TEXT "Tekst" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Wartość" // About screen #define TR_ABOUTUS TR(" O ", " O ") @@ -1093,7 +1196,7 @@ #define TR_CELLINDEX "Cell index" #define TR_LOGS "Logi" #define TR_OPTIONS "Opcje " -#define TR_FIRMWARE_OPTIONS "Opcje firmware" +#define TR_FIRMWARE_OPTIONS BUTTON("Opcje firmware") #define TR_ALTSENSOR "Sensor wys." #define TR_CELLSENSOR "Sensor Cell" @@ -1148,11 +1251,6 @@ #define TR_USE_THEME_COLOR "Użyj koloru szablonu" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Dodaj trymy do podtrymów" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Otwórz Monitor kanałów" -#else - #define TR_OPEN_CHANNEL_MONITORS "Otwórz Mon. kanałów" -#endif #define TR_DUPLICATE "Duplikuj" #define TR_ACTIVATE "Aktywuj" #define TR_RED "Czerwony" @@ -1187,6 +1285,7 @@ #define TR_CANCEL "Anuluj" #define TR_EDIT_THEME "Edytuj szablon" #define TR_DETAILS "Detale" +#define TR_THEME_EDITOR "Szablony" // Voice in native language #define TR_VOICE_ENGLISH "Angielski" @@ -1212,29 +1311,71 @@ #define TR_USBJOYSTICK_LABEL "Dżojstik USB" #define TR_USBJOYSTICK_EXTMODE "Tryb" -#define TR_VUSBJOYSTICK_EXTMODE "Klasyczny","Zaawansowany" -#define TR_USBJOYSTICK_SETTINGS "Ustawienia kanałów" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Klasyczny" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Zaawansowany" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Ustawienia kanałów") #define TR_USBJOYSTICK_IF_MODE TR("Tryb in.","Tryb interfesju") -#define TR_VUSBJOYSTICK_IF_MODE "Dżojstik","Pad","Wielo oś." +#define TR_VUSBJOYSTICK_IF_MODE_1 "Dżojstik" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Pad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "Wielo oś." #define TR_USBJOYSTICK_CH_MODE "Tryb" -#define TR_VUSBJOYSTICK_CH_MODE "Brak","Prz","Oś","Sym" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","P","O","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Brak" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Prz" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Oś" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sym" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "P" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "O" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Tryb guzików" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normalny","Puls","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Puls"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normalny" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Puls" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Puls") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Pozycje" -#define TR_VUSBJOYSTICK_CH_SWPOS "Guz.","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Guz." +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Oś" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Suwak","Wyb.","Koło" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Suwak" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Wyb." +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Koło" #define TR_USBJOYSTICK_CH_SIM "Oś sym." -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Odwróć" #define TR_USBJOYSTICK_CH_BTNNUM "Guzik nr." #define TR_USBJOYSTICK_BTN_COLLISION "!Kolizja nr. guzika!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Kolizja osi!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "None","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Zastosuj zmiany" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "None" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Zastosuj zmiany") #define TR_DIGITAL_SERVO "Serwo 333HZ" #define TR_ANALOG_SERVO "Serwo 50HZ" @@ -1250,7 +1391,10 @@ #define TR_SELECT_MENU_CLR "Wyczyść" #define TR_SELECT_MENU_INV "Odwróć" -#define TR_SORT_ORDERS "Nazwa A-Z","Nazwa Z-A","Najrzadziej użyty","Najczęściej użyty" +#define TR_SORT_ORDERS_1 "Nazwa A-Z" +#define TR_SORT_ORDERS_2 "Nazwa Z-A" +#define TR_SORT_ORDERS_3 "Najrzadziej użyty" +#define TR_SORT_ORDERS_4 "Najczęściej użyty" #define TR_SORT_MODELS_BY "Sortuj modele" #define TR_CREATE_NEW "Utwórz" diff --git a/radio/src/translations/pt.h b/radio/src/translations/i18n/pt.h similarity index 73% rename from radio/src/translations/pt.h rename to radio/src/translations/i18n/pt.h index 9fe94c2df03..83dd836ac95 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/i18n/pt.h @@ -32,65 +32,184 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX +// Main menu +#define TR_QM_MANAGE_MODELS "Manage\nModels" +#define TR_QM_MODEL_SETUP "Model\nSetup" +#define TR_QM_RADIO_SETUP "Radio\nSetup" +#define TR_QM_UI_SETUP "UI\nSetup" +#define TR_QM_TOOLS "Tools" +#define TR_QM_GEN_SETTINGS "General\nSettings" +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") +#define TR_QM_INPUTS "Inputs" +#define TR_QM_MIXES "Mixes" +#define TR_QM_OUTPUTS "Outputs" +#define TR_QM_CURVES "Curves" +#define TR_QM_GLOBAL_VARS "Global\nVariables" +#define TR_QM_LOGICAL_SW "Logical\nSwitches" +#define TR_QM_SPEC_FUNC "Special\nFunctions" +#define TR_QM_CUSTOM_LUA "Custom\nScripts" +#define TR_QM_TELEM "Telemetry" +#define TR_QM_GLOB_FUNC "Global\nFunctions" +#define TR_QM_TRAINER "Trainer" +#define TR_QM_HARDWARE "Hardware" +#define TR_QM_ABOUT "About\nEdgeTX" +#define TR_QM_THEMES "Themes" +#define TR_QM_TOP_BAR "Top Bar" +#define TR_QM_SCREEN_1 "Screen 1" +#define TR_QM_SCREEN_2 "Screen 2" +#define TR_QM_SCREEN_3 "Screen 3" +#define TR_QM_SCREEN_4 "Screen 4" +#define TR_QM_SCREEN_5 "Screen 5" +#define TR_QM_SCREEN_6 "Screen 6" +#define TR_QM_SCREEN_7 "Screen 7" +#define TR_QM_SCREEN_8 "Screen 8" +#define TR_QM_SCREEN_9 "Screen 9" +#define TR_QM_SCREEN_10 "Screen 10" +#define TR_QM_ADD_SCREEN "Add\nScreen" +#define TR_QM_APPS "Apps" +#define TR_QM_STORAGE "Storage" +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") +#define TR_QM_CHAN_MON "Channel\nMonitor" +#define TR_QM_LS_MON "LS\nMonitor" +#define TR_QM_STATS "Statistics" +#define TR_QM_DEBUG "Debug" +#define TR_MAIN_MENU_SETTINGS "General Settings" +#define TR_MAIN_MENU_MANAGE_MODELS "Gerenciar Modelos" +#define TR_MAIN_MENU_MODEL_NOTES "Notas Modelo" +#define TR_MAIN_MENU_CHANNEL_MONITOR "Monitor Canais" +#define TR_MONITOR_SWITCHES "MONITOR CHAV. LÓGICAS" +#define TR_MAIN_MENU_MODEL_SETTINGS "Editar Modelo" +#define TR_MAIN_MENU_RADIO_SETTINGS "Editar Rádio" +#define TR_MAIN_MENU_SCREEN_SETTINGS "Editar Tela" +#define TR_MAIN_MENU_RESET_TELEMETRY "Reset Telem." +#define TR_MAIN_MENU_STATISTICS "Estatist." +#define TR_MAIN_MENU_ABOUT_EDGETX "Sobre EdgeTX" +#define TR_MAIN_VIEW_X "Screen " +#define TR_MAIN_MENU_APPS "Apps" +#define TR_MENUHELISETUP "EDITAR HELI" +#define TR_MENUFLIGHTMODES TR_SFC_AIR("MODOS DIR", "MODOS VOO") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("MODO DIR", "MODO DE VOO") +#define TR_MENUINPUTS "ENTRADAS" +#define TR_MENULIMITS "SAÍDAS" +#define TR_MENUCURVES "CURVAS" +#define TR_MIXES "MIXES" +#define TR_MENU_GLOBAL_VARS "Variáveis Global" +#define TR_MENULOGICALSWITCHES "CHAVES LÓGICAS" +#define TR_MENUCUSTOMFUNC "FUNÇÃO ESPECIAL" +#define TR_MENUCUSTOMSCRIPTS "SCRIPTS CUSTOM" +#define TR_MENUTELEMETRY "TELEMETRIA" +#define TR_MENUSPECIALFUNCS "FUNÇÕES GLOBAIS" +#define TR_MENUTRAINER "TRAINER" +#define TR_HARDWARE "HARDWARE" +#define TR_USER_INTERFACE "Top Bar" +#define TR_DEBUG "Debug" +#define TR_MENU_RADIO_SWITCHES TR("CHAVES", "TEST CHAVES") +#define TR_MENUCALIBRATION "CALIBRAÇÃO" +#define TR_FUNCTION_SWITCHES "Chaves customizáveis" +// End Main menu #define TR_MINUTE_SINGULAR "minuto" #define TR_MINUTE_PLURAL1 "minutos" #define TR_MINUTE_PLURAL2 "minutos" -#define TR_OFFON "DESL","LIG" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Mudo","Alarmes","Sem Botão","Todos" -#define TR_VBLMODE "DESL","Botões",TR("Ctrl","Controles"),"Ambos","Ligado" -#define TR_TRNMODE "DESL",TR("+=","Adicionar"),TR(":=","Trocar") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" -#define TR_AUX_SERIAL_MODES "DESL","Espelhar Telem","Entr Telem","Trainer SBUS","LUA","CLI","GPS","Debug","SpaceMouse","External module" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Nenhum","Tátil","2POS","3POS","Global" -#else -#define TR_SWTYPES "Nenhum","Tátil","2POS","3POS" -#endif -#define TR_POTTYPES "Nenhum","Pot",TR("Pot c. trav","Pot com trava"),"Slider",TR("Multipos","Chave Multipos"),"Eixo X","Eixo Y","Chave" -#define TR_VPERSISTENT "DESL","Voo","Reset Manual" -#define TR_COUNTRY_CODES TR("US","América"),TR("JP","Japão"),TR("EU","Europa") -#define TR_USBMODES "Pergunta",TR("Joyst","Joystick"),TR("SDCard","Storage"),"Serial" -#define TR_JACK_MODES "Pergunta","Audio","Trainer" - -#define TR_SBUS_INVERSION_VALUES "normal","não invertido" +#define TR_OFFON_1 "DESL" +#define TR_OFFON_2 "LIG" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Mudo" +#define TR_VBEEPMODE_2 "Alarmes" +#define TR_VBEEPMODE_3 "Sem Botão" +#define TR_VBEEPMODE_4 "Todos" +#define TR_VBLMODE_1 "DESL" +#define TR_VBLMODE_2 "Botões" +#define TR_VBLMODE_3 TR("Ctrl","Controles") +#define TR_VBLMODE_4 "Ambos" +#define TR_VBLMODE_5 "Ligado" +#define TR_TRNMODE_1 "DESL" +#define TR_TRNMODE_2 TR("+=","Adicionar") +#define TR_TRNMODE_3 TR(":=","Trocar") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" +#define TR_AUX_SERIAL_MODES_1 "DESL" +#define TR_AUX_SERIAL_MODES_2 "Espelhar Telem" +#define TR_AUX_SERIAL_MODES_3 "Entr Telem" +#define TR_AUX_SERIAL_MODES_4 "Trainer SBUS" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "External module" +#define TR_SWTYPES_1 "Nenhum" +#define TR_SWTYPES_2 "Tátil" +#define TR_SWTYPES_3 "2POS" +#define TR_SWTYPES_4 "3POS" +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "Nenhum" +#define TR_POTTYPES_2 "Pot" +#define TR_POTTYPES_3 TR("Pot c. trav","Pot com trava") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Multipos","Chave Multipos") +#define TR_POTTYPES_6 "Eixo X" +#define TR_POTTYPES_7 "Eixo Y" +#define TR_POTTYPES_8 "Chave" +#define TR_VPERSISTENT_1 "DESL" +#define TR_VPERSISTENT_2 "Voo" +#define TR_VPERSISTENT_3 "Reset Manual" +#define TR_COUNTRY_CODES_1 TR("US","América") +#define TR_COUNTRY_CODES_2 TR("JP","Japão") +#define TR_COUNTRY_CODES_3 TR("EU","Europa") +#define TR_USBMODES_1 "Pergunta" +#define TR_USBMODES_2 TR("Joyst","Joystick") +#define TR_USBMODES_3 TR("SDCard","Storage") +#define TR_USBMODES_4 "Serial" +#define TR_JACK_MODES_1 "Pergunta" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Trainer" + +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "não invertido" #define TR_MULTI_CUSTOM "Custom" -#define TR_VTRIMINC "Expo","ExFino","Fino","Médio","Largo" -#define TR_VDISPLAYTRIMS "Não","Trocar","Sim" -#define TR_VBEEPCOUNTDOWN "Silêncioso","Bipes","Voz","Vibrar",TR("B & V","Bipes & Vibrar"),TR("V & V","Voz & Vibrar") -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VVARIOCENTER "Tom","silêncio" -#define TR_CURVE_TYPES "Normal","Custom" - -#define TR_ADCFILTERVALUES "Global","DESL","LIG" - -#define TR_VCURVETYPE "Diff","Expo","Func","Cstm" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Adicionar","Multipl.","Trocar" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Stcky" - #define TR_CSWSTAY "Edge" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Stky" - #define TR_CSWSTAY "Edge" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_SF_SAFETY "Sobrescrv" -#else - #define TR_SF_SAFETY "Overr." -#endif +#define TR_SF_SAFETY TR("Overr.", "Sobrescrv") #define TR_SF_SCREENSHOT "Capt. Tela" #define TR_SF_RACING_MODE "ModCorrida" #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Amp Audio Desl" -#define TR_SF_SET_SCREEN "Def Tela Princ" -#define TR_SF_SET_TELEMSCREEN "Def Tela" +#define TR_SF_SET_SCREEN TR_BW_COL("Def Tela", "Def Tela Princ") #define TR_SF_PUSH_CUST_SWITCH "Push CS" #define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetria") #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("All","Flight"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Bipe1"),TR("Bp2","Bipe2"),TR("Bp3","Bipe3"),TR("Wrn1","Avis1"),TR("Wrn2","Avis2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robô"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TIMERS_1 "Tmr1" +#define TR_FSW_RESET_TIMERS_2 "Tmr2" +#define TR_FSW_RESET_TIMERS_3 "Tmr3" + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("All","Flight") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Bipe1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Bipe2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Bipe3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Avis1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Avis2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robô") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM "Metric",TR("Imper.","Imperial") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "Nenhum","Números","Barras","Script" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "Metric" +#define TR_VUNITSSYSTEM_2 TR("Imper.","Imperial") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "Nenhum" +#define TR_VTELEMSCREENTYPE_2 "Números" +#define TR_VTELEMSCREENTYPE_3 "Barras" +#define TR_VTELEMSCREENTYPE_4 "Script" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Lem" #define TR_STICK_NAMES1 "Pfd" @@ -162,18 +333,20 @@ #define TR_SURFACE_NAMES0 "Dir" #define TR_SURFACE_NAMES1 "Mot" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Default","High" -#endif +#define TR_RFPOWER_AFHDS2_1 "Default" +#define TR_RFPOWER_AFHDS2_2 "High" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "LIG","UM" +#define TR_ON_ONE_SWITCHES_1 "LIG" +#define TR_ON_ONE_SWITCHES_2 "UM" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "Modo menu" -#define TR_HATSOPT "Só Trims","Só menu","Chaveável","Global" +#define TR_HATSOPT_1 "Só Trims" +#define TR_HATSOPT_2 "Só menu" +#define TR_HATSOPT_3 "Chaveável" +#define TR_HATSOPT_4 "Global" #define TR_HATSMODE_TRIMS "Modo trim: Trims" #define TR_HATSMODE_KEYS "Modo trim: Menu" #define TR_HATSMODE_KEYS_HELP "Lado Esq:\n"\ @@ -186,79 +359,86 @@ " Direita = PAGE>\n"\ " Cima = PREV/INC\n"\ " Baixo = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Normal","Invert" -#else - #define TR_ROTARY_ENC_OPT "Normal","Invert","V-I H-N","V-I H-A","V-N E-I" -#endif - -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Invert" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "DESL","LIGA","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "DESL" +#define TR_VTMRMODES_2 "LIGA" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "DESL" #define TR_VTRAINER_MASTER_JACK "Mestre/Jack" #define TR_VTRAINER_SLAVE_JACK "Escrv/Jack" #define TR_VTRAINER_MASTER_SBUS_MODULE "Mestre/SBUS Module" #define TR_VTRAINER_MASTER_CPPM_MODULE "Mestre/CPPM Module" #define TR_VTRAINER_MASTER_BATTERY "Mestre/Serial" -#define TR_VTRAINER_BLUETOOTH "Mestre/" TR("BT","Bluetooth"), "Escrv/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Mestre/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Escrv/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Mestre/Multi" #define TR_VTRAINER_CRSF "Mestre/CRSF" -#define TR_VFAILSAFE "Nao def","Manter","Custom","Sem Pulsos","Receptor" -#define TR_VSENSORTYPES "Custom","Calculado" -#define TR_VFORMULAS "Soma","Média","Min","Max","Multipl","Totalizar","Cell","Consumido","Distâcia" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Menor","1","2","3","4","5","6","7","8","Maior","Delta" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symmetrical)" -#define TR_TIMER_DIR TR("Restan", "Restante"), TR("Passd.", "Passado") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Nao def" +#define TR_VFAILSAFE_2 "Manter" +#define TR_VFAILSAFE_3 "Custom" +#define TR_VFAILSAFE_4 "Sem Pulsos" +#define TR_VFAILSAFE_5 "Receptor" +#define TR_VSENSORTYPES_1 "Custom" +#define TR_VSENSORTYPES_2 "Calculado" +#define TR_VFORMULAS_1 "Soma" +#define TR_VFORMULAS_2 "Média" +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Multipl" +#define TR_VFORMULAS_6 "Totalizar" +#define TR_VFORMULAS_7 "Cell" +#define TR_VFORMULAS_8 "Consumido" +#define TR_VFORMULAS_9 "Distâcia" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Menor" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Maior" +#define TR_VCELLINDEX_11 "Delta" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (center only)" +#define TR_SUBTRIMMODES_2 "= (symmetrical)" +#define TR_TIMER_DIR_1 TR("Restan", "Restante") +#define TR_TIMER_DIR_2 TR("Passd.", "Passado") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "Livre" #define TR_YES "SIM" @@ -292,11 +472,19 @@ #define TR_PROTOCOL TR("Proto", "Protocolo") #define TR_PPMFRAME "frame PPM" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") - #define STR_WARN_BATTVOLTAGE TR("Saída em VBAT: ", "AVISO: Tensão de saída em VBAT: ") + #define TR_WARN_BATTVOLTAGE TR("Saída em VBAT: ", "AVISO: Tensão de saída em VBAT: ") #define TR_WARN_5VOLTS "AVISO: Tensão de saída em 5 volts" #define TR_MS "ms" #define TR_SWITCH "Chave" -#define TR_FS_COLOR_LIST "Custom","Desl","Branco","Verm","Verd","Amarl","Larj","Azul","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Desl" +#define TR_FS_COLOR_LIST_3 "Branco" +#define TR_FS_COLOR_LIST_4 "Verm" +#define TR_FS_COLOR_LIST_5 "Verd" +#define TR_FS_COLOR_LIST_6 "Amarl" +#define TR_FS_COLOR_LIST_7 "Larj" +#define TR_FS_COLOR_LIST_8 "Azul" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Grupo" #define TR_GROUP_ALWAYS_ON "Sempre lig" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -306,28 +494,19 @@ #define TR_SWITCH_TYPE "Tipo" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Grupo" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Disparo" #define TR_TRIMS "Trims" #define TR_FADEIN "Aparecer" #define TR_FADEOUT "Desaparecer" #define TR_DEFAULT "(padrão)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Check FM Trims" -#else - #define TR_CHECKTRIMS "\006Check\012trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Check\012trims", "Check FM Trims") #define TR_SWASHTYPE "Tipo do Swash" #define TR_COLLECTIVE TR("Coletivo", "Org. passo do Coletivo") #define TR_AILERON TR("Rolagem", "Org. cíclico Rolagem") #define TR_ELEVATOR TR("Arfagem", "Org. cíclico Arfagem") #define TR_SWASHRING "Swash Ring" #define TR_MODE "Modo" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Esq" -#else - #define TR_LEFT_STICK "Esq" -#endif +#define TR_LEFT_STICK "Esq" #define TR_SUBTYPE "Subtipo" #define TR_NOFREEEXPO "No free expo!" #define TR_NOFREEMIXER "No free mixer!" @@ -350,11 +529,7 @@ #define TR_SLOWDOWN TR("Lento dn", "Lento down") #define TR_SLOWUP "Lento up" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE "Alcance" #define TR_CENTER "Centro" #define TR_ALARM "Alarme" @@ -423,20 +598,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplier" #define TR_CAL "Cal" -#define TR_CALIBRATION "Calibração" +#define TR_CALIBRATION BUTTON("Calibração") #define TR_VTRIM "Trim - +" #define TR_CALIB_DONE "Calibração completa" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTRE EIXO/SLIDERS" - #define TR_MOVESTICKSPOTS "MOVA EIXO/POTS" -#else - #define TR_MENUTOSTART TR_ENTER " P/ INICIAR" - #define TR_SETMIDPOINT TRSA("SET MEIO DOS POTS", TR("SET EIXO MEIO", "CENTRE AXIS/SLIDERS")) - #define TR_MOVESTICKSPOTS TRSA("MOVA DIR/MOT/POTS/AXIS", "MOVA AXIS/POTS") - #define TR_MENUWHENDONE TR_ENTER " QUANDO TERM." +#define TR_MENUTOSTART TR_ENTER " P/ INICIAR" +#define TR_MENUWHENDONE TR_ENTER " QUANDO TERM." #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("SET MEIO DOS POTS", TR("SET EIXO MEIO", "CENTRE AXIS/SLIDERS")), "CENTRE EIXO/SLIDERS") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("MOVA DIR/MOT/POTS/AXIS", "MOVA AXIS/POTS"), "MOVA EIXO/POTS") #define TR_NODATA "SEM DADOS" #define TR_US "us" #define TR_HZ "Hz" @@ -466,7 +636,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "MODEL" -#define TR_FM TRSA("MD", "FM") +#define TR_FM TR_SFC_AIR("MD", "FM") #define TR_EEPROMLOWMEM "EEPROM low mem" #define TR_PRESS_ANY_KEY_TO_SKIP "Press tecla p/ sair" #define TR_THROTTLE_NOT_IDLE "Acelerador ativo" @@ -485,11 +655,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "ANALOGS CALIBR." #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "ANALOGS BRUTOS(5 Hz)" #define TR_MENU_FSWITCH "BOTÃO CUSTOMIZAVEL" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Trims => Subtrims" -#else - #define TR_TRIMS2OFFSETS "\006Trims => Subtrims" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Trims => Subtrims", "Trims => Subtrims") #define TR_CHANNELS2FAILSAFE "Chanais=>Failsafe" #define TR_CHANNEL2FAILSAFE "Chanal=>Failsafe" #define TR_MENUMODELSEL TR("SEL. MODELO", "SELEÇÃO MODELO") @@ -595,7 +761,7 @@ #define TR_NO_TOOLS "No tools available" #define TR_NORMAL "Normal" #define TR_NOT_INVERTED "Not inv" -#define TR_NOT_CONNECTED TR("!Conectado", "Nao Conectado"); +#define TR_NOT_CONNECTED TR("!Conectado", "Nao Conectado") #define TR_CONNECTED "Connected" #define TR_FLEX_915 "Flex 915MHz" #define TR_FLEX_868 "Flex 868MHz" @@ -606,7 +772,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Update RX options?" #define TR_UPDATE_TX_OPTIONS "Update TX options?" -#define TR_MODULES_RX_VERSION "Módulos / Vers. RX" +#define TR_MODULES_RX_VERSION BUTTON("Módulos / Vers. RX") #define TR_SHOW_MIXER_MONITORS "Show mixer monitors" #define TR_MENU_MODULES_RX_VERSION "MÓDULOS / Vers. RX" #define TR_MENU_FIRM_OPTIONS "OPÇÕES DO FIRMWARE" @@ -626,11 +792,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "Cart SD cheio" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLogs e captura de tela desativados" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Logs e captura" LCDW_128_LINEBREAK "de tela desativados" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Logs e captura" LCDW_128_LINEBREAK "de tela desativados", TR_SDCARD_FULL "\nLogs e captura de tela desativados") #define TR_NEEDS_FILE "NEEDS FILE" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -690,7 +852,8 @@ #define TR_CRSF_ARMING_MODE TR("Armar via", "Armar usando") #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE TR("Sampling","Sample Mode") -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Carregando..." #define TR_DELETE_THEME "Apagar Tema?" #define TR_SAVE_THEME "Salvar Tema?" @@ -698,15 +861,16 @@ #define TR_NO_THEME_IMAGE "Sem image tema" #define TR_BACKLIGHT_TIMER "Timeout inativ" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Sel rapida modelo" - #define TR_LABELS_SELECT "Label select" - #define TR_LABELS_MATCH "Label matching" - #define TR_FAV_MATCH "Favorites matching" - #define TR_LABELS_SELECT_MODE "Multi select","Single select" - #define TR_LABELS_MATCH_MODE "Match all","Match any" - #define TR_FAV_MATCH_MODE "Must match","Optional match" -#endif +#define TR_MODEL_QUICK_SELECT "Sel rapida modelo" +#define TR_LABELS_SELECT "Label select" +#define TR_LABELS_MATCH "Label matching" +#define TR_FAV_MATCH "Favorites matching" +#define TR_LABELS_SELECT_MODE_1 "Multi select" +#define TR_LABELS_SELECT_MODE_2 "Single select" +#define TR_LABELS_MATCH_MODE_1 "Match all" +#define TR_LABELS_MATCH_MODE_2 "Match any" +#define TR_FAV_MATCH_MODE_1 "Must match" +#define TR_FAV_MATCH_MODE_2 "Optional match" #define TR_SELECT_TEMPLATE_FOLDER "Select a template folder" #define TR_SELECT_TEMPLATE "SELECT A MODEL TEMPLATE:" @@ -726,11 +890,10 @@ #define TR_BLUETOOTH_NODEVICES "No Devices Found" #define TR_BLUETOOTH_SCANNING "Scanning..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Enabled" -#else -#define TR_BLUETOOTH_MODES "---","Telemetry","Trainer" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetry" +#define TR_BLUETOOTH_MODES_3 "Trainer" +#define TR_BLUETOOTH_MODES_4 "Enabled" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Vel:" @@ -741,7 +904,18 @@ #define TR_GLOBAL_VAR "Variável Global" #define TR_OWN "Own" #define TR_DATE "Data" -#define TR_MONTHS "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Fev" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Abr" +#define TR_MONTHS_5 "Mai" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Ago" +#define TR_MONTHS_9 "Set" +#define TR_MONTHS_10 "Out" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dez" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("Modo RotEnc","Modo Rotary Encoder") #define TR_CHANNELS_MONITOR "MONITOR CANAIS" @@ -846,14 +1020,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device" -#define TR_DISCOVER "Discover" +#define TR_DISCOVER BUTTON("Discover") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Waiting..." #define TR_RECEIVER_DELETE "Delete receiver?" #define TR_RECEIVER_RESET "Reset receiver?" #define TR_SHARE "Share" #define TR_BIND "Bind" -#define TR_REGISTER TR("Reg", "Register") +#define TR_REGISTER BUTTON(TR("Reg", "Register")) #define TR_MODULE_RANGE BUTTON(TR("Rng", "Range")) #define TR_RANGE_TEST "Range Test" #define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS") @@ -884,11 +1058,11 @@ #define TR_TELEMETRY_NEWSENSOR "Adic Sensor" #define TR_CHANNELRANGE TR("Range Ch.", "Range Canal") #define TR_ANTENNACONFIRM1 "EXT. ANTENNA" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Internal","Ask","Per model","Internal + External" -#else - #define TR_ANTENNA_MODES "Internal","Ask","Per model","External" -#endif +#define TR_ANTENNA_MODES_1 "Internal" +#define TR_ANTENNA_MODES_2 "Ask" +#define TR_ANTENNA_MODES_3 "Per model" +#define TR_ANTENNA_MODES_4 "Internal + External" +#define TR_ANTENNA_MODES_5 "External" #define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna") #define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna") #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") @@ -905,7 +1079,7 @@ #define TR_CURVE_PRESET "Preset..." #define TR_PRESET "Preset" #define TR_MIRROR "Espelhar" -#define TR_CLEAR "Clear" +#define TR_CLEAR BUTTON("Clear") #define TR_RESET "Reset" #define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Quantidade" @@ -920,7 +1094,9 @@ #define TR_MIXSOURCE "Fonte (%)" #define TR_MIXSOURCERAW "Fonte (valor)" #define TR_CONSTANT "Constant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "DESL","LIGA","AUTO" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "DESL" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "LIGA" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "AUTO" #define TR_PREFLIGHT "pré-Checks" #define TR_CHECKLIST TR("Checklist", "Display checklist") #define TR_CHECKLIST_INTERACTIVE TR3("Cklist-int", "Checklist Interat.", "Checklist interativa") @@ -935,7 +1111,8 @@ #define TR_CONFIRMRESET TR("Erase ALL", "Erase ALL models and settings?") #define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #define TR_SPORT_UPDATE_POWER_MODE "SP Power" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "No Telemetry Screens" #define TR_TOUCH_PANEL "Touch panel:" #define TR_FILE_SIZE "File size" @@ -963,36 +1140,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Modo subtrim" #define TR_INVERTED "Invertido" - -#define TR_LSW_DESCRIPTIONS "Comparison type or function", "First variable", "Second variable or constant", "Second variable or constant", "Additional condition for line to be enabled", "Minimum ON duration of the logical switch", "Minimum TRUE duration for the switch to become ON" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "First channel" - #define TR_FILL_BACKGROUND "Fill background?" - #define TR_BG_COLOR "BG Color" - #define TR_SLIDERS_TRIMS "Sliders+Trims" - #define TR_SLIDERS "Sliders" - #define TR_FLIGHT_MODE "Modo de Voo" - #define TR_INVALID_FILE "Invalid File" - #define TR_TIMER_SOURCE "Timer source" - #define TR_SIZE "Size" - #define TR_SHADOW "Shadow" - #define TR_ALIGNMENT "Alinhar" - #define TR_ALIGN_LABEL "Alinhar etiqueta" - #define TR_ALIGN_VALUE "Alinhar valor" - #define TR_ALIGN_OPTS "Esquerda", "Centro", "Direita" - #define TR_TEXT "Text" - #define TR_COLOR "Color" - #define TR_PANEL1_BACKGROUND "Panel1 background" - #define TR_PANEL2_BACKGROUND "Panel2 background" - #define TR_WIDGET_GAUGE "Gauge" - #define TR_WIDGET_MODELBMP "Info Modelo" - #define TR_WIDGET_OUTPUTS "Outputs" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Value" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "First channel" +#define TR_FILL_BACKGROUND "Fill background?" +#define TR_BG_COLOR "BG Color" +#define TR_SLIDERS_TRIMS "Sliders+Trims" +#define TR_SLIDERS "Sliders" +#define TR_FLIGHT_MODE "Modo de Voo" +#define TR_INVALID_FILE "Invalid File" +#define TR_TIMER_SOURCE "Timer source" +#define TR_SIZE "Size" +#define TR_SHADOW "Shadow" +#define TR_ALIGNMENT "Alinhar" +#define TR_ALIGN_LABEL "Alinhar etiqueta" +#define TR_ALIGN_VALUE "Alinhar valor" +#define TR_ALIGN_OPTS_1 "Esquerda" +#define TR_ALIGN_OPTS_2 "Centro" +#define TR_ALIGN_OPTS_3 "Direita" +#define TR_TEXT "Text" +#define TR_COLOR "Color" +#define TR_PANEL1_BACKGROUND "Panel1 background" +#define TR_PANEL2_BACKGROUND "Panel2 background" +#define TR_WIDGET_GAUGE "Gauge" +#define TR_WIDGET_MODELBMP "Info Modelo" +#define TR_WIDGET_OUTPUTS "Outputs" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Value" // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") @@ -1025,7 +1199,7 @@ #define TR_CELLINDEX "Cell index" #define TR_LOGS "Logs" #define TR_OPTIONS "Options" -#define TR_FIRMWARE_OPTIONS "Opções do Firmware" +#define TR_FIRMWARE_OPTIONS BUTTON("Opções do Firmware") #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" @@ -1078,11 +1252,6 @@ #define TR_USE_THEME_COLOR "Use theme color" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Add all Trims to Subtrims" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Monitor" -#else - #define TR_OPEN_CHANNEL_MONITORS "Open Channel Mon." -#endif #define TR_DUPLICATE "Duplicate" #define TR_ACTIVATE "Set Active" #define TR_RED "Red" @@ -1119,81 +1288,6 @@ #define TR_DETAILS "Details" #define TR_MAIN_MENU_THEMES "TEMAS" -// Main menu -#define TR_QM_MANAGE_MODELS "Manage\nModels" -#define TR_QM_MODEL_SETUP "Model\nSetup" -#define TR_QM_RADIO_SETUP "Radio\nSetup" -#define TR_QM_UI_SETUP "UI\nSetup" -#define TR_QM_TOOLS "Tools" -#define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") -#define TR_QM_INPUTS "Inputs" -#define TR_QM_MIXES "Mixes" -#define TR_QM_OUTPUTS "Outputs" -#define TR_QM_CURVES "Curves" -#define TR_QM_GLOBAL_VARS "Global\nVariables" -#define TR_QM_LOGICAL_SW "Logical\nSwitches" -#define TR_QM_SPEC_FUNC "Special\nFunctions" -#define TR_QM_CUSTOM_LUA "Custom\nScripts" -#define TR_QM_TELEM "Telemetry" -#define TR_QM_GLOB_FUNC "Global\nFunctions" -#define TR_QM_TRAINER "Trainer" -#define TR_QM_HARDWARE "Hardware" -#define TR_QM_ABOUT "About\nEdgeTX" -#define TR_QM_THEMES "Themes" -#define TR_QM_TOP_BAR "Top Bar" -#define TR_QM_SCREEN_1 "Screen 1" -#define TR_QM_SCREEN_2 "Screen 2" -#define TR_QM_SCREEN_3 "Screen 3" -#define TR_QM_SCREEN_4 "Screen 4" -#define TR_QM_SCREEN_5 "Screen 5" -#define TR_QM_SCREEN_6 "Screen 6" -#define TR_QM_SCREEN_7 "Screen 7" -#define TR_QM_SCREEN_8 "Screen 8" -#define TR_QM_SCREEN_9 "Screen 9" -#define TR_QM_SCREEN_10 "Screen 10" -#define TR_QM_ADD_SCREEN "Add\nScreen" -#define TR_QM_APPS "Apps" -#define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") -#define TR_QM_CHAN_MON "Channel\nMonitor" -#define TR_QM_LS_MON "LS\nMonitor" -#define TR_QM_STATS "Statistics" -#define TR_QM_DEBUG "Debug" -#define TR_MAIN_MENU_SETTINGS "General Settings" -#define TR_MAIN_MENU_MANAGE_MODELS "Gerenciar Modelos" -#define TR_MAIN_MENU_MODEL_NOTES "Notas Modelo" -#define TR_MAIN_MENU_CHANNEL_MONITOR "Monitor Canais" -#define TR_MONITOR_SWITCHES "MONITOR CHAV. LÓGICAS" -#define TR_MAIN_MENU_MODEL_SETTINGS "Editar Modelo" -#define TR_MAIN_MENU_RADIO_SETTINGS "Editar Rádio" -#define TR_MAIN_MENU_SCREEN_SETTINGS "UI Setup" -#define TR_MAIN_MENU_STATISTICS "Estatist." -#define TR_MAIN_MENU_ABOUT_EDGETX "Sobre EdgeTX" -#define TR_MAIN_VIEW_X "Screen " -#define TR_MAIN_MENU_APPS "Apps" -#define TR_MENUHELISETUP "EDITAR HELI" -#define TR_MENUFLIGHTMODES TRSA("MODOS DIR", "MODOS VOO") -#define TR_MENUFLIGHTMODE TRSA("MODO DIR", "MODO DE VOO") -#define TR_MENUINPUTS "ENTRADAS" -#define TR_MENULIMITS "SAÍDAS" -#define TR_MENUCURVES "CURVAS" -#define TR_MIXES "MIXES" -#define TR_MENU_GLOBAL_VARS "Variáveis Global" -#define TR_MENULOGICALSWITCHES "CHAVES LÓGICAS" -#define TR_MENUCUSTOMFUNC "FUNÇÃO ESPECIAL" -#define TR_MENUCUSTOMSCRIPTS "SCRIPTS CUSTOM" -#define TR_MENUTELEMETRY "TELEMETRIA" -#define TR_MENUSPECIALFUNCS "FUNÇÕES GLOBAIS" -#define TR_MENUTRAINER "TRAINER" -#define TR_HARDWARE "HARDWARE" -#define TR_USER_INTERFACE "Top Bar" -#define TR_DEBUG "Debug" -#define TR_MENU_RADIO_SWITCHES TR("CHAVES", "TEST CHAVES") -#define TR_MENUCALIBRATION "CALIBRAÇÃO" -#define TR_FUNCTION_SWITCHES "Chaves customizáveis" -// End Main menu - // Voice in native language #define TR_VOICE_ENGLISH "Inglês" #define TR_VOICE_CHINESE "Chinês" @@ -1218,29 +1312,71 @@ #define TR_USBJOYSTICK_LABEL "Joystick USB" #define TR_USBJOYSTICK_EXTMODE "Modo" -#define TR_VUSBJOYSTICK_EXTMODE "Clássico","Avançado" -#define TR_USBJOYSTICK_SETTINGS "Conf. de Canais" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Clássico" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Avançado" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Conf. de Canais") #define TR_USBJOYSTICK_IF_MODE TR("Modo If.","Modo Interface") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Mode" -#define TR_VUSBJOYSTICK_CH_MODE "Nenhum","Btn","Eixo","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Nenhum" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Eixo" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Modo Botão" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Pulso","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Pulse"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Pulso" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Pulse") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Posição" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Eixo" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Sim axis" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Pfd","Lem","Mot","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Pfd" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Lem" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Mot" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Inversion" #define TR_USBJOYSTICK_CH_BTNNUM "Button no." #define TR_USBJOYSTICK_BTN_COLLISION "!Button no. collision!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axis collision!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Circ. cut", "Circular cutout") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "Nenh","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Appl mudanças" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "Nenh" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Appl mudanças") #define TR_DIGITAL_SERVO "Servo333HZ" #define TR_ANALOG_SERVO "Servo 50HZ" @@ -1256,7 +1392,10 @@ #define TR_SELECT_MENU_CLR "Limpar" #define TR_SELECT_MENU_INV "Inverte" -#define TR_SORT_ORDERS "Nome A-Z","Nome Z-A","Menos usado","Mais usado" +#define TR_SORT_ORDERS_1 "Nome A-Z" +#define TR_SORT_ORDERS_2 "Nome Z-A" +#define TR_SORT_ORDERS_3 "Menos usado" +#define TR_SORT_ORDERS_4 "Mais usado" #define TR_SORT_MODELS_BY "Ordenar modelos por" #define TR_CREATE_NEW "Criar" diff --git a/radio/src/translations/ru.h b/radio/src/translations/i18n/ru.h similarity index 75% rename from radio/src/translations/ru.h rename to radio/src/translations/i18n/ru.h index 2899b1e1077..d731e85bb4b 100644 --- a/radio/src/translations/ru.h +++ b/radio/src/translations/i18n/ru.h @@ -31,13 +31,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" @@ -46,7 +39,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -75,7 +68,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -94,8 +87,8 @@ #define TR_MAIN_MENU_THEMES "ТЕМЫ" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "НАСТРОЙКА ВЕРТ" -#define TR_MENUFLIGHTMODES TRSA("РЕЖИМЫ ВОЖДЕНИЯ", "РЕЖИМЫ ПОЛЕТА") -#define TR_MENUFLIGHTMODE TRSA("РЕЖИМ ВОЖДЕНИЯ", "РЕЖИМ ПОЛЕТА") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("РЕЖИМЫ ВОЖДЕНИЯ", "РЕЖИМЫ ПОЛЕТА") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("РЕЖИМ ВОЖДЕНИЯ", "РЕЖИМ ПОЛЕТА") #define TR_MENUINPUTS "ВХОДЫ" #define TR_MENULIMITS "ВЫХОДЫ" #define TR_MENUCURVES "КРИВЫЕ" @@ -120,53 +113,105 @@ #define TR_MINUTE_PLURAL1 "Мин" #define TR_MINUTE_PLURAL2 "Мин" -#define TR_OFFON "Выкл","Вкл" -#define TR_MMMINV "---","Инв" -#define TR_VBEEPMODE "Тихо","Сигн","Без клав","Все" -#define TR_VBLMODE "Выкл","Клав",TR("Стики","Стики"),"Двойн","Вкл" -#define TR_TRNMODE "Вык",TR("+=","Добав"),TR(":=","Замен") -#define TR_TRNCHN "КН1","КН2","КН3","КН4" - -#define TR_AUX_SERIAL_MODES "Выкл","Зерк телем","Телем вход","SBUS Тренаж","LUA","CLI","GPS","Отлад","SpaceMouse","Внеш модуль" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Нет","тумбл","2Х-поз пер","3Х-поз пер","Глоб" -#else -#define TR_SWTYPES "Нет","тумбл","2Х-поз пер","3Х-поз пер" -#endif -#define TR_POTTYPES "None","Pot",TR("Pot w. det","Pot with detent"),"Slider",TR("Multipos","Multipos Switch"),"Axis X","Axis Y","Switch" -#define TR_VPERSISTENT "Выкл","Полет","Руч сброс" -#define TR_COUNTRY_CODES TR("US","США"),TR("JP","Япония"),TR("EU","Евро") -#define TR_USBMODES "Выбор",TR("Джойс","Джойстик"),TR("SD-карта","Хранил"),"Серийн" -#define TR_JACK_MODES "Выбор","Аудио","Трен" - -#define TR_SBUS_INVERSION_VALUES "Норм","Не перев" +#define TR_OFFON_1 "Выкл" +#define TR_OFFON_2 "Вкл" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "Инв" +#define TR_VBEEPMODE_1 "Тихо" +#define TR_VBEEPMODE_2 "Сигн" +#define TR_VBEEPMODE_3 "Без клав" +#define TR_VBEEPMODE_4 "Все" +#define TR_VBLMODE_1 "Выкл" +#define TR_VBLMODE_2 "Клав" +#define TR_VBLMODE_3 TR("Стики","Стики") +#define TR_VBLMODE_4 "Двойн" +#define TR_VBLMODE_5 "Вкл" +#define TR_TRNMODE_1 "Вык" +#define TR_TRNMODE_2 TR("+=","Добав") +#define TR_TRNMODE_3 TR(":=","Замен") +#define TR_TRNCHN_1 "КН1" +#define TR_TRNCHN_2 "КН2" +#define TR_TRNCHN_3 "КН3" +#define TR_TRNCHN_4 "КН4" + +#define TR_AUX_SERIAL_MODES_1 "Выкл" +#define TR_AUX_SERIAL_MODES_2 "Зерк телем" +#define TR_AUX_SERIAL_MODES_3 "Телем вход" +#define TR_AUX_SERIAL_MODES_4 "SBUS Тренаж" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Отлад" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Внеш модуль" +#define TR_SWTYPES_1 "Нет" +#define TR_SWTYPES_2 "тумбл" +#define TR_SWTYPES_3 "2Х-поз пер" +#define TR_SWTYPES_4 "3Х-поз пер" +#define TR_SWTYPES_5 "Глоб" +#define TR_POTTYPES_1 "None" +#define TR_POTTYPES_2 "Pot" +#define TR_POTTYPES_3 TR("Pot w. det","Pot with detent") +#define TR_POTTYPES_4 "Slider" +#define TR_POTTYPES_5 TR("Multipos","Multipos Switch") +#define TR_POTTYPES_6 "Axis X" +#define TR_POTTYPES_7 "Axis Y" +#define TR_POTTYPES_8 "Switch" +#define TR_VPERSISTENT_1 "Выкл" +#define TR_VPERSISTENT_2 "Полет" +#define TR_VPERSISTENT_3 "Руч сброс" +#define TR_COUNTRY_CODES_1 TR("US","США") +#define TR_COUNTRY_CODES_2 TR("JP","Япония") +#define TR_COUNTRY_CODES_3 TR("EU","Евро") +#define TR_USBMODES_1 "Выбор" +#define TR_USBMODES_2 TR("Джойс","Джойстик") +#define TR_USBMODES_3 TR("SD-карта","Хранил") +#define TR_USBMODES_4 "Серийн" +#define TR_JACK_MODES_1 "Выбор" +#define TR_JACK_MODES_2 "Аудио" +#define TR_JACK_MODES_3 "Трен" + +#define TR_SBUS_INVERSION_VALUES_1 "Норм" +#define TR_SBUS_INVERSION_VALUES_2 "Не перев" #define TR_MULTI_CUSTOM "Настроенный" -#define TR_VTRIMINC TR("Экспо","экспо"),TR("Оч мелк","Оч мелко"),"Мелко","Сред","Грубо" -#define TR_VDISPLAYTRIMS "Нет","Измен","Да" -#define TR_VBEEPCOUNTDOWN "Без звука", "Сигн", "Голос", "Вибро", TR("Звук вибро", "Сигн вибро"), TR("Голос вибро", "Голос вибро") -#define TR_COUNTDOWNVALUES "5с","10с","20с","30с" -#define TR_VVARIOCENTER "Тон","Тихо" -#define TR_CURVE_TYPES "Стд","Выбор" - -#define TR_ADCFILTERVALUES "Глоб","Вык","Вкл" - -#define TR_VCURVETYPE "Разн", "Экспо", "Функц", "Польз" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Добав", "Умнож", "Замен" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Таймер" - #define TR_CSWSTICKY "Липучка" - #define TR_CSWSTAY "Край" -#else - #define TR_CSWTIMER "Таймер" - #define TR_CSWSTICKY "Липучка" - #define TR_CSWSTAY "Кррай" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_SF_SAFETY "Оменить" -#else - #define TR_SF_SAFETY "Отмен" -#endif +#define TR_SF_SAFETY TR("Отмен", "Оменить") #define TR_SF_SCREENSHOT "Скриншот" #define TR_SF_RACING_MODE "Режим гонка" #define TR_SF_DISABLE_TOUCH "Сенсор вык" #define TR_SF_DISABLE_AUDIO_AMP "Вык аудио усил." -#define TR_SF_SET_SCREEN "Выбр глав экран" -#define TR_SF_SET_TELEMSCREEN "Устан экран" +#define TR_SF_SET_SCREEN TR_BW_COL("Устан экран", "Выбр глав экран") #define TR_SF_PUSH_CUST_SWITCH "Нажать CS" #define TR_SF_LCD_TO_VIDEO "LCD в видео" #define TR_FSW_RESET_TELEM TR("Телем", "Телеметрия") #define TR_FSW_RESET_TRIMS "Тримы" -#define TR_FSW_RESET_TIMERS "Тмр1","Трм2","Трм3" - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS, TR("Все","Полетн"), TR_FSW_RESET_TELEM, TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Beep1"),TR("Bp2","Beep2"),TR("Bp3","Beep3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TIMERS_1 "Тмр1" +#define TR_FSW_RESET_TIMERS_2 "Трм2" +#define TR_FSW_RESET_TIMERS_3 "Трм3" + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("Все","Полетн") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mlch" #define LENGTH_UNIT_METR "м" #define SPEED_UNIT_METR "кмч" -#define TR_VUNITSSYSTEM "Метрич","Импер" -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","ms","us","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "Нет","Цифры","График","Скрипты" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "Метрич" +#define TR_VUNITSSYSTEM_2 "Импер" +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "Нет" +#define TR_VTELEMSCREENTYPE_2 "Цифры" +#define TR_VTELEMSCREENTYPE_3 "График" +#define TR_VTELEMSCREENTYPE_4 "Скрипты" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Rud" #define TR_STICK_NAMES1 "Ele" @@ -238,18 +335,20 @@ #define TR_SURFACE_NAMES0 "ST" #define TR_SURFACE_NAMES1 "TH" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "По умолч","Высокий" -#endif +#define TR_RFPOWER_AFHDS2_1 "По умолч" +#define TR_RFPOWER_AFHDS2_2 "Высокий" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "Вкл","Один" +#define TR_ON_ONE_SWITCHES_1 "Вкл" +#define TR_ON_ONE_SWITCHES_2 "Один" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "Hats mode" -#define TR_HATSOPT "Тримы","Кнопки","Тумбл","Глоб" +#define TR_HATSOPT_1 "Тримы" +#define TR_HATSOPT_2 "Кнопки" +#define TR_HATSOPT_3 "Тумбл" +#define TR_HATSOPT_4 "Глоб" #define TR_HATSMODE_TRIMS "Hats mode: Тримы" #define TR_HATSMODE_KEYS "Hats mode: Кнопки" #define TR_HATSMODE_KEYS_HELP "Left side:\n"\ @@ -262,79 +361,86 @@ " Right = PAGE>\n"\ " Up = PREV/INC\n"\ " Down = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Норм","Перевер" -#else - #define TR_ROTARY_ENC_OPT "Норм","Перевер","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_ROTARY_ENC_OPT_1 "Норм" +#define TR_ROTARY_ENC_OPT_2 "Перевер" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "АКБ" #define TR_SRC_TIME "Время" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "ТМР" -#define TR_VTMRMODES "Вык","Вкл","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "Вык" +#define TR_VTMRMODES_2 "Вкл" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "Вык" #define TR_VTRAINER_MASTER_JACK "Мастер/Разъем" #define TR_VTRAINER_SLAVE_JACK "Раб/Разъем" #define TR_VTRAINER_MASTER_SBUS_MODULE "Мастер/SBUS модуль" #define TR_VTRAINER_MASTER_CPPM_MODULE "Мастер/CPPM модуль" #define TR_VTRAINER_MASTER_BATTERY "Мастер/Серийный" -#define TR_VTRAINER_BLUETOOTH "Мастер/" TR("BT","Bluetooth"), "Раб/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 "Мастер/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Раб/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Мастер/Мульти" #define TR_VTRAINER_CRSF "Мастер/CRSF" -#define TR_VFAILSAFE "Не устан","Удерж","Настр","Нет импул","Прием" -#define TR_VSENSORTYPES "Настроен","Рассчитан" -#define TR_VFORMULAS "Добав","Средн","Мин","Макс","Умнож","Суммир","Ячейка","Расх","Дист" -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Низ","1","2","3","4","5","6","7","8","Выс","Дельта" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (Тол цен)", "= (Симметр)" -#define TR_TIMER_DIR TR("Остал", "Остал"), TR("Прошло", "Прошед") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "Стд" -#else -#define TR_FONT_SIZES "Стд","Жирн","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[ДАЛЕЕ]" -#else - #define TR_ENTER_LONG "[ВВОД ДОЛГО]" - #define TR_ENTER "[ВВОД]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "ВОЗВР" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "ВЫХОД" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Не устан" +#define TR_VFAILSAFE_2 "Удерж" +#define TR_VFAILSAFE_3 "Настр" +#define TR_VFAILSAFE_4 "Нет импул" +#define TR_VFAILSAFE_5 "Прием" +#define TR_VSENSORTYPES_1 "Настроен" +#define TR_VSENSORTYPES_2 "Рассчитан" +#define TR_VFORMULAS_1 "Добав" +#define TR_VFORMULAS_2 "Средн" +#define TR_VFORMULAS_3 "Мин" +#define TR_VFORMULAS_4 "Макс" +#define TR_VFORMULAS_5 "Умнож" +#define TR_VFORMULAS_6 "Суммир" +#define TR_VFORMULAS_7 "Ячейка" +#define TR_VFORMULAS_8 "Расх" +#define TR_VFORMULAS_9 "Дист" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Низ" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Выс" +#define TR_VCELLINDEX_11 "Дельта" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (Тол цен)" +#define TR_SUBTRIMMODES_2 "= (Симметр)" +#define TR_TIMER_DIR_1 TR("Остал", "Остал") +#define TR_TIMER_DIR_2 TR("Прошло", "Прошед") + +#define TR_FONT_SIZES_1 "Стд" +#define TR_FONT_SIZES_2 "Жирн" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[МЕНЮ]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("ВЫХОД", "ВОЗВР") #define TR_FREE "Свободн" #define TR_YES "Да" @@ -368,11 +474,19 @@ #define TR_PROTOCOL TR("Проток", "Протокол") #define TR_PPMFRAME "Фрейм PPM" #define TR_REFRESHRATE TR("Обновл", "Част обновл") - #define STR_WARN_BATTVOLTAGE TR("Выход - V АКБ: ", "Предупреждение: уровень выхода - V АКБ: ") + #define TR_WARN_BATTVOLTAGE TR("Выход - V АКБ: ", "Предупреждение: уровень выхода - V АКБ: ") #define TR_WARN_5VOLTS "Предупреждение: уровень выхода - 5 вольт" #define TR_MS "ms" #define TR_SWITCH "Тумблер" -#define TR_FS_COLOR_LIST "Свой","Выкл","Белый","Красн","Зелен","Желт","Оранж","Синий","Розов" +#define TR_FS_COLOR_LIST_1 "Свой" +#define TR_FS_COLOR_LIST_2 "Выкл" +#define TR_FS_COLOR_LIST_3 "Белый" +#define TR_FS_COLOR_LIST_4 "Красн" +#define TR_FS_COLOR_LIST_5 "Зелен" +#define TR_FS_COLOR_LIST_6 "Желт" +#define TR_FS_COLOR_LIST_7 "Оранж" +#define TR_FS_COLOR_LIST_8 "Синий" +#define TR_FS_COLOR_LIST_9 "Розов" #define TR_GROUP "Группа" #define TR_GROUP_ALWAYS_ON "Включить все" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -382,28 +496,19 @@ #define TR_SWITCH_TYPE "Тип" #define TR_SWITCH_STARTUP "Запуск" #define TR_SWITCH_GROUP "группа" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Триггер" #define TR_TRIMS "тримы" #define TR_FADEIN "Затух входа" #define TR_FADEOUT "Затух выхода" #define TR_DEFAULT "(По умолч)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Провер тримов" -#else - #define TR_CHECKTRIMS "\006Check\012trims" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Check\012trims", "Провер тримов") #define TR_SWASHTYPE "Наклонный тип" #define TR_COLLECTIVE TR("Коллек", "Коллек") #define TR_AILERON TR("Крен", "Крен") #define TR_ELEVATOR TR("Тангаж", "Тангаж") #define TR_SWASHRING "Поворот" #define TR_MODE "Режим" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Лев" -#else - #define TR_LEFT_STICK "Лев" -#endif +#define TR_LEFT_STICK "Лев" #define TR_SUBTYPE "Подтип" #define TR_NOFREEEXPO "Нет своб экспо!" #define TR_NOFREEMIXER "Нет своб микш!" @@ -426,11 +531,7 @@ #define TR_SLOWDOWN TR("Замедл вниз", "Замедл вниз") #define TR_SLOWUP "Замед вверх" #define TR_CV "CV" -#if defined(PCBPL18) -#define TR_GV "GV" -#else #define TR_GV TR("G", "GV") -#endif #define TR_RANGE "Диапаз" #define TR_CENTER "Центр" #define TR_ALARM "Сигнал тревоги" @@ -499,20 +600,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Множитель" #define TR_CAL "Звонок" -#define TR_CALIBRATION "Калибровка" +#define TR_CALIBRATION BUTTON("Калибровка") #define TR_VTRIM "Трим - +" #define TR_CALIB_DONE "Калибровка заверш" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "ЦЕНТР СТИКИ/СЛАЙДЕРЫ" - #define TR_MOVESTICKSPOTS "Перемещ СТИКИ/ПОТЕНЦ" -#else - #define TR_MENUTOSTART TR_ENTER " СТАРТ" - #define TR_SETMIDPOINT TRSA("ВЫБ СЕРЕД ПОТЕНЦ", TR("ВЫБ СТИКИ СЕРЕД", "ЦЕНТР СТИК/СЛАЙДЕР")) - #define TR_MOVESTICKSPOTS TRSA("ДВИГ ПОТЕНЦ/СТИКИ/СЛАЙДЕРЫ", "ДВИГ СТИКИ/ПОТЕНЦ") - #define TR_MENUWHENDONE TR_ENTER " ПО ОКОНЧАНИЮ" +#define TR_MENUTOSTART TR_ENTER " СТАРТ" +#define TR_MENUWHENDONE TR_ENTER " ПО ОКОНЧАНИЮ" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("ВЫБ СЕРЕД ПОТЕНЦ", TR("ВЫБ СТИКИ СЕРЕД", "ЦЕНТР СТИК/СЛАЙДЕР")), "ЦЕНТР СТИКИ/СЛАЙДЕРЫ") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("ДВИГ ПОТЕНЦ/СТИКИ/СЛАЙДЕРЫ", "ДВИГ СТИКИ/ПОТЕНЦ"), "Перемещ СТИКИ/ПОТЕНЦ") #define TR_NODATA "НЕТ ДАННЫХ" #define TR_US "US" #define TR_HZ "Hz" @@ -542,7 +638,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "Модель" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM Нехват памяти" #define TR_PRESS_ANY_KEY_TO_SKIP "Нажмите любую кнопку" #define TR_THROTTLE_NOT_IDLE "Газ не на ХХ" @@ -561,11 +657,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "КАЛИБРОВКА АНАЛОГОВ" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RAW АНАЛОГИ (5 Hz)" #define TR_MENU_FSWITCH "НАСТРАИВАЕМЫЕ ТУМБЛЕРЫ" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Тримы => Субтримы" -#else - #define TR_TRIMS2OFFSETS "\006Тримы => Субтримы" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Тримы => Субтримы", "Тримы => Субтримы") #define TR_CHANNELS2FAILSAFE "Каналы=>Авар режим" #define TR_CHANNEL2FAILSAFE "Канал=>Авар режим" #define TR_MENUMODELSEL TR("ВЫБОР МОДЕЛИ", "УПРАВЛЕНИЕ МОДЕЛЬЮ") @@ -671,7 +763,7 @@ #define TR_NO_TOOLS "Отсут инструменты" #define TR_NORMAL "Обычный" #define TR_NOT_INVERTED "Не инвер" -#define TR_NOT_CONNECTED TR("!Подключ", "Не подключ"); +#define TR_NOT_CONNECTED TR("!Подключ", "Не подключ") #define TR_CONNECTED "Подключено" #define TR_FLEX_915 "Flex 915MHz" #define TR_FLEX_868 "Flex 868MHz" @@ -682,7 +774,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Обнов опции прием?" #define TR_UPDATE_TX_OPTIONS "Обнов опции передат?" -#define TR_MODULES_RX_VERSION "Модули / Версия пульта" +#define TR_MODULES_RX_VERSION BUTTON("Модули / Версия пульта") #define TR_SHOW_MIXER_MONITORS "Показ мониторы миксера" #define TR_MENU_MODULES_RX_VERSION "МОДУЛИ / ВЕРСИЯ ПУЛЬТА" #define TR_MENU_FIRM_OPTIONS "ОПЦИИ ПО" @@ -702,11 +794,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD карта заполнена" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nЛоги и скриншоты откл" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Логи и скриншоты" LCDW_128_LINEBREAK "Откл" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Логи и скриншоты" LCDW_128_LINEBREAK "Откл", TR_SDCARD_FULL "\nЛоги и скриншоты откл") #define TR_NEEDS_FILE "НУЖЕН ФАЙЛ" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -765,7 +853,8 @@ #define TR_CRSF_ARMING_MODE "Arm режим" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE TR("Реж выб","Реж выб") -#define TR_SAMPLE_MODES "Обыч","Один бит" +#define TR_SAMPLE_MODES_1 "Обыч" +#define TR_SAMPLE_MODES_2 "Один бит" #define TR_LOADING "Загрузка..." #define TR_DELETE_THEME "Удалить тему?" #define TR_SAVE_THEME "Сохранить тему?" @@ -773,15 +862,16 @@ #define TR_NO_THEME_IMAGE "Отсутс изображ темы" #define TR_BACKLIGHT_TIMER "Время бездействия" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Быстрый выбор модели" - #define TR_LABELS_SELECT "Выбор" - #define TR_LABELS_MATCH "Cоответствие" - #define TR_FAV_MATCH "Избранное" - #define TR_LABELS_SELECT_MODE "Мультивыбор","Одиноч выбор" - #define TR_LABELS_MATCH_MODE "Все","Любой" - #define TR_FAV_MATCH_MODE "Совпадает","Не совпадает" -#endif +#define TR_MODEL_QUICK_SELECT "Быстрый выбор модели" +#define TR_LABELS_SELECT "Выбор" +#define TR_LABELS_MATCH "Cоответствие" +#define TR_FAV_MATCH "Избранное" +#define TR_LABELS_SELECT_MODE_1 "Мультивыбор" +#define TR_LABELS_SELECT_MODE_2 "Одиноч выбор" +#define TR_LABELS_MATCH_MODE_1 "Все" +#define TR_LABELS_MATCH_MODE_2 "Любой" +#define TR_FAV_MATCH_MODE_1 "Совпадает" +#define TR_FAV_MATCH_MODE_2 "Не совпадает" #define TR_SELECT_TEMPLATE_FOLDER "Выберите папку шаблона" #define TR_SELECT_TEMPLATE "ВЫБЕРИТЕ ШАБЛОН МОДЕЛИ:" @@ -801,11 +891,10 @@ #define TR_BLUETOOTH_NODEVICES "Устройства не найдены" #define TR_BLUETOOTH_SCANNING "Поиск..." #define TR_BLUETOOTH_BAUDRATE "BT Baudrate" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Вкл" -#else -#define TR_BLUETOOTH_MODES "---","Телем","Тренер" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Телем" +#define TR_BLUETOOTH_MODES_3 "Тренер" +#define TR_BLUETOOTH_MODES_4 "Вкл" #define TR_SD_INFO_TITLE "SD Инфо" #define TR_SD_SPEED "Скорость:" @@ -816,7 +905,18 @@ #define TR_GLOBAL_VAR "Глоб переменная" #define TR_OWN "Свой" #define TR_DATE "Дата" -#define TR_MONTHS "Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек" +#define TR_MONTHS_1 "Янв" +#define TR_MONTHS_2 "Фев" +#define TR_MONTHS_3 "Мар" +#define TR_MONTHS_4 "Апр" +#define TR_MONTHS_5 "Май" +#define TR_MONTHS_6 "Июн" +#define TR_MONTHS_7 "Июл" +#define TR_MONTHS_8 "Авг" +#define TR_MONTHS_9 "Сен" +#define TR_MONTHS_10 "Окт" +#define TR_MONTHS_11 "Ноя" +#define TR_MONTHS_12 "Дек" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("Режим энкод","Режим энкод") #define TR_CHANNELS_MONITOR "МОНИТОР КАНАЛОВ" @@ -921,14 +1021,14 @@ #define TR_PXX2_SELECT_RX "Выбор RX" #define TR_PXX2_DEFAULT "<По умолчанию>" #define TR_BT_SELECT_DEVICE "Выбор устройства" -#define TR_DISCOVER "Обнаружить" +#define TR_DISCOVER BUTTON("Обнаружить") #define TR_BUTTON_INIT BUTTON("Иниц") #define TR_WAITING "Предупреждение..." #define TR_RECEIVER_DELETE "Удалить приемник?" #define TR_RECEIVER_RESET "Сбросить приемник?" #define TR_SHARE "Поделиться" #define TR_BIND "Bind" -#define TR_REGISTER TR("Рег", "Регистр") +#define TR_REGISTER BUTTON(TR("Рег", "Регистр")) #define TR_MODULE_RANGE BUTTON(TR("Диап", "Диапазон")) #define TR_RANGE_TEST "Тест диапазона" #define TR_RECEIVER_OPTIONS TR("ОПЦИИ ПРИЕМНИКА", "ОПЦИИ ПРИЕМНИКА") @@ -959,11 +1059,11 @@ #define TR_TELEMETRY_NEWSENSOR "Добавить новый" #define TR_CHANNELRANGE TR("Диапазон", "Диапазон кан") #define TR_ANTENNACONFIRM1 "ВНЕШ АНТЕННА" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Внут","Запрос","На модель","Внутр + Внеш" -#else - #define TR_ANTENNA_MODES "Внутр","Запрос","На модель","Внеш" -#endif +#define TR_ANTENNA_MODES_1 "Внут" +#define TR_ANTENNA_MODES_2 "Запрос" +#define TR_ANTENNA_MODES_3 "На модель" +#define TR_ANTENNA_MODES_4 "Внутр + Внеш" +#define TR_ANTENNA_MODES_5 "Внеш" #define TR_USE_INTERNAL_ANTENNA TR("Исп внут антенну", "Испол внутр антенну") #define TR_USE_EXTERNAL_ANTENNA TR("Исп внеш антенну", "Испол внеш антенну") #define TR_ANTENNACONFIRM2 TR("Проверьте антенну", "Проверьте антенну!") @@ -980,7 +1080,7 @@ #define TR_CURVE_PRESET "Предустановка..." #define TR_PRESET "Предустановка" #define TR_MIRROR "Зеркало" -#define TR_CLEAR "Очистить" +#define TR_CLEAR BUTTON("Очистить") #define TR_RESET "Сброс" #define TR_RESET_SUBMENU "Сброс..." #define TR_COUNT "Колличество" @@ -995,7 +1095,9 @@ #define TR_MIXSOURCE "Источ (%)" #define TR_MIXSOURCERAW "Источ (Значен)" #define TR_CONSTANT "Постоянное значение" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Выкл","Вкл","Авто" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Выкл" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "Вкл" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Авто" #define TR_PREFLIGHT "Предстарт проверки" #define TR_CHECKLIST TR("Контр список", "Контр список") #define TR_CHECKLIST_INTERACTIVE TR3("C-интерактив", "Интерактив checklist", "Интерактивный checklist") @@ -1010,7 +1112,8 @@ #define TR_CONFIRMRESET TR("Удалить все?", "Удалить все?") #define TR_TOO_MANY_LUA_SCRIPTS "Много Lua-скриптов!" #define TR_SPORT_UPDATE_POWER_MODE "SP Режим питания" -#define TR_SPORT_UPDATE_POWER_MODES "Авто","Вкл" +#define TR_SPORT_UPDATE_POWER_MODES_1 "Авто" +#define TR_SPORT_UPDATE_POWER_MODES_2 "Вкл" #define TR_NO_TELEMETRY_SCREENS "Нет экранов телем" #define TR_TOUCH_PANEL "Сенсорная панель:" #define TR_FILE_SIZE "Размер файла" @@ -1038,36 +1141,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Режим субтрим" #define TR_INVERTED "Перевернутый" - -#define TR_LSW_DESCRIPTIONS "Comparison type or function", "First variable", "Second variable or constant", "Second variable or constant", "Additional condition for line to be enabled", "Minimum ON duration of the logical switch", "Minimum TRUE duration for the switch to become ON" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Первый канал" - #define TR_FILL_BACKGROUND "Заполнить фон?" - #define TR_BG_COLOR "Цвет фона" - #define TR_SLIDERS_TRIMS "Тумблеры+Трим" - #define TR_SLIDERS "Тумблеры" - #define TR_FLIGHT_MODE "Режим полета" - #define TR_INVALID_FILE "Недопустимый файл" - #define TR_TIMER_SOURCE "Источник таймера" - #define TR_SIZE "Размер" - #define TR_SHADOW "Тень" - #define TR_ALIGNMENT "Вырав" - #define TR_ALIGN_LABEL "Вырав метки" - #define TR_ALIGN_VALUE "Вырав значения" - #define TR_ALIGN_OPTS "Слева", "По центру", "Справа" - #define TR_TEXT "Текст" - #define TR_COLOR "Цвет" - #define TR_PANEL1_BACKGROUND "Фон панели 1" - #define TR_PANEL2_BACKGROUND "Фон панели 2" - #define TR_WIDGET_GAUGE "Шкала" - #define TR_WIDGET_MODELBMP "Информация о модели" - #define TR_WIDGET_OUTPUTS "Выходы" - #define TR_WIDGET_TEXT "Текст" - #define TR_WIDGET_TIMER "Таймер" - #define TR_WIDGET_VALUE "Значение" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Первый канал" +#define TR_FILL_BACKGROUND "Заполнить фон?" +#define TR_BG_COLOR "Цвет фона" +#define TR_SLIDERS_TRIMS "Тумблеры+Трим" +#define TR_SLIDERS "Тумблеры" +#define TR_FLIGHT_MODE "Режим полета" +#define TR_INVALID_FILE "Недопустимый файл" +#define TR_TIMER_SOURCE "Источник таймера" +#define TR_SIZE "Размер" +#define TR_SHADOW "Тень" +#define TR_ALIGNMENT "Вырав" +#define TR_ALIGN_LABEL "Вырав метки" +#define TR_ALIGN_VALUE "Вырав значения" +#define TR_ALIGN_OPTS_1 "Слева" +#define TR_ALIGN_OPTS_2 "По центру" +#define TR_ALIGN_OPTS_3 "Справа" +#define TR_TEXT "Текст" +#define TR_COLOR "Цвет" +#define TR_PANEL1_BACKGROUND "Фон панели 1" +#define TR_PANEL2_BACKGROUND "Фон панели 2" +#define TR_WIDGET_GAUGE "Шкала" +#define TR_WIDGET_MODELBMP "Информация о модели" +#define TR_WIDGET_OUTPUTS "Выходы" +#define TR_WIDGET_TEXT "Текст" +#define TR_WIDGET_TIMER "Таймер" +#define TR_WIDGET_VALUE "Значение" // About screen #define TR_ABOUTUS TR("ИНФОРМАЦИЯ", "ИНФОРМАЦИЯ") @@ -1100,7 +1200,7 @@ #define TR_CELLINDEX "Инд. ячейки" #define TR_LOGS "Логи" #define TR_OPTIONS "Опции" -#define TR_FIRMWARE_OPTIONS "Опции ПО" +#define TR_FIRMWARE_OPTIONS BUTTON("Опции ПО") #define TR_ALTSENSOR "Датчик высот" #define TR_CELLSENSOR "Датчик АКБ" @@ -1153,11 +1253,6 @@ #define TR_USE_THEME_COLOR "Используйте цвет темы" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Добав все трим в субтрим" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Монитор откр кан" -#else - #define TR_OPEN_CHANNEL_MONITORS "Мон открыт кан" -#endif #define TR_DUPLICATE "Дублировать" #define TR_ACTIVATE "Активация" #define TR_RED "Красная" @@ -1192,6 +1287,7 @@ #define TR_CANCEL "Отменить" #define TR_EDIT_THEME "РЕДАК ТЕМУ" #define TR_DETAILS "Детали" +#define TR_THEME_EDITOR "ТЕМЫ" // Voice in native language #define TR_VOICE_ENGLISH TR("Англ","Английский") @@ -1217,29 +1313,71 @@ #define TR_USBJOYSTICK_LABEL "USB Джойс" #define TR_USBJOYSTICK_EXTMODE "Режим" -#define TR_VUSBJOYSTICK_EXTMODE "Обычный","Расшир" -#define TR_USBJOYSTICK_SETTINGS "Настр канала" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Обычный" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Расшир" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Настр канала") #define TR_USBJOYSTICK_IF_MODE TR("Интерф","Интерф") -#define TR_VUSBJOYSTICK_IF_MODE "Джойс","Геймпад","Многоз" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Джойс" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Геймпад" +#define TR_VUSBJOYSTICK_IF_MODE_3 "Многоз" #define TR_USBJOYSTICK_CH_MODE "Режим" -#define TR_VUSBJOYSTICK_CH_MODE "Нет","Кнопка","Ось","Симул" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Нет" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Кнопка" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Ось" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Симул" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Режим Кнопки" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Обыч","Импульс","Эмул перек","Дельта","Комп" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Норм","Нормально"),TR("Пулс","Пульс"),TR("SWEm","SWEmul"),TR("Делт","Дельта"),TR("КМП","Компаньон") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Обыч" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Импульс" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "Эмул перек" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Дельта" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Комп" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Норм","Нормально") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Пулс","Пульс") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Делт","Дельта") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("КМП","Компаньон") #define TR_USBJOYSTICK_CH_SWPOS "Положения" -#define TR_VUSBJOYSTICK_CH_SWPOS "Кноп","2ПОЗ","3ПОЗ","4ПОЗ","5ПОЗ","6ПОЗ","7ПОЗ","8ПОЗ" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Кноп" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2ПОЗ" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3ПОЗ" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4ПОЗ" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5ПОЗ" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6ПОЗ" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7ПОЗ" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8ПОЗ" #define TR_USBJOYSTICK_CH_AXIS "Ось" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Slider","Dial","Wheel" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Slider" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Wheel" #define TR_USBJOYSTICK_CH_SIM "Симуляция оси" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Инверсия" #define TR_USBJOYSTICK_CH_BTNNUM "Номер кнопки" #define TR_USBJOYSTICK_BTN_COLLISION "!Конфликт ном кнопок!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Конфликт осей!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Круг. вырез", "Круглый вырез") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "нет","X-Y, Z-rotX","X-Y, rotX-rotY","X-Y, Z-rotZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Применить изменения" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "нет" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rotX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rotX-rotY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rotZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Применить изменения") #define TR_DIGITAL_SERVO "Серво 333HZ" #define TR_ANALOG_SERVO "Серво 50HZ" @@ -1255,7 +1393,10 @@ #define TR_SELECT_MENU_CLR "Очист" #define TR_SELECT_MENU_INV "Перев" -#define TR_SORT_ORDERS "Имя A-Z","Имя Z-A","Редко испол","Часто испол" +#define TR_SORT_ORDERS_1 "Имя A-Z" +#define TR_SORT_ORDERS_2 "Имя Z-A" +#define TR_SORT_ORDERS_3 "Редко испол" +#define TR_SORT_ORDERS_4 "Часто испол" #define TR_SORT_MODELS_BY "Сортировка моделей" #define TR_CREATE_NEW "Создать" diff --git a/radio/src/translations/se.h b/radio/src/translations/i18n/se.h similarity index 71% rename from radio/src/translations/se.h rename to radio/src/translations/i18n/se.h index 1c6e129804c..75efb567ab0 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/i18n/se.h @@ -32,15 +32,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -48,7 +39,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -77,7 +68,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -96,8 +87,8 @@ #define TR_MAIN_MENU_THEMES "TEMAN" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "HELIKOPTER" -#define TR_MENUFLIGHTMODES TRSA("KÖRLÄGEN", "FLYGLÄGEN") -#define TR_MENUFLIGHTMODE TRSA("KÖRLÄGE", "FLYGLÄGE") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("KÖRLÄGEN", "FLYGLÄGEN") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("KÖRLÄGE", "FLYGLÄGE") #define TR_MENUINPUTS "INPUT" #define TR_MENULIMITS "OUTPUT" #define TR_MENUCURVES "KURVOR" @@ -123,53 +114,105 @@ #define TR_MINUTE_PLURAL2 "minuter" // NON ZERO TERMINATED STRINGS -#define TR_OFFON "Av","På" -#define TR_MMMINV "---","INV" -#define TR_VBEEPMODE "Tyst","Alarm","Ej knapp","Alla" -#define TR_COUNTDOWNVALUES "5s","10s","20s","30s" -#define TR_VBLMODE "Av",TR("Knapp","Knappar"),TR("Spak","Spakar"),"Allt","PÅ" -#define TR_TRNMODE "Av",TR("+=","Addera"),TR(":=","Ersätt") -#define TR_TRNCHN "KA1","KA2","KA3","KA4" -#define TR_AUX_SERIAL_MODES "AV","Speglad telemetri","Telemetri in","SBUS Lärare","LUA","CLI","GPS","Debug","SpaceMouse","Extern modul" - -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Ingen", "2 pos flipp","2 pos","3 pos","Global" -#else -#define TR_SWTYPES "Ingen", "2 pos flipp","2 pos","3 pos" -#endif - -#define TR_POTTYPES "Ingen","Vred",TR("Vred m. mitt","Vred med mittläge"),"Reglage",TR("Multipos","Flerlägesväljare"),"Axel X","Axel Y","Brytare" -#define TR_VPERSISTENT "Av","Flygning","Nolla själv" -#define TR_COUNTRY_CODES TR("US","Amerika"),TR("JP","Japan"),TR("EU","Europa") -#define TR_USBMODES "Fråga","Joystick",TR("SD-kort","SD-kortlagring"),"Seriell" -#define TR_JACK_MODES "Fråga","Audio","Lärare" -#define TR_SBUS_INVERSION_VALUES "normal","ej inverterad" +#define TR_OFFON_1 "Av" +#define TR_OFFON_2 "På" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "INV" +#define TR_VBEEPMODE_1 "Tyst" +#define TR_VBEEPMODE_2 "Alarm" +#define TR_VBEEPMODE_3 "Ej knapp" +#define TR_VBEEPMODE_4 "Alla" +#define TR_COUNTDOWNVALUES_1 "5s" +#define TR_COUNTDOWNVALUES_2 "10s" +#define TR_COUNTDOWNVALUES_3 "20s" +#define TR_COUNTDOWNVALUES_4 "30s" +#define TR_VBLMODE_1 "Av" +#define TR_VBLMODE_2 TR("Knapp","Knappar") +#define TR_VBLMODE_3 TR("Spak","Spakar") +#define TR_VBLMODE_4 "Allt" +#define TR_VBLMODE_5 "PÅ" +#define TR_TRNMODE_1 "Av" +#define TR_TRNMODE_2 TR("+=","Addera") +#define TR_TRNMODE_3 TR(":=","Ersätt") +#define TR_TRNCHN_1 "KA1" +#define TR_TRNCHN_2 "KA2" +#define TR_TRNCHN_3 "KA3" +#define TR_TRNCHN_4 "KA4" +#define TR_AUX_SERIAL_MODES_1 "AV" +#define TR_AUX_SERIAL_MODES_2 "Speglad telemetri" +#define TR_AUX_SERIAL_MODES_3 "Telemetri in" +#define TR_AUX_SERIAL_MODES_4 "SBUS Lärare" +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Debug" +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Extern modul" + +#define TR_SWTYPES_1 "Ingen" +#define TR_SWTYPES_2 "2 pos flipp" +#define TR_SWTYPES_3 "2 pos" +#define TR_SWTYPES_4 "3 pos" +#define TR_SWTYPES_5 "Global" + +#define TR_POTTYPES_1 "Ingen" +#define TR_POTTYPES_2 "Vred" +#define TR_POTTYPES_3 TR("Vred m. mitt","Vred med mittläge") +#define TR_POTTYPES_4 "Reglage" +#define TR_POTTYPES_5 TR("Multipos","Flerlägesväljare") +#define TR_POTTYPES_6 "Axel X" +#define TR_POTTYPES_7 "Axel Y" +#define TR_POTTYPES_8 "Brytare" +#define TR_VPERSISTENT_1 "Av" +#define TR_VPERSISTENT_2 "Flygning" +#define TR_VPERSISTENT_3 "Nolla själv" +#define TR_COUNTRY_CODES_1 TR("US","Amerika") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europa") +#define TR_USBMODES_1 "Fråga" +#define TR_USBMODES_2 "Joystick" +#define TR_USBMODES_3 TR("SD-kort","SD-kortlagring") +#define TR_USBMODES_4 "Seriell" +#define TR_JACK_MODES_1 "Fråga" +#define TR_JACK_MODES_2 "Audio" +#define TR_JACK_MODES_3 "Lärare" +#define TR_SBUS_INVERSION_VALUES_1 "normal" +#define TR_SBUS_INVERSION_VALUES_2 "ej inverterad" #define TR_MULTI_CUSTOM "Anpassad" -#define TR_VTRIMINC TR("Expo","Exponentiell"),TR("xFin","Extra fin"),"Fin","Medium","Grov" -#define TR_VDISPLAYTRIMS "Nej","Ändring","Ja" -#define TR_VBEEPCOUNTDOWN "Tyst", "Pip", "Röst", "Vibrera", TR("P & Vib","Pip & Vibrera"), TR("R & Vib","Röst & Vibrera") -#define TR_VVARIOCENTER "Pip","Tyst" -#define TR_CURVE_TYPES "Normal","Anpassad" - -#define TR_ADCFILTERVALUES "Global","Av","På" - -#define TR_VCURVETYPE "Diff","Expo","Funk","Egen" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Addera","Multiplicera","Ersätt" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Timer" - #define TR_CSWSTICKY "Seg" - #define TR_CSWSTAY "Kant" -#else - #define TR_CSWTIMER "Tim" - #define TR_CSWSTICKY "Seg" - #define TR_CSWSTAY "Kant" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a\n"\ - " Upp = PREV/INC\n"\ - " Ner = NEXT/DEC" -#endif - -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYK1","CYK2","CYK3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif - +#define TR_ROTARY_ENC_OPT_1 "Normal" +#define TR_ROTARY_ENC_OPT_2 "Inverterad" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" + +#define TR_ON_ONE_SWITCHES_1 "PÅ" +#define TR_ON_ONE_SWITCHES_2 "Ett" + +#define TR_HATSMODE "Hattläge" +#define TR_HATSOPT_1 "Endast trimm" +#define TR_HATSOPT_2 "Endast knapp" +#define TR_HATSOPT_3 "Ändringsbar" +#define TR_HATSOPT_4 "Global" +#define TR_HATSMODE_TRIMS "Hattläge: Trimmar" +#define TR_HATSMODE_KEYS "Hattläge: Knappar" +#define TR_HATSMODE_KEYS_HELP "Vänster sida:\n"\ + " Höger = MDL\n"\ + " Upp = SYS\n"\ + " Ner = TELE\n"\ + "\n"\ + "Höger sida:\n"\ + " Vänster = PAGE<\n"\ + " Höger = PAGE>\n"\ + " Upp = PREV/INC\n"\ + " Ner = NEXT/DEC" + +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" + +#define TR_CYC_VSRCRAW_1 "CYK1" +#define TR_CYC_VSRCRAW_2 "CYK2" +#define TR_CYC_VSRCRAW_3 "CYK3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Tid" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "Av","På","Strt","GAs","GA%","GAt" +#define TR_VTMRMODES_1 "Av" +#define TR_VTMRMODES_2 "På" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "GAs" +#define TR_VTMRMODES_5 "GA%" +#define TR_VTMRMODES_6 "GAt" #define TR_VTRAINER_MASTER_OFF "AV" #define TR_VTRAINER_MASTER_JACK "Lärare/Uttag" #define TR_VTRAINER_SLAVE_JACK "Elev/Uttag" #define TR_VTRAINER_MASTER_SBUS_MODULE "Lärare/SBUS-modul" #define TR_VTRAINER_MASTER_CPPM_MODULE "Lärare/CPPM-modul" #define TR_VTRAINER_MASTER_BATTERY "Lärare/Seriell" -#define TR_VTRAINER_BLUETOOTH TR("Lärare/BT","Lärare/Bluetooth"),TR("Elev/BT","Elev/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_1 TR("Lärare/BT","Lärare/Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 TR("Elev/BT","Elev/Bluetooth") #define TR_VTRAINER_MULTI "Lärare/Multi" #define TR_VTRAINER_CRSF "Lärare/CRSF" -#define TR_VFAILSAFE "Ej inställt","Lås senaste",TR("Eget","Egna värden"),"Inga pulser","Mottagare" -#define TR_VSENSORTYPES "Anpassad","Beräknad" -#define TR_VFORMULAS "Addera",TR("Medel","Medelvärde"),TR("Min","Minimum"),TR("Max","Maximum"),TR("Multipl.","Multiplicera"),"Summera","Cell",TR("Förbrukn.","Förbrukning"),"Avstånd" -#define TR_VPREC "0.--","0.0","0.00" -#define TR_VCELLINDEX "Lägsta","1","2","3","4","5","6","7","8","Högsta","Skillnad" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (endast center)","= (symmetrisk)" -#define TR_TIMER_DIR TR("Återst.", "Visa återstående"), TR("Förbrukad", "Visa förbrukad") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) - #if defined(BOLD) - #define TR_FONT_SIZES "STD" - #else - #define TR_FONT_SIZES "STD","FET","XXS","XS","L","XL","XXL" - #endif -#endif - - -#if defined(PCBFRSKY) - #define TR_ENTER_LONG "[LÅNG ENTER]" - #define TR_ENTER "[ENTER]" -#elif defined(PCBPL18) - #define TR_ENTER "[NÄSTA]" -#else - #define TR_ENTER "[MENY]" -#endif - -#if defined(PCBHORUS) - #define TR_EXIT "RTN" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "EXIT" - #define TR_OK "\010" "\010" "\010" TR("[OK]", "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Ej inställt" +#define TR_VFAILSAFE_2 "Lås senaste" +#define TR_VFAILSAFE_3 TR("Eget","Egna värden") +#define TR_VFAILSAFE_4 "Inga pulser" +#define TR_VFAILSAFE_5 "Mottagare" +#define TR_VSENSORTYPES_1 "Anpassad" +#define TR_VSENSORTYPES_2 "Beräknad" +#define TR_VFORMULAS_1 "Addera" +#define TR_VFORMULAS_2 TR("Medel","Medelvärde") +#define TR_VFORMULAS_3 TR("Min","Minimum") +#define TR_VFORMULAS_4 TR("Max","Maximum") +#define TR_VFORMULAS_5 TR("Multipl.","Multiplicera") +#define TR_VFORMULAS_6 "Summera" +#define TR_VFORMULAS_7 "Cell" +#define TR_VFORMULAS_8 TR("Förbrukn.","Förbrukning") +#define TR_VFORMULAS_9 "Avstånd" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0" +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Lägsta" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Högsta" +#define TR_VCELLINDEX_11 "Skillnad" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (endast center)" +#define TR_SUBTRIMMODES_2 "= (symmetrisk)" +#define TR_TIMER_DIR_1 TR("Återst.", "Visa återstående") +#define TR_TIMER_DIR_2 TR("Förbrukad", "Visa förbrukad") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "FET" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[MENY]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "kvar" #define TR_YES "Ja" @@ -376,11 +475,19 @@ #define TR_PROTOCOL TR("Proto.", "Protokoll") #define TR_PPMFRAME "PPM-paket" #define TR_REFRESHRATE TR("Refresh", "Refresh rate") -#define STR_WARN_BATTVOLTAGE TR("Utspänning = VBAT: ", "VARNING: Utspänning är VBAT: ") +#define TR_WARN_BATTVOLTAGE TR("Utspänning = VBAT: ", "VARNING: Utspänning är VBAT: ") #define TR_WARN_5VOLTS "VARNING: Spänning ut är 5 volt" #define TR_MS "ms" #define TR_SWITCH "Brytare" -#define TR_FS_COLOR_LIST "Anpassad","Av","Vit","Röd","Grön","Gul","Orange","Blå","Rosa" +#define TR_FS_COLOR_LIST_1 "Anpassad" +#define TR_FS_COLOR_LIST_2 "Av" +#define TR_FS_COLOR_LIST_3 "Vit" +#define TR_FS_COLOR_LIST_4 "Röd" +#define TR_FS_COLOR_LIST_5 "Grön" +#define TR_FS_COLOR_LIST_6 "Gul" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blå" +#define TR_FS_COLOR_LIST_9 "Rosa" #define TR_GROUP "Grupp" #define TR_GROUP_ALWAYS_ON "Alltid på" #define TR_LUA_OVERRIDE "Tillåt Lua override" @@ -390,28 +497,19 @@ #define TR_SWITCH_TYPE "Typ" #define TR_SWITCH_STARTUP "Uppstart" #define TR_SWITCH_GROUP "Grupp" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Trigger" #define TR_TRIMS "Trimmar" #define TR_FADEIN "Tona in" #define TR_FADEOUT "Tona ut" #define TR_DEFAULT "Default" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Kolla FL-trimmar" -#else - #define TR_CHECKTRIMS "\006Kolla\012trimmar" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Kolla\012trimmar", "Kolla FL-trimmar") #define TR_SWASHTYPE "Swashtyp" #define TR_COLLECTIVE "Kollektiv" #define TR_AILERON "Skevroderkälla" #define TR_ELEVATOR "Höjdroderkälla" #define TR_SWASHRING "Swashring" #define TR_MODE "Typ" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Vänster" -#else - #define TR_LEFT_STICK "Vä" -#endif +#define TR_LEFT_STICK "Vänster" #define TR_SUBTYPE "Subtyp" #define TR_NOFREEEXPO "Ingen ledig expo!" #define TR_NOFREEMIXER "Ingen ledig mixer!" @@ -434,13 +532,7 @@ #define TR_SLOWDOWN TR("Trög ner","Långsam ner") #define TR_SLOWUP TR("Trög upp","Långsam upp") #define TR_CV "KU" - -#if defined(PCBPL18) - #define TR_GV "GV" -#else - #define TR_GV TR("G","GV") -#endif - +#define TR_GV TR("G","GV") #define TR_RANGE "MinMax" #define TR_CENTER "Center" #define TR_ALARM "Alarm" @@ -509,21 +601,16 @@ #define TR_MODESRC "Läge\006% källa" #define TR_MULTIPLIER "Styrka" #define TR_CAL "Kal." -#define TR_CALIBRATION "Kalibrering" +#define TR_CALIBRATION BUTTON("Kalibrering") #define TR_VTRIM "Trimm - +" #define TR_CALIB_DONE "Kalibrering färdig" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "CENTRERA AXLAR/REGLAGE" - #define TR_MOVESTICKSPOTS "RÖR AXLAR/VRED" -#else - #define TR_MENUTOSTART TR_ENTER " FÖR ATT STARTA" - #define TR_SETMIDPOINT TRSA("CENTRERA VRED", TR("CENTRERA AXLAR", "CENTRERA AXLAR/REGLAGE")) - #define TR_MOVESTICKSPOTS TRSA("RÖR ST/GA/VRED/AXLAR", "RÖR AXLAR/VRED") - #define TR_MENUWHENDONE TR_ENTER " AVSLUTAR" -#define TR_AXISDIR "AXELRIKTNING" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUTOSTART TR_ENTER " FÖR ATT STARTA" +#define TR_MENUWHENDONE TR_ENTER " AVSLUTAR" +#define TR_AXISDIR "AXIS DIR" +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("CENTRERA VRED", TR("CENTRERA AXLAR", "CENTRERA AXLAR/REGLAGE")), "CENTRERA AXLAR/REGLAGE") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("RÖR ST/GA/VRED/AXLAR", "RÖR AXLAR/VRED"), "RÖR AXLAR/VRED") #define TR_NODATA "DATA SAKNAS" #define TR_US "us" #define TR_HZ "Hz" @@ -554,7 +641,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "KA" #define TR_MODEL "MODELL" -#define TR_FM TRSA("KL", "FL") +#define TR_FM TR_SFC_AIR("KL", "FL") #define TR_EEPROMLOWMEM "Minnesbrist" #define TR_PRESS_ANY_KEY_TO_SKIP "Avbryt med valfri knapp" #define TR_THROTTLE_NOT_IDLE "Gasen är på!" @@ -573,11 +660,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "KALIBRERADE ANALOGA" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "RÅA ANALOGA (5Hz)" #define TR_MENU_FSWITCH "ANPASSNINGSBARA BRYTARE" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "[Spara trimvärden]" -#else - #define TR_TRIMS2OFFSETS "\006[Spara trimvärden]" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006[Spara trimvärden]", "[Spara trimvärden]") #define TR_CHANNELS2FAILSAFE "Kanaler=>Failsafe" #define TR_CHANNEL2FAILSAFE "Kanal=>Failsafe" #define TR_MENUMODELSEL TR("MODELL","VÄLJ MODELL") @@ -689,7 +772,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Uppdatera Rx alternativ?" #define TR_UPDATE_TX_OPTIONS "Uppdatera Tx alternativ?" -#define TR_MODULES_RX_VERSION "Moduler / Rx version" +#define TR_MODULES_RX_VERSION BUTTON("Moduler / Rx version") #define TR_SHOW_MIXER_MONITORS "Visa mixervärden" #define TR_MENU_MODULES_RX_VERSION "MODULER / RX VERSION" #define TR_MENU_FIRM_OPTIONS "FIRMWAREFUNKTIONER" @@ -709,11 +792,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS modellokalisering" #define TR_REFRESH "Uppdatera" #define TR_SDCARD_FULL "SD-kortet fullt" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nLoggar och skärmklipp inaktiverade" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Loggar och " LCDW_128_LINEBREAK "skärmklipp inaktiverade" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Loggar och " LCDW_128_LINEBREAK "skärmklipp inaktiverade", TR_SDCARD_FULL "\nLoggar och skärmklipp inaktiverade") #define TR_NEEDS_FILE "BEHÖVER FIL" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -772,7 +851,8 @@ #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_MAXBAUDRATE "Max bauds" #define TR_SAMPLE_MODE TR("Sampling","Sample Mode") -#define TR_SAMPLE_MODES "Normal","OneBit" +#define TR_SAMPLE_MODES_1 "Normal" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Laddar..." #define TR_DELETE_THEME "Radera tema?" #define TR_SAVE_THEME "Spara tema?" @@ -780,15 +860,16 @@ #define TR_BACKLIGHT_TIMER "Timeout vid inaktivitet" #define TR_NO_THEME_IMAGE "Ingen temabild" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Snabbval av modell" - #define TR_LABELS_SELECT "Etikettval" - #define TR_LABELS_MATCH "Etikettmatchning" - #define TR_FAV_MATCH "Matcha favoriter" - #define TR_LABELS_SELECT_MODE "Flerval","Enskilt val" - #define TR_LABELS_MATCH_MODE "Matcha alla","Matcha någon" - #define TR_FAV_MATCH_MODE "Måste matcha","Alternativt matcha" -#endif +#define TR_MODEL_QUICK_SELECT "Snabbval av modell" +#define TR_LABELS_SELECT "Etikettval" +#define TR_LABELS_MATCH "Etikettmatchning" +#define TR_FAV_MATCH "Matcha favoriter" +#define TR_LABELS_SELECT_MODE_1 "Flerval" +#define TR_LABELS_SELECT_MODE_2 "Enskilt val" +#define TR_LABELS_MATCH_MODE_1 "Matcha alla" +#define TR_LABELS_MATCH_MODE_2 "Matcha någon" +#define TR_FAV_MATCH_MODE_1 "Måste matcha" +#define TR_FAV_MATCH_MODE_2 "Alternativt matcha" #define TR_SELECT_TEMPLATE_FOLDER "VÄLJ MALLKATALOG" #define TR_SELECT_TEMPLATE "VÄLJ MODELLMALL" @@ -808,11 +889,10 @@ #define TR_BLUETOOTH_NODEVICES "Inga enheter funna" #define TR_BLUETOOTH_SCANNING "Skannar..." #define TR_BLUETOOTH_BAUDRATE "BT baudrate" -#if defined(PCBX9E) - #define TR_BLUETOOTH_MODES "---","Aktiverad" -#else - #define TR_BLUETOOTH_MODES "---","Telemetri","Lärare" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Telemetri" +#define TR_BLUETOOTH_MODES_3 "Lärare" +#define TR_BLUETOOTH_MODES_4 "Aktiverad" #define TR_SD_INFO_TITLE "SD INFO" #define TR_SD_SPEED "Hastighet:" #define TR_SD_SECTORS "Sektorer:" @@ -822,7 +902,18 @@ #define TR_GLOBAL_VAR "Global variabel" #define TR_OWN "Egen" #define TR_DATE "Datum" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "Maj" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Okt" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec" #define TR_ROTARY_ENCODER "R.H." #define TR_ROTARY_ENC_MODE TR("Rullhjulsinst.","Rullhjulsinställning") #define TR_CHANNELS_MONITOR "Kanalöversikt" @@ -929,14 +1020,14 @@ #define TR_PXX2_SELECT_RX "Välj Rx" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Välj enhet" -#define TR_DISCOVER "Upptäck" +#define TR_DISCOVER BUTTON("Upptäck") #define TR_BUTTON_INIT BUTTON("Init") #define TR_WAITING "Väntar..." #define TR_RECEIVER_DELETE "Radera mottagare?" #define TR_RECEIVER_RESET "Återställ mottagare?" #define TR_SHARE "Dela" #define TR_BIND "Parkopplar" -#define TR_REGISTER TR("Reg", "Registrera") +#define TR_REGISTER BUTTON(TR("Reg", "Registrera")) #define TR_MODULE_RANGE BUTTON(TR("Tst", "Testa")) #define TR_RANGE_TEST "Test av radiolänkkvalitet (begränsad signalstyrka)" #define TR_RECEIVER_OPTIONS TR("RX ALTERNATIV", "MOTTAGARALTERNATIV") @@ -950,11 +1041,7 @@ #define TR_TRAINER "Lärare" #define TR_CHANS "Kan" #define TR_ANTENNAPROBLEM "Fel på TX-antennen" -#if defined(COLORLCD) - #define TR_MODELIDUSED "ID använt i:" -#else - #define TR_MODELIDUSED TR("ID använt i:","Mottagar-ID använt i:") -#endif +#define TR_MODELIDUSED TR_BW_COL(TR("ID använt i:","Mottagar-ID använt i:"), "ID använt i:") #define TR_MODELIDUNIQUE "ID är unikt" #define TR_MODULE "Modul" #define TR_RX_NAME "Rx namn" @@ -977,11 +1064,11 @@ #define TR_AFHDS3_POWER_SOURCE "Strömkälla" #define TR_ANTENNACONFIRM1 "EXT. ANTENN" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Intern","Fråga","Per modell","Intern + Extern" -#else - #define TR_ANTENNA_MODES "Intern","Fråga","Per modell","Extern" -#endif +#define TR_ANTENNA_MODES_1 "Intern" +#define TR_ANTENNA_MODES_2 "Fråga" +#define TR_ANTENNA_MODES_3 "Per modell" +#define TR_ANTENNA_MODES_4 "Intern + Extern" +#define TR_ANTENNA_MODES_5 "Extern" #define TR_USE_INTERNAL_ANTENNA TR("Anv int. antenn", "Använd intern antenn") #define TR_USE_EXTERNAL_ANTENNA TR("Anv ext. antenn", "Använd extern antenn") @@ -999,7 +1086,7 @@ #define TR_CURVE_PRESET "Förinställd..." #define TR_PRESET "Lutning" #define TR_MIRROR "Spegla" -#define TR_CLEAR "Rensa" +#define TR_CLEAR BUTTON("Rensa") #define TR_RESET "Återställ" #define TR_RESET_SUBMENU "Återställ..." #define TR_COUNT "Antal" @@ -1014,9 +1101,13 @@ #define TR_MIXSOURCE "Källa (%)" #define TR_MIXSOURCERAW "Källa (värde)" #define TR_CONSTANT "Konstant" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Av","På","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Av" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "På" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_PREFLIGHT "Startkontroller" -#define TR_PREFLIGHT_POTSLIDER_CHECK "Av","På","Auto" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "Av" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "På" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "Auto" #define TR_CHECKLIST TR("Checklista", "Visa checklista") #define TR_CHECKLIST_INTERACTIVE TR3("C-Interakt", "Interakt. checklista", "Interaktiv checklista") #define TR_AUX_SERIAL_MODE "Serieport" @@ -1030,7 +1121,8 @@ #define TR_CONFIRMRESET "Radera ALLA modeller och inställningar?" #define TR_TOO_MANY_LUA_SCRIPTS "För många Lua-skript!" #define TR_SPORT_UPDATE_POWER_MODE "S.Port Pwr" -#define TR_SPORT_UPDATE_POWER_MODES "Auto","På" +#define TR_SPORT_UPDATE_POWER_MODES_1 "Auto" +#define TR_SPORT_UPDATE_POWER_MODES_2 "På" #define TR_NO_TELEMETRY_SCREENS "Ingen telemetriskärm" #define TR_TOUCH_PANEL "Pekskärm:" #define TR_FILE_SIZE "Filstorlek" @@ -1058,36 +1150,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Subtrim-läge" #define TR_INVERTED "Inverterad" -// Horus footer descriptions -#define TR_LSW_DESCRIPTIONS "Jämförelsetyp eller funktion", "Första variabeln", "Andra variabeln eller konstant", "Andra variabeln eller konstant", "Ytterligare villkor för att raden ska aktiveras", "Minsta tid PÅ för den logiska brytaren", "Minsta varaktighet för SANT för att brytaren ska slås PÅ" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Första kanal" - #define TR_FILL_BACKGROUND "Fyll bakgrund?" - #define TR_BG_COLOR "Bakgrundsfärg" - #define TR_SLIDERS_TRIMS "Reglage+Trimmar" - #define TR_SLIDERS "Reglage" - #define TR_FLIGHT_MODE "Flygläge" - #define TR_INVALID_FILE "Ogiltig fil" - #define TR_TIMER_SOURCE "Timerkälla" - #define TR_SIZE "Storlek" - #define TR_SHADOW "Skugga" - #define TR_ALIGNMENT "Justering" - #define TR_ALIGN_LABEL "Justera etikett" - #define TR_ALIGN_VALUE "Justera värde" - #define TR_ALIGN_OPTS "Vänster", "Mitten", "Höger" - #define TR_TEXT "Text" - #define TR_COLOR "Färg" - #define TR_PANEL1_BACKGROUND "Panel 1 bakgrund" - #define TR_PANEL2_BACKGROUND "Panel 2 bakgrund" - #define TR_WIDGET_GAUGE "Mätare" - #define TR_WIDGET_MODELBMP "Modellinfo" - #define TR_WIDGET_OUTPUTS "Output" - #define TR_WIDGET_TEXT "Text" - #define TR_WIDGET_TIMER "Timer" - #define TR_WIDGET_VALUE "Värde" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Första kanal" +#define TR_FILL_BACKGROUND "Fyll bakgrund?" +#define TR_BG_COLOR "Bakgrundsfärg" +#define TR_SLIDERS_TRIMS "Reglage+Trimmar" +#define TR_SLIDERS "Reglage" +#define TR_FLIGHT_MODE "Flygläge" +#define TR_INVALID_FILE "Ogiltig fil" +#define TR_TIMER_SOURCE "Timerkälla" +#define TR_SIZE "Storlek" +#define TR_SHADOW "Skugga" +#define TR_ALIGNMENT "Justering" +#define TR_ALIGN_LABEL "Justera etikett" +#define TR_ALIGN_VALUE "Justera värde" +#define TR_ALIGN_OPTS_1 "Vänster" +#define TR_ALIGN_OPTS_2 "Mitten" +#define TR_ALIGN_OPTS_3 "Höger" +#define TR_TEXT "Text" +#define TR_COLOR "Färg" +#define TR_PANEL1_BACKGROUND "Panel 1 bakgrund" +#define TR_PANEL2_BACKGROUND "Panel 2 bakgrund" +#define TR_WIDGET_GAUGE "Mätare" +#define TR_WIDGET_MODELBMP "Modellinfo" +#define TR_WIDGET_OUTPUTS "Output" +#define TR_WIDGET_TEXT "Text" +#define TR_WIDGET_TIMER "Timer" +#define TR_WIDGET_VALUE "Värde" // About screen #define TR_ABOUTUS "Om oss" @@ -1120,7 +1209,7 @@ #define TR_CELLINDEX "Cellindex" #define TR_LOGS "Logga" #define TR_OPTIONS "Alternativ" -#define TR_FIRMWARE_OPTIONS "Firmwarefunktioner" +#define TR_FIRMWARE_OPTIONS BUTTON("Firmwarefunktioner") #define TR_ALTSENSOR "Höjdsensor" #define TR_CELLSENSOR "Cellsensor" @@ -1143,11 +1232,7 @@ #define TR_WIDGET_FULLSCREEN "Hel skärm" #define TR_REMOVE_SCREEN "Ta bort huvudvy" -#if !NARROW_LAYOUT - #define TR_SETUP_WIDGETS "Konfigurera widgets" -#else - #define TR_SETUP_WIDGETS "Konfig. widgets" -#endif +#define TR_SETUP_WIDGETS "Konfigurera widgets" #define TR_THEME "Tema" #define TR_SETUP "Konfigurera" @@ -1182,11 +1267,6 @@ #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Addera all trimm till subtrimm" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Öppna kanalmonitorn" -#else - #define TR_OPEN_CHANNEL_MONITORS "Öppna kanalmon." -#endif #define TR_DUPLICATE "Duplicera" #define TR_ACTIVATE "Aktivera" @@ -1222,6 +1302,7 @@ #define TR_CANCEL "Avbryt" #define TR_EDIT_THEME "REDIGERA TEMA" #define TR_DETAILS "Temainformation" +#define TR_THEME_EDITOR "TEMAN" // Voice in native language #define TR_VOICE_ENGLISH "Engelska" @@ -1247,29 +1328,71 @@ #define TR_USBJOYSTICK_LABEL "USB Joystick" #define TR_USBJOYSTICK_EXTMODE "Läge" -#define TR_VUSBJOYSTICK_EXTMODE "Klassisk","Avancerad" -#define TR_USBJOYSTICK_SETTINGS "Kanalinställningar" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Klassisk" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Avancerad" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Kanalinställningar") #define TR_USBJOYSTICK_IF_MODE TR("Interface","Typ av interface") -#define TR_VUSBJOYSTICK_IF_MODE "Joystick","Gamepad","MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Joystick" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Gamepad" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Läge" -#define TR_VUSBJOYSTICK_CH_MODE "Inget","Knapp","Axel","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Inget" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Knapp" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axel" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Knappläge" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Normal","Puls","SWEmu","Delta","Companion" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Norm","Normal"),TR("Puls","Puls"),TR("SWEm","SWEmul"),TR("Delt","Delta"),TR("CPN","Companion") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Normal" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Puls" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Delta" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Companion" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Norm","Normal") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Puls","Puls") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Delt","Delta") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("CPN","Companion") #define TR_USBJOYSTICK_CH_SWPOS "Knapptyp" -#define TR_VUSBJOYSTICK_CH_SWPOS "Tryck","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Tryck" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Axis" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Reglage","Vred","Hjul" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Reglage" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Vred" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Hjul" #define TR_USBJOYSTICK_CH_SIM "Sim.axlar" -#define TR_VUSBJOYSTICK_CH_SIM "Ske","Hjd","Rod","Gas","Acc","Brms","Styr","dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ske" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Hjd" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rod" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Gas" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brms" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Styr" +#define TR_VUSBJOYSTICK_CH_SIM_8 "dpad" #define TR_USBJOYSTICK_CH_INVERSION "Invertering" #define TR_USBJOYSTICK_CH_BTNNUM "Knapp nr." #define TR_USBJOYSTICK_BTN_COLLISION "!Knappnr. krockar!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Axlar krockar!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Cirk. klipp", "Cirkulärt klipp") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "Ingen","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Tillämpa ändringar" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "Ingen" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Tillämpa ändringar") #define TR_DIGITAL_SERVO "Servo333Hz" #define TR_ANALOG_SERVO "Servo 50Hz" @@ -1285,7 +1408,10 @@ #define TR_SELECT_MENU_CLR "Rensa" #define TR_SELECT_MENU_INV "Invertera" -#define TR_SORT_ORDERS "Namn A-Z","Namn Z-A","Minst använd","Mest använd" +#define TR_SORT_ORDERS_1 "Namn A-Z" +#define TR_SORT_ORDERS_2 "Namn Z-A" +#define TR_SORT_ORDERS_3 "Minst använd" +#define TR_SORT_ORDERS_4 "Mest använd" #define TR_SORT_MODELS_BY "Sortera modeller" #define TR_CREATE_NEW "Skapa" diff --git a/radio/src/translations/tw.h b/radio/src/translations/i18n/tw.h similarity index 73% rename from radio/src/translations/tw.h rename to radio/src/translations/i18n/tw.h index 21e8e670eec..f7f3a92fb36 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/i18n/tw.h @@ -29,15 +29,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in -// plural -#define TR_USE_SINGULAR_IN_PLURAL 1 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "模型\n管理" #define TR_QM_MODEL_SETUP "模型\n設置" @@ -45,7 +36,7 @@ #define TR_QM_UI_SETUP "UI\n設置" #define TR_QM_TOOLS "工具\nAPP" #define TR_QM_GEN_SETTINGS "常規\n設置" -#define TR_QM_FLIGHT_MODES TRSA("駕駛\n模式", "飛行\n模式") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("駕駛\n模式", "飛行\n模式") #define TR_QM_INPUTS "輸入" #define TR_QM_MIXES "混控" #define TR_QM_OUTPUTS "輸出" @@ -74,7 +65,7 @@ #define TR_QM_ADD_SCREEN "添加\n屏幕" #define TR_QM_APPS "APP\nLUA腳本" #define TR_QM_STORAGE "存儲器" -#define TR_QM_RESET TRSA("復位", "復位") +#define TR_QM_RESET TR_SFC_AIR("復位", "復位") #define TR_QM_CHAN_MON "通道\n查看器" #define TR_QM_LS_MON "邏輯開關\n查看器" #define TR_QM_STATS "統計" @@ -93,8 +84,8 @@ #define TR_MAIN_MENU_THEMES "主題" #define TR_MAIN_MENU_APPS "APP/LUA腳本" #define TR_MENUHELISETUP "直升機設置" -#define TR_MENUFLIGHTMODES TRSA("駕駛模式", "飛行模式設置") -#define TR_MENUFLIGHTMODE TRSA("駕駛模式", "飛行模式") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("駕駛模式", "飛行模式設置") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("駕駛模式", "飛行模式") #define TR_MENUINPUTS "輸入" #define TR_MENULIMITS "輸出" #define TR_MENUCURVES "曲線" @@ -118,53 +109,105 @@ #define TR_MINUTE_PLURAL1 "分鐘" #define TR_MINUTE_PLURAL2 "分鐘" -#define TR_OFFON "禁用","開啟" -#define TR_MMMINV "---","反" -#define TR_VBEEPMODE "靜音","警告","忽略按鍵","全部" -#define TR_VBLMODE "關閉","按鍵","操控","全部","開啟" -#define TR_TRNMODE "關","相加","替換" -#define TR_TRNCHN "CH1","CH2","CH3","CH4" - -#define TR_AUX_SERIAL_MODES "禁用","回傳鏡像","回傳輸入","SBUS教練","LUA腳本","CLI","GPS","Debug","SpaceMouse","外置發射" -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "禁用","回彈","2段","3段","全局" -#else -#define TR_SWTYPES "禁用","回彈","2段","3段" -#endif -#define TR_POTTYPES "禁用","無中點旋鈕",TR("中點旋鈕","有中點旋鈕"),"側滑塊",TR("多段","多段按鍵"),"X 軸","Y 軸","開關" -#define TR_VPERSISTENT "禁用","隨飛行記錄復位","手動復位" -#define TR_COUNTRY_CODES "美國","日本","歐洲" -#define TR_USBMODES "詢問","遊戲柄","存儲器","串行" -#define TR_JACK_MODES "詢問","音頻","教練" - -#define TR_SBUS_INVERSION_VALUES "正常","未反向" -#define TR_MULTI_CUSTOM "自定義" -#define TR_VTRIMINC "指數","很小","較小","中等","較大" -#define TR_VDISPLAYTRIMS "不顯示","改變時","始終顯示" -#define TR_VBEEPCOUNTDOWN "靜音","蜂鳴","語音","震動","Beeps & Haptic","Voice & Haptic" -#define TR_COUNTDOWNVALUES "5秒","10秒","20秒","30秒" -#define TR_VVARIOCENTER "音調","靜音" -#define TR_CURVE_TYPES "標準","自定義" - -#define TR_ADCFILTERVALUES "全局","禁用","开启" - -#define TR_VCURVETYPE "單邊","指數","函數","自定義" -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "相加","相乘","替換" -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "定時" - #define TR_CSWSTICKY "粘滯" - #define TR_CSWSTAY "邊沿" -#else - #define TR_CSWTIMER "定時" - #define TR_CSWSTICKY "粘滯" - #define TR_CSWSTAY "邊沿" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_FSW_RESET_TRIMS "Trims" - #define TR_FSW_RESET_TIMERS "計時器1","計時器2","計時器3" -#else - #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "計時1","計時2","計時3" -#endif - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("全部","飛行"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Bp1","Beep1"),TR("Bp2","Beep2"),TR("Bp3","Beep3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TRIMS "Trims" +#define TR_FSW_RESET_TIMERS_1 TR("計時1", "計時器1") +#define TR_FSW_RESET_TIMERS_2 TR("計時2", "計時器2") +#define TR_FSW_RESET_TIMERS_3 TR("計時3", "計時器3") + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("全部","飛行") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Bp1","Beep1") +#define TR_FUNCSOUNDS_2 TR("Bp2","Beep2") +#define TR_FUNCSOUNDS_3 TR("Bp3","Beep3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM "公制",TR("英制","英制") -#define TR_VTELEMUNIT "-","V","A","mA","kts","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mlm","Hz","mS","uS","km","dBm" - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "禁用","數值","條形圖","腳本" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "公制" +#define TR_VUNITSSYSTEM_2 TR("英制","英制") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "kts" +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "g" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mlm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "mS" +#define TR_VTELEMUNIT_28 "uS" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" + +#define TR_VTELEMSCREENTYPE_1 "禁用" +#define TR_VTELEMSCREENTYPE_2 "數值" +#define TR_VTELEMSCREENTYPE_3 "條形圖" +#define TR_VTELEMSCREENTYPE_4 "腳本" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Rud" #define TR_STICK_NAMES1 "Ele" @@ -237,18 +331,20 @@ #define TR_SURFACE_NAMES0 "ST" #define TR_SURFACE_NAMES1 "TH" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "Default","High" -#endif +#define TR_RFPOWER_AFHDS2_1 "Default" +#define TR_RFPOWER_AFHDS2_2 "High" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","One" +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "One" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "按鍵帽模式" -#define TR_HATSOPT "微調","導航鍵","可切換","全局" +#define TR_HATSOPT_1 "微調" +#define TR_HATSOPT_2 "導航鍵" +#define TR_HATSOPT_3 "可切換" +#define TR_HATSOPT_4 "全局" #define TR_HATSMODE_TRIMS "按鍵帽: 微調" #define TR_HATSMODE_KEYS "按鍵帽: 導航鍵" #define TR_HATSMODE_KEYS_HELP "左側按鍵帽:\n"\ @@ -261,79 +357,86 @@ " 右 = PAGE>\n"\ " 上 = PREV/INC\n"\ " 下 = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "正常","反向" -#else - #define TR_ROTARY_ENC_OPT "正常","反向","V-I H-N","V-I H-A","V-N E-I" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_ROTARY_ENC_OPT_1 "正常" +#define TR_ROTARY_ENC_OPT_2 "反向" +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" #define TR_SRC_TIME "Time" #define TR_SRC_GPS "GPS" #define TR_SRC_TIMER "Tmr" -#define TR_VTMRMODES "OFF","ON","Strt","THs","TH%","THt" +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ON" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" #define TR_VTRAINER_MASTER_OFF "禁用" #define TR_VTRAINER_MASTER_JACK "教練主機/教練口" #define TR_VTRAINER_SLAVE_JACK "學生從機/教練口" #define TR_VTRAINER_MASTER_SBUS_MODULE "教練主機/SBUS模塊" #define TR_VTRAINER_MASTER_CPPM_MODULE "教練從機/CPPM模塊" #define TR_VTRAINER_MASTER_BATTERY "教練主機/端口" -#define TR_VTRAINER_BLUETOOTH "教練主機/藍牙","教練從機/藍牙" +#define TR_VTRAINER_BLUETOOTH_1 "教練主機/藍牙" +#define TR_VTRAINER_BLUETOOTH_2 "教練從機/藍牙" #define TR_VTRAINER_MULTI "教練主機/多協議" #define TR_VTRAINER_CRSF "教練主機/CRSF" -#define TR_VFAILSAFE "未設置","失控保持","自定義","無脈衝", "接收機" -#define TR_VSENSORTYPES "自定義","運算" -#define TR_VFORMULAS "加","平均值","最小值","最大值","乘","總計值","單節電池","消耗量","距離" -#define TR_VPREC "0.--","0.0-","0.00" -#define TR_VCELLINDEX "最低值","1","2","3","4","5","6","7","8","最高值","差值" -#define TR_SUBTRIMMODES STR_CHAR_DELTA "(中点)","=(整體)" -#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "STD" -#else -#define TR_FONT_SIZES "STD","BOLD","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[確認]" - #define TR_ENTER "[長按確認]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "退出" - #define TR_OK TR_ENTER -#else - #define TR_EXIT "退出" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "未設置" +#define TR_VFAILSAFE_2 "失控保持" +#define TR_VFAILSAFE_3 "自定義" +#define TR_VFAILSAFE_4 "無脈衝" +#define TR_VFAILSAFE_5 "接收機" +#define TR_VSENSORTYPES_1 "自定義" +#define TR_VSENSORTYPES_2 "運算" +#define TR_VFORMULAS_1 "加" +#define TR_VFORMULAS_2 "平均值" +#define TR_VFORMULAS_3 "最小值" +#define TR_VFORMULAS_4 "最大值" +#define TR_VFORMULAS_5 "乘" +#define TR_VFORMULAS_6 "總計值" +#define TR_VFORMULAS_7 "單節電池" +#define TR_VFORMULAS_8 "消耗量" +#define TR_VFORMULAS_9 "距離" +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0-" +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "最低值" +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "最高值" +#define TR_VCELLINDEX_11 "差值" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA "(中点)" +#define TR_SUBTRIMMODES_2 "=(整體)" +#define TR_TIMER_DIR_1 TR("Remain", "Show Remain") +#define TR_TIMER_DIR_2 TR("Elaps.", "Show Elapsed") + +#define TR_FONT_SIZES_1 "STD" +#define TR_FONT_SIZES_2 "BOLD" +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("EXIT", "RTN") #define TR_FREE "空閒" #define TR_YES "是" @@ -366,11 +469,19 @@ #define TR_USE_GLOBAL_FUNCS TR("全局功能", "全局功能可介入") #define TR_PPMFRAME "PPM幀" #define TR_REFRESHRATE TR("刷新率", "刷新速率") -#define STR_WARN_BATTVOLTAGE TR("輸出為電池電壓: ", "注意輸出電平為電池電壓") +#define TR_WARN_BATTVOLTAGE TR("輸出為電池電壓: ", "注意輸出電平為電池電壓") #define TR_WARN_5VOLTS "注意輸出電平是5V" #define TR_MS "ms" #define TR_SWITCH "開關" -#define TR_FS_COLOR_LIST "自定義","關閉","白色","紅色","綠色","黃色","橘色","藍色","粉色" +#define TR_FS_COLOR_LIST_1 "自定義" +#define TR_FS_COLOR_LIST_2 "關閉" +#define TR_FS_COLOR_LIST_3 "白色" +#define TR_FS_COLOR_LIST_4 "紅色" +#define TR_FS_COLOR_LIST_5 "綠色" +#define TR_FS_COLOR_LIST_6 "黃色" +#define TR_FS_COLOR_LIST_7 "橘色" +#define TR_FS_COLOR_LIST_8 "藍色" +#define TR_FS_COLOR_LIST_9 "粉色" #define TR_GROUP "分組" #define TR_GROUP_ALWAYS_ON "始終開啓" #define TR_LUA_OVERRIDE "允許腳本控制" @@ -380,28 +491,19 @@ #define TR_SWITCH_TYPE "類型" #define TR_SWITCH_STARTUP "默認" #define TR_SWITCH_GROUP "分組" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" -#define TR_SF_SWITCH "觸發" +#define TR_SF_SWITCH "Trigger" #define TR_TRIMS "微調" #define TR_FADEIN "漸入" #define TR_FADEOUT "漸出" #define TR_DEFAULT "(默認)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "檢查當前飛行模式微調" -#else - #define TR_CHECKTRIMS "\006檢查\012微調" -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006檢查\012微調", "檢查當前飛行模式微調") #define TR_SWASHTYPE "斜盤類型" #define TR_COLLECTIVE TR("螺距源", "螺距混控源") #define TR_AILERON TR("橫滾源", "橫滾混控源") #define TR_ELEVATOR TR("俯仰源", "俯仰混控源") #define TR_SWASHRING "斜盤行程" #define TR_MODE "模式" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "左搖桿" -#else - #define TR_LEFT_STICK "左搖桿" -#endif +#define TR_LEFT_STICK "左搖桿" #define TR_SUBTYPE "子類型" #define TR_NOFREEEXPO "指數曲線已滿!" #define TR_NOFREEMIXER "混控數量已滿!" @@ -424,11 +526,7 @@ #define TR_SLOWDOWN TR("下慢放", "下行慢動作") #define TR_SLOWUP "上行慢動作" #define TR_CV "曲線" -#if defined(PCBPL18) - #define TR_GV "GV" -#else - #define TR_GV TR("G", "GV") -#endif +#define TR_GV TR("G", "GV") #define TR_RANGE "範圍" #define TR_CENTER "中點" #define TR_ALARM "報警" @@ -497,20 +595,15 @@ #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "倍率" #define TR_CAL "校準" -#define TR_CALIBRATION "校準" +#define TR_CALIBRATION BUTTON("校準") #define TR_VTRIM "微調-+" #define TR_CALIB_DONE "校準完成" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "校準中點,按[確認]保存" - #define TR_MOVESTICKSPOTS "校準邊界,按[確認]保存並完成" -#else - #define TR_MENUTOSTART "按" TR_ENTER " 開始" - #define TR_SETMIDPOINT TRSA("校準中點", TR("校準中點", "校準中點")) - #define TR_MOVESTICKSPOTS TRSA("校準邊界", "校準邊界") - #define TR_MENUWHENDONE TR_ENTER " 完成" +#define TR_MENUTOSTART "按" TR_ENTER " 開始" +#define TR_MENUWHENDONE TR_ENTER " 完成" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("校準中點", TR("校準中點", "校準中點")), "校準中點,按[確認]保存") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("校準邊界", "校準邊界"), "校準邊界,按[確認]保存並完成") #define TR_NODATA "NO DATA" #define TR_US "us" #define TR_HZ "Hz" @@ -540,7 +633,7 @@ #define TR_PPM_TRAINER "TR" #define TR_CH "CH" #define TR_MODEL "模型" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "EEPROM low mem" #define TR_PRESS_ANY_KEY_TO_SKIP "按任意鍵跳過" #define TR_THROTTLE_NOT_IDLE "請將油門拉至最低!" @@ -559,11 +652,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "已校準的ADC值" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "原始ADC值 (5 Hz)" #define TR_MENU_FSWITCH "自定義按鍵" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "將當前微調量保存至中點" -#else - #define TR_TRIMS2OFFSETS "\006微調存至中點" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006微調存至中點", "將當前微調量保存至中點") #define TR_CHANNELS2FAILSAFE "導入當前所有通道值" #define TR_CHANNEL2FAILSAFE "導入當前通道值" #define TR_MENUMODELSEL TR("模型選擇", "模型選擇") @@ -680,7 +769,7 @@ #define TR_PIN "插針" #define TR_UPDATE_RX_OPTIONS "是否升級接收機?" #define TR_UPDATE_TX_OPTIONS "是否升級發射機?" -#define TR_MODULES_RX_VERSION "模塊/接收機版本" +#define TR_MODULES_RX_VERSION BUTTON("模塊/接收機版本") #define TR_SHOW_MIXER_MONITORS "顯示通道混控" #define TR_MENU_MODULES_RX_VERSION "模塊/接收機版本" #define TR_MENU_FIRM_OPTIONS "韌體選項" @@ -700,11 +789,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD卡已滿" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\n日誌和截屏功能將被禁用" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036日誌和 " LCDW_128_LINEBREAK "截屏功能將被禁用" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036日誌和 " LCDW_128_LINEBREAK "截屏功能將被禁用", TR_SDCARD_FULL "\n日誌和截屏功能將被禁用") #define TR_NEEDS_FILE "需要文件名包含" #define TR_EXT_MULTI_SPEC "opentx-inv" #define TR_INT_MULTI_SPEC "stm-opentx-noinv" @@ -763,7 +848,8 @@ #define TR_CRSF_ARMING_MODE "解鎖類型" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE "採樣模式" -#define TR_SAMPLE_MODES "標準","OneBit" +#define TR_SAMPLE_MODES_1 "標準" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "加載中..." #define TR_DELETE_THEME "刪除主題?" #define TR_SAVE_THEME "保存主題?" @@ -771,15 +857,16 @@ #define TR_NO_THEME_IMAGE "没有预览图" #define TR_BACKLIGHT_TIMER "持續時間" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "快速選擇模型" - #define TR_LABELS_SELECT "標籤類型選擇" - #define TR_LABELS_MATCH "標籤匹配類型" - #define TR_FAV_MATCH "收藏夾匹配類型" - #define TR_LABELS_SELECT_MODE "復選項","單選項" - #define TR_LABELS_MATCH_MODE "全部匹配","任意匹配" - #define TR_FAV_MATCH_MODE "必須匹配","可選匹配" -#endif +#define TR_MODEL_QUICK_SELECT "快速選擇模型" +#define TR_LABELS_SELECT "標籤類型選擇" +#define TR_LABELS_MATCH "標籤匹配類型" +#define TR_FAV_MATCH "收藏夾匹配類型" +#define TR_LABELS_SELECT_MODE_1 "復選項" +#define TR_LABELS_SELECT_MODE_2 "單選項" +#define TR_LABELS_MATCH_MODE_1 "全部匹配" +#define TR_LABELS_MATCH_MODE_2 "任意匹配" +#define TR_FAV_MATCH_MODE_1 "必須匹配" +#define TR_FAV_MATCH_MODE_2 "可選匹配" #define TR_SELECT_TEMPLATE_FOLDER "選擇一個樣板檔案夾:" #define TR_SELECT_TEMPLATE "選擇一個樣板:" @@ -799,11 +886,10 @@ #define TR_BLUETOOTH_NODEVICES "未找到設備" #define TR_BLUETOOTH_SCANNING "正在掃描..." #define TR_BLUETOOTH_BAUDRATE "藍牙帶寬" -#if defined(PCBX9E) - #define TR_BLUETOOTH_MODES "---","啟用" -#else - #define TR_BLUETOOTH_MODES "---","回傳","教練" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "回傳" +#define TR_BLUETOOTH_MODES_3 "教練" +#define TR_BLUETOOTH_MODES_4 "啟用" #define TR_SD_INFO_TITLE "存儲卡詳情" #define TR_SD_SPEED "速度:" @@ -814,7 +900,18 @@ #define TR_GLOBAL_VAR "全局變量" #define TR_OWN "Own" #define TR_DATE "日期" -#define TR_MONTHS "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec " +#define TR_MONTHS_1 "Jan" +#define TR_MONTHS_2 "Feb" +#define TR_MONTHS_3 "Mar" +#define TR_MONTHS_4 "Apr" +#define TR_MONTHS_5 "May" +#define TR_MONTHS_6 "Jun" +#define TR_MONTHS_7 "Jul" +#define TR_MONTHS_8 "Aug" +#define TR_MONTHS_9 "Sep" +#define TR_MONTHS_10 "Oct" +#define TR_MONTHS_11 "Nov" +#define TR_MONTHS_12 "Dec " #define TR_ROTARY_ENCODER "滾輪" #define TR_ROTARY_ENC_MODE TR("滾輪模式","滾輪模式") #define TR_CHANNELS_MONITOR "通道查看器" @@ -919,14 +1016,14 @@ #define TR_PXX2_SELECT_RX "Select RX" #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "選擇設備" -#define TR_DISCOVER "發現" +#define TR_DISCOVER BUTTON("發現") #define TR_BUTTON_INIT BUTTON("初始化") #define TR_WAITING "等待..." #define TR_RECEIVER_DELETE "是否刪除接收機?" #define TR_RECEIVER_RESET "是否重啟接收機?" #define TR_SHARE "分享" #define TR_BIND "對頻" -#define TR_REGISTER TR("註冊", "註冊") +#define TR_REGISTER BUTTON(TR("註冊", "註冊")) #define TR_MODULE_RANGE BUTTON(TR("測距", "測距")) #define TR_RANGE_TEST "距離測試(低功率)" #define TR_RECEIVER_OPTIONS TR("選項", "接收機選項") @@ -958,11 +1055,11 @@ #define TR_TELEMETRY_NEWSENSOR "添加新傳感器..." #define TR_CHANNELRANGE TR("通道範圍", "通道範圍") #define TR_ANTENNACONFIRM1 "外置天線" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "內置天線","詢問","基於模型","外置天線" -#else - #define TR_ANTENNA_MODES "內置天線","詢問","基於模型","外置天線" -#endif +#define TR_ANTENNA_MODES_1 "內置天線" +#define TR_ANTENNA_MODES_2 "詢問" +#define TR_ANTENNA_MODES_3 "基於模型" +#define TR_ANTENNA_MODES_4 "外置天線" +#define TR_ANTENNA_MODES_5 "外置天線" #define TR_USE_INTERNAL_ANTENNA TR("請使用內置天線", "請使用內置天線") #define TR_USE_EXTERNAL_ANTENNA TR("請使用外置天線", "請使用外置天線") #define TR_ANTENNACONFIRM2 TR("檢查天線", "請確認天線安裝完好!") @@ -979,7 +1076,7 @@ #define TR_CURVE_PRESET "預設..." #define TR_PRESET "預設" #define TR_MIRROR "鏡像" -#define TR_CLEAR "清除" +#define TR_CLEAR BUTTON("清除") #define TR_RESET "重啟" #define TR_RESET_SUBMENU "重啟..." #define TR_COUNT "點數" @@ -994,7 +1091,9 @@ #define TR_MIXSOURCE "輸入源 (%)" #define TR_MIXSOURCERAW "輸入源 (數值)" #define TR_CONSTANT "固定值" -#define TR_PREFLIGHT_POTSLIDER_CHECK "關閉","開啟","自動" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "關閉" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "開啟" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "自動" #define TR_PREFLIGHT "初始檢查" #define TR_CHECKLIST TR("顯示列表", "顯示列表") #define TR_CHECKLIST_INTERACTIVE TR3("檢查列表", "自定義檢查列表", "自定義檢查列表") @@ -1009,7 +1108,8 @@ #define TR_CONFIRMRESET TR("是否清除", "是否清除所有模型和設置數據?") #define TR_TOO_MANY_LUA_SCRIPTS "LUA腳本數量超出限制!" #define TR_SPORT_UPDATE_POWER_MODE "SP 電源" -#define TR_SPORT_UPDATE_POWER_MODES "自動","開啟" +#define TR_SPORT_UPDATE_POWER_MODES_1 "自動" +#define TR_SPORT_UPDATE_POWER_MODES_2 "開啟" #define TR_NO_TELEMETRY_SCREENS "無回傳頁面" #define TR_TOUCH_PANEL "觸摸屏:" #define TR_FILE_SIZE "文件大小" @@ -1037,36 +1137,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "微調模式" #define TR_INVERTED "反向" - -#define TR_LSW_DESCRIPTIONS "比較類型或功能", "第一個變量", "第二個變量或常量", "第二個變量或常量", "啟用本行的附加條件", "邏輯開關持續時間", "邏輯開關延時開啟" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "起始通道" - #define TR_FILL_BACKGROUND "是否填充背景?" - #define TR_BG_COLOR "背景顏色" - #define TR_SLIDERS_TRIMS "滑塊和微調" - #define TR_SLIDERS "滑塊" - #define TR_FLIGHT_MODE "飛行模式" - #define TR_INVALID_FILE "無效的文件" - #define TR_TIMER_SOURCE "計時器選擇" - #define TR_SIZE "尺寸" - #define TR_SHADOW "陰影" - #define TR_ALIGNMENT "對齊" - #define TR_ALIGN_LABEL "对齐名称" - #define TR_ALIGN_VALUE "对齐值" - #define TR_ALIGN_OPTS "左", "中", "右" - #define TR_TEXT "文本" - #define TR_COLOR "顏色" - #define TR_PANEL1_BACKGROUND "面板1背景" - #define TR_PANEL2_BACKGROUND "面板2背景" - #define TR_WIDGET_GAUGE "行程" - #define TR_WIDGET_MODELBMP "模型信息" - #define TR_WIDGET_OUTPUTS "輸出" - #define TR_WIDGET_TEXT "文本" - #define TR_WIDGET_TIMER "計時器" - #define TR_WIDGET_VALUE "數值" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "起始通道" +#define TR_FILL_BACKGROUND "是否填充背景?" +#define TR_BG_COLOR "背景顏色" +#define TR_SLIDERS_TRIMS "滑塊和微調" +#define TR_SLIDERS "滑塊" +#define TR_FLIGHT_MODE "飛行模式" +#define TR_INVALID_FILE "無效的文件" +#define TR_TIMER_SOURCE "計時器選擇" +#define TR_SIZE "尺寸" +#define TR_SHADOW "陰影" +#define TR_ALIGNMENT "對齊" +#define TR_ALIGN_LABEL "对齐名称" +#define TR_ALIGN_VALUE "对齐值" +#define TR_ALIGN_OPTS_1 "左" +#define TR_ALIGN_OPTS_2 "中" +#define TR_ALIGN_OPTS_3 "右" +#define TR_TEXT "文本" +#define TR_COLOR "顏色" +#define TR_PANEL1_BACKGROUND "面板1背景" +#define TR_PANEL2_BACKGROUND "面板2背景" +#define TR_WIDGET_GAUGE "行程" +#define TR_WIDGET_MODELBMP "模型信息" +#define TR_WIDGET_OUTPUTS "輸出" +#define TR_WIDGET_TEXT "文本" +#define TR_WIDGET_TIMER "計時器" +#define TR_WIDGET_VALUE "數值" // About screen #define TR_ABOUTUS TR(" 關於 ", "關於") @@ -1099,7 +1196,7 @@ #define TR_CELLINDEX "單節電池編號" #define TR_LOGS "日誌" #define TR_OPTIONS "選項" -#define TR_FIRMWARE_OPTIONS "韌體選項" +#define TR_FIRMWARE_OPTIONS BUTTON("韌體選項") #define TR_ALTSENSOR "Alt 傳感器" #define TR_CELLSENSOR "Cell 傳感器" @@ -1152,11 +1249,6 @@ #define TR_USE_THEME_COLOR "使用主題顏色" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "將所有微調導入中點偏移值" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "打開通道監視器" -#else - #define TR_OPEN_CHANNEL_MONITORS "通道監視" -#endif #define TR_DUPLICATE "複製" #define TR_ACTIVATE "啟用" #define TR_RED "紅" @@ -1218,29 +1310,71 @@ #define TR_USBJOYSTICK_LABEL "USB 遊戲柄" #define TR_USBJOYSTICK_EXTMODE "模式" -#define TR_VUSBJOYSTICK_EXTMODE "常規","高級" -#define TR_USBJOYSTICK_SETTINGS "通道設置" +#define TR_VUSBJOYSTICK_EXTMODE_1 "常規" +#define TR_VUSBJOYSTICK_EXTMODE_2 "高級" +#define TR_USBJOYSTICK_SETTINGS BUTTON("通道設置") #define TR_USBJOYSTICK_IF_MODE TR("接口模式","接口模式") -#define TR_VUSBJOYSTICK_IF_MODE "操縱桿","遊戲手柄","多軸搖桿" +#define TR_VUSBJOYSTICK_IF_MODE_1 "操縱桿" +#define TR_VUSBJOYSTICK_IF_MODE_2 "遊戲手柄" +#define TR_VUSBJOYSTICK_IF_MODE_3 "多軸搖桿" #define TR_USBJOYSTICK_CH_MODE "通道模式" -#define TR_VUSBJOYSTICK_CH_MODE "禁用","按鈕","軸","模擬" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "禁用" +#define TR_VUSBJOYSTICK_CH_MODE_2 "按鈕" +#define TR_VUSBJOYSTICK_CH_MODE_3 "軸" +#define TR_VUSBJOYSTICK_CH_MODE_4 "模擬" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "按鈕模式" -#define TR_VUSBJOYSTICK_CH_BTNMODE "普通","脈衝","開關","雙聯","多聯" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("普通","普通"),TR("脈衝","脈衝"),TR("開關","開關"),TR("雙聯","雙聯"),TR("多聯","多聯") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "普通" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "脈衝" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "開關" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "雙聯" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "多聯" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("普通","普通") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("脈衝","脈衝") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("開關","開關") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("雙聯","雙聯") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("多聯","多聯") #define TR_USBJOYSTICK_CH_SWPOS "位置" -#define TR_VUSBJOYSTICK_CH_SWPOS "單按","2聯","3聯","4聯","5聯","6聯","7聯","8聯" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "單按" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2聯" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3聯" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4聯" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5聯" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6聯" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7聯" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8聯" #define TR_USBJOYSTICK_CH_AXIS "轴" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","旋轉X","旋轉Y","旋轉Z","推桿","撥輪","方向盤" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "旋轉X" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "旋轉Y" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "旋轉Z" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "推桿" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "撥輪" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "方向盤" #define TR_USBJOYSTICK_CH_SIM "模擬軸" -#define TR_VUSBJOYSTICK_CH_SIM "橫滾","俯仰","航向","油門","加速","剎車","轉盤","方向" +#define TR_VUSBJOYSTICK_CH_SIM_1 "橫滾" +#define TR_VUSBJOYSTICK_CH_SIM_2 "俯仰" +#define TR_VUSBJOYSTICK_CH_SIM_3 "航向" +#define TR_VUSBJOYSTICK_CH_SIM_4 "油門" +#define TR_VUSBJOYSTICK_CH_SIM_5 "加速" +#define TR_VUSBJOYSTICK_CH_SIM_6 "剎車" +#define TR_VUSBJOYSTICK_CH_SIM_7 "轉盤" +#define TR_VUSBJOYSTICK_CH_SIM_8 "方向" #define TR_USBJOYSTICK_CH_INVERSION "反轉" #define TR_USBJOYSTICK_CH_BTNNUM "按鈕編號." #define TR_USBJOYSTICK_BTN_COLLISION "!按鈕編號衝突!" #define TR_USBJOYSTICK_AXIS_COLLISION "!軸衝突!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("圓口行程", "圓口行程") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "無","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "應用更改" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "無" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("應用更改") #define TR_DIGITAL_SERVO "數字舵機333HZ" #define TR_ANALOG_SERVO "模擬舵機50HZ" @@ -1256,7 +1390,10 @@ #define TR_SELECT_MENU_CLR "清除" #define TR_SELECT_MENU_INV "反向" -#define TR_SORT_ORDERS "名稱 A-Z","名稱 Z-A","不常用","常用" +#define TR_SORT_ORDERS_1 "名稱 A-Z" +#define TR_SORT_ORDERS_2 "名稱 Z-A" +#define TR_SORT_ORDERS_3 "不常用" +#define TR_SORT_ORDERS_4 "常用" #define TR_SORT_MODELS_BY "排序" #define TR_CREATE_NEW "新建" diff --git a/radio/src/translations/ua.h b/radio/src/translations/i18n/ua.h similarity index 75% rename from radio/src/translations/ua.h rename to radio/src/translations/i18n/ua.h index a28a9d16ed1..047939f3a19 100644 --- a/radio/src/translations/ua.h +++ b/radio/src/translations/i18n/ua.h @@ -31,14 +31,6 @@ * \0 -ends current string */ -#define TR_MIN_PLURAL2 2 -#define TR_MAX_PLURAL2 2 -// For this number of minute in the last decimal place singular form is used in plural -#define TR_USE_SINGULAR_IN_PLURAL 0 -#define TR_USE_PLURAL2_SPECIAL_CASE 0 -// If the number of minutes is above this value PLURAL2 is used -#define TR_USE_PLURAL2 INT_MAX - // Main menu #define TR_QM_MANAGE_MODELS "Manage\nModels" #define TR_QM_MODEL_SETUP "Model\nSetup" @@ -46,7 +38,7 @@ #define TR_QM_UI_SETUP "UI\nSetup" #define TR_QM_TOOLS "Tools" #define TR_QM_GEN_SETTINGS "General\nSettings" -#define TR_QM_FLIGHT_MODES TRSA("Drive\nModes", "Flight\nModes") +#define TR_QM_FLIGHT_MODES TR_SFC_AIR("Drive\nModes", "Flight\nModes") #define TR_QM_INPUTS "Inputs" #define TR_QM_MIXES "Mixes" #define TR_QM_OUTPUTS "Outputs" @@ -75,7 +67,7 @@ #define TR_QM_ADD_SCREEN "Add\nScreen" #define TR_QM_APPS "Apps" #define TR_QM_STORAGE "Storage" -#define TR_QM_RESET TRSA("Drive\nReset", "Flight\nReset") +#define TR_QM_RESET TR_SFC_AIR("Drive\nReset", "Flight\nReset") #define TR_QM_CHAN_MON "Channel\nMonitor" #define TR_QM_LS_MON "LS\nMonitor" #define TR_QM_STATS "Statistics" @@ -94,8 +86,8 @@ #define TR_MAIN_MENU_THEMES "ТЕМИ" #define TR_MAIN_MENU_APPS "Apps" #define TR_MENUHELISETUP "ГЕЛІКОПТЕР" -#define TR_MENUFLIGHTMODES TRSA("РЕЖИМИ ВОДІННЯ", "РЕЖИМИ ПОЛЬОТУ") -#define TR_MENUFLIGHTMODE TRSA("РЕЖИМ ВОДІННЯ", "РЕЖИМ ПОЛЬОТУ") +#define TR_MENUFLIGHTMODES TR_SFC_AIR("РЕЖИМИ ВОДІННЯ", "РЕЖИМИ ПОЛЬОТУ") +#define TR_MENUFLIGHTMODE TR_SFC_AIR("РЕЖИМ ВОДІННЯ", "РЕЖИМ ПОЛЬОТУ") #define TR_MENUINPUTS "ВХОДИ" #define TR_MENULIMITS "ВИХОДИ" #define TR_MENUCURVES "КРИВІ" @@ -120,53 +112,105 @@ #define TR_MINUTE_PLURAL1 "хв." #define TR_MINUTE_PLURAL2 "хв." -#define TR_OFFON "OFF","ON" /* use english */ -#define TR_MMMINV "---","інв." -#define TR_VBEEPMODE "Тиша","Тривога","Без кноп.","Все" -#define TR_VBLMODE "OFF","Кноп.",TR("Ctrl","Controls"),"Обоє","ON" -#define TR_TRNMODE "OFF",TR("+=","Дод."),TR(":=","Замін.") -#define TR_TRNCHN "CH1","CH2","CH3","CH4" /* use english */ - -#define TR_AUX_SERIAL_MODES "OFF","Дзерк. телем.","Вх. телем.","SBUS Трен.","LUA","CLI","GPS","Відлаг.","SpaceMouse","Зовн. модуль" /* for untranslated - use english */ -#if defined(FUNCTION_SWITCHES) -#define TR_SWTYPES "Немає","Перемик.","2поз. пер.","3поз. пер.","Global" -#else -#define TR_SWTYPES "Немає","Перемик.","2поз. пер.","3поз. пер." -#endif -#define TR_POTTYPES "Немає","Потенц.",TR("Пот. з крок.","Потенц. з кроком"),"Повзун.",TR("Баг.поз.пер.","Багатопозиц. перем."),"Вісь X","Вісь Y","Перемик." -#define TR_VPERSISTENT "OFF","Політ","Ручн. скид." /* for untranslated - use english */ -#define TR_COUNTRY_CODES TR("US","America"),TR("JP","Japan"),TR("EU","Europe") /* use english */ -#define TR_USBMODES "Вибір",TR("Джойст.","Джойстик"),TR("SD карт.","SD картка"),"Послід." /* for untranslated - use english */ -#define TR_JACK_MODES "Вибір","Аудіо","Трен." - -#define TR_SBUS_INVERSION_VALUES "норм.","не інверт." +#define TR_OFFON_1 "OFF" +#define TR_OFFON_2 "ON" +#define TR_MMMINV_1 "---" +#define TR_MMMINV_2 "інв." +#define TR_VBEEPMODE_1 "Тиша" +#define TR_VBEEPMODE_2 "Тривога" +#define TR_VBEEPMODE_3 "Без кноп." +#define TR_VBEEPMODE_4 "Все" +#define TR_VBLMODE_1 "OFF" +#define TR_VBLMODE_2 "Кноп." +#define TR_VBLMODE_3 TR("Ctrl","Controls") +#define TR_VBLMODE_4 "Обоє" +#define TR_VBLMODE_5 "ON" +#define TR_TRNMODE_1 "OFF" +#define TR_TRNMODE_2 TR("+=","Дод.") +#define TR_TRNMODE_3 TR(":=","Замін.") +#define TR_TRNCHN_1 "CH1" +#define TR_TRNCHN_2 "CH2" +#define TR_TRNCHN_3 "CH3" +#define TR_TRNCHN_4 "CH4" /* use english */ + +#define TR_AUX_SERIAL_MODES_1 "OFF" +#define TR_AUX_SERIAL_MODES_2 "Дзерк. телем." +#define TR_AUX_SERIAL_MODES_3 "Вх. телем." +#define TR_AUX_SERIAL_MODES_4 "SBUS Трен." +#define TR_AUX_SERIAL_MODES_5 "LUA" +#define TR_AUX_SERIAL_MODES_6 "CLI" +#define TR_AUX_SERIAL_MODES_7 "GPS" +#define TR_AUX_SERIAL_MODES_8 "Відлаг." +#define TR_AUX_SERIAL_MODES_9 "SpaceMouse" +#define TR_AUX_SERIAL_MODES_10 "Зовн. модуль" /* for untranslated - use english */ +#define TR_SWTYPES_1 "Немає" +#define TR_SWTYPES_2 "Перемик." +#define TR_SWTYPES_3 "2поз. пер." +#define TR_SWTYPES_4 "3поз. пер." +#define TR_SWTYPES_5 "Global" +#define TR_POTTYPES_1 "Немає" +#define TR_POTTYPES_2 "Потенц." +#define TR_POTTYPES_3 TR("Пот. з крок.","Потенц. з кроком") +#define TR_POTTYPES_4 "Повзун." +#define TR_POTTYPES_5 TR("Баг.поз.пер.","Багатопозиц. перем.") +#define TR_POTTYPES_6 "Вісь X" +#define TR_POTTYPES_7 "Вісь Y" +#define TR_POTTYPES_8 "Перемик." +#define TR_VPERSISTENT_1 "OFF" +#define TR_VPERSISTENT_2 "Політ" +#define TR_VPERSISTENT_3 "Ручн. скид." /* for untranslated - use english */ +#define TR_COUNTRY_CODES_1 TR("US","America") +#define TR_COUNTRY_CODES_2 TR("JP","Japan") +#define TR_COUNTRY_CODES_3 TR("EU","Europe") /* use english */ +#define TR_USBMODES_1 "Вибір" +#define TR_USBMODES_2 TR("Джойст.","Джойстик") +#define TR_USBMODES_3 TR("SD карт.","SD картка") +#define TR_USBMODES_4 "Послід." /* for untranslated - use english */ +#define TR_JACK_MODES_1 "Вибір" +#define TR_JACK_MODES_2 "Аудіо" +#define TR_JACK_MODES_3 "Трен." + +#define TR_SBUS_INVERSION_VALUES_1 "норм." +#define TR_SBUS_INVERSION_VALUES_2 "не інверт." #define TR_MULTI_CUSTOM "Налаштований" -#define TR_VTRIMINC TR("Експо","Експоненц."),TR("Наддрібн.","Над дрібно"),"Дрібно","Середньо","Грубо" -#define TR_VDISPLAYTRIMS "Немає","Змін.","Так" -#define TR_VBEEPCOUNTDOWN "Тихо","Сигн.","Голос","Вібро",TR("С & В","Сигн. & Вібро"),TR("Г & В","Голос & Вібро") -#define TR_COUNTDOWNVALUES "5с","10с","20с","30с" -#define TR_VVARIOCENTER "Тон","Тиша" -#define TR_CURVE_TYPES "Стандарт","Вибір" - -#define TR_ADCFILTERVALUES "Global","Off","On" /* use english */ - -#define TR_VCURVETYPE "Різн","Експо","Функц.","Корист." -#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|" -#define TR_VMLTPX "Дод.","Множ.","Замін." -#define TR_VMLTPX2 "+=","*=",":=" - -#if LCD_W >= 212 - #define TR_CSWTIMER "Таймер" - #define TR_CSWSTICKY "Липучка" - #define TR_CSWSTAY "Край" -#else - #define TR_CSWTIMER "Тмр" - #define TR_CSWSTICKY "Лип." - #define TR_CSWSTAY "Край" -#endif - -#define TR_CSWEQUAL "a=x" -#define TR_VCSWFUNC "---",TR_CSWEQUAL,"a" STR_CHAR_TILDE "x","a>x","ax","|a|b","a= 212 - #define TR_SF_SAFETY "Перевизнач." -#else - #define TR_SF_SAFETY "Перевизн." -#endif +#define TR_SF_SAFETY TR("Перевизн.", "Перевизнач.") #define TR_SF_SCREENSHOT "Скріншот" #define TR_SF_RACING_MODE "Режим перегонів" #define TR_SF_DISABLE_TOUCH "Сенсор вимк." #define TR_SF_DISABLE_AUDIO_AMP "Підсил. вимк." -#define TR_SF_SET_SCREEN "Вибір гол. екр." -#define TR_SF_SET_TELEMSCREEN "Set Screen" +#define TR_SF_SET_SCREEN TR_BW_COL("Set Screen", "Вибір гол. екр.") #define TR_SF_PUSH_CUST_SWITCH "Push CS" #define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Телем", "Телеметрія") #define TR_FSW_RESET_TRIMS "Trims" -#define TR_FSW_RESET_TIMERS "Тмр1","Тмр2","Тмр3" - -#define TR_VFSWRESET TR_FSW_RESET_TIMERS,TR("Все","Політ"),TR_FSW_RESET_TELEM,TR_FSW_RESET_TRIMS - -#define TR_FUNCSOUNDS TR("Сг1","Синг.1"),TR("Сг2","Синг.2"),TR("Сг3","Синг.3"),TR("Wrn1","Warn1"),TR("Wrn2","Warn2"),TR("Chee","Cheep"),TR("Rata","Ratata"),"Tick",TR("Sirn","Siren"),"Ring",TR("SciF","SciFi"),TR("Robt","Robot"),TR("Chrp","Chirp"),"Tada",TR("Crck","Crickt"),TR("Alrm","AlmClk") +#define TR_FSW_RESET_TIMERS_1 "Тмр1" +#define TR_FSW_RESET_TIMERS_2 "Тмр2" +#define TR_FSW_RESET_TIMERS_3 "Тмр3" + +#define TR_VFSWRESET_1 TR_FSW_RESET_TIMERS_1 +#define TR_VFSWRESET_2 TR_FSW_RESET_TIMERS_2 +#define TR_VFSWRESET_3 TR_FSW_RESET_TIMERS_3 +#define TR_VFSWRESET_4 TR("Все","Політ") +#define TR_VFSWRESET_5 TR_FSW_RESET_TELEM +#define TR_VFSWRESET_6 TR_FSW_RESET_TRIMS + +#define TR_FUNCSOUNDS_1 TR("Сг1","Синг.1") +#define TR_FUNCSOUNDS_2 TR("Сг2","Синг.2") +#define TR_FUNCSOUNDS_3 TR("Сг3","Синг.3") +#define TR_FUNCSOUNDS_4 TR("Wrn1","Warn1") +#define TR_FUNCSOUNDS_5 TR("Wrn2","Warn2") +#define TR_FUNCSOUNDS_6 TR("Chee","Cheep") +#define TR_FUNCSOUNDS_7 TR("Rata","Ratata") +#define TR_FUNCSOUNDS_8 "Tick" +#define TR_FUNCSOUNDS_9 TR("Sirn","Siren") +#define TR_FUNCSOUNDS_10 "Ring" +#define TR_FUNCSOUNDS_11 TR("SciF","SciFi") +#define TR_FUNCSOUNDS_12 TR("Robt","Robot") +#define TR_FUNCSOUNDS_13 TR("Chrp","Chirp") +#define TR_FUNCSOUNDS_14 "Tada" +#define TR_FUNCSOUNDS_15 TR("Crck","Crickt") +#define TR_FUNCSOUNDS_16 TR("Alrm","AlmClk") #define LENGTH_UNIT_IMP "ft" #define SPEED_UNIT_IMP "mph" #define LENGTH_UNIT_METR "m" #define SPEED_UNIT_METR "kmh" -#define TR_VUNITSSYSTEM "Metric",TR("Imper.","Imperial") /* use english */ -#define TR_VTELEMUNIT "-","V","A","mA","вузл.","m/s","f/s","kmh","mph","m","ft","°C","°F","%","mAh","W","mW","dB","rpm","g","°","rad","ml","fOz","mm","Hz","ms","us","km","dBm" /* for untranslated - use english */ - -#define STR_V (STR_VTELEMUNIT[1]) -#define STR_A (STR_VTELEMUNIT[2]) - -#define TR_VTELEMSCREENTYPE "Немає","Цифри","Граф","Скрипт" -#define TR_GPSFORMAT "DMS","NMEA" - - -#define TR_VSWASHTYPE "---","120","120X","140","90" +#define TR_VUNITSSYSTEM_1 "Metric" +#define TR_VUNITSSYSTEM_2 TR("Imper.","Imperial") +#define TR_VTELEMUNIT_1 "-" +#define TR_VTELEMUNIT_2 "V" +#define TR_VTELEMUNIT_3 "A" +#define TR_VTELEMUNIT_4 "mA" +#define TR_VTELEMUNIT_5 "вузл." +#define TR_VTELEMUNIT_6 "m/s" +#define TR_VTELEMUNIT_7 "f/s" +#define TR_VTELEMUNIT_8 "kmh" +#define TR_VTELEMUNIT_9 "mph" +#define TR_VTELEMUNIT_10 "m" +#define TR_VTELEMUNIT_11 "ft" +#define TR_VTELEMUNIT_12 "°C" +#define TR_VTELEMUNIT_13 "°F" +#define TR_VTELEMUNIT_14 "%" +#define TR_VTELEMUNIT_15 "mAh" +#define TR_VTELEMUNIT_16 "W" +#define TR_VTELEMUNIT_17 "mW" +#define TR_VTELEMUNIT_18 "dB" +#define TR_VTELEMUNIT_19 "rpm" +#define TR_VTELEMUNIT_20 "rpm" +#define TR_VTELEMUNIT_21 "°" +#define TR_VTELEMUNIT_22 "rad" +#define TR_VTELEMUNIT_23 "ml" +#define TR_VTELEMUNIT_24 "fOz" +#define TR_VTELEMUNIT_25 "mm" +#define TR_VTELEMUNIT_26 "Hz" +#define TR_VTELEMUNIT_27 "ms" +#define TR_VTELEMUNIT_28 "us" +#define TR_VTELEMUNIT_29 "km" +#define TR_VTELEMUNIT_30 "dBm" /* for untranslated - use english */ + +#define TR_VTELEMSCREENTYPE_1 "Немає" +#define TR_VTELEMSCREENTYPE_2 "Цифри" +#define TR_VTELEMSCREENTYPE_3 "Граф" +#define TR_VTELEMSCREENTYPE_4 "Скрипт" +#define TR_GPSFORMAT_1 "DMS" +#define TR_GPSFORMAT_2 "NMEA" + + +#define TR_VSWASHTYPE_1 "---" +#define TR_VSWASHTYPE_2 "120" +#define TR_VSWASHTYPE_3 "120X" +#define TR_VSWASHTYPE_4 "140" +#define TR_VSWASHTYPE_5 "90" #define TR_STICK_NAMES0 "Rud" #define TR_STICK_NAMES1 "Ele" @@ -238,18 +334,20 @@ #define TR_SURFACE_NAMES0 "ST" #define TR_SURFACE_NAMES1 "TH" -#if defined(PCBPL18) -#define TR_RFPOWER_AFHDS2 "За Замовч.","Високий" -#endif +#define TR_RFPOWER_AFHDS2_1 "За Замовч." +#define TR_RFPOWER_AFHDS2_2 "Високий" #define TR_ROTARY_ENCODERS #define TR_ROTENC_SWITCHES -#define TR_ON_ONE_SWITCHES "ON","Один" /* for untranslated - use english */ +#define TR_ON_ONE_SWITCHES_1 "ON" +#define TR_ON_ONE_SWITCHES_2 "Один" -#if defined(USE_HATS_AS_KEYS) #define TR_HATSMODE "Hats mode" /* use english */ -#define TR_HATSOPT "Тільки Трим.","Тільки Кнопки","Перемик.","Global" /* for untranslated - use english */ +#define TR_HATSOPT_1 "Тільки Трим." +#define TR_HATSOPT_2 "Тільки Кнопки" +#define TR_HATSOPT_3 "Перемик." +#define TR_HATSOPT_4 "Global" /* for untranslated - use english */ #define TR_HATSMODE_TRIMS "Hats mode: Трим." #define TR_HATSMODE_KEYS "Hats mode: Кнопки" #define TR_HATSMODE_KEYS_HELP "Ліва сторона:\n"\ @@ -262,79 +360,86 @@ " Праворуч = PAGE>\n"\ " Вгору = PREV/INC\n"\ " Вниз = NEXT/DEC" -#endif - -#if defined(COLORLCD) - #define TR_ROTARY_ENC_OPT "Норм","Інверт." -#else - #define TR_ROTARY_ENC_OPT "Норм","Інверт.","V-I H-N","V-I H-A" -#endif -#if defined(IMU) - #define TR_IMU_VSRCRAW "TltX","TltY", -#else - #define TR_IMU_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1","CYC2","CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" -#endif +#define TR_ROTARY_ENC_OPT_1 "Норм" +#define TR_ROTARY_ENC_OPT_2 "Інверт." +#define TR_ROTARY_ENC_OPT_3 "V-I H-N" +#define TR_ROTARY_ENC_OPT_4 "V-I H-A" +#define TR_ROTARY_ENC_OPT_5 "V-N E-I" +#define TR_IMU_VSRCRAW_1 "TltX" +#define TR_IMU_VSRCRAW_2 "TltY" +#define TR_CYC_VSRCRAW_1 "CYC1" +#define TR_CYC_VSRCRAW_2 "CYC2" +#define TR_CYC_VSRCRAW_3 "CYC3" #define TR_SRC_BATT "Batt" /* use english */ #define TR_SRC_TIME "Час" #define TR_SRC_GPS "GPS" /* use english */ #define TR_SRC_TIMER "Тмр" -#define TR_VTMRMODES "OFF","ON","Strt","THs","TH%","THt" /* use english */ +#define TR_VTMRMODES_1 "OFF" +#define TR_VTMRMODES_2 "ON" +#define TR_VTMRMODES_3 "Strt" +#define TR_VTMRMODES_4 "THs" +#define TR_VTMRMODES_5 "TH%" +#define TR_VTMRMODES_6 "THt" /* use english */ #define TR_VTRAINER_MASTER_OFF "OFF" #define TR_VTRAINER_MASTER_JACK "Майстер/Розн." #define TR_VTRAINER_SLAVE_JACK "Слейв/Розн." #define TR_VTRAINER_MASTER_SBUS_MODULE "Майстер/SBUS Модуль" #define TR_VTRAINER_MASTER_CPPM_MODULE "Майстер/CPPM Модуль" #define TR_VTRAINER_MASTER_BATTERY "Майстер/Послід." -#define TR_VTRAINER_BLUETOOTH "Майстер/" TR("BT","Bluetooth"), "Слейв/" TR("BT","Bluetooth") /* for untranslated - use english */ +#define TR_VTRAINER_BLUETOOTH_1 "Майстер/" TR("BT","Bluetooth") +#define TR_VTRAINER_BLUETOOTH_2 "Слейв/" TR("BT","Bluetooth") #define TR_VTRAINER_MULTI "Майстер/Мульти" #define TR_VTRAINER_CRSF "Майстер/CRSF" -#define TR_VFAILSAFE "Не встан.","Тримай","Корист.","Немає імпульсу","Приймач" -#define TR_VSENSORTYPES "Корист.","Обчислено" -#define TR_VFORMULAS "Дод.","Середн.","Min","Max","Множ.","Сума","Комірка","Витрата","Дистанц." -#define TR_VPREC "0.--","0.0 ","0.00" -#define TR_VCELLINDEX "Нижн.","1","2","3","4","5","6","7","8","Вищ.","Різниця" -#define TR_SUBTRIMMODES STR_CHAR_DELTA " (лише центр)","= (симетричн.)" -#define TR_TIMER_DIR TR("Залиш.", "Показ.Залиш"), TR("Пройш.", "Пройшло") -#define TR_PPMUNIT "0.--","0.0","us" - -#if defined(COLORLCD) -#if defined(BOLD) -#define TR_FONT_SIZES "Стд" -#else -#define TR_FONT_SIZES "Стд","Жирн.","XXS","XS","L","XL","XXL" -#endif -#endif - -#if defined(PCBPL18) - #define TR_ENTER "[NEXT]" -#else - #define TR_ENTER_LONG "[ENTER LONG]" - #define TR_ENTER "[ENTER]" -#endif - -#if defined(COLORLCD) - #define TR_EXIT "Поверн." - #define TR_OK TR_ENTER -#else - #define TR_EXIT "ВИХІД" - #define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010" "\010" "\010" "\010" "[OK]") -#endif - -#if defined(PCBTARANIS) - #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) -#else - #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT -#endif +#define TR_VFAILSAFE_1 "Не встан." +#define TR_VFAILSAFE_2 "Тримай" +#define TR_VFAILSAFE_3 "Корист." +#define TR_VFAILSAFE_4 "Немає імпульсу" +#define TR_VFAILSAFE_5 "Приймач" +#define TR_VSENSORTYPES_1 "Корист." +#define TR_VSENSORTYPES_2 "Обчислено" +#define TR_VFORMULAS_1 "Дод." +#define TR_VFORMULAS_2 "Середн." +#define TR_VFORMULAS_3 "Min" +#define TR_VFORMULAS_4 "Max" +#define TR_VFORMULAS_5 "Множ." +#define TR_VFORMULAS_6 "Сума" +#define TR_VFORMULAS_7 "Комірка" +#define TR_VFORMULAS_8 "Витрата" +#define TR_VFORMULAS_9 "Дистанц." +#define TR_VPREC_1 "0.--" +#define TR_VPREC_2 "0.0 " +#define TR_VPREC_3 "0.00" +#define TR_VCELLINDEX_1 "Нижн." +#define TR_VCELLINDEX_2 "1" +#define TR_VCELLINDEX_3 "2" +#define TR_VCELLINDEX_4 "3" +#define TR_VCELLINDEX_5 "4" +#define TR_VCELLINDEX_6 "5" +#define TR_VCELLINDEX_7 "6" +#define TR_VCELLINDEX_8 "7" +#define TR_VCELLINDEX_9 "8" +#define TR_VCELLINDEX_10 "Вищ." +#define TR_VCELLINDEX_11 "Різниця" +#define TR_SUBTRIMMODES_1 STR_CHAR_DELTA " (лише центр)" +#define TR_SUBTRIMMODES_2 "= (симетричн.)" +#define TR_TIMER_DIR_1 TR("Залиш.", "Показ.Залиш") +#define TR_TIMER_DIR_2 TR("Пройш.", "Пройшло") + +#define TR_FONT_SIZES_1 "Стд" +#define TR_FONT_SIZES_2 "Жирн." +#define TR_FONT_SIZES_3 "XXS" +#define TR_FONT_SIZES_4 "XS" +#define TR_FONT_SIZES_5 "L" +#define TR_FONT_SIZES_6 "XL" +#define TR_FONT_SIZES_7 "XXL" + +#define TR_ENTER "[ENTER]" +#define TR_OK TR_BW_COL(TR("\010\010\010[OK]", "\010\010\010\010\010[OK]"), "Ok") +#define TR_EXIT TR_BW_COL("ВИХІД", "Поверн.") #define TR_FREE "Вільн." #define TR_YES "Yes" /* use english */ @@ -368,11 +473,19 @@ #define TR_PROTOCOL TR("Проток.", "Протокол") #define TR_PPMFRAME "PPM прийм" #define TR_REFRESHRATE TR("Оновл.", "Частота оновлення") -#define STR_WARN_BATTVOLTAGE TR("Вихід VBAT: ", "Warning: вихідний рівень VBAT: ") /* for untranslated - use english */ +#define TR_WARN_BATTVOLTAGE TR("Вихід VBAT: ", "Warning: вихідний рівень VBAT: ") /* for untranslated - use english */ #define TR_WARN_5VOLTS "Warning: вихідний рівень 5 вольт" #define TR_MS "ms" #define TR_SWITCH "Перемикач" -#define TR_FS_COLOR_LIST "Custom","Off","White","Red","Green","Yellow","Orange","Blue","Pink" +#define TR_FS_COLOR_LIST_1 "Custom" +#define TR_FS_COLOR_LIST_2 "Off" +#define TR_FS_COLOR_LIST_3 "White" +#define TR_FS_COLOR_LIST_4 "Red" +#define TR_FS_COLOR_LIST_5 "Green" +#define TR_FS_COLOR_LIST_6 "Yellow" +#define TR_FS_COLOR_LIST_7 "Orange" +#define TR_FS_COLOR_LIST_8 "Blue" +#define TR_FS_COLOR_LIST_9 "Pink" #define TR_GROUP "Group" #define TR_GROUP_ALWAYS_ON "Always on" #define TR_LUA_OVERRIDE "Allow Lua override" @@ -382,28 +495,19 @@ #define TR_SWITCH_TYPE "Type" #define TR_SWITCH_STARTUP "Startup" #define TR_SWITCH_GROUP "Group" -#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" #define TR_SF_SWITCH "Тригери" #define TR_TRIMS "Трим." #define TR_FADEIN "Вх.Згасання" #define TR_FADEOUT "Вих.Згасання" #define TR_DEFAULT "(замовч.)" -#if defined(COLORLCD) - #define TR_CHECKTRIMS "Перевірка FM трим." -#else - #define TR_CHECKTRIMS "\006Перев.\012трим." -#endif +#define TR_CHECKTRIMS TR_BW_COL("\006Перев.\012трим.", "Перевірка FM трим.") #define TR_SWASHTYPE "Тип перекосу" #define TR_COLLECTIVE TR("Колективний", "Колективне джерело тону") #define TR_AILERON TR("Крен", "Крен") #define TR_ELEVATOR TR("Тангаж", "Тангаж") #define TR_SWASHRING "Поворот" #define TR_MODE "Режим" -#if !NARROW_LAYOUT - #define TR_LEFT_STICK "Ліво" -#else - #define TR_LEFT_STICK "Ліво" -#endif +#define TR_LEFT_STICK "Ліво" #define TR_SUBTYPE "Підтип" #define TR_NOFREEEXPO "Немає вільного expo!" #define TR_NOFREEMIXER "Немає вільного мікшеру!" @@ -426,11 +530,7 @@ #define TR_SLOWDOWN TR("Пов.", "Повільно") /*need to be clarified by context*/ #define TR_SLOWUP "Повільно" #define TR_CV "CV" -#if defined(PCBPL18) - #define TR_GV "GV" -#else - #define TR_GV TR("G", "GV") -#endif +#define TR_GV TR("G", "GV") #define TR_RANGE "Діапаз." #define TR_CENTER "Центр" #define TR_ALARM "Тривога" @@ -499,20 +599,15 @@ #define TR_MODESRC "Mode\006% Source" /* use english */ #define TR_MULTIPLIER "Множник" #define TR_CAL "Калібрув." -#define TR_CALIBRATION "Калібрув." +#define TR_CALIBRATION BUTTON("Калібрув.") #define TR_VTRIM "Трим - +" #define TR_CALIB_DONE "Калібрування завершене" -#if defined(COLORLCD) - #define TR_SETMIDPOINT "ЦЕНТРУВАТИ ВАЖЕЛІ/ПОВЗУНКИ" - #define TR_MOVESTICKSPOTS "РУХАЙТЕ ВІСІ/ПОТЕНЦ." -#else - #define TR_MENUTOSTART TR_ENTER " ДЛЯ СТАРТУ" - #define TR_SETMIDPOINT TRSA("ВІДЦЕНТР. ПОТЕНЦ.", TR("ВІДЦЕНТР. ВІСІ", "ВІДЦЕНТР. ВІСІ/ПОВЗУНКИ")) - #define TR_MOVESTICKSPOTS TRSA("РУХАЙТЕ ST/TH/ПОТЕНЦ./ВІСІ", "РУХАЙТЕ ВІСІ/ПОТЕНЦ.") - #define TR_MENUWHENDONE TR_ENTER " КОЛИ ЗАКІНЧЕНО" +#define TR_MENUTOSTART TR_ENTER " ДЛЯ СТАРТУ" +#define TR_MENUWHENDONE TR_ENTER " КОЛИ ЗАКІНЧЕНО" #define TR_AXISDIR "AXIS DIR" -#define TR_MENUAXISDIR TR_ENTER_LONG " " TR_AXISDIR -#endif +#define TR_MENUAXISDIR "[ENTER LONG] " TR_AXISDIR +#define TR_SETMIDPOINT TR_BW_COL(TR_SFC_AIR("ВІДЦЕНТР. ПОТЕНЦ.", TR("ВІДЦЕНТР. ВІСІ", "ВІДЦЕНТР. ВІСІ/ПОВЗУНКИ")), "ЦЕНТРУВАТИ ВАЖЕЛІ/ПОВЗУНКИ") +#define TR_MOVESTICKSPOTS TR_BW_COL(TR_SFC_AIR("РУХАЙТЕ ST/TH/ПОТЕНЦ./ВІСІ", "РУХАЙТЕ ВІСІ/ПОТЕНЦ."), "РУХАЙТЕ ВІСІ/ПОТЕНЦ.") #define TR_NODATA "НЕМАЄ ДАНИХ" #define TR_US "us" #define TR_HZ "Hz" @@ -542,7 +637,7 @@ #define TR_PPM_TRAINER "TR" /* use english */ #define TR_CH "CH" /* use english */ #define TR_MODEL "МОДЕЛЬ" -#define TR_FM TRSA("DM", "FM") +#define TR_FM TR_SFC_AIR("DM", "FM") #define TR_EEPROMLOWMEM "мало пам'яті EEPROM" #define TR_PRESS_ANY_KEY_TO_SKIP "Натисн. кнопку щоб пропустити" #define TR_THROTTLE_NOT_IDLE "Газ не вільний" @@ -561,11 +656,7 @@ #define TR_MENU_RADIO_ANALOGS_CALIB "АНАЛОГИ ВІДКАЛІБРОВАНІ" #define TR_MENU_RADIO_ANALOGS_RAWLOWFPS "НЕОБРОБЛЕНІ АНАЛОГИ (5 Hz)" #define TR_MENU_FSWITCH "КОРИСТУВАЦЬКІ ПЕРЕМИКАЧІ" -#if defined(COLORLCD) - #define TR_TRIMS2OFFSETS "Трим => Субтрим" -#else - #define TR_TRIMS2OFFSETS "\006Трим => Субтрим" -#endif +#define TR_TRIMS2OFFSETS TR_BW_COL("\006Трим => Субтрим", "Трим => Субтрим") #define TR_CHANNELS2FAILSAFE "Канали=>АварРежим" #define TR_CHANNEL2FAILSAFE "Канал=>АварРежим" #define TR_MENUMODELSEL "ВИБІР МОДЕЛІ" @@ -671,7 +762,7 @@ #define TR_NO_TOOLS "Немає інструментів" #define TR_NORMAL "Нормально" #define TR_NOT_INVERTED "Не інв." -#define TR_NOT_CONNECTED TR("Не з'єдн.", "Не з'єднано"); +#define TR_NOT_CONNECTED TR("Не з'єдн.", "Не з'єднано") #define TR_CONNECTED "З'єднано" #define TR_FLEX_915 "Flex 915MHz" #define TR_FLEX_868 "Flex 868MHz" @@ -682,7 +773,7 @@ #define TR_PIN "Pin" #define TR_UPDATE_RX_OPTIONS "Оновити опції RX?" #define TR_UPDATE_TX_OPTIONS "Оновити опції TX?" -#define TR_MODULES_RX_VERSION "Модулі / RX версії" +#define TR_MODULES_RX_VERSION BUTTON("Модулі / RX версії") #define TR_SHOW_MIXER_MONITORS "Показати монітори мікшеру" #define TR_MENU_MODULES_RX_VERSION "МОДУЛІ / RX ВЕРСІЇ" #define TR_MENU_FIRM_OPTIONS "FIRMWARE ОПЦІЇ" @@ -702,11 +793,7 @@ #define TR_GPS_MODEL_LOCATOR "GPS model locator" #define TR_REFRESH "Refresh" #define TR_SDCARD_FULL "SD карта повна" -#if defined(COLORLCD) -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\nЛоги і скріншоти вимкнені" -#else -#define TR_SDCARD_FULL_EXT TR_SDCARD_FULL "\036Логи і скріншоти" LCDW_128_LINEBREAK "вимкнені" -#endif +#define TR_SDCARD_FULL_EXT TR_BW_COL(TR_SDCARD_FULL "\036Логи і скріншоти" LCDW_128_LINEBREAK "вимкнені", TR_SDCARD_FULL "\nЛоги і скріншоти вимкнені") #define TR_NEEDS_FILE "ПОТРІБЕН ФАЙЛ" #define TR_EXT_MULTI_SPEC "opentx-inv" /*need to be clarified by context*/ #define TR_INT_MULTI_SPEC "stm-opentx-noinv" /*need to be clarified by context*/ @@ -765,7 +852,8 @@ #define TR_CRSF_ARMING_MODE "Arm using" #define TR_CRSF_ARMING_MODES TR_CH"5", TR_SWITCH #define TR_SAMPLE_MODE TR("Вибірка","Режим вибірки") -#define TR_SAMPLE_MODES "Нормальний","OneBit" +#define TR_SAMPLE_MODES_1 "Нормальний" +#define TR_SAMPLE_MODES_2 "OneBit" #define TR_LOADING "Завантаження..." #define TR_DELETE_THEME "Видалити тему?" #define TR_SAVE_THEME "Зберегти тему?" @@ -773,15 +861,16 @@ #define TR_NO_THEME_IMAGE "Немає зображення теми" #define TR_BACKLIGHT_TIMER "Час бездіяльності" -#if defined(COLORLCD) - #define TR_MODEL_QUICK_SELECT "Швидкий вибір моделі" - #define TR_LABELS_SELECT "Вибір мітки" - #define TR_LABELS_MATCH "Співпад. мітки" - #define TR_FAV_MATCH "Співпад. улюблен." - #define TR_LABELS_SELECT_MODE "Вибір багат.","Вибір одного" - #define TR_LABELS_MATCH_MODE "Співпад. усіх","Співпад. одного" - #define TR_FAV_MATCH_MODE "Обов'язк. співпад.","Необов'язк. співпад." -#endif +#define TR_MODEL_QUICK_SELECT "Швидкий вибір моделі" +#define TR_LABELS_SELECT "Вибір мітки" +#define TR_LABELS_MATCH "Співпад. мітки" +#define TR_FAV_MATCH "Співпад. улюблен." +#define TR_LABELS_SELECT_MODE_1 "Вибір багат." +#define TR_LABELS_SELECT_MODE_2 "Вибір одного" +#define TR_LABELS_MATCH_MODE_1 "Співпад. усіх" +#define TR_LABELS_MATCH_MODE_2 "Співпад. одного" +#define TR_FAV_MATCH_MODE_1 "Обов'язк. співпад." +#define TR_FAV_MATCH_MODE_2 "Необов'язк. співпад." #define TR_SELECT_TEMPLATE_FOLDER "Обрати теку моделі" #define TR_SELECT_TEMPLATE "ОБЕРІТЬ ШАБЛОН МОДЕЛІ:" @@ -801,11 +890,10 @@ #define TR_BLUETOOTH_NODEVICES "Пристрій Не Знайдено" #define TR_BLUETOOTH_SCANNING "Сканування..." #define TR_BLUETOOTH_BAUDRATE "Швидкість BT" -#if defined(PCBX9E) -#define TR_BLUETOOTH_MODES "---","Активовано" -#else -#define TR_BLUETOOTH_MODES "---","Телеметрія","Тренер" -#endif +#define TR_BLUETOOTH_MODES_1 "---" +#define TR_BLUETOOTH_MODES_2 "Телеметрія" +#define TR_BLUETOOTH_MODES_3 "Тренер" +#define TR_BLUETOOTH_MODES_4 "Активовано" #define TR_SD_INFO_TITLE "SD інфо" #define TR_SD_SPEED "Швидкість:" @@ -816,7 +904,18 @@ #define TR_GLOBAL_VAR "Глобальні змінні" #define TR_OWN "Свій" #define TR_DATE "Дата" -#define TR_MONTHS "Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру" +#define TR_MONTHS_1 "Січ" +#define TR_MONTHS_2 "Лют" +#define TR_MONTHS_3 "Бер" +#define TR_MONTHS_4 "Кві" +#define TR_MONTHS_5 "Тра" +#define TR_MONTHS_6 "Чер" +#define TR_MONTHS_7 "Лип" +#define TR_MONTHS_8 "Сер" +#define TR_MONTHS_9 "Вер" +#define TR_MONTHS_10 "Жов" +#define TR_MONTHS_11 "Лис" +#define TR_MONTHS_12 "Гру" #define TR_ROTARY_ENCODER "R.E." #define TR_ROTARY_ENC_MODE TR("Режим енкодера","Режим обертального енкодера") #define TR_CHANNELS_MONITOR "МОНІТОР КАНАЛІВ" @@ -921,14 +1020,14 @@ #define TR_PXX2_SELECT_RX "Оберіть RX" #define TR_PXX2_DEFAULT "<замовч>" #define TR_BT_SELECT_DEVICE "Оберіть пристрій" -#define TR_DISCOVER "Виявити" +#define TR_DISCOVER BUTTON("Виявити") #define TR_BUTTON_INIT BUTTON("Запуск") #define TR_WAITING "Очікуємо..." #define TR_RECEIVER_DELETE "Видалити приймач?" #define TR_RECEIVER_RESET "Скинути приймач?" #define TR_SHARE "Поділитися" #define TR_BIND "Прив'язати" -#define TR_REGISTER TR("Регі.", "Регістр") +#define TR_REGISTER BUTTON(TR("Регі.", "Регістр")) #define TR_MODULE_RANGE BUTTON(TR("Діап.", "Діапазон")) #define TR_RANGE_TEST "Тест діапазону" #define TR_RECEIVER_OPTIONS TR("ОПЦІЇ ПРМ.", "ОПЦІЇ ПРИЙМАЧА") @@ -959,11 +1058,11 @@ #define TR_TELEMETRY_NEWSENSOR "Додати новий" #define TR_CHANNELRANGE TR("Діап. каналів", "Діапазон каналів") #define TR_ANTENNACONFIRM1 "ЗОВН. АНТЕНА" -#if defined(PCBX12S) - #define TR_ANTENNA_MODES "Внутрішній","Запит","На модель","Внутрійшній + Зовнішній" -#else - #define TR_ANTENNA_MODES "Внутрішній","Запит","На модель","Зовнішній" -#endif +#define TR_ANTENNA_MODES_1 "Внутрішній" +#define TR_ANTENNA_MODES_2 "Запит" +#define TR_ANTENNA_MODES_3 "На модель" +#define TR_ANTENNA_MODES_4 "Внутрійшній + Зовнішній" +#define TR_ANTENNA_MODES_5 "Зовнішній" #define TR_USE_INTERNAL_ANTENNA TR("Вик. внурт. антену", "Використай внутрішню антену") #define TR_USE_EXTERNAL_ANTENNA TR("Вик. зовн. антену", "Використай зовнішню антену") #define TR_ANTENNACONFIRM2 TR("Перевір антену", "Впевнись, що антену встановлено!") @@ -980,7 +1079,7 @@ #define TR_CURVE_PRESET "Передвстановлення..." #define TR_PRESET "Передвстановлення" #define TR_MIRROR "Дзеркало" -#define TR_CLEAR "Очистити" +#define TR_CLEAR BUTTON("Очистити") #define TR_RESET "Скидання" #define TR_RESET_SUBMENU "Скидання..." #define TR_COUNT "Кількість" @@ -995,7 +1094,9 @@ #define TR_MIXSOURCE "Джерело (%)" #define TR_MIXSOURCERAW "Джерело (Значення)" #define TR_CONSTANT "Постійна" -#define TR_PREFLIGHT_POTSLIDER_CHECK "OFF","ON","AUTO" +#define TR_PREFLIGHT_POTSLIDER_CHECK_1 "OFF" +#define TR_PREFLIGHT_POTSLIDER_CHECK_2 "ON" +#define TR_PREFLIGHT_POTSLIDER_CHECK_3 "AUTO" #define TR_PREFLIGHT "Стартові перевірки" #define TR_CHECKLIST TR("Чекліст", "Чекліст Дисплею") #define TR_CHECKLIST_INTERACTIVE TR3("Інт. спис.", "Інтеракт. список", "Інтерактивний список") @@ -1010,7 +1111,8 @@ #define TR_CONFIRMRESET TR("Стерти все", "Стерти налаштування всіх моделей?") #define TR_TOO_MANY_LUA_SCRIPTS "Забагато Lua скриптів!" #define TR_SPORT_UPDATE_POWER_MODE "Режим живлення SP" -#define TR_SPORT_UPDATE_POWER_MODES "AUTO","ON" +#define TR_SPORT_UPDATE_POWER_MODES_1 "AUTO" +#define TR_SPORT_UPDATE_POWER_MODES_2 "ON" #define TR_NO_TELEMETRY_SCREENS "Екрани Телеметрії Відсутні" #define TR_TOUCH_PANEL "Сенсорна панель:" #define TR_FILE_SIZE "Розмір файлу" @@ -1038,36 +1140,33 @@ #define TR_LIMITS_HEADERS_SUBTRIMMODE "Режим субтрим" #define TR_INVERTED "Інверс." - -#define TR_LSW_DESCRIPTIONS "Порівняння типу функції", "Перша змінна", "Друга змінна або постійна", "Друга змінна або постійна", "Додаткова умова для активації лінії", "Мінімальна тривалість ON для логічного перемикача", "Мінімальна тривалість TRUE для перемикача, що стає ON" - -#if defined(COLORLCD) - // Horus layouts and widgets - #define TR_FIRST_CHANNEL "Перший канал" - #define TR_FILL_BACKGROUND "Заповнити фон?" - #define TR_BG_COLOR "Колір фону" - #define TR_SLIDERS_TRIMS "Повзунки+трими" - #define TR_SLIDERS "Повзунки" - #define TR_FLIGHT_MODE "Режим польоту" - #define TR_INVALID_FILE "Невірний файл" - #define TR_TIMER_SOURCE "Джерело таймеру" - #define TR_SIZE "Розмір" - #define TR_SHADOW "Тінь" - #define TR_ALIGNMENT "Вирівнювання" - #define TR_ALIGN_LABEL "Вирівняти мітку" - #define TR_ALIGN_VALUE "Вирівняти значення" - #define TR_ALIGN_OPTS "Ліво", "Центр", "Право" - #define TR_TEXT "Текст" - #define TR_COLOR "Колір" - #define TR_PANEL1_BACKGROUND "Панель1 фон" - #define TR_PANEL2_BACKGROUND "Панель2 фон" - #define TR_WIDGET_GAUGE "Шкала" - #define TR_WIDGET_MODELBMP "Інфо про модель" - #define TR_WIDGET_OUTPUTS "Виходи" - #define TR_WIDGET_TEXT "Текст" - #define TR_WIDGET_TIMER "Таймер" - #define TR_WIDGET_VALUE "Значення" -#endif +// Horus layouts and widgets +#define TR_FIRST_CHANNEL "Перший канал" +#define TR_FILL_BACKGROUND "Заповнити фон?" +#define TR_BG_COLOR "Колір фону" +#define TR_SLIDERS_TRIMS "Повзунки+трими" +#define TR_SLIDERS "Повзунки" +#define TR_FLIGHT_MODE "Режим польоту" +#define TR_INVALID_FILE "Невірний файл" +#define TR_TIMER_SOURCE "Джерело таймеру" +#define TR_SIZE "Розмір" +#define TR_SHADOW "Тінь" +#define TR_ALIGNMENT "Вирівнювання" +#define TR_ALIGN_LABEL "Вирівняти мітку" +#define TR_ALIGN_VALUE "Вирівняти значення" +#define TR_ALIGN_OPTS_1 "Ліво" +#define TR_ALIGN_OPTS_2 "Центр" +#define TR_ALIGN_OPTS_3 "Право" +#define TR_TEXT "Текст" +#define TR_COLOR "Колір" +#define TR_PANEL1_BACKGROUND "Панель1 фон" +#define TR_PANEL2_BACKGROUND "Панель2 фон" +#define TR_WIDGET_GAUGE "Шкала" +#define TR_WIDGET_MODELBMP "Інфо про модель" +#define TR_WIDGET_OUTPUTS "Виходи" +#define TR_WIDGET_TEXT "Текст" +#define TR_WIDGET_TIMER "Таймер" +#define TR_WIDGET_VALUE "Значення" // About screen #define TR_ABOUTUS TR(" ПРО... ", "ПРО...") @@ -1100,7 +1199,7 @@ #define TR_CELLINDEX "Номер комірки" #define TR_LOGS "Логи" #define TR_OPTIONS "Опції" -#define TR_FIRMWARE_OPTIONS "Опції Firmware" +#define TR_FIRMWARE_OPTIONS BUTTON("Опції Firmware") #define TR_ALTSENSOR "Сенсор висоти" #define TR_CELLSENSOR "Сенсор комірки" @@ -1153,11 +1252,6 @@ #define TR_USE_THEME_COLOR "Використ. колір теми" #define TR_ADD_ALL_TRIMS_TO_SUBTRIMS "Додати всі трими до субтримів" -#if !NARROW_LAYOUT - #define TR_OPEN_CHANNEL_MONITORS "Відкрити монітори каналів" -#else - #define TR_OPEN_CHANNEL_MONITORS "Відкр. мон.кан." -#endif #define TR_DUPLICATE "Дублювати" #define TR_ACTIVATE "Встановити активним" #define TR_RED "Червоний" @@ -1192,6 +1286,7 @@ #define TR_CANCEL "Відміна" #define TR_EDIT_THEME "РЕДАГУВАТИ ТЕМУ" #define TR_DETAILS "Деталі" +#define TR_THEME_EDITOR "ТЕМИ" // Voice in native language #define TR_VOICE_ENGLISH "Англійська" @@ -1217,29 +1312,71 @@ #define TR_USBJOYSTICK_LABEL "USB Джойстик" #define TR_USBJOYSTICK_EXTMODE "Режим" -#define TR_VUSBJOYSTICK_EXTMODE "Класичний","Просунутий" -#define TR_USBJOYSTICK_SETTINGS "Налаштування каналу" +#define TR_VUSBJOYSTICK_EXTMODE_1 "Класичний" +#define TR_VUSBJOYSTICK_EXTMODE_2 "Просунутий" +#define TR_USBJOYSTICK_SETTINGS BUTTON("Налаштування каналу") #define TR_USBJOYSTICK_IF_MODE TR("Режим ІФ","Режим інтерфейсу") -#define TR_VUSBJOYSTICK_IF_MODE "Джойстик", "Геймпад", "MultiAxis" +#define TR_VUSBJOYSTICK_IF_MODE_1 "Джойстик" +#define TR_VUSBJOYSTICK_IF_MODE_2 "Геймпад" +#define TR_VUSBJOYSTICK_IF_MODE_3 "MultiAxis" #define TR_USBJOYSTICK_CH_MODE "Режим" -#define TR_VUSBJOYSTICK_CH_MODE "Немає","Btn","Axis","Sim" -#define TR_VUSBJOYSTICK_CH_MODE_S "-","B","A","S" +#define TR_VUSBJOYSTICK_CH_MODE_1 "Немає" +#define TR_VUSBJOYSTICK_CH_MODE_2 "Btn" +#define TR_VUSBJOYSTICK_CH_MODE_3 "Axis" +#define TR_VUSBJOYSTICK_CH_MODE_4 "Sim" +#define TR_VUSBJOYSTICK_CH_MODE_S_1 "-" +#define TR_VUSBJOYSTICK_CH_MODE_S_2 "B" +#define TR_VUSBJOYSTICK_CH_MODE_S_3 "A" +#define TR_VUSBJOYSTICK_CH_MODE_S_4 "S" #define TR_USBJOYSTICK_CH_BTNMODE "Режим кнопок" -#define TR_VUSBJOYSTICK_CH_BTNMODE "Нормальн","Імпульс","SWEmu","Дельта","Компаньон" -#define TR_VUSBJOYSTICK_CH_BTNMODE_S TR("Норм","Нормальний"),TR("Імп","Імпульс"),TR("SWEm","SWEmul"),TR("Дельта","Дельта"),TR("КПН","Компаньйон") +#define TR_VUSBJOYSTICK_CH_BTNMODE_1 "Нормальн" +#define TR_VUSBJOYSTICK_CH_BTNMODE_2 "Імпульс" +#define TR_VUSBJOYSTICK_CH_BTNMODE_3 "SWEmu" +#define TR_VUSBJOYSTICK_CH_BTNMODE_4 "Дельта" +#define TR_VUSBJOYSTICK_CH_BTNMODE_5 "Компаньон" +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_1 TR("Норм","Нормальний") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_2 TR("Імп","Імпульс") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_3 TR("SWEm","SWEmul") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_4 TR("Дельта","Дельта") +#define TR_VUSBJOYSTICK_CH_BTNMODE_S_5 TR("КПН","Компаньйон") #define TR_USBJOYSTICK_CH_SWPOS "Позиції" -#define TR_VUSBJOYSTICK_CH_SWPOS "Push","2POS","3POS","4POS","5POS","6POS","7POS","8POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_1 "Push" +#define TR_VUSBJOYSTICK_CH_SWPOS_2 "2POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_3 "3POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_4 "4POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_5 "5POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_6 "6POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_7 "7POS" +#define TR_VUSBJOYSTICK_CH_SWPOS_8 "8POS" #define TR_USBJOYSTICK_CH_AXIS "Вісь" -#define TR_VUSBJOYSTICK_CH_AXIS "X","Y","Z","rotX","rotY","rotZ","Повзунок","Dial","Колесо" +#define TR_VUSBJOYSTICK_CH_AXIS_1 "X" +#define TR_VUSBJOYSTICK_CH_AXIS_2 "Y" +#define TR_VUSBJOYSTICK_CH_AXIS_3 "Z" +#define TR_VUSBJOYSTICK_CH_AXIS_4 "rotX" +#define TR_VUSBJOYSTICK_CH_AXIS_5 "rotY" +#define TR_VUSBJOYSTICK_CH_AXIS_6 "rotZ" +#define TR_VUSBJOYSTICK_CH_AXIS_7 "Повзунок" +#define TR_VUSBJOYSTICK_CH_AXIS_8 "Dial" +#define TR_VUSBJOYSTICK_CH_AXIS_9 "Колесо" #define TR_USBJOYSTICK_CH_SIM "Сим. вісі" -#define TR_VUSBJOYSTICK_CH_SIM "Ail","Ele","Rud","Thr","Acc","Brk","Steer","Dpad" +#define TR_VUSBJOYSTICK_CH_SIM_1 "Ail" +#define TR_VUSBJOYSTICK_CH_SIM_2 "Ele" +#define TR_VUSBJOYSTICK_CH_SIM_3 "Rud" +#define TR_VUSBJOYSTICK_CH_SIM_4 "Thr" +#define TR_VUSBJOYSTICK_CH_SIM_5 "Acc" +#define TR_VUSBJOYSTICK_CH_SIM_6 "Brk" +#define TR_VUSBJOYSTICK_CH_SIM_7 "Steer" +#define TR_VUSBJOYSTICK_CH_SIM_8 "Dpad" #define TR_USBJOYSTICK_CH_INVERSION "Інверсія" #define TR_USBJOYSTICK_CH_BTNNUM "Номер Кнопки" #define TR_USBJOYSTICK_BTN_COLLISION "!Конфлікт номерів кнопок!" #define TR_USBJOYSTICK_AXIS_COLLISION "!Конфлікт осей!" #define TR_USBJOYSTICK_CIRC_COUTOUT TR("Круговий виріз", "Круговий виріз") -#define TR_VUSBJOYSTICK_CIRC_COUTOUT "Немає","X-Y, Z-rX","X-Y, rX-rY","X-Y, Z-rZ" -#define TR_USBJOYSTICK_APPLY_CHANGES "Застосувати зміни" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_1 "Немає" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_2 "X-Y, Z-rX" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_3 "X-Y, rX-rY" +#define TR_VUSBJOYSTICK_CIRC_COUTOUT_4 "X-Y, Z-rZ" +#define TR_USBJOYSTICK_APPLY_CHANGES BUTTON("Застосувати зміни") #define TR_DIGITAL_SERVO "Серво 333HZ" #define TR_ANALOG_SERVO "Серво 50HZ" @@ -1255,7 +1392,10 @@ #define TR_SELECT_MENU_CLR "Очистити" #define TR_SELECT_MENU_INV "Інвертувати" -#define TR_SORT_ORDERS "Назва A-Z","Назва Z-A","Найменш використ.","Найбільш використ." +#define TR_SORT_ORDERS_1 "Назва A-Z" +#define TR_SORT_ORDERS_2 "Назва Z-A" +#define TR_SORT_ORDERS_3 "Найменш використ." +#define TR_SORT_ORDERS_4 "Найбільш використ." #define TR_SORT_MODELS_BY "Сортувати моделі за" #define TR_CREATE_NEW "Створити" diff --git a/radio/src/translations/string_list.h b/radio/src/translations/string_list.h new file mode 100644 index 00000000000..e748f684f0e --- /dev/null +++ b/radio/src/translations/string_list.h @@ -0,0 +1,1197 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +// DO NOT INCLUDE THIS FILE DIRECTLY + +// List of strings and string arrays +// Macros are expanded in translations.h and translations.cpp + +#if defined(COLORLCD) +STRARRAY(FONT_SIZES) +#endif +STRARRAY(OFFON) +STRARRAY(MMMINV) +STRARRAY(VBEEPMODE) +STRARRAY(TRNMODE) +STRARRAY(TRNCHN) +STRARRAY(VTRIMINC) +STRARRAY(VDISPLAYTRIMS) +STRARRAY(VBLMODE) +STRARRAY(VCURVETYPE) +STRARRAY(VCURVEFUNC) +STRARRAY(VMLTPX) +STRARRAY(VMLTPX2) +STRARRAY(VCSWFUNC) +STRARRAY(VFSWRESET) +STRARRAY(FUNCSOUNDS) +STRARRAY(VTELEMUNIT) +STRARRAY(GPSFORMAT) +STRARRAY(VTELEMSCREENTYPE) +STRARRAY(ON_ONE_SWITCHES) +#if defined(IMU) +STRARRAY(IMU_VSRCRAW) +#endif +#if defined(PCBHORUS) +STRARRAY(SM_VSRCRAW) +#endif +STRARRAY(CYC_VSRCRAW) +STRARRAY(ROTARY_ENC_OPT) +STRARRAY(VTMRMODES) +STRARRAY(VPERSISTENT) +STRARRAY(VUNITSSYSTEM) +STRARRAY(VBEEPCOUNTDOWN) +STRARRAY(COUNTDOWNVALUES) +STRARRAY(VVARIOCENTER) +STRARRAY(COUNTRY_CODES) +STRARRAY(USBMODES) +STRARRAY(JACK_MODES) +STRARRAY(VFAILSAFE) +STRARRAY(VTRAINERMODES) +STRARRAY(MODULE_PROTOCOLS) +STRARRAY(R9M_REGION) +STRARRAY(R9M_FCC_POWER_VALUES) +STRARRAY(R9M_LBT_POWER_VALUES) +STRARRAY(R9M_LITE_FCC_POWER_VALUES) +STRARRAY(R9M_LITE_LBT_POWER_VALUES) +STRARRAY(XJT_ACCST_RF_PROTOCOLS) +STRARRAY(ISRM_RF_PROTOCOLS) +STRARRAY(PPM_PROTOCOLS) +STRARRAY(SBUS_PROTOCOLS) +STRARRAY(DSM_PROTOCOLS) +STRARRAY(AFHDS3_PROTOCOLS) +STRARRAY(AFHDS3_POWERS) +STRARRAY(FLYSKY_PULSE_PROTO) +STRARRAY(FLYSKY_SERIAL_PROTO) +STRARRAY(CURVE_TYPES) +STRARRAY(CRSF_ARMING_MODES) +STRARRAY(VSENSORTYPES) +STRARRAY(VFORMULAS) +STRARRAY(VPREC) +STRARRAY(VCELLINDEX) +STRARRAY(AUX_SERIAL_MODES) +STRARRAY(SWTYPES) +STRARRAY(POTTYPES) +STRARRAY(ANTENNA_MODES) +STRARRAY(SAMPLE_MODES) +STRARRAY(SPORT_UPDATE_POWER_MODES) +STRARRAY(CRSF_BAUDRATE) +STRARRAY(PPM_POL) +STRARRAY(SBUS_INVERSION_VALUES) +STRARRAY(SPORT_MODES) +STRARRAY(FSGROUPS) +STRARRAY(ADCFILTERVALUES) +STRARRAY(TIMER_DIR) +STRARRAY(PREFLIGHT_POTSLIDER_CHECK) +STRARRAY(PPMUNIT) +#if defined(FUNCTION_SWITCHES) +STRARRAY(FUNCTION_SWITCH_GROUPS) +STRARRAY(FS_COLOR_LIST) +#endif + +#if defined(HELI) +STRARRAY(VSWASHTYPE) +#endif + +#if defined(MULTIMODULE) +STRARRAY(MULTI_PROTOCOLS) +STRARRAY(MULTI_POWER) +STRARRAY(MULTI_BAYANG_OPTIONS) +STRARRAY(MULTI_DSM_OPTIONS) +STRARRAY(MULTI_DSM_CLONE) +STRARRAY(MULTI_WBUS_MODE) +#endif + +#if defined(BLUETOOTH) +STRARRAY(BLUETOOTH_MODES) +#endif + +STRARRAY(SUBTRIMMODES) +STRARRAY(PWR_OFF_DELAYS) +#if defined(COLORLCD) +STRARRAY(SPLASHSCREEN_DELAYS) +#endif + +// Main Menu +STR(QM_MANAGE_MODELS) +STR(QM_MODEL_SETUP) +STR(QM_RADIO_SETUP) +STR(QM_UI_SETUP) +STR(QM_TOOLS) +STR(QM_GEN_SETTINGS) +STR(QM_FLIGHT_MODES) +STR(QM_INPUTS) +STR(QM_MIXES) +STR(QM_OUTPUTS) +STR(QM_CURVES) +STR(QM_GLOBAL_VARS) +STR(QM_LOGICAL_SW) +STR(QM_SPEC_FUNC) +STR(QM_CUSTOM_LUA) +STR(QM_TELEM) +STR(QM_GLOB_FUNC) +STR(QM_TRAINER) +STR(QM_HARDWARE) +STR(QM_ABOUT) +STR(QM_THEMES) +STR(QM_TOP_BAR) +STR(QM_SCREEN_1) +STR(QM_SCREEN_2) +STR(QM_SCREEN_3) +STR(QM_SCREEN_4) +STR(QM_SCREEN_5) +STR(QM_SCREEN_6) +STR(QM_SCREEN_7) +STR(QM_SCREEN_8) +STR(QM_SCREEN_9) +STR(QM_SCREEN_10) +STR(QM_ADD_SCREEN) +STR(QM_APPS) +STR(QM_STORAGE) +STR(QM_RESET) +STR(QM_CHAN_MON) +STR(QM_LS_MON) +STR(QM_STATS) +STR(QM_DEBUG) +// Main Menu + +STR(MINUTE_SINGULAR) +STR(MINUTE_PLURAL1) +STR(MINUTE_PLURAL2) + +STR(EMPTY) +#if !defined(COLORLCD) +STR(POPUPS_ENTER_EXIT) +#endif +STR(OK) +STR(FREE) +STR(YES) +STR(NO) +STR(DELETEMODEL) +STR(COPYINGMODEL) +STR(MOVINGMODEL) +STR(LOADINGMODEL) +STR(UNLABELEDMODEL) +STR(NAME) +STR(BITMAP) +STR(NO_PICTURE) +STR(TIMER) +STR(NO_TIMERS) +STR(START) +STR(NEXT) +STR(ELIMITS) +STR(ETRIMS) +STR(TRIMINC) +STR(DISPLAY_TRIMS) +STR(TTRACE) +STR(TTRIM) +STR(TTRIM_SW) +STR(BEEPCTR) +STR(USE_GLOBAL_FUNCS) +STR(PPMFRAME) +STR(REFRESHRATE) +STR(MS) +STR(SWITCH) +#if defined(FUNCTION_SWITCHES) +STR(GROUPS) +STR(LUA_OVERRIDE) +STR(LAST) +STR(MORE_INFO) +STR(SWITCH_TYPE) +STR(SWITCH_GROUP) +STR(SWITCH_STARTUP) +STR(FUNCTION_SWITCHES) +STR(GROUP) +STR(GROUP_ALWAYS_ON) +STR(SF_PUSH_CUST_SWITCH) +#endif +STR(ADJUST_GVAR) +STR(PLAY_TRACK) +STR(PLAY_VALUE) +STR(SOUND) +STR(SF_BACKLIGHT) +STR(SF_BG_MUSIC) +STR(SF_BG_MUSIC_PAUSE) +STR(SF_DISABLE_TOUCH) +STR(SF_DISABLE_AUDIO_AMP) +STR(SF_FAILSAFE) +STR(SF_HAPTIC) +STR(SF_INST_TRIM) +STR(SF_LOGS) +STR(SF_MOD_BIND) +STR(SF_PLAY_SCRIPT) +STR(SF_RANGE_CHECK) +STR(SF_RESET) +STR(SF_SET_TIMER) +STR(SF_SWITCH) +STR(SF_TRAINER) +STR(SF_VARIO) +STR(SF_RGBLEDS) +STR(SF_VOLUME) +STR(SF_RACING_MODE) +STR(SF_SAFETY) +STR(SF_SCREENSHOT) +STR(SF_LCD_TO_VIDEO) +STR(SF_TEST) +STR(TRIMS) +STR(MIRROR) +STR(FADEIN) +STR(FADEOUT) +STR(DEFAULT) +STR(CHECKTRIMS) +STR(MODE) +STR(NOFREEEXPO) +STR(NOFREEMIXER) +STR(SOURCE) +STR(WEIGHT) +STR(SIDE) +STR(OFFSET) +STR(TRIM) +STR(DREX) +STR(CURVE) +STR(FLMODE) +STR(MIXWARNING) +STR(OFF) +STR(ANTENNA) +STR(NO_INFORMATION) +STR(MULTPX) +STR(DELAYDOWN) +STR(DELAYUP) +STR(SLOWDOWN) +STR(SLOWUP) +STR(MIXES) +STR(CV) +STR(GV) +STR(RANGE) +STR(CENTER) +STR(ALARM) +STR(BLADES) +STR(SCREEN) +STR(SOUND_LABEL) +STR(LENGTH) +STR(BEEP_LENGTH) +STR(CONTRAST) +STR(ALARMS_LABEL) +STR(BATTERY_RANGE) +STR(BATTERYCHARGING) +STR(BATTERYFULL) +STR(BATTERYNONE) +STR(BATTERYWARNING) +STR(INACTIVITYALARM) +STR(MEMORYWARNING) +STR(ALARMWARNING) +STR(RSSI_SHUTDOWN_ALARM) +STR(TRAINER_SHUTDOWN_ALARM) +STR(MODEL_STILL_POWERED) +STR(TRAINER_STILL_CONNECTED) +STR(USB_STILL_CONNECTED) +STR(MODEL_SHUTDOWN) +STR(PRESS_ENTER_TO_CONFIRM) +STR(THROTTLEREVERSE) +STR(MINUTEBEEP) +STR(BEEPCOUNTDOWN) +STR(PERSISTENT) +STR(BACKLIGHT_LABEL) +STR(GHOST_MENU_LABEL) +STR(STATUS) +STR(DEF_CHAN_ORD) +STR(STICKS) +STR(POTS) +STR(SWITCHES) +STR(SWITCHES_DELAY) +STR(SLAVE) +STR(MODESRC) +STR(MULTIPLIER) +STR(CAL) +STR(CALIB_DONE) +STR(VTRIM) +#if !defined(COLORLCD) +STR(MENUTOSTART) +STR(AXISDIR) +STR(MENUAXISDIR) +STR(MENUWHENDONE) +#endif +STR(SETMIDPOINT) +STR(MOVESTICKSPOTS) +STR(NODATA) +STR(US) +STR(HZ) +STR(TMIXMAXMS) +STR(FREE_STACK) +STR(INT_GPS_LABEL) +STR(HEARTBEAT_LABEL) +STR(LUA_SCRIPTS_LABEL) +STR(FREE_MEM_LABEL) +STR(DURATION_MS) +STR(INTERVAL_MS) +STR(MEM_USED_SCRIPT) +STR(MEM_USED_WIDGET) +STR(MEM_USED_EXTRA) +STR(STACK_MIX) +STR(STACK_AUDIO) +STR(GPS_FIX_YES) +STR(GPS_FIX_NO) +STR(GPS_SATS) +STR(GPS_HDOP) +STR(STACK_MENU) +STR(TIMER_LABEL) +STR(THROTTLE_PERCENT_LABEL) +STR(BATT_LABEL) +STR(SESSION) +STR(MENUTORESET) +STR(PPM_TRAINER) +STR(CH) +STR(MODEL) +STR(FM) +STR(PRESS_ANY_KEY_TO_SKIP) +STR(THROTTLE_NOT_IDLE) +STR(ALARMSDISABLED) +STR(PRESSANYKEY) +STR(TRIMS2OFFSETS) +STR(CHANNELS2FAILSAFE) +STR(CHANNEL2FAILSAFE) +STR(RADIO_SETUP) +STR(MENUTRAINER) +STR(MENUSPECIALFUNCS) +STR(MENUVERSION) +STR(MENU_RADIO_SWITCHES) +STR(MENU_RADIO_ANALOGS) +STR(MENU_RADIO_ANALOGS_CALIB) +STR(MENU_RADIO_ANALOGS_RAWLOWFPS) +STR(MENUCALIBRATION) +STR(MENU_FSWITCH) +STR(MENUMODELSEL) +STR(MENU_MODEL_SETUP) +STR(MENUFLIGHTMODE) +STR(MENUFLIGHTMODES) +STR(MENUINPUTS) +STR(MENULIMITS) +STR(MENUCURVES) +STR(MENUCURVE) +STR(MENULOGICALSWITCH) +STR(MENULOGICALSWITCHES) +STR(MENUCUSTOMFUNC) +STR(SPLASHSCREEN) +STR(PLAY_HELLO) +STR(PWR_ON_DELAY) +STR(PWR_OFF_DELAY) +STR(PWR_AUTO_OFF) +STR(THROTTLE_UPPERCASE) +STR(SWITCHWARNING) +STR(POTWARNINGSTATE) +STR(POTWARNING) +STR(MENUSTAT) +STR(MENUDEBUG) +STRARRAY(MONITOR_CHANNELS) +STR(MONITOR_SWITCHES) +STR(MONITOR_OUTPUT_DESC) +STR(MONITOR_MIXER_DESC) +STR(MENU_GLOBAL_VARS) +STR(INTERNALRF) +STR(INTERNAL_MODULE) +STR(EXTERNAL_MODULE) +STR(EDGETX_UPGRADE_REQUIRED) +STR(TELEMETRY_DISABLED) +STR(MORE_OPTIONS_AVAILABLE) +STR(NO_MODULE_INFORMATION) +STR(EXTERNALRF) +STR(MODULE_TELEMETRY) +STR(MODULE_TELEM_ON) +STR(COUNTRY_CODE) +STR(USBMODE) +STR(JACK_MODE) +STR(FAILSAFE) +STR(FAILSAFESET) +STR(REG_ID) +STR(OWNER_ID) +STR(HOLD) +STR(HOLD_UPPERCASE) +STR(NONE) +STR(NONE_UPPERCASE) +STR(MENUSENSOR) +STR(POWERMETER_PEAK) +STR(POWERMETER_POWER) +STR(POWERMETER_ATTN) +STR(POWERMETER_FREQ) +STR(MENUTOOLS) +STR(MAIN_MENU_APPS) +STR(TURN_OFF_RECEIVER) +STR(STOPPING) +STR(MENU_SPECTRUM_ANALYSER) +STR(MENU_POWER_METER) +STR(SENSOR) +STR(DISABLE_INTERNAL) +STR(AND_SWITCH) +STR(SF) +STR(GF) +STR(ANADIAGS_CALIB) +STR(ANADIAGS_FILTRAWDEV) +STR(ANADIAGS_UNFILTRAW) +STR(ANADIAGS_MINMAX) +STR(ANADIAGS_MOVE) +STR(BATT_CALIB) +STR(VOLTAGE) +STR(CURRENT_CALIB) +STR(UNITS_SYSTEM) +STR(UNITS_PPM) +STR(VOICE_LANGUAGE) +STR(MODELIDUSED) +STR(MODELIDUNIQUE) +STR(BEEP_VOLUME) +STR(WAV_VOLUME) +STR(BG_VOLUME) +STR(SELECT_MODEL) +STR(MODELS) +STR(SELECT_MODE) +STR(CREATE_MODEL) +STR(FAVORITE_LABEL) +STR(MODELS_MOVED) +STR(NEW_MODEL) +STR(INVALID_MODEL) +STR(MOVE_UP) +STR(MOVE_DOWN) +STR(DUPLICATE_MODEL) +STR(COPY_MODEL) +STR(MOVE_MODEL) +STR(DELETE_MODEL) +STR(EDIT) +STR(INSERT_BEFORE) +STR(INSERT_AFTER) +STR(COPY) +STR(MOVE) +STR(PASTE) +STR(PASTE_BEFORE) +STR(PASTE_AFTER) +STR(INSERT) +STR(DELETE) +STR(RESET_FLIGHT) +STR(RESET_TIMER1) +STR(RESET_TIMER2) +STR(RESET_TIMER3) +STR(RESET_TELEMETRY) +STR(STATISTICS) +STR(ABOUT_US) +STR(USB_JOYSTICK) +STR(USB_MASS_STORAGE) +STR(USB_SERIAL) +STR(SETUP_SCREENS) +STR(MONITOR_SCREENS) +STR(RESET_BTN) +STR(DEBUG) +STR(KEYS_BTN) +STR(ANALOGS_BTN) +STR(FS_BTN) +STR(TOUCH_NOTFOUND) +STR(TOUCH_EXIT) +STR(CALIBRATION) +STR(NO_TOOLS) +STR(NORMAL) +STR(NOT_INVERTED) +STR(NOT_CONNECTED) +STR(CONNECTED) +STR(FLEX_915) +STR(FLEX_868) +STR(16CH_WITHOUT_TELEMETRY) +STR(16CH_WITH_TELEMETRY) +STR(8CH_WITH_TELEMETRY) +STR(EXT_ANTENNA) +STR(PIN) +STR(UPDATE_RX_OPTIONS) +STR(UPDATE_TX_OPTIONS) +STR(MODULES_RX_VERSION) +STR(MENU_MODULES_RX_VERSION) +STR(MENU_FIRM_OPTIONS) +STR(IMU) +STR(STICKS_POTS_SLIDERS) +STR(PWM_STICKS_POTS_SLIDERS) +STR(RF_PROTOCOL) +STR(MODULE_OPTIONS) +STR(POWER) +STR(NO_TX_OPTIONS) +STR(RTC_BATT) +STR(POWER_METER_EXT) +STR(POWER_METER_INT) +STR(SPECTRUM_ANALYSER_EXT) +STR(SPECTRUM_ANALYSER_INT) +STR(GHOST_MODULE_CONFIG) +STR(GPS_MODEL_LOCATOR) +STR(REFRESH) +STR(WAITING_FOR_RX) +STR(WAITING_FOR_TX) +STR(WAITING_FOR_MODULE) +STR(WARN_5VOLTS) +STR(WARNING) +STR(THROTTLE_WARNING) +STR(CUSTOM_THROTTLE_WARNING) +STR(CUSTOM_THROTTLE_WARNING_VAL) +STR(ALARMSWARN) +STR(SWITCHWARN) +STR(FAILSAFEWARN) +STR(WRONG_SDCARDVERSION) +STR(WARN_RTC_BATTERY_LOW) +STR(WARN_MULTI_LOWPOWER) +STR(BATTERY) +STR(WRONG_PCBREV) +STR(EMERGENCY_MODE) +STR(NO_FAILSAFE) +STR(KEYSTUCK) +STR(VOLUME) +STR(LCD) +STR(BRIGHTNESS) +STR(CPU_TEMP) +STR(COPROC) +STR(COPROC_TEMP) +STR(TTL_WARNING) +STR(FUNC) +STR(V1) +STR(V2) +STR(DURATION) +STR(DELAY) +STR(SD_CARD) +STR(NO_SOUNDS_ON_SD) +STR(NO_MODELS_ON_SD) +STR(NO_BITMAPS_ON_SD) +STR(NO_SCRIPTS_ON_SD) +STR(SCRIPT_SYNTAX_ERROR) +STR(SCRIPT_PANIC) +STR(SCRIPT_KILLED) +STR(SCRIPT_ERROR) +STR(PLAY_FILE) +STR(ASSIGN_BITMAP) +STR(EXECUTE_FILE) +STR(DELETE_FILE) +STR(COPY_FILE) +STR(RENAME_FILE) +STR(SD_INFO) +STR(REMOVED) +STR(NA) +STR(HARDWARE) +STR(FORMATTING) +STR(TEMP_CALIB) +STR(TIME) +STR(MAXBAUDRATE) +STR(BAUDRATE) +STR(CRSF_ARMING_MODE) +STR(SAMPLE_MODE) +STR(SD_INFO_TITLE) +STR(SD_SPEED) +STR(SD_SECTORS) +STR(SD_SIZE) +STR(TYPE) +STR(GVARS) +STR(GLOBAL_VAR) +STR(OWN) +STR(DATE) +STR(CHANNELS_MONITOR) +STR(ROTARY_ENCODER) +STR(ROTARY_ENC_MODE) + +#if defined(USE_HATS_AS_KEYS) +STR(HATSMODE) +STRARRAY(HATSOPT) +STR(HATSMODE_TRIMS) +STR(HATSMODE_KEYS) +STR(HATSMODE_KEYS_HELP) +#endif + +STR(MIXERS_MONITOR) +STR(PATH_TOO_LONG) +STR(VIEW_TEXT) +STR(FLASH_BOOTLOADER) +STR(CURRENT_VERSION) +STR(FLASH_INTERNAL_MODULE) +STR(FLASH_INTERNAL_MULTI) +STR(FLASH_EXTERNAL_MODULE) +STR(FLASH_EXTERNAL_MULTI) +STR(FLASH_EXTERNAL_ELRS) +STR(FIRMWARE_UPDATE_ERROR) +STR(FIRMWARE_UPDATE_SUCCESS) +STR(WRITING) +STR(FLASH_DEVICE) +STR(FLASH_EXTERNAL_DEVICE) +STR(FLASH_RECEIVER_OTA) +STR(FLASH_RECEIVER_BY_EXTERNAL_MODULE_OTA) +STR(FLASH_RECEIVER_BY_INTERNAL_MODULE_OTA) +STR(FLASH_FLIGHT_CONTROLLER_BY_EXTERNAL_MODULE_OTA) +STR(FLASH_FLIGHT_CONTROLLER_BY_INTERNAL_MODULE_OTA) +STR(FLASH_BLUETOOTH_MODULE) +STR(FLASH_POWER_MANAGEMENT_UNIT) +STR(DEVICE_NO_RESPONSE) +STR(DEVICE_FILE_ERROR) +STR(DEVICE_DATA_REFUSED) +STR(DEVICE_WRONG_REQUEST) +STR(DEVICE_FILE_REJECTED) +STR(DEVICE_FILE_WRONG_SIG) +STR(CONFIRM_FORMAT) +STR(CONFIRMRESET) +STR(TOO_MANY_LUA_SCRIPTS) +STR(BLCOLOR) +STR(MODELNAME) +STR(PHASENAME) +STR(MIXNAME) +STR(INPUTNAME) +STR(EXPONAME) +STR(TRAINER) +STR(CHANS) +STR(MODULE_BIND) +STR(MODULE_UNBIND) +STR(POWERMETER_ATTN_NEEDED) +STR(PXX2_SELECT_RX) +STR(PXX2_DEFAULT) +STR(BT_SELECT_DEVICE) +STR(DISCOVER) +STR(BUTTON_INIT) +STR(WAITING) +STR(RECEIVER_DELETE) +STR(RECEIVER_RESET) +STR(SHARE) +STR(BIND) +STR(REGISTER) +STR(BINDING_CH1_8_TELEM_ON) +STR(BINDING_CH1_8_TELEM_OFF) +STR(BINDING_CH9_16_TELEM_ON) +STR(BINDING_CH9_16_TELEM_OFF) +STR(CHANNELRANGE) +STR(ANTENNACONFIRM1) +STR(ANTENNACONFIRM2) +STR(USE_INTERNAL_ANTENNA) +STR(USE_EXTERNAL_ANTENNA) +STR(MODULE_PROTOCOL_FLEX_WARN_LINE1) +STR(MODULE_PROTOCOL_FCC_WARN_LINE1) +STR(MODULE_PROTOCOL_EU_WARN_LINE1) +STR(MODULE_PROTOCOL_WARN_LINE2) +STR(SET) +STR(PREFLIGHT) +STR(CHECKLIST) +STR(CHECKLIST_INTERACTIVE) +STR(VIEW_NOTES) +STR(MODEL_SELECT) +STR(RESET_SUBMENU) +STR(LOWALARM) +STR(CRITICALALARM) +STR(DISABLE_ALARM) +STR(TELEMETRY_TYPE) +STR(TELEMETRY_SENSORS) +STR(VALUE) +STR(PERIOD) +STR(INTERVAL) +STR(REPEAT) +STR(ENABLE) +STR(DISABLE) +STR(TOPLCDTIMER) +STR(UNIT) +STR(TELEMETRY_NEWSENSOR) +STR(ID) +STR(PRECISION) +STR(RATIO) +STR(FORMULA) +STR(CELLINDEX) +STR(LOGS) +STR(OPTIONS) +STR(FIRMWARE_OPTIONS) +STR(ALTSENSOR) +STR(CELLSENSOR) +STR(GPSSENSOR) +STR(CURRENTSENSOR) +STR(AUTOOFFSET) +STR(ONLYPOSITIVE) +STR(FILTER) +STR(TELEMETRYFULL) +STR(IGNORE_INSTANCE) +STR(SHOW_INSTANCE_ID) +STR(DISCOVER_SENSORS) +STR(STOP_DISCOVER_SENSORS) +STR(DELETE_ALL_SENSORS) +STR(CONFIRMDELETE) +STR(SELECT_WIDGET) +STR(REMOVE_WIDGET) +STR(WIDGET_SETTINGS) +STR(WIDGET_FULLSCREEN) +STR(REMOVE_SCREEN) +STR(SETUP_WIDGETS) +STR(USER_INTERFACE) +STR(THEME) +STR(SETUP) +STR(LAYOUT) +STR(TEXT_COLOR) +STR(RF_POWER) +STR(BYTES) +STR(ANTENNAPROBLEM) +STR(MODULE) +STR(RX_NAME) +STR(POPUP) +STR(MIN) +STR(MAX) +STR(INVERTED) +STR(CURVE_PRESET) +STR(PRESET) +STR(CLEAR) +STR(RESET) +STR(ADD_ALL_TRIMS_TO_SUBTRIMS) +STR(COUNT) +STR(PT) +STR(PTS) +STR(SMOOTH) +STR(COPY_STICKS_TO_OFS) +STR(COPY_MIN_MAX_TO_OUTPUTS) +STR(COPY_TRIMS_TO_OFS) +STR(INCDEC) +STR(GLOBALVAR) +STR(MIXSOURCE) +STR(MIXSOURCERAW) +STR(CONSTANT) +STR(TOP_BAR) +STR(FLASH_ERASE) +STR(FLASH_WRITE) +STR(OTA_UPDATE) +STR(MODULE_RESET) +STR(UNKNOWN_RX) +STR(UNSUPPORTED_RX) +STR(OTA_UPDATE_ERROR) +STR(DEVICE_RESET) +STR(ALTITUDE) +STR(SCALE) +STR(VIEW_CHANNELS) +STR(AUX_SERIAL_MODE) +STR(AUX2_SERIAL_MODE) +STR(AUX_SERIAL_PORT_POWER) +STR(THROTTLE_LABEL) +STR(SCRIPT) +STR(INPUTS) +STR(OUTPUTS) +STR(MENU_INPUTS) +STR(MENU_LUA) +STR(MENU_STICKS) +STR(MENU_POTS) +STR(MENU_MIN) +STR(MENU_MAX) +STR(MENU_HELI) +STR(MENU_TRIMS) +STR(MENU_SWITCHES) +STR(MENU_LOGICAL_SWITCHES) +STR(MENU_TRAINER) +STR(MENU_CHANNELS) +STR(MENU_GVARS) +STR(MENU_TELEMETRY) +STR(MENU_DISPLAY) +STR(MENU_OTHER) +STR(MENU_INVERT) +STR(AUDIO_MUTE) +STR(JITTER_FILTER) +STR(DEAD_ZONE) +STR(RTC_CHECK) +STR(EXIT) +STR(ENTER) +STR(MODULE_RANGE) +STR(RANGE_TEST) +STR(RECEIVER_OPTIONS) +STR(SPORT_UPDATE_POWER_MODE) +STR(TOUCH_PANEL) +STR(FILE_SIZE) +STR(FILE_OPEN) +STRARRAY(TIMER_MODES) +STRARRAY(MONTHS) +STR(LIMITS_HEADERS_DIRECTION) +STR(SRC_BATT) +STR(SRC_TIME) +STR(SRC_GPS) +STR(SRC_TIMER) + +#if defined(COLORLCD) +STR(ASSIGN_SPLASH) +STR(FIRST_CHANNEL) +STR(FILL_BACKGROUND) +STR(BG_COLOR) +STR(SLIDERS_TRIMS) +STR(SLIDERS) +STR(FLIGHT_MODE) +STR(INVALID_FILE) +STR(TIMER_SOURCE) +STR(SIZE) +STR(SHADOW) +STR(ALIGNMENT) +STR(ALIGN_LABEL) +STR(ALIGN_VALUE) +STRARRAY(ALIGN_OPTS) +STR(TEXT) +STR(COLOR) +STR(PANEL1_BACKGROUND) +STR(PANEL2_BACKGROUND) +STR(WIDGET_GAUGE) +STR(WIDGET_MODELBMP) +STR(WIDGET_OUTPUTS) +STR(WIDGET_TEXT) +STR(WIDGET_TIMER) +STR(WIDGET_VALUE) +STR(LEFT_STICK) +STR(SHOW_MIXER_MONITORS) +STR(MODEL_QUICK_SELECT) +STR(LOADING) +STR(DELETE_THEME) +STR(SAVE_THEME) +STR(EDIT_COLOR) +STR(NO_THEME_IMAGE) +STR(BACKLIGHT_TIMER) +STR(LABELS_SELECT) +STR(LABELS_MATCH) +STR(FAV_MATCH) +STRARRAY(LABELS_SELECT_MODE) +STRARRAY(LABELS_MATCH_MODE) +STRARRAY(FAV_MATCH_MODE) +#endif + +#if !defined(COLORLCD) +STR(NO_TELEMETRY_SCREENS) +#endif + +#if defined(HELI) +STR(MENUHELISETUP) +STR(SWASHTYPE) +STR(COLLECTIVE) +STR(AILERON) +STR(ELEVATOR) +STR(SWASHRING) +#endif + +#if defined(AUDIO) +STR(BEEP_PITCH) +#endif + +#if defined(HAPTIC) +STR(PWR_ON_OFF_HAPTIC) +STR(HAPTIC_LABEL) +STR(STRENGTH) +#endif + +#if defined(IMU) +STR(IMU_LABEL) +STR(IMU_OFFSET) +STR(IMU_MAX) +#endif + +#if defined(COLORLCD) +STR(BLONBRIGHTNESS) +STR(BLOFFBRIGHTNESS) +STR(KEYS_BACKLIGHT) +#endif + +STR(TIMEZONE) +STR(ADJUST_RTC) +STR(GPS) +STR(GPS_COORDS_FORMAT) +STR(VARIO) +STR(FLYSKY_TELEMETRY) +STR(PITCH_AT_ZERO) +STR(PITCH_AT_MAX) +STR(REPEAT_AT_ZERO) + +STR(BAD_RADIO_DATA) +STR(STORAGE_WARNING) +STR(STORAGE_FORMAT) +STR(RADIO_DATA_UNRECOVERABLE) +STR(RADIO_DATA_RECOVERED) +STR(EEPROMOVERFLOW) + +#if defined(LUA) +STR(MENUCUSTOMSCRIPTS) +#endif + +STR(MENUTELEMETRY) + +#if defined(DSM2) || defined(PXX) +STR(RECEIVER_NUM) +STR(RECEIVER) +STR(REBIND) +STR(REG_OK) +STR(BIND_OK) +#endif + +STR(MULTI_CUSTOM) +STR(MULTI_RFTUNE) +STR(MULTI_RFPOWER) +STR(MULTI_WBUS) +STR(MULTI_TELEMETRY) +STR(MULTI_VIDFREQ) +STR(MULTI_OPTION) +STR(MULTI_FIXEDID) +STR(MULTI_AUTOBIND) +STR(DISABLE_CH_MAP) +STR(DISABLE_TELEM) +STR(MULTI_LOWPOWER) +STR(MULTI_LNA_DISABLE) +STR(MODULE_NO_SERIAL_MODE) +STR(MODULE_NO_INPUT) +STR(MODULE_WAITFORBIND) +STR(MODULE_NO_TELEMETRY) +STR(MODULE_BINDING) +STR(MODULE_UPGRADE_ALERT) +STR(MODULE_UPGRADE) +STR(PROTOCOL_INVALID) +STR(MODULE_STATUS) +STR(MODULE_SYNC) +STR(MULTI_SERVOFREQ) +STR(MULTI_MAX_THROW) +STR(MULTI_RFCHAN) +STR(NEEDS_FILE) +STR(EXT_MULTI_SPEC) +STR(INT_MULTI_SPEC) + +#if defined(AFHDS3) +STR(AFHDS3_RX_FREQ) +STR(AFHDS3_ACTUAL_POWER) +STR(AFHDS3_POWER_SOURCE) +STR(AFHDS3_ONE_TO_ONE_TELEMETRY) +STR(AFHDS3_ONE_TO_MANY) +#endif + +STR(SUBTYPE) + +STR(BACKUP_MODEL) +STR(RESTORE_MODEL) +STR(DELETE_ERROR) +STR(SDCARD_ERROR) +STR(SDCARD) +STR(NO_FILES_ON_SD) +STR(NO_SDCARD) +STR(SDCARD_FULL) +STR(SDCARD_FULL_EXT) +STR(INCOMPATIBLE) + +STR(TEST_WARNING) +STR(TEST_NOTSAFE) + +#if LCD_W >= 212 +STRARRAY(PHASES_HEADERS) +STRARRAY(LIMITS_HEADERS) +STRARRAY(LSW_HEADERS) +#endif + +#if defined(BLUETOOTH) +STR(BLUETOOTH) +STR(BLUETOOTH_DISC) +STR(BLUETOOTH_INIT) +STR(BLUETOOTH_DIST_ADDR) +STR(BLUETOOTH_LOCAL_ADDR) +STR(BLUETOOTH_PIN_CODE) +STR(BLUETOOTH_NODEVICES) +STR(BLUETOOTH_SCANNING) +STR(BLUETOOTH_BAUDRATE) +#endif + +STR(ABOUTUS) + +STR(AUTH_FAILURE) +STR(PROTOCOL) +STR(RACING_MODE) + +#if defined(PCBNV14) +STRARRAY(RFPOWER_AFHDS2) +#endif + +#if defined(COLORLCD) +STR(SELECT_TEMPLATE) +STR(SELECT_TEMPLATE_FOLDER) +STR(NO_TEMPLATES) +STR(SAVE_TEMPLATE) +STR(BLANK_MODEL) +STR(BLANK_MODEL_INFO) +STR(FILE_EXISTS) +STR(ASK_OVERWRITE) + +STR(USE_THEME_COLOR) + +STR(DUPLICATE) +STR(ACTIVATE) +STR(RED) +STR(GREEN) +STR(BLUE) +STR(COLOR_PICKER) +STR(FIXED) +STR(EDIT_THEME_DETAILS) +STR(THEME_COLOR_DEFAULT) +STR(THEME_COLOR_PRIMARY1) +STR(THEME_COLOR_PRIMARY2) +STR(THEME_COLOR_PRIMARY3) +STR(THEME_COLOR_SECONDARY1) +STR(THEME_COLOR_SECONDARY2) +STR(THEME_COLOR_SECONDARY3) +STR(THEME_COLOR_FOCUS) +STR(THEME_COLOR_EDIT) +STR(THEME_COLOR_ACTIVE) +STR(THEME_COLOR_WARNING) +STR(THEME_COLOR_DISABLED) +STR(THEME_COLOR_CUSTOM) +STR(THEME_CHECKBOX) +STR(THEME_ACTIVE) +STR(THEME_REGULAR) +STR(THEME_WARNING) +STR(THEME_DISABLED) +STR(THEME_EDIT) +STR(THEME_FOCUS) +STR(AUTHOR) +STR(DESCRIPTION) +STR(SAVE) +STR(CANCEL) +STR(EDIT_THEME) +STR(DETAILS) + +STR(EDIT_LABELS) +STR(LABEL_MODEL) +STR(ENTER_LABEL) +STR(LABEL) +STR(LABELS) +STR(ACTIVE) +STR(NEW) +STR(NEW_LABEL) +STR(RENAME_LABEL) +STR(DELETE_LABEL) +STR(MAIN_MENU_MANAGE_MODELS) +STR(MAIN_MENU_MODEL_NOTES) +STR(MAIN_MENU_CHANNEL_MONITOR) +STR(MAIN_MENU_MODEL_SETTINGS) +STR(MAIN_MENU_RADIO_SETTINGS) +STR(MAIN_MENU_SETTINGS) +STR(MAIN_MENU_SCREEN_SETTINGS) +STR(MAIN_MENU_STATISTICS) +STR(MAIN_MENU_ABOUT_EDGETX) +STR(MAIN_MENU_THEMES) +STR(MANAGE_MODELS) +#endif + +#if defined(USBJ_EX) +STR(USBJOYSTICK_LABEL) +STR(USBJOYSTICK_EXTMODE) +STRARRAY(VUSBJOYSTICK_EXTMODE) +STR(USBJOYSTICK_SETTINGS) +STR(USBJOYSTICK_IF_MODE) +STRARRAY(VUSBJOYSTICK_IF_MODE) +STR(USBJOYSTICK_CH_MODE) +STRARRAY(VUSBJOYSTICK_CH_MODE) +STRARRAY(VUSBJOYSTICK_CH_MODE_S) +STR(USBJOYSTICK_CH_BTNMODE) +STRARRAY(VUSBJOYSTICK_CH_BTNMODE) +STRARRAY(VUSBJOYSTICK_CH_BTNMODE_S) +STR(USBJOYSTICK_CH_SWPOS) +STRARRAY(VUSBJOYSTICK_CH_SWPOS) +STR(USBJOYSTICK_CH_AXIS) +STRARRAY(VUSBJOYSTICK_CH_AXIS) +STR(USBJOYSTICK_CH_SIM) +STRARRAY(VUSBJOYSTICK_CH_SIM) +STR(USBJOYSTICK_CH_INVERSION) +STR(USBJOYSTICK_CH_BTNNUM) +STR(USBJOYSTICK_BTN_COLLISION) +STR(USBJOYSTICK_AXIS_COLLISION) +STR(USBJOYSTICK_CIRC_COUTOUT) +STRARRAY(VUSBJOYSTICK_CIRC_COUTOUT) +STR(USBJOYSTICK_APPLY_CHANGES) +#endif + +STR(DIGITAL_SERVO) +STR(ANALOG_SERVO) +STR(SIGNAL_OUTPUT) +STR(SERIAL_BUS) +STR(SYNC) + +STR(ENABLED_FEATURES) +STR(RADIO_MENU_TABS) +STR(MODEL_MENU_TABS) + +STR(STICK_NAMES0) +STR(STICK_NAMES1) +STR(STICK_NAMES2) +STR(STICK_NAMES3) +STR(SURFACE_NAMES0) +STR(SURFACE_NAMES1) + +STR(SELECT_MENU_ALL) +STR(SELECT_MENU_CLR) +STR(SELECT_MENU_INV) + +#if defined(COLORLCD) +STRARRAY(SORT_ORDERS) +STR(SORT_MODELS_BY) +STR(CREATE_NEW) +STR(THEME_EXISTS) + +STR(DATE_TIME_WIDGET) +STR(RADIO_INFO_WIDGET) +STR(LOW_BATT_COLOR) +STR(MID_BATT_COLOR) +STR(HIGH_BATT_COLOR) +STR(WIDGET_SIZE) +#endif + +STR(MIX_SLOW_PREC) +STR(MIX_DELAY_PREC) + +STR(DEL_DIR_NOT_EMPTY) + +STR(VOICE_ENGLISH) +STR(VOICE_CHINESE) +STR(VOICE_CZECH) +STR(VOICE_DANISH) +STR(VOICE_DEUTSCH) +STR(VOICE_DUTCH) +STR(VOICE_ESPANOL) +STR(VOICE_FRANCAIS) +STR(VOICE_HUNGARIAN) +STR(VOICE_ITALIANO) +STR(VOICE_POLISH) +STR(VOICE_PORTUGUES) +STR(VOICE_RUSSIAN) +STR(VOICE_SLOVAK) +STR(VOICE_SWEDISH) +STR(VOICE_TAIWANESE) +STR(VOICE_JAPANESE) +STR(VOICE_HEBREW) +STR(VOICE_UKRAINIAN) +STR(VOICE_KOREAN) + +STR(LIMITS_HEADERS_SUBTRIM) +STR(LIMITS_HEADERS_SUBTRIMMODE) +STR(LIMITS_HEADERS_PPMCENTER) + +STR(WARN_BATTVOLTAGE) + +STR(EXIT_BTN) + +#if defined(AUDIO) && defined(BUZZER) +STR(SPEAKER) +STR(BUZZER) +#endif + +STR(RX) + +STR(MAIN_VIEW_1) +STR(MAIN_VIEW_2) +STR(MAIN_VIEW_3) +STR(MAIN_VIEW_4) +STR(MAIN_VIEW_5) +STR(MAIN_VIEW_6) +STR(MAIN_VIEW_7) +STR(MAIN_VIEW_8) +STR(MAIN_VIEW_9) +STR(MAIN_VIEW_10) + +STR(TIMER_1) +STR(TIMER_2) +STR(TIMER_3) + +STR(SF_SET_SCREEN) diff --git a/radio/src/translations/translation_def.h b/radio/src/translations/translation_def.h new file mode 100644 index 00000000000..d6e6de83b75 --- /dev/null +++ b/radio/src/translations/translation_def.h @@ -0,0 +1,244 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +#pragma once + +#if NARROW_LAYOUT + #define TR3(x, y, z) y + #define TR(x, y) y +#elif LCD_W >= 480 + #define TR3(x, y, z) z + #define TR(x, y) y +#elif LCD_W >= 212 + #define TR3(x, y, z) y + #define TR(x, y) y +#else + #define TR3(x, y, z) x + #define TR(x, y) x +#endif + +#if defined(COLORLCD) + #define BUTTON(x) x + #define TR_BW_COL(x, y) y +#else + #define BUTTON(x) "[" x "]" + #define TR_BW_COL(x, y) x +#endif + +#if defined(SURFACE_RADIO) + #define TR_SFC_AIR(x, y) x +#else + #define TR_SFC_AIR(x, y) y +#endif + +#if (LCD_W == 212) || defined(COLORLCD) + #define LCDW_128_LINEBREAK +#else + #define LCDW_128_LINEBREAK "\036" +#endif + +#define TR_EMPTY "---" + +// '~' is remapped to 0x7B in B&W font +#define TR_CHAR_TILDE TR_BW_COL("~", "{") + +// String array groups +#define TR_VCSWFUNC "---","a=x","a" TR_CHAR_TILDE "x","a>x","ax","|a|b","a0","x<0","|x|","f>0","f<0","|f|" +#define TR_VMLTPX2 "+=","*=",":=" +#define TR_PPMUNIT "0.--","0.0","us" +#define TR_FUNCTION_SWITCH_GROUPS "---", TR_SWITCH_GROUP" 1", TR_SWITCH_GROUP" 2", TR_SWITCH_GROUP" 3" +#define TR_CRSF_BAUDRATE "115k","400k","921k","1.87M","3.75M","5.25M" +#define TR_MODULE_PROTOCOLS TR_OFF,"PPM","XJT","ISRM","DSM2","CRSF","MULTI","R9M","R9M ACCESS","R9MLite","R9ML ACCESS",\ + "GHST","R9MLP ACCESS","SBUS","XJT Lite","AFHDS2A","AFHDS3",TR("Lemon DSMP","LemonRx DSMP") +#define TR_SM_VSRCRAW "smA","smB","smC","smD","smE","smF" +#define TR_XJT_ACCST_RF_PROTOCOLS "D16","D8","LR12" +#define TR_ISRM_RF_PROTOCOLS "ACCESS","D16","LR12" +#define TR_R9M_REGION "FCC","EU","868MHz","915MHz" +#define TR_R9M_LITE_FCC_POWER_VALUES "(100mW)" +#define TR_R9M_LITE_LBT_POWER_VALUES "25mW 8CH","25mW 16CH","100mW NoTele" +#define TR_R9M_FCC_POWER_VALUES "10mW","100mW","500mW","1W (auto)" +#define TR_R9M_LBT_POWER_VALUES "25mW 8CH","25mW 16CH","200mW NoTele","500mW NoTele" +#define TR_DSM_PROTOCOLS "LP45","DSM2","DSMX" +#define TR_PPM_PROTOCOLS TR("No Telem", "No Telemetry"),"MLink","SPort" +#define TR_SBUS_PROTOCOLS TR("No Telem", "No Telemetry"),"SPort" +#define TR_MULTI_POWER "1.6mW","2.0mW","2.5mW","3.2mW","4.0mW","5.0mW","6.3mW","7.9mW","10mW","13mW","16mW","20mW","25mW","32mW","40mW","50mW" +#define TR_MULTI_WBUS_MODE "WBUS","PPM" +#define TR_SPORT_MODES STR_SPORT,"F.PORT",STR_FBUS +#define TR_AFHDS3_PROTOCOLS "PWM/IBUS","PWM/SBUS","PPM/IBUS","PPM/SBUS" +#define TR_AFHDS3_POWERS "25mW","50mW","100mW","250mW","500mW","1W","2W" +#define TR_FLYSKY_PULSE_PROTO "PWM","PPM" +#define TR_FLYSKY_SERIAL_PROTO "iBUS","SBUS" +#define TR_PPM_POL "-","+" +#define TR_PWR_OFF_DELAYS "0s","0.5s","1s","2s","3s" +#define TR_SPLASHSCREEN_DELAYS "1s","2s","3s","4s","6s","8s","10s","15s" +#define TR_FSGROUPS "-","1","2","3","4" + +#define TR_MULTI_PROTOCOLS PROTO_NAMES +#define TR_MULTI_BAYANG_OPTIONS BAYANG_OPTION_TELEMETRY_NAMES +#define TR_MULTI_DSM_OPTIONS DSM2_OPTION_SERVOFREQ_NAMES +#define TR_MULTI_DSM_CLONE DSM_CLONE_NAMES + +#define TR_MONITOR_CHANNELS TR_MONITOR_CHANNELS1, TR_MONITOR_CHANNELS2, TR_MONITOR_CHANNELS3, TR_MONITOR_CHANNELS4 +#define TR_TIMER_MODES TR_OFFON,TR_START,TR_THROTTLE_LABEL,TR_THROTTLE_PERCENT_LABEL,TR_THROTTLE_START +#define TR_PHASES_HEADERS TR_PHASES_HEADERS_NAME, TR_PHASES_HEADERS_SW, TR_PHASES_HEADERS_RUD_TRIM, TR_PHASES_HEADERS_ELE_TRIM, TR_PHASES_HEADERS_THT_TRIM, TR_PHASES_HEADERS_AIL_TRIM, TR_PHASES_HEADERS_FAD_IN, TR_PHASES_HEADERS_FAD_OUT +#define TR_LIMITS_HEADERS TR_LIMITS_HEADERS_NAME, TR_LIMITS_HEADERS_SUBTRIM, TR_LIMITS_HEADERS_MIN, TR_LIMITS_HEADERS_MAX, TR_LIMITS_HEADERS_DIRECTION, TR_LIMITS_HEADERS_CURVE, TR_LIMITS_HEADERS_PPMCENTER, TR_LIMITS_HEADERS_SUBTRIMMODE +#define TR_LSW_HEADERS TR_FUNC, TR_V1, TR_V2, TR_V2, TR_AND_SWITCH, TR_DURATION, TR_DELAY, TR_PERSISTENT +#define TR_VTRAINERMODES TR_VTRAINER_MASTER_OFF, TR_VTRAINER_MASTER_JACK, TR_VTRAINER_SLAVE_JACK, TR_VTRAINER_MASTER_SBUS_MODULE, \ + TR_VTRAINER_MASTER_CPPM_MODULE, TR_VTRAINER_MASTER_BATTERY, TR_VTRAINER_BLUETOOTH, TR_VTRAINER_MULTI, TR_VTRAINER_CRSF + +#define SA2(s) s##_1, s##_2 +#define SA3(s) s##_1, s##_2, s##_3 +#define SA4(s) s##_1, s##_2, s##_3, s##_4 +#define SA5(s) s##_1, s##_2, s##_3, s##_4, s##_5 +#define SA6(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6 +#define SA7(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7 +#define SA8(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7, s##_8 +#define SA9(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7, s##_8, s##_9 +#define SA10(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7, s##_8, s##_9, s##_10 +#define SA11(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7, s##_8, s##_9, s##_10, s##_11 +#define SA12(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7, s##_8, s##_9, s##_10, s##_11, s##_12 +#define SA16(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7, s##_8, s##_9, s##_10, s##_11, s##_12, s##_13, s##_14, s##_15, s##_16 +#define SA30(s) s##_1, s##_2, s##_3, s##_4, s##_5, s##_6, s##_7, s##_8, s##_9, s##_10, s##_11, s##_12, s##_13, s##_14, s##_15, s##_16 \ + s##_17, s##_18, s##_19, s##_20, s##_21, s##_22, s##_23, s##_24, s##_25, s##_26, s##_27, s##_28, s##_29, s##_30 + + +#define TR_VTELEMUNIT SA30(TR_VTELEMUNIT) + +#define TR_FUNCSOUNDS SA16(TR_FUNCSOUNDS) + +#define TR_MONTHS SA12(TR_MONTHS) + +#define TR_VCELLINDEX SA11(TR_VCELLINDEX) + +#define TR_AUX_SERIAL_MODES SA10(TR_AUX_SERIAL_MODES) + +#define TR_VFORMULAS SA9(TR_VFORMULAS) +#define TR_FS_COLOR_LIST SA9(TR_FS_COLOR_LIST) +#define TR_VUSBJOYSTICK_CH_AXIS SA9(TR_VUSBJOYSTICK_CH_AXIS) + +#define TR_POTTYPES SA8(TR_POTTYPES) +#define TR_VUSBJOYSTICK_CH_SWPOS SA8(TR_VUSBJOYSTICK_CH_SWPOS) +#define TR_VUSBJOYSTICK_CH_SIM SA8(TR_VUSBJOYSTICK_CH_SIM) + +#define TR_FONT_SIZES SA7(TR_FONT_SIZES) + +#define TR_VBEEPCOUNTDOWN SA6(TR_VBEEPCOUNTDOWN) +#define TR_VTMRMODES SA6(TR_VTMRMODES) +#define TR_VFSWRESET SA6(TR_VFSWRESET) + +#define TR_VBLMODE SA5(TR_VBLMODE) +#if defined(FUNCTION_SWITCHES) +#define TR_SWTYPES SA5(TR_SWTYPES) +#else +#define TR_SWTYPES SA4(TR_SWTYPES) +#endif +#define TR_VTRIMINC SA5(TR_VTRIMINC) +#define TR_VSWASHTYPE SA5(TR_VSWASHTYPE) +#if defined(COLORLCD) +#define TR_ROTARY_ENC_OPT SA2(TR_ROTARY_ENC_OPT) +#else +#define TR_ROTARY_ENC_OPT SA5(TR_ROTARY_ENC_OPT) +#endif +#define TR_VFAILSAFE SA5(TR_VFAILSAFE) +#define TR_VUSBJOYSTICK_CH_BTNMODE SA5(TR_VUSBJOYSTICK_CH_BTNMODE) +#define TR_VUSBJOYSTICK_CH_BTNMODE_S SA5(TR_VUSBJOYSTICK_CH_BTNMODE_S) + +#define TR_VBEEPMODE SA4(TR_VBEEPMODE) +#define TR_TRNCHN SA4(TR_TRNCHN) +#define TR_USBMODES SA4(TR_USBMODES) +#define TR_COUNTDOWNVALUES SA4(TR_COUNTDOWNVALUES) +#define TR_VCURVETYPE SA4(TR_VCURVETYPE) +#define TR_VTELEMSCREENTYPE SA4(TR_VTELEMSCREENTYPE) +#define TR_HATSOPT SA4(TR_HATSOPT) +#if defined(PCBX12S) +#define TR_ANTENNA_MODES SA4(TR_ANTENNA_MODES) +#else +#define TR_ANTENNA_MODES TR_ANTENNA_MODES_1, TR_ANTENNA_MODES_2, TR_ANTENNA_MODES_3, TR_ANTENNA_MODES_5 +#endif +#define TR_VUSBJOYSTICK_CH_MODE SA4(TR_VUSBJOYSTICK_CH_MODE) +#define TR_VUSBJOYSTICK_CH_MODE_S SA4(TR_VUSBJOYSTICK_CH_MODE_S) +#define TR_VUSBJOYSTICK_CIRC_COUTOUT SA4(TR_VUSBJOYSTICK_CIRC_COUTOUT) +#define TR_SORT_ORDERS SA4(TR_SORT_ORDERS) + +#define TR_TRNMODE SA3(TR_TRNMODE) +#define TR_VPERSISTENT SA3(TR_VPERSISTENT) +#define TR_COUNTRY_CODES SA3(TR_COUNTRY_CODES) +#define TR_JACK_MODES SA3(TR_COUNTRY_CODES) +#define TR_VDISPLAYTRIMS SA3(TR_VDISPLAYTRIMS) +#define TR_ADCFILTERVALUES SA3(TR_ADCFILTERVALUES) +#define TR_VMLTPX SA3(TR_VMLTPX) +#if defined(HELI) +#define TR_CYC_VSRCRAW SA3(TR_CYC_VSRCRAW) +#else +#define TR_CYC_VSRCRAW "[C1]","[C2]","[C3]" +#endif +#define TR_VPREC SA3(TR_VPREC) +#if defined(PCBX9E) +#define TR_BLUETOOTH_MODES TR_BLUETOOTH_MODES_1, TR_BLUETOOTH_MODES_4 +#else +#define TR_BLUETOOTH_MODES SA3(TR_BLUETOOTH_MODES) +#endif +#define TR_PREFLIGHT_POTSLIDER_CHECK SA3(TR_PREFLIGHT_POTSLIDER_CHECK) +#define TR_ALIGN_OPTS SA3(TR_ALIGN_OPTS) +#define TR_VUSBJOYSTICK_IF_MODE SA3(TR_VUSBJOYSTICK_IF_MODE) + +#define TR_OFFON SA2(TR_OFFON) +#define TR_MMMINV SA2(TR_MMMINV) +#define TR_SBUS_INVERSION_VALUES SA2(TR_SBUS_INVERSION_VALUES) +#define TR_VVARIOCENTER SA2(TR_VVARIOCENTER) +#define TR_CURVE_TYPES SA2(TR_CURVE_TYPES) +#define TR_VUNITSSYSTEM SA2(TR_VUNITSSYSTEM) +#define TR_GPSFORMAT SA2(TR_GPSFORMAT) +#define TR_ON_ONE_SWITCHES SA2(TR_ON_ONE_SWITCHES) +#define TR_VTRAINER_BLUETOOTH SA2(TR_VTRAINER_BLUETOOTH) +#define TR_VSENSORTYPES SA2(TR_VSENSORTYPES) +#define TR_TIMER_DIR SA2(TR_TIMER_DIR) +#define TR_SAMPLE_MODES SA2(TR_SAMPLE_MODES) +#define TR_LABELS_SELECT_MODE SA2(TR_LABELS_SELECT_MODE) +#define TR_LABELS_MATCH_MODE SA2(TR_LABELS_MATCH_MODE) +#define TR_FAV_MATCH_MODE SA2(TR_FAV_MATCH_MODE) +#define TR_SPORT_UPDATE_POWER_MODES SA2(TR_SPORT_UPDATE_POWER_MODES) +#define TR_VUSBJOYSTICK_EXTMODE SA2(TR_VUSBJOYSTICK_EXTMODE) +#define TR_SUBTRIMMODES SA2(TR_SUBTRIMMODES) +#define TR_RFPOWER_AFHDS2 SA2(TR_RFPOWER_AFHDS2) +#define TR_IMU_VSRCRAW SA2(TR_IMU_VSRCRAW) + +#define TR_EXIT_BTN BUTTON(TR_EXIT) +#define TR_RX "Rx" +#define TR_MAIN_VIEW_1 TR_MAIN_VIEW_X "1" +#define TR_MAIN_VIEW_2 TR_MAIN_VIEW_X "2" +#define TR_MAIN_VIEW_3 TR_MAIN_VIEW_X "3" +#define TR_MAIN_VIEW_4 TR_MAIN_VIEW_X "4" +#define TR_MAIN_VIEW_5 TR_MAIN_VIEW_X "5" +#define TR_MAIN_VIEW_6 TR_MAIN_VIEW_X "6" +#define TR_MAIN_VIEW_7 TR_MAIN_VIEW_X "7" +#define TR_MAIN_VIEW_8 TR_MAIN_VIEW_X "8" +#define TR_MAIN_VIEW_9 TR_MAIN_VIEW_X "9" +#define TR_MAIN_VIEW_10 TR_MAIN_VIEW_X "10" +#define TR_TIMER_1 TR_TIMER "1" +#define TR_TIMER_2 TR_TIMER "2" +#define TR_TIMER_3 TR_TIMER "3" + +#if !defined(COLORLCD) +#define TR_POPUPS_ENTER_EXIT TR_BW_COL(TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010\010\010\010" TR_ENTER), TR_ENTER "\010" TR_EXIT) +#endif diff --git a/radio/src/translations/translations.cpp b/radio/src/translations/translations.cpp new file mode 100644 index 00000000000..b74751c8525 --- /dev/null +++ b/radio/src/translations/translations.cpp @@ -0,0 +1,73 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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 "edgetx.h" +#include "translations/translation_def.h" + +#if defined(TRANSLATIONS_FR) +#include "translations/i18n/fr.h" +#elif defined(TRANSLATIONS_IT) +#include "translations/i18n/it.h" +#elif defined(TRANSLATIONS_DA) +#include "translations/i18n/da.h" +#elif defined(TRANSLATIONS_SE) +#include "translations/i18n/se.h" +#elif defined(TRANSLATIONS_FI) +#include "translations/i18n/fi.h" +#elif defined(TRANSLATIONS_DE) +#include "translations/i18n/de.h" +#elif defined(TRANSLATIONS_CZ) +#include "translations/i18n/cz.h" +#elif defined(TRANSLATIONS_ES) +#include "translations/i18n/es.h" +#elif defined(TRANSLATIONS_PL) +#include "translations/i18n/pl.h" +#elif defined(TRANSLATIONS_PT) +#include "translations/i18n/pt.h" +#elif defined(TRANSLATIONS_NL) +#include "translations/i18n/nl.h" +#elif defined(TRANSLATIONS_CN) +#include "translations/i18n/cn.h" +#elif defined(TRANSLATIONS_TW) +#include "translations/i18n/tw.h" +#elif defined(TRANSLATIONS_JP) +#include "translations/i18n/jp.h" +#elif defined(TRANSLATIONS_RU) +#include "translations/i18n/ru.h" +#elif defined(TRANSLATIONS_HE) +#include "translations/i18n/he.h" +#elif defined(TRANSLATIONS_KO) +#include "translations/i18n/ko.h" +#elif defined(TRANSLATIONS_UA) +#include "translations/i18n/ua.h" +#else +#include "translations/i18n/en.h" +#endif + +const char CHR_HOUR = TR_CHR_HOUR; +const char CHR_INPUT = TR_CHR_INPUT; + +// Static string +#define STR(x) const char STR_##x[] = TR_##x; +// Static string array +#define STRARRAY(x) const char* const STR_##x[] = { TR_##x }; + +#include "translations/string_list.h" diff --git a/radio/src/translations/translations.h b/radio/src/translations/translations.h new file mode 100644 index 00000000000..a067fc4f98b --- /dev/null +++ b/radio/src/translations/translations.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * 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. + */ + +#pragma once + +#include +#include "edgetx_types.h" +#include "translations/untranslated.h" +#include "translations/tts/tts.h" + +// Static string +#define STR(x) extern const char STR_##x[]; +// Static string array +#define STRARRAY(x) extern const char* const STR_##x[]; + +#include "translations/string_list.h" + +#if !(defined(AUDIO) && defined(BUZZER)) +#define STR_SPEAKER STR_MODE +#define STR_BUZZER STR_MODE +#endif + +#undef STR +#undef STRARRAY diff --git a/radio/src/translations.h b/radio/src/translations/tts/tts.h similarity index 52% rename from radio/src/translations.h rename to radio/src/translations/tts/tts.h index 14072aba92f..97b172e0886 100644 --- a/radio/src/translations.h +++ b/radio/src/translations/tts/tts.h @@ -21,118 +21,8 @@ #pragma once -#include -#include "edgetx_types.h" -#include "translations/untranslated.h" #include "audio.h" -#if defined(TRANSLATIONS_FR) -#include "translations/fr.h" -#define LEN_SPECIAL_CHARS 3 -#elif defined(TRANSLATIONS_IT) -#include "translations/it.h" -#define LEN_SPECIAL_CHARS 1 -#elif defined(TRANSLATIONS_DA) -#include "translations/da.h" -#define LEN_SPECIAL_CHARS 6 -#elif defined(TRANSLATIONS_SE) -#include "translations/se.h" -#define LEN_SPECIAL_CHARS 6 -#elif defined(TRANSLATIONS_FI) -#include "translations/fi.h" -#define LEN_SPECIAL_CHARS 6 -#elif defined(TRANSLATIONS_DE) -#include "translations/de.h" -#define LEN_SPECIAL_CHARS 6 -#elif defined(TRANSLATIONS_CZ) -#include "translations/cz.h" -#define LEN_SPECIAL_CHARS 17 -#elif defined(TRANSLATIONS_ES) -#include "translations/es.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_PL) -#include "translations/pl.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_PT) -#include "translations/pt.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_NL) -#include "translations/nl.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_CN) -#include "translations/cn.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_TW) -#include "translations/tw.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_JP) -#include "translations/jp.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_RU) -#include "translations/ru.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_HE) -#include "translations/he.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_KO) -#include "translations/ko.h" -#define LEN_SPECIAL_CHARS 0 -#elif defined(TRANSLATIONS_UA) -#include "translations/ua.h" -#define LEN_SPECIAL_CHARS 0 -#else -#include "translations/en.h" -#define LEN_SPECIAL_CHARS 0 -#endif - -#define PSIZE(x) ( sizeof(x) - 1 ) - -#if NARROW_LAYOUT - #define TR3(x, y, z) z - #define TR(x, y) y -#elif LCD_W >= 480 - #define TR3(x, y, z) z - #define TR(x, y) y -#elif LCD_W >= 212 - #define TR3(x, y, z) y - #define TR(x, y) y -#else - #define TR3(x, y, z) x - #define TR(x, y) x -#endif - -#if defined(COLORLCD) - #define BUTTON(x) x - #define TRC(x, y) y -#else - #define BUTTON(x) "[" x "]" - #define TRC(x, y) x -#endif - -#if defined(SURFACE_RADIO) - #define TRSA(x, y) x -#else - #define TRSA(x, y) y -#endif - -#if (LCD_W == 212) || defined(COLORLCD) - #define LCDW_128_LINEBREAK -#else - #define LCDW_128_LINEBREAK "\036" -#endif - -constexpr int g_max_plural2 = TR_MAX_PLURAL2; -constexpr int g_min_plural2 = TR_MIN_PLURAL2; -constexpr int g_use_singular_in_plural = TR_USE_SINGULAR_IN_PLURAL; -constexpr int g_use_plural2_special_case = TR_USE_PLURAL2_SPECIAL_CASE; -constexpr int g_use_plural2 = TR_USE_PLURAL2; - -extern const char CHR_HOUR; -extern const char CHR_INPUT; - -#define LEN_MULTIPLIER PSIZE(TR_MULTIPLIER) -#define STR_UPDATE_LIST STR_DELAYDOWN - struct LanguagePack { const char * id; const char * name; @@ -215,24 +105,3 @@ inline PLAY_FUNCTION(playNumber, getvalue_t number, uint8_t unit, uint8_t flags) inline PLAY_FUNCTION(playDuration, int seconds, uint8_t flags) { currentLanguagePack->playDuration(seconds, flags, id, fragmentVolume); } - -// Static string -#define STR(x) extern const char STR_##x[]; -// Static string array -#define STRARRAY(x) extern const char* const STR_##x[]; - -#include "string_list.h" - -STR(SF_SET_SCREEN); -STR(RX); - -#if defined(AUDIO) && defined(BUZZER) -STR(SPEAKER); -STR(BUZZER); -#else -#define STR_SPEAKER STR_MODE -#define STR_BUZZER STR_MODE -#endif - -#undef STR -#undef STRARRAY diff --git a/radio/src/translations/tts_cn.cpp b/radio/src/translations/tts/tts_cn.cpp similarity index 98% rename from radio/src/translations/tts_cn.cpp rename to radio/src/translations/tts/tts_cn.cpp index 78ab8fc5a15..5eb5391df25 100644 --- a/radio/src/translations/tts_cn.cpp +++ b/radio/src/translations/tts/tts_cn.cpp @@ -129,5 +129,5 @@ I18N_PLAY_FUNCTION(cn, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(cn, TR_VOICE_CHINESE); +LANGUAGE_PACK_DECLARE(cn, STR_VOICE_CHINESE); diff --git a/radio/src/translations/tts_cz.cpp b/radio/src/translations/tts/tts_cz.cpp similarity index 99% rename from radio/src/translations/tts_cz.cpp rename to radio/src/translations/tts/tts_cz.cpp index 04deb703ee3..1c9476c4f36 100644 --- a/radio/src/translations/tts_cz.cpp +++ b/radio/src/translations/tts/tts_cz.cpp @@ -186,5 +186,5 @@ I18N_PLAY_FUNCTION(cz, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(cz, TR_VOICE_CZECH); +LANGUAGE_PACK_DECLARE(cz, STR_VOICE_CZECH); diff --git a/radio/src/translations/tts_da.cpp b/radio/src/translations/tts/tts_da.cpp similarity index 98% rename from radio/src/translations/tts_da.cpp rename to radio/src/translations/tts/tts_da.cpp index 45811f0fff3..ec920bba1af 100644 --- a/radio/src/translations/tts_da.cpp +++ b/radio/src/translations/tts/tts_da.cpp @@ -124,5 +124,5 @@ I18N_PLAY_FUNCTION(da, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(da, TR_VOICE_DANISH); +LANGUAGE_PACK_DECLARE(da, STR_VOICE_DANISH); diff --git a/radio/src/translations/tts_de.cpp b/radio/src/translations/tts/tts_de.cpp similarity index 99% rename from radio/src/translations/tts_de.cpp rename to radio/src/translations/tts/tts_de.cpp index d8522d3d368..37ae85a6a35 100644 --- a/radio/src/translations/tts_de.cpp +++ b/radio/src/translations/tts/tts_de.cpp @@ -170,5 +170,5 @@ I18N_PLAY_FUNCTION(de, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(de, TR_VOICE_DEUTSCH); +LANGUAGE_PACK_DECLARE(de, STR_VOICE_DEUTSCH); diff --git a/radio/src/translations/tts_en.cpp b/radio/src/translations/tts/tts_en.cpp similarity index 98% rename from radio/src/translations/tts_en.cpp rename to radio/src/translations/tts/tts_en.cpp index af42cc03ba1..6a3a0900d8f 100644 --- a/radio/src/translations/tts_en.cpp +++ b/radio/src/translations/tts/tts_en.cpp @@ -130,5 +130,5 @@ I18N_PLAY_FUNCTION(en, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE_DEFAULT(en, TR_VOICE_ENGLISH); +LANGUAGE_PACK_DECLARE_DEFAULT(en, STR_VOICE_ENGLISH); diff --git a/radio/src/translations/tts_es.cpp b/radio/src/translations/tts/tts_es.cpp similarity index 99% rename from radio/src/translations/tts_es.cpp rename to radio/src/translations/tts/tts_es.cpp index 4e73e5b23c5..25c7918e0cf 100644 --- a/radio/src/translations/tts_es.cpp +++ b/radio/src/translations/tts/tts_es.cpp @@ -194,5 +194,5 @@ I18N_PLAY_FUNCTION(es, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(es, TR_VOICE_ESPANOL); +LANGUAGE_PACK_DECLARE(es, STR_VOICE_ESPANOL); diff --git a/radio/src/translations/tts_fr.cpp b/radio/src/translations/tts/tts_fr.cpp similarity index 98% rename from radio/src/translations/tts_fr.cpp rename to radio/src/translations/tts/tts_fr.cpp index 0f54475ea01..5e4f826ded6 100644 --- a/radio/src/translations/tts_fr.cpp +++ b/radio/src/translations/tts/tts_fr.cpp @@ -168,5 +168,5 @@ I18N_PLAY_FUNCTION(fr, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(fr, TR_VOICE_FRANCAIS); +LANGUAGE_PACK_DECLARE(fr, STR_VOICE_FRANCAIS); diff --git a/radio/src/translations/tts_he.cpp b/radio/src/translations/tts/tts_he.cpp similarity index 98% rename from radio/src/translations/tts_he.cpp rename to radio/src/translations/tts/tts_he.cpp index 8da5b3871d1..7bf10d8472c 100644 --- a/radio/src/translations/tts_he.cpp +++ b/radio/src/translations/tts/tts_he.cpp @@ -129,5 +129,5 @@ I18N_PLAY_FUNCTION(he, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(he, TR_VOICE_HEBREW); +LANGUAGE_PACK_DECLARE(he, STR_VOICE_HEBREW); diff --git a/radio/src/translations/tts_hu.cpp b/radio/src/translations/tts/tts_hu.cpp similarity index 98% rename from radio/src/translations/tts_hu.cpp rename to radio/src/translations/tts/tts_hu.cpp index 01840c71cee..390766a21e5 100644 --- a/radio/src/translations/tts_hu.cpp +++ b/radio/src/translations/tts/tts_hu.cpp @@ -127,5 +127,5 @@ I18N_PLAY_FUNCTION(hu, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(hu, TR_VOICE_HUNGARIAN); +LANGUAGE_PACK_DECLARE(hu, STR_VOICE_HUNGARIAN); diff --git a/radio/src/translations/tts_it.cpp b/radio/src/translations/tts/tts_it.cpp similarity index 99% rename from radio/src/translations/tts_it.cpp rename to radio/src/translations/tts/tts_it.cpp index 614b9999464..ef25a20a2b5 100644 --- a/radio/src/translations/tts_it.cpp +++ b/radio/src/translations/tts/tts_it.cpp @@ -179,5 +179,5 @@ I18N_PLAY_FUNCTION(it, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(it, TR_VOICE_ITALIANO); +LANGUAGE_PACK_DECLARE(it, STR_VOICE_ITALIANO); diff --git a/radio/src/translations/tts_jp.cpp b/radio/src/translations/tts/tts_jp.cpp similarity index 98% rename from radio/src/translations/tts_jp.cpp rename to radio/src/translations/tts/tts_jp.cpp index 2e5baab8186..0b4fa7e2637 100644 --- a/radio/src/translations/tts_jp.cpp +++ b/radio/src/translations/tts/tts_jp.cpp @@ -129,5 +129,5 @@ I18N_PLAY_FUNCTION(jp, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(jp, TR_VOICE_JAPANESE); +LANGUAGE_PACK_DECLARE(jp, STR_VOICE_JAPANESE); diff --git a/radio/src/translations/tts_ko.cpp b/radio/src/translations/tts/tts_ko.cpp similarity index 98% rename from radio/src/translations/tts_ko.cpp rename to radio/src/translations/tts/tts_ko.cpp index 2e4a4d3f4a8..b310990e846 100644 --- a/radio/src/translations/tts_ko.cpp +++ b/radio/src/translations/tts/tts_ko.cpp @@ -125,5 +125,5 @@ I18N_PLAY_FUNCTION(ko, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(ko, TR_VOICE_KOREAN); +LANGUAGE_PACK_DECLARE(ko, STR_VOICE_KOREAN); diff --git a/radio/src/translations/tts_nl.cpp b/radio/src/translations/tts/tts_nl.cpp similarity index 98% rename from radio/src/translations/tts_nl.cpp rename to radio/src/translations/tts/tts_nl.cpp index d5503209ed8..b1913ea1d54 100644 --- a/radio/src/translations/tts_nl.cpp +++ b/radio/src/translations/tts/tts_nl.cpp @@ -131,5 +131,5 @@ I18N_PLAY_FUNCTION(nl, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(nl, TR_VOICE_DUTCH); +LANGUAGE_PACK_DECLARE(nl, STR_VOICE_DUTCH); diff --git a/radio/src/translations/tts_pl.cpp b/radio/src/translations/tts/tts_pl.cpp similarity index 99% rename from radio/src/translations/tts_pl.cpp rename to radio/src/translations/tts/tts_pl.cpp index 41b41fb391c..5a1eb7cc0eb 100644 --- a/radio/src/translations/tts_pl.cpp +++ b/radio/src/translations/tts/tts_pl.cpp @@ -234,5 +234,5 @@ I18N_PLAY_FUNCTION(pl, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(pl, TR_VOICE_POLISH); +LANGUAGE_PACK_DECLARE(pl, STR_VOICE_POLISH); diff --git a/radio/src/translations/tts_pt.cpp b/radio/src/translations/tts/tts_pt.cpp similarity index 99% rename from radio/src/translations/tts_pt.cpp rename to radio/src/translations/tts/tts_pt.cpp index d263fb1f6b3..c6a7dd5055b 100644 --- a/radio/src/translations/tts_pt.cpp +++ b/radio/src/translations/tts/tts_pt.cpp @@ -184,5 +184,5 @@ I18N_PLAY_FUNCTION(pt, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(pt, TR_VOICE_PORTUGUES); +LANGUAGE_PACK_DECLARE(pt, STR_VOICE_PORTUGUES); diff --git a/radio/src/translations/tts_ru.cpp b/radio/src/translations/tts/tts_ru.cpp similarity index 99% rename from radio/src/translations/tts_ru.cpp rename to radio/src/translations/tts/tts_ru.cpp index 0a7ebcced0f..57c74184519 100644 --- a/radio/src/translations/tts_ru.cpp +++ b/radio/src/translations/tts/tts_ru.cpp @@ -188,5 +188,5 @@ I18N_PLAY_FUNCTION(ru, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(ru, TR_VOICE_RUSSIAN); +LANGUAGE_PACK_DECLARE(ru, STR_VOICE_RUSSIAN); diff --git a/radio/src/translations/tts_se.cpp b/radio/src/translations/tts/tts_se.cpp similarity index 98% rename from radio/src/translations/tts_se.cpp rename to radio/src/translations/tts/tts_se.cpp index e9f0761314a..d70d149a0dd 100644 --- a/radio/src/translations/tts_se.cpp +++ b/radio/src/translations/tts/tts_se.cpp @@ -124,5 +124,5 @@ I18N_PLAY_FUNCTION(se, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(se, TR_VOICE_SWEDISH); +LANGUAGE_PACK_DECLARE(se, STR_VOICE_SWEDISH); diff --git a/radio/src/translations/tts_sk.cpp b/radio/src/translations/tts/tts_sk.cpp similarity index 98% rename from radio/src/translations/tts_sk.cpp rename to radio/src/translations/tts/tts_sk.cpp index 73e511bb4d1..b970952c2e1 100644 --- a/radio/src/translations/tts_sk.cpp +++ b/radio/src/translations/tts/tts_sk.cpp @@ -184,5 +184,5 @@ I18N_PLAY_FUNCTION(sk, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(sk, TR_VOICE_SLOVAK); +LANGUAGE_PACK_DECLARE(sk, STR_VOICE_SLOVAK); diff --git a/radio/src/translations/tts_ua.cpp b/radio/src/translations/tts/tts_ua.cpp similarity index 99% rename from radio/src/translations/tts_ua.cpp rename to radio/src/translations/tts/tts_ua.cpp index 66b5cad9158..b0bc8d6bff7 100644 --- a/radio/src/translations/tts_ua.cpp +++ b/radio/src/translations/tts/tts_ua.cpp @@ -187,4 +187,4 @@ I18N_PLAY_FUNCTION(ua, playDuration, int seconds PLAY_DURATION_ATT) } } -LANGUAGE_PACK_DECLARE(ua, TR_VOICE_UKRAINIAN); +LANGUAGE_PACK_DECLARE(ua, STR_VOICE_UKRAINIAN); diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h index 9c2e7875dd2..c6d2d99c7a8 100644 --- a/radio/src/translations/untranslated.h +++ b/radio/src/translations/untranslated.h @@ -28,49 +28,45 @@ * \0 -ends current string */ -#include "MultiProtoDefs.h" +#define TR_MIN_PLURAL2 2 -#define TR_FUNC_SW "SW" - -#define TR_VTRAINERMODES \ - TR_VTRAINER_MASTER_OFF, TR_VTRAINER_MASTER_JACK, TR_VTRAINER_SLAVE_JACK, \ - TR_VTRAINER_MASTER_SBUS_MODULE, TR_VTRAINER_MASTER_CPPM_MODULE, \ - TR_VTRAINER_MASTER_BATTERY, TR_VTRAINER_BLUETOOTH, TR_VTRAINER_MULTI, TR_VTRAINER_CRSF +#if defined(TRANSLATIONS_CZ) || defined(TRANSLATIONS_PL) + #define TR_MAX_PLURAL2 4 + #define TR_USE_PLURAL2_SPECIAL_CASE 1 +#else + #define TR_MAX_PLURAL2 2 + #define TR_USE_PLURAL2_SPECIAL_CASE 0 +#endif -#if defined(PCBHORUS) - #define TR_SM_VSRCRAW "smA","smB","smC","smD","smE","smF", +// For this number of minute in the last decimal place singular form is used in plural +#if defined(TRANSLATIONS_CN) || defined(TRANSLATIONS_DA) || defined(TRANSLATIONS_DE) || defined(TRANSLATIONS_ES) || \ + defined(TRANSLATIONS_FI) || defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_JP) || defined(TRANSLATIONS_NL) || \ + defined(TRANSLATIONS_PT) || defined(TRANSLATIONS_SE) || defined(TRANSLATIONS_TW) + #define TR_USE_SINGULAR_IN_PLURAL 1 #else - #define TR_SM_VSRCRAW + #define TR_USE_SINGULAR_IN_PLURAL 0 #endif -#define TR_EMPTY "---" +// If the number of minutes is above this value PLURAL2 is used +#if defined(TRANSLATIONS_CZ) + #define TR_USE_PLURAL2 20 +#else + #define TR_USE_PLURAL2 INT_MAX +#endif -#define TR_CRSF_BAUDRATE "115k","400k","921k","1.87M","3.75M","5.25M" +constexpr int g_max_plural2 = TR_MAX_PLURAL2; +constexpr int g_min_plural2 = TR_MIN_PLURAL2; +constexpr int g_use_singular_in_plural = TR_USE_SINGULAR_IN_PLURAL; +constexpr int g_use_plural2_special_case = TR_USE_PLURAL2_SPECIAL_CASE; +constexpr int g_use_plural2 = TR_USE_PLURAL2; -#define TR_MODULE_R9M_LITE "R9MLite" +extern const char CHR_HOUR; +extern const char CHR_INPUT; -#define TR_MODULE_PROTOCOLS \ - TR_OFF, \ - "PPM", \ - "XJT", \ - "ISRM", \ - "DSM2", \ - "CRSF", \ - "MULTI", \ - "R9M", \ - "R9M ACCESS", \ - TR_MODULE_R9M_LITE, \ - "R9ML ACCESS", \ - "GHST", \ - "R9MLP ACCESS", \ - "SBUS", \ - "XJT Lite", \ - "AFHDS2A", \ - "AFHDS3", \ - TR("Lemon DSMP","LemonRx DSMP") +#define STR_UPDATE_LIST STR_DELAYDOWN -#define TR_XJT_ACCST_RF_PROTOCOLS "D16","D8","LR12" -#define TR_ISRM_RF_PROTOCOLS "ACCESS","D16","LR12" +#define STR_V (STR_VTELEMUNIT[1]) +#define STR_A (STR_VTELEMUNIT[2]) // ACCESS STUFF #define STR_SBUSIN "SBUS in" @@ -78,35 +74,6 @@ #define STR_SPORT "S.PORT" #define STR_FBUS "FBUS" #define STR_SBUS24 "SBUS24" -#define TR_SPORT_MODES STR_SPORT,"F.PORT",STR_FBUS -#define TR_R9M_PXX2_RF_PROTOCOLS "ACCESS","FCC","EU","Flex" -#define TR_R9M_REGION "FCC","EU","868MHz","915MHz" -#define TR_R9M_LITE_FCC_POWER_VALUES "(100mW)" -#define TR_R9M_LITE_LBT_POWER_VALUES "25mW 8CH","25mW 16CH","100mW NoTele" -#define TR_R9M_FCC_POWER_VALUES "10mW","100mW","500mW","1W (auto)" -#define TR_R9M_LBT_POWER_VALUES "25mW 8CH","25mW 16CH","200mW NoTele","500mW NoTele" - -#define TR_PPM_PROTOCOLS TR("No Telem", "No Telemetry"),"MLink","SPort" -#define TR_SBUS_PROTOCOLS TR("No Telem", "No Telemetry"),"SPort" -#define TR_DSM_PROTOCOLS "LP45","DSM2","DSMX" - -#define TR_MULTI_PROTOCOLS PROTO_NAMES -#define TR_MULTI_BAYANG_OPTIONS BAYANG_OPTION_TELEMETRY_NAMES -#define TR_MULTI_DSM_OPTIONS DSM2_OPTION_SERVOFREQ_NAMES -#define TR_MULTI_DSM_CLONE DSM_CLONE_NAMES - -#define TR_MULTI_POWER "1.6mW","2.0mW","2.5mW","3.2mW","4.0mW","5.0mW","6.3mW","7.9mW","10mW","13mW","16mW","20mW","25mW","32mW","40mW","50mW" -#define TR_MULTI_WBUS_MODE "WBUS","PPM" - -#define TR_AFHDS3_PROTOCOLS "PWM/IBUS","PWM/SBUS","PPM/IBUS","PPM/SBUS" -#define TR_AFHDS3_POWERS "25mW","50mW","100mW","250mW","500mW","1W","2W" -#define TR_FLYSKY_PULSE_PROTO "PWM","PPM" -#define TR_FLYSKY_SERIAL_PROTO "iBUS","SBUS" -#define TR_PPM_POL "-","+" -#define TR_PWR_OFF_DELAYS "0s","0.5s","1s","2s","3s" -#if defined(COLORLCD) -#define TR_SPLASHSCREEN_DELAYS "1s","2s","3s","4s","6s","8s","10s","15s" -#endif // Telemetry sensor name definitions #define STR_SENSOR_RSSI "RSSI" @@ -308,23 +275,9 @@ #define STR_CHAR_LS "\302\225" #define STR_CHAR_CURVE "\302\226" -#if !defined(COLORLCD) - // '~' is remapped to 0x7B in B&W font - #define STR_CHAR_TILDE "{" -#else - #define STR_CHAR_TILDE "~" -#endif - #define STR_CHAR_BW_GREATEREQUAL '}' #define STR_CHAR_BW_DEGREE '@' -#define TR_FSGROUPS "-","1","2","3","4" -#if defined(COLORLCD) -#define TR_FSSWITCHES TR_LAST, "SW1", "SW2", "SW3", "SW4", "SW5", "SW6", TR_OFF -#else -#define TR_FSSWITCHES "=", "SW1", "SW2", "SW3", "SW4", "SW5", "SW6", TR_OFF -#endif - // // HoTT Telemetry sensor names by Hott device // diff --git a/tools/cfn_sorter.cpp b/tools/cfn_sorter.cpp index c08bbed7d65..b046b7d7c9f 100755 --- a/tools/cfn_sorter.cpp +++ b/tools/cfn_sorter.cpp @@ -13,6 +13,7 @@ #define LCD_W 480 #define TR(a,b) b #define TR3(a, b, c) c +#define TR_BW_COL(a, b) b #if defined(LNG_CN) #include "../radio/src/translations/cn.h" @@ -122,8 +123,7 @@ int main() { TR_SF_SCREENSHOT, "FUNC_SCREENSHOT", FUNC_SCREENSHOT, "" }, { TR_SF_RACING_MODE, "FUNC_RACING_MODE", FUNC_RACING_MODE, "" }, { TR_SF_DISABLE_TOUCH, "FUNC_DISABLE_TOUCH", FUNC_DISABLE_TOUCH, "defined(COLORLCD)" }, - { TR_SF_SET_SCREEN, "FUNC_SET_SCREEN", FUNC_SET_SCREEN, "defined(COLORLCD)" }, - { TR_SF_SET_TELEMSCREEN, "FUNC_SET_SCREEN", FUNC_SET_SCREEN, "!defined(COLORLCD)" }, + { TR_SF_SET_SCREEN, "FUNC_SET_SCREEN", FUNC_SET_SCREEN, "" }, { TR_SF_DISABLE_AUDIO_AMP, "FUNC_DISABLE_AUDIO_AMP", FUNC_DISABLE_AUDIO_AMP, "" }, { TR_SF_RGBLEDS, "FUNC_RGB_LED", FUNC_RGB_LED, "" }, { TR_SF_LCD_TO_VIDEO, "FUNC_LCD_TO_VIDEO", FUNC_LCD_TO_VIDEO, "defined(VIDEO_SWITCH)" },