From 2cfd95a0260cdab4f1b0a4e692e99bbbeab0c101 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Fri, 11 Apr 2014 20:16:51 +0200 Subject: [PATCH 01/46] Make flightmode, switch and system file names case insensitive. --- radio/src/audio_arm.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index 9f9bff8c9..259ebdae2 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -274,7 +274,7 @@ void referenceSystemAudioFiles() for (int i=0; i-[up|mid|down].wav for (int i=0; i Date: Mon, 14 Apr 2014 10:41:09 +0200 Subject: [PATCH 02/46] Update DONATIONS.txt --- DONATIONS.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 5e0c8235a..ab36b7cd4 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -368,3 +368,5 @@ Gordon Evans Fred Figge Uwe Kuehn David Beatty +Aaron Stringer +Alan J Wasserman From a3804b25e7863ed040d419f7f76c1101bea1c998 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 14 Apr 2014 11:48:56 +0200 Subject: [PATCH 03/46] Fixes #967 --- radio/src/gui/menus.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/radio/src/gui/menus.cpp b/radio/src/gui/menus.cpp index f29924a6b..6aeb994c3 100644 --- a/radio/src/gui/menus.cpp +++ b/radio/src/gui/menus.cpp @@ -1478,6 +1478,10 @@ bool isSwitchAvailable(int swtch) return false; } + if (swtch < 0) { + swtch = -swtch; + } + if (swtch >= SWSRC_FIRST_CSW && swtch <= SWSRC_LAST_CSW) { LogicalSwitchData * cs = cswAddress(swtch-SWSRC_FIRST_CSW); return (cs->func != LS_FUNC_NONE); From a068323df1ac1e5a405a44fd79ba5bfacb2c0fb4 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 14 Apr 2014 12:07:59 +0200 Subject: [PATCH 04/46] strcasecmp used rather than strcmpi --- radio/src/audio_arm.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index 259ebdae2..55896cbf1 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -274,7 +274,7 @@ void referenceSystemAudioFiles() for (int i=0; i-[up|mid|down].wav for (int i=0; i Date: Mon, 14 Apr 2014 13:22:09 +0200 Subject: [PATCH 05/46] Fixes #965 --- companion/src/firmwares/opentx/opentxeeprom.cpp | 6 ++++-- radio/src/eeprom_conversions.cpp | 10 ++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 466f8dfa5..588bb6562 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -86,8 +86,10 @@ class SwitchesConversionTable: public ConversionTable { addConversion(RawSwitch(SWITCH_TYPE_VIRTUAL, i), val++); } - addConversion(RawSwitch(SWITCH_TYPE_OFF), -val+offset); - addConversion(RawSwitch(SWITCH_TYPE_ON), val++); + if (!(flags & POPULATE_TIMER_MODES)) { + addConversion(RawSwitch(SWITCH_TYPE_OFF), -val+offset); + addConversion(RawSwitch(SWITCH_TYPE_ON), val++); + } if (version < 216) { // previous "moment" switches diff --git a/radio/src/eeprom_conversions.cpp b/radio/src/eeprom_conversions.cpp index f1fbe8c83..af715fef8 100644 --- a/radio/src/eeprom_conversions.cpp +++ b/radio/src/eeprom_conversions.cpp @@ -387,12 +387,14 @@ int ConvertSwitch_215_to_216(int swtch) return -ConvertSwitch_215_to_216(-swtch); else if (swtch <= SWSRC_LAST_SWITCH) return swtch; + else if (swtch > SWSRC_LAST_SWITCH + 32) { + swtch -= (22+32); + if (swtch > SWSRC_ON) + swtch = 0; + return swtch; + } else { swtch += (2*4) + (3*6); // 4 trims and 2 * 6-pos added as switches - if (swtch > SWSRC_ON) - swtch -= (22+32+1); - if (swtch > SWSRC_ON) - swtch = SWSRC_ON; return swtch; } } From b605dd94ebe30d8ccca40dc68dfc8c1315e288ae Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 14 Apr 2014 13:31:09 +0200 Subject: [PATCH 06/46] Fixes #968 --- companion/src/modeledit/logicalswitches.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/companion/src/modeledit/logicalswitches.cpp b/companion/src/modeledit/logicalswitches.cpp index eeadacbae..ad799cf0c 100644 --- a/companion/src/modeledit/logicalswitches.cpp +++ b/companion/src/modeledit/logicalswitches.cpp @@ -308,6 +308,7 @@ void LogicalSwitchesPanel::setSwitchWidgetVisibility(int i) populateSourceCB(cswitchSource2[i], RawSource(model.customSw[i].val2), model, POPULATE_SOURCES | POPULATE_TRIMS | POPULATE_VIRTUAL_INPUTS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0)); break; case LS_FAMILY_TIMER: + mask |= VALUE1_VISIBLE | VALUE2_VISIBLE; updateTimerParam(cswitchValue[i], model.customSw[i].val1); updateTimerParam(cswitchOffset[i], model.customSw[i].val2); break; From 9b7cca6bcbd177a27449640d1f68de08f71df983 Mon Sep 17 00:00:00 2001 From: Kjell Kernen Date: Mon, 14 Apr 2014 13:44:05 +0200 Subject: [PATCH 07/46] German Companion translation updated by Hrenz --- companion/src/translations/companion_de.ts | 2214 ++++++++++---------- 1 file changed, 1118 insertions(+), 1096 deletions(-) diff --git a/companion/src/translations/companion_de.ts b/companion/src/translations/companion_de.ts index 3c0789f38..3a48c6b36 100644 --- a/companion/src/translations/companion_de.ts +++ b/companion/src/translations/companion_de.ts @@ -11,22 +11,22 @@ Yes, controlled by a single channel - + Ja, mit einem Kaal Yes, controlled by two channels - + Ja, mit 2 Kanälen <br>First Aileron Channel: - + <br> Erster rechter Querrder Kanal Second Aileron Channel: - + Zweiter Linker Querruder Kanal @@ -39,22 +39,22 @@ Yes, controlled by a single channel - + Ja, mit einem Servo Yes, controlled by two channels - + Ya, mit 2 Servos <br>First Airbrake Channel: - + <br> Erster Airbrake Kanal Second Airbrake Channel: - + Zweiter Airbrake Kanal @@ -62,22 +62,22 @@ One - + Ein Two - + Zwei <br>First Elevon Channel: - + <br>Erster Höhenruder Kanal Second Elevon Channel: - + Zweiter Höhen Kanal @@ -100,12 +100,12 @@ Subtrim - + Mitte Direction - + Richtung @@ -115,17 +115,17 @@ PPM Center - + PPM Mitte Linear Subtrim - + Mitte Mode Channel %1 - + Kanal %1 @@ -143,7 +143,7 @@ OK, I understand. - + OK verstanden @@ -205,7 +205,7 @@ Curve Creator - + Kurve erzeugen @@ -235,7 +235,7 @@ Apply - + Anwenden @@ -290,7 +290,7 @@ Are you sure you want to reset curve %1 ? - + Die Kurve %1 wirklich zurücksetzen? @@ -300,88 +300,89 @@ Not enough free points in EEPROM to store the curve. - + Nicht genug freie Punkte im EEPROM um die Kurve zu speichern CustomFunctionsPanel - + Switch Schalter - + Action - + Parameters - + Parameter - + Enable Aktivieren - + SF%1 - + SF%1 + - + ON EIN - + Error Fehler - + Unable to find sound file %1! - + Kann das Soundfile %1 nicht finden - + &Delete &Löschen - + Delete Löschen - + &Copy &Kopieren - + Ctrl+C Ctrl+C - + &Cut &Ausschneiden - + Ctrl+X Ctrl+X - + &Paste - + Ein&fügen - + Ctrl+V Ctrl+V @@ -414,7 +415,7 @@ Weight - Weg + Gewichtung @@ -430,12 +431,12 @@ Input name - + Input Name Phase used by the input. - + Flugfphase benutzt als Input @@ -511,7 +512,7 @@ If blank then the input is considered to be "ON" all the time. Line name - + Info Name @@ -547,7 +548,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Scale - Skala + Gewichtung @@ -587,7 +588,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Edit %1 - + Edit %1 @@ -615,22 +616,22 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Trottle Channel: - + Gas Kanal Yaw Channel: - + Yaw Heck Kanal Pitch Channel: - + Pitch Kanal Roll Channel: - + Roll Kanal @@ -638,27 +639,27 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 No - Nein + Nein Yes, controlled by a single channel - + Ja mit einem Kanal Yes, controlled by two channels - + Ja, mit 2 Kanälen <br>First Flap Channel: - + <br> Erster, rechter Flpa Kanal Second Flap Channel: - + Zweiter, linker Flap Kanal @@ -738,23 +739,28 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 GVAR%1 GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 - + Flugphase %1 - + (%1) (%1) - + (default) - + @@ -762,17 +768,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Has Flybar - + Has Flybar Flybarless - + Flybarless Flybar: - + Flybar: @@ -1071,7 +1077,7 @@ Mode 4: chn1 - chn1 + Kanal 1 @@ -1084,7 +1090,7 @@ Mode 4: chn2 - chn2 + Kanal 2 @@ -1092,7 +1098,7 @@ Mode 4: chn3 - chn3 + Kanal 3 @@ -1100,7 +1106,7 @@ Mode 4: chn4 - chn4 + Kanal 3 @@ -1154,17 +1160,17 @@ Mode 4: Haptic Length - + Haptik Länge GPS Coordinates - + GPS Koordinaten Store calib. and hw settings in selected profile - + GPS Koordinanten @@ -1174,7 +1180,7 @@ Mode 4: Speaker - + Lautsprecher @@ -1189,22 +1195,22 @@ Mode 4: hh° (N/S) mm' ss''.dd - + GMS hh° (N/S) mm' ss''.dd NMEA - + Timeshift from UTC - + Zeitverschiebung von UTC LCD Display Type - + LCD Display Typ @@ -1214,17 +1220,17 @@ Mode 4: Optrex - + Optrex LCD Speaker Volume - + Lautstärke Haptic Strength - + Haptik Stärke @@ -1234,7 +1240,7 @@ Mode 4: RotEnc Navigation - + Drehgeber Navigation @@ -1249,7 +1255,7 @@ Mode 4: Country Code - + Ländercode @@ -1269,7 +1275,7 @@ Mode 4: Voice Language - + Ansagesprache @@ -1294,7 +1300,7 @@ Mode 4: Measurement Units - + Maßeinheiten @@ -1314,7 +1320,7 @@ Mode 4: MAVLink Baud Rate - + Mav Link Baudrate @@ -1369,7 +1375,7 @@ Mode 4: Vario pitch at zero - + Vario Frequenz bei Min @@ -1489,7 +1495,7 @@ Mode 4: S3 Type - + S3-Type @@ -1499,17 +1505,17 @@ Mode 4: S-Port Mirror - + S_Port Ausgang Debug - + Debugmode Serial Port - + Serielle Schnittstelle @@ -1519,58 +1525,58 @@ Mode 4: SC - + SC SE - + SE SA - + SA SF - + SF SH - + SH SD - + SD SB - + SB SG - + SG Hz - + Hz "No Sound" Warning - + Keine Sound Warnung Low Memory Warning - + Low Memory Warnung @@ -1615,17 +1621,17 @@ Mode 4: Vario pitch at max - + Vario Frequenz bei Max ms - + ms Vario repeat at zero - + Vario Wiederholrate @@ -1635,7 +1641,7 @@ Mode 4: Weight - Weg + Gewichtung @@ -1656,17 +1662,17 @@ Mode 4: Ele - + Höh Thr - + Gas Ail - + Que @@ -1696,45 +1702,45 @@ Mode 4: Current - + Strom None - + Kein Pot (normal) - + Poti(normal) Multipos Switch - + Stufen Schalter S1 Type - + S1-Type S2 Type - + S2 Type Mid value Mid Value - + Mitte @@ -1755,13 +1761,13 @@ Mode 4: Negative span - + Minimum Positive span - + Maximum @@ -1786,12 +1792,12 @@ Mode 4: Battery - Akku + Sender-Akku v - v + V @@ -1842,12 +1848,12 @@ Are you sure ? Yes, controled by a switch - + Ja mit Schlter gesteuert Yes, controlled by a pot - + Ya, mit Poti gesteuert @@ -1923,22 +1929,22 @@ Are you sure ? Trottle Channel: - + Gas Kanal Yaw Channel: - + Yaw (Heck) Kanal Pitch Channel: - + Pitch Kanal Roll Channel: - + Roll Kanal @@ -1975,22 +1981,22 @@ Are you sure ? Source(%1) - + Quelle(%1) No Trim - + Kein Trim Weight(%1) - + Gewichtung(%1) Switch(%1) - + Schalter(%1) @@ -2015,7 +2021,7 @@ Are you sure ? &Edit - + &Editieren @@ -2055,7 +2061,7 @@ Are you sure ? &Paste - + Ein&fügen @@ -2113,50 +2119,50 @@ Are you sure ? AND Switch - + UND Schalter L%1 - + L%1 - + &Delete &Löschen - + Delete Löschen - + &Copy &Kopieren - + Ctrl+C Ctrl+C - + &Cut &Ausschneiden - + Ctrl+X Ctrl+X - + &Paste - + Ein&fügen - + Ctrl+V Ctrl+V @@ -2167,7 +2173,7 @@ Are you sure ? - + File loaded Datei geladen @@ -2245,40 +2251,40 @@ Möchten Sie sie jetzt herunterladen? Datei gespeichert - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + Copyright Copyright @@ -2298,23 +2304,23 @@ Möchten Sie sie jetzt herunterladen? - - - - - - - - + + + + + + + + Error Fehler - - - + + + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: @@ -2400,7 +2406,7 @@ Möchten Sie sie jetzt herunterladen? OK - OK + OK @@ -2414,7 +2420,7 @@ Möchten Sie sie jetzt herunterladen? - + Open Models and Settings file @@ -2436,713 +2442,713 @@ Möchten Sie sie jetzt herunterladen? %2 nicht schreiben. - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - - - - - + + + + + + Backup Models and Settings From Radio - - + + Warning Warnung - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Conversion failed Umwandlung gescheitert - + Restore Models and Settings To Radio - + Restore failed Zurückspeicherung gescheitert - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Backup failed Sicherung fehlgeschlagen - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - + Cannot check Models and Settings compatibility! Continue anyway? - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Firmware write failed - + Load backup from file - + OpenTX Home Page: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Version %1, %3 - + About Companion - + Compare models - + Exit the application Beendet die Anwendung - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal Normal - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge - + OpenTX Companion - FW: %1 - Profile: %2 - + New Models+Settings - + Create a new Models and Settings file - + Open Models+Settings... - + Save Models+Settings... - - + + Save Models and Settings file - + Save Models+Settings as... - + Exit - + Cut Model - + Cut current model to the clipboard - + Copy Model... - + Copy current model to the clipboard - + Paste Model... - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + System language - + Use system language in menus - + Czech - + Czech - + Use Czech in menus - + German Deutch - + Use German in menus - + English - + English - + Use English in menus - + Finnish - + Finish - + Use Finnish in menus - + French - + French - + Use French in menus - + Italian - + Italien - + Use Italian in menus - + Hebrew - + Use Hebrew in menus - + Polish - + Polish - + Use Polish in menus - + Portuguese - + Portuguese - + Use Portuguese in menus - + Swedish - + Swedish - + Use Swedish in menus - + Russian - + Use Russian in menus - + Dutch - + Use Dutch in menus - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Add Radio Profile - + Create a new Radio Setting Profile - + Manuals and other Documents - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - - + + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 - + List available programmers Programmiergeräte - + Show fuses dialog Zeige Fuses Einstellungen - + Show the application's About box Zeige das Infofenster - + Set Menu Language - + Menüsprache einstellen - + Write - + Schreibe - + %2 %1s {2?} - + Unable to find file %1! Kann die Datei %1 nicht finden ! - + Error reading file %1: %2. Fehler beim Lesen der Datei %1: @@ -3159,51 +3165,51 @@ Write anyway ? Diese Version ignorieren (%1)? - - + + File Datei - - + + Edit Bearbeiten - + Settings - + Einstellungen - + Read/Write - + Lesen/Schreiben - - + + Help Hilfe - - + + Radio Profile - + Sender Profil - + Show recent Models+Settings documents - + Show a selection list of radio profiles - + Ready Fertig @@ -3314,7 +3320,7 @@ Write anyway ? Companion - + Companion @@ -3458,7 +3464,7 @@ Wenn leer ist der Mischer immer aktiv. Name - Name + Name @@ -3533,7 +3539,7 @@ Diese Einstellung bestimmt wie die Mischerwerte behandelt werden. Include DR/Expo - + DR/Expo einschliessen @@ -3632,7 +3638,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 DEST -> X%1 - + @@ -3642,22 +3648,24 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Rud - Rud + Sei Ele - Ele + Höh + Höh Thr + Gas Thr Ail - Ail + Que @@ -3694,17 +3702,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Weight(%1) - + Gewichtung(%1) Switch(%1) - + Schalter(%1) No Trim - + Kein Trim @@ -3754,7 +3762,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 &Edit - + &Editieren @@ -3794,7 +3802,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 &Paste - + Ein&fügen @@ -3852,7 +3860,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Special Functions - + Spezial Funktionen @@ -3900,27 +3908,27 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Plane - + Flugmodell Multirotor - + Multicopter Helicopter - + Hubschrauber Model Name: - + Model Name: Model Type: - + Model Typ: @@ -4063,17 +4071,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Failsafe Mode - + Failsafe Mode Start - + Start PPM delay - PPM delay + PPM Puls @@ -4093,22 +4101,22 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Master - + Lehrer Slave - + Schüler Polarity - + Polarität Trainer Mode - + Trainer Mode @@ -4118,7 +4126,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 PPM Frame Length - PPM Frame Length + PPM Frame Länge @@ -4139,7 +4147,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Hold - + Halten @@ -4149,17 +4157,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 No Pulses - + Keine Pulse Receiver - + Empfänger Failsafe Positions - + Failsafe Positionen @@ -4169,7 +4177,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Receiver No. - + Empfänger Nr. @@ -4177,22 +4185,22 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Trainer Port - + Trainer Port Internal Radio System - + Internes HF Modul External Radio Module - + Externes HF Modul Radio System - + Sender System @@ -4200,22 +4208,22 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Trottle Channel: - + Gas Kanal Yaw Channel: - + Yaw Heck Kanal Pitch Channel: - + Pitch Kanal Roll Channel: - + Roll Kanal @@ -4225,17 +4233,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 FM%1 FP%1 - + FM%1 Polish - + Polish X%1 - + X%1 @@ -4251,75 +4259,75 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 RotEnc A - + Dreh Geb A Rot Enc B - + Dreh Geb B Rot Enc C - + Dreh Geb C Rot Enc D - + Dreh Geb D Rot Enc E - + Dreh Geb E - + Safety %1 - + Safety %1 - + Trainer Trainer - + Trainer RUD - Trainer RUD + Trainer Sei - + Trainer ELE - Trainer ELE + Trainer Höh - + Trainer THR - Trainer THR + Trainer Gas - + Trainer AIL - Trainer AIL + Trainer Que - + Instant Trim Instant Trim - + Play Sound Audio abspielen - + Start Logs Start Log - + Play Haptic @@ -4329,7 +4337,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + --- @@ -4338,42 +4346,42 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Rud Trim - + Sei Trim Ele Trim - + Höh Trim Thr Trim - + Gas Trim Ail Trim - + Que Trim Rot Enc - + Dreh Geb English - + English French - + French Italian - + Italien @@ -4383,593 +4391,598 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Czech - + Czech Slovak - + Slovak Spanish - + Spanish Portuguese - + Portuguese Swedish - + Swedish - + No repeat - + %1 sec - + %1 sec - + Reset - + Reset - + S3 S3 - + RSSI Tx - + RSSI Tx - + RSSI Rx - + RSSI RX - + Rx Batt - + RX Batt - + A3 A3 - + A4 A4 - + Cells - + Zellen - + AirSpeed - + dTE - + dTE - - A3- - A3- - - - - A4- - A4- - - - - Speed+ - - - - - Dist+ - - - - - AirSpeed+ - - - - - Cell- - - - - - Cells- - - - - - Vfas- - - - - - Curr+ - - - - - Powr+ - - - - - ACC - - - - - - L1 - - - - - - L2 - - - - - - L3 - - - - - - L4 - - - - - - L5 - - - - - - L6 - - - - - - L7 - - - - - - L8 - - - - - - L9 - - - - - - L10 - - - - - - L11 - - - - - - L12 - - - - - - L13 - - - - - - L14 - - - - - - L15 - - - - - - L16 - - - - - - L17 - - - - - - L18 - - - - - - L19 - - - - - - L20 - - - - - - L21 - - - - - - L22 - - - - - - L23 - - - - - - L24 - - - - - - L25 - - - - - - L26 - - - - - - L27 - - - - - - L28 - - - - - - L29 - - - - - - L30 - - - - - - L31 - - - - - - L32 + + Hdg + A3- + A3- + + + + A4- + A4- + + + + Speed+ + Geschw+ + + + + Dist+ + + + + + AirSpeed+ + + + + + Cell- + + + + + Cells- + + + + + Vfas- + + + + + Curr+ + + + + + Powr+ + Leist+ + + + + ACC + + + + + + L1 + + + + + + L2 + + + + + + L3 + + + + + + L4 + + + + + + L5 + + + + + + L6 + + + + + + L7 + + + + + + L8 + + + + + + L9 + + + + + + L10 + + + + + + L11 + + + + + + L12 + + + + + + L13 + + + + + + L14 + + + + + + L15 + + + + + + L16 + + + + + + L17 + + + + + + L18 + + + + + + L19 + + + + + + L20 + + + + + + L21 + + + + + + L22 + + + + + + L23 + + + + + + L24 + + + + + + L25 + + + + + + L26 + + + + + + L27 + + + + + + L28 + + + + + + L29 + + + + + + L30 + + + + + + L31 + + + + + + L32 + + + + [I%1] - + TR%1 - + TR%1 - + S31 S31 - + S32 S32 - + S33 S33 - + S34 S34 - + S35 S35 - + S36 S36 - + a>x - + a<x - + |a|>x - + |a|<x - + AND - + OR - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer Takt - + Sticky SRFF - + Unknown - + STAY(%1, [%2:%3]) Puls(%1, [%2:%3]) - + STICKY(%1, %2) SRFF(%1, %2) - + TIMER(%1, %2) - TAKT(%1, %2) + Takt(%1, %2) - + Set Timer %1 - + Set Timer %1 - + Vario Vario - + Play Track - + Spiel Sound - + Play Both - + Sag Beide - + Play Value - + Sag Wert - + Volume Lautstärke - + Backlight - + Background Music - + Background Music Pause - + Delay %1 sec Verzögerung %1 sec - + Edge - + Puls - + Duration %1 sec Dauer %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> - - - + + + All Alles - - - + + + Telemetry Telemetrie - - + + Value Wert - - + + Decr: - + Decr: - - + + Incr: - + Incr: @@ -4982,64 +4995,64 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 %1s - + Adjust GV%1 - + Adjust GV %1 - + Rotary Encoder - + Dreh Geber - + Value Wert - + Source Quelle - + GVAR - + GVAR - + Increment - + Increment !Flight mode %1 - + !Flugphase %1 Flight mode %1 - + Flugphase %1 Flight mode %1 value - + Flugphase %1 Wert Yellow - + Gelb Orange - orange + Orange Red - + Rot @@ -5060,7 +5073,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 None - + Kein @@ -5100,12 +5113,12 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Count Up - Hinaufzählen + Count Up Count Down - Herunterzählen + Count Down @@ -5120,12 +5133,12 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Flight modes(%1) - + Flugphasen(%1) Flight mode(%1) - + Flugphase(%1) @@ -5150,45 +5163,45 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Own value - + Eigener Wert Finnish - + Finnish Keys - + Tasten Sticks - + Knüppel Keys + Sticks - + Taste+Knüppel -GV%1 - + -GV%1 - + GV%1 - + GV%1 - - - + + + ---- ---- @@ -5200,398 +5213,397 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Gas - + P1 P1 - + P2 P2 - + P3 P3 - + Batt - + Akku - + SWR - + SWR - + MAX MAX - + S11 S11 - + S12 S12 - + S13 S13 - + S14 S14 - + S15 S15 - + S16 S16 - + S21 S21 - + S22 S22 - + S23 S23 - + S24 S24 - + S25 S25 - + S26 S26 - + RudTrim Left SeiteTrim links - + RudTrim Right SeiteTrim rechts - + EleTrim Down HöheTrim ab - + EleTrim Up HöheTrim auf - + ThrTrim Down GasTrim ab - + ThrTrim Up GasTrim auf - + AilTrim Left QuerTrim links - + AilTrim Right QuerTrim rechts - + ABS - + ABS - + THs - + GSs - + TH% - + Gs% - + THt - - - - - ??? - - - - - Diff(%1) - - - - - Expo(%1) - - - - - Function(%1) - + Gst + ??? + ??? + + + + Diff(%1) + Diff(%1) + + + + Expo(%1) + Expo(%1) + + + + Function(%1) + Funktion(%1) + + + Curve(%1) Kurve(1%) - + !Curve(%1) !Kurve(%1) - + Rud Sei - + Ele Höh - + Thr Gas - + Ail unsure Que - + TrmR TrmS - + TrmE TrmH - + TrmT TrmG - + TrmA TrmQ - + S1 S1 - + S2 S2 - + LS LS - + RS RS - - - + + + REa DGa - - - + + + REb DGb - + Alt - + Rpm - + Fuel - + Speed Geschw - + Dist - + GPS Alt - + GPS Alt - + Cell Zelle - + Vfas Vfas - + Curr Str - + Cnsp Verbr - + Powr Leist - + AccX - + AccY - + AccZ - HDG - + HDG - + VSpd - + VSpd - + A1- A1- - + A2- A2- - + Alt- Alt- - + Alt+ Alt+ - + Rpm+ - + T1+ T1+ - + T2+ T2+ - + Time - + Zeit - + X%1 - + X%1 @@ -5957,7 +5969,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Imperial units - + Imperial Einheiten @@ -5972,7 +5984,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Global variables - + Globale Variablen @@ -6005,38 +6017,38 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - - - - + + + + Timer1 Stoppuhr1 - - - - + + + + Timer2 Stoppuhr2 - + A1 A1 - + A2 A2 - + T1 T1 - + T2 T2 @@ -6052,25 +6064,25 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + CYC%1 - + CH%1%2 CH%1 CH%1%2 - + ON EIN - - + + OFF AUS @@ -6097,26 +6109,26 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels @@ -6132,37 +6144,37 @@ The OpenTX/Companion Team. Trim disabled - + Trim ausgeschaltet Own Trim - + Eigene Trim Use Trim from Flight mode %1 - + Trim von Flugphase %1 Use Trim from Flight mode %1 + Own Trim as an offset - + Trim von Flugphase %1 + Eigene Trim als Offset FW: %1 - + FW %1 Pict: %1 - + Bild: %1 Profile image - + Profil Bild @@ -6170,7 +6182,7 @@ The OpenTX/Companion Team. No - Nein + Nein @@ -6180,7 +6192,7 @@ The OpenTX/Companion Team. <br>Rudder Channel: - + <br> Seite Kanal: @@ -6213,7 +6225,7 @@ The OpenTX/Companion Team. Model Image - + Modellbild @@ -6223,7 +6235,7 @@ The OpenTX/Companion Team. Throttle Trim Idle Only - + Gas Leerlauftrim @@ -6248,52 +6260,52 @@ The OpenTX/Companion Team. Display Checklist - + Anzeige Checkliste Timer Source - + GasTimer Quelle Trim Step - + Trim Auflösung Warnings - + Warnungen Switch Warnings - + Schalter Warnungen Pot Warnings - + Poti Warnungen Manual - + Manuell Auto - + Automatisch Model - + Model Extended Limits - Erweiterte Grenzen + Erweiterte Wege 125% @@ -6303,7 +6315,7 @@ The OpenTX/Companion Team. Throttle Warning - + Gas Warnung @@ -6317,7 +6329,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Reverse Throttle - + Vollgas hinten? @@ -6325,7 +6337,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Elevator Channel: - + Höhe Kanal: @@ -6349,7 +6361,8 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Simulating Radio (%1) - + Simulatione Sender (%1) + @@ -6362,7 +6375,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Companion Simulator - + Companion Simulator @@ -6492,12 +6505,12 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Companion Simulator - + Companion simulator Taranis Simulator - + Taranis Simulator @@ -6554,26 +6567,26 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst SB - + SB SA - + SA SE - + SE SF - + SF @@ -6591,19 +6604,19 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst SD - + SD SC - + SC SG - + SG @@ -6615,7 +6628,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst SH - + SH @@ -6623,7 +6636,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Channel %1 - + Kanal %1 @@ -6631,12 +6644,12 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Rudder Channel: - + Seitenruder Kanal Elevator Channel: - + Höhenruder Kanal @@ -6644,22 +6657,22 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Elevator and Rudder - + Höhe und Seite Only Elevator - + Nur Höhe V-tail - + V Leitwerk Tail Type: - + Leitwerk Typ: @@ -6732,7 +6745,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Volt source - + Spg Quelle @@ -6747,7 +6760,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Current source - + Strom Quelle @@ -6757,18 +6770,18 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst NONE - + Kein FAS - + FAS None - + Kein @@ -6778,7 +6791,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst CEL - + Zelle @@ -6818,52 +6831,52 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Climb Max - + Steig Max Sink Min - + Sink Min Climb Min - + Steig Min Vario source - + Vario Quelle Vario limits - + Vario Grenzen Use GPS as altitude source - + GPS als Höhenquelle Display altitude in toolbar - + Höhenanzeige in der InfoZeile Altimetry - + Höhenanzeige mAh - + mAh A - + A @@ -6957,12 +6970,12 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Volts (V) - + Volt(v) Amps (A) - + Amp (A) @@ -6982,12 +6995,12 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Meters (m or ft) - + Meter (m or ft) Temp (°) - + Temp(°) @@ -6997,17 +7010,17 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst mAmps (mA) - + mAmp (mA) Low Alarm - + Voralarm Critical Alarm - + Kritischer Alarm @@ -7025,17 +7038,17 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Custom Screen Type - + Telemetrie Anzeige als Nums - + Werte Bars - + Balken @@ -7063,17 +7076,17 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Telemetry screen %1 - + Telemetrie Bild %1 Low Alarm - + Vor Alarm Critical Alarm - + Kritischer Alarm @@ -7101,7 +7114,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst <br>Throttle Channel: - + <br>Gas Kanal: @@ -7119,17 +7132,17 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Countdown - Herunterzählen + Count Down Minute Call - + Jede Minute Persistent - + Dauerhaft @@ -7142,7 +7155,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Silent - + Kein @@ -7152,7 +7165,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Voice - + Stimme @@ -7160,12 +7173,12 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst First Tail Channel: - + Erster rechter Leitwerk Kanal Second Tail Channel: - + Zweiter linker Leitwerk Kanal @@ -7173,12 +7186,12 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Standard Wing - + Normaler Flügel Flying Wing / Deltawing - + Flügeltyp /Deltaflügel @@ -7191,7 +7204,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Model Type - + Model Type @@ -7211,7 +7224,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Wing Type - + Flächen Typ @@ -7221,7 +7234,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Ailerons - + Querruder @@ -7231,7 +7244,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Flaps - + Flaps @@ -7241,7 +7254,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Airbrakes - + Airbrakes @@ -7271,7 +7284,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Tail Type - + Leitwerk typ @@ -7282,7 +7295,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Tail - + Leitwerk @@ -7293,7 +7306,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst V-Tail - + V-Leitwerk @@ -7313,7 +7326,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Tail Gyro - + Heck Kreisel @@ -7323,18 +7336,18 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Rotor Type - + Rotor Kopf type Has your helicopter got a flybar? - + Helicopter - + Hubschrauber @@ -7345,7 +7358,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Multirotor - + MultiCopter @@ -7449,17 +7462,17 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Model Name: - + Model Name: Model Type: - + Model Typ: Channel %1: - + Kanal %1: @@ -7490,7 +7503,7 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Radio Profile - + Sender Profil @@ -7536,22 +7549,22 @@ Mode 4: Mode 1 (RUD ELE THR AIL) - + Mode 1 (Sei Höh Gas Que) Mode 2 (RUD THR ELE AIL) - + Mode 2 (Sei Gas Höh Que) Mode 3 (AIL ELE THR RUD) - + Mode 3 (Que Höh Gas Sei) Mode 4 (AIL THR ELE RUD) - + Mode 4 (Que Gas Höh Sei) @@ -7576,9 +7589,8 @@ This is used by the templated to determine which channel goes to what number out S G H Q - - R T A E - + R T A E + S G Q H @@ -7593,22 +7605,22 @@ This is used by the templated to determine which channel goes to what number out E R T A - + H S G Q E R A T - + H S Q G E T R A - + H G S Q E T A R - + H G Q S @@ -7648,7 +7660,7 @@ This is used by the templated to determine which channel goes to what number out T A E R - + G Q H S @@ -7658,12 +7670,12 @@ This is used by the templated to determine which channel goes to what number out A R T E - + Q S G H A E R T - + Q H S G @@ -7688,22 +7700,22 @@ This is used by the templated to determine which channel goes to what number out Profile Name - + Profil Name Splash Screen - + Splash Screen Channel Order - + Kanal Reihenfolge SD Structure path - + SD Verzeichnis Pfad @@ -7718,7 +7730,7 @@ This is used by the templated to determine which channel goes to what number out Radio Type - + Sender Typ @@ -7733,37 +7745,37 @@ This is used by the templated to determine which channel goes to what number out 9X with m128 - + 9x mit m128 9XR - + 9XR 9XR with m128 - + 9XR mit m128 Gruvin9x Board - + Gruvin9x Board Sky9x Board - + Sky9x Board Taranis - + Taranis General Settings - Generelle Einstellungen + Generelle Einstellungen @@ -7808,7 +7820,7 @@ This is used by the templated to determine which channel goes to what number out Simulator Settings - + Simulator Einstellungen @@ -7838,7 +7850,7 @@ This is used by the templated to determine which channel goes to what number out Splash Screen Library - + Splash Screen Verzeichnis @@ -7848,7 +7860,7 @@ This is used by the templated to determine which channel goes to what number out Simulator BackLight - + Simulatro LCD Beleuchtung @@ -7865,6 +7877,11 @@ This is used by the templated to determine which channel goes to what number out Joystick Joystick + + + R T A E + S G Q H + Find Executable @@ -7883,7 +7900,7 @@ This is used by the templated to determine which channel goes to what number out Enable - + Freigabe @@ -7908,7 +7925,7 @@ This is used by the templated to determine which channel goes to what number out My Radio - + Mein Sender @@ -7969,7 +7986,7 @@ This is used by the templated to determine which channel goes to what number out Open Image to load - + Bilddatei öffnen @@ -8312,7 +8329,7 @@ Bitte nutze dies nur wenn Du weißt was Du machst. Es gibt keine Plausibilitäts Companion - + Companion @@ -8765,7 +8782,7 @@ m2560 fürRadios mit v4.1 Boards Gvars - + Gvars @@ -8838,7 +8855,7 @@ m2560 fürRadios mit v4.1 Boards Global Variables - + Globale Variable @@ -8937,7 +8954,7 @@ m2560 fürRadios mit v4.1 Boards Special Functions - + Spezial Funktionen @@ -8960,7 +8977,7 @@ m2560 fürRadios mit v4.1 Boards SF - + SF @@ -9032,7 +9049,7 @@ m2560 fürRadios mit v4.1 Boards Flight modes Settings - + Flugphasen Einstellungen @@ -9040,7 +9057,7 @@ m2560 fürRadios mit v4.1 Boards Flight mode name - + Flugphase Name @@ -9070,19 +9087,19 @@ m2560 fürRadios mit v4.1 Boards Flight mode - + Flugphase Repeat - + Wiederholen RSSI Alarm - + RSSi Alarm @@ -9302,7 +9319,7 @@ m2560 fürRadios mit v4.1 Boards Companion - + Companion @@ -9472,17 +9489,17 @@ May be different from firmware language Options - + Optionen Menu Language - + Menüsprache Voice Language - + Ansagesprache @@ -9507,7 +9524,7 @@ May be different from firmware language Check for updates - Prüfe für Updates + Prüfe auf Updates @@ -9631,7 +9648,7 @@ May be different from firmware language P3/LS - + P3/LS @@ -9770,22 +9787,27 @@ Wähle "abbrechen", um die Kalibration abzubrechen - + Zoom - + Zoom - + X - + X - + Y - + Y - + + Reset + Reset + + + Fly sessions @@ -9797,32 +9819,32 @@ Wähle "abbrechen", um die Kalibration abzubrechen Time - + Zeit - + Error Fehler - + Cannot write file %1: %2. Kann Datei %1: %2 nicht schreiben. - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -10067,7 +10089,7 @@ Mode 4: Voice - + Stimme @@ -10147,7 +10169,7 @@ May be different from firmware language SD Structure path - + SD Verzeichnis Pfad @@ -10225,7 +10247,7 @@ May be different from firmware language Profile Name - + Profil Name @@ -10235,7 +10257,7 @@ May be different from firmware language Save Profile - + Speichere Profil @@ -10246,7 +10268,7 @@ May be different from firmware language Simu BackLight - + Simu LCD Beleuchtung @@ -10485,7 +10507,7 @@ May be different from firmware language Blades - Rotorblätter + Rotorblätter @@ -10504,7 +10526,7 @@ May be different from firmware language Gvars - + Gvars @@ -10514,7 +10536,7 @@ May be different from firmware language Flight mode name - + Flugphase Name @@ -10528,23 +10550,23 @@ May be different from firmware language Flight modes - Flugphasen + Flugphasen Flight mode - + Flugphase Global Variables - + Globale Variable GV - GV + GV @@ -10665,7 +10687,7 @@ May be different from firmware language Special Functions - + Spezial Funktionen @@ -10678,12 +10700,12 @@ May be different from firmware language Parameter - + Parameter Repeat - + Wiederholen @@ -10752,7 +10774,7 @@ May be different from firmware language RSSI Alarm - + RSSi Alarm @@ -10788,7 +10810,7 @@ May be different from firmware language Flight modes Settings - + Flugphasen Einstellungen @@ -10840,7 +10862,7 @@ May be different from firmware language No Taranis Radio Found - + Taranis Sender nicht gefunden From f2dba0a9ba8db2a67acecf1e0990a491345b2baa Mon Sep 17 00:00:00 2001 From: Kjell Kernen Date: Mon, 14 Apr 2014 13:47:53 +0200 Subject: [PATCH 08/46] Updated German translation of OpenTX by Hrenz --- radio/src/translations/de.h.txt | 78 +++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index d3dcff591..b19b9aa77 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1,4 +1,4 @@ -/* German checked 04.04.2014 Test 012 kleine Änderungen +/* German checked 12.04.2014 Test 012 kleine Änderungen * Authors (alphabetical order) * - Bertrand Songis * - Bernet Andre @@ -277,14 +277,14 @@ #define LEN_FUNCSOUNDS TR("\004", "\006") #define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Piep1\0""Piep2\0""Piep3\0""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk") -#define LEN_VTELEMCHNS "\004" +#define LEN_VTELEMCHNS TR("\004", "\005") #if defined(CPUARM) - #define TR_TELEM_RESERVE "[--]" - #define TR_SWR "SWR\0" - #define TR_RX_BATT "RxBt" - #define TR_A3_A4 "A3\0 ""A4\0 " - #define TR_A3_A4_MIN "A3-\0""A4-\0" + #define TR_TELEM_RESERVE TR("[--]", "[---]") + #define TR_SWR TR("SWR\0", "SWR\0 ") + #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") + #define TR_A3_A4_MIN TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #else #define TR_TELEM_RESERVE #define TR_SWR @@ -293,9 +293,13 @@ #define TR_A3_A4_MIN #endif -#define TR_ASPD_MAX "ASp+" +#define TR_ASPD_MAX TR("ASp+", "ASpd+") -#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" +#if LCD_W >= 212 + #define TR_VTELEMCHNS "---\0 ""Batt\0""Tmr1\0""Tmr2\0" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""dTE\0 " TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0 ""A2-\0 " TR_A3_A4_MIN "Alt-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Time\0" +#else + #define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" +#endif #define LENGTH_UNIT_IMP "ft\0" #define SPEED_UNIT_IMP "mph" @@ -311,11 +315,11 @@ #define TR_VTELEMUNIT_IMP "V\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else #if defined(IMPERIAL_UNITS) - #define LENGTH_UNIT "ft\0" - #define SPEED_UNIT "kts" + #define LENGTH_UNIT LENGTH_UNIT_IMP + #define SPEED_UNIT SPEED_UNIT_IMP #else - #define LENGTH_UNIT "m\0 " - #define SPEED_UNIT "Kmh" + #define LENGTH_UNIT LENGTH_UNIT_METR + #define SPEED_UNIT SPEED_UNIT_METR #endif #define LEN_VTELEMUNIT "\003" #define TR_VTELEMUNIT "V\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " @@ -480,14 +484,14 @@ #define TR_FADEIN "Langs. Ein" #define TR_FADEOUT "Langs. Aus" #define TR_DEFAULT "(Normal)" -#define TR_CHECKTRIMS "\006Trims\012Prüfen" -#define OFS_CHECKTRIMS (9*FW) +#define TR_CHECKTRIMS CENTER"\006Trims\012Prüfen" +#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) #define TR_SWASHTYPE TR("Typ Taumelsch","Typ Taumelscheibe") #define TR_COLLECTIVE TR("Kollekt.Pitch","Kollekt. Pitch Kanal") -#define TR_SWASHRING TR("Zykl. Begrenz","Zyklische Begrenzung") -#define TR_ELEDIRECTION TR("Nick Richtung"," Nick Servo Richtung") -#define TR_AILDIRECTION TR("Roll Richtung"," Roll Servo Richtung") -#define TR_COLDIRECTION TR("Pit. Richtung"," Pitch Servo Richtung") +#define TR_SWASHRING TR("Zykl. Begrenz","Zykl. Kreis Begrenz.") +#define TR_ELEDIRECTION TR("Nick Richtung","Nick Servo Richtung") +#define TR_AILDIRECTION TR("Roll Richtung","Roll Servo Richtung") +#define TR_COLDIRECTION TR("Pit. Richtung","Pitch Servo Richtung") #define TR_MODE INDENT"Modus" #define TR_NOFREEEXPO "Expos voll!" #define TR_NOFREEMIXER "Mischer voll!" @@ -513,12 +517,12 @@ #define TR_MIXER "MISCHER" #define TR_CV "KV" #define TR_GV "GV" -#define TR_ACHANNEL "A\004Kanal " -#define TR_RANGE INDENT"Skala" +#define TR_ACHANNEL "A\004Kanal gemessen =>" +#define TR_RANGE INDENT"Messbereich" #define TR_BAR "Streifen" #define TR_ALARM INDENT"Alarm" -#define TR_USRDATA "Daten berechnen--" -#define TR_BLADES INDENT"Blätter" +#define TR_USRDATA "Daten berechnen aus" +#define TR_BLADES INDENT"Prop-Blätter" #define TR_SCREEN "Telm-Bild " #define TR_SOUND_LABEL "----Töne---------" #define TR_LENGTH INDENT"Dauer" @@ -548,7 +552,7 @@ #define TR_POTWARNING TR("Pot Warn.", INDENT "Poti Warnung") #define TR_TIMEZONE TR("Zeitzone","GPS Zeit Zone") #define TR_RXCHANNELORD TR("Kanalanordnung","Kanalvoreinstellung") -#define TR_SLAVE "Schüler PPM1-16 als Ausgang" +#define TR_SLAVE TR("Schüler PPM1-16","Schüler PPM1-16 als Ausgang") #define TR_MODESRC " Modus\002% Quelle" #define TR_MULTIPLIER "Multiplikator" #define TR_CAL "Kal." @@ -598,7 +602,7 @@ #define TR_MENUDIAG TR("Schalt.","Schalter Test") #define TR_MENUANA "Analog Test" #define TR_MENUCALIBRATION TR("KALIB. ANALOG","KALIBRIERUNG STICKS+POTIS") -#define TR_TRIMS2OFFSETS "Kopie Trim to Servo-Subtrim" // "Trims => Offset" +#define TR_TRIMS2OFFSETS "Kopie Trim to Servo-Mitte" // "Trims => Offset" #define TR_MENUMODELSEL TR("MODELLE","MODELL WÄHLEN") #define TR_MENUSETUP TR("KONF.","MODELL EINSTELLUNGEN") #define TR_MENUFLIGHTPHASE "FLUGPHASE" @@ -750,27 +754,27 @@ #define TR_MODELIDUSED TR("ID schon benutzt","Modell ID schon benutzt") #define TR_MODULE INDENT "Modul-Typ" #define TR_CHANNELRANGE INDENT "Ausgangs Kanäle" -#define TR_LOWALARM INDENT "Low Alarm" +#define TR_LOWALARM INDENT "Vor-Alarm bei" #define TR_CRITICALALARM INDENT "Kritisch Alarm" #define TR_ENABLE_POPUP "Enable Popup" #define TR_DISABLE_POPUP "Disable Popup" -#define TR_CURVE_PRESET "Preset..." +#define TR_CURVE_PRESET "Gerade 0 11 22 33 45" #define TR_PRESET "Preset" -#define TR_MIRROR "Mirror" -#define TR_CLEAR "Clear" +#define TR_MIRROR "Spiegeln" +#define TR_CLEAR "Löschen" #define TR_RESET "Reset Servowerte" -#define TR_RESET_SUBMENU "Reset..." +#define TR_RESET_SUBMENU "Reset=>Timer Flug Telem" #define TR_COUNT "Punkte" #define TR_PT "Pt" #define TR_PTS "Pts" #define TR_SMOOTH "Runden" -#define TR_COPY_TRIMS_TO_OFS "Kopie Trim to Servo-Subtrim" // "Trims => Offset" +#define TR_COPY_TRIMS_TO_OFS "Kopie Trim to Servo-Mitte" // "Trims => Offset" #define TR_PERSISTENT_MAH INDENT "Speichern mAh" #define TR_PREFLIGHT "----Preflight Checks----" #define TR_CHECKLIST INDENT "Display Checklist" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serial Port" -#define TR_SCRIPT "Script" +#define TR_SCRIPT "Lua-Script" #define TR_INPUTS "Inputs" #define TR_OUTPUTS "Outputs" @@ -802,7 +806,7 @@ // Taranis Info Zeile Anzeigen #define TR_PHASES_HEADERS { " Name ", " Schalter ", " Seite Trim ", " Höhe Trim ", " Gas Trim ", " Quer Trim ", " Fade In ", " Fade Out " } -#define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Richtung ", " Kurve ", " PPM Mitte ", " Subtrim Mode " } +#define TR_LIMITS_HEADERS { " Name ", " Mitte ", " Min ", " Max ", " Richtung ", " Kurve ", " PPM Mitte ", " Mitte Mode " } #define TR_CSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " Var2 ", " UND Schalter ", " Dauer ", " Verzögerung " } //Taranis About screen @@ -848,7 +852,7 @@ #endif #define TR_ABOUT_PARENTS_1 "Vorgänger-Projekte" -#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" +#define TR_ABOUT_PARENTS_2 "Ersky9x (Mike Blandford)" #define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)" #define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" @@ -865,8 +869,8 @@ #define TR_TOP_BAR "----Info Zeile----" #define TR_ALTITUDE INDENT "Höhe" -#define TR_SCALE "Scale" -#define TR_VIEW_CHANNELS "View Channels" -#define TR_VIEW_NOTES "View Notes" +#define TR_SCALE "Skalliere" +#define TR_VIEW_CHANNELS "Zeige Kanäle" +#define TR_VIEW_NOTES "Zeige Notes" #define TR_MODS_FORBIDDEN "Veränderungen verboten!" #define TR_UNLOCKED "Entsperrt" From 01ee8c31fcbf2fdc5a276e9371ebf5d6ad5a7a1c Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 14 Apr 2014 16:19:19 +0200 Subject: [PATCH 09/46] Fixes #934 --- radio/src/opentx.cpp | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 2009887ed..b6469c351 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -946,6 +946,13 @@ int expo(int x, int k) return neg? -y : y; } +#if defined(HELI) + int16_t cyc_anas[3] = {0}; +#if defined(PCBTARANIS) + int16_t heliAnas[4] = {0}; +#endif +#endif + void applyExpos(int16_t *anas, uint8_t mode APPLY_EXPOS_EXTRA_PARAMS) { #if !defined(PCBTARANIS) @@ -967,9 +974,20 @@ void applyExpos(int16_t *anas, uint8_t mode APPLY_EXPOS_EXTRA_PARAMS) continue; if (getSwitch(ed->swtch)) { #if defined(PCBTARANIS) - int v = (ed->srcRaw == ovwrIdx ? ovwrValue : getValue(ed->srcRaw)); - if (ed->srcRaw != ovwrIdx && ed->srcRaw >= MIXSRC_FIRST_TELEM && ed->scale > 0) { - v = limit(-1024, int((v * 1024) / convertTelemValue(ed->srcRaw-MIXSRC_FIRST_TELEM+1, ed->scale)), 1024); + int v; + if (ed->srcRaw == ovwrIdx) + v = ovwrValue; +#if defined(HELI) + else if (ed->srcRaw == MIXSRC_Ele) + v = heliAnas[ELE_STICK]; + else if (ed->srcRaw == MIXSRC_Ail) + v = heliAnas[AIL_STICK]; +#endif + else { + v = getValue(ed->srcRaw); + if (ed->srcRaw >= MIXSRC_FIRST_TELEM && ed->scale > 0) { + v = limit(-1024, int((v * 1024) / convertTelemValue(ed->srcRaw-MIXSRC_FIRST_TELEM+1, ed->scale)), 1024); + } } #else int16_t v = anas2[ed->chn]; @@ -1193,9 +1211,6 @@ int16_t applyLimits(uint8_t channel, int32_t value) int16_t calibratedStick[NUM_STICKS+NUM_POTS]; int16_t channelOutputs[NUM_CHNOUT] = {0}; int16_t ex_chans[NUM_CHNOUT] = {0}; // Outputs (before LIMITS) of the last perMain; -#ifdef HELI -int16_t cyc_anas[3] = {0}; -#endif // TODO same naming convention than the putsMixerSource @@ -3179,9 +3194,9 @@ void evalInputs(uint8_t mode) #if defined(HELI) if (d && (ch==ELE_STICK || ch==AIL_STICK)) { - v = (int32_t(v)*calc100toRESX(g_model.swashR.value))/int32_t(d); + v = (int32_t(v) * calc100toRESX(g_model.swashR.value)) / int32_t(d); #if defined(PCBTARANIS) - calibratedStick[ch] = v; + heliAnas[ch] = v; #endif } #endif @@ -3662,7 +3677,7 @@ void evalFunctions() } #if defined(PCBTARANIS) - #define HELI_ANAS_ARRAY calibratedStick + #define HELI_ANAS_ARRAY heliAnas #else #define HELI_ANAS_ARRAY anas #endif From 785c17ed2fd9c26a9bea4ef069f320e8000eb333 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 14 Apr 2014 17:04:52 +0200 Subject: [PATCH 10/46] Fixes #973 --- radio/src/gui/menu_model.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index ea31566b6..df270f16a 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -4608,6 +4608,9 @@ void menuModelLogicalSwitches(uint8_t event) } #endif else if (cstate == LS_FAMILY_COMP) { +#if defined(CPUARM) + v1_val = (uint8_t)cs->v1; +#endif putsMixerSource(CSW_2ND_COLUMN, y, v1_val, attr1); putsMixerSource(CSW_3RD_COLUMN, y, cs->v2, attr2); INCDEC_SET_FLAG(INCDEC_SOURCE); From e11c14e66bfef23df2e0667eb7b2a7a9401b2909 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 14 Apr 2014 19:04:32 +0200 Subject: [PATCH 11/46] Fixes #974 --- companion/targets/windows/libusb-1.0.dll | Bin 286342 -> 348150 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/companion/targets/windows/libusb-1.0.dll b/companion/targets/windows/libusb-1.0.dll index 357a0c666c49cb937181474b0de53fed3cb7051f..997df3200a186124b49c452807a6323a09bff9db 100644 GIT binary patch literal 348150 zcmeFadwf*Y)i-`7nS?;1gc=A7Akt+m%)d+oK?Ui)&&rnM-kilSKY|9D(cTJfZR`TY0a|7k?_Dd)a=in4C_ zTj#Y}u7B&i8`V4JF1qnNtvizX;GBl05D%s!cIKt|8Ary zGiUL8isYM8h=2Y!J55nQY4@FOQh$+zJ-E=36>h!B+V zFF!@Oex&*1|J?IZ@9p!wAh&!1xF?3FuHZZQUykCQdFgGpcyB@C2Fjqiqt41?Jd^(A zD>K8F-YWs~%aJh?`4xEnkW~mDPxW&bnTa?WmEg|nkijiNLlwTo+A>Y5r=^wCc zJ~P}AdYPmW+Hf&F0PpelS@le!6x`Xg&Uz zHLrcH02dYF@mz}%Nh4IEMMd=4>lLvA$@rny9^Kp#8_|;d59L*P^jf?Bh{ZeJt-G9V zkM6Toi5)^wf;+X&slHQIGb>^5ZDK||9uM6c1r<%X*+(QxWtg#^R&GNLZ zZgoRCVecd=UYUs^R1~kZ`#0Hn0EXZkZnruDITfN3S<|KhdIUieX1p8H*xX^XPc6R; z%HQ8-TWtlDt^g-9-pxP!Ve1+*(HEn}U3U>xP|9zFLi}v@4g>R$O@}_}zA3lNLQ5c- zY@l#Ka{eQ6?`6TA-i*+M$0(ciBYwJnzx6ub0I}9Ra^@`Y#&>|+Y<*G#qI^iRwmIK^A-oTz-KrRj4c15IkNCIwdcKoT=Tdzne8zu(&obfL zw9l%mptIT9d(HXQK-dxZH5g%R{Th3|Rwg2@eiDM_+NHbt^-7^nX+NsDdV}FbH|e$g z5!YU1D!Fm}<_`z7+CIIqFL!72lryYN9f7b`+v6RrPdUS`eKpaY;+-6FXXI{<*|l!% zK&T>PVoi#7Y{8_m9^Zbwa`T)t?V7W;-KI#i)j3e;*r(c|q4Eue9S?>R5|ahIPSuj~ z^oM`$AGl-g@YY$-$XZA)J~}x1)>~$^+VCf~zjgmDczoX4Lyz9pjr91S^$B`xYkhzo zZ?xtEGq$O99z9-bT}F?WTmM9lzqYwLx#N1>@cuq1PdoaEqQFSroli=)OL8y;6Ttl}G#y%??GcSJeDMhf?7d zpM1s%i(^XTPu|r^tc!Q=e(^C2@*97*QUStZM#$07$qwd*xhd<&9vJ1hYSyJeO? zZk=b3kA7_f-Z$3ck6zmgJ8+|TeJ4m(I`vVL&%bq6c|{e3+3)su<-(rOD{82ECW4| zw5%K|atc5pjm;g&{SUSWLz~^BcB63hHmGa86@%X2KvB%#s4hTnS85B4~*3kw=uUbL$QHRt&*z zO2R(QzS7`;7Ci{R0$ps6yDFYJAJE*t=8tTyJHt({)PVZ?=(=&6!#>i(3V`|3j zDAY2`DD)#aI>z2r4-+$-ZqbWjf;uRti-ykFYotg+__yk{hRm)vEB{+b3H|WSNu$W9 zd+S3**?C1d-b^(>Win)nN7PF|7&4F8k6F`d)nwkA0!IS&t!T7cjQ$WVTv3*09WBnp ztCl@lj2x5jx@fGF{({bB(P&?aGR2PoySfH%;Jb7UyiN~#Sp;P2{4T+gYK-DD0fH{?v@FAnSmaoH#pHI)gJXJqS9+hW&x;BmqGi& zXE}F~-LNk3_+UT!>{X%!6kEw;G<~q0?PRgldp_qp{{gXQulAskACz($#AXN`5Uodu zG+OG(1V33Dskp&zY%$d=23T-IjGP8iOI@kL%Z3&ui1JwZ>i_ zs!u%LWUXg@efBD8cFr>Son-KP%;2}@M1IR`%xdn=a`D}}VChS6xBYYQ1#Z3PnB3ml zgRGt*++tX+z$g*VTyF5&0e;`n%WQgqb@+f*V2!n7JcK{*v%#%Cm*xEjl%P+yUZ+jB zY7<5aJE&4gJH5kYM}unShCQC<;tY3gxVhNwR@+G%9x>}P>oAP@b6j2y#>3%6l>KMo zv)JYjXSu~yR7O>fUYxC^;7_EOf*p$Hwn~6VaSs1R-v~i-h>fq&O7#5KXzn8kR!ARA z{;!04ff6s!)A4tdc7Xk5lKS>lv0~^d>r|W>C_E3u^Ab$_Ykn4ad z5Y?!+kUOT-+jtUJC7wq#1vS*5Sl+APD|jy=fve{XDXInpNHeK0L%X3mt^?Yz=q+d& zbs$lk#s5ZJFLvtr=zZrKSV_H4&No;dW3eEVsa z_}j-|s!PmO_J!tH^&(r|dyc?E(5%q>qp>s0Y0o^XUSgZ%>+>$sjvym+T@HLXt*jrG z-M8mZQI^dS=mid{K*QLKnyto!QLo+W?-=b7X;f@kuU>A~ z3v4L5z!oW>2q1NuNCCyBxXkGixffmD3#|a1UVXl^TAU6Ot^0b>UfU&8W=$ zbj%_Z`RArEt^f+`s9xyQYiyx8Q>d?x+=@Cc%rDUv=F`t5U>!X;)Nr8QQmtQSFBdcO zq-_c>nhNQ8MEER()(|eJMq9hZsff2h=P*7lBn#am+Gt>=;i$D6gp2Y^wIU`w7KEvP z=UylaFq9NSF#3bKfojHlVr+llYi1L~ydXwg-AS}O`PXV5ru7lpiF$m3hT5Nu|1;nt zJ30$$Fa6s=`PABAWEX%zRG%b-idKmcl6;{-ei4(ma}{CNW^ffT?O1dT3*hxLlLavH zDpLS6xY}*+45{|zpheaG@#y4gcc?ikDjcMSL4_ZKA57H@4#ho$rWveehdL!0=MLZ? zGuCX_Q`ui(AM3}6QRlMO!CH)v0iQ^|mGn5c(-ENgFRKOSN9sOPGtLGzOmjf+bqFs` zI@An6ntk=VJ@L#tjiD_P49_p6`PM|JfHhPCJrw6~VKhp6XGg59KvRP8MWb?e5<&F0 zDJ!8TCt<+StdAE#xAH#rA(~;=#$jTnpM&N&gAKEO{o}Txa

yrakYRc`=sfEs{K0 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�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 zɺ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 l{YX-I{*_y~j%4i(QA1nGpVka}&{{c^gn$Z9N literal 286342 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 jUN}{AN>#+lUQa8n(! Date: Mon, 14 Apr 2014 19:20:30 +0200 Subject: [PATCH 12/46] GVAR popups only for Taranis... --- companion/src/modeledit/flightmodes.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index 660499146..911dec37a 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -158,11 +158,13 @@ FlightMode::FlightMode(QWidget * parent, ModelData & model, int phaseIdx, Genera gvLayout->addWidget(gvValues[i], i, col++, 1, 1); // Popups - gvPopups[i] = new QCheckBox(ui->gvGB); - gvPopups[i]->setProperty("index", i); - gvPopups[i]->setText(tr("Popup enabled")); - connect(gvPopups[i], SIGNAL(toggled(bool)), this, SLOT(phaseGVPopupToggled(bool))); - gvLayout->addWidget(gvPopups[i], i, col++, 1, 1); + if (IS_TARANIS(GetEepromInterface()->getBoard())) { + gvPopups[i] = new QCheckBox(ui->gvGB); + gvPopups[i]->setProperty("index", i); + gvPopups[i]->setText(tr("Popup enabled")); + connect(gvPopups[i], SIGNAL(toggled(bool)), this, SLOT(phaseGVPopupToggled(bool))); + gvLayout->addWidget(gvPopups[i], i, col++, 1, 1); + } } } else { @@ -209,8 +211,10 @@ void FlightMode::update() idx = phasegvar->gvars[i]; gvValues[i]->setDisabled(true); } - gvValues[i]->setValue(phasegvar->gvars[i]); - gvPopups[i]->setChecked(model.gvars_popups[i]); + if (IS_TARANIS(GetEepromInterface()->getBoard())) { + gvValues[i]->setValue(phasegvar->gvars[i]); + gvPopups[i]->setChecked(model.gvars_popups[i]); + } } for (int i=0; i Date: Mon, 14 Apr 2014 20:25:17 +0200 Subject: [PATCH 13/46] Fixed many memory leaks --- companion/src/companion.cpp | 2 ++ companion/src/eeprominterface.cpp | 16 +++++++++ companion/src/eeprominterface.h | 3 ++ .../src/firmwares/opentx/opentxeeprom.cpp | 33 ++++++++++++++++--- companion/src/firmwares/opentx/opentxeeprom.h | 1 + .../src/firmwares/opentx/opentxinterface.cpp | 7 ++++ .../src/firmwares/opentx/opentxinterface.h | 1 + companion/src/helpers.cpp | 5 ++- companion/src/mainwindow.cpp | 10 +++--- companion/src/mdichild.cpp | 4 +++ companion/src/mdichild.h | 1 + companion/src/simulation/simulatordialog.cpp | 1 + companion/src/simulation/simulatorinterface.h | 2 ++ 13 files changed, 76 insertions(+), 10 deletions(-) diff --git a/companion/src/companion.cpp b/companion/src/companion.cpp index 37a988273..ce0f282ae 100644 --- a/companion/src/companion.cpp +++ b/companion/src/companion.cpp @@ -123,5 +123,7 @@ int main(int argc, char *argv[]) delete splash; delete mainWin; + UnregisterFirmwares(); + return result; } diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 1862e0ed5..d7594e9fb 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -5,6 +5,7 @@ #include "firmwares/th9x/th9xinterface.h" #include "firmwares/gruvin9x/gruvin9xinterface.h" #include "firmwares/opentx/opentxinterface.h" +#include "firmwares/opentx/opentxeeprom.h" #include "firmwares/ersky9x/ersky9xinterface.h" #include "appdata.h" #include "helpers.h" @@ -1202,6 +1203,15 @@ void RegisterEepromInterfaces() eepromInterfaces.push_back(new Er9xInterface()); } +void UnregisterEepromInterfaces() +{ + foreach(EEPROMInterface * intf, eepromInterfaces) { + //std::cout << "UnregisterEepromInterfaces(): deleting " << std::hex << reinterpret_cast(intf) << std::dec << std::endl; + delete intf; + } + OpenTxEepromCleanup(); +} + QList firmwares; FirmwareVariant default_firmware_variant; FirmwareVariant current_firmware_variant; @@ -1214,6 +1224,12 @@ void RegisterFirmwares() RegisterEepromInterfaces(); } +void UnregisterFirmwares() { + UnregisterEepromInterfaces(); + UnregisterOpen9xFirmwares(); +} + + bool LoadEeprom(RadioData &radioData, const uint8_t *eeprom, const int size) { foreach(EEPROMInterface *eepromInterface, eepromInterfaces) { diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index adecee4fb..be4428c38 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -1245,6 +1245,7 @@ inline void applyStickModeToModel(ModelData &model, unsigned int mode) } void RegisterFirmwares(); +void UnregisterFirmwares(); bool LoadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index); bool LoadEeprom(RadioData &radioData, const uint8_t *eeprom, int size); @@ -1269,6 +1270,8 @@ class FirmwareInfo { virtual ~FirmwareInfo() { + //std::cout << "~FirmwareInfo(): id: " << id.toUtf8().constData() << " name: " << name.toUtf8().constData() << std::endl; + if (eepromInterface) delete eepromInterface; } FirmwareInfo(const QString & id, const QString & name, EEPROMInterface * eepromInterface, const QString & url = QString(), const QString & stamp = QString(), const QString & rnurl = QString(), bool voice = false): diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 588bb6562..6a210caaf 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -129,12 +129,12 @@ class SwitchesConversionTable: public ConversionTable { SwitchesConversionTable * table; }; + static std::list internalCache; + public: static SwitchesConversionTable * getInstance(BoardEnum board, unsigned int version, unsigned long flags=0) { - static std::list internalCache; - for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { Cache element = *it; if (element.board == board && element.version == version && element.flags == flags) @@ -145,8 +145,17 @@ class SwitchesConversionTable: public ConversionTable { internalCache.push_back(element); return element.table; } + static void Cleanup() { + for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { + Cache element = *it; + std::cout << "~SwitchesConversionTable(): deleting " << std::hex << reinterpret_cast(element.table) << std::dec << std::endl; + if (element.table) delete element.table; + } + } }; +std::list SwitchesConversionTable::internalCache; + #define FLAG_NONONE 0x01 #define FLAG_NOSWITCHES 0x02 #define FLAG_NOTELEMETRY 0x04 @@ -281,13 +290,12 @@ class SourcesConversionTable: public ConversionTable { unsigned long flags; SourcesConversionTable * table; }; + static std::list internalCache; public: static SourcesConversionTable * getInstance(BoardEnum board, unsigned int version, unsigned int variant, unsigned long flags=0) { - static std::list internalCache; - for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { Cache element = *it; if (element.board == board && element.version == version && element.variant == variant && element.flags == flags) @@ -298,8 +306,22 @@ class SourcesConversionTable: public ConversionTable { internalCache.push_back(element); return element.table; } + static void Cleanup() { + for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { + Cache element = *it; + //std::cout << "~SourcesConversionTable(): deleting " << std::hex << reinterpret_cast(element.table) << std::dec << std::endl; + if (element.table) delete element.table; + } + } }; +std::list SourcesConversionTable::internalCache; + +void OpenTxEepromCleanup(void){ + SourcesConversionTable::Cleanup(); + SwitchesConversionTable::Cleanup(); +} + ThrottleSourceConversionTable::ThrottleSourceConversionTable(BoardEnum board, unsigned int version) { int val=0; @@ -1436,6 +1458,9 @@ class LogicalSwitchField: public TransformedField { } } + ~LogicalSwitchField() { + if (andswitchesConversionTable) delete andswitchesConversionTable; + } virtual void beforeExport() { if (csw.func == LS_FN_TIMER) { diff --git a/companion/src/firmwares/opentx/opentxeeprom.h b/companion/src/firmwares/opentx/opentxeeprom.h index e830b6dfc..8d3d4cb60 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.h +++ b/companion/src/firmwares/opentx/opentxeeprom.h @@ -144,4 +144,5 @@ class OpenTxModelData: public TransformedField { ChannelsConversionTable channelsConversionTable; }; +void OpenTxEepromCleanup(void); #endif diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 0ef9eaf97..322eaebe2 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -1232,3 +1232,10 @@ void RegisterOpen9xFirmwares() firmwares.push_back(open9x); } } + +void UnregisterOpen9xFirmwares() { + foreach (FirmwareInfo * f, firmwares) { + //std::cout << "UnregisterOpen9xFirmwares(): deleting " << std::hex << reinterpret_cast(f) << std::dec << std::endl; + delete f; + } +} diff --git a/companion/src/firmwares/opentx/opentxinterface.h b/companion/src/firmwares/opentx/opentxinterface.h index 809b9f926..03bcf34f0 100644 --- a/companion/src/firmwares/opentx/opentxinterface.h +++ b/companion/src/firmwares/opentx/opentxinterface.h @@ -164,5 +164,6 @@ class Open9xFirmware: public FirmwareInfo { }; void RegisterOpen9xFirmwares(); +void UnregisterOpen9xFirmwares(); #endif diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp index 92ec4bd87..17d296d35 100644 --- a/companion/src/helpers.cpp +++ b/companion/src/helpers.cpp @@ -2,6 +2,7 @@ #include "appdata.h" #include "helpers.h" #include "simulatordialog.h" +#include "simulatorinterface.h" #include "flashinterface.h" const QColor colors[C9X_MAX_CURVES] = { @@ -905,7 +906,9 @@ CompanionIcon::CompanionIcon(QString baseimage) void startSimulation(QWidget * parent, RadioData & radioData, int modelIdx) { - if (GetEepromInterface()->getSimulator()) { + SimulatorInterface * si = GetEepromInterface()->getSimulator(); + if (si) { + delete si; RadioData * simuData = new RadioData(radioData); unsigned int flags = 0; if (modelIdx >= 0) { diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index c80b19309..4aba18d93 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1681,10 +1681,10 @@ void MainWindow::createActions() void MainWindow::createMenus() { - QMenu *recentFileMenu=new QMenu(tr("Recent Models+Settings")); - QMenu *languageMenu=new QMenu(tr("Set Menu Language")); - QMenu *themeMenu=new QMenu(tr("Set Icon Theme")); - QMenu *iconThemeSizeMenu=new QMenu(tr("Set Icon Size")); + QMenu *recentFileMenu=new QMenu(tr("Recent Models+Settings"), this); + QMenu *languageMenu=new QMenu(tr("Set Menu Language"), this); + QMenu *themeMenu=new QMenu(tr("Set Icon Theme"), this); + QMenu *iconThemeSizeMenu=new QMenu(tr("Set Icon Size"), this); fileMenu = menuBar()->addMenu(tr("File")); fileMenu->addAction(newAct); @@ -1783,7 +1783,7 @@ QMenu *MainWindow::createRecentFileMenu() QMenu *MainWindow::createProfilesMenu() { - QMenu *profilesMenu=new QMenu(tr("Radio Profile")); + QMenu *profilesMenu=new QMenu(tr("Radio Profile"), this); int i; for ( i = 0; i < MAX_PROFILES; ++i) { profilesMenu->addAction(profileActs[i]); diff --git a/companion/src/mdichild.cpp b/companion/src/mdichild.cpp index a401026ca..3be909f22 100644 --- a/companion/src/mdichild.cpp +++ b/companion/src/mdichild.cpp @@ -82,6 +82,10 @@ MdiChild::MdiChild(): } } +MdiChild::~MdiChild() { + delete ui; +} + void MdiChild::qSleep(int ms) { if (ms<0) diff --git a/companion/src/mdichild.h b/companion/src/mdichild.h index 1ff1730cc..fab250127 100644 --- a/companion/src/mdichild.h +++ b/companion/src/mdichild.h @@ -61,6 +61,7 @@ class MdiChild : public QWidget public: MdiChild(); + ~MdiChild(); void newFile(); bool loadFile(const QString &fileName, bool resetCurrentFile=true); diff --git a/companion/src/simulation/simulatordialog.cpp b/companion/src/simulation/simulatordialog.cpp index bc06c959e..1e13c2729 100644 --- a/companion/src/simulation/simulatordialog.cpp +++ b/companion/src/simulation/simulatordialog.cpp @@ -142,6 +142,7 @@ SimulatorDialogTaranis::~SimulatorDialogTaranis() SimulatorDialog::~SimulatorDialog() { delete timer; + if (simulator) delete simulator; } void SimulatorDialog::closeEvent (QCloseEvent *) diff --git a/companion/src/simulation/simulatorinterface.h b/companion/src/simulation/simulatorinterface.h index 5c75dbe91..65ee2792b 100644 --- a/companion/src/simulation/simulatorinterface.h +++ b/companion/src/simulation/simulatorinterface.h @@ -48,6 +48,8 @@ class SimulatorInterface { public: + virtual ~SimulatorInterface() {}; + virtual void start(QByteArray & eeprom, bool tests=true) = 0; virtual void start(const char * filename, bool tests=true) = 0; From 5a522fac4b430dee64c14d4808ab3c02b55a0097 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Mon, 14 Apr 2014 20:53:54 +0200 Subject: [PATCH 14/46] * One more leak fixed. * debug print removed --- companion/src/firmwares/opentx/opentxeeprom.cpp | 2 +- companion/src/mainwindow.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 6a210caaf..466d0ecd2 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -148,7 +148,7 @@ class SwitchesConversionTable: public ConversionTable { static void Cleanup() { for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { Cache element = *it; - std::cout << "~SwitchesConversionTable(): deleting " << std::hex << reinterpret_cast(element.table) << std::dec << std::endl; + //std::cout << "~SwitchesConversionTable(): deleting " << std::hex << reinterpret_cast(element.table) << std::dec << std::endl; if (element.table) delete element.table; } } diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 4aba18d93..46f5c814a 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -87,7 +87,7 @@ MainWindow::MainWindow(): downloadDialog_forWait(NULL) { - mdiArea = new QMdiArea; + mdiArea = new QMdiArea(this); mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); setCentralWidget(mdiArea); From 138b2deedccc63f930e27d4b80777bb24e4ea476 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 14 Apr 2014 21:55:48 +0200 Subject: [PATCH 15/46] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index ab36b7cd4..0c7aa76c7 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -370,3 +370,4 @@ Uwe Kuehn David Beatty Aaron Stringer Alan J Wasserman +Wolfgang Rauser From 52954b1be4590849719bd78a074fa7c2d08fb937 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Mon, 14 Apr 2014 22:00:39 +0200 Subject: [PATCH 16/46] * Added space between channels in mixers tab, amount defined by MIX_ROW_HEIGHT_INCREASE * Added highlighting of selected channel when used as source in other channels (Ctrl+T or context menu->Toogle highlight) * Added leading zero to channel name for ch_number < 10 (better alignment for CH1 to CH9) --- companion/src/modeledit/mixes.cpp | 157 ++++++++++++++++++++++-------- companion/src/modeledit/mixes.h | 6 ++ 2 files changed, 120 insertions(+), 43 deletions(-) diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index 1cd47484f..9233da842 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -5,7 +5,7 @@ MixesPanel::MixesPanel(QWidget *parent, ModelData & model, GeneralSettings & generalSettings): ModelPanel(parent, model, generalSettings), - mixInserted(false) + mixInserted(false), HighlightedSource(0) { QGridLayout * mixesLayout = new QGridLayout(this); @@ -47,10 +47,10 @@ QString MixesPanel::getChannelLabel(int curDest) QString str; int outputs = GetEepromInterface()->getCapability(Outputs); if (curDest > outputs) { - str = QObject::tr("X%1 ").arg(curDest-outputs); + str = QObject::tr("X%1 ").arg(curDest-outputs, 2, 10, QChar('0')); } else { - str = QObject::tr("CH%1").arg(curDest); + str = QObject::tr("CH%1").arg(curDest, 2, 10, QChar('0')); str.append(" "); if (GetEepromInterface()->getCapability(HasChNames)) { QString name = model.limitData[curDest-1].name; @@ -75,23 +75,82 @@ void MixesPanel::update() unsigned int outputs = GetEepromInterface()->getCapability(Outputs); for (i=0; igetCapability(Mixes); i++) { MixData *md = &model.mixData[i]; + //std::cout << "md->destCh: " << md->destCh << std::endl; if ((md->destCh==0) || (md->destCh>outputs+(unsigned int)GetEepromInterface()->getCapability(ExtraChannels))) continue; QString str = ""; while (curDest < md->destCh-1) { curDest++; - str = getChannelLabel(curDest); - qba.clear(); - qba.append((quint8)-curDest); - QListWidgetItem *itm = new QListWidgetItem(str); - itm->setData(Qt::UserRole,qba); - MixerlistWidget->addItem(itm); + AddMixerLine(-curDest); } + if (AddMixerLine(i)) { + curDest++; + } + } + while(curDestgetCapability(ExtraChannels)) { + curDest++; + AddMixerLine(-curDest); + } +} + +#define MIX_ROW_HEIGHT_INCREASE 8 //how much space is added above mixer row (for new channel), if 0 space adding is disabled + +bool MixesPanel::AddMixerLine(int dest) +{ + bool new_ch; + //std::cout << "dest: " << dest << std::endl; + //QWidget *w = getMixerWidget(dest, &new_ch); + QString str = getMixerText(dest, &new_ch); + QListWidgetItem *itm = new QListWidgetItem(); + itm->setData(Qt::UserRole, QByteArray(1, (quint8)dest)); +#if MIX_ROW_HEIGHT_INCREASE > 0 + if ((new_ch && (dest > 0)) || (dest < 0)) { + //increase size of this row + QFontMetrics * fm = new QFontMetrics(itm->font()); + QRect rect = fm->boundingRect("C)"); + itm->setSizeHint(QSize(-1, (rect.height() * (14+MIX_ROW_HEIGHT_INCREASE))/10)); + } +#endif + MixerlistWidget->addItem(itm); + MixerlistWidget->setItemWidget(itm, getMixerWidget(str)); + std::cout << "MixesPanel::AddMixerLine(): " << str.toUtf8().constData() << std::endl; + return new_ch; +} + +QWidget * MixesPanel::getMixerWidget(const QString & mixer_text) { + QLabel * l = new QLabel(); + l->setFont(QFont("Courier New",12)); + l->setTextFormat(Qt::RichText); + l->setAlignment(Qt::AlignBottom); + QString formated_str(mixer_text); + formated_str.replace(" ", " "); + l->setText(formated_str); + return l; +} + +QString MixesPanel::getMixerText(int dest, bool * new_ch) +{ + QString str; + *new_ch = 0; + if (dest < 0) { + str = getChannelLabel(-dest); + //highlight channell if needed + if (-dest == (int)HighlightedSource) { + str = "" + str + ""; + } + } + else { + MixData *md = &model.mixData[dest]; + //md->destCh from 1 to 32 str = getChannelLabel(md->destCh); - if (curDest != md->destCh) { - curDest = md->destCh; - } + if ((dest == 0) || (model.mixData[dest-1].destCh != md->destCh)) { + *new_ch = 1; + //highlight channell if needed + if (md->destCh == HighlightedSource) { + str = "" + str + ""; + } + } else { str.fill(' '); } @@ -102,63 +161,53 @@ void MixesPanel::update() default: str += " "; break; }; - str += " " + md->srcRaw.toString(); + //highlight source if needed + if ( (md->srcRaw.type == SOURCE_TYPE_CH) && (md->srcRaw.index+1 == (int)HighlightedSource) ) { + str += " " + Qt::escape(md->srcRaw.toString()) + ""; + } + else { + str += " " + Qt::escape(md->srcRaw.toString()); + } - str += " " + tr("Weight(%1)").arg(getGVarString(md->weight, true)); + str += " " + Qt::escape(tr("Weight(%1)").arg(getGVarString(md->weight, true))); QString phasesStr = getPhasesStr(md->phases, model); - if (!phasesStr.isEmpty()) str += " " + phasesStr; + if (!phasesStr.isEmpty()) str += " " + Qt::escape(phasesStr); if (md->swtch.type != SWITCH_TYPE_NONE) { - str += " " + tr("Switch(%1)").arg(md->swtch.toString()); + str += " " + Qt::escape(tr("Switch(%1)").arg(md->swtch.toString())); } if (md->carryTrim>0) { - str += " " + tr("No Trim"); + str += " " + Qt::escape(tr("No Trim")); } else if (md->carryTrim<0) { - str += " " + RawSource(SOURCE_TYPE_TRIM, (-(md->carryTrim)-1)).toString(); + str += " " + Qt::escape(RawSource(SOURCE_TYPE_TRIM, (-(md->carryTrim)-1)).toString()); } - if (md->noExpo) str += " " + tr("No DR/Expo"); - if (md->sOffset) str += " " + tr("Offset(%1)").arg(getGVarString(md->sOffset)); - if (md->curve.value) str += " " + md->curve.toString(); + if (md->noExpo) str += " " + Qt::escape(tr("No DR/Expo")); + if (md->sOffset) str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(md->sOffset))); + if (md->curve.value) str += " " + Qt::escape(md->curve.toString()); int scale = GetEepromInterface()->getCapability(SlowScale); if (scale == 0) scale = 1; if (md->delayDown || md->delayUp) - str += tr(" Delay(u%1:d%2)").arg((double)md->delayUp/scale).arg((double)md->delayDown/scale); + str += Qt::escape(tr(" Delay(u%1:d%2)").arg((double)md->delayUp/scale).arg((double)md->delayDown/scale)); if (md->speedDown || md->speedUp) - str += tr(" Slow(u%1:d%2)").arg((double)md->speedUp/scale).arg((double)md->speedDown/scale); - if (md->mixWarn) str += tr(" Warn(%1)").arg(md->mixWarn); + str += Qt::escape(tr(" Slow(u%1:d%2)").arg((double)md->speedUp/scale).arg((double)md->speedDown/scale)); + if (md->mixWarn) str += Qt::escape(tr(" Warn(%1)").arg(md->mixWarn)); if (GetEepromInterface()->getCapability(HasMixerNames)) { QString MixerName; MixerName.append(md->name); if (!MixerName.isEmpty()) { - str += QString("(%1)").arg(MixerName); + str += Qt::escape(QString("(%1)").arg(MixerName)); } } - qba.clear(); - qba.append((quint8)i); - qba.append((const char*)md, sizeof(MixData)); - QListWidgetItem *itm = new QListWidgetItem(str); - itm->setData(Qt::UserRole, qba); // mix number - MixerlistWidget->addItem(itm); //(str); - } - - while(curDestgetCapability(ExtraChannels)) { - curDest++; - QString str = getChannelLabel(curDest); - qba.clear(); - qba.append((quint8)-curDest); - QListWidgetItem *itm = new QListWidgetItem(str); - itm->setData(Qt::UserRole,qba); // add new mixer - MixerlistWidget->addItem(itm); } + return str; } - bool MixesPanel::gm_insertMix(int idx) { if (idx<0 || idx>=GetEepromInterface()->getCapability(Mixes) || model.mixData[GetEepromInterface()->getCapability(Mixes)-1].destCh > 0) { @@ -367,6 +416,26 @@ void MixesPanel::mixerOpen() gm_openMix(idx); } +void MixesPanel::mixerHighlight() +{ + int idx = MixerlistWidget->currentItem()->data(Qt::UserRole).toByteArray().at(0); + int dest; + if (idx<0) { + dest = -idx; + } + else { + dest = model.mixData[idx].destCh; + } + HighlightedSource = ( (int)HighlightedSource == dest) ? 0 : dest; + //std::cout << "MixesPanel::mixerHighlight(1): " << HighlightedSource << std::endl; + for(int i=0; icount(); i++) { + int t = MixerlistWidget->item(i)->data(Qt::UserRole).toByteArray().at(0); + bool dummy; + QWidget *w = getMixerWidget(getMixerText(t, &dummy)); + MixerlistWidget->setItemWidget(MixerlistWidget->item(i), w); + } +} + void MixesPanel::mixerAdd() { if (!MixerlistWidget->currentItem()) @@ -401,10 +470,11 @@ void MixesPanel::mixerlistWidget_customContextMenuRequested(QPoint pos) QMenu contextMenu; contextMenu.addAction(CompanionIcon("add.png"), tr("&Add"),this,SLOT(mixerAdd()),tr("Ctrl+A")); contextMenu.addAction(CompanionIcon("edit.png"), tr("&Edit"),this,SLOT(mixerOpen()),tr("Enter")); + contextMenu.addAction(CompanionIcon("fuses.png"), tr("&Toogle &highlight"),this,SLOT(mixerHighlight()),tr("Ctrl+T")); contextMenu.addSeparator(); contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(mixersDelete()),tr("Delete")); contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(mixersCopy()),tr("Ctrl+C")); - contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(mixersCut()),tr("Ctrl+X")); + contextMenu.addAction(CompanionIcon("cut.png"), tr("C&ut"),this,SLOT(mixersCut()),tr("Ctrl+X")); contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(mixersPaste()),tr("Ctrl+V"))->setEnabled(hasData); contextMenu.addAction(CompanionIcon("duplicate.png"), tr("Du&plicate"),this,SLOT(mixersDuplicate()),tr("Ctrl+U")); contextMenu.addSeparator(); @@ -433,6 +503,7 @@ void MixesPanel::mixerlistWidget_KeyPress(QKeyEvent *event) if(event->matches(QKeySequence::Cut)) mixersCut(); if(event->matches(QKeySequence::Paste)) mixersPaste(); if(event->matches(QKeySequence::Underline)) mixersDuplicate(); + if(event->matches(QKeySequence::AddTab)) mixerHighlight(); if(event->key()==Qt::Key_Return || event->key()==Qt::Key_Enter) mixerOpen(); if(event->matches(QKeySequence::MoveToNextLine)) diff --git a/companion/src/modeledit/mixes.h b/companion/src/modeledit/mixes.h index 72bb0e0d5..1ab0ec802 100644 --- a/companion/src/modeledit/mixes.h +++ b/companion/src/modeledit/mixes.h @@ -27,6 +27,8 @@ class MixesPanel : public ModelPanel void mixerAdd(); void moveMixUp(); void moveMixDown(); + void mixerHighlight(); + void mixerlistWidget_customContextMenuRequested(QPoint pos); void mixerlistWidget_doubleClicked(QModelIndex index); @@ -40,6 +42,7 @@ class MixesPanel : public ModelPanel private: MixersList *MixerlistWidget; bool mixInserted; + unsigned int HighlightedSource; int getMixerIndex(unsigned int dch); bool gm_insertMix(int idx); @@ -50,6 +53,9 @@ class MixesPanel : public ModelPanel QList createMixListFromSelected(); void setSelectedByMixList(QList list); QString getChannelLabel(int curDest); + bool AddMixerLine(int dest); + QString getMixerText(int dest, bool * new_ch); + QWidget * getMixerWidget(const QString & mixer_text); }; #endif // MIXES_H From 8c5fc3a01fa611033207fe11df875d3c894334a8 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 14 Apr 2014 23:15:52 +0200 Subject: [PATCH 17/46] Fix "Move up a mix will not move higher than the current topmost line entry" --- companion/src/modeledit/mixes.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index 1cd47484f..49dd373e9 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -443,11 +443,14 @@ void MixesPanel::mixerlistWidget_KeyPress(QKeyEvent *event) int MixesPanel::gm_moveMix(int idx, bool dir) //true=inc=down false=dec=up { - if(idx>GetEepromInterface()->getCapability(Mixes) || (idx==0 && !dir) || (idx==GetEepromInterface()->getCapability(Mixes) && dir)) return idx; + if(idx>GetEepromInterface()->getCapability(Mixes) || (idx==GetEepromInterface()->getCapability(Mixes) && dir)) return idx; int tdx = dir ? idx+1 : idx-1; MixData &src=model.mixData[idx]; MixData &tgt=model.mixData[tdx]; + + if (src.destCh == 1 && !dir) + return idx; unsigned int outputs = GetEepromInterface()->getCapability(Outputs); if((src.destCh==0) || (src.destCh>outputs) || (tgt.destCh>outputs)) return idx; From 6011b971ad8ba69b0cbb25154f1f53e9a0a3e73f Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 15 Apr 2014 11:36:42 +0200 Subject: [PATCH 18/46] Fixes #977 --- companion/src/firmwares/opentx/opentxeeprom.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 588bb6562..803a91b39 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -680,8 +680,9 @@ class FlightModeField: public TransformedField { } } else { - for (int i=0; i(trimBase[i])); + } } internalField.Append(new SwitchField<8>(phase.swtch, board, version)); @@ -764,7 +765,7 @@ class FlightModeField: public TransformedField { phase.trim[i] = 0; } else { - phase.trimRef[i] = index; + phase.trimRef[i] = (trim == 0 ? 0 : index/*own trim*/); phase.trimMode[i] = 0; phase.trim[i] = trim; } From 5c8504add6beb538822f71b9d4b6f9e6e4c75ba5 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 15 Apr 2014 12:25:46 +0200 Subject: [PATCH 19/46] Better fix for #977 --- .../src/firmwares/opentx/opentxeeprom.cpp | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 803a91b39..5eacd1190 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -752,22 +752,29 @@ class FlightModeField: public TransformedField { } } else { - int trim; - if (board == BOARD_STOCK || (board == BOARD_M128 && version >= 215)) - trim = ((trimBase[i]) << 2) + (trimExt[i] & 0x03); - else - trim = trimBase[i]; - if (trim > 500) { - phase.trimRef[i] = trim - 501; - if (phase.trimRef[i] >= index) - phase.trimRef[i] += 1; + if (phase.swtch == RawSwitch(SWITCH_TYPE_NONE)) { + phase.trimRef[i] = 0; phase.trimMode[i] = 0; phase.trim[i] = 0; } else { - phase.trimRef[i] = (trim == 0 ? 0 : index/*own trim*/); - phase.trimMode[i] = 0; - phase.trim[i] = trim; + int trim; + if (board == BOARD_STOCK || (board == BOARD_M128 && version >= 215)) + trim = ((trimBase[i]) << 2) + (trimExt[i] & 0x03); + else + trim = trimBase[i]; + if (trim > 500) { + phase.trimRef[i] = trim - 501; + if (phase.trimRef[i] >= index) + phase.trimRef[i] += 1; + phase.trimMode[i] = 0; + phase.trim[i] = 0; + } + else { + phase.trimRef[i] = index/*own trim*/; + phase.trimMode[i] = 0; + phase.trim[i] = trim; + } } } } From 38f802522161ce7a32a5cb22a379125490454bb8 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 15:19:39 +0200 Subject: [PATCH 20/46] Translation/typo cleanup part 1 --- companion/src/generaledit.ui | 13 +++------ companion/src/modeledit/curves.ui | 6 ++--- companion/src/modeledit/expodialog.ui | 38 ++++++++++----------------- companion/src/modeledit/flightmode.ui | 10 +++---- companion/src/wizarddialog.cpp | 2 +- 5 files changed, 26 insertions(+), 43 deletions(-) diff --git a/companion/src/generaledit.ui b/companion/src/generaledit.ui index b94149ef3..e89726caf 100644 --- a/companion/src/generaledit.ui +++ b/companion/src/generaledit.ui @@ -540,7 +540,7 @@ Mode 4: - Channel Order (For Templates) + Default Channel Order @@ -683,9 +683,7 @@ Mode 4: - Channel order - -This is used by the templated to determine which channel goes to what number output. + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> 0 @@ -1628,12 +1626,7 @@ p, li { white-space: pre-wrap; } - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LCD Screen Contrast</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Values can be 20-45</span></p></body></html> + 10 diff --git a/companion/src/modeledit/curves.ui b/companion/src/modeledit/curves.ui index 7c08f5a3f..1be96eecd 100644 --- a/companion/src/modeledit/curves.ui +++ b/companion/src/modeledit/curves.ui @@ -11,7 +11,7 @@ - Form + @@ -65,12 +65,12 @@ - Standard + Fixed X - Custom + Custom X diff --git a/companion/src/modeledit/expodialog.ui b/companion/src/modeledit/expodialog.ui index 82d16dbc2..b51d1e82a 100644 --- a/companion/src/modeledit/expodialog.ui +++ b/companion/src/modeledit/expodialog.ui @@ -33,7 +33,7 @@ - The source for the mixer + Source for the mixer. @@ -73,7 +73,7 @@ - Phase used by the input. + @@ -104,7 +104,7 @@ - 0 + 0 Qt::AlignCenter @@ -114,7 +114,7 @@ - 1 + 1 Qt::AlignCenter @@ -124,7 +124,7 @@ - 2 + 2 Qt::AlignCenter @@ -134,7 +134,7 @@ - 3 + 3 Qt::AlignCenter @@ -144,7 +144,7 @@ - 4 + 4 Qt::AlignCenter @@ -154,7 +154,7 @@ - 5 + 5 Qt::AlignCenter @@ -164,7 +164,7 @@ - 6 + 6 Qt::AlignCenter @@ -174,7 +174,7 @@ - 7 + 7 Qt::AlignCenter @@ -184,7 +184,7 @@ - 8 + 8 Qt::AlignCenter @@ -266,7 +266,7 @@ - Switch used by the input. + Switch used to enable the line. If blank then the input is considered to be "ON" all the time. @@ -332,17 +332,7 @@ If blank then the input is considered to be "ON" all the time. - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -395,7 +385,7 @@ p, li { white-space: pre-wrap; } - The curve used by the input + Curve applied to the source. diff --git a/companion/src/modeledit/flightmode.ui b/companion/src/modeledit/flightmode.ui index 15158c258..b2ff04752 100644 --- a/companion/src/modeledit/flightmode.ui +++ b/companion/src/modeledit/flightmode.ui @@ -11,7 +11,7 @@ - Form + @@ -169,7 +169,7 @@ - trim1 + trim1 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -277,7 +277,7 @@ - trim2 + trim2 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -303,7 +303,7 @@ - trim4 + trim4 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -313,7 +313,7 @@ - trim3 + trim3 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/companion/src/wizarddialog.cpp b/companion/src/wizarddialog.cpp index 773863d11..dc7ecee73 100644 --- a/companion/src/wizarddialog.cpp +++ b/companion/src/wizarddialog.cpp @@ -736,7 +736,7 @@ FblPage::FblPage(WizardDialog *dlg, QString image, QString title, QString text, rollCB = new QComboBox(); QLayout *l = layout(); - l->addWidget(new QLabel(tr("Trottle Channel:"))); + l->addWidget(new QLabel(tr("Throttle Channel:"))); l->addWidget(throttleCB); l->addWidget(new QLabel(tr("Yaw Channel:"))); l->addWidget(yawCB); From 2daf4323cac9207c2564df220765e6bcbb9541b7 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 15:38:02 +0200 Subject: [PATCH 21/46] Translation/typo cleanup part 2 --- companion/src/generaledit.ui | 18 +++++++++--------- companion/src/modeledit/heli.ui | 2 +- companion/src/wizarddialog.cpp | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/companion/src/generaledit.ui b/companion/src/generaledit.ui index e89726caf..9cb40ca8f 100644 --- a/companion/src/generaledit.ui +++ b/companion/src/generaledit.ui @@ -106,7 +106,7 @@ These will be relevant for all models in the same EEPROM. - 0 + 2 @@ -2381,7 +2381,7 @@ Acceptable values are 5v..10v - POT 4 + Pot. 4 @@ -2395,7 +2395,7 @@ Acceptable values are 5v..10v - POT 3 + Pot. 3 @@ -2415,14 +2415,14 @@ Acceptable values are 5v..10v - POT 2 + Pot. 2 - POT 1 + Pot. 1 @@ -2449,7 +2449,7 @@ Acceptable values are 5v..10v - STICK 3 + Stick 3 @@ -2486,7 +2486,7 @@ Acceptable values are 5v..10v - STICK 1 + Stick 1 @@ -2535,7 +2535,7 @@ Acceptable values are 5v..10v - STICK 2 + Stick 2 @@ -2620,7 +2620,7 @@ Acceptable values are 5v..10v - STICK 4 + Stick 4 diff --git a/companion/src/modeledit/heli.ui b/companion/src/modeledit/heli.ui index c9741fde9..a248c9df7 100644 --- a/companion/src/modeledit/heli.ui +++ b/companion/src/modeledit/heli.ui @@ -11,7 +11,7 @@ - Form + diff --git a/companion/src/wizarddialog.cpp b/companion/src/wizarddialog.cpp index dc7ecee73..c211265d3 100644 --- a/companion/src/wizarddialog.cpp +++ b/companion/src/wizarddialog.cpp @@ -771,7 +771,7 @@ HeliPage::HeliPage(WizardDialog *dlg, QString image, QString title, QString text rollCB = new QComboBox(); QLayout *l = layout(); - l->addWidget(new QLabel(tr("Trottle Channel:"))); + l->addWidget(new QLabel(tr("Throttle Channel:"))); l->addWidget(throttleCB); l->addWidget(new QLabel(tr("Yaw Channel:"))); l->addWidget(yawCB); @@ -806,7 +806,7 @@ MultirotorPage::MultirotorPage(WizardDialog *dlg, QString image, QString title, rollCB = new QComboBox(); QLayout *l = layout(); - l->addWidget(new QLabel(tr("Trottle Channel:"))); + l->addWidget(new QLabel(tr("Throttle Channel:"))); l->addWidget(throttleCB); l->addWidget(new QLabel(tr("Yaw Channel:"))); l->addWidget(yawCB); From ec59baaf4ad8006c6cc98921615ea236cb8a21ea Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 16:04:12 +0200 Subject: [PATCH 22/46] Translation/typo cleanup part 3 --- companion/src/mainwindow.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index c80b19309..b19997eff 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -277,7 +277,7 @@ void MainWindow::checkForUpdateFinished(QNetworkReply * reply) } } #else - QMessageBox::warning(this, tr("New release available"), tr("A new release of Companion is available please check the OpenTX website!")); + QMessageBox::warning(this, tr("New release available"), tr("A new release of Companion is available, please check the OpenTX website!")); #endif } else { if (showcheckForUpdatesResult && check1done && check2done) @@ -341,7 +341,7 @@ void MainWindow::reply1Accepted() int errnum=hline.mid(6).toInt(); switch(errnum) { case 1: - errormsg=tr("Firmware does not longer fit in the radio, due to selected firmware options"); + errormsg=tr("Not enough memory for all the selected firmware options"); break; case 2: errormsg=tr("Compilation server temporary failure, try later"); @@ -380,7 +380,7 @@ void MainWindow::reply1Accepted() int errnum=hline.mid(6).toInt(); switch(errnum) { case 1: - errormsg=tr("Firmware does not fit in the radio, due to selected firmware options"); + errormsg=tr("Not enough memory for all the selected firmware options"); break; case 2: errormsg=tr("Compilation server termporary failure, try later"); From b873036c42e3f043713af75f040f4edd46c3079b Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 16:05:12 +0200 Subject: [PATCH 23/46] French translations part 1 --- companion/src/translations/companion_fr.ts | 2864 ++++++++++---------- 1 file changed, 1435 insertions(+), 1429 deletions(-) diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index 8cc595ac9..14230543b 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -3,81 +3,81 @@ AileronsPage - - - No - Non - - Yes, controlled by a single channel - + No + Non + Yes, controlled by a single channel + Oui, contrôlés par un seul canal + + + Yes, controlled by two channels - + Oui, contrôlés par 2 canaux - + <br>First Aileron Channel: - + <br>Premier canal d'ailerons: - + Second Aileron Channel: - + Deuxième canal d'ailerons: AirbrakesPage - - - No - Non - - Yes, controlled by a single channel - + No + Non + Yes, controlled by a single channel + Oui, contrôlés par un seul canal + + + Yes, controlled by two channels - + Oui, contrôlés par 2 canaux - + <br>First Airbrake Channel: - + <br>Premier canal de volets: - + Second Airbrake Channel: - + Deuxième canal de volets: BankPage - - - One - - + One + Un + + + Two - + Deux - + <br>First Elevon Channel: - + <br>Premier canal d'élevons: - + Second Elevon Channel: - + Deuxième canal d'élevons: @@ -85,65 +85,65 @@ Name - Nom + Nom Min - Min + Min Max - Max + Max Subtrim - + Subtrim Direction - + Curve - Courbe + Courbe PPM Center - + Neutre PPM Linear Subtrim - + Subtrim linéaire Channel %1 - + Canal %1 --- - --- + INV - Inversion + ConclusionPage - + OK, I understand. - + OK, compris! @@ -151,262 +151,261 @@ Diff - Diff + Expo - Expo + Func - + Fonc Curve - Courbe + Courbe Curves - - Form - + Custom + Personnalisé - Standard - + Fixed X + X fixe - Custom - Prédéfini + Custom X + X configurable Lines - + Linéaire Smooth - + Adoucie Curve type - Type de courbe + Type de courbe Curve Creator - + Créateur de courbe Y at X=0 - Y pour X=0 + Y pour X=0 Y at X=100 - Y pour X=100 + Y pour X=100 Both - Les 2 + Les 2 x>0 - + x<0 - + Apply - + Appliquer Side - Direction + Côté Y at X=-100 - Y pour X=-100 + Y pour X=-100 Coefficient - + Curve name - Nom de la courbe + Nom de la courbe - + Curve %1 - + Courbe %1 - + %1 points - + - + Linear - Linéaire + Linéaire - + Single Expo - Expo simple + Expo simple - + Symmetrical f(x)=-f(-x) - Symétrique f(x)=-f(-x) + Symétrique f(x)=-f(-x) - + Symmetrical f(x)=f(-x) - Symétrique f(x)=f(-x) + Symétrique f(x)=f(-x) - + Are you sure you want to reset curve %1 ? - + Voulez-vous vraiment réinitialiser la courbe %1 ? - + Editing curve %1 - Édition de la courbe %1 + Édition de la courbe %1 - + Not enough free points in EEPROM to store the curve. - + Pas assez de points disponibles en mémoire pour enregistrer la courbe. CustomFunctionsPanel - - - Switch - Interrupteur - - - - Action - - - - - Parameters - - + Switch + Interrupteur + + + + Action + + + + + Parameters + Paramètres + + + Enable - Actif + Actif - + SF%1 - + FS%1 - + ON - + - + Error - Erreur + Erreur - + Unable to find sound file %1! - Impossible de trouver le fichier %1! + Impossible de trouver le fichier son %1! - + &Delete - &Supprimer + &Supprimer - + Delete - Supprimer + Supprimer - + &Copy - &Copier + &Copier - + Ctrl+C - Ctrl+C + - + &Cut - C&ouper + C&ouper - + Ctrl+X - Ctrl+X + - + &Paste - Co&ller + Co&ller - + Ctrl+V - Ctrl+V + CyclicPage - + 90 - 90 - - - - 120 - 120 + - 120x - 120x + 120 + + 120x + + + + 140 - 140 + @@ -416,76 +415,57 @@ Weight Ratio - - - 0 - 0 - Flight modes Phases de vol - The source for the mixer - La voie maître pour le mixage + La voie maître du mixage Input name - + Nom de l'entrée - + GV VG - - Phase used by the input. - - - - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 @@ -493,25 +473,19 @@ Interrupteur - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - + + Curve applied to the source. + Courbe appliquée à la source. - - The curve used by the input - - - - + Source - + - + Line name - + Nom de la ligne @@ -519,7 +493,18 @@ If blank then the input is considered to be "ON" all the time.Direction - + + Source for the mixer. + La voie maître du mixage. + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + Interrupteur utilisé pour activer la ligne. +Si vide, la ligne est toujours active. + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -531,7 +516,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> @@ -544,240 +529,220 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Si Ralentissement est différent de 0, la vitesse du mixage sera la valeur spécifiée -&gt; La valeur représente le nombre de secondes nécessaires à la course -100/100.</p></body></html> - + Scale - Echelle + Echelle - + Include Trim - Inclure Trim + Inclure Trim - + No - Non + Non - + Yes - Oui + Oui - + Curve Courbe NEG - Négatif + Négative POS - Positif + Positive ALL - Partout + Les 2 Edit %1 - + Editer %1 Rud - Dir + Dir Ele - Prf + Prf Thr - Gaz + Gaz Ail - Ail + Ail FblPage - - Trottle Channel: - + + Throttle Channel: + Canal des gaz: - + Yaw Channel: - + Canal du lacet: - + Pitch Channel: - + Canal du tangage: - + Roll Channel: - + Canal du roulis: FlapsPage - - - No - Non - - Yes, controlled by a single channel - + No + Non + Yes, controlled by a single channel + Oui, contrôlés par un seul canal + + + Yes, controlled by two channels - + Oui, contrôlés par 2 canaux - + <br>First Flap Channel: - + <br>Premier canal de volets: - + Second Flap Channel: - + Deuxième canal de volets: FlightMode - - - Form - - Fade In - Fondu en entrée + Fondu en entrée Fade Out - Fondu en sortie + Fondu en sortie Name - Nom + Nom Switch - Interrupteur - - - - trim1 - - - - - trim2 - - - - - trim4 - - - - - trim3 - + Interrupteur Rud - Dir + Dir Ele - Prf + Prf Thr - Gaz + Gaz Ail - Ail + Ail Rotary Encoder %1 - + Encodeur rotatif %1 GVAR%1 - + VG%1 + + + + Popup enabled + Indication activée FlightModes - + Flight Mode %1 - + Phase de vol %1 - + (%1) - + - + (default) - + (par défaut) FlybarSelectionPage - + Has Flybar - + Avec barre de Bell - + Flybarless - + Sans barre de Bell - + Flybar: - + Barre de Bell: GeneralEdit - + v @@ -787,7 +752,7 @@ p, li { white-space: pre-wrap; } - + sec @@ -797,8 +762,7 @@ p, li { white-space: pre-wrap; } Configuration - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -813,7 +777,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Plage de valeurs: 20...45</span></p></body></html> - + Inactivity Timer Alerte d'inactivité @@ -829,7 +793,7 @@ Réinitialisation en agissant sur n'importe lequel des manches / touches de Paramètres généraux - + This is the switch selectrion for turning on the backlight (if installed). @@ -842,17 +806,17 @@ Réinitialisation en agissant sur n'importe lequel des manches / touches de - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -869,12 +833,12 @@ Long : bips plus longs. Extra long : bips extra longs. - + Battery Warning Alerte batterie - + Contrast Contraste @@ -937,7 +901,7 @@ These will be relevant for all models in the same EEPROM. Communs à tous les modèles d'une même EEPROM. - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -948,7 +912,7 @@ Seuil auquel se déclenche l'alarme de batterie. Plage de valeurs: 5v...10v - + Calibration Étalonnage @@ -958,26 +922,26 @@ Plage de valeurs: 5v...10v Mode - Channel order This is used by the templated to determine which channel goes to what number output. - Ordre des voies -Indique l'affectation voie / numéro d'entrée pour les présélections (=Templates). + Ordre des voies + +Détermine l'ordre des mixages par défaut sur un nouveau modèle. - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Si cette valeur est différente de 0, l'appui sur une touche de navigation déclenche le rétroéclairage qui s'éteint après la durée spécifiée (en secondes). - + Beeper Mode Réglage des bips - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1007,18 +971,17 @@ p, li { white-space: pre-wrap; } Mode 1 (DIR PROF GAZ AIL) - Channel Order (For Templates) - Ordre des voies par défaut + Ordre des voies par défaut - + Show Splash Screen on Startup Afficher l'écran de démarrage - - + + Show splash screen on startup Affiche l'écran d'accueil au démarrage @@ -1038,91 +1001,91 @@ p, li { white-space: pre-wrap; } Normal - Normal + Long - Long + - + Rud - Dir + Dir - + Ele - Prf + Prf - + Thr - Gaz + Gaz - + Ail - Ail + Ail - + PPM Multiplier Coeff. multiplicateur PPM - - - - + + + + Off - Aucun + Désactivé - + Trainer Ecolage - + PPM 1 - PPM 1 + - - - - + + + + chn1 Can. 1 - - - - + + + + chn2 Can. 2 - - - - + + + + chn3 Can. 3 - - - - + + + + chn4 Can. 4 - + Mode Mode @@ -1191,7 +1154,7 @@ p, li { white-space: pre-wrap; } Durée vibreur - + GPS Coordinates Coordonnées GPS @@ -1221,32 +1184,32 @@ p, li { white-space: pre-wrap; } Haut-parleur/Voix - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC Décalage horaire (UTC) - + LCD Display Type Type de LCD - + Standard - + Optrex @@ -1261,29 +1224,29 @@ p, li { white-space: pre-wrap; } Puissance vibreur - + BackLight Brightness Luminosité rétroéclairage - + RotEnc Navigation - Navigation avec encodeur + Navigation avec encodeur rot. - + BackLight Auto OFF after Durée rétroéclairage - + BackLight Switch Inter rétroéclairage Country Code - + Zone géograhpique RF @@ -1293,12 +1256,12 @@ p, li { white-space: pre-wrap; } Japan - + Japon America - + Amérique @@ -1311,9 +1274,9 @@ p, li { white-space: pre-wrap; } Impérial - + Measurement Units - Unités + Unités de mesure @@ -1346,7 +1309,7 @@ p, li { white-space: pre-wrap; } Mode FAI - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Lorsque le mode FAI est activé, le variomètre ainsi que l'écran et la lecture des valeurs de télémesure sont désactivés. Ce mode ne peut pas être désactivé sur la radio. @@ -1398,152 +1361,202 @@ p, li { white-space: pre-wrap; } Vario pitch at zero - + Tonalité du vario à 0 - + + Default Channel Order + Ordre des voies par défaut + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + <html><head/><body><p>Ordre des voiesr</p><p><br/></p><p>Détermine l'ordre des mixages par défaut sur un nouveau modèle.</p></body></html> + + + R E T A - + D P G A - + R E A T - + D P A G - + R T E A - + D G P A - + R T A E - + D G A P - + R A E T - + D A P G - + R A T E - + D A G P - + E R T A - + P D G A - + E R A T - + P D A G - + E T R A - + P G D A - + E T A R - + P G A D - + E A R T - + P A D G - + E A T R - + P A G D - + T R E A - + G D P A - + T R A E - + G D A P - + T E R A - + G P D A - + T E A R - + G P A D - + T A R E - + G A D P - + T A E R - + G A P D - + A R E T - + A D P G - + A R T E - + A D G P - + A E R T - + A P D G - + A E T R - + A P G D - + A T R E - + A G D P - + A T E R - + A G P D - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + Manche 3 + + + + Stick 1 + Manche 1 + + + + Stick 2 + Manche 2 + + + + Stick 4 + Manche 4 + + + S3 Type - + Type S3 - + OFF - + - + S-Port Mirror - + Recopie S. Port - + Debug - + Débogage - + Serial Port - + Port série @@ -1551,253 +1564,245 @@ p, li { white-space: pre-wrap; } Débloquage lecture seule - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - - + + Hz - + - + "No Sound" Warning - + Alerte "son coupé" - + Low Memory Warning - + Alerte mémoire pleine - + --- - --- + --- - + 2s - 2s + - + 3s - 3s + - + 4s - 4s + - + 6s - 6s + - + 8s - 8s + - + 10s - 10s + - + 15s - 15s + - + Vario pitch at max - + Tonalité du vario au max - + ms - + - + Vario repeat at zero - + Répétition du vario à 0 - + Input Entrée - + Weight Ratio - - - - + + + + += (Sum) += (Additionne) - - - - + + + + := (Replace) := (Remplace) - + PPM 2 - PPM 2 + - + PPM 3 PPM 3 - + PPM 4 PPM 4 - POT 4 - POT 4 + POT 4 - - + + Negative span Amplitude nég. - - + + Mid value Centre - - + + Positive span Amplitude pos. - STICK 1 - MANCHE 1 + MANCHE 1 - STICK 2 - MANCHE 2 + MANCHE 2 - + Current Courant - - - + + + None - Aucun + Aucun - - - + + + Pot (normal) - + Potentiomètre (normal) - - - + + + Multipos Switch - + Inter multipos. - + S1 Type - + Type S1 - + S2 Type - + Type S2 - STICK 3 - MANCHE 3 + MANCHE 3 - STICK 4 - MANCHE 4 + MANCHE 4 - POT 1 - POT 1 + POT 1 - POT 2 - POT 2 + POT 2 - POT 3 - POT 3 + POT 3 - + Battery Batterie @@ -1838,110 +1843,105 @@ Are you sure ? GyroPage - + No - Non - - - - Yes, controled by a switch - + Non + Yes, controled by a switch + Oui, contrôlé par un inter + + + Yes, controlled by a pot - + Oui, contrôlé par un potentiomètre Heli - - - Form - - Invert Elevator - Profondeur + Profondeur Invert Aileron - Aileron + Aileron Invert Collective - Pas collectif + Pas collectif Invert - Inversion + Inversion Off - Aucun + Aucun 120 - 120 + 120X - 120X + 140 - 140 + 90 - 90 + Collective - Source du pas collectif + Source du pas collectif Swash Type - Type de plateau cyclique + Type de plateau cyclique Swash Ring - Limite cyclique + Limite cyclique HeliPage - - Trottle Channel: - + + Throttle Channel: + Canal des gaz: - + Yaw Channel: - + Canal du lacet: - + Pitch Channel: - + Canal du tangage: - + Roll Channel: - + Canal du roulis: @@ -1950,140 +1950,140 @@ Are you sure ? Move Up - Monter + Monter Ctrl+Up - Ctrl+Haut + Ctrl+Haut Move Down - Descendre + Descendre Ctrl+Down - Ctrl+Bas + Ctrl+Bas Clear All Settings - + Effacer tous les réglages Source(%1) - + No Trim - Pas de Trim + Pas de Trim Weight(%1) - + Ratio(%1) Switch(%1) - + Inter(%1) Not enough available inputs! - + Pas assez d'entrées disponibles! Delete Selected Inputs? - + Effacer les entrées sélectionnées? &Add - &Ajouter + &Ajouter Ctrl+A - Ctrl+A + Ctrl+A &Edit - Éditio&n + Éditio&n Enter - Entrée + Entrée &Delete - &Supprimer + &Supprimer Delete - Supprimer + Supprimer &Copy - &Copier + &Copier Ctrl+C - Ctrl+C + &Cut - C&ouper + C&ouper Ctrl+X - Ctrl+X + &Paste - Co&ller + Co&ller Ctrl+V - Ctrl+V + Du&plicate - Du&pliquer + Du&pliquer Ctrl+U - Ctrl+U + Clear Inputs? - + Effacer toutes les entrées? Really clear all the inputs? - + Voulez-vous vraiment effacer toutes les entrées? @@ -2091,90 +2091,90 @@ Are you sure ? V1 - V1 + V2 - V2 + Duration - Durée + Durée Delay - Délai + Délai Function - Fonction + Fonction AND Switch - + ET supplémentaire L%1 - + - + &Delete - &Supprimer + &Supprimer - + Delete - Supprimer + Supprimer - + &Copy - &Copier + &Copier - + Ctrl+C - Ctrl+C + - + &Cut - C&ouper + C&ouper - + Ctrl+X - Ctrl+X + - + &Paste - Co&ller + Co&ller - + Ctrl+V - Ctrl+V + MainWindow - - + + Edit Edition - - + + File Fichier @@ -2194,23 +2194,23 @@ Are you sure ? - - - - - - - - + + + + + + + + Error Erreur - - - + + + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: @@ -2219,44 +2219,34 @@ Are you sure ? Compilation server termporary failure, try later - Erreur temporaire du serveur de compilation + Erreur temporaire du serveur de compilation, veuillez réessayer plus tard Display previous message again at startup ? Afficher les alertes précédentes lors du prochain démarrage ? - - - Firmware does not longer fit in the radio, due to selected firmware options - - Compilation server temporary failure, try later - Erreur temporaire du serveur de compilation + Erreur temporaire du serveur de compilation, veuillez réessayer plus tard Compilation server too busy, try later - Serveur de compilation trop occupé + Serveur de compilation trop occupé, veuillez réessayer plus tard Unknown server failure, try later - Erreur inconnue du serveur de compilation - - - - Firmware does not fit in the radio, due to selected firmware options - + Erreur inconnue du serveur de compilation, veuillez réessayer plus tard Do you want to write the firmware to the radio now ? - + Voulez vous transférer le firmware à la radio maintenant? @@ -2274,13 +2264,13 @@ Are you sure ? Release Notes - Release Notes + Notes de version Do you want to download release %1 now ? - Voulez-vous télécharger la release %1 ? + Voulez-vous télécharger la version %1 maintenant? @@ -2305,343 +2295,343 @@ Are you sure ? %2. - - - + + + Backup is impossible Sauvegarde impossible - - - + + + The backup dir set in preferences does not exist Le dossier de sauvegarde configuré dans les préférences n'existe pas - - + + Warning Avertissement - + Conversion failed La conversion a échoué - + Restore failed Erreur lors de la restauration - + Backup failed Erreur lors de la sauvegarde - + Load backup from file Charger une sauvegarde à partir du fichier - + Compare models Comparer les modèles - + Show fuses dialog Afficher les réglages des fusibles - + A monochrome black icon theme - + Thème avec icônes monochromes noires - + A monochrome white icon theme - + Thème avec icônes monochromes blanches - + A monochrome blue icon theme - + Thème avec icônes monochromes bleues - + Small - + Petites - + Use small toolbar icons - + Petites icônes de barre d'outils - + Use normal size toolbar icons - + Icônes de barre d'outils normales - + Normal - Normal + Normales - + Use big toolbar icons - + Grosses icônes de barre d'outils - + Big - + Grandes - + Use huge toolbar icons - + Immenses icônes de barre d'outils - + Huge - + Immenses - + Czech - Tchèque + Tchèque - + Use Czech in menus - + Menus en Tchèque - + German - Allemand + Allemand - + Use German in menus - + Menus en Allemand - + English - Anglais + Anglais - + Use English in menus - - - - - French - Français - - - - Use French in menus - - - - - Italian - Italien - - - - Use Italian in menus - - - - - Hebrew - - - - - Use Hebrew in menus - - - - - Polish - - - - - Use Polish in menus - - - - - Portuguese - Portugais - - - - Use Portuguese in menus - - - - - Swedish - Suédois - - - - Use Swedish in menus - - - - - Russian - - - - - Use Russian in menus - - - - - List programmers... - + Menus en Anglais - Fuses... - + French + Français + + + + Use French in menus + Menus en Français - Read Firmware from Radio - + Italian + Italien - Read firmware from Radio - + Use Italian in menus + Menus en Italien - Write Firmware to Radio - + Hebrew + Hébreu - Write firmware to Radio - + Use Hebrew in menus + Menus en Hébreu - Add Radio Profile - + Polish + Polonais - Create a new Radio Setting Profile - + Use Polish in menus + Menus en Polonais - Manuals and other Documents - + Portuguese + Portugais - Open the OpenTX document page in a web browser - + Use Portuguese in menus + Menus en Portuguais - Write Models and Settings To Radio - + Swedish + Suédois - Write Models and Settings to Radio - + Use Swedish in menus + Menus en Suédois - Read Models and Settings from Radio - + Russian + Russe - - Configure Communications... - + + Use Russian in menus + Menus en Russe - - Configure software for communicating with the Radio - - - - - Write Backup to Radio - - - - - Write Backup from file to to Radio - - - - - Backup Radio to File - - - - - Save a complete backup file of all settings and model data in the Radio - - - - - Contributors... - - - - - A tribute to those who have contributed to OpenTX and Companion - - - - - - Recent Models+Settings - + + List programmers... + Lister les programmateurs... - Set Icon Theme - + Fuses... + Fusibles... - Set Icon Size - + Read Firmware from Radio + Lire le firmware de la radio - + + Read firmware from Radio + Lire le firmware de la radio + + + + Write Firmware to Radio + Transférer le firmware à la radio + + + + Write firmware to Radio + Transférer le firmware à la radio + + + + Add Radio Profile + Ajouter un profil de radio + + + + Create a new Radio Setting Profile + Créér un nouveau profil de radio + + + + Manuals and other Documents + Manuels et documents + + + + Open the OpenTX document page in a web browser + Ouvre la page de documentation d'OpenTX dans un navigateur + + + + Write Models and Settings To Radio + Transférer les réglages et modèles à la radio + + + + Write Models and Settings to Radio + Transférer les réglages et modèles à la radio + + + + Read Models and Settings from Radio + Lire les réglages et modèles depuis la radio + + + + Configure Communications... + Configurer les communications... + + + + Configure software for communicating with the Radio + Configurer le programme gérant les communications avec la radio + + + + Write Backup to Radio + Transférer une sauvegarde à la radio + + + + Write Backup from file to to Radio + Transférer une sauvegarde à la radio + + + + Backup Radio to File + Sauvegarder la radio + + + + Save a complete backup file of all settings and model data in the Radio + Créer une copie de sauvegarde de tous les réglages et modèles de la radio + + + + Contributors... + Contributeurs... + + + + A tribute to those who have contributed to OpenTX and Companion + Remerciements à tout ceux qui ont contribué à OpenTX et Companion + + + + + Recent Models+Settings + Fichiers récents + + + + Set Icon Theme + Choisir le thème d'icônes + + + + Set Icon Size + Choisir la taille des icônes + + + Write Ecrire - + Unable to find file %1! Fichier %1 introuvable! - + Error reading file %1: %2. Fichier %1 corrompu: @@ -2650,62 +2640,68 @@ Are you sure ? A new version of Companion is available (version %1)<br>Would you like to download it? - + Une nouvelle version de Companion est disponible (version %1)<br>Voulez-vous la télécharger? Compilation server requires registration, please check OpenTX web site - + Le serveur de compilation requiert l'enregistrement, veuillez vous référer au site web d'OpenTX - + OpenTX Home Page: <a href='%1'>%1</a> - + Page d'accueil d'OpenTX: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + Le projet OpenTX Companion a été créé à partir d'<a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Si vous trouvez ce programme utile, merci de le supporter par une <a href='%1'>donation</a> - + Version %1, %3 - + - + Ready Prêt - + Show the application's About box Afficher la fenêtre "A propos" de l'application - - - A new release of Companion is available please check the OpenTX website! - - - + File loaded Fichier chargé + + + A new release of Companion is available, please check the OpenTX website! + Une nouvelle version de companion est disponible, veuillez vous référer au site web d'OpenTX! + + + + + Not enough memory for all the selected firmware options + Pas assez de mémoire disponible pour toutes les options sélectionnées + - + Open Models and Settings file - + Ouvrir un fichier de réglages et modèles @@ -2714,332 +2710,332 @@ Are you sure ? Fichier sauvegardé - - - - + + + + Read Models and Settings From Radio - + Lire les réglages et modèles depuis la radio - + Write Radio Backup from %1 to the radio? - + Transférer la sauvegarde %1 à la radio? - - - - - - + + + + + + Backup Models and Settings From Radio - + Sauvegarder les réglages et modèles depuis la radio - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Restore Models and Settings To Radio - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + OpenTX Companion - FW: %1 - Profile: %2 - + New Models+Settings - + Create a new Models and Settings file - + Open Models+Settings... - + Save Models+Settings... - - + + Save Models and Settings file - + Save Models+Settings as... - + Exit the application Quitter l'application - + Exit - + Cut Model - + Cut current model to the clipboard - + Copy Model... - + Copy current model to the clipboard - + Paste Model... - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + System language - + Use system language in menus - + Finnish - + Use Finnish in menus - + Dutch - + Use Dutch in menus - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List available programmers Lister les programmateurs supportés @@ -3085,7 +3081,7 @@ Do you want to download it now ? Voulez vous la télécharger maintenant ? - + Copyright Copyright @@ -3095,8 +3091,8 @@ Voulez vous la télécharger maintenant ? Ignorer cette version (r%1)? - - + + Help Aide @@ -3137,7 +3133,7 @@ Voulez-vous la télécharger maintenant ? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -3146,69 +3142,69 @@ n'a pas été reconnu comme un fichier de réglage et modèles valide. Ecrire quand même? - + Cannot check Models and Settings compatibility! Continue anyway? Impossible de vérifier la compatibilité des réglages et modèles. Continuer quand même? - + Cannot convert Models and Settings for use with this firmware, original data will be used Impossible de convertir les réglages et modèles pour ce firmware, les données originales vont être utilisées - + Firmware write failed L'écriture du firmware a échoué. - + About Companion - + Set Menu Language - + Settings - + Read/Write - - + + Radio Profile - + Show recent Models+Settings documents - + Show a selection list of radio profiles - + %2 %1s {2?} - - + + Invalid Models and Settings File %1 Fichier de réglages et modèles invalide: %1 - + Invalid binary Models and Settings File %1 Fichier binaire de réglages et modèles invalide: %1 @@ -3668,25 +3664,25 @@ p, li { white-space: pre-wrap; } MixesPanel - + Move Up Monter - + Ctrl+Up Ctrl+Haut - + Move Down Descendre - + Ctrl+Down Ctrl+Bas @@ -3696,132 +3692,132 @@ p, li { white-space: pre-wrap; } Effacer les mixages - + Weight(%1) - + Ratio(%1) - + Switch(%1) - + Inter(%1) - + No Trim Pas de Trim - + No DR/Expo Pas d'expo/DR - + Offset(%1) - + Delay(u%1:d%2) Délai(u%1:d%2) - + Slow(u%1:d%2) Ralentissement(u%1:d%2) - + Warn(%1) Alerte(%1) - + Not enough available mixers! Plus de mixages disponibles ! - + Delete Selected Mixes? Supprimer mixages sélectionnés ? - + &Add &Ajouter - + Ctrl+A Ctrl+A - + &Edit Éditio&n - + Enter Entrée - + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C Ctrl+C - + &Cut C&ouper - + Ctrl+X Ctrl+X - + &Paste Co&ller - + Ctrl+V Ctrl+V - + Du&plicate Du&pliquer - + Ctrl+U Ctrl+U - + Clear Mixes? Effacer les mixages ? - + Really clear all the mixes? Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? @@ -3874,12 +3870,12 @@ p, li { white-space: pre-wrap; } Dialogue - + Clear Curves? Effacer les courbes ? - + Really clear all the curves? Êtes-vous sûr de vraiment vouloir effacer toutes les courbes ? @@ -3902,27 +3898,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane - + Multirotor - + Helicopter Hélicoptère - + Model Name: - + Model Type: @@ -4202,24 +4198,24 @@ p, li { white-space: pre-wrap; } MultirotorPage - - Trottle Channel: - + + Throttle Channel: + Canal des gaz: - + Yaw Channel: - + Canal du lacet: - + Pitch Channel: - + Canal du tangage: - + Roll Channel: - + Canal du roulis: @@ -4239,7 +4235,7 @@ p, li { white-space: pre-wrap; } Polish - + Polonais @@ -4283,535 +4279,545 @@ p, li { white-space: pre-wrap; } Enc Rot E - + Safety %1 Sécurité %1 - + Trainer Ecolage - + Trainer RUD Ecolage Direction - + Trainer ELE Ecolage Profondeur - + Trainer THR Ecolage Gaz - + Trainer AIL Ecolage Ailerons - + Instant Trim Trims instantanés - + Play Sound Jouer Son - + Start Logs Démarrer les Logs - + Play Haptic Vibreur - + S3 - + RSSI Tx - + RSSI Rx - + Rx Batt - + A3 A3 - + A4 A4 - + Cells - - ASpd - - - - + dTE - + + Hdg + + + + + AirSpeed + + + + A3- A3- - + A4- A4- - + Speed+ - + Dist+ - + + AirSpeed+ + + + + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 - + S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + a>x - + a<x - + |a|>x - + |a|<x - + AND ET - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer - + Sticky - + Unknown - + STAY(%1, [%2:%3]) - + STICKY(%1, %2) - + TIMER(%1, %2) - + Reset Remise à zéro - + Set Timer %1 - + Vario - + Volume Volume - + Play Value Lire valeur - + Backlight Rétroéclairage - + Play Track Jouer fichier - + --- @@ -4888,85 +4894,85 @@ p, li { white-space: pre-wrap; } Suédois - + No repeat Pas de rép. - + %1 sec %1 sec - + Play Both Jouer les 2 - + Background Music Musique de fond - + Background Music Pause Pause musique de fond - + Delay %1 sec Délai %1 sec - + Edge - + Duration %1 sec Durée %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Paramètre inconsistant</b></font> - - - + + + All Tous - - - + + + Telemetry Télémesure - - + + Value Valeur - - + + Decr: Décr: - - + + Incr: Incr: @@ -4981,22 +4987,22 @@ p, li { white-space: pre-wrap; } %1s - + Value Valeur - + Source Source - + GVAR VG - + Increment Incrément @@ -5037,18 +5043,18 @@ p, li { white-space: pre-wrap; } Touches + manches - + -GV%1 -VG%1 - + Adjust GV%1 - + Rotary Encoder @@ -5179,16 +5185,16 @@ p, li { white-space: pre-wrap; } Ailerons - - + + GV%1 VG%1 - - - + + + ---- ---- @@ -5200,417 +5206,412 @@ p, li { white-space: pre-wrap; } - + Batt - + SWR SWR - + P1 P1 - + P2 P2 - + P3 P3 - + MAX MAX - + S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + RudTrim Left - + RudTrim Right - + EleTrim Down - + EleTrim Up - + ThrTrim Down - + ThrTrim Up - + AilTrim Left - + AilTrim Right - + ABS - + THs - + TH% - + THt - + ??? - + Diff(%1) - + Expo(%1) - + Function(%1) - + Curve(%1) - + !Curve(%1) - + Rud Dir - + Ele Prf - + Thr Gaz - + Ail Ail - + TrmR TrmD - + TrmE TrmP - + TrmT TrmG - + TrmA TrmA - + S1 - + S2 - + LS - + RS - - - + + + REa - - - + + + REb - + Alt - + Rpm - + Fuel Carb - + Speed Vitesse - + Dist - + GPS Alt Alt GPS - + Cell Elem - + Vfas Vfas - + Curr Cour - + Cnsp Cnsm - + Powr Puis - + AccX - + AccY - + AccZ - - HDG - Cap - - - + VSpd VitV - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time Temps - + CYC%1 - + CH%1%2 VOIE%1%2 - + X%1 - + ON - - + + OFF @@ -6028,38 +6029,38 @@ p, li { white-space: pre-wrap; } Activer le menu hélico et les mixages CCPM - - - - + + + + Timer1 Chrono1 - - - - + + + + Timer2 Chrono 2 - + A1 A1 - + A2 A2 - + T1 - + T2 @@ -6096,26 +6097,26 @@ p, li { white-space: pre-wrap; } th9x ne supporte pas d'encodeurs rotatifs sur cette carte - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function openTx ne supporte pas cette fonction sur cette carte - - + + OpenTX doesn't accept this protocol openTx ne supporte pas ce protocole - + OpenTX doesn't allow this number of channels openTx ne supporte pas ce nombre de canaux @@ -6167,17 +6168,17 @@ The OpenTX/Companion Team. RudderPage - + No Non - + Yes Oui - + <br>Rudder Channel: @@ -6324,7 +6325,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo SimpleTailPage - + Elevator Channel: @@ -6332,28 +6333,28 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo SimulatorDialog - - + + Warning Avertissement - + Joystick enabled but not configured correctly Joystick activé, mais non configuré - + Cannot open joystick, joystick disabled Impossible d'accéder au joystick. Joystick désactivé - + Simulating Radio (%1) - + Firmware %1 error: %2 Firmware %1 erreur : %2 @@ -6366,124 +6367,124 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo - - - - + + + + Right Double Click to Reset - + THR THR - + RUD RUD - + ELE ELE - + AIL AIL - - + + Hold X Retenir X - - + + Fix X - - + + Fix Y - - + + Hold Y Retenir Y - - - - + + + + TextLabel - + TRN - + GEA - + ID0 - + ID1 - + ID2 - + BEEP BIP - + P1 P1 - - - + + + 0 % - + P2 P2 - + P3 P3 - + 9x Simulator Simulateur 9x - + Outputs Sorties @@ -6496,125 +6497,125 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo - - + + Hold Y Retenir Y - - + + Fix Y - - + + Fix X - - + + Hold X Retenir X - - + + SD - - + + SC - - - - + + + + Right Double Click to Reset - - + + S2 - - + + SG - - + + RS - - + + SH - - - - + + + + TextLabel - - + + S1 - - + + SB - - + + SA - - + + SE - - - + + + SF - - + + LS - + Taranis Simulator Simulateur Taranis - + Outputs Sorties @@ -6624,18 +6625,18 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Channel %1 - + Canal %1 TailPage - + Rudder Channel: - + Elevator Channel: @@ -6643,22 +6644,22 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: @@ -7090,17 +7091,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo ThrottlePage - + Yes Oui - + No Non - + <br>Throttle Channel: @@ -7159,12 +7160,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -7172,12 +7173,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -7448,17 +7449,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo WizardPrinter - + Model Name: - + Model Type: - + Channel %1: @@ -7564,122 +7565,122 @@ This is used by the templated to determine which channel goes to what number out R E T A - + D P G A R E A T - + D P A G R T E A - + D G P A R T A E - + D G A P R A E T - + D A P G R A T E - + D A G P E R T A - + P D G A E R A T - + P D A G E T R A - + P G D A E T A R - + P G A D E A R T - + P A D G E A T R - + P A G D T R E A - + G D P A T R A E - + G D A P T E R A - + G P D A T E A R - + G P A D T A R E - + G A D P T A E R - + G A P D A R E T - + A D P G A R T E - + A D G P A E R T - + A P D G A E T R - + A P G D A T R E - + A G D P A T E R - + A G P D @@ -8480,12 +8481,12 @@ m2560 for v4.1 boards Write firmware to Radio - + Transférer le firmware à la radio Write Backup to Radio - + Transférer une sauvegarde à la radio @@ -9799,22 +9800,27 @@ Press cancel to abort joystick calibration Ouvrir fichier de log - + Zoom - + X - + Y - + + Reset + Remise à zéro + + + Fly sessions Sessions de vol @@ -9829,29 +9835,29 @@ Press cancel to abort joystick calibration Heure - + Error Erreur - + Cannot write file %1: %2. Ecriture fichier %1 impossible: %2. - + Select your log file Sélectionnez votre fichier log - + Available fields Champs disponibles - + The selected logfile contains %1 invalid lines out of %2 total lines Le fichier de log sélectionné contient %1 lignes invalides sur %2 @@ -9993,122 +9999,122 @@ Peut être différente de la langue du firmware R E T A - + D P G A R E A T - + D P A G R T E A - + D G P A R T A E - + D G A P R A E T - + D A P G R A T E - + D A G P E R T A - + P D G A E R A T - + P D A G E T R A - + P G D A E T A R - + P G A D E A R T - + P A D G E A T R - + P A G D T R E A - + G D P A T R A E - + G D A P T E R A - + G P D A T E A R - + G P A D T A R E - + G A D P T A E R - + G A P D A R E T - + A D P G A R T E - + A D G P A E R T - + A P D G A E T R - + A P G D A T R E - + A G D P A T E R - + A G P D From 9ba8dfae4461a79776e4da4d60fa96e5e78143b6 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 16:16:53 +0200 Subject: [PATCH 24/46] Disable excessively incomplete translations (Fix #712) --- companion/src/mainwindow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index b19997eff..c7905725f 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1641,12 +1641,12 @@ void MainWindow::createActions() finnishLangAct = addAct( langAlignGroup, tr("Finnish"), tr("Use Finnish in menus"), SLOT(setFILanguage())); frenchLangAct = addAct( langAlignGroup, tr("French"), tr("Use French in menus"), SLOT(setFRLanguage())); italianLangAct = addAct( langAlignGroup, tr("Italian"), tr("Use Italian in menus"), SLOT(setITLanguage())); - hebrewLangAct = addAct( langAlignGroup, tr("Hebrew"), tr("Use Hebrew in menus"), SLOT(setHELanguage())); +// hebrewLangAct = addAct( langAlignGroup, tr("Hebrew"), tr("Use Hebrew in menus"), SLOT(setHELanguage())); polishLangAct = addAct( langAlignGroup, tr("Polish"), tr("Use Polish in menus"), SLOT(setPLLanguage())); - portugueseLangAct = addAct( langAlignGroup, tr("Portuguese"), tr("Use Portuguese in menus"), SLOT(setPTLanguage())); +// portugueseLangAct = addAct( langAlignGroup, tr("Portuguese"), tr("Use Portuguese in menus"), SLOT(setPTLanguage())); swedishLangAct = addAct( langAlignGroup, tr("Swedish"), tr("Use Swedish in menus"), SLOT(setSELanguage())); - russianLangAct = addAct( langAlignGroup, tr("Russian"), tr("Use Russian in menus"), SLOT(setRULanguage())); - dutchLangAct = addAct( langAlignGroup, tr("Dutch"), tr("Use Dutch in menus"), SLOT(setNLLanguage())); +// russianLangAct = addAct( langAlignGroup, tr("Russian"), tr("Use Russian in menus"), SLOT(setRULanguage())); +// dutchLangAct = addAct( langAlignGroup, tr("Dutch"), tr("Use Dutch in menus"), SLOT(setNLLanguage())); aboutAct = addAct("information.png", tr("About..."), tr("Show the application's About box"), SLOT(about())); printAct = addAct("print.png", tr("Print..."), tr("Print current model"), SLOT(print())); From 560cd8f6191f497e981639dba69733a9b1603fa9 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 15 Apr 2014 18:02:47 +0200 Subject: [PATCH 25/46] Fixes #978 --- radio/src/gui/menu_model.cpp | 8 +++++--- radio/src/opentx.cpp | 7 ++++++- radio/src/translations/de.h.txt | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index df270f16a..b0d7b6b1b 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -770,8 +770,10 @@ void editName(uint8_t x, uint8_t y, char *name, uint8_t size, uint8_t event, uin uint8_t mode = 0; if (active) { - if (s_editMode <= 0) mode = INVERS+FIXEDWIDTH; - else mode = FIXEDWIDTH; + if (s_editMode <= 0) + mode = INVERS + FIXEDWIDTH; + else + mode = FIXEDWIDTH; } lcd_putsnAtt(x, y, name, size, ZCHAR | mode); @@ -783,7 +785,7 @@ void editName(uint8_t x, uint8_t y, char *name, uint8_t size, uint8_t event, uin if (p1valdiff || IS_ROTARY_RIGHT(event) || IS_ROTARY_LEFT(event) || event==EVT_KEY_FIRST(KEY_DOWN) || event==EVT_KEY_FIRST(KEY_UP) || event==EVT_KEY_REPT(KEY_DOWN) || event==EVT_KEY_REPT(KEY_UP)) { - v = checkIncDec(event, abs(v), 0, LEN_STD_CHARS, 0); + v = checkIncDec(event, abs(v), 0, ZCHAR_MAX, 0); if (c <= 0) v = -v; } diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index b6469c351..492763e6e 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -198,7 +198,9 @@ char idx2char(int8_t idx) if (idx < 27) return 'A' + idx - 1; if (idx < 37) return '0' + idx - 27; if (idx <= 40) return pgm_read_byte(s_charTab+idx-37); - // Needed if we want the special chars ... if (idx <= ZCHAR_MAX) return 'z' + 5 + idx - 40; +#if LEN_SPECIAL_CHARS > 0 + if (idx <= ZCHAR_MAX) return 'z' + 5 + idx - 40; +#endif return ' '; } @@ -206,6 +208,9 @@ char idx2char(int8_t idx) int8_t char2idx(char c) { if (c == '_') return 37; +#if LEN_SPECIAL_CHARS > 0 + if (c < 0 && c+128 <= LEN_SPECIAL_CHARS) return 41 + (c+128); +#endif if (c >= 'a') return 'a' - c - 1; if (c >= 'A') return c - 'A' + 1; if (c >= '0') return c - '0' + 27; diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index b19b9aa77..65eea4c2d 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -78,7 +78,7 @@ #define TR_DATETIME "DATE:""ZEIT:" #define LEN_VLCD "\006" -#define TR_VLCD "NormalOptrex" +#define TR_VLCD "Normal""Optrex" #define LEN_COUNTRYCODES TR("\002", "\007") #define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0") From 506bc9b6ae4005deadf88f0207524ba2333c4c8d Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 15 Apr 2014 18:11:13 +0200 Subject: [PATCH 26/46] AirSpeed now in Knots (and converted to km/h and mph according to Tx settings). Tests needed (LCD and audio) --- radio/src/lcd.cpp | 4 ++++ radio/src/opentx.cpp | 5 ++++- radio/src/telemetry/frsky_sport.cpp | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/radio/src/lcd.cpp b/radio/src/lcd.cpp index 4334da644..95926954a 100644 --- a/radio/src/lcd.cpp +++ b/radio/src/lcd.cpp @@ -1249,6 +1249,10 @@ void putsTelemetryChannel(xcoord_t x, uint8_t y, uint8_t channel, lcdint_t val, putsTelemetryValue(x, y, div10_and_round(val), UNIT_RAW, att|PREC1); break; + case TELEM_ASPD-1: + putsTelemetryValue(x, y, val, UNIT_KTS, att); + break; + #if defined(CPUARM) case TELEM_SWR-1: #endif diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 492763e6e..095d2a60c 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -3314,10 +3314,13 @@ PLAY_FUNCTION(playValue, uint8_t idx) break; case MIXSRC_FIRST_TELEM+TELEM_VSPD-1: - case MIXSRC_FIRST_TELEM+TELEM_ASPD-1: PLAY_NUMBER(div10_and_round(val), 1+UNIT_METERS_PER_SECOND, PREC1); break; + case MIXSRC_FIRST_TELEM+TELEM_ASPD-1: + PLAY_NUMBER(val, 1+UNIT_KTS, 0); + break; + case MIXSRC_FIRST_TELEM+TELEM_CONSUMPTION-1: PLAY_NUMBER(val, 1+UNIT_MAH, 0); break; diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index c601a0a61..0d61587a6 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -791,6 +791,8 @@ void resetTelemetry() frskyData.hub.gpsSpeed_bp = 100; frskyData.hub.gpsSpeed_ap = 50; + frskyData.hub.airSpeed = 100; + frskyData.hub.cellsCount = 6; frskyData.hub.baroAltitudeOffset = 500 * 100; From 5402dd7ad98e1cd7b808aff6ac873ab8f46c82ce Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 18:15:49 +0200 Subject: [PATCH 27/46] Translation/typo cleanup part 4 --- companion/src/mainwindow.cpp | 20 +++---- companion/src/modeledit/mixerdialog.ui | 18 +++--- companion/src/modeledit/setup.ui | 6 +- companion/src/modeledit/setup_module.ui | 15 +++-- .../src/simulation/simulatordialog-9x.ui | 40 ++++++------- .../src/simulation/simulatordialog-taranis.ui | 58 +++++++++---------- 6 files changed, 80 insertions(+), 77 deletions(-) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index c7905725f..b0867917f 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1611,14 +1611,14 @@ void MainWindow::createActions() } updateProfilesActions(); - newAct = addAct("new.png", tr("New Models+Settings"), tr("Create a new Models and Settings file"), QKeySequence::New, SLOT(newFile())); - openAct = addAct("open.png", tr("Open Models+Settings..."), tr("Open Models and Settings file"), QKeySequence::Open, SLOT(openFile())); - saveAct = addAct("save.png", tr("Save Models+Settings..."), tr("Save Models and Settings file"), QKeySequence::Save, SLOT(save())); - saveAsAct = addAct("saveas.png", tr("Save Models+Settings as..."), tr("Save Models and Settings file"), QKeySequence::SaveAs, SLOT(saveAs())); - exitAct = addAct("exit.png", tr("Exit"), tr("Exit the application"), QKeySequence::Quit, SLOT(closeAllWindows()), qApp); - cutAct = addAct("cut.png", tr("Cut Model"), tr("Cut current model to the clipboard"), QKeySequence::Cut, SLOT(cut())); - copyAct = addAct("copy.png", tr("Copy Model..."), tr("Copy current model to the clipboard"), QKeySequence::Copy, SLOT(copy())); - pasteAct = addAct("paste.png", tr("Paste Model..."), tr("Paste model from clipboard"), QKeySequence::Paste, SLOT(paste())); + newAct = addAct("new.png", tr("New"), tr("Create a new Models and Settings file"), QKeySequence::New, SLOT(newFile())); + openAct = addAct("open.png", tr("Open..."), tr("Open Models and Settings file"), QKeySequence::Open, SLOT(openFile())); + saveAct = addAct("save.png", tr("Save"), tr("Save Models and Settings file"), QKeySequence::Save, SLOT(save())); + saveAsAct = addAct("saveas.png", tr("Save As..."), tr("Save Models and Settings file"), QKeySequence::SaveAs, SLOT(saveAs())); + exitAct = addAct("exit.png", tr("Exit"), tr("Exit the application"), QKeySequence::Quit, SLOT(closeAllWindows()), qApp); + cutAct = addAct("cut.png", tr("Cut Model"), tr("Cut current model to the clipboard"), QKeySequence::Cut, SLOT(cut())); + copyAct = addAct("copy.png", tr("Copy Model"), tr("Copy current model to the clipboard"), QKeySequence::Copy, SLOT(copy())); + pasteAct = addAct("paste.png", tr("Paste Model"), tr("Paste model from clipboard"), QKeySequence::Paste, SLOT(paste())); QActionGroup *themeAlignGroup = new QActionGroup(this); classicThemeAct = addAct( themeAlignGroup, tr("Classical"), tr("The classic companion9x icon theme"), SLOT(setClassicTheme())); @@ -1681,7 +1681,7 @@ void MainWindow::createActions() void MainWindow::createMenus() { - QMenu *recentFileMenu=new QMenu(tr("Recent Models+Settings")); + QMenu *recentFileMenu=new QMenu(tr("Recent Files")); QMenu *languageMenu=new QMenu(tr("Set Menu Language")); QMenu *themeMenu=new QMenu(tr("Set Icon Theme")); QMenu *iconThemeSizeMenu=new QMenu(tr("Set Icon Size")); @@ -1843,7 +1843,7 @@ void MainWindow::createToolBars() profileButton->setMenu(createProfilesMenu()); profileButton->setIcon(CompanionIcon("profiles.png")); profileButton->setToolTip(tr("Radio Profile")); - profileButton->setStatusTip(tr("Show a selection list of radio profiles")); + profileButton->setStatusTip(tr("Show the list of radio profiles")); fileToolBar->addWidget(profileButton); fileToolBar->addAction(editSplashAct); diff --git a/companion/src/modeledit/mixerdialog.ui b/companion/src/modeledit/mixerdialog.ui index 04d876b80..4339313d8 100644 --- a/companion/src/modeledit/mixerdialog.ui +++ b/companion/src/modeledit/mixerdialog.ui @@ -204,7 +204,7 @@ p, li { white-space: pre-wrap; } - 0 + 0 Qt::AlignCenter @@ -214,7 +214,7 @@ p, li { white-space: pre-wrap; } - 1 + 1 Qt::AlignCenter @@ -224,7 +224,7 @@ p, li { white-space: pre-wrap; } - 2 + 2 Qt::AlignCenter @@ -234,7 +234,7 @@ p, li { white-space: pre-wrap; } - 3 + 3 Qt::AlignCenter @@ -244,7 +244,7 @@ p, li { white-space: pre-wrap; } - 4 + 4 Qt::AlignCenter @@ -254,7 +254,7 @@ p, li { white-space: pre-wrap; } - 5 + 5 Qt::AlignCenter @@ -264,7 +264,7 @@ p, li { white-space: pre-wrap; } - 6 + 6 Qt::AlignCenter @@ -274,7 +274,7 @@ p, li { white-space: pre-wrap; } - 7 + 7 Qt::AlignCenter @@ -284,7 +284,7 @@ p, li { white-space: pre-wrap; } - 8 + 8 Qt::AlignCenter diff --git a/companion/src/modeledit/setup.ui b/companion/src/modeledit/setup.ui index 2f13d807e..d0fd4a9fb 100644 --- a/companion/src/modeledit/setup.ui +++ b/companion/src/modeledit/setup.ui @@ -11,7 +11,7 @@ - Form + @@ -153,7 +153,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Timer2 + Timer 2 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -169,7 +169,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Timer1 + Timer 1 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/companion/src/modeledit/setup_module.ui b/companion/src/modeledit/setup_module.ui index ae8cc9783..7815a75ca 100644 --- a/companion/src/modeledit/setup_module.ui +++ b/companion/src/modeledit/setup_module.ui @@ -11,7 +11,7 @@ - Form + @@ -42,7 +42,7 @@ - Label + Label @@ -85,7 +85,10 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - ch + + + + CH 1 @@ -192,7 +195,7 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - usec + us 100 @@ -307,7 +310,7 @@ - mSec + ms 1 @@ -338,7 +341,7 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - ch + 1 diff --git a/companion/src/simulation/simulatordialog-9x.ui b/companion/src/simulation/simulatordialog-9x.ui index 71d514645..c69845de0 100644 --- a/companion/src/simulation/simulatordialog-9x.ui +++ b/companion/src/simulation/simulatordialog-9x.ui @@ -73,7 +73,7 @@ 6 - + @@ -121,7 +121,7 @@ QPushButton:checked { } - THR + THR true @@ -151,7 +151,7 @@ QPushButton:checked { } - RUD + RUD true @@ -181,7 +181,7 @@ QPushButton:checked { } - ELE + ELE true @@ -211,7 +211,7 @@ QPushButton:checked { } - AIL + AIL true @@ -355,7 +355,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter @@ -365,7 +365,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter @@ -535,7 +535,7 @@ QPushButton:pressed { } - TRN + TRN @@ -562,7 +562,7 @@ QPushButton:checked { } - GEA + GEA true @@ -595,7 +595,7 @@ QPushButton:checked { } - ID0 + ID0 true @@ -632,7 +632,7 @@ QPushButton:checked { } - ID1 + ID1 true @@ -665,7 +665,7 @@ QPushButton:checked { } - ID2 + ID2 true @@ -812,7 +812,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter @@ -822,7 +822,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter @@ -1010,7 +1010,7 @@ QPushButton:checked { - P1 + P1 -1024 @@ -1032,7 +1032,7 @@ QPushButton:checked { - 0 % + 0 % Qt::AlignCenter @@ -1067,7 +1067,7 @@ QPushButton:checked { - P2 + P2 -1024 @@ -1092,7 +1092,7 @@ QPushButton:checked { - 0 % + 0 % Qt::AlignCenter @@ -1127,7 +1127,7 @@ QPushButton:checked { - P3 + P3 -1024 @@ -1149,7 +1149,7 @@ QPushButton:checked { - 0 % + 0 % Qt::AlignCenter diff --git a/companion/src/simulation/simulatordialog-taranis.ui b/companion/src/simulation/simulatordialog-taranis.ui index 9dd1608e0..9ef223cae 100644 --- a/companion/src/simulation/simulatordialog-taranis.ui +++ b/companion/src/simulation/simulatordialog-taranis.ui @@ -555,7 +555,7 @@ QPushButton:checked { - S1 + -1024 @@ -585,7 +585,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter @@ -595,7 +595,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter @@ -619,7 +619,7 @@ QPushButton:checked { - SB + 2 @@ -675,7 +675,7 @@ QPushButton:checked { - SA + 2 @@ -715,7 +715,7 @@ QPushButton:checked { - SE + 2 @@ -743,7 +743,7 @@ QPushButton:checked { - SF + SF Qt::AlignCenter @@ -765,10 +765,10 @@ QPushButton:checked { - SF + - SF + 1 @@ -811,7 +811,7 @@ QPushButton:checked { - LS + -1024 @@ -833,7 +833,7 @@ QPushButton:checked { - SA + SA Qt::AlignCenter @@ -843,7 +843,7 @@ QPushButton:checked { - SB + SB Qt::AlignCenter @@ -853,7 +853,7 @@ QPushButton:checked { - SE + SE Qt::AlignCenter @@ -863,7 +863,7 @@ QPushButton:checked { - LS + LS Qt::AlignCenter @@ -873,7 +873,7 @@ QPushButton:checked { - S1 + S1 Qt::AlignCenter @@ -1038,7 +1038,7 @@ QPushButton:checked { - S2 + -1024 @@ -1060,7 +1060,7 @@ QPushButton:checked { - S2 + S2 Qt::AlignCenter @@ -1254,7 +1254,7 @@ QPushButton:checked { - SD + 2 @@ -1294,7 +1294,7 @@ QPushButton:checked { - SC + 2 @@ -1360,7 +1360,7 @@ QPushButton:checked { - SG + 2 @@ -1403,7 +1403,7 @@ QPushButton:checked { - RS + -1024 @@ -1437,7 +1437,7 @@ QPushButton:checked { - SH + @@ -1468,7 +1468,7 @@ QPushButton:checked { - SC + SC Qt::AlignCenter @@ -1478,7 +1478,7 @@ QPushButton:checked { - SD + SD Qt::AlignCenter @@ -1488,7 +1488,7 @@ QPushButton:checked { - SG + SG Qt::AlignCenter @@ -1498,7 +1498,7 @@ QPushButton:checked { - SH + SH Qt::AlignCenter @@ -1508,7 +1508,7 @@ QPushButton:checked { - RS + RS Qt::AlignCenter @@ -1526,7 +1526,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter @@ -1536,7 +1536,7 @@ QPushButton:checked { - TextLabel + TextLabel Qt::AlignCenter From 48505410026cfab9520fe03812dfa1097c21f311 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Tue, 15 Apr 2014 18:47:47 +0200 Subject: [PATCH 28/46] Fixes suggested by Bertrand --- companion/src/eeprominterface.cpp | 2 +- companion/src/eeprominterface.h | 3 +-- companion/src/firmwares/opentx/opentxeeprom.cpp | 10 +++++----- companion/src/firmwares/opentx/opentxinterface.cpp | 2 +- companion/src/simulation/simulatordialog.cpp | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index d7594e9fb..1545b9d19 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -1206,7 +1206,7 @@ void RegisterEepromInterfaces() void UnregisterEepromInterfaces() { foreach(EEPROMInterface * intf, eepromInterfaces) { - //std::cout << "UnregisterEepromInterfaces(): deleting " << std::hex << reinterpret_cast(intf) << std::dec << std::endl; + qDebug() << "UnregisterEepromInterfaces(): deleting " << QString::number( reinterpret_cast(intf), 16 ); delete intf; } OpenTxEepromCleanup(); diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index be4428c38..49921735c 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -1270,8 +1270,7 @@ class FirmwareInfo { virtual ~FirmwareInfo() { - //std::cout << "~FirmwareInfo(): id: " << id.toUtf8().constData() << " name: " << name.toUtf8().constData() << std::endl; - if (eepromInterface) delete eepromInterface; + delete eepromInterface; } FirmwareInfo(const QString & id, const QString & name, EEPROMInterface * eepromInterface, const QString & url = QString(), const QString & stamp = QString(), const QString & rnurl = QString(), bool voice = false): diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 466d0ecd2..988128d07 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -148,9 +148,9 @@ class SwitchesConversionTable: public ConversionTable { static void Cleanup() { for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { Cache element = *it; - //std::cout << "~SwitchesConversionTable(): deleting " << std::hex << reinterpret_cast(element.table) << std::dec << std::endl; - if (element.table) delete element.table; + delete element.table; } + internalCache.clear(); } }; @@ -309,9 +309,9 @@ class SourcesConversionTable: public ConversionTable { static void Cleanup() { for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { Cache element = *it; - //std::cout << "~SourcesConversionTable(): deleting " << std::hex << reinterpret_cast(element.table) << std::dec << std::endl; - if (element.table) delete element.table; + delete element.table; } + internalCache.clear(); } }; @@ -1459,7 +1459,7 @@ class LogicalSwitchField: public TransformedField { } ~LogicalSwitchField() { - if (andswitchesConversionTable) delete andswitchesConversionTable; + delete andswitchesConversionTable; } virtual void beforeExport() { diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 322eaebe2..fd7b1d3ac 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -1235,7 +1235,7 @@ void RegisterOpen9xFirmwares() void UnregisterOpen9xFirmwares() { foreach (FirmwareInfo * f, firmwares) { - //std::cout << "UnregisterOpen9xFirmwares(): deleting " << std::hex << reinterpret_cast(f) << std::dec << std::endl; + qDebug() << "UnregisterOpen9xFirmwares(): deleting " << QString::number(reinterpret_cast(f), 16 ); delete f; } } diff --git a/companion/src/simulation/simulatordialog.cpp b/companion/src/simulation/simulatordialog.cpp index 1e13c2729..b6135cac3 100644 --- a/companion/src/simulation/simulatordialog.cpp +++ b/companion/src/simulation/simulatordialog.cpp @@ -142,7 +142,7 @@ SimulatorDialogTaranis::~SimulatorDialogTaranis() SimulatorDialog::~SimulatorDialog() { delete timer; - if (simulator) delete simulator; + delete simulator; } void SimulatorDialog::closeEvent (QCloseEvent *) From e11821b342bebcd988eccfb3c659f49ffb32f9ed Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 18:50:28 +0200 Subject: [PATCH 29/46] Translation/typo cleanup part 5 --- companion/src/modeledit/setup_timer.ui | 6 +++--- companion/src/modeledit/telemetry.ui | 4 ++-- companion/src/modeledit/telemetry_analog.ui | 2 +- companion/src/modeledit/telemetry_customscreen.ui | 2 +- companion/src/printdialog.ui | 2 +- radio/src/translations/fr.h.txt | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/companion/src/modeledit/setup_timer.ui b/companion/src/modeledit/setup_timer.ui index e869af71a..7ee2ae523 100644 --- a/companion/src/modeledit/setup_timer.ui +++ b/companion/src/modeledit/setup_timer.ui @@ -11,7 +11,7 @@ - Form + @@ -26,7 +26,7 @@ QDateTimeEdit::MinuteSection - mm:ss + mm:ss @@ -60,7 +60,7 @@ - (00:00:00) + (00:00:00) diff --git a/companion/src/modeledit/telemetry.ui b/companion/src/modeledit/telemetry.ui index 6cd6ee036..2f5b14a62 100644 --- a/companion/src/modeledit/telemetry.ui +++ b/companion/src/modeledit/telemetry.ui @@ -11,7 +11,7 @@ - Form + @@ -534,7 +534,7 @@ - CEL + CELS diff --git a/companion/src/modeledit/telemetry_analog.ui b/companion/src/modeledit/telemetry_analog.ui index 10a28bcd9..980b5328f 100644 --- a/companion/src/modeledit/telemetry_analog.ui +++ b/companion/src/modeledit/telemetry_analog.ui @@ -11,7 +11,7 @@ - Form + diff --git a/companion/src/modeledit/telemetry_customscreen.ui b/companion/src/modeledit/telemetry_customscreen.ui index b01417450..8abc7de10 100644 --- a/companion/src/modeledit/telemetry_customscreen.ui +++ b/companion/src/modeledit/telemetry_customscreen.ui @@ -11,7 +11,7 @@ - Form + diff --git a/companion/src/printdialog.ui b/companion/src/printdialog.ui index c041efd7c..b87534676 100644 --- a/companion/src/printdialog.ui +++ b/companion/src/printdialog.ui @@ -23,7 +23,7 @@ - Dialog + diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 9779382e1..6fc1521dc 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1,4 +1,4 @@ -/* +/* * Authors (alphabetical order) * - Andre Bernet * - Bertrand Songis @@ -96,7 +96,7 @@ #define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ") #define LEN_VBEEPCOUNTDOWN "\007" -#define TR_VBEEPCOUNTDOWN "Silence""Bips\0 ""Voix\0 " +#define TR_VBEEPCOUNTDOWN "Aucun\0 ""Bips\0 ""Voix\0 " #define LEN_CURVE_TYPES "\010" #define TR_CURVE_TYPES "Standard""Libre\0" From 7f7c722429d80f04ad8eaee97733bd5a345392c4 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Tue, 15 Apr 2014 18:53:00 +0200 Subject: [PATCH 30/46] More cosmetic changes --- companion/src/firmwares/opentx/opentxeeprom.cpp | 6 ++++-- companion/src/firmwares/opentx/opentxinterface.cpp | 3 ++- companion/src/mdichild.cpp | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 988128d07..a0f5124c9 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -317,7 +317,8 @@ class SourcesConversionTable: public ConversionTable { std::list SourcesConversionTable::internalCache; -void OpenTxEepromCleanup(void){ +void OpenTxEepromCleanup(void) +{ SourcesConversionTable::Cleanup(); SwitchesConversionTable::Cleanup(); } @@ -1458,7 +1459,8 @@ class LogicalSwitchField: public TransformedField { } } - ~LogicalSwitchField() { + ~LogicalSwitchField() + { delete andswitchesConversionTable; } virtual void beforeExport() diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index fd7b1d3ac..dad382017 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -1233,7 +1233,8 @@ void RegisterOpen9xFirmwares() } } -void UnregisterOpen9xFirmwares() { +void UnregisterOpen9xFirmwares() +{ foreach (FirmwareInfo * f, firmwares) { qDebug() << "UnregisterOpen9xFirmwares(): deleting " << QString::number(reinterpret_cast(f), 16 ); delete f; diff --git a/companion/src/mdichild.cpp b/companion/src/mdichild.cpp index 3be909f22..df47f3e10 100644 --- a/companion/src/mdichild.cpp +++ b/companion/src/mdichild.cpp @@ -82,7 +82,8 @@ MdiChild::MdiChild(): } } -MdiChild::~MdiChild() { +MdiChild::~MdiChild() +{ delete ui; } From cd9facb1475c8d110a18cf262117b781ff30e081 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Tue, 15 Apr 2014 18:56:09 +0200 Subject: [PATCH 31/46] Some more code style changes, getting used to openTX style. --- companion/src/eeprominterface.cpp | 3 ++- companion/src/firmwares/opentx/opentxeeprom.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 1545b9d19..7edf6aa4b 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -1224,7 +1224,8 @@ void RegisterFirmwares() RegisterEepromInterfaces(); } -void UnregisterFirmwares() { +void UnregisterFirmwares() +{ UnregisterEepromInterfaces(); UnregisterOpen9xFirmwares(); } diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index a0f5124c9..21e3424c0 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -145,7 +145,8 @@ class SwitchesConversionTable: public ConversionTable { internalCache.push_back(element); return element.table; } - static void Cleanup() { + static void Cleanup() + { for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { Cache element = *it; delete element.table; @@ -306,7 +307,8 @@ class SourcesConversionTable: public ConversionTable { internalCache.push_back(element); return element.table; } - static void Cleanup() { + static void Cleanup() + { for (std::list::iterator it=internalCache.begin(); it!=internalCache.end(); it++) { Cache element = *it; delete element.table; From e1372cf695b859bacdff302d66c204dbce09aef3 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 19:01:51 +0200 Subject: [PATCH 32/46] French translations part 2 --- companion/src/contributorsdialog.ui | 2 +- companion/src/translations/companion_fr.ts | 1265 ++++++++------------ 2 files changed, 501 insertions(+), 766 deletions(-) diff --git a/companion/src/contributorsdialog.ui b/companion/src/contributorsdialog.ui index 5d7d670c1..1301c22ba 100644 --- a/companion/src/contributorsdialog.ui +++ b/companion/src/contributorsdialog.ui @@ -11,7 +11,7 @@ - Dialog + diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index 14230543b..08f578d66 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -2329,6 +2329,18 @@ Are you sure ? Backup failed Erreur lors de la sauvegarde + + Open File... + Ouvrir... + + + Save File + Enregistrer + + + Save File As... + Enregistrer sous... + Load backup from file @@ -2349,6 +2361,21 @@ Are you sure ? A monochrome black icon theme Thème avec icônes monochromes noires + + + New + Nouveau + + + + Open... + Ouvrir... + + + + Copy Model + Copier le modèle + A monochrome white icon theme @@ -2450,14 +2477,12 @@ Are you sure ? Menus en Italien - Hebrew - Hébreu + Hébreu - Use Hebrew in menus - Menus en Hébreu + Menus en Hébreu @@ -2470,14 +2495,12 @@ Are you sure ? Menus en Polonais - Portuguese - Portugais + Portugais - Use Portuguese in menus - Menus en Portuguais + Menus en Portuguais @@ -2490,14 +2513,12 @@ Are you sure ? Menus en Suédois - Russian - Russe + Russe - Use Russian in menus - Menus en Russe + Menus en Russe @@ -2606,9 +2627,13 @@ Are you sure ? + Recent Files + Fichiers récents + + Recent Models+Settings - Fichiers récents + Fichiers de réglages et modèles récents @@ -2668,6 +2693,11 @@ Are you sure ? Version %1, %3 + + + Show the list of radio profiles + Voir la liste des profils de radio + Ready @@ -2735,94 +2765,92 @@ Are you sure ? The radio firmware belongs to another product family, check file and preferences! - + Ce firmware ne correspond pas à la radio sélectionnée, vérifiez le fichier et les préférences! The radio firmware is outdated, please upgrade! - + Le firmware de la radio est obsolète, veuillez mettre à jour! Write Backup To Radio - + Transférer une sauvegarde à la radio Write Firmware To Radio - + Transférer le firmware à la radio Restore Models and Settings To Radio - + Restaurer les réglages et modèles depuis une sauvegarde Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Impossible de restaurer les réglages et modèles sur la radio. Le fichier peut être récupéré ici: %1 Could not write firmware to radio. The models and settings data file can be found at: %1 - + Impossible de transférer le firmware à la radio. Le fichier peut être récupéré ici: %1 Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Impossible de sauvegarder les réglages et modèles depuis la radio. Le processus est annulé Save Radio Backup to File - + Sauvegarder la radio Read Radio Backup - + Lire une sauvegarde Read Radio Firmware to File - + Sauvegarder le firmware de la radio OpenTX Companion - FW: %1 - Profile: %2 - + OpenTX Companion - FW: %1 - Profil: %2 - New Models+Settings - + Nouveau fichier Create a new Models and Settings file - + Créer un nouveau fichier de réglages et modèles - - Open Models+Settings... - - - - - Save Models+Settings... - + New File + Nouveau fichier Save Models and Settings file - + Enregistrer le fichier de réglages et modèles + + + + Save + Enregistrer - Save Models+Settings as... - + Save As... + Enregistrer sous... @@ -2832,207 +2860,192 @@ Are you sure ? Exit - + Quitter Cut Model - + Couper le modèle Cut current model to the clipboard - - - - - Copy Model... - + Couper le modèle courant dans le presse-papier Copy current model to the clipboard - - - - - Paste Model... - + Copier le modèle courant dans le presse-papier Paste model from clipboard - + Coller le modèle depuis le presse-papier + + + + Paste Model + Coller le modèle Classical - + Classique The classic companion9x icon theme - + Thème d'icônes classique de companion Yerico - + Yellow round honey sweet icon theme - + Thème d'icônes rondes jaunes Monochrome - + MonoWhite - + MonoBlue - + System language - + Langue du système Use system language in menus - + Utiliser la langue système dans les menus Finnish - + Finlandais Use Finnish in menus - - - - - Dutch - - - - - Use Dutch in menus - + Menus en Finlandais About... - + A propos... Print... - + Imprimer... Print current model - + Imprimer le modèle courant Simulate... - + Simuler... Simulate current model - + Simuler le modèle courant Load Backup... - + Ouvrir la sauvegarde... View Log File... - + Ouvrir un log... Open and view log file - + Ouvrir et visualiser un log Settings... - + Préférences... Edit Settings - + Modifier les réglages Download... - + Télécharger... Download firmware and voice files - + Télécharger firmware et fichiers son Check for Updates... - + Vérifier les mises à jour... Check OpenTX and Companion updates - + Vérifier les mises à jour d'OpenTX et companion Companion Changes... - + Changements de companion... Show Companion change log - + Voir l'historique des changements de companion Firmware Changes... - + Changements du firmware... Show firmware change log - + Voir l'historique des changements du firmware Compare Models... - + Comparer 2 modèles... Edit Radio Splash Image... - + Modifier l'écran d'accueil de la radio... Edit the splash image of your Radio - + Modifier l'écran d'accueil de la radio @@ -3083,7 +3096,7 @@ Voulez vous la télécharger maintenant ? Copyright - Copyright + @@ -3113,24 +3126,24 @@ Voulez-vous la télécharger maintenant ? The selected language will be used the next time you start Companion. - + La langue sélectionnée sera utilisée lors du prochain lancement de companion. OK - + The new theme will be loaded the next time you start Companion. - + Le nouveau thème sera utilisé lors du prochain lancement de companion. The icon size will be used the next time you start Companion. - + La nouvelle taille d'icônes sera utilisée lors du prochain lancement de companion. @@ -3138,7 +3151,7 @@ Voulez-vous la télécharger maintenant ? has not been recognized as a valid Models and Settings file Write anyway ? Le fichier %1 -n'a pas été reconnu comme un fichier de réglage et modèles valide. +n'a pas été reconnu comme un fichier de réglages et modèles valide. Ecrire quand même? @@ -3154,48 +3167,43 @@ Ecrire quand même? Firmware write failed - L'écriture du firmware a échoué. + L'écriture du firmware a échoué About Companion - + A propos de companion Set Menu Language - + Choisir la langue des menus Settings - + Réglages Read/Write - + Transfert Radio Profile - + Profil de radio Show recent Models+Settings documents - - - - - Show a selection list of radio profiles - + Voir les fichiers récents %2 - %1s {2?} + @@ -3303,7 +3311,7 @@ Ecrire quand même? Companion - + @@ -3331,17 +3339,17 @@ Ecrire quand même? Backup EEPROM From Radio - + Sauvegarder l'EEPROM de la radio Write EEPROM To Radio - + Transférer l'EEPROM à la radio Open backup Models and Settings file - + Ouvrir la sauvegarde de réglages et modèles @@ -3357,12 +3365,12 @@ Ecrire quand même? Firmware in radio is of a different family of eeprom written, check file and preferences! - Le firmware de la radio n'est pas compatible avec la version de l'EEPROM à flasher, vérifier le fichier et les préférences! + Le firmware de la radio n'est pas compatible avec la version de l'EEPROM à transférer, vérifier le fichier et les préférences! Firmware in flash is outdated, please upgrade! - Le firmware de la radio est dépassé, veuillez mettre à jour! + Le firmware de la radio est obsolète, veuillez mettre à jour! @@ -3493,7 +3501,7 @@ Si activée, signale par des bips que le mixage est actif. Source - Maître + Source @@ -3614,51 +3622,6 @@ p, li { white-space: pre-wrap; } Include DR/Expo Inclure DR/Expo - - - 0 - 0 - - - - 1 - 1 - - - - 2 - 2 - - - - 3 - 3 - - - - 4 - 4 - - - - 5 - 5 - - - - 6 - 6 - - - - 7 - 7 - - - - 8 - 8 - MixesPanel @@ -3666,160 +3629,160 @@ p, li { white-space: pre-wrap; } Move Up - Monter + Monter Ctrl+Up - Ctrl+Haut + Ctrl+Haut Move Down - Descendre + Descendre Ctrl+Down - Ctrl+Bas + Ctrl+Bas Clear Mixes - Effacer les mixages + Effacer les mixages Weight(%1) - Ratio(%1) + Ratio(%1) Switch(%1) - Inter(%1) + Inter(%1) No Trim - Pas de Trim + Pas de Trim No DR/Expo - Pas d'expo/DR + Pas d'expo/DR Offset(%1) - + Décalage(%1) Delay(u%1:d%2) - Délai(u%1:d%2) + Délai(h%1:b%2) Slow(u%1:d%2) - Ralentissement(u%1:d%2) + Ralenti(h%1:b%2) Warn(%1) - Alerte(%1) + Alerte(%1) Not enough available mixers! - Plus de mixages disponibles ! + Plus de mixages disponibles ! Delete Selected Mixes? - Supprimer mixages sélectionnés ? + Supprimer mixages sélectionnés ? &Add - &Ajouter + &Ajouter Ctrl+A - Ctrl+A + &Edit - Éditio&n + Éditio&n Enter - Entrée + Entrée &Delete - &Supprimer + &Supprimer Delete - Supprimer + Supprimer &Copy - &Copier + &Copier Ctrl+C - Ctrl+C + &Cut - C&ouper + C&ouper Ctrl+X - Ctrl+X + &Paste - Co&ller + Co&ller Ctrl+V - Ctrl+V + Du&plicate - Du&pliquer + Du&pliquer Ctrl+U - Ctrl+U + Clear Mixes? - Effacer les mixages ? + Effacer tous les mixages ? Really clear all the mixes? - Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? + Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? @@ -3832,12 +3795,12 @@ p, li { white-space: pre-wrap; } Heli - + Réglages hélico Inputs - + Entrées @@ -3847,12 +3810,12 @@ p, li { white-space: pre-wrap; } Servos - + Logical Switches - + Inters logiques @@ -3887,7 +3850,7 @@ p, li { white-space: pre-wrap; } Special Functions - + Fonctions spéciales @@ -3900,27 +3863,27 @@ p, li { white-space: pre-wrap; } Plane - + Avion Multirotor - + Helicopter - Hélicoptère + Hélicoptère Model Name: - + Nom du modèle: Model Type: - + Type de modèle: @@ -3958,7 +3921,7 @@ p, li { white-space: pre-wrap; } Ctrl+C - Ctrl+C + @@ -3968,7 +3931,7 @@ p, li { white-space: pre-wrap; } Ctrl+X - Ctrl+X + @@ -3978,7 +3941,7 @@ p, li { white-space: pre-wrap; } Ctrl+V - Ctrl+V + @@ -3988,7 +3951,7 @@ p, li { white-space: pre-wrap; } Ctrl+U - Ctrl+U + @@ -4003,7 +3966,7 @@ p, li { white-space: pre-wrap; } Alt+S - Alt+S + @@ -4034,7 +3997,7 @@ p, li { white-space: pre-wrap; } Do you want to overwrite radio general settings? - + Voulez-vous vraiment écraser les paramètres généraux? @@ -4050,126 +4013,119 @@ p, li { white-space: pre-wrap; } Alt+R - Alt+R + Module - - Form - - - - + Failsafe Mode - Mode Failsafe + Mode Failsafe - + Start - 1er canal + 1er canal - + PPM delay - Délai PPM + Impulsion - - usec - - - - + Negative - Négative + Négative - + Positive - + - + Master - Maître + Maître - + Slave - Elève + Elève - + Polarity - Polarité + Polarité - + Trainer Mode - Mode écolage + Mode écolage - mSec - ms + ms - + PPM Frame Length - Longueur de trame PPM + Longueur de trame PPM - - Label - + + CH + - - - ch - + + us + - + + ms + + + + Channels - Voies + Nb de canaux - + Hold - Maintien + Maintien - + Custom - Prédéfini + Prédéfini - + No Pulses - Pas d'impulsions + Pas d'impulsions - + Receiver - + Récepteur - + Failsafe Positions - + Positions - + Protocol - Codage + Protocole - + Receiver No. - + No de récepteur @@ -4177,22 +4133,22 @@ p, li { white-space: pre-wrap; } Trainer Port - + Port écolage Internal Radio System - + Module HF interne External Radio Module - + Module HF externe Radio System - + Module HF @@ -4200,22 +4156,22 @@ p, li { white-space: pre-wrap; } Throttle Channel: - Canal des gaz: + Canal des gaz: Yaw Channel: - Canal du lacet: + Canal du lacet: Pitch Channel: - Canal du tangage: + Canal du tangage: Roll Channel: - Canal du roulis: + Canal du roulis: @@ -5061,7 +5017,7 @@ p, li { white-space: pre-wrap; } Finnish - + Finlandais @@ -6170,140 +6126,139 @@ The OpenTX/Companion Team. No - Non + Non Yes - Oui + Oui <br>Rudder Channel: - + <br>Canal de dérive: Setup - - Form - - - - - Timer2 - - - - Timer1 - Chrono1 + Chrono1 Center beep - Bip de centrage + Bip de centrage OFF - + Model Image - Image du modèle + Image du modèle Exponential - Exponentiel + Exponentiel Throttle Trim Idle Only - + Trim ralenti uniquement Extra Fine - Extra fin + Extra fin Fine - Fin + Fin Medium - Moyen + Moyen Coarse - Grossier + Grossier Display Checklist - + Afficher la checklist + + + + Timer 2 + Chrono 2 + + + + Timer 1 + Chrono 1 Timer Source - + Source chrono Trim Step - + Pas des trims Warnings - + Avertissements Switch Warnings - + Positions des interrupteurs Pot Warnings - + Positions des potentiomètres Manual - + Manuel Auto - + Model - + Modèle Extended Limits - Débattements étendus + Débattements étendus Extended Trims - Trims étendus + Trims étendus Throttle Warning - + Alerte gaz @@ -6311,7 +6266,7 @@ The OpenTX/Companion Team. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Inversion des gaz. + Inversion des gaz. Si cette option est cochée, la voie des gaz est inversée: le ralenti est 'manche en haut'. Le trim et l'alerte des gaz sont inversés également. @@ -6319,7 +6274,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Reverse Throttle - + Gaz inversés @@ -6327,7 +6282,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Elevator Channel: - + Canal de profondeur: @@ -6336,27 +6291,27 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Warning - Avertissement + Avertissement Joystick enabled but not configured correctly - Joystick activé, mais non configuré + Joystick activé, mais non configuré Cannot open joystick, joystick disabled - Impossible d'accéder au joystick. Joystick désactivé + Impossible d'accéder au joystick. Joystick désactivé Simulating Radio (%1) - + Simulation de la radio (%1) Firmware %1 error: %2 - Firmware %1 erreur : %2 + Firmware %1 erreur : %2 @@ -6364,7 +6319,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Companion Simulator - + Simulateur companion @@ -6372,121 +6327,46 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Right Double Click to Reset - - - - - THR - THR - - - - RUD - RUD - - - - ELE - ELE - - - - AIL - AIL + Double-clic droit pour réinitialiser Hold X - Retenir X + Retenir X Fix X - + Blocage X Fix Y - + Blocage Y Hold Y - Retenir Y - - - - - - - TextLabel - - - - - TRN - - - - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - + Retenir Y BEEP - BIP - - - - P1 - P1 - - - - - - 0 % - - - - - P2 - P2 - - - - P3 - P3 + BIP 9x Simulator - Simulateur 9x + Simulateur 9x Outputs - Sorties + Sorties @@ -6494,43 +6374,31 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Companion Simulator - + Simulateur companion Hold Y - Retenir Y + Retenir Y Fix Y - + Blocage Y Fix X - + Blocage X Hold X - Retenir X - - - - - SD - - - - - - SC - + Retenir X @@ -6538,86 +6406,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Right Double Click to Reset - - - - - - S2 - - - - - - SG - - - - - - RS - - - - - - SH - - - - - - - - TextLabel - - - - - - S1 - - - - - - SB - - - - - - SA - - - - - - SE - - - - - - - SF - - - - - - LS - + Double-clic droit pour réinitialiser Taranis Simulator - Simulateur Taranis + Simulateur Taranis Outputs - Sorties + Sorties @@ -6625,7 +6424,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Channel %1 - Canal %1 + Canal %1 @@ -6633,12 +6432,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Rudder Channel: - + Canal de dérive: Elevator Channel: - + Canal de profondeur: @@ -6646,38 +6445,33 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Elevator and Rudder - + Profondeur et dérive Only Elevator - + Profondeur uniquement V-tail - + Empennage en V Tail Type: - + Type d'empennage: Telemetry - - - Form - - A1 - A1 + @@ -6685,379 +6479,369 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo A2 - A2 + RSSI - RSSI + Alarm 1 - Alarme 1 + Alarme 1 ---- - ---- + ---- Yellow - Jaune + Jaune Orange - Orange + Orange Red - Rouge + Rouge Alarm 2 - Alarme 2 + Alarme 2 + + + + CELS + ELEM Serial Protocol - Protocole Série + Protocole Série Volt source - Source de mesure de tension + Source de mesure de tension Metric - Métrique + Métrique Imperial - Impérial + Impérial Current source - Source de mesure de courant + Source de mesure de courant Protocol - Codage + Protocole NONE - Aucune + Aucune FAS - FAS + FAS None - Aucun + Aucun FrSky Sensor Hub - Sensor Hub FrSky - - - - CEL - ELEM + Sensor Hub FrSky Units - Unités + Unités Blades - Pales + Pales Alti - Alti + Alti Alti+ - Alti+ + Alti+ Vario - Vario + Vario Sink Max - Chute max + Chute max Off - Aucun + Désactivé Climb Max - Montée max + Montée max Sink Min - Chute min + Chute min Climb Min - Montée min + Montée min Vario source - Source vario + Source vario Vario limits - Limites vario + Limites vario Use GPS as altitude source - Utiliser le GPS comme source d'altitude + Utiliser le GPS comme source d'altitude Display altitude in toolbar - Affichage de l'altitude dans la barre de notifs + Affichage de l'altitude dans la barre de notifs Altimetry - + Altitude mAh - + A - + Various - + Divers mAh count - + Valeur enregistrée FAS Offset - + Décalage FAS Persistent mAh - + Mémorisation des mAh TelemetryAnalog - - - Form - - Unit - Unité + Unité Max Value - Valeur Max + Valeur Max Alarm 1 - Alarme 1 + Alarme 1 ---- - ---- + ---- Yellow - Jaune + Jaune Orange - Orange + Orange Red - Rouge + Rouge < - < + < > - > + > Alarm 2 - Alarme 2 + Alarme 2 Offset - Décalage + Décalage Volts (V) - Tension (V) + Tension (V) Amps (A) - Courant (A) + Courant (A) Speed (m/s or ft/s) - Vitesse (m/s ou ft/s) + Vitesse (m/s ou ft/s) Raw (-) - Chiffres bruts (-) + Chiffres bruts (-) Speed (km/h or miles/h) - Vitesse (km/h ou miles/h) + Vitesse (km/h ou miles/h) Meters (m or ft) - Distance (m ou ft) + Distance (m ou ft) Temp (°) - Temp (°) + Température (°) Fuel (%) - Carburant (%) + Carburant (%) mAmps (mA) - Courant (mA) + Courant (mA) Low Alarm - + Alarme basse Critical Alarm - + Alarme critique Range - Plage + Plage TelemetryCustomScreen - - - Form - - Custom Screen Type - Type d'écran personnalisé + Type d'écran personnalisé Nums - Valeurs + Valeurs Bars - Barres + Barres Min - Min + Min Source - + Source Gauge - Jauge + Jauge Max - Max + Max @@ -7065,27 +6849,27 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Telemetry screen %1 - + Ecran de télémesure %1 Low Alarm - + Alarme basse Critical Alarm - + Alarme critique Winged Shadow How High - Winged Shadow How High + Winged Shadow How High Winged Shadow How High (not supported) - Winged Shadow How High (non supporté) + Winged Shadow How High (non supporté) @@ -7093,50 +6877,35 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Yes - Oui + Oui No - Non + Non <br>Throttle Channel: - + <br>Canal des gaz: Timer - - - Form - - - - - mm:ss - - Countdown - + Compte à rebours Minute Call - + Annonces minutes Persistent - Persistant - - - - (00:00:00) - + Persistant @@ -7144,17 +6913,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Silent - + Aucun Beeps - + Bips Voice - Voix + Voix @@ -7162,12 +6931,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo First Tail Channel: - + Premier canal d'empennage: Second Tail Channel: - + Deuxième canal d'empennage: @@ -7175,12 +6944,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Standard Wing - + Aile standard Flying Wing / Deltawing - + Aile delta @@ -7188,166 +6957,166 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Model Wizard - + Assistant de configuration de modèle Model Type - Type de modèle + Type de modèle Enter model name and model type. - + Entrer le nom et le type de modèle. Throttle - Gaz + Gaz Has your model got a motor or an engine? - + Le modèle a-t-il un moteur? Wing Type - + Type d'aile Is your model a flying wing/deltawing or has it a standard wing configuration? - + Le modèle a-t-il une aile standard ou une aile delta? Ailerons - + Has your model got ailerons? - + Le modèle a-t-il des ailerons? Flaps - + Volets Has your model got flaps? - + Le modèle a-t-il des volets? Airbrakes - + Aérofreins Has your model got airbrakes? - + Le modèle a-t-il des aérofreins? Flying-wing / Delta-wing - + Aile delta Are the elevons controlled by servos connected to separate channels or by a single servo channel? - + Les élevons sont-ils commandés par des servos connectés à des canaux différents, ou par un seul canal? Rudder - Direction + Dérive Does your model have a rudder? - + Le modèle a-t-il une dérive? Tail Type - + Type d'empennage Select which type of tail your model is equiped with. - + Choisissez le type d'empennage de votre modèle. Tail - Empennage + Empennage Select channels for tail control. - + Sélectionner les canaux à utiliser pour l'empennage. V-Tail - + Empennage en V Select elevator channel. - + Sélectionner le canal de profondeur. Cyclic - + Cyclique Which type of swash control is installed in your helicopter? - + Quel est le type de plateau cyclique installé dans l'hélico? Tail Gyro - + Gyro Has your helicopter got an adjustable gyro for the tail? - + L'hélico a-t-il un gyro à gain ajsutable par la radio? Rotor Type - + Type de rotor Has your helicopter got a flybar? - + L'hélicoptère a-t-il une barre de Bell? Helicopter - Hélicoptère + Hélicoptère Select the controls for your helicopter - + Sélectionner les commandes de votre hélicoptère Multirotor - + @@ -7451,17 +7220,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Model Name: - + Nom du modèle: Model Type: - + Type de modèle: Channel %1: - + Canal %1: @@ -7487,12 +7256,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Edit Settings - + Modifier les réglages Radio Profile - + Profil de radio @@ -8196,7 +7965,7 @@ Consulter la documentation du programmateur utilisé et celle d'AVRDUDE pou MCU - MCU + Processeur @@ -8246,7 +8015,7 @@ Consulter la documentation du programmateur utilisé et celle d'AVRDUDE pou Companion - + @@ -8340,7 +8109,7 @@ m2560 for v4.1 boards ARM MCU - Microprocesseur ARM + Processeur ARM @@ -8383,22 +8152,22 @@ m2560 for v4.1 boards Use firmware start screen - + Utiliser l'écran d'accueil du firmware Use another start screen - + Utiliser un autre écran d'accueil Use profile start screen - + Utiliser l'écran d'accueil du profil Use library start screen - + Utiliser un écran d'accueil de la bibliothèque @@ -8409,7 +8178,7 @@ m2560 for v4.1 boards Allows Companion to write to older version of the firmware - + Permet à companion de transférer des réglages à une ancienne version de firmware @@ -8429,7 +8198,7 @@ m2560 for v4.1 boards Version - + @@ -8481,12 +8250,12 @@ m2560 for v4.1 boards Write firmware to Radio - Transférer le firmware à la radio + Transférer le firmware à la radio Write Backup to Radio - Transférer une sauvegarde à la radio + Transférer une sauvegarde à la radio @@ -8954,7 +8723,7 @@ m2560 for v4.1 boards Special Functions - + Fonctions spéciales @@ -9109,7 +8878,7 @@ m2560 for v4.1 boards Logical Switches - + Inters logiques @@ -9206,7 +8975,7 @@ m2560 for v4.1 boards Save - + Enregistrer @@ -9311,7 +9080,7 @@ m2560 for v4.1 boards Companion - + @@ -9341,7 +9110,19 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: D7, 11, FC</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: D7, 19, FC</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Lit l'était des vusibles du processeur de la radio.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Valeurs normales pour l' </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">ATMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Maintien de l'EEPROM: 0E, 81, FF</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Effacement de l'EEPROM: 0E, 89, FF</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Valeurs normales pour l'ATMega2560:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Maintien de l'EEPROM: D7, 11, FC</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Effacement de l'EEPROM: D7, 19, FC</span></p></body></html> @@ -9394,7 +9175,7 @@ p, li { white-space: pre-wrap; } <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> - + @@ -9440,120 +9221,75 @@ p, li { white-space: pre-wrap; } Downloads - + Téléchargements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - - - Set language of voice. May be different from firmware language - Langue des voix. + Langue des voix. Peut être différente de la langue du firmware Processor ID - ID du processeur + ID du processeur Options - + Menu Language - + Langue des menus Voice Language - Langue audio + Langue audio + + + + Download Voice Files + Télécharger les fichiers son Firmware Type - + Type de firmware - - Download Voice - - - - - FwInfo - + + Set voice language. +May be different from firmware language + Choisir la langue des voix. +Peut être différent de la langue des menus Download FW - + Télécharger le firmware Check for updates - Vérifier les mises à jour + Vérifier les mises à jour Last downloaded release: %1 - Dernière version téléchargée : %1 + Dernière version téléchargée : %1 The selected firmware has never been downloaded by Companion. - + Le firmware sélectionné n'a jamais été téléchargé par companion. The selected firmware cannot be downloaded by Companion. - + Le firmware sélectionné ne peut pas être téléchargé par companion. @@ -9787,7 +9523,7 @@ Press cancel to abort joystick calibration Companion Log Viewer - + Visualiseur de logs de companion @@ -9817,7 +9553,7 @@ Press cancel to abort joystick calibration Reset - Remise à zéro + Remise à zéro @@ -9837,13 +9573,13 @@ Press cancel to abort joystick calibration Error - Erreur + Erreur Cannot write file %1: %2. - Ecriture fichier %1 impossible: + Ecriture fichier %1 impossible: %2. @@ -10428,12 +10164,12 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Trim Increment - Incrémentation Trim + Pas des trims Flight mode name - Nom del la phase de vol + Nom de lla phase de vol @@ -10450,17 +10186,16 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Slow(u%1:d%2) - Ralentissement(u%1:d%2) + Ralenti(h%1:b%2) Delay(u%1:d%2) - Délai(u%1:d%2) + Délai(h%1:b%2) - Dialog - Dialogue + Dialogue @@ -10504,17 +10239,17 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Protocol - Codage + Protocole Pulse Polarity - Modulation + Polarité Center Beep - Bip de Centrage + Bip de centrage @@ -10526,13 +10261,13 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Logical Switches - + Inters logiques LS - + @@ -10542,7 +10277,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Print Document - Imprimer le Document + Imprimer le document @@ -10731,7 +10466,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Blades - Pales + Pales @@ -10746,7 +10481,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Special Functions - + Fonctions spéciales From 6354b83a0dec1321d7cc4e4ad366d49d650c5c90 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Tue, 15 Apr 2014 19:12:29 +0200 Subject: [PATCH 33/46] Fixes suggested by Bertrand. ExtraChannels not yet removed --- companion/src/modeledit/mixes.cpp | 44 +++++++++++++------------------ companion/src/modeledit/mixes.h | 2 +- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index 9233da842..d65653c96 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -5,7 +5,8 @@ MixesPanel::MixesPanel(QWidget *parent, ModelData & model, GeneralSettings & generalSettings): ModelPanel(parent, model, generalSettings), - mixInserted(false), HighlightedSource(0) + mixInserted(false), + highlightedSource(0) { QGridLayout * mixesLayout = new QGridLayout(this); @@ -46,20 +47,15 @@ QString MixesPanel::getChannelLabel(int curDest) { QString str; int outputs = GetEepromInterface()->getCapability(Outputs); - if (curDest > outputs) { - str = QObject::tr("X%1 ").arg(curDest-outputs, 2, 10, QChar('0')); - } - else { - str = QObject::tr("CH%1").arg(curDest, 2, 10, QChar('0')); - str.append(" "); - if (GetEepromInterface()->getCapability(HasChNames)) { - QString name = model.limitData[curDest-1].name; - if (!name.isEmpty()) { - name = QString("(") + name + QString(")"); - } - name.append(" "); - str += name.left(8); + str = QObject::tr("CH%1").arg(curDest); + (str.length() < 4) ? str.append(" ") : str.append(" "); + if (GetEepromInterface()->getCapability(HasChNames)) { + QString name = model.limitData[curDest-1].name; + if (!name.isEmpty()) { + name = QString("(") + name + QString(")"); } + name.append(" "); + str += name.left(8); } return str; } @@ -75,7 +71,7 @@ void MixesPanel::update() unsigned int outputs = GetEepromInterface()->getCapability(Outputs); for (i=0; igetCapability(Mixes); i++) { MixData *md = &model.mixData[i]; - //std::cout << "md->destCh: " << md->destCh << std::endl; + //qDebug() << "md->destCh: " << md->destCh; if ((md->destCh==0) || (md->destCh>outputs+(unsigned int)GetEepromInterface()->getCapability(ExtraChannels))) continue; QString str = ""; while (curDest < md->destCh-1) { @@ -86,7 +82,6 @@ void MixesPanel::update() curDest++; } } - while(curDestgetCapability(ExtraChannels)) { curDest++; AddMixerLine(-curDest); @@ -98,8 +93,6 @@ void MixesPanel::update() bool MixesPanel::AddMixerLine(int dest) { bool new_ch; - //std::cout << "dest: " << dest << std::endl; - //QWidget *w = getMixerWidget(dest, &new_ch); QString str = getMixerText(dest, &new_ch); QListWidgetItem *itm = new QListWidgetItem(); itm->setData(Qt::UserRole, QByteArray(1, (quint8)dest)); @@ -113,11 +106,12 @@ bool MixesPanel::AddMixerLine(int dest) #endif MixerlistWidget->addItem(itm); MixerlistWidget->setItemWidget(itm, getMixerWidget(str)); - std::cout << "MixesPanel::AddMixerLine(): " << str.toUtf8().constData() << std::endl; + qDebug() << "MixesPanel::AddMixerLine(): " << str; return new_ch; } -QWidget * MixesPanel::getMixerWidget(const QString & mixer_text) { +QWidget * MixesPanel::getMixerWidget(const QString & mixer_text) +{ QLabel * l = new QLabel(); l->setFont(QFont("Courier New",12)); l->setTextFormat(Qt::RichText); @@ -135,7 +129,7 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) if (dest < 0) { str = getChannelLabel(-dest); //highlight channell if needed - if (-dest == (int)HighlightedSource) { + if (-dest == (int)highlightedSource) { str = "" + str + ""; } } @@ -147,7 +141,7 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) if ((dest == 0) || (model.mixData[dest-1].destCh != md->destCh)) { *new_ch = 1; //highlight channell if needed - if (md->destCh == HighlightedSource) { + if (md->destCh == highlightedSource) { str = "" + str + ""; } } @@ -162,7 +156,7 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) }; //highlight source if needed - if ( (md->srcRaw.type == SOURCE_TYPE_CH) && (md->srcRaw.index+1 == (int)HighlightedSource) ) { + if ( (md->srcRaw.type == SOURCE_TYPE_CH) && (md->srcRaw.index+1 == (int)highlightedSource) ) { str += " " + Qt::escape(md->srcRaw.toString()) + ""; } else { @@ -426,8 +420,8 @@ void MixesPanel::mixerHighlight() else { dest = model.mixData[idx].destCh; } - HighlightedSource = ( (int)HighlightedSource == dest) ? 0 : dest; - //std::cout << "MixesPanel::mixerHighlight(1): " << HighlightedSource << std::endl; + highlightedSource = ( (int)highlightedSource == dest) ? 0 : dest; + qDebug() << "MixesPanel::mixerHighlight(): " << highlightedSource ; for(int i=0; icount(); i++) { int t = MixerlistWidget->item(i)->data(Qt::UserRole).toByteArray().at(0); bool dummy; diff --git a/companion/src/modeledit/mixes.h b/companion/src/modeledit/mixes.h index 1ab0ec802..36b0b1fff 100644 --- a/companion/src/modeledit/mixes.h +++ b/companion/src/modeledit/mixes.h @@ -42,7 +42,7 @@ class MixesPanel : public ModelPanel private: MixersList *MixerlistWidget; bool mixInserted; - unsigned int HighlightedSource; + unsigned int highlightedSource; int getMixerIndex(unsigned int dch); bool gm_insertMix(int idx); From 55034273f694f46bd65534465be1390e0b4e6f11 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 19:35:24 +0200 Subject: [PATCH 34/46] Forgot a bit for #978... crash on load --- companion/src/mainwindow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index b0867917f..f5a14b388 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1718,13 +1718,13 @@ void MainWindow::createMenus() languageMenu->addAction(germanLangAct); languageMenu->addAction(finnishLangAct); languageMenu->addAction(frenchLangAct); - languageMenu->addAction(hebrewLangAct); +// languageMenu->addAction(hebrewLangAct); languageMenu->addAction(italianLangAct); languageMenu->addAction(polishLangAct); - languageMenu->addAction(portugueseLangAct); +// languageMenu->addAction(portugueseLangAct); languageMenu->addAction(swedishLangAct); - languageMenu->addAction(russianLangAct); - languageMenu->addAction(dutchLangAct); +// languageMenu->addAction(russianLangAct); +// languageMenu->addAction(dutchLangAct); settingsMenu->addMenu(themeMenu); themeMenu->addAction(classicThemeAct); From a8da67d0c31f995254840fe840e0684933fd98cd Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 15 Apr 2014 23:42:55 +0200 Subject: [PATCH 35/46] No default trim button --- .../src/simulation/simulatordialog-9x.ui | 24 +++++++++++++++++++ .../src/simulation/simulatordialog-taranis.ui | 24 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/companion/src/simulation/simulatordialog-9x.ui b/companion/src/simulation/simulatordialog-9x.ui index c69845de0..b9e76f77e 100644 --- a/companion/src/simulation/simulatordialog-9x.ui +++ b/companion/src/simulation/simulatordialog-9x.ui @@ -393,6 +393,9 @@ QPushButton:checked { <- + + false + @@ -428,6 +431,9 @@ QPushButton:checked { -> + + false + @@ -451,6 +457,9 @@ QPushButton:checked { ^ + + false + @@ -486,6 +495,9 @@ QPushButton:checked { v + + false + @@ -850,6 +862,9 @@ QPushButton:checked { <- + + false + @@ -885,6 +900,9 @@ QPushButton:checked { -> + + false + @@ -908,6 +926,9 @@ QPushButton:checked { ^ + + false + @@ -943,6 +964,9 @@ QPushButton:checked { v + + false + diff --git a/companion/src/simulation/simulatordialog-taranis.ui b/companion/src/simulation/simulatordialog-taranis.ui index 9ef223cae..f889d0257 100644 --- a/companion/src/simulation/simulatordialog-taranis.ui +++ b/companion/src/simulation/simulatordialog-taranis.ui @@ -301,6 +301,9 @@ ^ + + false + @@ -342,6 +345,9 @@ v + + false + @@ -899,6 +905,9 @@ QPushButton:checked { <- + + false + @@ -934,6 +943,9 @@ QPushButton:checked { -> + + false + @@ -982,6 +994,9 @@ QPushButton:checked { ^ + + false + @@ -1017,6 +1032,9 @@ QPushButton:checked { v + + false + @@ -1564,6 +1582,9 @@ QPushButton:checked { <- + + false + @@ -1605,6 +1626,9 @@ QPushButton:checked { -> + + false + From 02be92c5612fae2e14f9ea82f652d2ff2ba576f4 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Wed, 16 Apr 2014 00:46:13 +0200 Subject: [PATCH 36/46] Translation/typo cleanup part 6 French translations --- companion/src/apppreferencesdialog.ui | 8 +- companion/src/burndialog.cpp | 2 +- companion/src/comparedialog.cpp | 4 +- companion/src/customizesplashdialog.cpp | 2 +- companion/src/fwpreferencesdialog.ui | 86 +- companion/src/generaledit.ui | 2 +- companion/src/preferencesdialog.ui | 84 +- companion/src/translations/companion_fr.ts | 992 ++++++++++----------- 8 files changed, 570 insertions(+), 610 deletions(-) diff --git a/companion/src/apppreferencesdialog.ui b/companion/src/apppreferencesdialog.ui index e98f88498..e0d4a0264 100644 --- a/companion/src/apppreferencesdialog.ui +++ b/companion/src/apppreferencesdialog.ui @@ -134,9 +134,7 @@ Mode 4: - Channel order - -This is used by the templated to determine which channel goes to what number output. + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> 0 @@ -318,7 +316,7 @@ This is used by the templated to determine which channel goes to what number out - Channel Order + Default Channel Order Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -559,7 +557,7 @@ This is used by the templated to determine which channel goes to what number out true - General Settings Label + General Settings Label diff --git a/companion/src/burndialog.cpp b/companion/src/burndialog.cpp index 97d27d870..aad8c884e 100644 --- a/companion/src/burndialog.cpp +++ b/companion/src/burndialog.cpp @@ -353,7 +353,7 @@ void burnDialog::on_useProfileImageCB_clicked() if (!fileName.isEmpty()){ QImage image(fileName); if (image.isNull()) { - QMessageBox::critical(this, tr("Error"), tr("The profile image %1 does not contain an image.").arg(fileName)); + QMessageBox::critical(this, tr("Error"), tr("Profile image %1 is invalid.").arg(fileName)); } else { imageSource = PROFILE; diff --git a/companion/src/comparedialog.cpp b/companion/src/comparedialog.cpp index 90b7d905f..95fab3fe0 100644 --- a/companion/src/comparedialog.cpp +++ b/companion/src/comparedialog.cpp @@ -971,7 +971,7 @@ void compareDialog::printCurves() QString str = "

"; str.append(tr("Curves")); str.append("

"); - str.append(""); + str.append("
"+tr("5 Points Curves")+"
"); for(i=0; i<5; i++) str.append(doTC(tr("pt %1").arg(i+1), "", true)); str.append(""); @@ -1001,7 +1001,7 @@ void compareDialog::printCurves() } str.append("
"+tr("5 Point Curves")+"
"); - str.append(""); + str.append("
"+tr("9 Points Curves")+"
"); for(i=0; i<9; i++) str.append(doTC(tr("pt %1").arg(i+1), "", true)); str.append(""); diff --git a/companion/src/customizesplashdialog.cpp b/companion/src/customizesplashdialog.cpp index 3e9ed21c9..cf125d35c 100644 --- a/companion/src/customizesplashdialog.cpp +++ b/companion/src/customizesplashdialog.cpp @@ -225,7 +225,7 @@ void customizeSplashDialog::loadProfile(Side side) if (!fileName.isEmpty()) { if (!side.displayImage( fileName, PROFILE )) - QMessageBox::critical(this, tr("Error"), tr("Cannot load the profile image %1.").arg(fileName)); + QMessageBox::critical(this, tr("Error"), tr("Cannot load profile image %1.").arg(fileName)); } side.markSourceButton(); } diff --git a/companion/src/fwpreferencesdialog.ui b/companion/src/fwpreferencesdialog.ui index d095e2cb7..78b4f64cb 100644 --- a/companion/src/fwpreferencesdialog.ui +++ b/companion/src/fwpreferencesdialog.ui @@ -51,7 +51,7 @@ - CheckBox + CheckBox @@ -64,7 +64,7 @@ - CheckBox + CheckBox @@ -77,7 +77,7 @@ - CheckBox + CheckBox @@ -100,7 +100,7 @@ - CheckBox + CheckBox @@ -113,7 +113,7 @@ - CheckBox + CheckBox @@ -126,7 +126,7 @@ - CheckBox + CheckBox @@ -139,7 +139,7 @@ - CheckBox + CheckBox @@ -152,7 +152,7 @@ - CheckBox + CheckBox @@ -214,7 +214,7 @@ - CheckBox + CheckBox @@ -227,7 +227,7 @@ - CheckBox + CheckBox @@ -240,7 +240,7 @@ - CheckBox + CheckBox @@ -253,7 +253,7 @@ - CheckBox + CheckBox @@ -266,7 +266,7 @@ - CheckBox + CheckBox @@ -279,7 +279,7 @@ - CheckBox + CheckBox @@ -292,7 +292,7 @@ - CheckBox + CheckBox @@ -305,7 +305,7 @@ - CheckBox + CheckBox @@ -318,7 +318,7 @@ - CheckBox + CheckBox @@ -331,7 +331,7 @@ - CheckBox + CheckBox @@ -344,7 +344,7 @@ - CheckBox + CheckBox @@ -357,7 +357,7 @@ - CheckBox + CheckBox @@ -370,7 +370,7 @@ - CheckBox + CheckBox @@ -383,7 +383,7 @@ - CheckBox + CheckBox @@ -396,7 +396,7 @@ - CheckBox + CheckBox @@ -409,7 +409,7 @@ - CheckBox + CheckBox @@ -422,7 +422,7 @@ - CheckBox + CheckBox @@ -435,7 +435,7 @@ - CheckBox + CheckBox @@ -448,7 +448,7 @@ - CheckBox + CheckBox @@ -461,7 +461,7 @@ - CheckBox + CheckBox @@ -474,7 +474,7 @@ - CheckBox + CheckBox @@ -487,7 +487,7 @@ - CheckBox + CheckBox @@ -500,7 +500,7 @@ - CheckBox + CheckBox @@ -513,7 +513,7 @@ - CheckBox + CheckBox @@ -574,7 +574,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -587,7 +587,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -614,7 +614,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -627,7 +627,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -640,7 +640,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -653,7 +653,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -666,7 +666,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -679,7 +679,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -699,7 +699,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -712,7 +712,7 @@ May be different from firmware language - FwInfo + FwInfo @@ -725,7 +725,7 @@ May be different from firmware language - CheckBox + CheckBox diff --git a/companion/src/generaledit.ui b/companion/src/generaledit.ui index 9cb40ca8f..1b59ef886 100644 --- a/companion/src/generaledit.ui +++ b/companion/src/generaledit.ui @@ -106,7 +106,7 @@ These will be relevant for all models in the same EEPROM. - 2 + 0 diff --git a/companion/src/preferencesdialog.ui b/companion/src/preferencesdialog.ui index 1b1b2c46b..d432c66bb 100644 --- a/companion/src/preferencesdialog.ui +++ b/companion/src/preferencesdialog.ui @@ -968,7 +968,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -981,7 +981,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -994,7 +994,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1007,7 +1007,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1020,7 +1020,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1033,7 +1033,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1046,7 +1046,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1059,7 +1059,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1072,7 +1072,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1085,7 +1085,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1098,7 +1098,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1111,7 +1111,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1124,7 +1124,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1137,7 +1137,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1150,7 +1150,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1163,7 +1163,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1176,7 +1176,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1189,7 +1189,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1202,7 +1202,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1215,7 +1215,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1228,7 +1228,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1241,7 +1241,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1254,7 +1254,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1267,7 +1267,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1280,7 +1280,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1293,7 +1293,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1306,7 +1306,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1319,7 +1319,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1332,7 +1332,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1345,7 +1345,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1358,7 +1358,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1371,7 +1371,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1384,7 +1384,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1397,7 +1397,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1410,7 +1410,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1423,7 +1423,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1436,7 +1436,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1449,7 +1449,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1462,7 +1462,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1475,7 +1475,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1488,7 +1488,7 @@ May be different from firmware language - CheckBox + CheckBox @@ -1501,7 +1501,7 @@ May be different from firmware language - CheckBox + CheckBox diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index 08f578d66..205df48a7 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -1371,7 +1371,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - <html><head/><body><p>Ordre des voiesr</p><p><br/></p><p>Détermine l'ordre des mixages par défaut sur un nouveau modèle.</p></body></html> + <html><head/><body><p>Ordre des voies</p><p><br/></p><p>Détermine l'ordre des mixages par défaut sur un nouveau modèle.</p></body></html> @@ -6322,49 +6322,49 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Simulateur companion - - - - + + + + Right Double Click to Reset Double-clic droit pour réinitialiser - + Hold X Retenir X - + Fix X Blocage X - + Fix Y Blocage Y - + Hold Y Retenir Y - + BEEP BIP - + 9x Simulator Simulateur 9x - + Outputs Sorties @@ -6377,34 +6377,34 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Simulateur companion - - + + Hold Y Retenir Y - - + + Fix Y Blocage Y - - + + Fix X Blocage X - - + + Hold X Retenir X - - - - + + + + Right Double Click to Reset Double-clic droit pour réinitialiser @@ -7121,22 +7121,22 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Select the control channels for your multirotor - + Sélectionner les commandes de votre multirotor Save Changes - + Sauvegarder les changements Manually check the direction of each control surface and reverse any channels that make controls move in the wrong direction. Remove the propeller/propellers before you try to control your model for the first time.<br>Please note that continuing removes all old model settings! - + Vérifiez manuellement la direction de mouvement de chaque surface de commande, et inversez les canaux de celles qui répondent dans le faux sens.Attention à bien enlever les hélices du modèle avant de l'alimenter la première fois!<br>Veuillez noter que continuer effacera tous les réglages existants du modèle actuel. Enter a name for your model and select model type. - + Entrer un nom pour le modèle et sélectionnez son type. @@ -7236,32 +7236,32 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo appPreferencesDialog - + Simulator capture folder - Dossier de sauvegarde des captures d'écran + Dossier de sauvegarde des captures d'écran - + Remember simulator switch values - + Mémoriser les positions des inters du simulateur - - - - + + + + Open Folder - Ouvrir le répertoire + Ouvrir le répertoire Edit Settings - Modifier les réglages + Modifier les réglages Radio Profile - Profil de radio + Profil de radio @@ -7284,7 +7284,7 @@ Mode 4: Right stick: Elevator, Rudder - Choix du mode: + Choix du mode: Mode 1: Manche Gauche: Profondeur, Direction @@ -7307,445 +7307,442 @@ Manche Droit: Profondeur, Direction Mode 1 (RUD ELE THR AIL) - Mode 1 (DIR PROF GAZ AIL) + Mode 1 (DIR PROF GAZ AIL) Mode 2 (RUD THR ELE AIL) - Mode 2 (DIR GAZ PROF AIL) + Mode 2 (DIR GAZ PROF AIL) Mode 3 (AIL ELE THR RUD) - Mode 3 (AIL PROF GAZ DIR) + Mode 3 (AIL PROF GAZ DIR) Mode 4 (AIL THR ELE RUD) - Mode 4 (AIL GAZ PROF DIR) + Mode 4 (AIL GAZ PROF DIR) + + + + R E T A + D P G A + + + + R E A T + D P A G + + + + R T E A + D G P A + + + + R T A E + D G A P + + + + R A E T + D A P G + + + + R A T E + D A G P + + + + E R T A + P D G A + + + + E R A T + P D A G + + + + E T R A + P G D A + + + + E T A R + P G A D + + + + E A R T + P A D G + + + + E A T R + P A G D + + + + T R E A + G D P A + + + + T R A E + G D A P + + + + T E R A + G P D A + + + + T E A R + G P A D + + + + T A R E + G A D P + + + + T A E R + G A P D + + + + A R E T + A D P G + + + + A R T E + A D G P + + + + A E R T + A P D G + + + + A E T R + A P G D + + + + A T R E + A G D P + + + + A T E R + A G P D + + + + Default Stick Mode + Mode + + + + Profile Name + Nom du profil + + + + Splash Screen + Ecran d'accueil + + + Channel Order + Ordre des voies par défaut + + + + SD Structure path + Chemin de la structure de la carte SD + + + + Remove Profile + Supprimer le profil + + + + Select Image + Sélectionner une image + + + + Radio Type + Type de radio + + + + Clear Image + Effacer l'image + + + + 9X + + + + + 9X with m128 + 9X avec m128 + + + + 9XR + + + + + 9XR with m128 + 9XR avec m128 + + + + Gruvin9x Board + Carte Gruvin9x + + + + Sky9x Board + Carte Sky9x + + + + Taranis + + + + + General Settings + Paramètres généraux + + + + Append version number to FW file name + Ajouter le numéro de version au nom du fichier téléchargé + + + + Offer to write FW to Tx after download + Proposer de transférer le firmware à la radio après téléchargement + + + + Application Settings + Réglages de l'application + + + + Only show user splash images + Ne montrer que les images de l'utilisateur + + + + Show user and companion splash images + Montrer les images de companion et de l'utilisateur + + + + User Splash Screens + Ecrans d'accueil personnalisés + + + + Use model wizard when creating a new model + Utiliser l'assistant à la création d'un nouveau modèle + + + + Simulator Settings + Paramètres du simulateur + + + + Blue + Bleu + + + + Green + Vert + + + + Red + Rouge + + + + Orange + Orange + + + + Yellow + Jaune + + + + Splash Screen Library + Bibliothèques d'écrans d'accueil + + + + Files to keep + Fichiers à conserver + + + + Simulator BackLight + Rétroéclairage du simulateur + + + + Automatic Backup Folder + Dossier de sauvegardes automatiques + + + + Only capture to clipboard + Capturer dans le presse-papiers uniquement + + + + Joystick + Joystick - Channel order - -This is used by the templated to determine which channel goes to what number output. - + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + <html><head/><body><p>Ordre des voies</p><p><br/></p><p>Détermine l'ordre des mixages par défaut sur un nouveau modèle.</p></body></html> - - R E T A - D P G A + + Default Channel Order + Ordre des voies par défaut - - R E A T - D P A G - - - - R T E A - D G P A - - - - R T A E - D G A P - - - - R A E T - D A P G - - - - R A T E - D A G P - - - - E R T A - P D G A - - - - E R A T - P D A G - - - - E T R A - P G D A - - - - E T A R - P G A D - - - - E A R T - P A D G - - - - E A T R - P A G D - - - - T R E A - G D P A - - - - T R A E - G D A P - - - - T E R A - G P D A - - - - T E A R - G P A D - - - - T A R E - G A D P - - - - T A E R - G A P D - - - - A R E T - A D P G - - - - A R T E - A D G P - - - - A E R T - A P D G - - - - A E T R - A P G D - - - - A T R E - A G D P - - - - A T E R - A G P D - - - - Default Stick Mode - Mode par défaut - - - - Profile Name - Nom du profil - - - - Splash Screen - - - - - Channel Order - - - - - SD Structure path - Chemin de la structure de la carte SD - - - - Remove Profile - - - - - Select Image - - - - - Radio Type - - - - - Clear Image - - - - - 9X - 9X - - - - 9X with m128 - - - - - 9XR - - - - - 9XR with m128 - - - - - Gruvin9x Board - - - - - Sky9x Board - - - - - Taranis - - - - - General Settings - Paramètres généraux - - - - Append version number to FW file name - - - - - Offer to write FW to Tx after download - - - - - General Settings Label - - - - - Application Settings - - - - - Only show user splash images - - - - - Show user and companion splash images - - - - - User Splash Screens - - - - - Use model wizard when creating a new model - - - - - Simulator Settings - - - - - Blue - Bleu - - - - Green - Vert - - - - Red - Rouge - - - - Orange - Orange - - - - Yellow - Jaune - - - - Splash Screen Library - - - - - Files to keep - - - - - Simulator BackLight - - - - - Automatic Backup Folder - Dossier de sauvegardes automatiques - - - - Only capture to clipboard - - - - - Joystick - Joystick - - - + Find Executable - + Parcourir... - + Google Earth Executable - + Exécutable Google Earth - + Calibrate - Calibrer + Calibrer - + Enable - Actif + Actif - + Show splash screen when Companion starts - + Afficher l'écran d'accueil au lancement de companion - + Automatic check for OpenTX firmware updates - + Vérifier la présence de mises à jour de firmware automatiquement - + Automatic check for Companion updates - + Vérifier la présence de mises à jour de companion automatiquement - + Enable automatic backup before writing firmware - + Sauvegarder les réglages et modèles automatiquement lors des transferts My Radio - + Ma radio Select your snapshot folder - Sélectionner le dossier où stocker les captures d'écran + Sélectionner le dossier où stocker les captures d'écran No joysticks found - Aucun joystick + Aucun joystick trouvé EMPTY: No radio settings stored in profile - + VIDE: Aucune donnée stockée dans le profil AVAILABLE: Radio settings of unknown age - + DISPONIBLES: Réglages enregistrés, date d'enregistrement non disponible AVAILABLE: Radio settings stored %1 - + DISPONIBLES: Réglages enregistrés le %1 Select your library folder - Sélectionner le dossier de bibliothèque + Sélectionner le dossier de bibliothèque Select your Models and Settings backup folder - Sélectionner le dossier dans lequel une sauvegarde des réglages et modèles sera placée automatiquement lors de chaque opération + Sélectionner le dossier dans lequel une sauvegarde des réglages et modèles sera placée automatiquement lors de chaque opération Select Google Earth executable - + Sélectionner l'emplacement de l'exécutable Google Earth Select the folder replicating your SD structure - Sélectionner un dossier contenant une copie des dossiers de la carte SD + Sélectionner un dossier contenant une copie des dossiers de la carte SD Not possible to remove profile - + Impossible de supprimer le profil The default profile can not be removed. - + Le profil par défaut ne peut être supprimé. Open Image to load - Ouvrir l'image à charger + Ouvrir l'image à charger Images (%1) - Images (%1) + Images (%1) @@ -8225,6 +8222,11 @@ m2560 for v4.1 boards Warning Avertissement + + + Profile image %1 is invalid. + L'image du profil %1 est invalide. + Images (%1) @@ -8260,7 +8262,7 @@ m2560 for v4.1 boards Write Backup from %1 to Radio - + Transférer la sauvegarde %1 à la radio @@ -8298,47 +8300,42 @@ m2560 for v4.1 boards Open Firmware File - + Sélectionner le firmware Choose Radio Backup file - + Sélectionner le fichier de sauvegarde %1 may not be a valid firmware file - + %1 ne semble pas être un firmware valide The firmware file is not valid. - + Le firmware est invalide. There is no start screen image in the firmware file. - - - - - The profile image %1 does not contain an image. - + Aucun écran d'accueil trouvé dans le firmware. Open image file to use as radio start screen - + Ouvrir l'image à utiliser comme écran d'accueil Image could not be loaded from %1 - + L'image %1 n'a pu être chargée The library image could not be loaded - + L'image n'a pu être chargée depuis la bibliothèque @@ -8386,7 +8383,7 @@ m2560 for v4.1 boards Compare Models - + Comparer les modèles @@ -8447,13 +8444,13 @@ m2560 for v4.1 boards Protocol - Codage + Protocole Pulse Polarity - Modulation + Polarité @@ -8487,13 +8484,13 @@ m2560 for v4.1 boards Trim Increment - Incrément trims + Pas des trims Center Beep - Bip de Centrage + Bip de centrage @@ -8648,6 +8645,11 @@ m2560 for v4.1 boards Weight Ratio + + + 5 Point Curves + Courbes à 5 points + @@ -8669,13 +8671,13 @@ m2560 for v4.1 boards Delay(u%1:d%2) - Délai(u%1:d%2) + Délai(h%1:b%2) Slow(u%1:d%2) - Ralentissement(u%1:d%2) + Ralenti(h%1:b%2) @@ -8703,9 +8705,8 @@ m2560 for v4.1 boards Courbes - 5 Points Curves - Courbes à 5 points + Courbes à 5 points @@ -8716,14 +8717,13 @@ m2560 for v4.1 boards point %1 - 9 Points Curves - Courbes à 9 points + Courbes à 9 points Special Functions - Fonctions spéciales + Fonctions spéciales @@ -8834,6 +8834,11 @@ m2560 for v4.1 boards Flight mode Phase de vol + + + 9 Point Curves + Courbes à 9 points + @@ -8843,7 +8848,7 @@ m2560 for v4.1 boards SF - + FS @@ -8878,13 +8883,13 @@ m2560 for v4.1 boards Logical Switches - Inters logiques + Inters logiques LS - + IL @@ -8900,9 +8905,8 @@ m2560 for v4.1 boards contributorsDialog - Dialog - Dialogue + Dialogue @@ -8917,12 +8921,12 @@ m2560 for v4.1 boards Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - + Les honneurs vont à Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) Companion Release Notes - + Notes de version de companion @@ -8945,37 +8949,37 @@ m2560 for v4.1 boards Transmitter Splash Screen Editor - + Editeur d'écran d'accueil Invert - Inversion + Inverser Load FW - + Ouvrir le firmware Load Pict - + Ouvrir l'image Load Profile - + Charger le profil Save - Enregistrer + Sauvegarder @@ -9002,12 +9006,12 @@ m2560 for v4.1 boards Open Firmware File - + Sélectionner le firmware Can not load embedded image from firmware file %1. - + Impossible d'enregistrer l'image %1 dans le firmware. @@ -9022,47 +9026,47 @@ m2560 for v4.1 boards Cannot load the image file %1. - + Impossible d'ouvrir l'image %1. - Cannot load the profile image %1. - + Cannot load profile image %1. + Impossible d'ouvrir l'image du profil %1. Cannot load the library image %1. - + Impossible d'ouvrir l'image de bibliothèque %1. File Saved - + Fichier sauvegardé The image was saved to the file %1 - + L'image a été enregistrée dans le fichier %1 Image Refresh Error - + Erreur de rafraîchissement de l'image Failed to refresh image from file %1 - + Impossible de rafraîchir l'image %1 File Save Error - + Erreur à la sauvegarde du fichier Failed to write image to %1 - + Erreur à l'écriture du fichier %1 @@ -9224,11 +9228,17 @@ p, li { white-space: pre-wrap; } Téléchargements + Set language of voice. May be different from firmware language - Langue des voix. + Langue des voix. Peut être différente de la langue du firmware + + + Download Voice + Télécharger les fichiers son + Processor ID @@ -9250,9 +9260,8 @@ Peut être différente de la langue du firmware Langue audio - Download Voice Files - Télécharger les fichiers son + Télécharger les fichiers son @@ -9260,10 +9269,9 @@ Peut être différente de la langue du firmware Type de firmware - Set voice language. May be different from firmware language - Choisir la langue des voix. + Choisir la langue des voix. Peut être différent de la langue des menus @@ -9686,7 +9694,7 @@ Manche Droit: Profondeur, Direction Remember simulator switches - + Mémoriser les positions des inters du simulateur @@ -9735,122 +9743,122 @@ Peut être différente de la langue du firmware R E T A - D P G A + D P G A R E A T - D P A G + D P A G R T E A - D G P A + D G P A R T A E - D G A P + D G A P R A E T - D A P G + D A P G R A T E - D A G P + D A G P E R T A - P D G A + P D G A E R A T - P D A G + P D A G E T R A - P G D A + P G D A E T A R - P G A D + P G A D E A R T - P A D G + P A D G E A T R - P A G D + P A G D T R E A - G D P A + G D P A T R A E - G D A P + G D A P T E R A - G P D A + G P D A T E A R - G P A D + G P A D T A R E - G A D P + G A D P T A E R - G A P D + G A P D A R E T - A D P G + A D P G A R T E - A D G P + A D G P A E R T - A P D G + A P D G A E T R - A P G D + A P G D A T R E - A G D P + A G D P A T E R - A G P D + A G P D @@ -9879,52 +9887,6 @@ Peut être différente de la langue du firmware Use clipboard only Utiliser le presse-papiers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Check for updates @@ -9977,7 +9939,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Show Splash At Start - + Afficher l'écran d'accueil au démarrage @@ -10029,12 +9991,12 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Find Executable - + Parcourir... Google Earth Executable - + Exécutable Google Earth @@ -10267,7 +10229,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de LS - + IL @@ -10612,17 +10574,17 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de No Taranis Radio Found - + Radio Taranis non détectée <html><head/><body><p>No Taranis Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - + <html><head/><body><p>Radio Taranis non détectée!</p><p>Assurez-vous de maintenir les 2 trims horizontaux pendant la mise sous tension,</p><p>puis connectez le câble USB.</p></body></html> OK - + From 44a2e5231ee8aa583c5b26ddb6eb23ef67e4175b Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 16 Apr 2014 07:16:43 +0200 Subject: [PATCH 37/46] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 0c7aa76c7..573271369 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -371,3 +371,4 @@ David Beatty Aaron Stringer Alan J Wasserman Wolfgang Rauser +Samuel Cook From f47cd81108820864255b8f451f0001091841d99d Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 16 Apr 2014 07:27:39 +0200 Subject: [PATCH 38/46] ExtraChannels Capacity removed --- companion/src/eeprominterface.h | 1 - companion/src/firmwares/er9x/er9xinterface.cpp | 2 -- companion/src/firmwares/ersky9x/ersky9xinterface.cpp | 2 -- .../src/firmwares/gruvin9x/gruvin9xinterface.cpp | 2 -- companion/src/firmwares/opentx/opentxinterface.cpp | 2 -- companion/src/firmwares/th9x/th9xinterface.cpp | 2 -- companion/src/helpers.cpp | 2 +- companion/src/modeledit/mixes.cpp | 12 +++++++----- 8 files changed, 8 insertions(+), 17 deletions(-) diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index adecee4fb..519460820 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -1022,7 +1022,6 @@ enum Capability { RotaryEncoders, Outputs, ChannelsName, - ExtraChannels, ExtraInputs, ExtendedTrims, NumCurves, diff --git a/companion/src/firmwares/er9x/er9xinterface.cpp b/companion/src/firmwares/er9x/er9xinterface.cpp index bde6ef768..d3c7e2af5 100644 --- a/companion/src/firmwares/er9x/er9xinterface.cpp +++ b/companion/src/firmwares/er9x/er9xinterface.cpp @@ -239,8 +239,6 @@ int Er9xInterface::getCapability(const Capability capability) return 13; case Outputs: return 16; - case ExtraChannels: - return 0; case Simulation: return 1; case Telemetry: diff --git a/companion/src/firmwares/ersky9x/ersky9xinterface.cpp b/companion/src/firmwares/ersky9x/ersky9xinterface.cpp index 91ae4ec59..262ee48de 100644 --- a/companion/src/firmwares/ersky9x/ersky9xinterface.cpp +++ b/companion/src/firmwares/ersky9x/ersky9xinterface.cpp @@ -283,8 +283,6 @@ int Ersky9xInterface::getCapability(const Capability capability) return 13; case Outputs: return ERSKY9X_NUM_CHNOUT_V11; - case ExtraChannels: - return 0; case Simulation: return 1; case Telemetry: diff --git a/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp b/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp index 2afe8ba03..3feffa44b 100644 --- a/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp +++ b/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp @@ -241,8 +241,6 @@ int Gruvin9xInterface::getCapability(const Capability capability) return 13; case Outputs: return 16; - case ExtraChannels: - return 0; case ExtendedTrims: return 500; case Simulation: diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 0ef9eaf97..efd0d39e5 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -581,8 +581,6 @@ int OpenTxInterface::getCapability(const Capability capability) return (IS_ARM(board) ? 23 : 7); case HasSoundMixer: return (IS_ARM(board) ? 1 : 0); - case ExtraChannels: - return 0; case ExtraInputs: return 1; case ExtendedTrims: diff --git a/companion/src/firmwares/th9x/th9xinterface.cpp b/companion/src/firmwares/th9x/th9xinterface.cpp index aefe77d8c..01030b1b8 100644 --- a/companion/src/firmwares/th9x/th9xinterface.cpp +++ b/companion/src/firmwares/th9x/th9xinterface.cpp @@ -159,8 +159,6 @@ int Th9xInterface::getCapability(const Capability capability) return TH9X_MAX_SWITCHES; case Outputs: return 8; - case ExtraChannels: - return 4; case OffsetWeight: return 125; case Simulation: diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp index 92ec4bd87..1967ed60c 100644 --- a/companion/src/helpers.cpp +++ b/companion/src/helpers.cpp @@ -604,7 +604,7 @@ void populateSourceCB(QComboBox *b, const RawSource & source, const ModelData & if (item == source) b->setCurrentIndex(b->count()-1); } - for (int i=0; igetCapability(Outputs)+GetEepromInterface()->getCapability(ExtraChannels); i++) { + for (int i=0; igetCapability(Outputs); i++) { item = RawSource(SOURCE_TYPE_CH, i); b->addItem(item.toString(), item.toValue()); if (item == source) b->setCurrentIndex(b->count()-1); diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index c09b0a990..7f0b1dedc 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -69,10 +69,11 @@ void MixesPanel::update() unsigned int curDest = 0; int i; unsigned int outputs = GetEepromInterface()->getCapability(Outputs); + for (i=0; igetCapability(Mixes); i++) { MixData *md = &model.mixData[i]; - //qDebug() << "md->destCh: " << md->destCh; - if ((md->destCh==0) || (md->destCh>outputs+(unsigned int)GetEepromInterface()->getCapability(ExtraChannels))) continue; + // qDebug() << "md->destCh: " << md->destCh; + if (md->destCh==0 || md->destCh>outputs) continue; QString str = ""; while (curDest < md->destCh-1) { curDest++; @@ -82,7 +83,8 @@ void MixesPanel::update() curDest++; } } - while(curDestgetCapability(ExtraChannels)) { + + while (curDest < outputs) { curDest++; AddMixerLine(-curDest); } @@ -106,7 +108,7 @@ bool MixesPanel::AddMixerLine(int dest) #endif MixerlistWidget->addItem(itm); MixerlistWidget->setItemWidget(itm, getMixerWidget(str)); - qDebug() << "MixesPanel::AddMixerLine(): " << str; + // qDebug() << "MixesPanel::AddMixerLine(): " << str; return new_ch; } @@ -421,7 +423,7 @@ void MixesPanel::mixerHighlight() dest = model.mixData[idx].destCh; } highlightedSource = ( (int)highlightedSource == dest) ? 0 : dest; - qDebug() << "MixesPanel::mixerHighlight(): " << highlightedSource ; + // qDebug() << "MixesPanel::mixerHighlight(): " << highlightedSource ; for(int i=0; icount(); i++) { int t = MixerlistWidget->item(i)->data(Qt::UserRole).toByteArray().at(0); bool dummy; From f6d1b0c46f871b742efb42b6b518b381ff14b7b7 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 16 Apr 2014 07:39:34 +0200 Subject: [PATCH 39/46] Cosmetics --- companion/src/eeprominterface.cpp | 5 +---- companion/src/modeledit/mixerdialog.cpp | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 1862e0ed5..73e14bb75 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -307,10 +307,7 @@ QString RawSource::toString() case SOURCE_TYPE_PPM: return QObject::tr("TR%1").arg(index+1); case SOURCE_TYPE_CH: - if (index < GetEepromInterface()->getCapability(Outputs)) - return QObject::tr("CH%1%2").arg((index+1)/10).arg((index+1)%10); - else - return QObject::tr("X%1").arg(index-GetEepromInterface()->getCapability(Outputs)+1); + return QObject::tr("CH%1").arg(index+1); case SOURCE_TYPE_TELEMETRY: return CHECK_IN_ARRAY(telemetry, index); case SOURCE_TYPE_GVAR: diff --git a/companion/src/modeledit/mixerdialog.cpp b/companion/src/modeledit/mixerdialog.cpp index b96719dfc..19dbee5f3 100644 --- a/companion/src/modeledit/mixerdialog.cpp +++ b/companion/src/modeledit/mixerdialog.cpp @@ -16,10 +16,7 @@ MixerDialog::MixerDialog(QWidget *parent, ModelData & model, MixData *mixdata, G QLabel * lb_fp[] = {ui->lb_FP0,ui->lb_FP1,ui->lb_FP2,ui->lb_FP3,ui->lb_FP4,ui->lb_FP5,ui->lb_FP6,ui->lb_FP7,ui->lb_FP8 }; QCheckBox * cb_fp[] = {ui->cb_FP0,ui->cb_FP1,ui->cb_FP2,ui->cb_FP3,ui->cb_FP4,ui->cb_FP5,ui->cb_FP6,ui->cb_FP7,ui->cb_FP8 }; - if (md->destCh > (unsigned int)GetEepromInterface()->getCapability(Outputs)) - this->setWindowTitle(tr("DEST -> X%1").arg(md->destCh-GetEepromInterface()->getCapability(Outputs))); - else - this->setWindowTitle(tr("DEST -> CH%1%2").arg(md->destCh/10).arg(md->destCh%10)); + this->setWindowTitle(tr("DEST -> CH%1").arg(md->destCh)); populateSourceCB(ui->sourceCB, md->srcRaw, model, POPULATE_SOURCES | POPULATE_VIRTUAL_INPUTS | POPULATE_SWITCHES | POPULATE_TRIMS); ui->sourceCB->removeItem(0); From 4e28a0211b9bc6b197b93875126dcef1ba30d31a Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 16 Apr 2014 09:35:01 +0200 Subject: [PATCH 40/46] Ail and Ele broken when HELI option enabled --- radio/src/opentx.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 095d2a60c..9678e8587 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -983,9 +983,9 @@ void applyExpos(int16_t *anas, uint8_t mode APPLY_EXPOS_EXTRA_PARAMS) if (ed->srcRaw == ovwrIdx) v = ovwrValue; #if defined(HELI) - else if (ed->srcRaw == MIXSRC_Ele) + else if (ed->srcRaw == MIXSRC_Ele && g_model.swashR.value) v = heliAnas[ELE_STICK]; - else if (ed->srcRaw == MIXSRC_Ail) + else if (ed->srcRaw == MIXSRC_Ail && g_model.swashR.value) v = heliAnas[AIL_STICK]; #endif else { From e312454acaddc2a22db5bc7f0155786f3dcc37f3 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Wed, 16 Apr 2014 09:39:32 +0200 Subject: [PATCH 41/46] Translation/typo cleanup part 7 --- companion/src/modeledit/inputs.cpp | 2 +- companion/src/modeledit/mixes.cpp | 2 +- companion/src/wizarddialog.cpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/companion/src/modeledit/inputs.cpp b/companion/src/modeledit/inputs.cpp index 3ecb63e9f..e6f966b35 100644 --- a/companion/src/modeledit/inputs.cpp +++ b/companion/src/modeledit/inputs.cpp @@ -20,7 +20,7 @@ InputsPanel::InputsPanel(QWidget *parent, ModelData & model, GeneralSettings & g qbDown->setText(tr("Move Down")); qbDown->setIcon(CompanionIcon("movedown.png")); qbDown->setShortcut(QKeySequence(tr("Ctrl+Down"))); - qbClear->setText(tr("Clear All Settings")); + qbClear->setText(tr("Clear All Inputs")); qbClear->setIcon(CompanionIcon("clear.png")); exposLayout->addWidget(ExposlistWidget,1,1,1,3); diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index 7f0b1dedc..a25c3c446 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -466,7 +466,7 @@ void MixesPanel::mixerlistWidget_customContextMenuRequested(QPoint pos) QMenu contextMenu; contextMenu.addAction(CompanionIcon("add.png"), tr("&Add"),this,SLOT(mixerAdd()),tr("Ctrl+A")); contextMenu.addAction(CompanionIcon("edit.png"), tr("&Edit"),this,SLOT(mixerOpen()),tr("Enter")); - contextMenu.addAction(CompanionIcon("fuses.png"), tr("&Toogle &highlight"),this,SLOT(mixerHighlight()),tr("Ctrl+T")); + contextMenu.addAction(CompanionIcon("fuses.png"), tr("&Toggle highlight"),this,SLOT(mixerHighlight()),tr("Ctrl+T")); contextMenu.addSeparator(); contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(mixersDelete()),tr("Delete")); contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(mixersCopy()),tr("Ctrl+C")); diff --git a/companion/src/wizarddialog.cpp b/companion/src/wizarddialog.cpp index c211265d3..0553212a4 100644 --- a/companion/src/wizarddialog.cpp +++ b/companion/src/wizarddialog.cpp @@ -68,8 +68,8 @@ void WizardDialog::showHelp() "Throttle - Spektrum: CH1, Futaba: CH3"); break; case Page_Wingtypes: message = tr("Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. " - "The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.
" - "The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. "); break; + "The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.
" + "The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. "); break; case Page_Ailerons: message = tr("Models use one or two channels to control the ailerons.
" "A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. " From 02e45c5eea490737f0c97ac5e18b3240476c48d4 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Wed, 16 Apr 2014 11:07:07 +0200 Subject: [PATCH 42/46] Translation/typo cleanup finished --- .../firmwares/opentx/open9xStockeeprom.cpp | 2 +- .../src/firmwares/opentx/opentxinterface.cpp | 40 +++++++++---------- companion/src/wizarddialog.cpp | 4 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/companion/src/firmwares/opentx/open9xStockeeprom.cpp b/companion/src/firmwares/opentx/open9xStockeeprom.cpp index 44c16e78b..8c8d1abc3 100644 --- a/companion/src/firmwares/opentx/open9xStockeeprom.cpp +++ b/companion/src/firmwares/opentx/open9xStockeeprom.cpp @@ -89,7 +89,7 @@ t_Open9xExpoData_v201::operator ExpoData () c9x.mode = mode; c9x.chn = chn; if (expo!=0 && curve!=0) { - EEPROMWarnings += ::QObject::tr("Simultaneous usage of expo and curves is no longer supported in open9x") + "\n"; + EEPROMWarnings += ::QObject::tr("Simultaneous usage of expo and curves is no longer supported in OpenTX") + "\n"; } else { if (curve == 0) { diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 595faacd6..f033a0ed8 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -1035,13 +1035,13 @@ void RegisterOpen9xFirmwares() // NOT TESTED open9x->addOption("PXX", QObject::tr("Support of FrSky PXX protocol")); open9x->addOption("DSM2", QObject::tr("Support for DSM2 modules")); open9x->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); open9x->addOption("symlimits", QObject::tr("Symetrical Limits")); open9x->addOptions(nav_options); open9x->addOption("sp22", QObject::tr("SmartieParts 2.2 Backlight support")); - open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving some of them")); - open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving some of them")); + open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); + open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); open9x->addOption("dblkeys", QObject::tr("Enable resetting values by pressing up and down at the same time")); open9x->addOption("nographics", QObject::tr("No graphical check boxes and sliders")); open9x->addOption("battgraph", QObject::tr("Battery graph")); @@ -1072,13 +1072,13 @@ void RegisterOpen9xFirmwares() // NOT TESTED open9x->addOption("PXX", QObject::tr("Support of FrSky PXX protocol")); open9x->addOption("DSM2", QObject::tr("Support for DSM2 modules")); open9x->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); open9x->addOption("symlimits", QObject::tr("Symetrical Limits")); open9x->addOptions(nav_options); open9x->addOption("sp22", QObject::tr("SmartieParts 2.2 Backlight support")); - open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving some of them")); - open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving some of them")); + open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); + open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); open9x->addOption("dblkeys", QObject::tr("Enable resetting values by pressing up and down at the same time")); open9x->addOption("nographics", QObject::tr("No graphical check boxes and sliders")); open9x->addOption("battgraph", QObject::tr("Battery graph")); @@ -1104,12 +1104,12 @@ void RegisterOpen9xFirmwares() // NOT TESTED open9x->addOption("PXX", QObject::tr("Support of FrSky PXX protocol")); open9x->addOption("DSM2", QObject::tr("Support for DSM2 modules")); open9x->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); open9x->addOption("symlimits", QObject::tr("Symetrical Limits")); open9x->addOption("potscroll", QObject::tr("Pots use in menus navigation")); - open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving some of them")); - open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving some of them")); + open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); + open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); open9x->addOption("nographics", QObject::tr("No graphical check boxes and sliders")); open9x->addOption("battgraph", QObject::tr("Battery graph")); open9x->addOption("nobold", QObject::tr("Don't use bold font for highlighting active items")); @@ -1138,12 +1138,12 @@ void RegisterOpen9xFirmwares() // NOT TESTED open9x->addOption("PXX", QObject::tr("Support of FrSky PXX protocol")); open9x->addOption("DSM2", QObject::tr("Support for DSM2 modules")); open9x->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); open9x->addOption("symlimits", QObject::tr("Symetrical Limits")); open9x->addOption("potscroll", QObject::tr("Pots use in menus navigation")); - open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving some of them")); - open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving some of them")); + open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); + open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); open9x->addOption("nographics", QObject::tr("No graphical check boxes and sliders")); open9x->addOption("battgraph", QObject::tr("Battery graph")); open9x->addOption("nobold", QObject::tr("Don't use bold font for highlighting active items")); @@ -1167,12 +1167,12 @@ void RegisterOpen9xFirmwares() Option dsm2_options[] = { { "DSM2", QObject::tr("Support for DSM2 modules"), 0 }, { "DSM2PPM", QObject::tr("Support for DSM2 modules using ppm instead of true serial"), 0 }, { NULL } }; open9x->addOptions(dsm2_options); open9x->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); open9x->addOption("symlimits", QObject::tr("Symetrical Limits")); open9x->addOption("potscroll", QObject::tr("Pots use in menus navigation")); - open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving some of them")); - open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving some of them")); + open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); + open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); open9x->addOption("dblkeys", QObject::tr("Enable resetting values by pressing up and down at the same time")); open9x->addOption("nographics", QObject::tr("No graphical check boxes and sliders")); open9x->addOption("battgraph", QObject::tr("Battery graph")); @@ -1192,12 +1192,12 @@ void RegisterOpen9xFirmwares() open9x->addOption("nofp", QObject::tr("No flight modes")); open9x->addOption("nocurves", QObject::tr("Disable curves menus")); open9x->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); open9x->addOption("symlimits", QObject::tr("Symetrical Limits")); open9x->addOption("potscroll", QObject::tr("Pots use in menus navigation")); - open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving some of them")); - open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving some of them")); + open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); + open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); open9x->addOption("dblkeys", QObject::tr("Enable resetting values by pressing up and down at the same time")); open9x->addOption("nographics", QObject::tr("No graphical check boxes and sliders")); open9x->addOption("battgraph", QObject::tr("Battery graph")); @@ -1214,7 +1214,7 @@ void RegisterOpen9xFirmwares() open9x->addOption("noheli", QObject::tr("Disable HELI menu and cyclic mix support")); open9x->addOption("notemplates", QObject::tr("Disable TEMPLATES menu")); open9x->addOption("nogvars", QObject::tr("Disable Global variables")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("sqt5font", QObject::tr("Use alternative SQT5 font")); open9x->addOptions(fai_options); firmwares.push_back(open9x); @@ -1224,7 +1224,7 @@ void RegisterOpen9xFirmwares() open9x->addOption("noheli", QObject::tr("Disable HELI menu and cyclic mix support")); open9x->addOption("notemplates", QObject::tr("Disable TEMPLATES menu")); open9x->addOption("nogvars", QObject::tr("Disable Global variables")); - open9x->addOption("ppmus", QObject::tr("PPM values displayed in us")); + open9x->addOption("ppmus", QObject::tr("Channel values displayed in us")); open9x->addOption("sqt5font", QObject::tr("Use alternative SQT5 font")); open9x->addOptions(fai_options); firmwares.push_back(open9x); diff --git a/companion/src/wizarddialog.cpp b/companion/src/wizarddialog.cpp index 0553212a4..25232bf10 100644 --- a/companion/src/wizarddialog.cpp +++ b/companion/src/wizarddialog.cpp @@ -72,7 +72,7 @@ void WizardDialog::showHelp() "The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. "); break; case Page_Ailerons: message = tr("Models use one or two channels to control the ailerons.
" - "A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. " + "A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. " "If your servos are connected by a Y-cable you should select the single-servo option.

" "Aileron - Spektrum: CH2, Futaba: CH1"); break; case Page_Flaps: @@ -83,7 +83,7 @@ void WizardDialog::showHelp() "They are very uncommon on other types of planes."); break; case Page_Bank: message = tr("Models use one or two channels to control the elevons.
" - "A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. " + "A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. " "If your servos are connected by a Y-cable you should select the single-servo option."); break; case Page_Rudder: message = tr("Select the receiver channel that is connected to your rudder.

" From 1e4877eaf8ebb47d653382212a076b2665475d4a Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Wed, 16 Apr 2014 11:18:06 +0200 Subject: [PATCH 43/46] New warning --- companion/src/warnings.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/companion/src/warnings.h b/companion/src/warnings.h index d322e36a5..ca3f689d7 100644 --- a/companion/src/warnings.h +++ b/companion/src/warnings.h @@ -1,8 +1,8 @@ #ifndef WARNINGS_H #define WARNINGS_H #define WARNING_LEVEL 0 -#define WARNING_ID 6 -#define WARNING QObject::tr("Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model.\n\nWe are really appreciative for that!\n\nThe OpenTX/Companion Team.") +#define WARNING_ID 7 +#define WARNING QObject::tr("Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function.\n\nThe OpenTX Team.") #endif /* WARNINGS_H */ From b9bdb5c8fc8679c2eedb1856e8c90e170c6ba032 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Wed, 16 Apr 2014 11:18:54 +0200 Subject: [PATCH 44/46] All translations updated, go ahead! --- companion/src/translations/companion_cs.ts | 3660 +++++++++----------- companion/src/translations/companion_de.ts | 2675 +++++++------- companion/src/translations/companion_fi.ts | 2938 ++++++++-------- companion/src/translations/companion_he.ts | 3443 ++++++++---------- companion/src/translations/companion_it.ts | 3206 ++++++++--------- companion/src/translations/companion_nl.ts | 3158 +++++++---------- companion/src/translations/companion_pl.ts | 2747 +++++++-------- companion/src/translations/companion_pt.ts | 3406 ++++++++---------- companion/src/translations/companion_ru.ts | 3422 ++++++++---------- companion/src/translations/companion_sv.ts | 1382 ++++---- 10 files changed, 13726 insertions(+), 16311 deletions(-) diff --git a/companion/src/translations/companion_cs.ts b/companion/src/translations/companion_cs.ts index 5d79bda24..bd35881e3 100644 --- a/companion/src/translations/companion_cs.ts +++ b/companion/src/translations/companion_cs.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -60,22 +60,22 @@ BankPage - + One - + Two - + <br>First Elevon Channel: - + Second Elevon Channel: @@ -141,7 +141,7 @@ ConclusionPage - + OK, I understand. @@ -149,22 +149,22 @@ CurveGroup - + Diff Dif - + Expo Expo - + Func - + Curve Křivka @@ -172,19 +172,22 @@ Curves - - Form - + Standard + Běžný + + + Custom + Vlastní - Standard - Běžný + Fixed X + - Custom - Vlastní + Custom X + @@ -258,47 +261,47 @@ Název křivky - + Curve %1 - + %1 points - + Linear Lineární - + Single Expo Expo - + Symmetrical f(x)=-f(-x) Symetrická f(x)=-f(-x) - + Symmetrical f(x)=f(-x) Symetrická f(x)=f(-x) - + Are you sure you want to reset curve %1 ? - + Editing curve %1 Upravit křivku k%1 - + Not enough free points in EEPROM to store the curve. @@ -306,82 +309,82 @@ CustomFunctionsPanel - + Switch Spínač - + Action - + Parameters - + Enable - + SF%1 - + ON ZAPNUTO - + Error Chyba - + Unable to find sound file %1! Nemohu nalézt zvukový soubor %1! - + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C - + &Cut &Vyjmout - + Ctrl+X - + &Paste &Vložit - + Ctrl+V @@ -389,22 +392,22 @@ CyclicPage - + 90 CH90 - + 120 CH120 - + 120x CH120x - + 140 CH140 @@ -417,14 +420,13 @@ Váha
- + Curve Křivka - The source for the mixer - Zdroj pro mix + Zdroj pro mix @@ -433,78 +435,21 @@ - + GV GP - - - Phase used by the input. - - Flight modes Letové režimy - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Switch Spínač - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -516,7 +461,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> @@ -529,37 +474,32 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Pokud je nastaveno zpomalení, nastavená hodnota udává rychlost mixu -&gt; hodnota udává počet sekund které trvá změna hodnoty z -100 na 100.</p></body></html> - + Scale Rozsah - + Include Trim Použít trim - + No - + Yes Ano - - The curve used by the input - - - - + Source Zdroj - + Line name @@ -568,6 +508,17 @@ p, li { white-space: pre-wrap; } Stick Side Strana páky
+ + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + NEG @@ -583,6 +534,11 @@ p, li { white-space: pre-wrap; } ALL Obě + + + Curve applied to the source. + + Edit %1 @@ -612,22 +568,22 @@ p, li { white-space: pre-wrap; } FblPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -635,38 +591,33 @@ p, li { white-space: pre-wrap; } FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: FlightMode - - - Form - - Fade In @@ -687,26 +638,6 @@ p, li { white-space: pre-wrap; } Switch Spínač - - - trim1 - - - - - trim2 - - - - - trim4 - - - - - trim3 - - Rud @@ -737,21 +668,26 @@ p, li { white-space: pre-wrap; } GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 - + (%1) - + (default) @@ -759,17 +695,17 @@ p, li { white-space: pre-wrap; } FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -804,14 +740,13 @@ Tyto volby jsou platné pro všechny modely v jedné EEPROM. Nastevní - + Contrast Kontrast - Channel Order (For Templates) - Pořadí kanálů (pro šablony) + Pořadí kanálů (pro šablony) @@ -943,28 +878,28 @@ Mode 4: - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Pokud tato hodnota není nula, každé stisknutí klávesy zapne podsvétlení a vypne ho až po uplynutí nastaveného počtu sekund. - + sec s - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -986,8 +921,8 @@ Mode 4: Jen alarmy - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1002,21 +937,20 @@ p, li { white-space: pre-wrap; } - + Beeper Mode Mód zvuku - - - - + + + + Off Vypnuto - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1056,7 +990,7 @@ p, li { white-space: pre-wrap; } Extra dlouhý - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -1065,7 +999,7 @@ Acceptable values are 5v..10v Použitelné hodnoty jsou 5v..10v - + Battery Warning Alarm baterie @@ -1085,18 +1019,18 @@ Použitelné hodnoty jsou 5v..10v
- - + + Show splash screen on startup Zobrazit úvodní logo při zapnutí vysílčky - + Show Splash Screen on Startup Zobrazit úvodní logo - + Inactivity Timer Časovač nečinnosti @@ -1126,31 +1060,30 @@ Použitelné hodnoty jsou 5v..10v Délka zvuku
- + GPS Coordinates Souřadnice GPS - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC Časový posun od UTC - Channel order This is used by the templated to determine which channel goes to what number output. - Pořadí kanálů + Pořadí kanálů Toto je použito šablonami k určení který kanál patří ke kterému výstupu. @@ -1171,22 +1104,22 @@ který kanál patří ke kterému výstupu. Výchozí mód vysílačky - + LCD Display Type Typ LCD zobrazovače - + Standard Běžný - + Optrex - + This is the switch selectrion for turning on the backlight (if installed). @@ -1208,22 +1141,22 @@ který kanál patří ke kterému výstupu. Síla vibrací - + BackLight Brightness Jas podsvětlení - + BackLight Auto OFF after Auto. vypnutí podsvětlení po - + RotEnc Navigation Navigace otočným enkodérem - + BackLight Switch Spínač podsvětlení @@ -1258,7 +1191,7 @@ který kanál patří ke kterému výstupu. Imperiální
- + Measurement Units Měrné jednotky @@ -1293,12 +1226,12 @@ který kanál patří ke kterému výstupu. FAI mód
- + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. FAI je soutéžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. Tuto funkci nelze vypnout v menu rádia. - + R E T A @@ -1308,117 +1241,117 @@ který kanál patří ke kterému výstupu.
- + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R @@ -1428,360 +1361,402 @@ který kanál patří ke kterému výstupu.
- + + Default Channel Order + Výchozí pořadí kanálů + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - - + + Hz - + "No Sound" Warning - + Low Memory Warning - + --- - + 2s CH2s - + 3s CH3s - + 4s CH4s - + 6s CH6s - + 8s CH8s - + 10s CH10s - + 15s CH15s - + Vario pitch at max - + ms - + Vario repeat at zero - + Trainer Trenér - + Mode Mód - + Input Vstup - + Weight Váha - - S3 Type + + Pot. 4 - - OFF + + Pot. 3 - - S-Port Mirror + + Pot. 2 - - Debug - - - - - Serial Port + + Pot. 1 - PPM 1 - - - - - - - - chn1 - kanál 1 - - - - Rud - Směrovka - - - - - - - chn2 - kanál 2 - - - - - - - chn3 - kanál 3 - - - - - - - chn4 - kanál 4 - - - - Ele - Výškovka - - - - Thr + Stick 3 - - Ail - Křidélka - - - - PPM 2 - - - - - PPM 3 - - - - - PPM 4 - - - - - Calibration - Kalibrace - - - - POT 4 - POTENCIOMETR 4 - - - - STICK 3 - PÁKA 3 - - - - - Negative span - Negativní poloha - - - - - Mid value - Hodnota střední polohy - - - - - Positive span - Pozitivní poloha - - - - STICK 1 - PÁKA 1 - - - - STICK 2 - PÁKA 2 - - - - STICK 4 - PÁKA 4 - - - - - - None - Žádný - - - - - - Pot (normal) + + Stick 1 - - - - Multipos Switch + + Stick 2 - - S1 Type + + Stick 4 + S3 Type + + + + + OFF + + + + + S-Port Mirror + + + + + Debug + + + + + Serial Port + + + + + PPM 1 + + + + + + + + chn1 + kanál 1 + + + + Rud + Směrovka + + + + + + + chn2 + kanál 2 + + + + + + + chn3 + kanál 3 + + + + + + + chn4 + kanál 4 + + + + Ele + Výškovka + + + + Thr + + + + + Ail + Křidélka + + + + PPM 2 + + + + + PPM 3 + + + + + PPM 4 + + + + + Calibration + Kalibrace + + + POT 4 + POTENCIOMETR 4 + + + STICK 3 + PÁKA 3 + + + + + Negative span + Negativní poloha + + + + + Mid value + Hodnota střední polohy + + + + + Positive span + Pozitivní poloha + + + STICK 1 + PÁKA 1 + + + STICK 2 + PÁKA 2 + + + STICK 4 + PÁKA 4 + + + + + + None + Žádný + + + + + + Pot (normal) + + + + + + + Multipos Switch + + + + + S1 Type + + + + S2 Type - POT 1 - POTENCIOMETR 1 + POTENCIOMETR 1 - POT 2 - POTENCIOMETR 2 + POTENCIOMETR 2 - POT 3 - POTENCIOMETR 3 + POTENCIOMETR 3 - - - - + + + + += (Sum) += (Sečíst) - - - - + + + + := (Replace) := (Nahradit) - + Battery Baterie - + v - + PPM Multiplier PPM Násobič - + Current Proud @@ -1825,28 +1800,23 @@ Opravdu to takto chcete ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot Heli - - - Form - - Invert Elevator @@ -1911,22 +1881,22 @@ Opravdu to takto chcete ? HeliPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -1959,7 +1929,7 @@ Opravdu to takto chcete ? - Clear All Settings + Clear All Inputs @@ -2111,42 +2081,42 @@ Opravdu to takto chcete ? - + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C - + &Cut &Vyjmout - + Ctrl+X - + &Paste &Vložit - + Ctrl+V @@ -2157,7 +2127,7 @@ Opravdu to takto chcete ? - + File loaded Soubor byl načten
@@ -2216,38 +2186,28 @@ Opravdu to takto chcete ? - - - - - - - - + + + + + + + + Error Chyba
- - - + + + Error opening file %1: %2. Chyba při otevírání souboru %1: %2. - - - Firmware does not longer fit in the radio, due to selected firmware options - - - - - Firmware does not fit in the radio, due to selected firmware options - - Compilation server termporary failure, try later @@ -2258,6 +2218,17 @@ Opravdu to takto chcete ? Display previous message again at startup ? Chcete zobrazit předchozí zprávu i příště ? + + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + Compilation server temporary failure, try later @@ -2355,37 +2326,37 @@ Chcete ji stáhnout nyní ? %2. - - - + + + Backup is impossible Není možné zálohovat - - - + + + The backup dir set in preferences does not exist Složka pro zálohování zvolená v předvolbách neexistuje - - + + Warning Varování - + Conversion failed Porovnání selhalo - + Restore failed Zápis selhal - + Backup failed Zálohování selhalo @@ -2423,7 +2394,7 @@ Chcete ji stáhnout nyní ? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -2432,769 +2403,728 @@ neobsahuje platná data modelů a nastavení Chcete ho přesto zapsat ? - + Cannot check Models and Settings compatibility! Continue anyway? Nelze ověřit kompatibilitu dat modelů a nastavení! Chcete přesto pokračovat? - + Cannot convert Models and Settings for use with this firmware, original data will be used Nemohu konvertovat modely a nastavení pro použití s tímto firmwarem, budou použita původní data - + Firmware write failed Zápis firmware selhal - + Copyright - + Load backup from file Načíst zálohu ze souboru - - - A new release of Companion is available please check the OpenTX website! - - - + Open Models and Settings file - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - - - - - - + + + + + + Backup Models and Settings From Radio - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Restore Models and Settings To Radio - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + OpenTX Home Page: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Version %1, %3 - + About Companion - + + New + + + + + Open... + + + + + Save + + + + + Save As... + + + + + Copy Model + + + + + Paste Model + + + + Compare models Porovnat modely - + Exit the application Ukončit aplikaci companion9x - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal Normální - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge - + OpenTX Companion - FW: %1 - Profile: %2 - - New Models+Settings - - - - + Create a new Models and Settings file - - Open Models+Settings... - - - - - Save Models+Settings... - - - - - + + Save Models and Settings file - - Save Models+Settings as... - - - - + Exit - + Cut Model - + Cut current model to the clipboard - - Copy Model... - - - - + Copy current model to the clipboard - - Paste Model... - - - - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + System language - + Use system language in menus - + Czech - + Use Czech in menus - + German - + Use German in menus - + English - + Use English in menus - + Finnish - + Use Finnish in menus - + French - + Use French in menus - + Italian - + Use Italian in menus - - Hebrew - - - - - Use Hebrew in menus - - - - + Polish - + Use Polish in menus - - Portuguese - - - - - Use Portuguese in menus - - - - + Swedish - + Use Swedish in menus - - Russian - - - - - Use Russian in menus - - - - - Dutch - - - - - Use Dutch in menus - - - - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Add Radio Profile - + Create a new Radio Setting Profile - + Manuals and other Documents - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - - + + Recent Files + + + + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - + + Show the list of radio profiles + + + + Write Zápis - - + + Invalid Models and Settings File %1 Neplatný soubor modelů a nastavení %1 - + Invalid binary Models and Settings File %1 Neplatný binární soubor modelů a nastavení %1 - + List available programmers Seznam použitelných programátorů - + Show fuses dialog Zobrazit dialog nastavení pojistek mikrokontroléru - + Show the application's About box O aplikaci companion9x - + Set Menu Language - - + + File Soubor - - + + Edit Úpravy - + Settings - + Read/Write - - + + Help Nápověda - - + + Radio Profile - + Show recent Models+Settings documents - - Show a selection list of radio profiles - - - - + Ready Připraven - + %2 - + Unable to find file %1! Nemohu nalézt soubor %1! - + Error reading file %1: %2. Chyba při otevírání souboru %1: @@ -3204,167 +3134,167 @@ Chcete ho přesto zapsat ? MdiChild - + free bytes volné[B] - + Editing model %1: Editace modelu %1: - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Chyba - - + + Unable to find file %1! Nemohu nalézt soubor %1! - - - - + + + + Error opening file %1: %2. Chyba při otevírání souboru %1: %2. - - + + Invalid EEPROM File %1 Neplatný soubor EEPROM %1 - - + + Error reading file %1: %2. Chyba při otevírání souboru %1: %2. - + Invalid binary EEPROM File %1 Neplatný binární soubor EEPROM %1 - - - - + + + + Save As Uložit jako - - - - + + + + Cannot write file %1: %2. Nelze zapsat soubor %1: %2. - + Error writing file %1: %2. Chyba při zápisuí souboru %1: %2. - - - + + + Backup EEPROM From Radio - + Write EEPROM To Radio - + Open backup Models and Settings file - + Companion - + %1 has been modified. Do you want to save your changes? %1 byl změněn. Chcete ho uložit? - + Backup is impossible Není možné zálohovat - + The backup dir set in preferences does not exist Složka pro zálohování zvolená v předvolbách neexistuje - + Cannot write temporary file! Nelze zapsat dočasný soubor! - + Cannot check eeprom compatibility! Continue anyway? Nelze ověřit kompatibilitu EEprom! Mám přesto pokračovat? - - + + Warning Varování - + Firmware in radio is of a different family of eeprom written, check file and preferences! Firmware rádia je z jiné rodiny než EEprom, zkontrolujte nastavení předvoleb! - + Firmware in flash is outdated, please upgrade! Firmware rádia je zastaralý, aktualizujte ho prosím! - + Invalid binary backup File %1 Neplatný binární soubor zálohy %1 @@ -3527,51 +3457,6 @@ Toto určuje, jak bude hodnota mixu přidána. Include DR/Expo Použít DR/Expo - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Delay @@ -3621,32 +3506,27 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Pokud je nastaveno zpomalení, nastavená hodnota udává rychlost mixu -&gt; hodnota udává počet sekund které trvá změna hodnoty z -100 na 100.</p></body></html> - - DEST -> X%1 - + + DEST -> CH%1 + - - DEST -> CH%1%2 - - - - + Rud Směrovka - + Ele Výškovka - + Thr Plyn - + Ail Křidélka @@ -3654,161 +3534,175 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up Posunout nahoru - - + + Ctrl+Up - - + + Move Down Posunout dolů - - + + Ctrl+Down - + Clear Mixes Vymazat všechny mixy - + Weight(%1) - + Switch(%1) - + No Trim Žádný trim - + No DR/Expo Bez DR/Expo - + Offset(%1) - + Delay(u%1:d%2) Zpoždění(u%1:d%2) - + Slow(u%1:d%2) Zpomalení(u%1:d%2) - + Warn(%1) Varování(%1) - + Not enough available mixers! Není k dispozici dostatek mixů! - + Delete Selected Mixes? Odstranit vybrané mixy? - + &Add &Přidat - + Ctrl+A - + &Edit &Upravit - + Enter - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C - &Cut - &Vyjmout + &Vyjmout - + Ctrl+X - + + C&ut + + + + &Paste &Vložit - + Ctrl+V - + Du&plicate &Duplikovat - + Ctrl+U - + Clear Mixes? Vymazat mixy? - + Really clear all the mixes? Opravdu vymazat všechny mixy? @@ -3876,12 +3770,12 @@ p, li { white-space: pre-wrap; } Telemetrie - + Clear Curves? Vymazat křivky? - + Really clear all the curves? Opravdu vymazat všechny křivky? @@ -3889,27 +3783,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane - + Multirotor - + Helicopter Heli - + Model Name: - + Model Type: @@ -4046,118 +3940,115 @@ p, li { white-space: pre-wrap; } Module - - Form - - - - + Failsafe Mode Režim Failsafe - + Start První kanál - + PPM delay PPM zpoždění - usec - us + us - + Negative Negativní - + Positive Pozitivní - + Master Učitel - + Slave Žák - + Polarity Polarita - + Trainer Mode Mód trenér - mSec - ms + ms - + PPM Frame Length Délka PPM rámce - - Label + + CH - - - ch + + us - + + ms + + + + Channels Počet kanálů - + Hold Držet hodnotu - + Custom Vlastní - + No Pulses Žádné pulzy - + Receiver - + Failsafe Positions - + Protocol Protokol - + Receiver No. @@ -4188,22 +4079,22 @@ p, li { white-space: pre-wrap; } MultirotorPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4211,343 +4102,328 @@ p, li { white-space: pre-wrap; } QObject - - + + Rud Směrovka - - + + Ele Výškovka - - + + Thr Plyn - - + + Ail Křidélka - - + + P1 Potenciometr 1 - - + + P2 Potenciometr 2 - - + + P3 Potenciometr 3 - + S1 - + S2 - + LS - + RS - + TrmR Trim směrovky - + TrmE Trim výškovky - + TrmT Trim plynu - + TrmA Trim křidélek - - - + + + REa Otočný enkodér :a - - - + + + REb Otočný enkodér :b - + Batt Bat - + A1 Telem. vstup A1 - + A2 Telem. vstup A2 - + Alt Výška - + Rpm Otáčky - + Fuel Palivo - + T1 - + SWR VSR - + T2 - + Speed Rychlost - + Dist Vzdálenost - + GPS Alt Výška GPS - + Cell Článek - + Vfas - + Curr Proud - + Cnsp - + Powr Výkon - + AccX - + AccY - + AccZ - - HDG - - - - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time - + MAX - + S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + CYC%1 - - CH%1%2 - - - - - X%1 - - - - - - - + + + + ---- @@ -4558,292 +4434,152 @@ p, li { white-space: pre-wrap; } THR - - + + ON ZAPNUTO - - - + + + OFF VYPNUTO - + Diff(%1) - + Expo(%1) - + Function(%1) - + Curve(%1) - + !Curve(%1) + - Support for frsky telemetry mod Podpora frsky telemetrie tj. zobrazení telemetrických dat na displeji rádia (je potřeba upravit HW, bez této úpravy nebudou fungovat dva přepínače! a pochopitelně nebudou zobrazena žádná telem. data.) + - Support for jeti telemetry mod Podpora telemetrie JETI + - Support for receiving ardupilot data telemetrie - podpora pro příjem ardupilot dat + - Support for receiving NMEA data telemetrie - podpora pro příjem NMEA dat - + Support for telemetry easy board Podpora pro desku TelemetrEZ + - Support for MAVLINK devices Podpora pro zařízení s MAVLINK - + Rotary Encoder use in menus navigation Použít Rotary Encoder pro navigaci v menu - + Possibility to enable FAI MODE at field Možnost povolit FAI MODE v menu rádia. FAI je soutěžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. - + FAI MODE always enabled FAI MODE vždy aktivní (nelze vypnout v menu rádia) FAI je soutěžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. + + + + + + + + Enable heli menu and cyclic mix support + Funkce pro heli, nastavení typu mechaniky + + + + + + + + + Enable TEMPLATES menu + Přidá menu s jednoduchými +šablonami modelu - - Enable heli menu and cyclic mix support - Funkce pro heli, nastavení typu mechaniky - - - - - - - - - Enable TEMPLATES menu - Přidá menu s jednoduchými -šablonami modelu - - - - - - No splash screen Bez úvodního loga Firmware nebude obsahovat žádné logo, ani podporu pro něj. Toto se hodí pokud je potřeba ušetřit místo v paměti FLASH pro jiné funkce - - - - - - + + + + + + No flight modes Firmware nebude obsahovat podporu Letových Režimů - - - - - - - In model setup menus automatically set source by moving some of them - V menu nastavení modelu automaticky nastavíte Zdroj jeho pohybem - - - - - - - - - - - Use alternative SQT5 font - Použít alternativní znakovou sadu písma (jiný font) - - - - EEprom write progress bar - Progresbar zobrazující zápis do EEPROM -(tj. ukládání nastavení) - - - - - No Winged Shadow How High support - Bez podpory - Winged Shadow How High - - - - - No vario support - Bez podpory varia - - - - - No GPS support - Bez podpory GPS - - - - - No gauges in the custom telemetry screen - Bez grafických ukazatelů hodnoty na obrazovkách telemetrie - - - - Allow compensating for offset errors in FrSky FAS current sensors - - - - - OpenTX for M128 / 9X board - - - - - OpenTX for 9XR - - - - - OpenTX for 9XR with M128 chip - - - - - OpenTX for Gruvin9x board / 9X - - - - - OpenTX for Sky9x board / 9X - - - - - OpenTX for FrSky Taranis Rev4a - - - - - Use FrSky Taranis sticks in a 9X/9XR - Použití pák z Taranis (hardware) v rádiu 9X/9XR - - - - OpenTX for FrSky Taranis - - - - - - Disable HELI menu and cyclic mix support - Odstranit funkce pro heli a nastavení typu mechaniky - - + + + + + + - Disable TEMPLATES menu - Odstranit menu s jednoduchými -šablonami modelu + Channel values displayed in us + - - - Disable Global variables - Odstranit Globální proměnné - - - - - - - - - Disable curves menus - Bez uživatelsky definovatelných křivek - - - - - - - Support for radio modified with regular speaker - Vylepšený zvukový výstup, -funkční i s origo pípákem, -ale doporučuje se provést -instalaci reproduktoru - - - - - - - - Used if you have modified your radio with voice mode - Hlasový výstup pro telemetrii, -nutno zastavět hlasový modul - - - - - - - Used if you have modified your radio with haptic mode - Výstrahy pomocí vibračního motoru -(je třeba osadit) + In model setup menus automatically set source by moving some of them + V menu nastavení modelu automaticky nastavíte Zdroj jeho pohybem @@ -4852,28 +4588,194 @@ nutno zastavět hlasový modul + + + Use alternative SQT5 font + Použít alternativní znakovou sadu písma (jiný font) + + + + EEprom write progress bar + Progresbar zobrazující zápis do EEPROM +(tj. ukládání nastavení) + + + + + No Winged Shadow How High support + Bez podpory - Winged Shadow How High + + + + + No vario support + Bez podpory varia + + + + + No GPS support + Bez podpory GPS + + + + + No gauges in the custom telemetry screen + Bez grafických ukazatelů hodnoty na obrazovkách telemetrie + + + + Allow compensating for offset errors in FrSky FAS current sensors + + + + + OpenTX for M128 / 9X board + + + + + OpenTX for 9XR + + + + + OpenTX for 9XR with M128 chip + + + + + OpenTX for Gruvin9x board / 9X + + + + + OpenTX for Sky9x board / 9X + + + + + OpenTX for FrSky Taranis Rev4a + + + + + Use FrSky Taranis sticks in a 9X/9XR + Použití pák z Taranis (hardware) v rádiu 9X/9XR + + + + OpenTX for FrSky Taranis + + + + + + Disable HELI menu and cyclic mix support + Odstranit funkce pro heli a nastavení typu mechaniky + + + + + Disable TEMPLATES menu + Odstranit menu s jednoduchými +šablonami modelu + + + + + Disable Global variables + Odstranit Globální proměnné + + + + + + + + + Disable curves menus + Bez uživatelsky definovatelných křivek + + + + + + + Support for radio modified with regular speaker + Vylepšený zvukový výstup, +funkční i s origo pípákem, +ale doporučuje se provést +instalaci reproduktoru + + + + + + + + Used if you have modified your radio with voice mode + Hlasový výstup pro telemetrii, +nutno zastavět hlasový modul + + + + + + + Used if you have modified your radio with haptic mode + Výstrahy pomocí vibračního motoru +(je třeba osadit) + + + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + + + + + + Battery graph Grafické znázornění stavu baterie - - - - + + + + Enable the throttle trace in Statistics Přidat Stopu Plynu (Throttle-trace) v panelu STATISTIKA - + Support of FrSky PXX protocol Podpora pro Frsky PXX protokol - - - - - + + + + + Support for DSM2 modules Podpora DSM2 modulů @@ -4885,20 +4787,24 @@ nutno zastavět hlasový modul velikost eeprom je 4096B, ale pouze prvních 2048B je použito. - + OpenTX for 9X board - - - - - - + + + + + + PPM center adjustment in limits Možnost nastavovat střed serva šířkou pulzu + + PPM values displayed in us + hodnoty PPM budou zobrazeny v us (mikrosekundy) + @@ -4906,18 +4812,6 @@ velikost eeprom je 4096B, ale pouze prvních 2048B je použito. - - - PPM values displayed in us - hodnoty PPM budou zobrazeny v us (mikrosekundy) - - - - - - - - Symetrical Limits Symetrické limity Přidá možnost volby mezi @@ -4928,40 +4822,34 @@ Přidá možnost volby mezi nastavené limity tedy nemusí být rovny hodnotě -100% a 100%, ale budou pouze maximem výchylky) - - - - - + + + + + Pots use in menus navigation Moznost zadávat hodnoty a pohybovat se v menu pomocí potenciometrů - - + + SmartieParts 2.2 Backlight support Podpora pro modul SmartieParts 2.2 (programátor/podsvícení) Není určeno pro starší verze Smartie Parts - - - - - - In model setup menus automatically set switch by moving some of them - Výběr spínače v mixu atd. + Výběr spínače v mixu atd. se provádí jeho sepnutím - - - - + + + + Enable resetting values by pressing up and down at the same time Rychlé nastavení hodnoty současným stiskem dvou tlačítek. (+) a (-) invertuje hodnotu @@ -4969,6 +4857,16 @@ se provádí jeho sepnutím (-) a (DN) nastaví min. hodnotu (UP) a (DN) vastaví výchozí hodnotu + + + + + + + + No graphical check boxes and sliders + Nahrazeni posuvníku a zatržítek (checkboxu) textem + @@ -4976,16 +4874,6 @@ se provádí jeho sepnutím - No graphical check boxes and sliders - Nahrazeni posuvníku a zatržítek (checkboxu) textem - - - - - - - - Don't use bold font for highlighting active items Vypnout zvýraznění aktivních mixů/spínačů tučným písmem. Pokud není tato volby vybrána, @@ -4994,36 +4882,36 @@ zobrazovány tučným pismem. Neaktivní mixy/spínače budou zobrazeny normálním písmem - - - - + + + + EEprom write Progress bar Progresbar zobrazující zápis do EEPROM (tj. ukládání nastavení) - - - - - + + + + + Imperial units Imerialní jednotky pro telemetrii (stopy, palce, míle atd.) - + Bluetooth interface - - - - - - + + + + + + Global variables Aktivuje Globální Proměnné Jsou to proměnné, které lze použít pro konfiguraci místo některých pevných číselných hodnot. @@ -5032,23 +4920,23 @@ Jejich hodnoty naleznete u originální 9x desky v seznamu křivek. U ostatních Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Funkce - + Support for SD memory card Podpora paměťové karty SD - + Support for DSM2 modules using ppm instead of true serial Podpora DSM2 modulů s použitím PPM místo sériového protokolu - + Enable HELI menu and cyclic mix support Funkce pro heli, nastavení typu mechaniky - + Warning Varování @@ -5058,975 +4946,981 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun EEPROM uložena s těmito varováními: - - + + FM%1 FP%1 FM%1 - + Input%1 - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - + Finnish - + No Žádný - + RotEnc A Otočný enkodér :A - + Rot Enc B Otočný enkodér :B - + Rot Enc C Otočný enkodér :C - + Rot Enc D Otočný enkodér :D - + Rot Enc E Otočný enkodér :E - + No repeat - + %1 sec - + Safety %1 Zabezpečení(zámek) %1 - + S3 - + RSSI Tx - + RSSI Rx - + Rx Batt - + A3 Telem. vstup A3 - + A4 Telem. vstup A4 - + Cells - - ASpd - - - - + dTE - + + Hdg + + + + + AirSpeed + + + + A3- Telem. vstup A3- - + A4- Telem. vstup A4- - + Speed+ - + Dist+ - + + AirSpeed+ + + + + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 - + S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + RudTrim Left - + RudTrim Right - + EleTrim Down - + EleTrim Up - + ThrTrim Down - + ThrTrim Up - + AilTrim Left - + AilTrim Right - + ABS - + THs - + TH% - + THt - + ??? - + a>x - + a<x - + |a|>x - + |a|<x - + AND - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer - + Sticky - + Unknown - + STAY(%1, [%2:%3]) - + STICKY(%1, %2) - + TIMER(%1, %2) - + Trainer Trenér - + Trainer RUD Trenér - směrovka - + Trainer ELE Trenér - výškovka - + Trainer THR Trenér - plyn - + Trainer AIL Trenér - křidélka - + Instant Trim - + Play Sound Přehrát zvuk - + Play Haptic Vibrovat - + Reset - + Set Timer %1 - + Vario - + Play Both Přehrát pár - + Play Value Přehrát hodnotu - + Start Logs Začít logovat - + Volume Hlasitost - + Backlight Podsvětlení - + Adjust GV%1 - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> - + Rotary Encoder - + !Flight mode %1 !Letový režim %1 - + Flight mode %1 Letový režim %1 - + Yellow Žlutá - + Orange Oranžová - + Red Červená - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nepodporován) - + FrSky Sensor Hub FrSky Senzor Hub - - + + None Žádný - + Imperial Imperiální - + Metric Metrické - + Extra Fine Extra jemný - + Fine Jemný - + Medium Střední - + Coarse Hrubý - + Exponential Exponenciální - + Count Up Přičítat - + Count Down Odečítat - + %1:%2, - + : %1 Channels, %2usec Delay : %1 Kanálů, %2us pauza - + Flight modes(%1) - + Flight mode(%1) - + Rudder Směrovka - + Elevator Výškovka - + Throttle Plyn - + Aileron Křidélka - + Play Track Hrát stopu - - - + + + --- - + Rud Trim Trim směrovky - + Ele Trim Trim výškovky - + Thr Trim Trim plynu - + Ail Trim Trim křidélek - + Rot Enc - + Polish + - X%1 - - - - CH%1 - + Background Music Hudba na pozadí - + Background Music Pause Hudba na pozadí -pozastavit - + Delay %1 sec Zpoždění %1sec - + Duration %1 sec Trvání %1 sec - - - - + + + + Timer1 - - - - + + + + Timer2 - + Edge - - - + + + All Vše - - - + + + Telemetry Telemetrie - - + + Value Hodnota - - + + Decr: - - + + Incr: @@ -6041,66 +5935,66 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + Value Hodnota - + Source Zdroj - + GVAR Proměnná - + Increment Upravit - + Own value Vlastní hodnota - + Flight mode %1 value Flight phase %1 value Hodnota režimu LR%1 - + Keys Klávesy - + Sticks Páky - + Keys + Sticks Klávesy i páky - - + + -GV%1 -GP%1 - - - + + + GV%1 GP%1 - + Simulator for this firmware is not yet available Simulátor pro tuto verzi firmware zatím není dostupný @@ -6111,48 +6005,38 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Současné použití expa a křivek již není podporováno - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function OpenTX nepodporuje tuto funkci na této zákl. desce - - + + OpenTX doesn't accept this protocol OpenTX nepodporuje tento protokol - + OpenTX doesn't allow this number of channels V OpenTX nelze použít tento počet kanálů - Simultaneous usage of expo and curves is no longer supported in open9x - Současné použití expa a křivek již není v Open9x podporováno + Současné použití expa a křivek již není v Open9x podporováno th9x on this board doesn't have Rotary Encoders v th9x na této desce nelze použít rotační enkodéry - - - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. - -We are really appreciative for that! - -The OpenTX/Companion Team. - - Trim disabled @@ -6188,42 +6072,39 @@ The OpenTX/Companion Team. Profile image + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage - + No - + Yes Ano - + <br>Rudder Channel: Setup - - - Form - - - - - Timer2 - - - - - Timer1 - - Center beep @@ -6274,6 +6155,16 @@ The OpenTX/Companion Team. Display Checklist + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -6350,7 +6241,7 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. SimpleTailPage - + Elevator Channel: @@ -6358,28 +6249,28 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. SimulatorDialog - - + + Warning - + Joystick enabled but not configured correctly Joystick je povolen, ale není nakonfigurován - + Cannot open joystick, joystick disabled Nelze otevřít joystick, není povolený - + Simulating Radio (%1) - + Firmware %1 error: %2 Firmware %1 chyba: %2 @@ -6392,124 +6283,65 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - - - - + + + + Right Double Click to Reset Dvojité kliknutí pravým tlačítkem myši nastaví na střed - THR - THR + THR - - RUD - - - - - ELE - - - - - AIL - - - - - + + Hold X Držet X - - + + Fix X Fixovat X - - + + Fix Y Fixovat Y - - + + Hold Y Držet Y - - - - - TextLabel - - - - - TRN - - - - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - + BEEP Zvuk - P1 - Potenciometr1 + Potenciometr1 - - - - 0 % - - - - P2 - Potenciometr2 + Potenciometr2 - P3 - Potenciometr 3 + Potenciometr 3 - + 9x Simulator 9x Simulátor - + Outputs Výstupy @@ -6522,125 +6354,44 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - - + + Hold Y Držet Y - - + + Fix Y Fixovat Y - - + + Fix X Fixovat X - - + + Hold X Držet X - - - SD - - - - - - SC - - - - - - - + + + + Right Double Click to Reset Dvojité kliknutí pravým tlačítkem myši nastaví na střed - - - S2 - - - - - - SG - - - - - - RS - - - - - - SH - - - - - - - - TextLabel - - - - - - S1 - - - - - - SB - - - - - - SA - - - - - - SE - - - - - - - SF - - - - - - LS - - - - + Taranis Simulator Taranis Simulátor - + Outputs Výstupy @@ -6656,12 +6407,12 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TailPage - + Rudder Channel: - + Elevator Channel: @@ -6669,33 +6420,28 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: Telemetry - - - Form - - @@ -6751,6 +6497,11 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Alarm 2 + + + CELS + + Serial Protocol @@ -6803,9 +6554,8 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. FrSky Senzor Hub - CEL - Článek + Článek @@ -6915,11 +6665,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TelemetryAnalog - - - Form - - Unit @@ -7044,11 +6789,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TelemetryCustomScreen - - - Form - - Custom Screen Type @@ -7116,33 +6856,23 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. ThrottlePage - + Yes Ano - + No - + <br>Throttle Channel: Timer - - - Form - - - - - mm:ss - - Countdown @@ -7158,11 +6888,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Persistent Ukládání - - - (00:00:00) - - TimerPanel @@ -7185,12 +6910,12 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -7198,12 +6923,12 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -7401,12 +7126,17 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -7419,11 +7149,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -7474,17 +7199,17 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. WizardPrinter - + Model Name: - + Model Type: - + Channel %1: @@ -7492,20 +7217,20 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. appPreferencesDialog - + Simulator capture folder Složka pro snímky obrazovky Simu - + Remember simulator switch values - - - - + + + + Open Folder Vybrat složku @@ -7581,357 +7306,356 @@ Mode 4: - Channel order This is used by the templated to determine which channel goes to what number output. - Pořadí kanálů + Pořadí kanálů Toto je použito šablonami k určení který kanál patří ke kterému výstupu. - + R E T A - + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + Default Stick Mode Výchozí mód vysílačky - + Profile Name Název profilu - + Splash Screen - - Channel Order - - - - + SD Structure path Cesta k obsahu SD karty - + Remove Profile - + Select Image - + Radio Type - + Clear Image - + 9X CH9X - + 9X with m128 - + 9XR - + 9XR with m128 - + Gruvin9x Board - + Sky9x Board - + Taranis - + General Settings Obecná nastavení - + Append version number to FW file name - + Offer to write FW to Tx after download - - General Settings Label - - - - + Application Settings - + Only show user splash images - + Show user and companion splash images - + User Splash Screens - + Use model wizard when creating a new model - + Simulator Settings - + Blue Modrá - + Green Zelená - + Red Červená - + Orange Oranžová - + Yellow Žlutá - + Splash Screen Library - + Files to keep - + Simulator BackLight - + Automatic Backup Folder Složka pro automatické zálohy - + Only capture to clipboard - + Joystick - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + + Default Channel Order + Výchozí pořadí kanálů + + + Find Executable - + Google Earth Executable - + Calibrate Kalibrovat - + Enable - + Show splash screen when Companion starts - + Automatic check for OpenTX firmware updates - + Automatic check for Companion updates - + Enable automatic backup before writing firmware @@ -8536,6 +8260,11 @@ m2560 pro V4 desky Chyba při otevírání souboru %1: %2. + + + Profile image %1 is invalid. + + Images (%1) @@ -8581,11 +8310,6 @@ m2560 pro V4 desky There is no start screen image in the firmware file. - - - The profile image %1 does not contain an image. - - Open image file to use as radio start screen @@ -8909,6 +8633,11 @@ m2560 pro V4 desky Weight Váha + + + 5 Point Curves + + @@ -8964,9 +8693,8 @@ m2560 pro V4 desky Křivky - 5 Points Curves - Pěti-bodové křivky + Pěti-bodové křivky @@ -8977,9 +8705,8 @@ m2560 pro V4 desky bod %1 - 9 Points Curves - Devíti-bodové křivky + Devíti-bodové křivky @@ -9100,6 +8827,11 @@ m2560 pro V4 desky Flight mode Letový režim + + + 9 Point Curves + + @@ -9160,11 +8892,6 @@ m2560 pro V4 desky contributorsDialog - - - Dialog - - People who have contributed to this project @@ -9287,7 +9014,7 @@ m2560 pro V4 desky - Cannot load the profile image %1. + Cannot load profile image %1. @@ -9457,52 +9184,6 @@ p, li { white-space: pre-wrap; } Downloads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Set language of voice. @@ -9540,11 +9221,6 @@ Může být jiná než verze firmwaru Download Voice - - - FwInfo - - Download FW @@ -9816,22 +9492,27 @@ Tlačítkem Zrušit přerušíte kalibraci Otevřít - + Zoom - + X - + Y - + + Reset + + + + Fly sessions Lety @@ -9846,29 +9527,29 @@ Tlačítkem Zrušit přerušíte kalibraci Čas - + Error Chyba - + Cannot write file %1: %2. Nelze zapsat soubor %1: %2. - + Select your log file Vyberte soubor s logy - + Available fields Dostupná pole - + The selected logfile contains %1 invalid lines out of %2 total lines Zvolený soubor logu obsahuje %1neplatných řádků z celkových %2 @@ -9979,52 +9660,6 @@ Může být jiná než verze firmwaru Voice Hlas tts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Ask for flashing after Download @@ -10404,11 +10039,6 @@ Mode 4: printDialog - - - Dialog - - Close diff --git a/companion/src/translations/companion_de.ts b/companion/src/translations/companion_de.ts index 3a48c6b36..55f4866df 100644 --- a/companion/src/translations/companion_de.ts +++ b/companion/src/translations/companion_de.ts @@ -149,22 +149,22 @@ CurveGroup - + Diff Diff - + Expo Expo - + Func Funktion - + Curve Kurve @@ -172,19 +172,26 @@ Curves - Form - Form + Form + + + Standard + Nur Y Werte + + + Custom + X und Y - Standard - Nur Y Werte + Fixed X + - Custom - X und Y + Custom X + @@ -419,14 +426,13 @@ - + GV GV - The source for the mixer - Die Mischerquelle + Die Mischerquelle @@ -434,9 +440,8 @@ Input Name - Phase used by the input. - Flugfphase benutzt als Input + Flugfphase benutzt als Input @@ -444,49 +449,40 @@ Flugphasen - 0 - 0 + 0 - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 @@ -494,23 +490,12 @@ Schalter - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - - - - - The curve used by the input - - - - + Source Quelle - + Line name Info Name @@ -520,7 +505,6 @@ If blank then the input is considered to be "ON" all the time.Knüppel Seite - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -532,7 +516,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> @@ -546,35 +530,51 @@ p, li { white-space: pre-wrap; } Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 benötigen soll.</p></body></html> - + Scale Gewichtung - + Include Trim Trimmung einschliessen - + No Nein - + Yes Ja - + Curve Kurve + + + Curve applied to the source. + + NEG NEG + + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + POS @@ -614,9 +614,13 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 FblPage - Trottle Channel: - Gas Kanal + Gas Kanal + + + + Throttle Channel: + @@ -665,9 +669,8 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 FlightMode - Form - Form + Form @@ -690,24 +693,20 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Schalter - trim1 - Trim1 + Trim1 - trim2 - Trim2 + Trim2 - trim4 - Trim4 + Trim4 - trim3 - Trim3 + Trim3 @@ -740,7 +739,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 GVAR%1 - + Popup enabled @@ -748,17 +747,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 FlightModes - + Flight Mode %1 Flugphase %1 - + (%1) (%1) - + (default) @@ -801,13 +800,12 @@ Dieses sind für alle Modelle im gleichen EEPROM gültig. Einstellungen - + Contrast Kontrast - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -833,12 +831,12 @@ Die Werte können sein Lautstärke (nur PiSpkr) - + Battery Warning Batteriewarnung - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -849,7 +847,7 @@ Dies ist die Warnschwelle bei der die Batteriewarnung piepst Mögliche Werte von 5V..10V - + This is the switch selectrion for turning on the backlight (if installed). @@ -858,18 +856,18 @@ Mögliche Werte von 5V..10V - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Wenn dieser Wert ungleich 0 ist, wird die Hintergrundbeleuchtung nach irgendeinem Tastendruck eingeschaltet und nach einer eingestellten Zeit in Sekunden ausgeschaltet. - + sec sek - + Inactivity Timer Inaktivitätstimer @@ -884,19 +882,19 @@ und nach einer eingestellten Zeit in Sekunden ausgeschaltet. Min - + Show Splash Screen on Startup Zeige Startbildschirm während Start - - + + Show splash screen on startup Zeige Startbildschirm während Start - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -917,16 +915,14 @@ Warnung stummer Betrieb - Wird angezeigt, wenn der Piepser ausgeschaltet ist - Channel Order (For Templates) - Kanalanordnung + Kanalanordnung - Channel order This is used by the templated to determine which channel goes to what number output. - Kanalanordung + Kanalanordung Damit werden die Kanäle den Ausgängen zugeordnet. @@ -997,23 +993,23 @@ Mode 4: Mode 4 (Que Gas Höh Sei) - + Beeper Mode Modus Piepser - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1054,62 +1050,62 @@ Mode 4: Lange - - - - + + + + Off Aus - + Trainer Trainer - + PPM 1 PPM 1 - - - - + + + + chn1 Kanal 1 - + Rud Sei - - - - + + + + chn2 Kanal 2 - - - - + + + + chn3 Kanal 3 - - - - + + + + chn4 Kanal 3 - + Mode Modus @@ -1163,7 +1159,7 @@ Mode 4: Haptik Länge - + GPS Coordinates GPS Koordinaten @@ -1193,32 +1189,32 @@ Mode 4: - + hh° (N/S) mm' ss''.dd GMS hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC Zeitverschiebung von UTC - + LCD Display Type LCD Display Typ - + Standard Standard - + Optrex Optrex LCD @@ -1233,22 +1229,22 @@ Mode 4: Haptik Stärke - + BackLight Brightness Helligkeit der Hintergrundbeleuchtung - + RotEnc Navigation Drehgeber Navigation - + BackLight Auto OFF after Automatische Hintergrundbeleuchtung AUS nach - + BackLight Switch Schalter Hintergrundbeleuchtung @@ -1298,7 +1294,7 @@ Mode 4: Hintergrundlautstärke - + Measurement Units Maßeinheiten @@ -1363,12 +1359,12 @@ Mode 4: - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + R E T A S H G Q @@ -1378,142 +1374,142 @@ Mode 4: Vario Frequenz bei Min - + R E A T S H Q G - + R T E A S G H Q - + R T A E S G Q H - + R A E T S Q H G - + R A T E S Q G H - + E R T A H S G Q - + E R A T H S Q G - + E T R A H G S Q - + E T A R H G Q S - + E A R T H Q S G - + E A T R H Q G S - + T R E A G S H Q - + T R A E G S Q H - + T E R A G H S Q - + T E A R G H Q S - + T A R E G Q S H - + T A E R G Q H S - + A R E T Q S H G - + A R T E Q S G H - + A E R T Q H S G - + A E T R Q H G S - + A T R E Q G S H - + A T E R Q G H S - + S3 Type S3-Type - + OFF AUS - + S-Port Mirror S_Port Ausgang - + Debug Debugmode - + Serial Port Serielle Schnittstelle @@ -1523,284 +1519,326 @@ Mode 4: - + + Default Channel Order + Standardeinstellung Kanalzuordnung + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + SC SC - + SE SE - + SA SA - + SF SF - + SH SH - + SD SD - + SB SB - + SG SG - - + + Hz Hz - + "No Sound" Warning Keine Sound Warnung - + Low Memory Warning Low Memory Warnung - + --- --- - + 2s 2s - + 3s 3s - + 4s 4s - + 6s 6s - + 8s 8s - + 10s 10s - + 15s 15s - + Vario pitch at max Vario Frequenz bei Max - + ms ms - + Vario repeat at zero Vario Wiederholrate - + Input Eingang - + Weight Gewichtung - - - - + + + + += (Sum) += (add) - - - - + + + + := (Replace) := (ersetzen) - + Ele Höh - + Thr Gas - + Ail Que - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + PPM 2 PPM 2 - + PPM 3 PPM 3 - + PPM 4 PPM 4 - + Calibration Kalibrierung - POT 4 - POT 4 + POT 4 - + Current Strom - - - + + + None Kein - - - + + + Pot (normal) Poti(normal) - - - + + + Multipos Switch Stufen Schalter - + S1 Type S1-Type - + S2 Type S2 Type - - + + Mid value Mid Value Mitte - STICK 1 - KNÜPPEL 1 + KNÜPPEL 1 - STICK 2 - KNÜPPEL 2 + KNÜPPEL 2 + + + STICK 3 + KNÜPPEL 3 - STICK 3 - KNÜPPEL 3 - - - - + Negative span Minimum - - + + Positive span Maximum - STICK 4 - KNÜPPEL 4 + KNÜPPEL 4 - POT 1 - POT 1 + POT 1 - POT 2 - POT 2 + POT 2 - POT 3 - POT 3 + POT 3 - + Battery Sender-Akku - + v V - + PPM Multiplier PPM Multiplikator @@ -1859,9 +1897,8 @@ Are you sure ? Heli - Form - Form + Form @@ -1927,9 +1964,13 @@ Are you sure ? HeliPage - Trottle Channel: - Gas Kanal + Gas Kanal + + + + Throttle Channel: + @@ -1975,7 +2016,7 @@ Are you sure ? - Clear All Settings + Clear All Inputs @@ -2127,42 +2168,42 @@ Are you sure ? L%1 - + &Delete &Löschen - + Delete Löschen - + &Copy &Kopieren - + Ctrl+C Ctrl+C - + &Cut &Ausschneiden - + Ctrl+X Ctrl+X - + &Paste Ein&fügen - + Ctrl+V Ctrl+V @@ -2206,32 +2247,17 @@ Are you sure ? Executable (*.exe) Anwendung (*.exe) - - - A new release of Companion is available please check the OpenTX website! - - Would you like to launch the installer? Möchtest Du das Installationsprogramm starten ? - - - Firmware does not longer fit in the radio, due to selected firmware options - - Compilation server requires registration, please check OpenTX web site - - - Firmware does not fit in the radio, due to selected firmware options - - Do you want to write the firmware to the radio now ? @@ -2341,6 +2367,17 @@ Möchten Sie sie jetzt herunterladen? A new version of Companion is available (version %1)<br>Would you like to download it? + + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + Compilation server temporary failure, try later @@ -2584,6 +2621,31 @@ Write anyway ? Exit the application Beendet die Anwendung + + + New + + + + + Open... + + + + + Save + speichern + + + + Save As... + + + + + Copy Model + + A monochrome black icon theme @@ -2644,37 +2706,17 @@ Write anyway ? OpenTX Companion - FW: %1 - Profile: %2 - - - New Models+Settings - - Create a new Models and Settings file - - - Open Models+Settings... - - - - - Save Models+Settings... - - Save Models and Settings file - - - Save Models+Settings as... - - Exit @@ -2690,11 +2732,6 @@ Write anyway ? Cut current model to the clipboard - - - Copy Model... - - Copy current model to the clipboard @@ -2702,12 +2739,12 @@ Write anyway ? - Paste Model... + Paste model from clipboard - Paste model from clipboard + Paste Model @@ -2815,16 +2852,6 @@ Write anyway ? Use Italian in menus - - - Hebrew - - - - - Use Hebrew in menus - - Polish @@ -2836,14 +2863,8 @@ Write anyway ? - Portuguese - Portuguese - - - - Use Portuguese in menus - + Portuguese @@ -2855,26 +2876,6 @@ Write anyway ? Use Swedish in menus - - - Russian - - - - - Use Russian in menus - - - - - Dutch - - - - - Use Dutch in menus - - About... @@ -3087,6 +3088,10 @@ Write anyway ? + Recent Files + + + Recent Models+Settings @@ -3132,6 +3137,11 @@ Write anyway ? Set Menu Language Menüsprache einstellen + + + Show the list of radio profiles + + Write @@ -3203,11 +3213,6 @@ Write anyway ? Show recent Models+Settings documents - - - Show a selection list of radio profiles - - Ready @@ -3217,167 +3222,167 @@ Write anyway ? MdiChild - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Fehler - + Editing model %1: Modell %1 bearbeiten : - - + + Unable to find file %1! Kann die Datei %1 nicht finden ! - - + + Error reading file %1: %2. Fehler beim Lesen der Datei %1: %2. - - - - + + + + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: %2. - - - - + + + + Save As Speichern unter - - - - + + + + Cannot write file %1: %2. Kann Datei %1: %2 nicht schreiben. - + Error writing file %1: %2. Fehler beim Schreiben der Datei %1: %2. - - - + + + Backup EEPROM From Radio - + Write EEPROM To Radio - + Open backup Models and Settings file - + free bytes Freie Bytes - + Companion Companion - - + + Invalid EEPROM File %1 Ungültige EEPROM Datei %1 - + Invalid binary EEPROM File %1 Ungültige EEPROM Programmdatei %1 - + Backup is impossible - + The backup dir set in preferences does not exist - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning Warnung - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Invalid binary backup File %1 - + %1 has been modified. Do you want to save your changes? %1 wurde verändert. Wollen Sie Ihre Änderungen sichern? - + Cannot write temporary file! Kann temporäre Datei nicht schreiben! @@ -3542,49 +3547,40 @@ Diese Einstellung bestimmt wie die Mischerwerte behandelt werden. DR/Expo einschliessen - 0 - 0 + 0 - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 @@ -3636,34 +3632,33 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Nach unten - - DEST -> X%1 - - - - DEST -> CH%1%2 - DEST -> CH%1%2 + DEST -> CH%1%2 - + + DEST -> CH%1 + DEST -> CH%1 + + + Rud Sei - + Ele Höh Höh - + Thr Gas Thr - + Ail Que @@ -3671,161 +3666,175 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 MixesPanel - - + + Move Up Nach oben - - + + Ctrl+Up Ctrl+Up - - + + Move Down Nach unten - - + + Ctrl+Down Ctrl+Down - + Clear Mixes Mischer löschen - + Weight(%1) Gewichtung(%1) - + Switch(%1) Schalter(%1) - + No Trim Kein Trim - + No DR/Expo - + Offset(%1) - + Delay(u%1:d%2) Verzögerung(u%1:d%2) - + Slow(u%1:d%2) Langsam/u%1:d%2) - + Warn(%1) Warnung(%1) - + Not enough available mixers! Nicht genügend Mischer verfügbar! - + Delete Selected Mixes? Lösche ausgewählte Mischer? - + &Add &Addieren - + Ctrl+A Ctrl+a - + &Edit &Editieren - + Enter Eingabe - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete &Löschen - + Delete Löschen - + &Copy &Kopieren - + Ctrl+C Ctrl+C - &Cut - &Ausschneiden + &Ausschneiden - + Ctrl+X Ctrl+X - + + C&ut + + + + &Paste Ein&fügen - + Ctrl+V Ctrl+V - + Du&plicate D&uplizieren - + Ctrl+U Ctrl+U - + Clear Mixes? Mischer löschen? - + Really clear all the mixes? Wirklich alle Mischer löschen ? @@ -4064,118 +4073,123 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Module - Form - Form + Form - + Failsafe Mode Failsafe Mode - + Start Start - + PPM delay PPM Puls - usec - usec + usec - + Negative Negativ - + Positive Positiv - + Master Lehrer - + Slave Schüler - + Polarity Polarität - + Trainer Mode Trainer Mode - mSec - mSec + mSec - + PPM Frame Length PPM Frame Länge - - Label + ch + ch + + + + CH - - - ch - ch + + us + - + + ms + ms + + + Channels Kanäle - + Hold Halten - + Custom X und Y - + No Pulses Keine Pulse - + Receiver Empfänger - + Failsafe Positions Failsafe Positionen - + Protocol Protokoll - + Receiver No. Empfänger Nr. @@ -4206,9 +4220,13 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 MultirotorPage - Trottle Channel: - Gas Kanal + Gas Kanal + + + + Throttle Channel: + @@ -4229,758 +4247,758 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 QObject - - + + FM%1 FP%1 FM%1 - + Polish Polish - X%1 - X%1 + X%1 - + + CH%1 CH%1 - + No Nein - + RotEnc A Dreh Geb A - + Rot Enc B Dreh Geb B - + Rot Enc C Dreh Geb C - + Rot Enc D Dreh Geb D - + Rot Enc E Dreh Geb E - + Safety %1 Safety %1 - + Trainer Trainer - + Trainer RUD Trainer Sei - + Trainer ELE Trainer Höh - + Trainer THR Trainer Gas - + Trainer AIL Trainer Que - + Instant Trim Instant Trim - + Play Sound Audio abspielen - + Start Logs Start Log - + Play Haptic - + Input%1 - - - + + + --- --- - + Rud Trim Sei Trim - + Ele Trim Höh Trim - + Thr Trim Gas Trim - + Ail Trim Que Trim - + Rot Enc Dreh Geb - + English English - + French French - + Italian Italien - + German Deutch - + Czech Czech - + Slovak Slovak - + Spanish Spanish - + Portuguese Portuguese - + Swedish Swedish - + No repeat - + %1 sec %1 sec - + Reset Reset - + S3 S3 - + RSSI Tx RSSI Tx - + RSSI Rx RSSI RX - + Rx Batt RX Batt - + A3 A3 - + A4 A4 - + Cells Zellen - + AirSpeed - + dTE dTE - + Hdg - + A3- A3- - + A4- A4- - + Speed+ Geschw+ - + Dist+ - + AirSpeed+ - + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ Leist+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 TR%1 - + S31 S31 - + S32 S32 - + S33 S33 - + S34 S34 - + S35 S35 - + S36 S36 - + a>x - + a<x - + |a|>x - + |a|<x - + AND - + OR OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer Takt - + Sticky SRFF - + Unknown - + STAY(%1, [%2:%3]) Puls(%1, [%2:%3]) - + STICKY(%1, %2) SRFF(%1, %2) - + TIMER(%1, %2) Takt(%1, %2) - + Set Timer %1 Set Timer %1 - + Vario Vario - + Play Track Spiel Sound - + Play Both Sag Beide - + Play Value Sag Wert - + Volume Lautstärke - + Backlight - + Background Music - + Background Music Pause - + Delay %1 sec Verzögerung %1 sec - + Edge Puls - + Duration %1 sec Dauer %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> - - + + All Alles - - + + Telemetry Telemetrie - - + + Value Wert - - + + Decr: Decr: - - + + Incr: Incr: @@ -4995,7 +5013,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 %1s - + Adjust GV%1 Adjust GV %1 @@ -5025,184 +5043,184 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Increment - + !Flight mode %1 !Flugphase %1 - + Flight mode %1 Flugphase %1 - + Flight mode %1 value Flugphase %1 Wert - + Yellow Gelb - + Orange Orange - + Red Rot - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nicht unterstützt) - + FrSky Sensor Hub FrSky Sensor Hub - - + + None Kein - + Imperial Imperial - + Metric Metrisch - + Extra Fine Sehr fein - + Fine Fein - + Medium Mittel - + Coarse Grob - + Exponential Exponential - + Count Up Count Up - + Count Down Count Down - + %1:%2, %1:%2, - + : %1 Channels, %2usec Delay : %1 Kanäle, %2usec Verzögerung {1 ?} {2u?} - + Flight modes(%1) Flugphasen(%1) - + Flight mode(%1) Flugphase(%1) - + Rudder Seitenruder - + Elevator Höhenruder - + Throttle Gas - + Aileron Querruder - + Own value Eigener Wert - + Finnish Finnish - + Keys Tasten - + Sticks Knüppel - + Keys + Sticks Taste+Knüppel - - + + -GV%1 -GV%1 - - - + + + GV%1 GV%1 - - - - + + + + ---- ---- @@ -5213,341 +5231,341 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Gas - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 - + Batt Akku - + SWR SWR - + MAX MAX - + S11 S11 - + S12 S12 - + S13 S13 - + S14 S14 - + S15 S15 - + S16 S16 - + S21 S21 - + S22 S22 - + S23 S23 - + S24 S24 - + S25 S25 - + S26 S26 - + RudTrim Left SeiteTrim links - + RudTrim Right SeiteTrim rechts - + EleTrim Down HöheTrim ab - + EleTrim Up HöheTrim auf - + ThrTrim Down GasTrim ab - + ThrTrim Up GasTrim auf - + AilTrim Left QuerTrim links - + AilTrim Right QuerTrim rechts - + ABS ABS - + THs GSs - + TH% Gs% - + THt Gst - + ??? ??? - + Diff(%1) Diff(%1) - + Expo(%1) Expo(%1) - + Function(%1) Funktion(%1) - + Curve(%1) Kurve(1%) - + !Curve(%1) !Kurve(%1) - - + + Rud Sei - - + + Ele Höh - - + + Thr Gas - - + + Ail unsure Que - + TrmR TrmS - + TrmE TrmH - + TrmT TrmG - + TrmA TrmQ - + S1 S1 - + S2 S2 - + LS LS - + RS RS - - + + REa DGa - - + + REb DGb - + Alt - + Rpm - + Fuel - + Speed Geschw - + Dist - + GPS Alt GPS Alt - + Cell Zelle - + Vfas Vfas - + Curr Str - + Cnsp Verbr - + Powr Leist - + AccX - + AccY - + AccZ @@ -5556,122 +5574,129 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 HDG - + VSpd VSpd - + A1- A1- - + A2- A2- - + Alt- Alt- - + Alt+ Alt+ - + Rpm+ - + T1+ T1+ - + T2+ T2+ - + Time Zeit - X%1 - X%1 + X%1 + - Support for frsky telemetry mod + - Support for jeti telemetry mod + - Support for receiving ardupilot data + - Support for receiving NMEA data - + Support for telemetry easy board + - Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled + + + + + + + Enable heli menu and cyclic mix support + + + + + + + + + + Enable TEMPLATES menu + + - - Enable heli menu and cyclic mix support - - - - - - - - - - Enable TEMPLATES menu + No splash screen @@ -5679,7 +5704,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - No splash screen + + + Disable curves menus + + + + + + + + Support for radio modified with regular speaker @@ -5688,8 +5723,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - - Disable curves menus + Used if you have modified your radio with voice mode @@ -5697,139 +5731,154 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - Support for radio modified with regular speaker - - - - - - - - - Used if you have modified your radio with voice mode - - - - - - - Used if you have modified your radio with haptic mode - - - - - - - - - - Use alternative SQT5 font - - - - - - - - Enable the throttle trace in Statistics - - - - - EEprom write progress bar - - - - - - No Winged Shadow How High support - - - - - - No vario support - - - - - - No GPS support - - - - - - No gauges in the custom telemetry screen - - - - - Allow compensating for offset errors in FrSky FAS current sensors - - - - - OpenTX for FrSky Taranis - - - - - OpenTX for FrSky Taranis Rev4a - - - - - Support of FrSky PXX protocol - - - - - OpenTX for Sky9x board / 9X - - - - - Use FrSky Taranis sticks in a 9X/9XR - - - - - - Disable HELI menu and cyclic mix support - - - - - - Disable TEMPLATES menu - - - - - - Disable Global variables - - - + + + + + Channel values displayed in us + + + + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + + + + + + + + + Use alternative SQT5 font + + + + + + + + Enable the throttle trace in Statistics + + + + + EEprom write progress bar + + + + + + No Winged Shadow How High support + + + + + + No vario support + + + + + + No GPS support + + + + + + No gauges in the custom telemetry screen + + + + + Allow compensating for offset errors in FrSky FAS current sensors + + + + + OpenTX for FrSky Taranis + + + + + OpenTX for FrSky Taranis Rev4a + + + + + Support of FrSky PXX protocol + + + + + OpenTX for Sky9x board / 9X + + + + + Use FrSky Taranis sticks in a 9X/9XR + + + + + + Disable HELI menu and cyclic mix support + + + + + + Disable TEMPLATES menu + + + + + + Disable Global variables + + + + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits @@ -5840,27 +5889,15 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - - - PPM values displayed in us - - - - - - - - - Symetrical Limits - - - - - + + + + + Pots use in menus navigation @@ -5871,52 +5908,52 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + OpenTX for 9X board - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - In model setup menus automatically set source by moving some of them + Enable resetting values by pressing up and down at the same time - - + + - In model setup menus automatically set switch by moving some of them + No graphical check boxes and sliders + + - Enable resetting values by pressing up and down at the same time + Battery graph @@ -5926,129 +5963,109 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - No graphical check boxes and sliders - - - - - - - - - - Battery graph - - - - - - - - - Don't use bold font for highlighting active items - + OpenTX for M128 / 9X board - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units Imperial Einheiten - + Bluetooth interface - - - - - - + + + + + + Global variables Globale Variablen - + OpenTX for 9XR - + OpenTX for 9XR with M128 chip - + OpenTX for Gruvin9x board / 9X - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + Enable HELI menu and cyclic mix support - - - + + + Timer1 Stoppuhr1 - - - + + + Timer2 Stoppuhr2 - + A1 A1 - + A2 A2 - + T1 T1 - + T2 T2 @@ -6059,37 +6076,31 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - - Simultaneous usage of expo and curves is no longer supported in open9x - - - - + CYC%1 - CH%1%2 CH%1 - CH%1%2 + CH%1%2 - - + + ON EIN - - - + + + OFF AUS - + Warning Warnung @@ -6099,7 +6110,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 EEPROM gespeichert mit diesen Warnungen: - + Simulator for this firmware is not yet available @@ -6109,38 +6120,29 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels - - - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. - -We are really appreciative for that! - -The OpenTX/Companion Team. - - Trim disabled @@ -6176,6 +6178,18 @@ The OpenTX/Companion Team. Profile image Profil Bild + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage @@ -6198,19 +6212,16 @@ The OpenTX/Companion Team. Setup - Form - Form + Form - Timer2 - Stoppuhr2 + Stoppuhr2 - Timer1 - Stoppuhr1 + Stoppuhr1 @@ -6262,6 +6273,16 @@ The OpenTX/Companion Team. Display Checklist Anzeige Checkliste + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -6343,29 +6364,29 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst SimulatorDialog - - + + Warning Warnung - + Joystick enabled but not configured correctly Joystick eingeschaltet, aber nicht korrekt eingestellt - + Cannot open joystick, joystick disabled Kann joystick nicht öffnen, joystick ausgeschaltet - + Simulating Radio (%1) Simulatione Sender (%1) - + Firmware %1 error: %2 Firmware %1 Fehler: %2 @@ -6378,124 +6399,105 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Companion Simulator - THR - Gas + Gas - RUD - Sei + Sei - ELE - Höh + Höh - AIL - Que + Que - + Hold X Halte X - + Fix X Fixiere X - + Fix Y Fixiere Y - + Hold Y Halte Y - - - - TextLabel - Textlabel + Textlabel - - - - + + + + Right Double Click to Reset Zurücksetzen mit rechtem Doppelklick - TRN - TRN + TRN - GEA - GEA + GEA - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - + BEEP Piepston - P1 - P1 + P1 - - - 0 % - 0 % + 0 % - P2 - P2 + P2 - P3 - P3 + P3 - + 9x Simulator 9x Simulator - + Outputs Ausgaben @@ -6518,117 +6520,88 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Ausgaben - - - - + + + + Right Double Click to Reset Zurücksetzen mit rechtem Doppelklick - - + + Hold Y Halte Y - - + + Fix Y Fixiere Y - - + + Fix X Fixiere X - - + + Hold X Halte X - - S1 - S1 + S1 - - - - TextLabel - Textlabel + Textlabel - - SB - SB + SB - - SA - SA + SA - - SE - SE + SE - - - SF - SF + SF - - LS - LS + LS - - S2 - S2 + S2 - - SD - SD + SD - - SC - SC + SC - - SG - SG + SG - - RS - RS + RS - - SH - SH + SH @@ -6678,9 +6651,8 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Telemetry - Form - Form + Form @@ -6737,6 +6709,11 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Alarm 2 Alarm 2 + + + CELS + + Serial Protocol @@ -6789,9 +6766,8 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst FrSky Sensor Hub - CEL - Zelle + Zelle @@ -6902,9 +6878,8 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst TelemetryAnalog - Form - Form + Form @@ -7031,9 +7006,8 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst TelemetryCustomScreen - Form - Form + Form @@ -7120,14 +7094,12 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Timer - Form - Form + Form - mm:ss - mm:ss + mm:ss @@ -7144,11 +7116,6 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Persistent Dauerhaft - - - (00:00:00) - - TimerPanel @@ -7387,12 +7354,17 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -7405,11 +7377,6 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -7478,20 +7445,20 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst appPreferencesDialog - + Simulator capture folder - + Remember simulator switch values - - - - + + + + Open Folder Verzeichnis öffnen @@ -7567,24 +7534,17 @@ Mode 4: Mode 4 (Que Gas Höh Sei) - - Channel order - -This is used by the templated to determine which channel goes to what number output. - - - - + R E T A S H G Q - + R E A T S H Q G - + R T E A S G H Q @@ -7593,332 +7553,336 @@ This is used by the templated to determine which channel goes to what number out S G Q H - + R A E T S Q H G - + R A T E S Q G H - + E R T A H S G Q - + E R A T H S Q G - + E T R A H G S Q - + E T A R H G Q S - + E A R T H Q S G - + E A T R H Q G S - + T R E A G S H Q - + T R A E G S Q H - + T E R A G H S Q - + T E A R G H Q S - + T A R E G Q S H - + T A E R G Q H S - + A R E T Q S H G - + A R T E Q S G H - + A E R T Q H S G - + A E T R Q H G S - + A T R E Q G S H - + A T E R Q G H S - + Default Stick Mode Standard Knüppelmodus - + Profile Name Profil Name - + Splash Screen Splash Screen - Channel Order - Kanal Reihenfolge + Kanal Reihenfolge - + SD Structure path SD Verzeichnis Pfad - + Remove Profile - + Select Image - + Radio Type Sender Typ - + Clear Image - + 9X 9X - + 9X with m128 9x mit m128 - + 9XR 9XR - + 9XR with m128 9XR mit m128 - + Gruvin9x Board Gruvin9x Board - + Sky9x Board Sky9x Board - + Taranis Taranis - + General Settings Generelle Einstellungen - + Append version number to FW file name - + Offer to write FW to Tx after download - - General Settings Label - - - - + Application Settings - + Only show user splash images - + Show user and companion splash images - + User Splash Screens - + Use model wizard when creating a new model - + Simulator Settings Simulator Einstellungen - + Blue Blau - + Green Grün - + Red Rot - + Orange Orange - + Yellow Gelb - + Splash Screen Library Splash Screen Verzeichnis - + Files to keep - + Simulator BackLight Simulatro LCD Beleuchtung - + Automatic Backup Folder - + Only capture to clipboard - + Joystick Joystick - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R T A E S G Q H - + + Default Channel Order + Standardeinstellung Kanalzuordnung + + + Find Executable - + Google Earth Executable - + Calibrate Kalibrieren - + Enable Freigabe - + Show splash screen when Companion starts - + Automatic check for OpenTX firmware updates - + Automatic check for Companion updates - + Enable automatic backup before writing firmware @@ -8554,11 +8518,6 @@ m2560 fürRadios mit v4.1 Boards There is no start screen image in the firmware file. - - - The profile image %1 does not contain an image. - - Open image file to use as radio start screen @@ -8581,6 +8540,11 @@ m2560 fürRadios mit v4.1 Boards Invalid binary Models and Settings File %1, Proceed anyway ? + + + Profile image %1 is invalid. + + Cannot save customized firmware @@ -8874,6 +8838,16 @@ m2560 fürRadios mit v4.1 Boards Weight Gewichtung + + + 5 Point Curves + + + + + 9 Point Curves + + Logical Switches @@ -8934,9 +8908,8 @@ m2560 fürRadios mit v4.1 Boards Kurven - 5 Points Curves - 5 Punkte Kurve + 5 Punkte Kurve @@ -8947,9 +8920,8 @@ m2560 fürRadios mit v4.1 Boards Pt %1 - 9 Points Curves - 9 Punkte Kurve + 9 Punkte Kurve @@ -9139,9 +9111,8 @@ m2560 fürRadios mit v4.1 Boards contributorsDialog - Dialog - Dialog + Dialog @@ -9265,7 +9236,7 @@ m2560 fürRadios mit v4.1 Boards - Cannot load the profile image %1. + Cannot load profile image %1. @@ -9430,50 +9401,8 @@ Mache nur weiter, wenn Du weißt was Du machst - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - CheckBox + CheckBox @@ -9512,9 +9441,8 @@ May be different from firmware language - FwInfo - FwInfo + FwInfo @@ -10189,50 +10117,8 @@ May be different from firmware language - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - CheckBox + CheckBox @@ -10379,9 +10265,8 @@ May be different from firmware language printDialog - Dialog - Dialog + Dialog diff --git a/companion/src/translations/companion_fi.ts b/companion/src/translations/companion_fi.ts index fa00a002a..0dd2c677a 100644 --- a/companion/src/translations/companion_fi.ts +++ b/companion/src/translations/companion_fi.ts @@ -165,22 +165,22 @@ CurveGroup - + Diff Ero - + Expo Expo - + Func Toiminto - + Curve Käyrä @@ -188,19 +188,26 @@ Curves - Form - Käyrät + Käyrät + + + Standard + Vakio + + + Custom + Omat - Standard - Vakio + Fixed X + - Custom - Omat + Custom X + @@ -322,22 +329,22 @@ CustomFunctionsPanel - + Switch Kytkin - + Action Toiminto - + Parameters Parametrit - + Enable Päälle @@ -346,62 +353,62 @@ OF%1 - + SF%1 SF%1 - + ON ON - + Error Virhe - + Unable to find sound file %1! Äänitiedostoa ei löydy %1! - + &Delete &Poista - + Delete Poista - + &Copy &Kopio - + Ctrl+C Ctrl+C - + &Cut &Leikkaa - + Ctrl+X Ctrl+X - + &Paste &Liitä - + Ctrl+V Ctrl+V @@ -491,9 +498,8 @@ ExpoDialog - The source for the mixer - Lähde miksereille + Lähde miksereille @@ -507,14 +513,13 @@ - + GV GV - Phase used by the input. - Tulossa käytetty. + Tulossa käytetty. @@ -522,49 +527,40 @@ Lento tilat - 0 - 0 + 0 - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 @@ -572,10 +568,9 @@ Kytkin - Switch used by the input. If blank then the input is considered to be "ON" all the time. - Tulossa käytetty kytkin. + Tulossa käytetty kytkin. Jos tyhjä tulon katsotaan olevan "ON" kokoajan. @@ -599,7 +594,6 @@ Jos tyhjä tulon katsotaan olevan "ON" kokoajan. Kaikki - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -611,7 +605,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> @@ -624,42 +618,57 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + + + Scale Skaala - + Include Trim Myös trimmi - + No Ei - + Yes Kyllä - + Curve Käyrä - - The curve used by the input - Tulossa käytettävä käyrä + + Curve applied to the source. + - + The curve used by the input + Tulossa käytettävä käyrä + + + Source Lähde - + Line name Nimi @@ -692,9 +701,13 @@ p, li { white-space: pre-wrap; } FblPage - Trottle Channel: - Kaasu kanava: + Kaasu kanava: + + + + Throttle Channel: + @@ -743,9 +756,8 @@ p, li { white-space: pre-wrap; } FlightMode - Form - Lentotila + Lentotila @@ -768,24 +780,20 @@ p, li { white-space: pre-wrap; } Kytkin - trim1 - Trimmi1 + Trimmi1 - trim2 - Trimmi2 + Trimmi2 - trim4 - Trimmi4 + Trimmi4 - trim3 - Trimmi3 + Trimmi3 @@ -817,21 +825,26 @@ p, li { white-space: pre-wrap; } GVAR%1 GVAR %1 + + + Popup enabled + + FlightModes - + Flight Mode %1 Lentotila %1 - + (%1) (%1) - + (default) (oletus) @@ -914,7 +927,7 @@ Nämä vaikuttaa kaikkiin malleihin jotka on EEPROMilla. Äänen kieli - + Measurement Units Mittayksiköt @@ -1032,8 +1045,7 @@ p, li { white-space: pre-wrap; } Potikka käytössä - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1117,7 +1129,7 @@ Tila 4: Mode 4 (SII KAA KOR PER) - + LCD Display Type LCD näytön tyyppi @@ -1126,22 +1138,22 @@ Tila 4: Taustavalo päälle tikun liikkeestä - + sec sec - + Beeper Mode Piipperin moodi - + Timeshift from UTC Ajansiirto UTC:stä - + RotEnc Navigation RotEnc navigaatio @@ -1182,8 +1194,8 @@ Tila 4: ID2 - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1208,22 +1220,22 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html> - + GPS Coordinates GPS koordinaatit - + hh° (N/S) mm' ss''.dd hh° (N/S) mm' ss''.dd - + NMEA NMEA - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. FAI tilassa ei toimi: Vario, äänten toistaminen, telemetria ruutu. Tätä ei saa pois päältä radiosta. @@ -1233,131 +1245,130 @@ p, li { white-space: pre-wrap; } Vario ääni kun nolla - Channel order This is used by the templated to determine which channel goes to what number output. - Kanavien järjestys + Kanavien järjestys Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä lähtöön. - + R E T A P Ko Ka S - + R E A T P Ko S Ka - + R T E A P Ka Ko S - + R T A E P Ka S Ko - + R A E T P S Ko Ka - + R A T E P S Ka Ko - + E R T A Ko P Ka S - + E R A T Ko P S Ka - + E T R A Ko Ka P S - + E T A R Ko Ka S P - + E A R T Ko S P Ka - + E A T R Ko S Ka P - + T R E A Ka P Ko S - + T R A E Ka P S Ko - + T E R A Ka Ko P S - + T E A R Ka Ko S P - + T A R E Ka S P Ko - + T A E R Ka S Ko P - + A R E T S P Ko Ka - + A R T E S P Ka Ko - + A E R T S Ko P Ka - + A E T R S Ko Ka P - + A T R E S Ka P Ko - + A T E R S Ka Ko P @@ -1435,7 +1446,7 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Kaiutinääni - + Show Splash Screen on Startup Näytä alkuruutu käynnistyksessä @@ -1450,9 +1461,8 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Imperiaali - Channel Order (For Templates) - Kanava järjestys (pohjiin) + Kanava järjestys (pohjiin) @@ -1473,18 +1483,18 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Käänteinen taustavalo - + Standard Vakio - + Optrex Optrex - - + + Show splash screen on startup Näytä alkuruutu käynnistyksessä @@ -1513,17 +1523,17 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1545,7 +1555,7 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Vain hälyt - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Jos tämä arvo ei ole 0, jokainen painallus sytyttää taustavalon, sammuu valitun ajan jälkeen ( SEK). @@ -1554,17 +1564,17 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Ajastin piipit - + BackLight Brightness Taustavalon kirkkaus - + Contrast Kontrasti - + BackLight Auto OFF after Taustavalo pois ajakuluttua @@ -1581,7 +1591,7 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Filtteri - + This is the switch selectrion for turning on the backlight (if installed). @@ -1607,7 +1617,7 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Ääni tila - + BackLight Switch Taustavalon kytkin @@ -1622,12 +1632,12 @@ Tämä arvo määrittelee akun jännitteen. Akun kalibrointi - + Battery Warning Akun varoitin - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -1662,47 +1672,47 @@ Hyväksytty arvo: 5v - 10v Min - + Inactivity Timer Käyttämättömyys ajastin - + SC SC - + SE SE - + SA SA - + SF SF - + SH SH - + SD SD - + SB SB - + SG SG @@ -1715,22 +1725,22 @@ Hyväksytty arvo: 5v - 10v Muistin varoitus alussa - + Trainer Traineri - + Mode Moodi - + Input Tulo - + Weight Paino @@ -1739,194 +1749,244 @@ Hyväksytty arvo: 5v - 10v Kytkin - + PPM 1 PPM 1 - - - - + + + + Off Pois - - + + Default Channel Order + + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + + Hz Hz - + "No Sound" Warning "Ei ääniä" hälytys - + Low Memory Warning Muisti vähissä hälytys - + --- --- - + 2s 2s - + 3s 3s - + 4s 4s - + 6s 6s - + 8s 8s - + 10s 10s - + 15s 15s - + Vario pitch at max Vario ääni kun max - + ms ms - + Vario repeat at zero Varion toisto nollassa - + Rud PER - - - - + + + + += (Sum) += (Sum) - - - - + + + + := (Replace) := (Korvaa) - - - - + + + + chn1 chn1 - - - - + + + + chn2 chn2 - - - - + + + + chn3 chn3 - - - - + + + + chn4 chn4 - + Ele KOR - + Thr KAA - + Ail SII - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + PPM 2 PPM 2 - + PPM 3 PPM 3 - + PPM 4 PPM 4 - + S3 Type S2 tyyppi {3 ?} - + OFF Pois - + S-Port Mirror S-Portti peilik - + Debug Korjaus - + Serial Port Sarja portti @@ -1963,116 +2023,108 @@ Hyväksytty arvo: 5v - 10v EI DATAA hälytys - + Calibration Kalibrointi - POT 4 - POT 4 + POT 4 - POT 3 - POT 3 + POT 3 - POT 2 - POT 2 + POT 2 - POT 1 - POT 1 + POT 1 + + + STICK 3 + TIKKU 3 - STICK 3 - TIKKU 3 - - - - + Negative span Negatiivinen liike - - + + Mid value Keski alue - - + + Positive span Positiivinen liike - STICK 1 - TIKKU 1 + TIKKU 1 - STICK 2 - TIKKU 2 + TIKKU 2 - STICK 4 - TIKKU 4 + TIKKU 4 - + Battery Akku - + v v - + PPM Multiplier PPM Kerroin - + Current Virta - - - + + + None Ei mitään - - - + + + Pot (normal) Potikka (Norm) - - - + + + Multipos Switch Monias kytkin - + S1 Type S1 tyyppi - + S2 Type S2 tyyppi @@ -2133,9 +2185,8 @@ Oletko varma ? Heli - Form - Kopteri + Kopteri @@ -2201,9 +2252,13 @@ Oletko varma ? HeliPage - Trottle Channel: - Kaasu kanava: + Kaasu kanava: + + + + Throttle Channel: + @@ -2248,9 +2303,13 @@ Oletko varma ? Ctrl+Alas - Clear All Settings - Tyhjennä kaikki asetukset + Tyhjennä kaikki asetukset + + + + Clear All Inputs + @@ -2413,42 +2472,42 @@ Oletko varma ? L%1 - + &Delete &Poista - + Delete Poista - + &Copy &Kopio - + Ctrl+C Ctrl+C - + &Cut &Leikkaa - + Ctrl+X Ctrl+X - + &Paste &Liitä - + Ctrl+V Ctrl+V @@ -2459,7 +2518,7 @@ Oletko varma ? - + File loaded Tiedosto ladattu @@ -2512,9 +2571,8 @@ Oletko varma ? Uusi julkaisu saatavilla - A new release of Companion is available please check the OpenTX website! - Uusi versio Companionista on saatavilla. Käy OpenTX sivuilla katsomassa lisää! + Uusi versio Companionista on saatavilla. Käy OpenTX sivuilla katsomassa lisää! @@ -2533,23 +2591,23 @@ Oletko varma ? - - - - - - - - + + + + + + + + Error Virhe - - - + + + Error opening file %1: %2. Virhe avattaessa tiedostoa %1: @@ -2711,7 +2769,7 @@ Haluatko ladata sen nyt ? Kirjoita mallit ja asetukset tiedostosta %1 lähettimeen? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -2720,16 +2778,16 @@ Ei tunnisteta malli ja asetus tiedostoksi. Kirjoita se silti lähettimeen ? - - - + + + Backup is impossible Varmuuskopiota ei voi tehdä - - - + + + The backup dir set in preferences does not exist Varmuuskopion kansiota ei ole määritelty asetuksiin @@ -2738,13 +2796,13 @@ Kirjoita se silti lähettimeen ? Varmuuskopioi mallit ja asetukset lähettimestä - + Cannot check Models and Settings compatibility! Continue anyway? Ei voi varmistaa että mallit ja asetukset täsmää laitteistoon. Jatketaanko silti ? - - + + Warning Varoitus @@ -2765,12 +2823,12 @@ Kirjoita se silti lähettimeen ? Kirjoita firmware lähettimeen - + Conversion failed Muutos virheellinen - + Cannot convert Models and Settings for use with this firmware, original data will be used Ei voida muuttaa malli ja asetus tietoja käymään uuteen firmwareen, alkuperäiset tiedot otetaan käyttöön @@ -2779,7 +2837,7 @@ Kirjoita se silti lähettimeen ? Palauta mallit ja asetukset lähettimeen - + Restore failed Palautus epäonnistui @@ -2788,7 +2846,7 @@ Kirjoita se silti lähettimeen ? Ei voi palauttaa malli ja asetus tietoja lähettimestä. Mallit ja asetukset löytyy tiedostosta: %1 - + Firmware write failed Firmwaren kirjoitus epäonnistui @@ -2797,7 +2855,7 @@ Kirjoita se silti lähettimeen ? Ei voi kirjoittaa malli ja asetus tietoja lähettimeen. Mallit ja asetukset löytyy tiedostosta: %1 - + Backup failed Palautus epäonnistui @@ -2818,51 +2876,53 @@ Kirjoita se silti lähettimeen ? Lue lähettimen firmware tiedostoksi - + OpenTX Home Page: <a href='%1'>%1</a> OpenTX Kotisivut: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> OpenTX Companion projektin on aloittanut alunperin: <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> Jos meinaat että tämä ohjelma on hyvä. Teeppä hyvä teko ja: <a href='%1'>Lahjoita</a> - + Version %1, %3 Versio %1, %3 - + Copyright Kopiosuoja - + About Companion Tietoja Companionista - + OpenTX Companion - FW: %1 - Profile: %2 OpenTX Companion -FW: %1 -Profiili: %2 + New - Uusi + Uusi Create a new file Luo uusi tiedosto + Open... - Avaa... + Avaa... Open an existing file @@ -2877,16 +2937,17 @@ Kirjoita se silti lähettimeen ? Tallenna doku levylle + Save As... - Tallenna nimellä... + Tallenna nimellä... - + Exit Poistu - + Exit the application Poistu ohjelmasta @@ -2915,7 +2976,7 @@ Kirjoita se silti lähettimeen ? Liitä leikepöydän tiedot nykyiseen valintaan - + Classical Klassinen @@ -2927,16 +2988,6 @@ Kirjoita se silti lähettimeen ? The new Companion 2 icon theme Uusi Companion 2 ikoni teema - - - Firmware does not longer fit in the radio, due to selected firmware options - - - - - Firmware does not fit in the radio, due to selected firmware options - - Do you want to write the firmware to the radio now ? @@ -2944,544 +2995,523 @@ Kirjoita se silti lähettimeen ? - + Open Models and Settings file - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - - - - - - + + + + + + Backup Models and Settings From Radio - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Restore Models and Settings To Radio - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - - New Models+Settings - - - - + Create a new Models and Settings file - - Open Models+Settings... - - - - - Save Models+Settings... - - - - - + + Save Models and Settings file - - Save Models+Settings as... - - - - + Cut Model - + Cut current model to the clipboard - - Copy Model... - - - - + Copy current model to the clipboard - - Paste Model... - - - - + Paste model from clipboard - + + Paste Model + + + + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome Yksivärinen - + A monochrome black icon theme Yksivärisen teeman musta ikoni tyyli - + MonoWhite Simppeli valkoinen - + A monochrome white icon theme Yksivärisen teeman valkoinen ikoni tyyli - + MonoBlue Simppeli sininen - + A monochrome blue icon theme Yksivärisen teeman sininen ikoni tyyli - + Small Pieni - + Use small toolbar icons Käytä pieniä ikoneita työkalupalkissa - + Normal Normaali - + Use normal size toolbar icons Käytä normaaleita ikoneita työkalupalkissa - + Big Iso - + Use big toolbar icons Käytä isoja ikoneita työkalupalkissa - + Huge Valtava - + Use huge toolbar icons Käytä valtavia ikoneita työkalupalkissa - + System language Järjestelmän kieli - + Use system language in menus Käytä järjestelmän kieltä valikoihin - + Czech Tsekki - + Use Czech in menus Käytä tsekki valikoita - + German Saksa - + Use German in menus Käytä saksa valikoita - + English Englanti - + Use English in menus Käytä englanti valikoita - + Finnish Suomi - + Use Finnish in menus - + French Ranska - + Use French in menus Käytä ranska valikoita - + Italian Italia - + Use Italian in menus Käytä italia valikoita - + + Show the list of radio profiles + + + Hebrew - Heprea + Heprea - Use Hebrew in menus - Käytä heprea valikoita + Käytä heprea valikoita - + Polish Puola - + Use Polish in menus Käytä puola valikoita - Portuguese - Portugali + Portugali - Use Portuguese in menus - Käytä portugali valikoita + Käytä portugali valikoita - + Swedish Ruotsi - + Use Swedish in menus Käytä ruotsi valikoita - Russian - Venäjä + Venäjä - Use Russian in menus - Käytä venäjä valikoita + Käytä venäjä valikoita - - Dutch - - - - - Use Dutch in menus - - - - + About... - + Print... - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Download... - + Check for Updates... - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - - + Recent Models+Settings - - + + Radio Profile - + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + + + + Save + Tallenna + + + + Copy Model + + + + Show recent Models+Settings documents - - Show a selection list of radio profiles - - - - + %2 %2 @@ -3490,7 +3520,7 @@ Kirjoita se silti lähettimeen ? Tietoja - + Show the application's About box Näytä sovelluksen tietoja ikkuna @@ -3499,7 +3529,7 @@ Kirjoita se silti lähettimeen ? Tulosta - + Print current model Tulosta nykyinen malli @@ -3516,7 +3546,7 @@ Kirjoita se silti lähettimeen ? Lataa varmuuskopio... - + Load backup from file Lataa varmuuskipio tiedostosta @@ -3533,7 +3563,7 @@ Kirjoita se silti lähettimeen ? Asetukset... - + Edit Settings Muuta asetuksia @@ -3542,7 +3572,7 @@ Kirjoita se silti lähettimeen ? Ladatut... - + Download firmware and voice files Lataa firmware ja ääni tiedostot @@ -3551,7 +3581,7 @@ Kirjoita se silti lähettimeen ? Tarkistetaan päivityksiä... - + Check OpenTX and Companion updates Tarkista OpenTX ja Companion päivitykset @@ -3576,7 +3606,7 @@ Kirjoita se silti lähettimeen ? Vertaa... - + Compare models Vertaa malleja @@ -3593,22 +3623,22 @@ Kirjoita se silti lähettimeen ? Lista ohjelmointilaitteista - + List available programmers Lista vapaista ohjelmointilaitteista - + List programmers... Lista ohjelmointilaitteista... - + Fuses... Sulakkeet... - + Show fuses dialog Näytä sulake dialogi @@ -3633,22 +3663,22 @@ Kirjoita se silti lähettimeen ? Uusi profiili - + Create a new Radio Setting Profile Luo uusi radio asetus profiili - + Add Radio Profile - + Manuals and other Documents Manuaalit ja muut dokut - + Open the OpenTX document page in a web browser Avaa OpenTX dokut webbi selaimen sivulle @@ -3689,54 +3719,55 @@ Kirjoita se silti lähettimeen ? Avustajat - + A tribute to those who have contributed to OpenTX and Companion Hatunnosto niille jotka on tukenut OpenTX ja Companion projektia + Recent Files - Viimeisimmät tiedostot + Viimeisimmät tiedostot - + Set Menu Language Aseta valikon kieli - + Set Icon Theme Aseta ikonien teema - + Set Icon Size Aseta ikonien koko - - + + File Tiedosto - - + + Edit Muuta - + Settings Asetukset - + Read/Write Lue/Kirjoita - - + + Help Apu @@ -3757,12 +3788,12 @@ Kirjoita se silti lähettimeen ? Näytä lista viimeaikaisista radion asetus profiileista - + Write Kirjoita - + Ready Valmis @@ -3771,25 +3802,25 @@ Kirjoita se silti lähettimeen ? &%1 %2 - + Unable to find file %1! Ei löydy tiedostoa %1! - - + + Invalid Models and Settings File %1 Huono malli ja asetus tiedosto %1 - + Error reading file %1: %2. Virhe luettaessa tiedostoa %1: %2. - + Invalid binary Models and Settings File %1 Huonoja merkkejä mallit ja asetus tiedostossa %1 @@ -3797,12 +3828,12 @@ Kirjoita se silti lähettimeen ? MdiChild - + free bytes Vapaata tilaa - + Companion Companion @@ -3815,131 +3846,131 @@ Kirjoita se silti lähettimeen ? Kysy tämä kysymys uudelleen ? - + Editing model %1: Muutetaan mallia %1: - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Virhe - - + + Unable to find file %1! Ei löydy tiedostoa %1! - - - - + + + + Error opening file %1: %2. Virhe avattaessa tiedostoa %1: %2. - - + + Invalid EEPROM File %1 Väärä EEPROM tiedosto %1 - - + + Error reading file %1: %2. Virhe luettaessa tiedostoa %1: %2. - + Invalid binary EEPROM File %1 Väärää tietoa EEPROM tiedostossa %1 - - - - + + + + Save As Tallenna nimellä - - - - + + + + Cannot write file %1: %2. Ei voi kirjoittaa tiedostoa %1: %2. - + Error writing file %1: %2. Virhe kirjottaessa tiedostoa %1: %2. - + %1 has been modified. Do you want to save your changes? %1 on modifoitu. Haluatko tallentaa muutokset ? - + Backup is impossible Varmuuskopiota ei voi tehdä - + The backup dir set in preferences does not exist Varmuuskopion kansiota ei ole määritelty asetuksiin - + Cannot write temporary file! Väliaikaiseen tiedostoon ei voida kirjoittaa! - - - + + + Backup EEPROM From Radio Varmuuskopio EEPROM lähettimestä - + Write EEPROM To Radio Kirjoita EEPROM lähettimeen - + Open backup Models and Settings file Avaa varmuuskopio mallit ja asetukset @@ -3956,23 +3987,23 @@ Haluatko tallentaa muutokset ? Varmuuskopio EEPROM lähettimestä - + Cannot check eeprom compatibility! Continue anyway? Ei voi varmistaa että EEPROM täsmää laitteistoon! Jatketaanko silti ? - - + + Warning Varoitus - + Firmware in radio is of a different family of eeprom written, check file and preferences! Lähettimen firmware kuuluu toiselle lähettin mallille, tarkista oikea tiedosto ja asetukset! - + Firmware in flash is outdated, please upgrade! Firware on vanhaa versio, päivitä se uudempaan! @@ -3985,7 +4016,7 @@ Haluatko tallentaa muutokset ? Avaa - + Invalid binary backup File %1 Väärää tietoa varmuuskopio tiedostossa %1 @@ -4061,49 +4092,40 @@ p, li { white-space: pre-wrap; } Paino - 0 - 0 + 0 - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 @@ -4242,32 +4264,35 @@ If blank then the mix is considered to be "ON" all the time. Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. - DEST -> X%1 - KOHD -> X%1 + KOHD -> X%1 - DEST -> CH%1%2 - KOHD -> CH%1%2 + KOHD -> CH%1%2 - + + DEST -> CH%1 + KOHD -> CH%1 + + + Rud PER - + Ele KOR - + Thr KAA - + Ail SII @@ -4275,31 +4300,31 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. MixesPanel - - + + Move Up Siirrä ylös - - + + Ctrl+Up Ctrl+Ylös - - + + Move Down Siirrä alas - - + + Ctrl+Down Ctrl+Alas - + Clear Mixes Tyhjennä mikserit @@ -4312,132 +4337,146 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. CH%1%2 - + Weight(%1) Paino(%1) - + Switch(%1) Kytkin(%1) - + No Trim Ei trimmiä - + No DR/Expo Ei DR / Expoja - + Offset(%1) Tasoitus(%1) - + Delay(u%1:d%2) Viive(u%1:d%2) - + Slow(u%1:d%2) Hidastus(u%1:d%2) - + Warn(%1) Välys(%1) - + Not enough available mixers! Ei enempää vapaita miksereitä! - + Delete Selected Mixes? Poista valitut mikserit? - + &Add &Lisää - + Ctrl+A Ctrl+A - + &Edit &Muuta - + Enter Entteri - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete &Poista - + Delete Poista - + &Copy &Kopio - + Ctrl+C Ctrl+C - &Cut - &Leikkaa + &Leikkaa - + Ctrl+X Ctrl+X - + + C&ut + + + + &Paste &Liitä - + Ctrl+V Ctrl+V - + Du&plicate Jäl&jennä - + Ctrl+U Ctrl+U - + Clear Mixes? Tyhjennä mikserit? - + Really clear all the mixes? Varmasti tyhjennä kaikki mikserit? @@ -4687,37 +4726,35 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Module - Form - Moduuli + Moduuli - + Failsafe Mode Turvatila - + Start Aloitus - + PPM delay PPM viive - usec - usec + usec - + Negative Negatiivinen - + Positive Positiivinen @@ -4726,83 +4763,94 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. RX numero - + Master Masteri - + Slave Orja - + Polarity Napaisuus - + Trainer Mode Harjoitus tila - mSec - mSec + mSec - + PPM Frame Length PPM läh pituus - Label - Lappu + Lappu - - ch - ch + ch - + + CH + + + + + us + + + + + ms + ms + + + Channels Kanavat - + Hold Pidä - + Custom Omat - + No Pulses Ei pulsseja - + Receiver Vastaanotin - + Failsafe Positions Turvatila asennot - + Protocol Protokolla - + Receiver No. Vastaanotin No. @@ -4837,9 +4885,13 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. MultirotorPage - Trottle Channel: - Kaasu kanava: + Kaasu kanava: + + + + Throttle Channel: + @@ -4875,131 +4927,131 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Profiili kuva - - + + Rud PER - - + + Ele KOR - - + + Thr KAA - - + + Ail SII - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 - + S1 S1 - + S2 S2 - + LS LS - + RS RS - - - + + + REa REa - - - + + + REb REb - + TrmR tPER - + TrmE tKOR - + TrmT tKAA - + TrmA tSII - + Batt Batt - - - - + + + + Timer1 Ajastin 1 - - - - + + + + Timer2 Ajastin 2 - + SWR SWR @@ -5016,57 +5068,57 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Rx - + A1 A1 - + A2 A2 - + Alt Kork - + Rpm Kier - + Fuel Bensa - + T1 T1 - + T2 T2 - + Speed Nopeus - + Dist Etäisyys - + GPS Alt GPS kork - + Cell Kenno @@ -5075,47 +5127,46 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Kennoja - + Vfas Vfas - + Curr Virta - + Cnsp Cnsp - + Powr Powr - + AccX AccX - + AccY AccY - + AccZ AccZ - HDG - HDG + HDG - + VSpd Vspd @@ -5124,42 +5175,42 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Aspd - + dTE dTE - + A1- A1- - + A2- A2- - + Alt- Kork- - + Alt+ Kork+ - + Rpm+ Kier+ - + T1+ T1+ - + T2+ T2+ @@ -5192,7 +5243,7 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. ACC - + Time Aika @@ -5325,10 +5376,10 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. LSW - - - - + + + + ---- ---- @@ -5337,12 +5388,12 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Tulo %1 - + MAX MAX - + CYC%1 CYC%1 @@ -5351,617 +5402,620 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. PPM%1 - CH%1%2 - CH%1%2 + CH%1%2 - X%1 - X%1 + X%1 - - - + + + GV%1 GV%1 - + S3 S3 - + RSSI Tx - + RSSI Rx - + Rx Batt - + A3 A3 - + A4 A4 - + Cells - + AirSpeed - + + Hdg + + + + A3- A3- - + A4- A4- - + Speed+ - + Dist+ - + AirSpeed+ - + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 - + S11 S11 - + S12 S12 - + S13 S13 - + S14 S14 - + S15 S15 - + S16 S16 - + S21 S21 - + S22 S22 - + S23 S23 - + S24 S24 - + S25 S25 - + S26 26 - + S31 S31 - + S32 S32 - + S33 S33 - + S34 S34 - + S35 S35 - + S36 S36 - + RudTrim Left PER trimmi vasen - + RudTrim Right PER trimmi oikea - + EleTrim Down KOR trimmi alas - + EleTrim Up KOR trimmi ylös - + ThrTrim Down KAA trimmi alas - + ThrTrim Up KAA trimmi ylös - + AilTrim Left SII trimmi vasen - + AilTrim Right SII trimmi oikea - - - + + + OFF Pois - + ABS ABS - + THs THs - + TH% TH% - + THt THt - - + + ON ON - + ??? ??? - + Diff(%1) Ero(%1) - + Expo(%1) Expo(%1) - + Function(%1) Toiminto(%1) - + Curve(%1) Käyrä(%1) - + !Curve(%1) !Käyrä(%1) - - - + + + --- --- - + a>x a>x - + a<x a<x - + |a|>x |a|>x - + |a|<x |a|<x - + AND JA - + OR TAI - + XOR KÄÄNT TAI - + a=b a=b - + a!=b a!=b - + a>b a>b - + a<b a<b - + a>=b a>=b - + a<=b a<=b - + d>=x d>=x - + |d|>=x |d|>=x - + a=x a=x - + a~x a~x - + Timer Ajastin - + Sticky Lukko - + Edge Reuna @@ -5970,190 +6024,190 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Pidä - + Unknown Tuntematon - + STAY(%1, [%2:%3]) PIDÄ(%1, [%2:%3]) - + STICKY(%1, %2) JÄHMEÄ(%1, %2) - + TIMER(%1, %2) AJASTIN(%1, %2) - + Delay %1 sec Viive %1 sek - + Duration %1 sec Kesto %1 sek - - - - + + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>epäjohdonmukainen arvo</b></font> - - - + + + All Kaikki - - - + + + Telemetry Telemetria - - + + Value Arvo - - + + Decr: Väh: - - + + Incr: Lis: - + Safety %1 Turva %1 - + Trainer Traineri - + Trainer RUD Trainerin PER - + Trainer ELE Trainerin KOR - + Trainer THR Trainerin KAA - + Trainer AIL Trainerin SII - + Instant Trim Välitön trimmi - + Play Sound Toista ääni - + Play Haptic Toista haptik - + Reset Resetti - + Set Timer %1 Aseta ajastin %1 - + Vario Variom - + Play Track Toista raita - + Play Both Toista molemmat - + Play Value Toista arvo - + Start Logs Aloita login tallennus - + Volume Voluumi - + Backlight Taustavalo - + Background Music Tausta musiikki - + Background Music Pause Tausta musiikki tauko - + Adjust GV%1 Muuta GV%1 - + No repeat Ei toistoa - + %1 sec %1 sek @@ -6176,35 +6230,34 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Samanaikainen käyttö expolla ja käyrällä ei ole enää tuettu - Simultaneous usage of expo and curves is no longer supported in open9x - Samanaikainen käyttö expolla ja käyrällä ei ole enää tuettu open9x:ssä + Samanaikainen käyttö expolla ja käyrällä ei ole enää tuettu open9x:ssä openTx only accepts %1 points in all curves OpenTX vastaanottaa vain %1 pistettä kaikkiin käyriin - + OpenTX only accepts %1 points in all curves OpenTX vastaanottaa vain %1 pistettä kaikkiin käyriin - - - - + + + + OpenTX on this board doesn't accept this function OpenTX ja tämä funktio ei onnistu tässä radiossa - - + + OpenTX doesn't accept this protocol OpenTX ei hyväksy tätä protokollaa - + OpenTX doesn't allow this number of channels OpenTX ei hyväksy näin montaa kanavaa @@ -6217,7 +6270,7 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - + Warning Varoitus @@ -6227,105 +6280,123 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä EEPROM tallennettiin seuraavin varoituksin: + - Support for frsky telemetry mod Tuki FrSky telemetria moduulille - + Support for telemetry easy board Tuki telemetrialle ( easy board ) + - Support for jeti telemetry mod Tuki Jeti telemetria moduulille + - Support for receiving ardupilot data Tuki vastaanottaa ardupilot dataa + - Support for receiving NMEA data Tuki vastaanottaa NMEA dataa + - Support for MAVLINK devices Tuki MAVLINK laitteille - + Rotary Encoder use in menus navigation Rotary encoder käyttö valikon navigoinnissa - - - - - + + + + + Pots use in menus navigation Potikoiden käyttö valikko navigoinnissa - + Possibility to enable FAI MODE at field Mahdollisuus valita FAI TILA käyttöön kentällä - + FAI MODE always enabled FAI TILA aina päällä - + OpenTX for 9X board OpenTX 9X radioille + + + + + + + Enable heli menu and cyclic mix support + HELI valikko päälle ,cyclic mix tuella + + + + + + + + + Enable TEMPLATES menu + Mallit valikko käyttöön + - - Enable heli menu and cyclic mix support - HELI valikko päälle ,cyclic mix tuella + No splash screen + Ei alkuruutua - - - Enable TEMPLATES menu - Mallit valikko käyttöön + + + No flight modes + Ei lentotiloja - No splash screen - Ei alkuruutua + + + Disable curves menus + Käyrät valikko pois - - - No flight modes - Ei lentotiloja + Support for radio modified with regular speaker + Tuki radioille johon viritetty normaali kaiutin @@ -6333,43 +6404,51 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - - Disable curves menus - Käyrät valikko pois + Used if you have modified your radio with voice mode + Käytetään jos radioon on viritetty ääni moduuli - Support for radio modified with regular speaker - Tuki radioille johon viritetty normaali kaiutin - - - - - - - - Used if you have modified your radio with voice mode - Käytetään jos radioon on viritetty ääni moduuli + Used if you have modified your radio with haptic mode + Käytetään jos radioon on viritetty haptik moduuli - Used if you have modified your radio with haptic mode - Käytetään jos radioon on viritetty haptik moduuli + + Support for DSM2 modules + Tuki DSM2 moduleille + + + + + + + + + PPM center adjustment in limits + PPM keskitys arvojen mukaan + + + PPM values displayed in us + PPM arvot näytetään" us" tyyppisesti - - Support for DSM2 modules - Tuki DSM2 moduleille + + + + + Channel values displayed in us + @@ -6378,8 +6457,8 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - PPM center adjustment in limits - PPM keskitys arvojen mukaan + Global variables + Globaalit muuttujat @@ -6388,64 +6467,70 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - - - PPM values displayed in us - PPM arvot näytetään" us" tyyppisesti - - - - - - - - - Global variables - Globaalit muuttujat - - - - - - - - Symetrical Limits Symmetriset rajat - - + + SmartieParts 2.2 Backlight support "Smartie parts 2.2" taustavalo tuki + + In model setup menus automatically set source by moving some of them + Mallien valikossa lähde valitaan automaattisesti kun jotain siirretään + + + In model setup menus automatically set switch by moving some of them + Mallien valikossa kytkimet valitaan automaattisesti kun jotain siirretään + + + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + - - - In model setup menus automatically set source by moving some of them - Mallien valikossa lähde valitaan automaattisesti kun jotain siirretään + Enable resetting values by pressing up and down at the same time + Asetuksien poisto: Paina ylös ja alas samanaikaisesti - - + + - In model setup menus automatically set switch by moving some of them - Mallien valikossa kytkimet valitaan automaattisesti kun jotain siirretään + No graphical check boxes and sliders + Ei graaffisia valintalaatikoita ja liukuja + + - Enable resetting values by pressing up and down at the same time - Asetuksien poisto: Paina ylös ja alas samanaikaisesti + Battery graph + Akun grafiikka @@ -6454,8 +6539,8 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - No graphical check boxes and sliders - Ei graaffisia valintalaatikoita ja liukuja + Don't use bold font for highlighting active items + Älä käytä lihavointua fonttia korostamaan aktiivisia asioita @@ -6464,170 +6549,150 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - Battery graph - Akun grafiikka + + + Use alternative SQT5 font + Käytä vaihtoehtoista SQT5 fonttia - - - Don't use bold font for highlighting active items - Älä käytä lihavointua fonttia korostamaan aktiivisia asioita + Enable the throttle trace in Statistics + Salli kaasun seuranta statistiikassa - - - - - - - - Use alternative SQT5 font - Käytä vaihtoehtoista SQT5 fonttia + EEprom write progress bar + EEprom tallennus palkki - Enable the throttle trace in Statistics - Salli kaasun seuranta statistiikassa - - - - EEprom write progress bar - EEprom tallennus palkki - - - - - - - + Imperial units Imperiaali yksiköt - - + + No Winged Shadow How High support erikoistoiminto korkea (ei tuettu) - - + + No vario support Ei vario tukea - - + + No GPS support Ei GPS tukea - - + + No gauges in the custom telemetry screen Ei mittareita "omassa" telemetria ruudussa - + Allow compensating for offset errors in FrSky FAS current sensors Salli virheiden kompensoiti FrSkyn FAS virta sensorille - + OpenTX for M128 / 9X board OpenTX M128 / 9X radiolle - - - - + + + + EEprom write Progress bar EEprom tallennus palkki - + OpenTX for 9XR OpenTX -> 9XR - + OpenTX for 9XR with M128 chip OpenTX -> 9XR M128 sirulla - + OpenTX for Gruvin9x board / 9X OpenTX -> Gruvin9x / 9X - + Support for SD memory card Tuki SD Muistikortille - + Support of FrSky PXX protocol Tuli FrSky PXX protokollalle - + Support for DSM2 modules using ppm instead of true serial Tuki DSM2 moduuleille käyttäen PPM, eikä oikeaa sarjaliikennettä - + OpenTX for Sky9x board / 9X OpenTX -> Sky9x / 9X - + Enable HELI menu and cyclic mix support HELI valikko päälle ,cyclic mix tuella - + Use FrSky Taranis sticks in a 9X/9XR Käytä FrSky Taranis tikkuja 9X / 9XR - + Bluetooth interface Bluetooth liintäntä - + OpenTX for FrSky Taranis OpenTX -> Taranis - - + + Disable HELI menu and cyclic mix support HELI valikko pois ,myös cyclic mix tuki - - + + Disable TEMPLATES menu Mallit valikko pois käytöstä - - + + Disable Global variables Globaalit muuttujat pois päältä - + OpenTX for FrSky Taranis Rev4a OpenTX -> Taranis Rev4a @@ -6637,88 +6702,88 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä th9x radiossa ei ole Rot Enc - - + + FM%1 FM%1 - + Input%1 Tulo%1 - + Rud Trim PER trim - + Ele Trim KOR trim - + Thr Trim KAA trim - + Ail Trim SII trim - + Rot Enc Rot Enc - + English Englanti - + French Ranska - + Italian Italia - + German Saksa - + Czech Tsekki - + Slovak Slovakia - + Spanish Espanja - + Polish Puola - + Portuguese Portugali - + Swedish Ruotsi @@ -6729,215 +6794,215 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä KAA - X%1 - X%1 + X%1 - + + CH%1 CH%1 - + No Ei - + RotEnc A RotEnc A - + Rot Enc B RotEnc B - + Rot Enc C RotEnc C - + Rot Enc D RotEnc D - + Rot Enc E RotEnc E - + !Flight mode %1 !Lento tila %1 - + Flight mode %1 Lento tila %1 - + Own value Oma arvo - + Flight mode %1 value Lento tila %1 arvo - + Keys Napit - + Sticks Tikut - + Keys + Sticks Napit + Tikut - - + + -GV%1 -GV%1 - + Finnish Suomi - + Yellow Keltainen - + Orange Oranssi - + Red Punainen - + Winged Shadow How High erikoistoiminto korkea - + Winged Shadow How High (not supported) erikoistoiminto korkea (ei tuettu) - + FrSky Sensor Hub FrSky:n hubi - - + + None Ei mitään - + Imperial Imperiaali - + Metric Metrit - + Extra Fine Eri hieno - + Fine Hieno - + Medium Keski - + Coarse Karkea - + Exponential Expo - + Count Up Laske ylös - + Count Down Laske alas - + %1:%2, %1 %2, - + : %1 Channels, %2usec Delay :%1 Kanaville, %2 käyt viive - + Flight modes(%1) Lentotilat(%1) - + Flight mode(%1) Lentotila(%1) - + Rudder Sivuperäsin - + Elevator Korkeusperäsin - + Throttle Kaasu - + Aileron Siivekkeet - + Simulator for this firmware is not yet available Tämän firmwaren simulointi ei ole vielä mahdollista @@ -6952,27 +7017,27 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä %1s - + Value Arvo - + Source Lähde - + GVAR Gvarit - + Increment Säätö - + Rotary Encoder Rotary encoderi @@ -6997,18 +7062,29 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä Käytä trimmiä lentotilaan %1 + Oma trimmi asetuksena - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. We are really appreciative for that! The OpenTX/Companion Team. - Kiitos kaikille lahjoituksista, kivoista viesteistä, rakentavista kommenteista ja ehdotuksista. Pyritään saamaan niitä seuraavaan OpenTX/Companion verisoon. + Kiitos kaikille lahjoituksista, kivoista viesteistä, rakentavista kommenteista ja ehdotuksista. Pyritään saamaan niitä seuraavaan OpenTX/Companion verisoon. Arvostamme niitä ! OpenTX/Compantion tiimi. + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage @@ -7031,9 +7107,8 @@ OpenTX/Compantion tiimi. Setup - Form - Asetukset + Asetukset @@ -7045,14 +7120,12 @@ OpenTX/Compantion tiimi. Mallin nimi - Timer2 - Ajastin 2 + Ajastin 2 - Timer1 - Ajastin 1 + Ajastin 1 Throttle Source @@ -7141,6 +7214,16 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Throttle Trim Idle Only Kaasun trimmi vain tyhjäkäinnille + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -7193,28 +7276,28 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, SimulatorDialog - - + + Warning Varoitus - + Joystick enabled but not configured correctly Joystick päällä mutta väärin aseteltu - + Cannot open joystick, joystick disabled Ei voi avata joystickia, joystick pois käytöstä - + Simulating Radio (%1) Simuloi radio (%1) - + Firmware %1 error: %2 Firmware %1 virhe: %2 @@ -7227,124 +7310,105 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Companion simulaattori - THR - KAA + KAA - RUD - PER + PER - ELE - KOR + KOR - AIL - SII + SII - + Hold X Pidä X - + Fix X Kesk X - + Fix Y Kesk Y - + Hold Y Pidä Y - - - - TextLabel - Simulaattori + Simulaattori - - - - + + + + Right Double Click to Reset Tuplaklikkaa oikea -> resetoi - TRN - TRN + TRN - GEA - REN + REN - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - + BEEP PIIP - P1 - P1 + P1 - - - 0 % - 0 % + 0 % - P2 - P2 + P2 - P3 - P3 + P3 - + 9x Simulator 9x simulaattori - + Outputs Ulostulot @@ -7367,117 +7431,88 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Ulostulot - - - - + + + + Right Double Click to Reset Tuplaklikkaa oikea -> resetoi - - + + Hold Y Pidä Y - - + + Fix Y Kesk Y - - + + Fix X Kesk X - - + + Hold X Pidä X - - S1 - S1 + S1 - - - - TextLabel - Simulaattori + Simulaattori - - SB - SB + SB - - SA - SA + SA - - SE - SE + SE - - - SF - SF + SF - - LS - LS + LS - - S2 - S2 + S2 - - SD - SD + SD - - SC - SC + SC - - SG - SG + SG - - RS - RS + RS - - SH - SH + SH @@ -7527,9 +7562,8 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Telemetry - Form - Telemetria + Telemetria @@ -7586,6 +7620,11 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Alarm 2 Varoitus 2 + + + CELS + + Serial Protocol @@ -7638,9 +7677,8 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, FrSky:n hubi - CEL - CEL + CEL 2 @@ -7767,9 +7805,8 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, TelemetryAnalog - Form - Telemetria + Telemetria @@ -7900,9 +7937,8 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, TelemetryCustomScreen - Form - Telemetria oma ruutu + Telemetria oma ruutu @@ -7989,14 +8025,12 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Timer - Form - Ajastin + Ajastin - mm:ss - mm:ss + mm:ss @@ -8018,9 +8052,8 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Yhtämittainen - (00:00:00) - (00:00:00) + (00:00:00) @@ -8268,12 +8301,17 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -8286,11 +8324,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -8369,82 +8402,87 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + Profile Name - + + Default Channel Order + + + + Radio Type - + 9X 9X - + 9X with m128 - + 9XR - + 9XR with m128 - + Gruvin9x Board - + Sky9x Board - + Taranis - + General Settings Yleiset asetukset - - General Settings Label - - - - + Application Settings Ohjelman asetukset - + Only show user splash images - + Show user and companion splash images - + Automatic Backup Folder Automaattisen varmuuskopion kansio - + User Splash Screens Käyttäjän oma alkuruudut @@ -8457,45 +8495,45 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Vain käyttäjän määrittelemät alkuruudut - + Google Earth Executable Google Earth tiedosto - + Automatic check for OpenTX firmware updates Tutki automaattisesti OpenTX firmware päivitykset - - - - + + + + Open Folder Avaa kansio - + Find Executable Avaa tiedosto - + Files to keep Tiedostoja - + Splash Screen Library Alkuruutu kirjasto - + Enable automatic backup before writing firmware Laita automaatiinen varmuuskopionti päälle ennen firmwaren kirjoitusta - + Automatic check for Companion updates Tutki automaattisesti Companionin päivitykset @@ -8504,77 +8542,77 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Tarjoa avustajaa uuden mallin luomiseen - + Show splash screen when Companion starts Näytä alkuruutu kun Companion käynnistetään - + Use model wizard when creating a new model - + Simulator Settings Simulaattorin asetukset - + Simulator BackLight Simulaattorin taustavalo - + Enable Päälle - + Blue Sininen - + Green Vihreä - + Red Punainen - + Orange Oranssi - + Yellow Keltainen - + Joystick Joystick - + Only capture to clipboard Kaappaa leikepöydälle - + Calibrate Kalibroi - + Remember simulator switch values Muista simulaattorin kytkimien asennot - + Simulator capture folder Simulaattorin tiedostojen kansio @@ -8647,136 +8685,135 @@ Tila 4: Mode 4 (SII KAA KOR PER) - Channel order This is used by the templated to determine which channel goes to what number output. - Kanavien järjestys + Kanavien järjestys Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä lähtöön. - + R E T A P Ko Ka S - + R E A T P Ko S Ka - + R T E A P Ka Ko S - + R T A E P Ka S Ko - + R A E T P S Ko Ka - + R A T E P S Ka Ko - + E R T A Ko P Ka S - + E R A T Ko P S Ka - + E T R A Ko Ka P S - + E T A R Ko Ka S P - + E A R T Ko S P Ka - + E A T R Ko S Ka P - + T R E A Ka P Ko S - + T R A E Ka P S Ko - + T E R A Ka Ko P S - + T E A R Ka Ko S P - + T A R E Ka S P Ko - + T A E R Ka S Ko P - + A R E T S P Ko Ka - + A R T E S P Ka Ko - + A E R T S Ko P Ka - + A E T R S Ko Ka P - + A T R E S Ka P Ko - + A T E R S Ka Ko P - + Default Stick Mode Perus tikkujen tila @@ -8785,32 +8822,31 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Asetus profiili - + Splash Screen Alkuruutu - Channel Order - Kanavien järjestys + Kanavien järjestys - + Append version number to FW file name Liitä version numero FW tiedoston nimeen - + SD Structure path SD muistikortin kansio - + Offer to write FW to Tx after download Tarjoa että FW ladataan lähettimeen kun se on ladattu - + Remove Profile Poista profiili @@ -8819,12 +8855,12 @@ Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä Firmware - + Select Image Valitse kuva - + Clear Image Tyhjennä kuva @@ -9515,7 +9551,7 @@ m2560 for v4.1 boards - The profile image %1 does not contain an image. + Profile image %1 is invalid. @@ -9917,8 +9953,17 @@ m2560 for v4.1 boards + 5 Point Curves + + + + + 9 Point Curves + + + 5 Points Curves - 5 Pisteen käyrät + 5 Pisteen käyrät @@ -9935,9 +9980,8 @@ m2560 for v4.1 boards Käyrä - 9 Points Curves - 9 Pisteen käyrät + 9 Pisteen käyrät @@ -10103,9 +10147,8 @@ m2560 for v4.1 boards contributorsDialog - Dialog - Kehittäjät + Kehittäjät @@ -10236,9 +10279,13 @@ m2560 for v4.1 boards Ei voi ladata kuvaa tiedostosta %1. - Cannot load the profile image %1. - Ei voi ladata profiilikuvaa %1. + Ei voi ladata profiilikuvaa %1. + + + + Cannot load profile image %1. + @@ -10448,50 +10495,8 @@ p, li { white-space: pre-wrap; } Ladatut - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - Valintaruutu + Valintaruutu @@ -10541,9 +10546,8 @@ Voi olla eri kun firmwaren kieli Prossu ID - FwInfo - FwInfo + FwInfo @@ -10806,22 +10810,27 @@ Paina "peruuta" niin joystickin kalibrointi perutetaan Avaa logi - + Zoom Zuumaa - + X X - + Y Y - + + Reset + Resetti + + + Fly sessions Lento jakso @@ -10836,29 +10845,29 @@ Paina "peruuta" niin joystickin kalibrointi perutetaan Aika - + Error Virhe - + Cannot write file %1: %2. Ei voi kirjoittaa tiedostoon %1 %2. - + Select your log file Valitse logi tiedosto - + Available fields Valittavana olevat kentät - + The selected logfile contains %1 invalid lines out of %2 total lines Valittu logi sisältää: %1 virhe riviä, kokomäärästä %2 riviä @@ -11327,50 +11336,8 @@ Voi olla eri kun firmwaren kieli - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - Valintaruutu + Valintaruutu @@ -11396,9 +11363,8 @@ Voi olla eri kun firmwaren kieli printDialog - Dialog - Tulosta + Tulosta diff --git a/companion/src/translations/companion_he.ts b/companion/src/translations/companion_he.ts index 662717aa8..f61f9ae57 100644 --- a/companion/src/translations/companion_he.ts +++ b/companion/src/translations/companion_he.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -60,22 +60,22 @@ BankPage - + One - + Two - + <br>First Elevon Channel: - + Second Elevon Channel: @@ -141,7 +141,7 @@ ConclusionPage - + OK, I understand. @@ -149,41 +149,36 @@ CurveGroup - + Diff - + Expo - + Func - + Curve Curves - - - Form - - - Standard + Fixed X - Custom + Custom X @@ -258,47 +253,47 @@ - + Curve %1 - + %1 points - + Linear - + Single Expo - + Symmetrical f(x)=-f(-x) - + Symmetrical f(x)=f(-x) - + Are you sure you want to reset curve %1 ? - + Editing curve %1 - + Not enough free points in EEPROM to store the curve. @@ -306,82 +301,82 @@ CustomFunctionsPanel - + Switch - + Action - + Parameters - + Enable - + SF%1 - + ON - + Error - + Unable to find sound file %1! - + &Delete - + Delete - + &Copy - + Ctrl+C - + &Cut - + Ctrl+X - + &Paste - + Ctrl+V @@ -389,22 +384,22 @@ CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -418,98 +413,32 @@ - + GV - - - The source for the mixer - - Input name - - - Phase used by the input. - - Flight modes - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Switch - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - - - - - The curve used by the input - - - - + Source - + Line name @@ -519,50 +448,51 @@ If blank then the input is considered to be "ON" all the time. - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - - - - + Scale - + Include Trim - + No - + Yes - + Curve + + + Curve applied to the source. + + NEG + + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + POS @@ -602,22 +532,22 @@ p, li { white-space: pre-wrap; } FblPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -625,38 +555,33 @@ p, li { white-space: pre-wrap; } FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: FlightMode - - - Form - - Fade In @@ -677,26 +602,6 @@ p, li { white-space: pre-wrap; } Switch - - - trim1 - - - - - trim2 - - - - - trim4 - - - - - trim3 - - Rud @@ -727,21 +632,26 @@ p, li { white-space: pre-wrap; } GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 - + (%1) - + (default) @@ -749,17 +659,17 @@ p, li { white-space: pre-wrap; } FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -783,13 +693,12 @@ These will be relevant for all models in the same EEPROM. - + Contrast - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -799,12 +708,12 @@ p, li { white-space: pre-wrap; } - + Battery Warning - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -812,24 +721,24 @@ Acceptable values are 5v..10v - + This is the switch selectrion for turning on the backlight (if installed). - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - + sec - + Inactivity Timer @@ -844,57 +753,57 @@ Acceptable values are 5v..10v - - - - + + + + Off - + Trainer - + PPM 1 - - - - + + + + chn1 - - - - + + + + chn2 - - - - + + + + chn3 - - - - + + + + chn4 - + Mode @@ -963,7 +872,7 @@ Acceptable values are 5v..10v - + GPS Coordinates @@ -993,32 +902,32 @@ Acceptable values are 5v..10v - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC - + LCD Display Type - + Standard - + Optrex @@ -1033,22 +942,22 @@ Acceptable values are 5v..10v - + BackLight Brightness - + RotEnc Navigation - + BackLight Auto OFF after - + BackLight Switch @@ -1083,7 +992,7 @@ Acceptable values are 5v..10v - + Measurement Units @@ -1148,12 +1057,12 @@ Acceptable values are 5v..10v - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + R E T A @@ -1163,142 +1072,192 @@ Acceptable values are 5v..10v - + + Default Channel Order + + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + S3 Type - + OFF - + S-Port Mirror - + Debug - + Serial Port @@ -1323,258 +1282,218 @@ Acceptable values are 5v..10v - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - - + + Hz - + "No Sound" Warning - + Low Memory Warning - + --- - + 2s - + 3s - + 4s - + 6s - + 8s - + 10s - + 15s - + Vario pitch at max - + ms - + Vario repeat at zero - + Input - + Weight - - - - + + + + += (Sum) - - - - + + + + := (Replace) - + PPM 2 - + PPM 3 - + PPM 4 - - POT 4 - - - - - + + Negative span - - + + Mid value - - + + Positive span - - STICK 1 - - - - - STICK 2 - - - - + Current - - - + + + None - - - + + + Pot (normal) - - - + + + Multipos Switch - + S1 Type - + S2 Type - - STICK 3 - - - - - STICK 4 - - - - - POT 1 - - - - - POT 2 - - - - - POT 3 - - - - + Battery - + PPM Multiplier @@ -1603,8 +1522,8 @@ Acceptable values are 5v..10v - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1619,23 +1538,23 @@ p, li { white-space: pre-wrap; } - + Beeper Mode - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1645,18 +1564,6 @@ p, li { white-space: pre-wrap; } 4 - Extra loud. - - - Channel Order (For Templates) - - - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - - Stick Mode @@ -1706,43 +1613,43 @@ Mode 4: - + Show Splash Screen on Startup - - + + Show splash screen on startup - + Rud - + Ele - + Thr - + Ail - + Calibration - + v @@ -1783,28 +1690,23 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot Heli - - - Form - - Invert Elevator @@ -1869,22 +1771,22 @@ Are you sure ? HeliPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -1917,7 +1819,7 @@ Are you sure ? - Clear All Settings + Clear All Inputs @@ -2069,42 +1971,42 @@ Are you sure ? - + &Delete - + Delete - + &Copy - + Ctrl+C - + &Cut - + Ctrl+X - + &Paste - + Ctrl+V @@ -2115,7 +2017,7 @@ Are you sure ? - + File loaded @@ -2153,11 +2055,22 @@ Are you sure ? Executable (*.exe) + + + A new release of Companion is available, please check the OpenTX website! + + Would you like to launch the installer? + + + + Not enough memory for all the selected firmware options + + Firmware %1 does not seem to have ever been downloaded. @@ -2172,106 +2085,106 @@ Do you want to download it now ? - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - - - - - - + + + + + + Backup Models and Settings From Radio - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Restore Models and Settings To Radio - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + OpenTX Home Page: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Version %1, %3 - + Copyright @@ -2291,23 +2204,23 @@ Do you want to download it now ? - - - - - - - - + + + + + + + + Error - - - + + + Error opening file %1: %2. @@ -2322,11 +2235,6 @@ Do you want to download it now ? Display previous message again at startup ? - - - A new release of Companion is available please check the OpenTX website! - - Compilation server temporary failure, try later @@ -2386,7 +2294,7 @@ Do you want to download it now ? - + Open Models and Settings file @@ -2407,92 +2315,127 @@ Do you want to download it now ? - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - + + Warning - + Conversion failed - + Restore failed - + Backup failed - + + New + + + + + Open... + + + + + Save + + + + + Save As... + + + + + Copy Model + + + + + Paste Model + + + + Load backup from file - + Compare models - + Exit the application - + List available programmers - + Show fuses dialog - + Show the application's About box - + Set Menu Language - + + Show the list of radio profiles + + + + Write - + %2 - + Unable to find file %1! - + Error reading file %1: %2. @@ -2502,22 +2445,12 @@ Do you want to download it now ? A new version of Companion is available (version %1)<br>Would you like to download it? - - - Firmware does not longer fit in the radio, due to selected firmware options - - Compilation server requires registration, please check OpenTX web site - - - Firmware does not fit in the radio, due to selected firmware options - - Do you want to write the firmware to the radio now ? @@ -2546,606 +2479,535 @@ Do you want to download it now ? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - + Cannot check Models and Settings compatibility! Continue anyway? - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Firmware write failed - + About Companion - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge - + OpenTX Companion - FW: %1 - Profile: %2 - - New Models+Settings - - - - + Create a new Models and Settings file - - Open Models+Settings... - - - - - Save Models+Settings... - - - - - + + Save Models and Settings file - - Save Models+Settings as... - - - - + Exit - + Cut Model - + Cut current model to the clipboard - - Copy Model... - - - - + Copy current model to the clipboard - - Paste Model... - - - - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + System language - + Use system language in menus - + Czech - + Use Czech in menus - + German - + Use German in menus - + English - + Use English in menus - + Finnish - + Use Finnish in menus - + French - + Use French in menus - + Italian - + Use Italian in menus - - Hebrew - - - - - Use Hebrew in menus - - - - + Polish - + Use Polish in menus - - Portuguese - - - - - Use Portuguese in menus - - - - + Swedish - + Use Swedish in menus - - Russian - - - - - Use Russian in menus - - - - - Dutch - - - - - Use Dutch in menus - - - - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Add Radio Profile - + Create a new Radio Setting Profile - + Manuals and other Documents - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - - + + Recent Files + + + + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 - - + + File - - + + Edit - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - - Show a selection list of radio profiles - - - - + Ready @@ -3153,162 +3015,162 @@ Write anyway ? MdiChild - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error - + Editing model %1: - - + + Unable to find file %1! - - + + Error reading file %1: %2. - + free bytes - - - - + + + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - - + + + + Save As - - - - + + + + Cannot write file %1: %2. - - - + + + Backup EEPROM From Radio - + Write EEPROM To Radio - + Open backup Models and Settings file - + Companion - + %1 has been modified. Do you want to save your changes? - + Backup is impossible - + The backup dir set in preferences does not exist - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Invalid binary backup File %1 - + Error writing file %1: %2. - + Cannot write temporary file! @@ -3465,51 +3327,6 @@ This determines how mixer values are added. Include DR/Expo - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Delay @@ -3549,32 +3366,27 @@ p, li { white-space: pre-wrap; } - - DEST -> X%1 + + DEST -> CH%1 - - DEST -> CH%1%2 - - - - + Rud - + Ele - + Thr - + Ail @@ -3582,161 +3394,171 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up - - + + Ctrl+Up - - + + Move Down - - + + Ctrl+Down - + Clear Mixes - + Weight(%1) - + Switch(%1) - + No Trim - + No DR/Expo - + Offset(%1) - + Delay(u%1:d%2) - + Slow(u%1:d%2) - + Warn(%1) - + Not enough available mixers! - + Delete Selected Mixes? - + &Add - + Ctrl+A - + &Edit - + Enter - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete - + Delete - + &Copy - + Ctrl+C - - &Cut - - - - + Ctrl+X - + + C&ut + + + + &Paste - + Ctrl+V - + Du&plicate - + Ctrl+U - + Clear Mixes? - + Really clear all the mixes? @@ -3804,12 +3626,12 @@ p, li { white-space: pre-wrap; } - + Clear Curves? - + Really clear all the curves? @@ -3817,27 +3639,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -3975,118 +3797,107 @@ p, li { white-space: pre-wrap; } Module - - Form - - - - + Failsafe Mode - + Start - + PPM delay - - usec - - - - + Negative - + Positive - + Master - + Slave - + Polarity - + Trainer Mode - - mSec - - - - + PPM Frame Length - - Label + + CH - - - ch + + us - + + ms + + + + Channels - + Hold - + Custom - + No Pulses - + Receiver - + Failsafe Positions - + Protocol - + Receiver No. @@ -4117,22 +3928,22 @@ p, li { white-space: pre-wrap; } MultirotorPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4140,799 +3951,805 @@ p, li { white-space: pre-wrap; } QObject - - + + FM%1 FP%1 - + Input%1 - + Polish + - X%1 - - - - CH%1 - + No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim - + Play Sound - + Start Logs - + Play Haptic - - - + + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - + No repeat - + %1 sec - + Reset - + S3 - + RSSI Tx - + RSSI Rx - + Rx Batt - + A3 - + A4 - + Cells - - ASpd - - - - + dTE - + + Hdg + + + + + AirSpeed + + + + A3- - + A4- - + Speed+ - + Dist+ - + + AirSpeed+ + + + + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 - + S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + RudTrim Left - + RudTrim Right - + EleTrim Down - + EleTrim Up - + ThrTrim Down - + ThrTrim Up - + AilTrim Left - + AilTrim Right - + ABS - + THs - + TH% - + THt - + ??? - + a>x - + a<x - + |a|>x - + |a|<x - + AND - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer - + Sticky - + Unknown - + STAY(%1, [%2:%3]) - + STICKY(%1, %2) - + TIMER(%1, %2) - + Set Timer %1 - + Vario - + Play Track - + Play Both - + Play Value - + Volume - + Backlight - + Background Music - + Background Music Pause - + Delay %1 sec - + Edge - + Duration %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> - - + + Value - - + + Decr: - - + + Incr: @@ -4947,441 +4764,441 @@ p, li { white-space: pre-wrap; } - + Adjust GV%1 - + Rotary Encoder - + Value - + Source - + GVAR - + Increment - + Finnish - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - - + + None - + Imperial - + Metric - + Extra Fine - + Fine - + Medium - + Coarse - + Exponential - + Count Up - + Count Down - + %1:%2, - + : %1 Channels, %2usec Delay - + Flight modes(%1) - + Flight mode(%1) - + Rudder - + Elevator - + Throttle - + Aileron - - - - + + + + Timer1 - - - - + + + + Timer2 - - - + + + All - - - + + + Telemetry - + Own value - + Keys - + Sticks - + Keys + Sticks - - + + -GV%1 - - - - + + + + ---- - - + + P1 - - + + P2 - - + + P3 - + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - - - + + + REa - - - + + + REb - + S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + Diff(%1) - + Expo(%1) - + Function(%1) - + Curve(%1) - + !Curve(%1) - + Alt - + Rpm - + Fuel - + Speed - + Dist - + GPS Alt - + Cell - + A1 - + A2 - + T1 - + T2 @@ -5392,169 +5209,148 @@ p, li { white-space: pre-wrap; } - - Simultaneous usage of expo and curves is no longer supported in open9x - - - - + TrmR - + TrmE - + TrmT - + TrmA - + S1 - + S2 - + LS - + RS - + Batt - + SWR - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - - HDG - - - - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time - + CYC%1 - - CH%1%2 - CH%1 - - - - - X%1 - - - - - - + + + GV%1 @@ -5565,85 +5361,93 @@ p, li { white-space: pre-wrap; } - - + + ON - - - + + + OFF + - Support for frsky telemetry mod + - Support for jeti telemetry mod + - Support for receiving ardupilot data + - Support for receiving NMEA data - + Support for telemetry easy board + - Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled + + + + + + + Enable heli menu and cyclic mix support + + + + + + + + + + Enable TEMPLATES menu + + - - Enable heli menu and cyclic mix support - - - - - - - - - - Enable TEMPLATES menu + No splash screen @@ -5651,7 +5455,17 @@ p, li { white-space: pre-wrap; } - No splash screen + + + Disable curves menus + + + + + + + + Support for radio modified with regular speaker @@ -5660,8 +5474,7 @@ p, li { white-space: pre-wrap; } - - Disable curves menus + Used if you have modified your radio with voice mode @@ -5669,139 +5482,154 @@ p, li { white-space: pre-wrap; } - Support for radio modified with regular speaker - - - - - - - - - Used if you have modified your radio with voice mode - - - - - - - Used if you have modified your radio with haptic mode - - - - - - - - - - Use alternative SQT5 font - - - - - - - - Enable the throttle trace in Statistics - - - - - EEprom write progress bar - - - - - - No Winged Shadow How High support - - - - - - No vario support - - - - - - No GPS support - - - - - - No gauges in the custom telemetry screen - - - - - Allow compensating for offset errors in FrSky FAS current sensors - - - - - OpenTX for FrSky Taranis - - - - - OpenTX for FrSky Taranis Rev4a - - - - - Support of FrSky PXX protocol - - - - - OpenTX for Sky9x board / 9X - - - - - Use FrSky Taranis sticks in a 9X/9XR - - - - - - Disable HELI menu and cyclic mix support - - - - - - Disable TEMPLATES menu - - - - - - Disable Global variables - - - + + + + + Channel values displayed in us + + + + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + + + + + + + + + Use alternative SQT5 font + + + + + + + + Enable the throttle trace in Statistics + + + + + EEprom write progress bar + + + + + + No Winged Shadow How High support + + + + + + No vario support + + + + + + No GPS support + + + + + + No gauges in the custom telemetry screen + + + + + Allow compensating for offset errors in FrSky FAS current sensors + + + + + OpenTX for FrSky Taranis + + + + + OpenTX for FrSky Taranis Rev4a + + + + + Support of FrSky PXX protocol + + + + + OpenTX for Sky9x board / 9X + + + + + Use FrSky Taranis sticks in a 9X/9XR + + + + + + Disable HELI menu and cyclic mix support + + + + + + Disable TEMPLATES menu + + + + + + Disable Global variables + + + + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits @@ -5812,27 +5640,15 @@ p, li { white-space: pre-wrap; } - - - PPM values displayed in us - - - - - - - - - Symetrical Limits - - - - - + + + + + Pots use in menus navigation @@ -5843,52 +5659,52 @@ p, li { white-space: pre-wrap; } - + OpenTX for 9X board - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - In model setup menus automatically set source by moving some of them + Enable resetting values by pressing up and down at the same time - - + + - In model setup menus automatically set switch by moving some of them + No graphical check boxes and sliders + + - Enable resetting values by pressing up and down at the same time + Battery graph @@ -5898,99 +5714,79 @@ p, li { white-space: pre-wrap; } - No graphical check boxes and sliders - - - - - - - - - - Battery graph - - - - - - - - - Don't use bold font for highlighting active items - + OpenTX for M128 / 9X board - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units - + Bluetooth interface - - - - - - + + + + + + Global variables - + OpenTX for 9XR - + OpenTX for 9XR with M128 chip - + OpenTX for Gruvin9x board / 9X - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + Enable HELI menu and cyclic mix support - + Warning @@ -6000,7 +5796,7 @@ p, li { white-space: pre-wrap; } - + Simulator for this firmware is not yet available @@ -6010,38 +5806,29 @@ p, li { white-space: pre-wrap; } - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels - - - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. - -We are really appreciative for that! - -The OpenTX/Companion Team. - - Trim disabled @@ -6077,42 +5864,39 @@ The OpenTX/Companion Team. Profile image + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage - + No - + Yes - + <br>Rudder Channel: Setup - - - Form - - - - - Timer2 - - - - - Timer1 - - Center beep @@ -6163,6 +5947,16 @@ The OpenTX/Companion Team. Display Checklist + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -6235,7 +6029,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimpleTailPage - + Elevator Channel: @@ -6243,28 +6037,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimulatorDialog - - + + Warning - + Joystick enabled but not configured correctly - + Cannot open joystick, joystick disabled - + Simulating Radio (%1) - + Firmware %1 error: %2 @@ -6277,124 +6071,49 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - - - + + + + Right Double Click to Reset - - THR - - - - - RUD - - - - - ELE - - - - - AIL - - - - - + + Hold X - - + + Fix X - - + + Fix Y - - + + Hold Y - - - - - TextLabel - - - - - TRN - - - - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - + BEEP - - P1 - - - - - - - 0 % - - - - - P2 - - - - - P3 - - - - + 9x Simulator - + Outputs @@ -6407,125 +6126,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - + + Hold Y - - + + Fix Y - - + + Fix X - - + + Hold X - - - SD - - - - - - SC - - - - - - - + + + + Right Double Click to Reset - - - S2 - - - - - - SG - - - - - - RS - - - - - - SH - - - - - - - - TextLabel - - - - - - S1 - - - - - - SB - - - - - - SA - - - - - - SE - - - - - - - SF - - - - - - LS - - - - + Taranis Simulator - + Outputs @@ -6541,12 +6179,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: @@ -6554,33 +6192,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: Telemetry - - - Form - - @@ -6636,6 +6269,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Alarm 2 + + + CELS + + Serial Protocol @@ -6687,11 +6325,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi FrSky Sensor Hub - - - CEL - - Units @@ -6800,11 +6433,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryAnalog - - - Form - - Unit @@ -6929,11 +6557,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryCustomScreen - - - Form - - Custom Screen Type @@ -7001,33 +6624,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: Timer - - - Form - - - - - mm:ss - - Countdown @@ -7043,11 +6656,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Persistent - - - (00:00:00) - - TimerPanel @@ -7070,12 +6678,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -7083,12 +6691,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -7286,12 +6894,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -7304,11 +6917,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -7359,17 +6967,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Model Name: - + Model Type: - + Channel %1: @@ -7377,20 +6985,20 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi appPreferencesDialog - + Simulator capture folder - + Remember simulator switch values - - - - + + + + Open Folder @@ -7448,354 +7056,347 @@ Mode 4: - - Channel order - -This is used by the templated to determine which channel goes to what number output. - - - - + R E T A - + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + Default Stick Mode - + Profile Name - + Splash Screen - - Channel Order - - - - + SD Structure path - + Remove Profile - + Select Image - + Radio Type - + Clear Image - + 9X - + 9X with m128 - + 9XR - + 9XR with m128 - + Gruvin9x Board - + Sky9x Board - + Taranis - + General Settings - + Append version number to FW file name - + Offer to write FW to Tx after download - - General Settings Label - - - - + Application Settings - + Only show user splash images - + Show user and companion splash images - + User Splash Screens - + Use model wizard when creating a new model - + Simulator Settings - + Blue - + Green - + Red - + Orange - + Yellow - + Splash Screen Library - + Files to keep - + Simulator BackLight - + Automatic Backup Folder - + Only capture to clipboard - + Joystick - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + + Default Channel Order + + + + Find Executable - + Google Earth Executable - + Calibrate - + Enable - + Show splash screen when Companion starts - + Automatic check for OpenTX firmware updates - + Automatic check for Companion updates - + Enable automatic backup before writing firmware @@ -8399,11 +8000,6 @@ m2560 for v4.1 boards There is no start screen image in the firmware file. - - - The profile image %1 does not contain an image. - - Images (%1) @@ -8464,6 +8060,11 @@ m2560 for v4.1 boards Error + + + Profile image %1 is invalid. + + Cannot save customized firmware @@ -8740,6 +8341,11 @@ m2560 for v4.1 boards DISABLED + + + 5 Point Curves + + @@ -8780,11 +8386,6 @@ m2560 for v4.1 boards Curves - - - 5 Points Curves - - @@ -8793,11 +8394,6 @@ m2560 for v4.1 boards pt %1 - - - 9 Points Curves - - Special Functions @@ -8936,6 +8532,11 @@ m2560 for v4.1 boards Flight mode + + + 9 Point Curves + + @@ -8996,11 +8597,6 @@ m2560 for v4.1 boards contributorsDialog - - - Dialog - - People who have contributed to this project @@ -9123,7 +8719,7 @@ m2560 for v4.1 boards - Cannot load the profile image %1. + Cannot load profile image %1. @@ -9284,52 +8880,6 @@ p, li { white-space: pre-wrap; } Downloads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Set language of voice. @@ -9366,11 +8916,6 @@ May be different from firmware language Download Voice - - - FwInfo - - Download FW @@ -9637,22 +9182,27 @@ Press cancel to abort joystick calibration - + Zoom - + X - + Y - + + Reset + + + + Fly sessions @@ -9667,28 +9217,28 @@ Press cancel to abort joystick calibration - + Error - + Cannot write file %1: %2. - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -10027,52 +9577,6 @@ May be different from firmware language Open Folder - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Check for updates @@ -10202,11 +9706,6 @@ May be different from firmware language printDialog - - - Dialog - - Close diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index f853f2e4a..169bf4b77 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -4,27 +4,27 @@ AileronsPage - + No No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -60,22 +60,22 @@ BankPage - + One - + Two - + <br>First Elevon Channel: - + Second Elevon Channel: @@ -141,7 +141,7 @@ ConclusionPage - + OK, I understand. @@ -149,22 +149,22 @@ CurveGroup - + Diff Diff - + Expo - + Func - + Curve Curva @@ -172,19 +172,18 @@ Curves - - Form - + Custom + Personalizzato - Standard + Fixed X - Custom - Personalizzato + Custom X + @@ -258,47 +257,47 @@ Nome curva - + Curve %1 - + %1 points - + Linear Lineare - + Single Expo Esponenziale singola - + Symmetrical f(x)=-f(-x) Expo simmetrica f(x)=-f(-x) - + Symmetrical f(x)=f(-x) Expo simmetrica f(x)=f(-x) - + Are you sure you want to reset curve %1 ? - + Editing curve %1 Modifica curva %1 - + Not enough free points in EEPROM to store the curve. @@ -306,82 +305,82 @@ CustomFunctionsPanel - + Switch - + Action - + Parameters - + Enable Abilita - + SF%1 - + ON Acceso - + Error Errore - + Unable to find sound file %1! Impossibile trovare il file sonoro %1! - + &Delete &Elimina - + Delete Elimina - + &Copy &Copia - + Ctrl+C Ctrl+C - + &Cut &Taglia - + Ctrl+X Ctrl+X - + &Paste &Incolla - + Ctrl+V Ctrl+V @@ -389,22 +388,22 @@ CyclicPage - + 90 90 - + 120 120 - + 120x 120x - + 140 140 @@ -417,9 +416,8 @@ Peso - 0 - 0 + 0 @@ -427,9 +425,8 @@ Fasi di volo - The source for the mixer - Sorgente da miscelare + Sorgente da miscelare @@ -438,54 +435,41 @@ - + GV VG - - Phase used by the input. - - - - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 @@ -493,17 +477,12 @@ Interruttore - - The curve used by the input - - - - + Source Sorgente - + Line name @@ -513,7 +492,6 @@ Lato dello stick - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -525,7 +503,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> @@ -538,41 +516,51 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Se il rallentamento non è zero allora la velocità verrà impostata al valore selezionato -&gt; il valore indica il numero di secondi per passare da -100 a 100.</p></body></html> - + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + + + Scale Campo di misura - + Include Trim Include i Trim - + No No - + Yes Si - + Curve Curva + + + Curve applied to the source. + + NEG NEG - - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - - POS @@ -612,22 +600,22 @@ If blank then the input is considered to be "ON" all the time. FblPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -635,38 +623,33 @@ If blank then the input is considered to be "ON" all the time. FlapsPage - + No No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: FlightMode - - - Form - - Fade In @@ -688,24 +671,20 @@ If blank then the input is considered to be "ON" all the time. - trim1 - trim1 + trim1 - trim2 - trim2 + trim2 - trim4 - trim4 + trim4 - trim3 - trim3 + trim3 @@ -737,21 +716,26 @@ If blank then the input is considered to be "ON" all the time.GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 - + (%1) - + (default) @@ -759,17 +743,17 @@ If blank then the input is considered to be "ON" all the time. FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -794,13 +778,12 @@ Queste impostazioni sono comuni a tutti i modelli nella stessa EEPROM.Impostazioni - + Contrast Contrasto - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -830,12 +813,12 @@ p, li { white-space: pre-wrap; } Tonalità suono (modifica HW) - + Battery Warning Allarme batteria scarica - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -846,24 +829,24 @@ Al di sotto di questo valore verrà generato un seganle di allarme. Valori accettabili da 5v a 10v - + This is the switch selectrion for turning on the backlight (if installed). Questo è l'interruttore selezionato per l'accensione della retroilluminazione (se installata). - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Se questo valore non è 0, ogni pressione di tasto provocherà l'accensione della luce e questa verrà spenta dopo il numero di secondi specificato. - + sec sec - + Inactivity Timer Temporizzatore di inattività @@ -878,19 +861,19 @@ Valori accettabili da 5v a 10v min - + Show Splash Screen on Startup Mostra schermata all'avvio - - + + Show splash screen on startup Mostra schermata all'avvio - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -915,16 +898,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suoni disabilitati - avvisa se i suoni sono disabilitati (0)</p></body></html> - Channel Order (For Templates) - Ordine uscita canali (Per modelli) + Ordine uscita canali (Per modelli) - Channel order This is used by the templated to determine which channel goes to what number output. - Ordinamento canali + Ordinamento canali Utilizzato dai Modelli per stabilire quale uscita viene assegnata ai canali. @@ -995,23 +976,23 @@ Mode 4: Modo 4 (ALE MOT ELE DIR) - + Beeper Mode Modalità suono beeper - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1052,57 +1033,57 @@ Mode 4: Lungo - - - - + + + + Off NO - + Trainer Maestro/Allievo - + PPM 1 PPM 1 - - - - + + + + chn1 chn1 - - - - + + + + chn2 chn2 - - - - + + + + chn3 chn3 - - - - + + + + chn4 chn4 - + Mode Modo @@ -1151,22 +1132,22 @@ Mode 4: Solo allarmi - + Timeshift from UTC Differenza in ore da GMT - + GPS Coordinates Coordinate GPS - + hh° (N/S) mm' ss''.dd - + NMEA @@ -1176,7 +1157,7 @@ Mode 4: Lunghezza vibrazione - + LCD Display Type Tipo display LCD @@ -1206,12 +1187,12 @@ Mode 4: Altoparlante e Voce - + Standard - + Optrex @@ -1226,22 +1207,22 @@ Mode 4: Intensità vibrazione (mod. HW) - + BackLight Brightness Luminosità retroilluminazione - + RotEnc Navigation Navigazione con Encoder - + BackLight Auto OFF after Auto spegnimento luce dopo - + BackLight Switch Interruttore retroilluminazione @@ -1276,7 +1257,7 @@ Mode 4: Imperiale - + Measurement Units Unità di misura @@ -1356,12 +1337,12 @@ Mode 4: - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Se abilitate la modalità FAI, il variometro, le funzioni di lettura della telemetria e gli schermi telemetrici verrano disabilitati. Questa funzione non è disattivabile dalla radio. - + R E T A @@ -1371,142 +1352,192 @@ Mode 4: - + + Default Channel Order + Ordine canali predefinito + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + S3 Type - + OFF Spento - + S-Port Mirror - + Debug - + Serial Port @@ -1516,288 +1547,280 @@ Mode 4: Sblocco modalità sola lettura - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - - + + Hz - + "No Sound" Warning - + Low Memory Warning - + --- --- - + 2s 2s - + 3s 3s - + 4s 4s - + 6s 6s - + 8s 8s - + 10s 10s - + 15s 15s - + Vario pitch at max - + ms - + Vario repeat at zero - + Input Ingresso - + Weight Peso - - - - + + + + += (Sum) += (Somma) - - - - + + + + := (Replace) := (Sostituisci) - + PPM 2 PPM 2 - + PPM 3 PPM 3 - + PPM 4 PPM 4 - + Calibration Calibrazione - STICK 1 - STICK 1 + STICK 1 - STICK 2 - STICK 2 + STICK 2 - - - + + + None Nessuno - - - + + + Pot (normal) - - - + + + Multipos Switch - + S1 Type - + S2 Type - - + + Mid value Valore intermedio - + Rud Direzionale - + Ele Elevatore - + Thr Motore - + Ail Alettoni - POT 4 - POT 4 + POT 4 + + + STICK 3 + STICK 3 - STICK 3 - STICK 3 - - - - + Negative span Corsa negativa - - + + Positive span Corsa positiva - STICK 4 - STICK 4 + STICK 4 - POT 1 - POT 1 + POT 1 - POT 2 - POT 2 + POT 2 - POT 3 - POT 3 + POT 3 - + Battery Batteria - + v v - + PPM Multiplier Moltiplicatore PPM - + Current Corrente @@ -1841,28 +1864,23 @@ Siete sicuri ? GyroPage - + No No - + Yes, controled by a switch - + Yes, controlled by a pot Heli - - - Form - - Invert Elevator @@ -1927,22 +1945,22 @@ Siete sicuri ? HeliPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -1975,7 +1993,7 @@ Siete sicuri ? - Clear All Settings + Clear All Inputs @@ -2127,42 +2145,42 @@ Siete sicuri ? - + &Delete &Elimina - + Delete Elimina - + &Copy &Copia - + Ctrl+C Ctrl+C - + &Cut &Taglia - + Ctrl+X Ctrl+X - + &Paste &Incolla - + Ctrl+V Ctrl+V @@ -2173,7 +2191,7 @@ Siete sicuri ? - + File loaded Documento caricato @@ -2229,24 +2247,14 @@ Siete sicuri ? - - - + + + Error opening file %1: %2. Errore durante l'apertura del file %1: %2. - - - Firmware does not longer fit in the radio, due to selected firmware options - - - - - Firmware does not fit in the radio, due to selected firmware options - - Compilation server termporary failure, try later @@ -2302,14 +2310,14 @@ Volete scaricarla ora ? - - - - - - - - + + + + + + + + Error Errore @@ -2354,7 +2362,7 @@ Volete scaricarla ora ? - + Open Models and Settings file @@ -2376,37 +2384,37 @@ Volete scaricarla ora ? %2. - - - + + + Backup is impossible Impossibile effettuare il Backup - - - + + + The backup dir set in preferences does not exist La directory per i backup impostata in preferenze non esiste - - + + Warning Avviso - + Conversion failed Conversione fallita - + Restore failed Ripristino fallito - + Backup failed Salvataggio fallito @@ -2415,6 +2423,17 @@ Volete scaricarla ora ? The selected language will be used the next time you start Companion. + + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + @@ -2433,7 +2452,7 @@ Volete scaricarla ora ? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -2442,669 +2461,637 @@ non è stato riconosciuto come un file di impostazioni valido. Scriverlo ugualmente ? - + Cannot check Models and Settings compatibility! Continue anyway? Non posso controllare la compatibilità delle impostazioni! Continuare ugualmente ? - + Cannot convert Models and Settings for use with this firmware, original data will be used Non posso convertire le impostazioni per questo firmware, verranno usate le impostazioni originali - + Firmware write failed Scrittura del firmware fallita - + Copyright Copyright - + + New + + + + + Open... + + + + + Save + + + + + Save As... + + + + + Copy Model + + + + + Paste Model + + + + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal Normale - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge - + OpenTX Companion - FW: %1 - Profile: %2 - - New Models+Settings - - - - + Create a new Models and Settings file - - Open Models+Settings... - - - - - Save Models+Settings... - - - - - + + Save Models and Settings file - - Save Models+Settings as... - - - - + Exit - + Cut Model - + Cut current model to the clipboard - - Copy Model... - - - - + Copy current model to the clipboard - - Paste Model... - - - - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + System language - + Use system language in menus - + Czech Ceco - + Use Czech in menus - + German Tedesco - + Use German in menus - + English Inglese - + Use English in menus - + Finnish - + Use Finnish in menus - + French Francese - + Use French in menus - + Italian Italiano - + Use Italian in menus - - Hebrew - - - - - Use Hebrew in menus - - - - + Polish - + Use Polish in menus - Portuguese - Portoghese + Portoghese - - Use Portuguese in menus - - - - + Swedish Svedese - + Use Swedish in menus - - Russian - - - - - Use Russian in menus - - - - - Dutch - - - - - Use Dutch in menus - - - - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Add Radio Profile - + Create a new Radio Setting Profile - + Manuals and other Documents - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - - + + Recent Files + + + + Recent Models+Settings - + Set Menu Language - + Load backup from file Carica backup da file - - A new release of Companion is available please check the OpenTX website! - - - - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - - - - - - + + + + + + Backup Models and Settings From Radio - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Restore Models and Settings To Radio - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + OpenTX Home Page: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Version %1, %3 - + Compare models Confronta due modelli - + Exit the application Esci dall'applicazione - + + Show the list of radio profiles + + + + Write Scrivi - - + + Invalid Models and Settings File %1 File impostazioni non valido %1 - + Invalid binary Models and Settings File %1 File binario delle impostazioni non valido %1 @@ -3120,96 +3107,91 @@ Scriverlo ugualmente ? - + About Companion - + List available programmers Lista dei programmatori supportati - + Show fuses dialog Mostra finestra di dialogo Fuses - + Show the application's About box Mostra la finestra Informazioni Su - + Set Icon Theme - + Set Icon Size - - + + File Documento - - + + Edit Modifica - + Settings - + Read/Write - - + + Help Aiuto - - + + Radio Profile - + Show recent Models+Settings documents - - Show a selection list of radio profiles - - - - + Ready Pronto - + %2 - + Unable to find file %1! Impossibile trovare il file %1! - + Error reading file %1: %2. Error durante la lettura del file %1: @@ -3219,167 +3201,167 @@ Scriverlo ugualmente ? MdiChild - + free bytes byte liberi - + Companion - + Editing model %1: Modifica modello %1: - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Errore - - + + Unable to find file %1! Impossibile trovare il file %1! - - - - + + + + Error opening file %1: %2. Errore durante l'apertura del file %1: %2. - - + + Invalid EEPROM File %1 File impostazioni non valido %1 - - + + Error reading file %1: %2. Error durante la lettura del file %1: %2. - + Invalid binary EEPROM File %1 File binario delle impostazioni non valido %1 - - - - + + + + Save As Salva Come - - - - + + + + Cannot write file %1: %2. Non posso scrivere il file %1: %2. - + Error writing file %1: %2. Errore durante la scrittura del file %1: %2. - + Backup is impossible Impossibile effettuare il Backup - + The backup dir set in preferences does not exist La directory per i backup impostata in preferenze non esiste - - - + + + Backup EEPROM From Radio - + Write EEPROM To Radio - + Open backup Models and Settings file - + Cannot check eeprom compatibility! Continue anyway? Non posso controllare la compatibilità della eEprom! Continuare ugualmente ? - - + + Warning Avviso - + Firmware in radio is of a different family of eeprom written, check file and preferences! Il firmware nella radio è di una famiglia differente\n rispetto a quello della eEprom che si sta scrivendo.\n Controllare la eeprom e le preferenze! - + Firmware in flash is outdated, please upgrade! Il firmware nella radio è obsoleto, pianificate un aggiornamento! - + Invalid binary backup File %1 File di backup binario non valido %1 - + %1 has been modified. Do you want to save your changes? %1 è stato modificato. Salvare le modifiche ? - + Cannot write temporary file! Errore durante la scittura del file temporaneo! @@ -3538,49 +3520,40 @@ Determina come il valore viene aggiunto alla miscelazione. Include DR/Espo - 0 - 0 + 0 - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 @@ -3636,32 +3609,31 @@ p, li { white-space: pre-wrap; } Giù - - DEST -> X%1 - - - - DEST -> CH%1%2 - DEST -> CH%1%2 + DEST -> CH%1%2 - + + DEST -> CH%1 + DEST -> CH%1 + + + Rud - + Ele - + Thr - + Ail @@ -3669,161 +3641,175 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up Muovi in Su - - + + Ctrl+Up Ctrl+Up - - + + Move Down Muovi in Giù - - + + Ctrl+Down Ctrl+Down - + Clear Mixes Cancella Miscelazioni - + Weight(%1) - + Switch(%1) - + No Trim No Trim - + No DR/Expo No DR/Expo - + Offset(%1) - + Delay(u%1:d%2) Ritarda(s%1:g%2) - + Slow(u%1:d%2) Rallenta(s%1:g%2) - + Warn(%1) Avviso(%1) - + Not enough available mixers! Non ci sono più miscelazioni disponibili! - + Delete Selected Mixes? Cancellare le miscelazioni selezionate ? - + &Add &Aggiungi - + Ctrl+A Ctrl+A - + &Edit &Modifica - + Enter Invio - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete &Elimina - + Delete Elimina - + &Copy &Copia - + Ctrl+C Ctrl+C - &Cut - &Taglia + &Taglia - + Ctrl+X Ctrl+X - + + C&ut + + + + &Paste &Incolla - + Ctrl+V Ctrl+V - + Du&plicate Dup&lica - + Ctrl+U Ctrl+U - + Clear Mixes? Cancellare le miscelazioni ? - + Really clear all the mixes? Sicuri di voler cancellare le miscelazioni ? @@ -3891,12 +3877,12 @@ p, li { white-space: pre-wrap; } Telemetria - + Clear Curves? Cancellare le curve ? - + Really clear all the curves? Sicuri di voler cancellare le curve ? @@ -3904,27 +3890,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane - + Multirotor - + Helicopter Elicottero - + Model Name: - + Model Type: @@ -4061,118 +4047,119 @@ p, li { white-space: pre-wrap; } Module - - Form - - - - + Failsafe Mode Modalità FailSafe - + Start Inizio - + PPM delay Ritardo PPM - usec - usec + usec - + Negative Negativo - + Positive positivo - + Master Maestro - + Slave Allievo - + Polarity Polarità - + Trainer Mode Modalità maestro allievo - mSec - mSec + mSec - + PPM Frame Length Lunghezza segnale PPM - - Label + ch + ch + + + + CH - - - ch - ch + + us + - + + ms + + + + Channels Canali - + Hold Mantieni - + Custom Personalizzato - + No Pulses No impulsi - + Receiver - + Failsafe Positions - + Protocol Protocollo - + Receiver No. @@ -4203,22 +4190,22 @@ p, li { white-space: pre-wrap; } MultirotorPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4226,747 +4213,753 @@ p, li { white-space: pre-wrap; } QObject - - + + FM%1 FV %1 - + Input%1 - + Polish + - X%1 - - - - CH%1 CH%1 - + No No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim Trim Istantanei - + Play Sound - + Play Track - + Start Logs - + Play Haptic - + S3 - + RSSI Tx - + RSSI Rx - + Rx Batt - + A3 A2- {3?} - + A4 A2- {4?} - + Cells - - ASpd - - - - + dTE - + + Hdg + + + + + AirSpeed + + + + A3- A2- {3-?} - + A4- A2- {4-?} - + Speed+ - + Dist+ - + + AirSpeed+ + + + + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 - + S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + a>x - + a<x - + |a|>x - + |a|<x - + AND AND - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer - + Sticky - + Unknown - + STAY(%1, [%2:%3]) - + STICKY(%1, %2) - + TIMER(%1, %2) - + Reset - + Set Timer %1 - + Vario Variometro - + Volume - + Backlight - + Play Value - - - + + + --- --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English Inglese - + French Francese - + Italian Italiano - + German Tedesco - + Czech Ceco - + Slovak Slovacco - + Spanish Spagnolo - + Portuguese Portoghese - + Swedish Svedese - + No repeat Non ripetere - + %1 sec - + Play Both - + Background Music - + Background Music Pause - + Delay %1 sec Ritardo %1 sec - + Edge - + Duration %1 sec Durata %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Parametro inconsistente</b></font> - - - + + + All - - - + + + Telemetry - - + + Value Valore - - + + Decr: - - + + Incr: @@ -4981,214 +4974,214 @@ p, li { white-space: pre-wrap; } - + Value Valore - + Source Sorgente - + GVAR VARG - + Increment Incremento - + !Flight mode %1 !Fase di volo %1 - + Flight mode %1 Fase di volo %1 - + Own value Legato alla fase - + Flight mode %1 value Valore Fase di Volo %1 - + Keys Tasti - + Sticks Leve - + Keys + Sticks Tasti + Leve - - + + -GV%1 -VG%1 - + Adjust GV%1 - + Rotary Encoder - + Finnish - + Yellow Giallo - + Orange Arancione - + Red Rosso - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supportato) - + FrSky Sensor Hub FrSky Sensor Hub - - + + None Nessuno - + Imperial Imperiale - + Metric Sistema Metrico - + Extra Fine Extra Fine - + Fine Fine - + Medium Medio - + Coarse Ampio - + Exponential Esponenziale - + Count Up Incrementa - + Count Down Decrementa - + %1:%2, %1:%2, - + : %1 Channels, %2usec Delay : %1 Canali, %2usec Ritardo - + Flight modes(%1) - + Flight mode(%1) - + Rudder Direzionale - + Elevator Elevatore - + Throttle Motore - + Aileron Alettoni - - - + + + GV%1 VG%1 - - - - + + + + ---- ---- @@ -5199,137 +5192,137 @@ p, li { white-space: pre-wrap; } THR - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 - - - + + + REa REa - - - + + + REb REb - + Alt Alt - + Rpm - + Fuel - + Speed - + Dist - + GPS Alt - + Cell - + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - - - - + + + + Timer1 - - - - + + + + Timer2 - + A1 A1 - + A2 A2 - + T1 - + T2 @@ -5340,120 +5333,137 @@ p, li { white-space: pre-wrap; } L'uso simultaneo degli esponenziali e delle curve non è più supportato - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function OpenTX in questa piattaforma non accetta la funzione - - + + OpenTX doesn't accept this protocol OpenTX non accetta questo protocollo - + OpenTX doesn't allow this number of channels OpenTX non consente questo numero di canali - Simultaneous usage of expo and curves is no longer supported in open9x - L'uso simultaneo degli esponenziali e delle curve non è più supportato in open9x + L'uso simultaneo degli esponenziali e delle curve non è più supportato in open9x + - Support for frsky telemetry mod Supporto per la modifica per la telemetria FrSky + - Support for jeti telemetry mod Supporto per la modifica per la telemetria Jeti + - Support for receiving ardupilot data Supporto per la modifica per la ricezione dati ardupilot + - Support for receiving NMEA data Supporto per la modifica per la ricezione dati NMEA - + Support for telemetry easy board Supporto per la scheda Telemetrez + - Support for MAVLINK devices Supporto per dispositivi MAVLINK - + Rotary Encoder use in menus navigation Utilizzo dell'encoder rotativo nella navigazione dei menù - + Possibility to enable FAI MODE at field Impostazione della modalità FAI da radio - + FAI MODE always enabled Modalità FAI sempre attiva + + + + + + + Enable heli menu and cyclic mix support + Abilita supporto menù elicotteri e miscelazione ciclico + + + + + + + + + Enable TEMPLATES menu + Abilita menù dei MODELLI + - - Enable heli menu and cyclic mix support - Abilita supporto menù elicotteri e miscelazione ciclico + No splash screen + Disabilita schermata di avvio - - - Enable TEMPLATES menu - Abilita menù dei MODELLI + + + No flight modes + Disabilita supporto fasi di volo - No splash screen - Disabilita schermata di avvio + + + Disable curves menus + Disabilita il menu delle curve - - - No flight modes - Disabilita supporto fasi di volo + Support for radio modified with regular speaker + Supporto per modifica con altoparlante @@ -5461,44 +5471,42 @@ p, li { white-space: pre-wrap; } - - Disable curves menus - Disabilita il menu delle curve + Used if you have modified your radio with voice mode + Utilizzato per la gestione del modulo audio - Support for radio modified with regular speaker - Supporto per modifica con altoparlante - - - - - - - - Used if you have modified your radio with voice mode - Utilizzato per la gestione del modulo audio - - - - - - Used if you have modified your radio with haptic mode Abilita supporto vibrazione - - - - - - + + + + + + + + + Channel values displayed in us + + + In model setup menus automatically set source by moving some of them - Selezione automatica delle sorgenti nei menù tramite loro azionamento + Selezione automatica delle sorgenti nei menù tramite loro azionamento + + + + + + + + + Battery graph + Grafico della batteria @@ -5507,121 +5515,115 @@ p, li { white-space: pre-wrap; } - Battery graph - Grafico della batteria - - - - - - - - - - + + Use alternative SQT5 font Usa font alternativo SQT5 (Leggermente quadrato) - - - - + + + + Enable the throttle trace in Statistics Abilita il grafico utilizzo motore nelle statistiche - + EEprom write progress bar Barra di avanzamento durante la scrittura della eeprom - - + + No Winged Shadow How High support Disabilita supporto Winged Shadow How High - - + + No vario support Nessun Variometro - - + + No GPS support Disabilita supporto GPS - - + + No gauges in the custom telemetry screen Disabilita schermate telemetriche a barre - + Allow compensating for offset errors in FrSky FAS current sensors - + OpenTX for FrSky Taranis - + OpenTX for FrSky Taranis Rev4a - + Support of FrSky PXX protocol Supporto del protocollo PXX FrSky - + Use FrSky Taranis sticks in a 9X/9XR Use FrSky's taranis like sticks Usa stick tipo FrSky Taranis - - + + Disable HELI menu and cyclic mix support Disabilita il menù HELI e le funzioni del piatto ciclico - - + + Disable TEMPLATES menu Disabilita menù dei MODELLI - - + + Disable Global variables Disabilita variabili globali - - - - - + + + + + Support for DSM2 modules Supporto per moduli DSM2 - - - - - - + + + + + + PPM center adjustment in limits Regolazione del centro PPM nel menù limiti + + PPM values displayed in us + Valori del PPM in uSec + @@ -5629,27 +5631,15 @@ p, li { white-space: pre-wrap; } - - - PPM values displayed in us - Valori del PPM in uSec - - - - - - - - Symetrical Limits Limiti Simmetrici - - - - - + + + + + Pots use in menus navigation Utilizzo dei potenziometri per la navigazione nei menù @@ -5661,34 +5651,38 @@ p, li { white-space: pre-wrap; } la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - + OpenTX for 9X board - - + + SmartieParts 2.2 Backlight support Abilita il supporto per la scheda SmartiePart versione 2.2 - - - - - - In model setup menus automatically set switch by moving some of them - Selezione automatica degli switch nei menù tramite loro azionamento + Selezione automatica degli switch nei menù tramite loro azionamento - - - - + + + + Enable resetting values by pressing up and down at the same time Abilita l'azzeramento di un valore mediante pressione contemporanea di tasti + + + + + + + + No graphical check boxes and sliders + Disabilita grafica per caselle di spunta e cursori + @@ -5696,411 +5690,410 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - No graphical check boxes and sliders - Disabilita grafica per caselle di spunta e cursori - - - - - - - - Don't use bold font for highlighting active items Non utilizzare font in grassetto per evidenziare le voci attive - + OpenTX for M128 / 9X board - - - - + + + + EEprom write Progress bar Barra di avanzamento durante la scrittura della eeprom - - - - - + + + + + Imperial units Unità Imperiali nella telemetria - + Bluetooth interface Interfaccia bluetooth - - - - - - + + + + + + Global variables Variabili Globali - + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + OpenTX for 9XR - + OpenTX for 9XR with M128 chip - + OpenTX for Gruvin9x board / 9X - + Support for SD memory card Supporto memorie SD - + Support for DSM2 modules using ppm instead of true serial Supporto per moduli DSM2 usando il ppm invece della seriale - + OpenTX for Sky9x board / 9X - + Enable HELI menu and cyclic mix support Abilita il menù HELI e le funzioni del piatto ciclico - + TrmR - + TrmE - + TrmT - + TrmA - + S1 - + S2 - + LS - + RS - + Batt Batt - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - - HDG - - - - + VSpd - + A1- A1- - + A2- A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time Tempo - + CYC%1 - CH%1%2 - CH%1%2 + CH%1%2 - - X%1 - - - - + S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + RudTrim Left - + RudTrim Right - + EleTrim Down - + EleTrim Up - + ThrTrim Down - + ThrTrim Up - + AilTrim Left - + AilTrim Right - + ABS - + THs - + TH% - + THt - + ??? - + Diff(%1) - + Expo(%1) - + Function(%1) - + Curve(%1) - + !Curve(%1) - + SWR - - + + ON - - - + + + OFF - + Warning Avviso @@ -6110,7 +6103,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati EEPROM salvata con questi avvisi: - + Simulator for this firmware is not yet available Il simulatore per questo firmware non è ancora disponibile @@ -6119,15 +6112,6 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati th9x on this board doesn't have Rotary Encoders th9x non ha gli Encoder Rotativi - - - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. - -We are really appreciative for that! - -The OpenTX/Companion Team. - - Trim disabled @@ -6163,21 +6147,33 @@ The OpenTX/Companion Team. Profile image + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage - + No No - + Yes Si - + <br>Rudder Channel: @@ -6185,19 +6181,12 @@ The OpenTX/Companion Team. Setup - - Form - - - - Timer2 - Tempo2 + Tempo2 - Timer1 - Tempo1 + Tempo1 @@ -6249,6 +6238,16 @@ The OpenTX/Companion Team. Display Checklist + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -6324,7 +6323,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà SimpleTailPage - + Elevator Channel: @@ -6332,28 +6331,28 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà SimulatorDialog - - + + Warning Avviso - + Joystick enabled but not configured correctly Joystick abilitato ma non configurato correttamente - + Cannot open joystick, joystick disabled Non riesco ad aprire il joystick, supporto joystick disabilitato - + Simulating Radio (%1) - + Firmware %1 error: %2 Firmware %1 errore: %2 @@ -6366,124 +6365,101 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà - - - - + + + + Right Double Click to Reset Doppio click con il destro per portare a 0 - THR - THR + THR - RUD - RUD + RUD - ELE - ELE + ELE - AIL - AIL + AIL - - + + Hold X Tieni X - - + + Fix X Fissa X - - + + Fix Y Fissa Y - - + + Hold Y Tieni Y - - - - TextLabel - TextLabel + TextLabel - TRN - TRN + TRN - GEA - GEA + GEA - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - + BEEP SUONO - P1 - P1 + P1 - - - - 0 % - - - - P2 - P2 + P2 - P3 - P3 + P3 - + 9x Simulator Simulatore 9x - + Outputs Uscite @@ -6496,125 +6472,48 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà - - + + Hold Y Tieni Y - - + + Fix Y Fissa Y - - + + Fix X Fissa X - - + + Hold X Tieni X - - - SD - - - - - - SC - - - - - - - + + + + Right Double Click to Reset Doppio click con il destro per portare a 0 - - - S2 - - - - - - SG - - - - - - RS - - - - - - SH - - - - - - - TextLabel - TextLabel + TextLabel - - - S1 - - - - - - SB - - - - - - SA - - - - - - SE - - - - - - - SF - - - - - - LS - - - - + Taranis Simulator Simulatore Taranis - + Outputs Uscite @@ -6630,12 +6529,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TailPage - + Rudder Channel: - + Elevator Channel: @@ -6643,33 +6542,28 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: Telemetry - - - Form - - @@ -6725,6 +6619,11 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Alarm 2 Allarme 2 + + + CELS + + Serial Protocol @@ -6777,9 +6676,8 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà FrSky Sensor Hub - CEL - CEL + CEL @@ -6889,11 +6787,6 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TelemetryAnalog - - - Form - - Unit @@ -7018,11 +6911,6 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TelemetryCustomScreen - - - Form - - Custom Screen Type @@ -7090,17 +6978,17 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà ThrottlePage - + Yes Si - + No No - + <br>Throttle Channel: @@ -7108,14 +6996,8 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Timer - - Form - - - - mm:ss - mm:ss + mm:ss @@ -7132,11 +7014,6 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Persistent Persistente - - - (00:00:00) - - TimerPanel @@ -7159,12 +7036,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -7172,12 +7049,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -7375,12 +7252,17 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -7393,11 +7275,6 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -7448,17 +7325,17 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà WizardPrinter - + Model Name: - + Model Type: - + Channel %1: @@ -7466,20 +7343,20 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà appPreferencesDialog - + Simulator capture folder Cartella per cattura schermate - + Remember simulator switch values - - - - + + + + Open Folder Apri Cartella @@ -7555,356 +7432,355 @@ Mode 4: Modo 4 (ALE MOT ELE DIR) - Channel order This is used by the templated to determine which channel goes to what number output. - Ordinamento canali + Ordinamento canali Utilizzato dai Modelli per stabilire quale uscita viene assegnata ai canali. - + R E T A - + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + Default Stick Mode Modalità Stick - + Profile Name Descrizione - + Splash Screen - - Channel Order - - - - + SD Structure path Cartella Struttura Scheda SD - + Remove Profile - + Select Image - + Radio Type - + Clear Image - + 9X 9X - + 9X with m128 - + 9XR - + 9XR with m128 - + Gruvin9x Board - + Sky9x Board - + Taranis - + General Settings Impostazioni generali radio - + Append version number to FW file name - + Offer to write FW to Tx after download - - General Settings Label - - - - + Application Settings - + Only show user splash images - + Show user and companion splash images - + User Splash Screens - + Use model wizard when creating a new model - + Simulator Settings - + Blue Blu - + Green Verde - + Red Rosso - + Orange Arancione - + Yellow Giallo - + Splash Screen Library - + Files to keep - + Simulator BackLight - + Automatic Backup Folder Cartella per backup - + Only capture to clipboard - + Joystick Joystick - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + + Default Channel Order + Ordine canali predefinito + + + Find Executable - + Google Earth Executable - + Calibrate Calibrazione - + Enable Abilita - + Show splash screen when Companion starts - + Automatic check for OpenTX firmware updates - + Automatic check for Companion updates - + Enable automatic backup before writing firmware @@ -8461,6 +8337,11 @@ m2560 per le schede v4.1 Warning Avviso + + + Profile image %1 is invalid. + + Images (%1) @@ -8556,11 +8437,6 @@ m2560 per le schede v4.1 There is no start screen image in the firmware file. - - - The profile image %1 does not contain an image. - - Open image file to use as radio start screen @@ -8882,6 +8758,11 @@ m2560 per le schede v4.1 Weight Peso + + + 5 Point Curves + + @@ -8937,9 +8818,8 @@ m2560 per le schede v4.1 Curve - 5 Points Curves - Curve a 5 Punti + Curve a 5 Punti @@ -8950,9 +8830,8 @@ m2560 per le schede v4.1 pt %1 - 9 Points Curves - Curve a 9 Punti + Curve a 9 Punti @@ -9068,6 +8947,11 @@ m2560 per le schede v4.1 Flight mode Fase di volo + + + 9 Point Curves + + @@ -9134,9 +9018,8 @@ m2560 per le schede v4.1 contributorsDialog - Dialog - Dialogo + Dialogo @@ -9260,7 +9143,7 @@ m2560 per le schede v4.1 - Cannot load the profile image %1. + Cannot load profile image %1. @@ -9459,50 +9342,8 @@ p, li { white-space: pre-wrap; } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - CheckBox + CheckBox @@ -9541,11 +9382,6 @@ Può essere differente dalla lingua del firmware Download Voice - - - FwInfo - - Download FW @@ -9818,22 +9654,27 @@ Premere annulla per cancellare l'operazione Apri file di log - + Zoom Ingrandimento - + X - + Y - + + Reset + + + + Fly sessions Sessioni di volo @@ -9848,29 +9689,29 @@ Premere annulla per cancellare l'operazione Tempo - + Error Errore - + Cannot write file %1: %2. Non posso scrivere il file %1: %2. - + Select your log file Selezionare il file di log - + Available fields Campi disponibili - + The selected logfile contains %1 invalid lines out of %2 total lines Il file di log selezionato contiene %1 righe errate su un totale di %2 righe @@ -10083,50 +9924,8 @@ Può essere differente dalla lingua del firmware Usa solo gli appunti - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - CheckBox + CheckBox @@ -10405,9 +10204,8 @@ Può essere differente dalla lingua del firmware printDialog - Dialog - Stampa modello + Stampa modello diff --git a/companion/src/translations/companion_nl.ts b/companion/src/translations/companion_nl.ts index c3074e04d..8b6ec3e11 100644 --- a/companion/src/translations/companion_nl.ts +++ b/companion/src/translations/companion_nl.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -60,22 +60,22 @@ BankPage - + One - + Two - + <br>First Elevon Channel: - + Second Elevon Channel: @@ -141,7 +141,7 @@ ConclusionPage - + OK, I understand. @@ -149,33 +149,28 @@ CurveGroup - + Diff - + Expo - + Func - + Curve Curves - - - Form - - Curve name @@ -183,12 +178,12 @@ - Standard + Fixed X - Custom + Custom X @@ -258,47 +253,47 @@ - + Curve %1 - + %1 points - + Linear - + Single Expo - + Symmetrical f(x)=-f(-x) - + Symmetrical f(x)=f(-x) - + Are you sure you want to reset curve %1 ? - + Editing curve %1 - + Not enough free points in EEPROM to store the curve. @@ -306,82 +301,82 @@ CustomFunctionsPanel - + Switch - + Action - + Parameters - + Enable - + SF%1 - + ON - + Error - + Unable to find sound file %1! - + &Delete - + Delete - + &Copy - + Ctrl+C - + &Cut - + Ctrl+X - + &Paste - + Ctrl+V @@ -389,33 +384,28 @@ CyclicPage - + 90 - + 120 - + 120x - + 140 ExpoDialog - - - The source for the mixer - - Input name @@ -428,76 +418,20 @@ - + GV - - - Phase used by the input. - - Flight modes - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Switch - - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - - Stick Side @@ -519,57 +453,53 @@ If blank then the input is considered to be "ON" all the time. - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + + Source for the mixer. - + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + + + Scale - + Include Trim - + No - + Yes - + Curve - - The curve used by the input + + Curve applied to the source. - + Source - + Line name @@ -602,22 +532,22 @@ p, li { white-space: pre-wrap; } FblPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -625,38 +555,33 @@ p, li { white-space: pre-wrap; } FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: FlightMode - - - Form - - Fade In @@ -677,26 +602,6 @@ p, li { white-space: pre-wrap; } Switch - - - trim1 - - - - - trim2 - - - - - trim4 - - - - - trim3 - - Rud @@ -727,21 +632,26 @@ p, li { white-space: pre-wrap; } GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 - + (%1) - + (default) @@ -749,17 +659,17 @@ p, li { white-space: pre-wrap; } FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -967,17 +877,17 @@ Mode 4: - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1025,11 +935,6 @@ Mode 4: Stick Mode - - - Channel Order (For Templates) - - Metric @@ -1106,160 +1011,162 @@ Mode 4: - - Channel order - -This is used by the templated to determine which channel goes to what number output. + + Default Channel Order - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R E T A - + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + GPS Coordinates - + hh° (N/S) mm' ss''.dd - + NMEA - + Measurement Units - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1269,74 +1176,74 @@ p, li { white-space: pre-wrap; } - + Beeper Mode - + Timeshift from UTC - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - - + + Hz - + "No Sound" Warning - + Low Memory Warning - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1351,42 +1258,42 @@ p, li { white-space: pre-wrap; } - + Show Splash Screen on Startup - + Battery Warning - + Contrast - + Inactivity Timer - + Standard - + Optrex - + LCD Display Type - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -1394,355 +1301,355 @@ Acceptable values are 5v..10v - + BackLight Switch - + This is the switch selectrion for turning on the backlight (if installed). - - + + Show splash screen on startup - + --- - + 2s - + 3s - + 4s - + 6s - + 8s - + 10s - + 15s - + Vario pitch at max - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - + sec - + ms - + BackLight Brightness - + Vario repeat at zero - + BackLight Auto OFF after - + RotEnc Navigation - + Trainer - + Mode - + Input - + Weight - + Rud - - - - + + + + Off - - - - + + + + += (Sum) - - - - + + + + := (Replace) - - - - + + + + chn1 - - - - + + + + chn2 - - - - + + + + chn3 - - - - + + + + chn4 - + Ele - + Thr - + Ail - + Calibration - - POT 4 + + Pot. 4 - - POT 3 + + Pot. 3 + + + + + Pot. 2 - POT 2 - - - - - POT 1 + Pot. 1 + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + PPM 1 - STICK 3 - - - - - + Negative span - - + + Mid value - - + + Positive span - - STICK 1 - - - - - STICK 2 - - - - - STICK 4 - - - - + Battery - + v - + PPM Multiplier - + PPM 2 - + PPM 3 - + PPM 4 - + Current - - - + + + None - - - + + + Pot (normal) - - - + + + Multipos Switch - + S1 Type - + S2 Type - + S3 Type - + OFF - + S-Port Mirror - + Debug - + Serial Port @@ -1783,28 +1690,23 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot Heli - - - Form - - Invert Elevator @@ -1869,22 +1771,22 @@ Are you sure ? HeliPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -1917,7 +1819,7 @@ Are you sure ? - Clear All Settings + Clear All Inputs @@ -2069,42 +1971,42 @@ Are you sure ? - + &Delete - + Delete - + &Copy - + Ctrl+C - + &Cut - + Ctrl+X - + &Paste - + Ctrl+V @@ -2115,7 +2017,7 @@ Are you sure ? - + File loaded @@ -2167,11 +2069,6 @@ Are you sure ? New release available - - - A new release of Companion is available please check the OpenTX website! - - @@ -2189,32 +2086,27 @@ Are you sure ? - - - - - - - - + + + + + + + + Error - - - + + + Error opening file %1: %2. - - - Firmware does not longer fit in the radio, due to selected firmware options - - Compilation server temporary failure, try later @@ -2238,11 +2130,6 @@ Are you sure ? Unknown server failure, try later - - - Firmware does not fit in the radio, due to selected firmware options - - Compilation server termporary failure, try later @@ -2324,7 +2211,7 @@ Do you want to download it now ? - + Open Models and Settings file @@ -2351,801 +2238,776 @@ Do you want to download it now ? - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - - - - - + + + + + + Backup Models and Settings From Radio - + Cannot check Models and Settings compatibility! Continue anyway? - - + + Warning - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Conversion failed - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore Models and Settings To Radio - + Restore failed - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Firmware write failed - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Backup failed - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + OpenTX Home Page: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Version %1, %3 - + Copyright - + About Companion - + OpenTX Companion - FW: %1 - Profile: %2 - - New Models+Settings + + Show the list of radio profiles - + Create a new Models and Settings file - - Open Models+Settings... - - - - - Save Models+Settings... - - - - - + + Save Models and Settings file - - Save Models+Settings as... - - - - + Exit - + Exit the application - + Cut Model - + Cut current model to the clipboard - - Copy Model... - - - - + Copy current model to the clipboard - - Paste Model... - - - - + Paste model from clipboard - + + Paste Model + + + + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + A monochrome black icon theme - + MonoWhite - + A monochrome white icon theme - + MonoBlue - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Normal - + Use normal size toolbar icons - + Big - + Use big toolbar icons - + Huge - + Use huge toolbar icons - + System language - + Use system language in menus - + Czech - + Use Czech in menus - + German - + Use German in menus - + English - + Use English in menus - + Finnish - + Use Finnish in menus - + French - + Use French in menus - + Italian - + Use Italian in menus - - Hebrew - - - - - Use Hebrew in menus - - - - + Polish - + Use Polish in menus - - Portuguese - - - - - Use Portuguese in menus - - - - + Swedish - + Use Swedish in menus - - Russian - - - - - Use Russian in menus - - - - - Dutch - - - - - Use Dutch in menus - - - - + About... - + Show the application's About box - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + Load backup from file - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Compare models - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + List available programmers - + Fuses... - + Show fuses dialog - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Add Radio Profile - + Create a new Radio Setting Profile - + Manuals and other Documents - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - - + + Recent Files + + + + Recent Models+Settings - + Set Menu Language - - Set Icon Theme + + A new release of Companion is available, please check the OpenTX website! - - Set Icon Size + + + Not enough memory for all the selected firmware options - - - File + + New + + + + + Open... + + + + + Save + + + + + Save As... + + + + + Copy Model - + Set Icon Theme + + + + + Set Icon Size + + + + + + File + + + + + Edit - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - - Show a selection list of radio profiles - - - - + Write - + Ready - + %2 - + Unable to find file %1! - - + + Invalid Models and Settings File %1 - + Error reading file %1: %2. - + Invalid binary Models and Settings File %1 @@ -3153,162 +3015,162 @@ Write anyway ? MdiChild - + free bytes - + Editing model %1: - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error - - + + Unable to find file %1! - - - - + + + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - - + + Error reading file %1: %2. - + Invalid binary EEPROM File %1 - - - - + + + + Save As - - - - + + + + Cannot write file %1: %2. - + Error writing file %1: %2. - + Companion - + %1 has been modified. Do you want to save your changes? - + Backup is impossible - + The backup dir set in preferences does not exist - + Cannot write temporary file! - - - + + + Backup EEPROM From Radio - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Write EEPROM To Radio - + Open backup Models and Settings file - + Invalid binary backup File %1 @@ -3373,51 +3235,6 @@ p, li { white-space: pre-wrap; } Weight - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Name @@ -3547,32 +3364,27 @@ If blank then the mix is considered to be "ON" all the time. - - DEST -> X%1 + + DEST -> CH%1 - - DEST -> CH%1%2 - - - - + Rud - + Ele - + Thr - + Ail @@ -3580,161 +3392,171 @@ If blank then the mix is considered to be "ON" all the time. MixesPanel - - + + Move Up - - + + Ctrl+Up - - + + Move Down - - + + Ctrl+Down - + Clear Mixes - + Weight(%1) - + Switch(%1) - + No Trim - + No DR/Expo - + Offset(%1) - + Delay(u%1:d%2) - + Slow(u%1:d%2) - + Warn(%1) - + Not enough available mixers! - + Delete Selected Mixes? - + &Add - + Ctrl+A - + &Edit - + Enter - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete - + Delete - + &Copy - + Ctrl+C - - &Cut - - - - + Ctrl+X - + + C&ut + + + + &Paste - + Ctrl+V - + Du&plicate - + Ctrl+U - + Clear Mixes? - + Really clear all the mixes? @@ -3752,12 +3574,12 @@ If blank then the mix is considered to be "ON" all the time. - + Clear Curves? - + Really clear all the curves? @@ -3815,27 +3637,27 @@ If blank then the mix is considered to be "ON" all the time. ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -3972,118 +3794,107 @@ If blank then the mix is considered to be "ON" all the time. Module - - Form - - - - - Label - - - - - - ch - - - - + Failsafe Mode - + Start - + PPM delay - - usec - - - - + Negative - + Positive - + Master - + Slave - + Polarity - + Trainer Mode - - mSec + + CH - + + us + + + + + ms + + + + PPM Frame Length - + Channels - + Hold - + Custom - + No Pulses - + Receiver - + Failsafe Positions - + Protocol - + Receiver No. @@ -4114,22 +3925,22 @@ If blank then the mix is considered to be "ON" all the time. MultirotorPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4152,1098 +3963,1093 @@ If blank then the mix is considered to be "ON" all the time. - - + + -GV%1 - - - + + + GV%1 - - + + Rud - - + + Ele - - + + Thr - - + + Ail - - + + P1 - - + + P2 - - + + P3 - + S1 - + S2 - + S3 - + LS - + RS - - - + + + REa - - - + + + REb - + TrmR - + TrmE - + TrmT - + TrmA - + Batt - - - - + + + + Timer1 - - - - + + + + Timer2 - + SWR - + RSSI Tx - + RSSI Rx - + Rx Batt - + A1 - + A2 - + A3 - + A4 - + Alt - + Rpm - + Fuel - + T1 - + T2 - + Speed - + Dist - + GPS Alt - + Cell - + Cells - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - - HDG - - - - + VSpd - - ASpd - - - - + dTE - + + Hdg + + + + + AirSpeed + + + + A1- - + A2- - + A3- - + A4- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Speed+ - + Dist+ - + + AirSpeed+ + + + + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - + Time - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - - - - + + + + ---- - + [I%1] - + MAX - + CYC%1 - + TR%1 - - CH%1%2 - - - - - X%1 - - - - + S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + RudTrim Left - + RudTrim Right - + EleTrim Down - + EleTrim Up - + ThrTrim Down - + ThrTrim Up - + AilTrim Left - + AilTrim Right - - - + + + OFF - + ABS - + THs - + TH% - + THt - - + + ON - + ??? - + Diff(%1) - + Expo(%1) - + Function(%1) - + Curve(%1) - + !Curve(%1) - - - + + + --- - + a>x - + a<x - + |a|>x - + |a|<x - + AND - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer - + Sticky - + Edge - + Unknown - + STAY(%1, [%2:%3]) - + STICKY(%1, %2) - + TIMER(%1, %2) - + Delay %1 sec - + Duration %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> - - - - - All - - - - - - - Telemetry - - + + All + + + + + + + Telemetry + + + + + Value - - + + Decr: - - + + Incr: - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim - + Play Sound - + Play Haptic - + Reset - + Set Timer %1 - + Vario - + Play Track - + Play Both - + Play Value - + Start Logs - + Volume - + Backlight - + Background Music - + Background Music Pause - + Adjust GV%1 - + No repeat - + %1 sec @@ -5254,31 +5060,26 @@ If blank then the mix is considered to be "ON" all the time. - - Simultaneous usage of expo and curves is no longer supported in open9x - - - - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels @@ -5290,7 +5091,7 @@ If blank then the mix is considered to be "ON" all the time. - + Warning @@ -5300,76 +5101,94 @@ If blank then the mix is considered to be "ON" all the time. + - Support for frsky telemetry mod - + Support for telemetry easy board + - Support for jeti telemetry mod + - Support for receiving ardupilot data + - Support for receiving NMEA data + - Support for MAVLINK devices - + Rotary Encoder use in menus navigation - - - - - + + + + + Pots use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled - + OpenTX for 9X board + + + + + + + Enable heli menu and cyclic mix support + + + + + + + + + + Enable TEMPLATES menu + + - - Enable heli menu and cyclic mix support + No splash screen @@ -5377,9 +5196,9 @@ If blank then the mix is considered to be "ON" all the time. - - - Enable TEMPLATES menu + + + No flight modes @@ -5387,7 +5206,9 @@ If blank then the mix is considered to be "ON" all the time. - No splash screen + + + Disable curves menus @@ -5395,9 +5216,7 @@ If blank then the mix is considered to be "ON" all the time. - - - No flight modes + Support for radio modified with regular speaker @@ -5406,8 +5225,7 @@ If blank then the mix is considered to be "ON" all the time. - - Disable curves menus + Used if you have modified your radio with voice mode @@ -5415,16 +5233,7 @@ If blank then the mix is considered to be "ON" all the time. - Support for radio modified with regular speaker - - - - - - - - - Used if you have modified your radio with voice mode + Used if you have modified your radio with haptic mode @@ -5432,7 +5241,18 @@ If blank then the mix is considered to be "ON" all the time. - Used if you have modified your radio with haptic mode + + Support for DSM2 modules + + + + + + + + + + PPM center adjustment in limits @@ -5440,8 +5260,11 @@ If blank then the mix is considered to be "ON" all the time. - - Support for DSM2 modules + + + + + Channel values displayed in us @@ -5451,7 +5274,7 @@ If blank then the mix is considered to be "ON" all the time. - PPM center adjustment in limits + Global variables @@ -5461,63 +5284,61 @@ If blank then the mix is considered to be "ON" all the time. - - - PPM values displayed in us - - - - - - - - - - Global variables + Symetrical Limits + SmartieParts 2.2 Backlight support + + + + + - Symetrical Limits + In model setup menus automatically set source by moving the control - SmartieParts 2.2 Backlight support + + + + + In model setup menus automatically set switch by moving the control - - - In model setup menus automatically set source by moving some of them + Enable resetting values by pressing up and down at the same time - - + + - In model setup menus automatically set switch by moving some of them + No graphical check boxes and sliders + + - Enable resetting values by pressing up and down at the same time + Battery graph @@ -5527,7 +5348,7 @@ If blank then the mix is considered to be "ON" all the time. - No graphical check boxes and sliders + Don't use bold font for highlighting active items @@ -5537,7 +5358,9 @@ If blank then the mix is considered to be "ON" all the time. - Battery graph + + + Use alternative SQT5 font @@ -5545,21 +5368,12 @@ If blank then the mix is considered to be "ON" all the time. - - - Don't use bold font for highlighting active items + Enable the throttle trace in Statistics - - - - - - - - Use alternative SQT5 font + EEprom write progress bar @@ -5567,140 +5381,127 @@ If blank then the mix is considered to be "ON" all the time. - Enable the throttle trace in Statistics + + Imperial units - EEprom write progress bar + + No Winged Shadow How High support - - - - Imperial units + No vario support - No Winged Shadow How High support + No GPS support - No vario support - - - - - - No GPS support - - - - - No gauges in the custom telemetry screen - + Allow compensating for offset errors in FrSky FAS current sensors - + OpenTX for M128 / 9X board - - - - + + + + EEprom write Progress bar - + OpenTX for 9XR - + OpenTX for 9XR with M128 chip - + OpenTX for Gruvin9x board / 9X - + Support for SD memory card - + Support of FrSky PXX protocol - + Support for DSM2 modules using ppm instead of true serial - + OpenTX for Sky9x board / 9X - + Enable HELI menu and cyclic mix support - + Use FrSky Taranis sticks in a 9X/9XR - + Bluetooth interface - + OpenTX for FrSky Taranis + + + + Disable HELI menu and cyclic mix support + + + + + + Disable TEMPLATES menu + + - Disable HELI menu and cyclic mix support - - - - - - Disable TEMPLATES menu - - - - - Disable Global variables - + OpenTX for FrSky Taranis Rev4a @@ -5710,284 +5511,284 @@ If blank then the mix is considered to be "ON" all the time. - - + + FM%1 - + Input%1 - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + Finnish - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Polish - + Portuguese - + Swedish - + No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + !Flight mode %1 - + Flight mode %1 - + Own value - + Flight mode %1 value - + Keys - + Sticks - + Keys + Sticks - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - - + + None - + Imperial - + Metric - + Extra Fine - + Fine - + Medium - + Coarse - + Exponential - + Count Up - + Count Down - + %1:%2, - + : %1 Channels, %2usec Delay - + Flight modes(%1) - + Flight mode(%1) - + Rudder - + Elevator - + Throttle - + Aileron - + Simulator for this firmware is not yet available @@ -6002,27 +5803,27 @@ If blank then the mix is considered to be "ON" all the time. - + Value - + Source - + GVAR - + Increment - + Rotary Encoder @@ -6047,12 +5848,8 @@ If blank then the mix is considered to be "ON" all the time. + - X%1 - - - - CH%1 @@ -6063,41 +5860,39 @@ If blank then the mix is considered to be "ON" all the time. THR + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. -We are really appreciative for that! - -The OpenTX/Companion Team. +The OpenTX Team. RudderPage - + No - + Yes - + <br>Rudder Channel: Setup - - - Form - - Reverse throttle operation. @@ -6163,12 +5958,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Timer2 + Timer 2 - Timer1 + Timer 1 @@ -6230,7 +6025,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimpleTailPage - + Elevator Channel: @@ -6238,28 +6033,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimulatorDialog - - + + Warning - + Joystick enabled but not configured correctly - + Cannot open joystick, joystick disabled - + Simulating Radio (%1) - + Firmware %1 error: %2 @@ -6272,124 +6067,49 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - - - + + + + Right Double Click to Reset - - THR - - - - - RUD - - - - - ELE - - - - - AIL - - - - - + + Hold X - - + + Fix X - - + + Fix Y - - + + Hold Y - - - - - TextLabel - - - - - TRN - - - - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - + BEEP - - P1 - - - - - - - 0 % - - - - - P2 - - - - - P3 - - - - + 9x Simulator - + Outputs @@ -6402,125 +6122,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - + + Hold Y - - + + Fix Y - - + + Fix X - - + + Hold X - - - SD - - - - - - SC - - - - - - - + + + + Right Double Click to Reset - - - S2 - - - - - - SG - - - - - - RS - - - - - - SH - - - - - - - - TextLabel - - - - - - S1 - - - - - - SB - - - - - - SA - - - - - - SE - - - - - - - SF - - - - - - LS - - - - + Taranis Simulator - + Outputs @@ -6536,12 +6175,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: @@ -6549,33 +6188,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: Telemetry - - - Form - - @@ -6679,7 +6313,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - CEL + CELS @@ -6795,11 +6429,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryAnalog - - - Form - - Unit @@ -6924,11 +6553,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryCustomScreen - - - Form - - Custom Screen Type @@ -6996,33 +6620,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: Timer - - - Form - - - - - mm:ss - - Countdown @@ -7038,11 +6652,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Persistent - - - (00:00:00) - - TimerPanel @@ -7065,12 +6674,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -7078,12 +6687,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -7281,12 +6890,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -7299,11 +6913,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -7354,17 +6963,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Model Name: - + Model Type: - + Channel %1: @@ -7426,371 +7035,364 @@ Mode 4: - Channel order - -This is used by the templated to determine which channel goes to what number output. + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - + R E T A - + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + Default Stick Mode - + Profile Name - + Splash Screen - - Channel Order + + Default Channel Order - + SD Structure path - + Remove Profile - - - - + + + + Open Folder - + Select Image - + Radio Type - + Clear Image - + 9X - + 9X with m128 - + 9XR - + 9XR with m128 - + Gruvin9x Board - + Sky9x Board - + Taranis - + General Settings - + Append version number to FW file name - + Offer to write FW to Tx after download - - General Settings Label - - - - + Application Settings - + Show splash screen when Companion starts - + Automatic check for Companion updates - + Enable automatic backup before writing firmware - + Automatic check for OpenTX firmware updates - + Splash Screen Library - + Files to keep - + Find Executable - + Google Earth Executable - + Only show user splash images - + Show user and companion splash images - + User Splash Screens - + Automatic Backup Folder - + Use model wizard when creating a new model - + Simulator Settings - + Simulator BackLight - + Enable - + Blue - + Green - + Red - + Orange - + Yellow - + Joystick - + Calibrate - + Simulator capture folder - + Only capture to clipboard - + Remember simulator switch values @@ -8410,7 +8012,7 @@ m2560 for v4.1 boards - The profile image %1 does not contain an image. + Profile image %1 is invalid. @@ -8811,7 +8413,12 @@ m2560 for v4.1 boards - 5 Points Curves + 5 Point Curves + + + + + 9 Point Curves @@ -8828,11 +8435,6 @@ m2560 for v4.1 boards Curve - - - 9 Points Curves - - Logical Switches @@ -8988,11 +8590,6 @@ m2560 for v4.1 boards contributorsDialog - - - Dialog - - People who have contributed to this project @@ -9115,7 +8712,7 @@ m2560 for v4.1 boards - Cannot load the profile image %1. + Cannot load profile image %1. @@ -9276,52 +8873,6 @@ p, li { white-space: pre-wrap; } Downloads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Menu Language @@ -9368,11 +8919,6 @@ May be different from firmware language Processor ID - - - FwInfo - - Last downloaded release: %1 @@ -9629,22 +9175,27 @@ Press cancel to abort joystick calibration - + Zoom - + X - + Y - + + Reset + + + + Fly sessions @@ -9659,28 +9210,28 @@ Press cancel to abort joystick calibration - + Error - + Cannot write file %1: %2. - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -10124,52 +9675,6 @@ May be different from firmware language Recent History Size - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Check for updates on startup @@ -10193,11 +9698,6 @@ May be different from firmware language printDialog - - - Dialog - - Close diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index adf94d58d..e577623de 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -188,22 +188,22 @@ CurveGroup - + Diff Róźnicowość - + Expo Expo - + Func Funkcja - + Curve Krzywa @@ -211,19 +211,26 @@ Curves - Form - Formularz + Formularz + + + Standard + Standard + + + Custom + Ustawienia Własne - Standard - Standard + Fixed X + - Custom - Ustawienia Własne + Custom X + @@ -456,13 +463,11 @@ Waga - Switch used by the input. If blank then the input is considered to be "ON" all the time. - Przełącznik używany przez Wejście, jeśli pole jest puste: będzie uznane za "WŁĄCZONE" przez cały czas. + Przełącznik używany przez Wejście, jeśli pole jest puste: będzie uznane za "WŁĄCZONE" przez cały czas. - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -474,7 +479,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> @@ -487,34 +492,33 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Jeśli spowolnienie nie jest równe 0 wtedy prędkość miksera zostanie ustawiona na podaną wartość-&gt; wartość oznacza liczbę sekund jaką mikser potrzebuje by pokonać drogę od -100 do 100.</p></body></html> - + Scale Skala - + Include Trim Uwzględnij trymer - + No Nie - + Yes Tak - + Curve Krzywa - The source for the mixer - Źródło miksera + Źródło miksera @@ -523,82 +527,35 @@ p, li { white-space: pre-wrap; } - + GV ZG - Phase used by the input. - Faza lotu używana przez Wejście. + Faza lotu używana przez Wejście. Flight modes Fazy lotu - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Switch Przełącznik - The curve used by the input - Krzywa używana przez Wejście + Krzywa używana przez Wejście - + Source Źródło - + Line name Nazwa linii @@ -607,6 +564,17 @@ p, li { white-space: pre-wrap; } Stick Side Strona drążka + + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + NEG @@ -622,6 +590,11 @@ p, li { white-space: pre-wrap; } ALL Wszystkie + + + Curve applied to the source. + + Edit %1 @@ -651,9 +624,13 @@ p, li { white-space: pre-wrap; } FblPage - Trottle Channel: - Kanał gazu: + Kanał gazu: + + + + Throttle Channel: + @@ -702,9 +679,8 @@ p, li { white-space: pre-wrap; } FlightMode - Form - Formularz + Formularz @@ -727,24 +703,20 @@ p, li { white-space: pre-wrap; } Przełącznik - trim1 - trymer 1 + trymer 1 - trim2 - trymer 2 + trymer 2 - trim4 - trymer 4 + trymer 4 - trim3 - trymer 3 + trymer 3 @@ -777,7 +749,7 @@ p, li { white-space: pre-wrap; } ZmGl%1 - + Popup enabled Wyskakujące okna aktywne @@ -785,17 +757,17 @@ p, li { white-space: pre-wrap; } FlightModes - + Flight Mode %1 Faza lotu %1 - + (%1) (%1) - + (default) (bazowa) @@ -848,14 +820,13 @@ Będą one obowiązywać dla wszystkich modeli w tym samym EEPROM-ie.Ustawienia - + Contrast Kontrast - Channel Order (For Templates) - Kolejność kanałów (dla szablonów) + Kolejność kanałów (dla szablonów) @@ -987,28 +958,28 @@ Mode 4: 115200 bps - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Jeśli ta wartość jest różna od 0, każde naciśnięcie klawisza włączy podświetlenie, które zgaśnie po ustalonej liczbie sekund. - + sec s - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1030,8 +1001,8 @@ Mode 4: Tylko alarmy - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1056,21 +1027,20 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ostrzeżenie cichej pracy - będzie ostrzegało gdy pikanie jest ustawione na cicho(0)</p></body></html> - + Beeper Mode Tryb pikania - - - - + + + + Off Wyłączony - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1119,7 +1089,7 @@ p, li { white-space: pre-wrap; } Bardzo długa - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -1130,7 +1100,7 @@ Ustala próg ostrzeżenia. Dopuszczalne wartości 5v-10v - + Battery Warning Ostrzeżenie o zasilaniu @@ -1150,18 +1120,18 @@ Dopuszczalne wartości 5v-10v Min - - + + Show splash screen on startup Pokazuj ekran startowy z logo - + Show Splash Screen on Startup Pokazuj ekran startowy z logo - + Inactivity Timer Timer bezczynności @@ -1191,31 +1161,30 @@ Dopuszczalne wartości 5v-10v Długość piknięcia - + GPS Coordinates Koordynaty GPS - + hh° (N/S) mm' ss''.dd hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC Strefa czasowa względem UTC - Channel order This is used by the templated to determine which channel goes to what number output. - Kolejność kanałów + Kolejność kanałów To ustawienie jest używane przez szablony, określa jakie wyjście przypisane jest do kanału. @@ -1235,22 +1204,22 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Mod drążków - + LCD Display Type Typ ekranu LCD - + Standard Standard - + Optrex - + This is the switch selectrion for turning on the backlight (if installed). @@ -1272,7 +1241,7 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Siła wibracji - + BackLight Brightness Jasność podświetlenia @@ -1281,17 +1250,17 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Ostrzeżenie alarmowe - + BackLight Auto OFF after Podświetlenie. Automatyczne wyłącznie po - + RotEnc Navigation Nawigacja pokrętłem - + BackLight Switch Przełącznik podświetlania @@ -1326,7 +1295,7 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Imperialne - + Measurement Units Jednostki miar @@ -1361,12 +1330,12 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Tryb FAI - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Jeśli uaktywnisz tryb FAI, utracisz informacje o wariometrze, funkcje odtwarzania i ekrany telemetrii. Ten tryb nie może być dezaktywowany. - + R E T A K W G L @@ -1376,192 +1345,242 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Ton Wario dla zera - + Vario pitch at max Ton Wario dla Maks - + R E A T K W L G - + + Default Channel Order + Bazowa kolejność kanałów + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R T E A K G W L - + R T A E K G L W - + R A E T K L W G - + R A T E K L G W - + E R T A W K G L - + E R A T W K L G - + E T R A W G K L - + E T A R W G L K - + E A R T W L K G - + E A T R W L G K - + T R E A G K W L - + T R A E G K L W - + T E R A G W K L - + T E A R G W L K - + T A R E G L K W - + T A E R G L W K - + A R E T L K W G - + A R T E L R G W - + A E R T L W K G - + A E T R L W G K - + A T R E L G K W - + A T E R L G W K - + "No Sound" Warning Ostrzeżenie "Brak Dźwięku" - + Low Memory Warning Ostrzeżenie niski stan Pamięci - + --- --- - + 2s 2s - + 3s 3s - + 4s 4s - + 6s 6s - + 8s 8s - + 10s 10s - + 15s 15s - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + OFF Wyłącz - + S-Port Mirror Lustro S-Port - + Debug Debugowanie - + Serial Port Port szeregowy @@ -1571,285 +1590,277 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Odblokuj "Tylko do odczytu" - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Vario repeat at zero Powtarzanie dla Wario zero - - + + Hz Hz - + ms ms - + Trainer Trener - + Mode Tryb - + Input Wejście - + Weight Waga - + PPM 1 PPM 1 - - - - + + + + chn1 Kanał 01 - + Rud SK - - - - + + + + chn2 Kanał 02 - - - - + + + + chn3 Kanał 03 - - - - + + + + chn4 Kanał 04 - + Ele SW - + Thr Gaz - + Ail Lotki - + PPM 2 PPM 2 - + PPM 3 PPM 3 - + PPM 4 PPM 4 - + Calibration Kalibracja - POT 4 - Potencjometr 04 + Potencjometr 04 + + + STICK 3 + Drążek 03 - STICK 3 - Drążek 03 - - - - + Negative span Ujemny zakres - - + + Mid value Wartość środkowa - - + + Positive span Dodatni zakres - STICK 1 - Drążek 01 + Drążek 01 - STICK 2 - Drążek 02 + Drążek 02 - STICK 4 - Drążek 04 + Drążek 04 - - - + + + None Żaden - - - + + + Pot (normal) Potencjometr (std) - - - + + + Multipos Switch Przeł. wielopoz - + S1 Type Typ P1 - + S2 Type Typ P2 - + S3 Type Typ P3 - POT 1 - Potencjometr 01 + Potencjometr 01 - POT 2 - Potencjometr 02 + Potencjometr 02 - POT 3 - Potencjometr 03 + Potencjometr 03 - - - - + + + + += (Sum) += (Suma) - - - - + + + + := (Replace) := (Zastąpienie) - + Battery Zasilanie - + v V - + PPM Multiplier Mnożnik PPM - + Current Natężenie @@ -1910,9 +1921,8 @@ Jesteś pewien ? Heli - Form - Formularz + Formularz @@ -1978,9 +1988,13 @@ Jesteś pewien ? HeliPage - Trottle Channel: - Kanał gazu: + Kanał gazu: + + + + Throttle Channel: + @@ -2025,9 +2039,13 @@ Jesteś pewien ? Ctrl+Down - Clear All Settings - Wyczyść wszytkie ustawienia + Wyczyść wszytkie ustawienia + + + + Clear All Inputs + @@ -2186,42 +2204,42 @@ Jesteś pewien ? L%1 - + &Delete &Wykasuj - + Delete Wykasuj - + &Copy &Kopiuj - + Ctrl+C Ctrl+C - + &Cut &Wytnij - + Ctrl+X Ctrl+X - + &Paste &Wklej - + Ctrl+V Ctrl+V @@ -2323,6 +2341,17 @@ Jesteś pewien ? Display previous message again at startup ? Czy ponownie wyświetlić poprzednią informację przy uruchomieniu? + + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + Compilation server temporary failure, try later @@ -2460,6 +2489,36 @@ Chcesz pobrać teraz? OpenTX Companion - FW: %1 - Profile: %2 OpenTX Companion - FW: %1 - Profil: %2 + + + New + + + + + Open... + + + + + Save + Zapisz + + + + Save As... + + + + + Copy Model + + + + + Paste Model + + About... @@ -2521,14 +2580,12 @@ Chcesz pobrać teraz? Monochromatyczny czarny wygląd ikon - Firmware does not longer fit in the radio, due to selected firmware options - Firmware już nie mieści się w pamięci radia ze względu na wybrane parametry + Firmware już nie mieści się w pamięci radia ze względu na wybrane parametry - Firmware does not fit in the radio, due to selected firmware options - Firmware już nie mieści się w pamięci radia ze względu na wybrane parametry + Firmware już nie mieści się w pamięci radia ze względu na wybrane parametry @@ -2621,9 +2678,8 @@ Chcesz pobrać teraz? Odczytaj Firmware radia do pliku - New Models+Settings - Nowe Modele+Ustawienia + Nowe Modele+Ustawienia @@ -2631,14 +2687,12 @@ Chcesz pobrać teraz? Utwórz nowy plik Modeli i Ustawień - Open Models+Settings... - Otwórz Modele i Ustawienia... + Otwórz Modele i Ustawienia... - Save Models+Settings... - Zapisz Modele i Ustawienia... + Zapisz Modele i Ustawienia... @@ -2647,9 +2701,8 @@ Chcesz pobrać teraz? Zapisz plik Modeli i Ustawień - Save Models+Settings as... - Zapisz Modele+Ustawienia jako... + Zapisz Modele+Ustawienia jako... @@ -2662,9 +2715,8 @@ Chcesz pobrać teraz? Wytnij aktualny model do schowka - Copy Model... - Kopiuj Model... + Kopiuj Model... @@ -2672,9 +2724,8 @@ Chcesz pobrać teraz? Wytnij aktualny model do schowka - Paste Model... - Wklej Model... + Wklej Model... @@ -2797,14 +2848,12 @@ Chcesz pobrać teraz? Użyj Włoskiego w menu - Hebrew - Hebrajski + Hebrajski - Use Hebrew in menus - Użyj Hebrajskiego w menu + Użyj Hebrajskiego w menu @@ -2817,14 +2866,12 @@ Chcesz pobrać teraz? Użyj Polskiego w menu - Portuguese - Portugalski + Portugalski - Use Portuguese in menus - Użyj Portualskiego w menu + Użyj Portualskiego w menu @@ -2837,24 +2884,20 @@ Chcesz pobrać teraz? Użyj Szwedzkiego w menu - Russian - Rosyjski + Rosyjski - Use Russian in menus - Użyj Rosyjskiego w menu + Użyj Rosyjskiego w menu - Dutch - Holenderski + Holenderski - Use Dutch in menus - Użyj holenderskiego w menu + Użyj holenderskiego w menu @@ -2926,6 +2969,11 @@ Chcesz pobrać teraz? Save a complete backup file of all settings and model data in the Radio Zachowaj kompletny plik backup wszytkich ustawień i danych modeli z radia + + + Recent Files + + Show recent Models+Settings documents @@ -2975,7 +3023,6 @@ Chcesz pobrać teraz? Współpracownicy... - Recent Models+Settings Ostatnie Modele+Ustawienia @@ -2996,9 +3043,8 @@ Chcesz pobrać teraz? Dostępna jest nowy Companion (wersja %1)<br>Chcesz ją pobrać ? - A new release of Companion is available please check the OpenTX website! - Nowe wydanie Companion jest dostępne, proszę sprawdzić stronę OpenTX! + Nowe wydanie Companion jest dostępne, proszę sprawdzić stronę OpenTX! Firmware does not longer fit in the Tx, due to selected firmware options @@ -3287,9 +3333,8 @@ Czy mimo wszystko zapisać? Profil radia - Show a selection list of radio profiles - Pokaż listę wyboru profili radia + Pokaż listę wyboru profili radia @@ -3375,6 +3420,11 @@ Czy mimo wszystko zapisać? Help Pomoc + + + Show the list of radio profiles + + Ready @@ -3396,136 +3446,136 @@ Czy mimo wszystko zapisać? MdiChild - + free bytes wolna pamięć[B] - + Editing model %1: Edycja modelu %1: - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Błąd - - + + Unable to find file %1! Nie mogę odnaleźć pliku %1! - - - - + + + + Error opening file %1: %2. Błąd otwarcia pliku %1: %2. - - + + Invalid EEPROM File %1 Zły plik EEPROM %1 - + Invalid binary EEPROM File %1 Nieprawidłowy plik binarny EEPROM %1 - - - - + + + + Save As Zapisz jako - - - - + + + + Cannot write file %1: %2. Nie mogę zapisać pliku %1: %2. - + Error writing file %1: %2. Błąd zapisu pliku %1: %2. - + Companion Companion - - - + + + Backup EEPROM From Radio Backup EEPROM z radia - + Write EEPROM To Radio Zapis EEPROM do radia - - + + Error reading file %1: %2. Błąd odczytu pliku %1: %2. - + %1 has been modified. Do you want to save your changes? %1 został zmieniony. Zapisać? - + Backup is impossible Backup jest niemożliwy - + The backup dir set in preferences does not exist Ustawienia preferencji katalogu backupu nie istnieją - + Cannot write temporary file! Nie mogę zapisać pliku tymczasowego! @@ -3534,23 +3584,23 @@ Zapisać? Backup EEPROM z radia - + Cannot check eeprom compatibility! Continue anyway? Nie mogę sprawdzić kompatybilności EEprom! Kontynuować ? - - + + Warning Ostrzeżenie - + Firmware in radio is of a different family of eeprom written, check file and preferences! Firmware w radiu jest różny od zapisanego eepromu, sprawdź plik i ustawienia! - + Firmware in flash is outdated, please upgrade! Firmware w radiu jest przestarzały. Proszę zaktualizować! @@ -3559,12 +3609,12 @@ Zapisać? Zapis EEPROM do radia - + Open backup Models and Settings file Otwórz plik backupu Modeli i Ustawień - + Invalid binary backup File %1 nieprawidłowy binarny plik %1 @@ -3727,51 +3777,6 @@ Ustala w jaki sposób miksery są łączone. Include DR/Expo Dołącz DR/Expo - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Delay @@ -3821,32 +3826,35 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Jeśli spowolnienie nie jest równe 0 wtedy prędkość miksera zostanie ustawiona na podaną wartość-&gt; wartość oznacza liczbę sekund jaką mikser potrzebuje by pokonać drogę od -100 do 100.</p></body></html> - DEST -> X%1 - Cel -> X%1 + Cel -> X%1 - DEST -> CH%1%2 - Cel -> KAN%1%2 + Cel -> KAN%1%2 - + + DEST -> CH%1 + Cel -> KAN%1 + + + Rud SK - + Ele SW - + Thr Gaz - + Ail Lotki @@ -3854,161 +3862,175 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up W górę - - + + Ctrl+Up Ctrl+Up - - + + Move Down W dół - - + + Ctrl+Down Ctrl+Down - + Clear Mixes Wyczyść miksery - + Weight(%1) Waga(%1) - + Switch(%1) Przełącznik(%1) - + No Trim Bez trymera - + No DR/Expo Bez DR/Expo - + Offset(%1) Wyrównanie(%1) - + Delay(u%1:d%2) Opóźnienie(u%1:d%2) - + Slow(u%1:d%2) Spowolnienie(u%1:d%2) - + Warn(%1) Ostrzeżenie(%1) - + Not enough available mixers! Za mało dostępnych mikserów! - + Delete Selected Mixes? Skasować wybrane miksery? - + &Add &Dodaj - + Ctrl+A Ctrl+A - + &Edit &Edycja - + Enter Enter - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete &Wykasuj - + Delete Wykasuj - + &Copy &Kopiuj - + Ctrl+C Ctrl+C - &Cut - &Wytnij + &Wytnij - + Ctrl+X Ctrl+X - + + C&ut + + + + &Paste &Wklej - + Ctrl+V Ctrl+V - + Du&plicate &Zduplikuj - + Ctrl+U Ctrl+U - + Clear Mixes? Wyczyść miksery? - + Really clear all the mixes? Czy na pewno wyczyścić wszystkie miksery? @@ -4254,37 +4276,35 @@ p, li { white-space: pre-wrap; } Module - Form - Formularz + Formularz - + Failsafe Mode Tryb Failsafe - + Start Start - + PPM delay Opóźnienie PPM - usec - us + us - + Negative Ujemna - + Positive Dodatnia @@ -4293,83 +4313,94 @@ p, li { white-space: pre-wrap; } Numer Odbiornika - + Master Trener - + Slave Uczeń - + Polarity Polaryzacja - + Trainer Mode Tryb trenera - mSec - ms + ms - + PPM Frame Length Długość ramki PPM - Label - Etykieta + Etykieta - - ch - kanał + kanał - + + CH + + + + + us + + + + + ms + ms + + + Channels Kanały - + Hold Utrzymuj - + Custom Ustawienia Własne - + No Pulses Brak sygnałów - + Receiver Odbiornik - + Failsafe Positions Pozycja Failsave - + Protocol Protokół - + Receiver No. Nr odbiornika. @@ -4406,9 +4437,13 @@ p, li { white-space: pre-wrap; } MultirotorPage - Trottle Channel: - Kanał gazu: + Kanał gazu: + + + + Throttle Channel: + @@ -4429,343 +4464,337 @@ p, li { white-space: pre-wrap; } QObject - - + + Rud SK - - + + Ele SW - - + + Thr Gaz - - + + Ail Lotki - - + + P1 Potencjometr 1 - - + + P2 Potencjometr 2 - - + + P3 Potencjometr 3 - + S1 Potencjometr 1 - + S2 Potencjometr 2 - + LS Lewy suwak - + RS Prawy suwak - + TrmR Trymer SK - + TrmE Trymer SW - + TrmT Trymer gazu - + TrmA Trymer lotek - - + + REa Pokrętło :a - - + + REb Pokrętło :b - + Batt Bateria - + A1 Sygnał telemetrii A1 - + A2 Sygnał telemetrii A2 - + Alt Wysokość - + Rpm Obroty - + Fuel Paliwo - + T1 - + SWR SWR - + T2 - + Speed Prędkość - + Dist Odległość - + GPS Alt Wysokość GPS - + Cell Cela - + Vfas - + Curr Natężenie - + Cnsp - + Powr Moc - + Cells Cele - + AccX - + AccY - + AccZ - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time - + MAX - + S11 P11 - + S12 P12 - + S13 P13 - + S14 P14 - + S15 P15 - + S16 P16 - + S21 P21 - + S22 P22 - + S23 P23 - + S24 P24 - + S25 P25 - + S26 P26 - + CYC%1 - CH%1%2 - Kan %1%2 + Kan %1%2 - - X%1 - - - - - - - + + + + ---- @@ -4776,253 +4805,145 @@ p, li { white-space: pre-wrap; } THR - - + + ON Włącz - - - + + + OFF Wyłącz - + Diff(%1) Róźnicowość(%1) - + Expo(%1) Expo(%1) - + Function(%1) Funkcja(%1) - + Curve(%1) Krzywa(%1) - + !Curve(%1) !Krzywa(%1) + - Support for frsky telemetry mod Wsparcie dla telemetrii FrSky + - Support for jeti telemetry mod Wsparcie telemetrii JETI + - Support for receiving ardupilot data Wsparcie dla otrzymywania danych ardupilota + - Support for receiving NMEA data Wsparcie dla otrzymywania danych NMEA - + Support for telemetry easy board Wsparcie dla platformy TelemetrEZ + - Support for MAVLINK devices Wsparcie urządzeń MAVLINK - + Rotary Encoder use in menus navigation Użycie pokrętła do nawigacji w menu - + Possibility to enable FAI MODE at field Umożliwienie uaktywniania tryb FAI w menu - + FAI MODE always enabled Tryb FAI zawsze aktywny + + + + + + + Enable heli menu and cyclic mix support + Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów + + + + + + + + + Enable TEMPLATES menu + Uaktywnienie menu szablonów + - - Enable heli menu and cyclic mix support - Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów + No splash screen + Bez loga na ekranie - - - Enable TEMPLATES menu - Uaktywnienie menu szablonów - - - - - - - No splash screen - Bez loga na ekranie - - - - - - - - + + No flight modes Firmware bez menu faz lotu - - - - - - - In model setup menus automatically set source by moving some of them - W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim - - - - - - - - - - - Use alternative SQT5 font - Użyj alternatywnego fontu SQT5 - - - - EEprom write progress bar - Pasek postępu wgrywania EEPROMu - - - - - No Winged Shadow How High support - Bez wsparcia - Winged Shadow How High - - - - - No vario support - Bez wsparcia wario - - - - - No GPS support - Bez wsparcia GPS - - - - - No gauges in the custom telemetry screen - Bez graficznych wskazań telemetrii - - - - Allow compensating for offset errors in FrSky FAS current sensors - Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS - - - - OpenTX for FrSky Taranis Rev4a - OpenTX dla platformy FrSky Taranis Rev4a - - - - Use FrSky Taranis sticks in a 9X/9XR - Użyj drążków Taranisa w 9X/9XR - - - - OpenTX for FrSky Taranis - OpenTX dla platformy FrSky Taranis - - - - - Disable HELI menu and cyclic mix support - Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów - - + + + + + + - Disable TEMPLATES menu - Dezaktywowane menu szablonów + Channel values displayed in us + - - - Disable Global variables - dezaktywowane zmienne globalne - - - - - - - - - Disable curves menus - Bez menu krzywych - - - - - - - Support for radio modified with regular speaker - Wsparcie dla modyfikacji radia zwykłym głośnikiem - - - - - - - - Used if you have modified your radio with voice mode - Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych - - - - - - - Used if you have modified your radio with haptic mode - Używane jeśli radio jest zmodyfikowane do użycia wibracji + In model setup menus automatically set source by moving some of them + W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim @@ -5031,28 +4952,142 @@ p, li { white-space: pre-wrap; } + + + Use alternative SQT5 font + Użyj alternatywnego fontu SQT5 + + + + EEprom write progress bar + Pasek postępu wgrywania EEPROMu + + + + + No Winged Shadow How High support + Bez wsparcia - Winged Shadow How High + + + + + No vario support + Bez wsparcia wario + + + + + No GPS support + Bez wsparcia GPS + + + + + No gauges in the custom telemetry screen + Bez graficznych wskazań telemetrii + + + + Allow compensating for offset errors in FrSky FAS current sensors + Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS + + + + OpenTX for FrSky Taranis Rev4a + OpenTX dla platformy FrSky Taranis Rev4a + + + + Use FrSky Taranis sticks in a 9X/9XR + Użyj drążków Taranisa w 9X/9XR + + + + OpenTX for FrSky Taranis + OpenTX dla platformy FrSky Taranis + + + + + Disable HELI menu and cyclic mix support + Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów + + + + + Disable TEMPLATES menu + Dezaktywowane menu szablonów + + + + + Disable Global variables + dezaktywowane zmienne globalne + + + + + + + + + Disable curves menus + Bez menu krzywych + + + + + + + Support for radio modified with regular speaker + Wsparcie dla modyfikacji radia zwykłym głośnikiem + + + + + + + + Used if you have modified your radio with voice mode + Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych + + + + + + + Used if you have modified your radio with haptic mode + Używane jeśli radio jest zmodyfikowane do użycia wibracji + + + + + + + + Battery graph Grafika baterii - - - - + + + + Enable the throttle trace in Statistics Uaktywnić śledzenie gazu w statystykach - + Support of FrSky PXX protocol Wsparcie dla protokołu Frsky PXX - - - - - + + + + + Support for DSM2 modules wsparcie modułu DSM2 @@ -5064,15 +5099,19 @@ p, li { white-space: pre-wrap; } wielkość eepromu jest 4096 ale tylko pierwsze 2048 jest używane - - - - - - + + + + + + PPM center adjustment in limits Limit dostrojenia centrowania PPM + + PPM values displayed in us + Wartości PPM wyświetlane w us (mikrosekundy) + @@ -5080,56 +5119,38 @@ p, li { white-space: pre-wrap; } - - - PPM values displayed in us - Wartości PPM wyświetlane w us (mikrosekundy) - - - - - - - - Symetrical Limits Limity symetryczne - - - - - + + + + + Pots use in menus navigation Użycie potencjometrów do nawigacji w menu - + OpenTX for 9X board OpenTX dla platformy 9X - - + + SmartieParts 2.2 Backlight support Wsparcie podświetlenia SmartieParts 2.2 - - - - - - In model setup menus automatically set switch by moving some of them - W menu modelu automatyczne wybranie przełącznika w przez jego poruszenie + W menu modelu automatyczne wybranie przełącznika w przez jego poruszenie - - - - + + + + Enable resetting values by pressing up and down at the same time Szybkie nastawianie wartości (+) a (-) neguje wartość @@ -5137,6 +5158,16 @@ p, li { white-space: pre-wrap; } (-) a (DN) ustawia min (UP) a (DN) ustawia 0 + + + + + + + + No graphical check boxes and sliders + Brak graficznych chekboxów i sliderów + @@ -5144,94 +5175,104 @@ p, li { white-space: pre-wrap; } - No graphical check boxes and sliders - Brak graficznych chekboxów i sliderów - - - - - - - - Don't use bold font for highlighting active items Nie używaj podświetlenia dla wybranych aktywnych elementów, mikserów, krzywych, expo, etc - + OpenTX for M128 / 9X board OpenTX dla platformy M128 / 9X - - - - + + + + EEprom write Progress bar Pasek postępu zapisywania EEPROM - - - - - + + + + + Imperial units Imperialne jednostki w telemetrii - + Bluetooth interface Interface Bluetooth - - - - - - + + + + + + Global variables Globalne zmienne - + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + OpenTX for 9XR OpenTX dla platformy 9XR - + OpenTX for 9XR with M128 chip OpenTX dla platformy 9X z układem M128 - + OpenTX for Gruvin9x board / 9X ie: OpenTX dla platformy Gruvin9X / 9X - + Support for SD memory card Wsparcie karty SD - + Support for DSM2 modules using ppm instead of true serial Wsparcie modułu DSM2 przez użycie PPM zamiast prawdziwego szeregowego - + OpenTX for Sky9x board / 9X OpenTX dla platformy Sky9x / 9X - + Enable HELI menu and cyclic mix support Uaktywnij menu HELI i cyklicznych mikserów - + Warning Ostrzeżenie @@ -5241,141 +5282,141 @@ p, li { white-space: pre-wrap; } EEPROM zapisany z tymi ostrzeżeniami: - - + + FM%1 FP%1 FM%1 - + Input%1 Wejście %1 - + English Angielski - + French Francuski - + Italian Włoski - + German Niemiecki - + Czech Czeski - + Slovak Słowacki - + Spanish Hiszpański - + Portuguese Portugalski - + Polish Polski - + Finnish Fiński - + No Nie - + RotEnc A Pokrętło :A - + Rot Enc B Pokrętło :B - + Rot Enc C Pokrętło :C - + Rot Enc D Pokrętło :D - + Rot Enc E Pokrętło :E - + No repeat Bez powtórzeń - + %1 sec %1 s - + Safety %1 Bezpieczny %1 - + S3 S3 - + RSSI Tx RSSI Tx - + RSSI Rx RSSI Rx - + Rx Batt Bateria Rx - + A3 A3 - + A4 A4 @@ -5384,544 +5425,544 @@ p, li { white-space: pre-wrap; } ASpd - + dTE dTE - + AirSpeed Prędkość wzgl. Powierza - + Hdg Kier - + A3- A3- - + A4- A4- - + AirSpeed+ Prędkość wzgl. Powierza+ - + ACC ACC - - + + L1 L1 - - + + L2 L2 - - + + L3 L3 - - + + L4 L4 - - + + L5 L5 - - + + L6 L6 - - + + L7 L7 - - + + L8 L8 - - + + L9 L9 - - + + L10 L10 - - + + L11 L11 - - + + L12 L12 - - + + L13 L13 - - + + L14 L14 - - + + L15 L15 - - + + L16 L16 - - + + L17 L17 - - + + L18 L18 - - + + L19 L19 - - + + L20 L20 - - + + L21 L21 - - + + L22 L22 - - + + L23 L23 - - + + L24 L24 - - + + L25 L25 - - + + L26 L26 - - + + L27 L27 - - + + L28 L28 - - + + L29 L29 - - + + L30 L30 - - + + L31 L31 - - + + L32 L32 - + [I%1] [W%1] - + TR%1 TR%1 - + S31 S31 - + S32 S32 - + S33 S33 - + S34 S34 - + S35 S35 - + S36 S36 - + RudTrim Left SK Trymer lewy - + RudTrim Right SK Trymer prawy - + EleTrim Down SW Trymer w dół - + EleTrim Up SW Trymer w górę - + ThrTrim Down Gaz Trymer w dół - + ThrTrim Up Gaz Trymer w gorę - + AilTrim Left Lotki trymer w lewo - + AilTrim Right Lotki trymer w prawo - + ABS ABS - + THs THs - + TH% TH% - + THt THt - + ??? ??? - + a>x a>x - + a<x a<x - + |a|>x |a|>x - + |a|<x |a|<x - + AND I (logiczne) - + OR Lub (logiczne) - + XOR XOR (Logiczne) - + a=b a=b - + a!=b a!=b - + a>b a>b - + a<b a<b - + a>=b a>=b - + a<=b a<=b - + d>=x d>=x - + |d|>=x |d|>=x - + a=x a=x - + a~x a~x - + Timer Timer - + Sticky Trwałe przełączenie - + Unknown Nieznane - + STAY(%1, [%2:%3]) Utrzymuj(%1, [%2:%3]) - + STICKY(%1, %2) Trwałe przełączenie (%1, %2) - + TIMER(%1, %2) TIMER(%1, %2) - + Trainer Trener - + Trainer RUD Trener - SK - + Trainer ELE Trener - SW - + Trainer THR Trener - Gaz - + Trainer AIL Trener - Lotki - + Instant Trim Natychmiastowe trymowanie - + Play Sound Odtwórz dźwięk - + Play Haptic Wibruj - + Reset Zresetuj - + Set Timer %1 Ustaw Timer %1 - + Vario Wariometr - + Play Both Odtwórz oba - + Play Value Odtwórz wartość - + Start Logs Start logowania - + Volume Głośność - + Backlight Podświetlenie - + Adjust GV%1 Ustaw ZG%1 - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> Niespójny parametr <font color=red><b>Niespójny parametr</b></font> @@ -5932,294 +5973,294 @@ p, li { white-space: pre-wrap; } Pokrętło - + !Flight mode %1 !Faza lotu %1 - + Flight mode %1 Faza lotu %1 - + Yellow Żółty - + Orange Pomarańczowy - + Red Czerwony - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nie obsługiwane) - + FrSky Sensor Hub Hub sensora FrSky - - + + None Żaden - + Imperial Imperialne - + Metric Metryczne - + Extra Fine Bardzo dokładne - + Fine Dokładne - + Medium Średni - + Coarse Gruby - + Exponential Eksponencjalny - + Count Up Licz - + Count Down Odliczaj - + %1:%2, - + : %1 Channels, %2usec Delay :Kanały %1, opóźnienie %2usX - + Flight modes(%1) Fazy lotu(%1) - + Flight mode(%1) Faza lotu (%1) - + Rudder SK - + Elevator SW - + Throttle Gaz - + Aileron Lotki - + Play Track Odtwórz ścieżkę - - - + + + --- - + Rud Trim Trymer SK - + Ele Trim Trymer SW - + Thr Trim Trymer gazu - + Ail Trim Trymer lotek - + Rot Enc Pokrętło - + Swedish Szwedzki - X%1 - X%1 + X%1 - + + CH%1 Kan %1 - + Background Music Muzyka tła - + Background Music Pause Muzyka tła - pauza - + Delay %1 sec Opóźnienie %1sec - + Duration %1 sec Czas trwania %1 sec - - - + + + Timer1 - - - + + + Timer2 - + Speed+ Prędkość+ - + Dist+ Dyst+ - + Cell- Cela- - + Cells- Cele- - + Vfas- Vfat- - + Curr+ Natęż+ - + Powr+ Moc+ - + Edge Brzeg - - + + All Wszystkie - - + + Telemetry Telemetria - - + + Value Wartość - - + + Decr: Zmniejsz: - - + + Incr: Zwiększ: @@ -6254,46 +6295,46 @@ p, li { white-space: pre-wrap; } Zwiększanie - + Own value Własny Wartość - + Flight mode %1 value Flight phase %1 value Wartość Fazy lotu FL%1 - + Keys Przyciski - + Sticks Drążki - + Keys + Sticks Przyciski i Drążki - - + + -GV%1 -ZG%1 - - - + + + GV%1 ZG%1 - + Simulator for this firmware is not yet available Nie jest dostępny symulator dla tego firmware @@ -6304,33 +6345,32 @@ p, li { white-space: pre-wrap; } Równoległe użycie expo i krzywych nie jest dłużej wspierane - + OpenTX only accepts %1 points in all curves OpenTX zezwala tylko na %1 punktów we wszytkich krzywych - - - - + + + + OpenTX on this board doesn't accept this function OpenTX na tej platformie nie dopuszcza tej funkcji - - + + OpenTX doesn't accept this protocol OpenTX nie obsługuje tego protokołu - + OpenTX doesn't allow this number of channels OpenTX nie obsługuje tej ilości kanałów - Simultaneous usage of expo and curves is no longer supported in open9x - Jednoczesne użycie expo i krzywych nie jest dłużej wspierane dla Open9x + Jednoczesne użycie expo i krzywych nie jest dłużej wspierane dla Open9x @@ -6338,13 +6378,12 @@ p, li { white-space: pre-wrap; } th9x nie posiada pokręteł na tej platformie - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. We are really appreciative for that! The OpenTX/Companion Team. - Dziękujemy za wszystkie datki, miłe wiadomości, ciekawe pomysły, konstruktywne propozycje. etc. dla następnych aparatur działających z OpenTX/Companion + Dziękujemy za wszystkie datki, miłe wiadomości, ciekawe pomysły, konstruktywne propozycje. etc. dla następnych aparatur działających z OpenTX/Companion Bardzo nam na tym zależy i są to dla nas bardzo wazne elementy @@ -6385,6 +6424,18 @@ Zespół OpenTX/Companion. Profile image Obrazek Profilu + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage @@ -6407,19 +6458,16 @@ Zespół OpenTX/Companion. Setup - Form - Formularz + Formularz - Timer2 - Timer 02 + Timer 02 - Timer1 - Timer 01 + Timer 01 Throttle Source @@ -6518,6 +6566,16 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Throttle Trim Idle Only Trymer gazu tylko dla wolnych obrotów + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -6565,23 +6623,23 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również SimulatorDialog - - + + Warning Ostrzeżenie - + Joystick enabled but not configured correctly Joystick uaktywniony ale nieprawidłowo skonfigurowany - + Cannot open joystick, joystick disabled Nie mogę otworzyć joysticka, dezaktywowany - + Simulating Radio (%1) Symulacja Radia (%1) @@ -6590,7 +6648,7 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Symulacja Tx (%1) - + Firmware %1 error: %2 Firmware %1 błąd: %2 @@ -6603,124 +6661,101 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Symulator Companion - - - - + + + + Right Double Click to Reset Powójne kliknięcie PPM w celu zresetowania - THR - Gaz + Gaz - RUD - SK + SK - ELE - SW + SW - AIL - Lotki + Lotki - + Hold X Przytrzymaj X - + Fix X Zablokuj X - + Fix Y Zablokuj Y - + Hold Y Przytrzymaj Y - - - - TextLabel - Etykieta + Etykieta - TRN - TRN + TRN - GEA - GEA + GEA - ID0 - ID0 + ID0 - ID1 - DI1 + DI1 - ID2 - ID2 + ID2 - + BEEP Dźwięk - P1 - Potencjometr1 + Potencjometr1 - - - - 0 % - - - - P2 - Potencjometr2 + Potencjometr2 - P3 - Potencjometr 3 + Potencjometr 3 - + 9x Simulator Symulator 9x - + Outputs Wyjścia @@ -6733,117 +6768,88 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Symulator Companion - - + + Hold Y Przytrzymaj Y - - + + Fix Y Zablokuj Y - - + + Fix X Zablokuj X - - + + Hold X Przytrzymaj X - - SD - SD + SD - - SC - SC + SC - - - - + + + + Right Double Click to Reset Powójne kliknięcie PPM w celu zresetowania - - S2 - S2 + S2 - - SG - SG + SG - - RS - RS + RS - - SH - SH + SH - - - - TextLabel - Etykieta + Etykieta - - S1 - S1 + S1 - - SB - SB + SB - - SA - SA + SA - - SE - SE + SE - - - SF - SF + SF - - LS - LS + LS @@ -6903,9 +6909,8 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Telemetry - Form - Formularz + Formularz @@ -6962,6 +6967,11 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Alarm 2 Alarm 2 + + + CELS + + Serial Protocol @@ -7014,9 +7024,8 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Hub Czujników FrSky - CEL - Ogniwo + Ogniwo @@ -7127,9 +7136,8 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również TelemetryAnalog - Form - Formularz + Formularz @@ -7260,9 +7268,8 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również TelemetryCustomScreen - Form - Formularz + Formularz @@ -7349,14 +7356,12 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Timer - Form - Formularz + Formularz - mm:ss - mm:ss + mm:ss @@ -7378,9 +7383,8 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Stały - (00:00:00) - (00:00:00) + (00:00:00) @@ -7628,13 +7632,26 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. - Większość samolotów posiada powierzchnie sterowe na skrzydłach i ogonie. Latające skrzydło oraz delta posada tylko sterowanie na skrzydłach. Główne powierzchnie sterowe starndardowych skrzydeł powodują obórt samolotu w osi podłużnej. Są to lotki.<br> Powierzchnie sterowe na skrzydle w delcie i latającym skrzydle działają jako lotki i ster wysokości. Są to sterolotki. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. + + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. + + + + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Większość samolotów posiada powierzchnie sterowe na skrzydłach i ogonie. Latające skrzydło oraz delta posada tylko sterowanie na skrzydłach. Główne powierzchnie sterowe starndardowych skrzydeł powodują obórt samolotu w osi podłużnej. Są to lotki.<br> Powierzchnie sterowe na skrzydle w delcie i latającym skrzydle działają jako lotki i ster wysokości. Są to sterolotki. + + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 - Większość modelu używa jednego lub 2ch kanałów do sterowania lotkami.<br><br>Przez tzw. Y-kabel mogą być kontrolowane 2 serwa na jednym kanale. Jeśli używasz Y-kabla wybierz opcję z jednym serwem.<br><br> Lotki - Spektrum: Kn2, Futaba: Kn1 + Większość modelu używa jednego lub 2ch kanałów do sterowania lotkami.<br><br>Przez tzw. Y-kabel mogą być kontrolowane 2 serwa na jednym kanale. Jeśli używasz Y-kabla wybierz opcję z jednym serwem.<br><br> Lotki - Spektrum: Kn2, Futaba: Kn1 @@ -7647,9 +7664,8 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Hamulce aerodynamiczne są uzywane do zmniejszenia prędkości szybowca.<br> Sa bardzo rzadko używane w innych typach samolotów. - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - + Model używa jednego lub dwóch kanałów do kontrolowania sterolotek.<br>Przez tzw. Y-kabel mogą być kontrolowane 2 serwa na jednym kanale. Jeśli używasz Y-kabla wybierz opcję z jednym serwem. @@ -7723,30 +7739,29 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również appPreferencesDialog - + Simulator capture folder Katalog zapisu symulatora - + Remember simulator switch values Zapamiętaj ustawienia przełączników w symulatorze - - - - + + + + Open Folder Otwórz katalog - General Settings Label - Główne ustawienia nagłowek + Główne ustawienia nagłowek - + User Splash Screens Użyj ekranu powitalnego @@ -7756,57 +7771,67 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Edycja Ustawień - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + + Default Channel Order + Bazowa kolejność kanałów + + + General Settings Główne ustawienia - + Application Settings Ustawienia Aplikacji - + Only show user splash images Pokaż tylko ekrany powitalne użytkownika - + Show user and companion splash images Pokaż ekrany powitalne użytkownika i Companion - + Use model wizard when creating a new model Użyj konfiguratora nowych modeli do stworzenia modelu - + Simulator Settings Ustawienia Symulatora - + Blue Niebieskie - + Green Zielone - + Red Czerwone - + Orange Pomarańczowe - + Yellow Żółte @@ -7859,291 +7884,289 @@ Mode 4: Mod 4 (Lot.Gaz.SW.SK) - Channel order This is used by the templated to determine which channel goes to what number output. - Kolejność kanałów + Kolejność kanałów To ustawienie jest używane przez szablony, określa jakie wyjście przypisane jest do kanału. - + R E T A K W G L - + R E A T K W L G - + R T E A - + R T A E K G L W - + R A E T K L W G - + R A T E K L G W - + E R T A W K G L - + E R A T W K L G - + E T R A W G K L - + E T A R W G L K - + E A R T W L K G - + E A T R W L G K - + T R E A G K W L - + T R A E G K L W - + T E R A G W K L - + T E A R G W L K - + T A R E G L K W - + T A E R G L W K - + A R E T L K W G - + A R T E L R G W - + A E R T L W K G - + A E T R L W G K - + A T R E L G K W - + A T E R L G W K - + Default Stick Mode Bazowy mod drążków - + Splash Screen Ekran startowy - Channel Order - Kolejność kanałów + Kolejność kanałów - + Append version number to FW file name Dodaj numer Firmware do nazwy pliku - + SD Structure path Struktura karty SD - + 9X 9X - + 9X with m128 9X z m128 - + 9XR 9XR - + 9XR with m128 9XR z m128 - + Gruvin9x Board Płyta Gruvin9x - + Sky9x Board Płyta Sky9x - + Taranis Taranis - + Select Image Wybierz obrazek - + Offer to write FW to Tx after download Zaproponuj zapisanie FirmWare do radia po pobraniu - + Profile Name Nazwa profilu - + Remove Profile Usuń Profil - + Radio Type Typ Radia - + Clear Image Wyczyść obrazek - + Splash Screen Library Biblioteka ekranół powitalnych - + Files to keep Pkili to zapamiętania - + Simulator BackLight Podświetlenie symularota - + Automatic Backup Folder Automatyczny Katalog Backupów - + Only capture to clipboard Przechwyć tylko do schowka - + Joystick Joystick - + Find Executable Znajdź plik wykonywalny - + Google Earth Executable Plik wykonywalny Google Earth - + Calibrate Kalibracja - + Enable Aktywowany - + Show splash screen when Companion starts Pokaz ekran startowy przy uruchamianiu Companion - + Automatic check for OpenTX firmware updates Automatycznie sprawdź aktualizacje firmware OpenTX - + Automatic check for Companion updates Automatycznie sprawdź aktualizacje Companion - + Enable automatic backup before writing firmware Uaktywnij automatyczny backup przed zapisem firmware @@ -8785,9 +8808,8 @@ m2560 dla platformy V4 Brak obrazka ekranu startowego w firmware. - The profile image %1 does not contain an image. - Obraz profilu %1 nie zawiera obrazka. + Obraz profilu %1 nie zawiera obrazka. Open image file to use as Tx start screen @@ -8828,6 +8850,11 @@ m2560 dla platformy V4 Choose Radio Backup file Wybierz plik Backupu radia + + + Profile image %1 is invalid. + + Open image file to use as radio start screen @@ -9141,6 +9168,11 @@ m2560 dla platformy V4 Weight Waga + + + 5 Point Curves + + @@ -9196,9 +9228,8 @@ m2560 dla platformy V4 Krzywe - 5 Points Curves - 5-cio punktowe Krzywe + 5-cio punktowe Krzywe @@ -9209,9 +9240,8 @@ m2560 dla platformy V4 punkt %1 - 9 Points Curves - 9-cio punktowe Krzywe + 9-cio punktowe Krzywe @@ -9332,6 +9362,11 @@ m2560 dla platformy V4 Flight mode Faza lotu + + + 9 Point Curves + + @@ -9392,11 +9427,6 @@ m2560 dla platformy V4 contributorsDialog - - - Dialog - - People who have contributed to this project @@ -9498,9 +9528,13 @@ m2560 dla platformy V4 Nie mogę załadować pliku obrazka %1. - Cannot load the profile image %1. - Nie mogę załadować obrazu Profilu %1. + Nie mogę załadować obrazu Profilu %1. + + + + Cannot load profile image %1. + @@ -9730,50 +9764,8 @@ p, li { white-space: pre-wrap; } Pobrania - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - CheckBox + CheckBox @@ -9813,9 +9805,8 @@ Moze być inny od języka firmware Pobierz Głos - FwInfo - Informacje o Firmware + Informacje o Firmware @@ -10088,22 +10079,27 @@ Tlačítkem Zrušit přerušíte kalibraci Otwórz plik logu - + Zoom Przybliżenie - + X X - + Y Y - + + Reset + Zresetuj + + + Fly sessions Loty @@ -10118,29 +10114,29 @@ Tlačítkem Zrušit přerušíte kalibraci Czas - + Error Błąd - + Cannot write file %1: %2. Nie mogę zapisać pliku %1: %2. - + Select your log file Wybierz plik loga - + Available fields Dostępne pola - + The selected logfile contains %1 invalid lines out of %2 total lines Wybrany plik zawiera %1 błędnych linii z %2 wszystkich linii @@ -10251,52 +10247,6 @@ Moze być inny od języka firmware Voice Komuniakty głosowe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Ask for flashing after Download @@ -10674,11 +10624,6 @@ Mode 4: printDialog - - - Dialog - - Close diff --git a/companion/src/translations/companion_pt.ts b/companion/src/translations/companion_pt.ts index b37ccf3f4..aaee031fb 100644 --- a/companion/src/translations/companion_pt.ts +++ b/companion/src/translations/companion_pt.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -60,22 +60,22 @@ BankPage - + One - + Two - + <br>First Elevon Channel: - + Second Elevon Channel: @@ -141,7 +141,7 @@ ConclusionPage - + OK, I understand. @@ -149,41 +149,36 @@ CurveGroup - + Diff - + Expo - + Func - + Curve Curva Curves - - - Form - - - Standard + Fixed X - Custom + Custom X @@ -258,47 +253,47 @@ - + Curve %1 Curva %1 - + %1 points - + Linear - + Single Expo - + Symmetrical f(x)=-f(-x) - + Symmetrical f(x)=f(-x) - + Are you sure you want to reset curve %1 ? - + Editing curve %1 - + Not enough free points in EEPROM to store the curve. @@ -306,82 +301,82 @@ CustomFunctionsPanel - + Switch Interruptor - + Action - + Parameters - + Enable - + SF%1 - + ON - + Error Erro - + Unable to find sound file %1! - + &Delete - + Delete - + &Copy &Copiar - + Ctrl+C Ctrl+C - + &Cut - + Ctrl+X - + &Paste Co&lar - + Ctrl+V Ctrl+V @@ -389,22 +384,22 @@ CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -418,98 +413,36 @@ - + GV - The source for the mixer - A fonte para a mistura + A fonte para a mistura Input name - - - Phase used by the input. - - Flight modes - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Switch Interruptor - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - - - - - The curve used by the input - - - - + Source Fonte - + Line name @@ -519,50 +452,51 @@ If blank then the input is considered to be "ON" all the time. - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - - - - + Scale - + Include Trim Incluir Ajustes (Trim) - + No - + Yes - + Curve Curva + + + Curve applied to the source. + + NEG + + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + POS @@ -602,22 +536,22 @@ p, li { white-space: pre-wrap; } FblPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -625,38 +559,33 @@ p, li { white-space: pre-wrap; } FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: FlightMode - - - Form - - Fade In @@ -677,26 +606,6 @@ p, li { white-space: pre-wrap; } Switch Interruptor - - - trim1 - - - - - trim2 - - - - - trim4 - - - - - trim3 - - Rud @@ -727,21 +636,26 @@ p, li { white-space: pre-wrap; } GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 - + (%1) - + (default) @@ -749,17 +663,17 @@ p, li { white-space: pre-wrap; } FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -783,13 +697,12 @@ These will be relevant for all models in the same EEPROM. Parâmetros - + Contrast Contraste - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -799,12 +712,12 @@ p, li { white-space: pre-wrap; } - + Battery Warning Alerta de Bateria - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -812,29 +725,29 @@ Acceptable values are 5v..10v - + v v - + This is the switch selectrion for turning on the backlight (if installed). - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - + sec seg. - + Inactivity Timer Temporizador de Inatividade @@ -873,57 +786,57 @@ Acceptable values are 5v..10v - - - - + + + + Off - + Trainer - + PPM 1 - - - - + + + + chn1 - - - - + + + + chn2 - - - - + + + + chn3 - - - - + + + + chn4 - + Mode @@ -992,7 +905,7 @@ Acceptable values are 5v..10v - + GPS Coordinates @@ -1022,32 +935,32 @@ Acceptable values are 5v..10v - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC - + LCD Display Type - + Standard - + Optrex @@ -1062,22 +975,22 @@ Acceptable values are 5v..10v - + BackLight Brightness - + RotEnc Navigation - + BackLight Auto OFF after - + BackLight Switch @@ -1127,7 +1040,7 @@ Acceptable values are 5v..10v - + Measurement Units @@ -1192,12 +1105,12 @@ Acceptable values are 5v..10v - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + R E T A @@ -1207,142 +1120,192 @@ Acceptable values are 5v..10v - + + Default Channel Order + Ordem dos Canais por Defeito + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + S3 Type - + OFF OFF - + S-Port Mirror - + Debug - + Serial Port @@ -1352,264 +1315,240 @@ Acceptable values are 5v..10v - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - - + + Hz - + "No Sound" Warning - + Low Memory Warning - + --- - + 2s - + 3s - + 4s - + 6s - + 8s - + 10s - + 15s - + Vario pitch at max - + ms - + Vario repeat at zero - + Input - + Weight Peso - - - - + + + + += (Sum) - - - - + + + + := (Replace) - + PPM 2 - + PPM 3 - + PPM 4 - - POT 4 - - - - - + + Negative span - - + + Mid value - - + + Positive span - STICK 1 - STICK 1 + STICK 1 - STICK 2 - STICK 2 + STICK 2 - + Current - - - + + + None - - - + + + Pot (normal) - - - + + + Multipos Switch - + S1 Type - + S2 Type - STICK 3 - STICK 4 + STICK 4 - STICK 4 - STICK 3 + STICK 3 - - POT 1 - - - - - POT 2 - - - - - POT 3 - - - - + Battery - + PPM Multiplier - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1624,23 +1563,23 @@ p, li { white-space: pre-wrap; } - + Beeper Mode Modo dos Alarmes Sonoros - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1651,16 +1590,8 @@ p, li { white-space: pre-wrap; } - Channel Order (For Templates) - Ordem dos Canais (para as Mascaras) - - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - + Ordem dos Canais (para as Mascaras) @@ -1711,38 +1642,38 @@ Mode 4: Modo 4 (AIL THR ELE RUD) - + Show Splash Screen on Startup - - + + Show splash screen on startup - + Rud - + Ele - + Thr - + Ail - + Calibration Calibração @@ -1783,28 +1714,23 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot Heli - - - Form - - Invert Elevator @@ -1869,22 +1795,22 @@ Are you sure ? HeliPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -1917,7 +1843,7 @@ Are you sure ? - Clear All Settings + Clear All Inputs @@ -2069,42 +1995,42 @@ Are you sure ? - + &Delete - + Delete - + &Copy &Copiar - + Ctrl+C Ctrl+C - + &Cut - + Ctrl+X - + &Paste Co&lar - + Ctrl+V Ctrl+V @@ -2115,7 +2041,7 @@ Are you sure ? - + File loaded Ficheiro carregado @@ -2160,7 +2086,7 @@ Are you sure ? Ficheiro gravado - + Copyright @@ -2180,37 +2106,27 @@ Are you sure ? - - - - - - - - + + + + + + + + Error Erro - - - + + + Error opening file %1: %2. - - - Firmware does not longer fit in the radio, due to selected firmware options - - - - - Firmware does not fit in the radio, due to selected firmware options - - Compilation server termporary failure, try later @@ -2221,11 +2137,6 @@ Are you sure ? Display previous message again at startup ? - - - A new release of Companion is available please check the OpenTX website! - - Compilation server temporary failure, try later @@ -2300,123 +2211,128 @@ Do you want to download it now ? - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - + + Warning Aviso - + Conversion failed - + Restore failed - + Backup failed - + OpenTX Home Page: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Version %1, %3 - + Load backup from file - + Compare models - + Exit the application Sair da aplicação - + Set Menu Language - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 - + List available programmers Lista os programadores disponíveis - + Show fuses dialog - + Show the application's About box Sobre a aplicação - + + Show the list of radio profiles + + + + Write - + %2 - + Unable to find file %1! Impossível encontrar o ficheiro %1! - + Error reading file %1: %2. @@ -2431,6 +2347,17 @@ Do you want to download it now ? A new version of Companion is available (version %1)<br>Would you like to download it? + + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + @@ -2467,84 +2394,114 @@ Do you want to download it now ? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - + Cannot check Models and Settings compatibility! Continue anyway? - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Firmware write failed - + About Companion - + + New + + + + + Open... + + + + + Save + + + + + Save As... + + + + + Copy Model + + + + + Paste Model + + + + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge @@ -2555,597 +2512,526 @@ Write anyway ? - + Open Models and Settings file - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - - - - - - + + + + + + Backup Models and Settings From Radio - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Restore Models and Settings To Radio - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + OpenTX Companion - FW: %1 - Profile: %2 - - New Models+Settings - - - - + Create a new Models and Settings file - - Open Models+Settings... - - - - - Save Models+Settings... - - - - - + + Save Models and Settings file - - Save Models+Settings as... - - - - + Exit - + Cut Model - + Cut current model to the clipboard - - Copy Model... - - - - + Copy current model to the clipboard - - Paste Model... - - - - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + System language - + Use system language in menus - + Czech - + Use Czech in menus - + German - + Use German in menus - + English - + Use English in menus - + Finnish - + Use Finnish in menus - + French - + Use French in menus - + Italian - + Use Italian in menus - - Hebrew - - - - - Use Hebrew in menus - - - - + Polish - + Use Polish in menus - - Portuguese - - - - - Use Portuguese in menus - - - - + Swedish - + Use Swedish in menus - - Russian - - - - - Use Russian in menus - - - - - Dutch - - - - - Use Dutch in menus - - - - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Add Radio Profile - + Create a new Radio Setting Profile - + Manuals and other Documents - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - - + + Recent Files + + + + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - - + + File Ficheiro - - + + Edit Editar - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - - Show a selection list of radio profiles - - - - + Ready Pronto @@ -3153,162 +3039,162 @@ Write anyway ? MdiChild - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Erro - + Editing model %1: A editar o modelo %1: - - + + Unable to find file %1! Impossível encontrar o ficheiro %1! - - + + Error reading file %1: %2. - + free bytes - + Companion - - - - + + + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - - + + + + Save As Gravar Como - + Backup is impossible - + The backup dir set in preferences does not exist - - - + + + Backup EEPROM From Radio - + Write EEPROM To Radio - + Open backup Models and Settings file - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning Aviso - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Invalid binary backup File %1 - + %1 has been modified. Do you want to save your changes? - - - - + + + + Cannot write file %1: %2. - + Error writing file %1: %2. - + Cannot write temporary file! Impossível gravar ficheiro temporário! @@ -3465,51 +3351,6 @@ This determines how mixer values are added. Include DR/Expo - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Delay @@ -3549,32 +3390,31 @@ p, li { white-space: pre-wrap; } Baixo - - DEST -> X%1 - - - - DEST -> CH%1%2 - DEST -> CH%1%2 + DEST -> CH%1%2 - + + DEST -> CH%1 + DEST -> CH%1 + + + Rud - + Ele - + Thr - + Ail @@ -3582,161 +3422,171 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up - - + + Ctrl+Up - - + + Move Down - - + + Ctrl+Down - + Clear Mixes - + Weight(%1) - + Switch(%1) - + No Trim - + No DR/Expo - + Offset(%1) - + Delay(u%1:d%2) Atraso(u%1:d%2) - + Slow(u%1:d%2) Lento(u%1:d%2) - + Warn(%1) Aviso(%1) - + Not enough available mixers! - + Delete Selected Mixes? Apagar misturas selecionadas? - + &Add &Adicionar - + Ctrl+A Ctrl+A - + &Edit &Editar - + Enter Enter - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete - + Delete - + &Copy &Copiar - + Ctrl+C Ctrl+C - - &Cut - - - - + Ctrl+X - + + C&ut + + + + &Paste Co&lar - + Ctrl+V Ctrl+V - + Du&plicate - + Ctrl+U - + Clear Mixes? - + Really clear all the mixes? @@ -3804,12 +3654,12 @@ p, li { white-space: pre-wrap; } Simular - + Clear Curves? - + Really clear all the curves? @@ -3817,27 +3667,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -3975,118 +3825,115 @@ p, li { white-space: pre-wrap; } Module - - Form - - - - + Failsafe Mode - + Start - + PPM delay - usec - useg + useg - + Negative - + Positive - + Master - + Slave - + Polarity - + Trainer Mode - - mSec - - - - + PPM Frame Length - - Label + ch + ch + + + + CH - - - ch - ch + + us + - + + ms + + + + Channels Canais - + Hold - + Custom - + No Pulses - + Receiver - + Failsafe Positions - + Protocol Protocolo - + Receiver No. @@ -4117,22 +3964,22 @@ p, li { white-space: pre-wrap; } MultirotorPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4140,734 +3987,740 @@ p, li { white-space: pre-wrap; } QObject - - + + FM%1 FP%1 - + Input%1 - + Polish + - X%1 - - - - CH%1 CH%1 - + No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim - + Play Sound - + Start Logs - + Play Haptic - - - + + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - + No repeat - + %1 sec - + Reset - + S3 - + RSSI Tx - + RSSI Rx - + Rx Batt - + A3 - + A4 - + Cells - - ASpd - - - - + dTE - + + Hdg + + + + + AirSpeed + + + + A3- - + A4- - + Speed+ - + Dist+ - + + AirSpeed+ + + + + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 - + S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + a>x - + a<x - + |a|>x - + |a|<x - + AND - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer Temporizador - + Sticky - + Unknown - + STAY(%1, [%2:%3]) - + STICKY(%1, %2) - + TIMER(%1, %2) - + Set Timer %1 - + Vario - + Play Track - + Play Both - + Play Value - + Volume - + Backlight - + Background Music - + Background Music Pause - + Delay %1 sec - + Edge - + Duration %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> - - + + Value - - + + Decr: - - + + Incr: @@ -4882,237 +4735,237 @@ p, li { white-space: pre-wrap; } %1s - + Adjust GV%1 - + Rotary Encoder - + Value - + Source Fonte - + GVAR - + Increment - + Finnish - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - - + + None - + Imperial - + Metric - + Extra Fine Extra-fino - + Fine Fino - + Medium Médio - + Coarse Aberto - + Exponential Exponencial - + Count Up Contagem progressiva - + Count Down Contagem regressiva - + %1:%2, %1:%2, - + : %1 Channels, %2usec Delay :%1 Canais, Atraso de %3 mseg {1 ?} {2m?} {1 ?} {2u?} - + Flight modes(%1) - + Flight mode(%1) - + Rudder Leme - + Elevator Elevador - + Throttle Acelerador - + Aileron Aileron - - - - + + + + Timer1 - - - - + + + + Timer2 - - - + + + All - - - + + + Telemetry - + Own value - + Keys - + Sticks - + Keys + Sticks - - + + -GV%1 - - - - + + + + ---- @@ -5123,472 +4976,470 @@ p, li { white-space: pre-wrap; } THR - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 - + Batt - + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - + TrmR - + TrmE - + TrmT - + TrmA - + S1 - + S2 - + LS - + RS - - - + + + REa - - - + + + REb - + Alt - + Rpm - + Fuel - + SWR - + Speed - + Dist - + GPS Alt - + Cell - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - - HDG - - - - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time - + S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + RudTrim Left - + RudTrim Right - + EleTrim Down - + EleTrim Up - + ThrTrim Down - + ThrTrim Up - + AilTrim Left - + AilTrim Right - + ABS - + THs - + TH% - + THt - + ??? - + Diff(%1) - + Expo(%1) - + Function(%1) - + Curve(%1) - + !Curve(%1) - - X%1 - - - - - - + + + GV%1 + - Support for frsky telemetry mod + - Support for jeti telemetry mod + - Support for receiving ardupilot data + - Support for receiving NMEA data - + Support for telemetry easy board + - Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled + + + + + + + Enable heli menu and cyclic mix support + + + + + + + + + + Enable TEMPLATES menu + + - - Enable heli menu and cyclic mix support - - - - - - - - - - Enable TEMPLATES menu + No splash screen @@ -5596,7 +5447,17 @@ p, li { white-space: pre-wrap; } - No splash screen + + + Disable curves menus + + + + + + + + Support for radio modified with regular speaker @@ -5605,8 +5466,7 @@ p, li { white-space: pre-wrap; } - - Disable curves menus + Used if you have modified your radio with voice mode @@ -5614,139 +5474,154 @@ p, li { white-space: pre-wrap; } - Support for radio modified with regular speaker - - - - - - - - - Used if you have modified your radio with voice mode - - - - - - - Used if you have modified your radio with haptic mode - - - - - - - - - - Use alternative SQT5 font - - - - - - - - Enable the throttle trace in Statistics - - - - - EEprom write progress bar - - - - - - No Winged Shadow How High support - - - - - - No vario support - - - - - - No GPS support - - - - - - No gauges in the custom telemetry screen - - - - - Allow compensating for offset errors in FrSky FAS current sensors - - - - - OpenTX for FrSky Taranis - - - - - OpenTX for FrSky Taranis Rev4a - - - - - Support of FrSky PXX protocol - - - - - OpenTX for Sky9x board / 9X - - - - - Use FrSky Taranis sticks in a 9X/9XR - - - - - - Disable HELI menu and cyclic mix support - - - - - - Disable TEMPLATES menu - - - - - - Disable Global variables - - - + + + + + Channel values displayed in us + + + + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + + + + + + + + + Use alternative SQT5 font + + + + + + + + Enable the throttle trace in Statistics + + + + + EEprom write progress bar + + + + + + No Winged Shadow How High support + + + + + + No vario support + + + + + + No GPS support + + + + + + No gauges in the custom telemetry screen + + + + + Allow compensating for offset errors in FrSky FAS current sensors + + + + + OpenTX for FrSky Taranis + + + + + OpenTX for FrSky Taranis Rev4a + + + + + Support of FrSky PXX protocol + + + + + OpenTX for Sky9x board / 9X + + + + + Use FrSky Taranis sticks in a 9X/9XR + + + + + + Disable HELI menu and cyclic mix support + + + + + + Disable TEMPLATES menu + + + + + + Disable Global variables + + + + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits @@ -5757,27 +5632,15 @@ p, li { white-space: pre-wrap; } - - - PPM values displayed in us - - - - - - - - - Symetrical Limits - - - - - + + + + + Pots use in menus navigation @@ -5788,52 +5651,52 @@ p, li { white-space: pre-wrap; } - + OpenTX for 9X board - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - In model setup menus automatically set source by moving some of them + Enable resetting values by pressing up and down at the same time - - + + - In model setup menus automatically set switch by moving some of them + No graphical check boxes and sliders + + - Enable resetting values by pressing up and down at the same time + Battery graph @@ -5843,113 +5706,93 @@ p, li { white-space: pre-wrap; } - No graphical check boxes and sliders - - - - - - - - - - Battery graph - - - - - - - - - Don't use bold font for highlighting active items - + OpenTX for M128 / 9X board - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units - + Bluetooth interface - - - - - - + + + + + + Global variables - + OpenTX for 9XR - + OpenTX for 9XR with M128 chip - + OpenTX for Gruvin9x board / 9X - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + Enable HELI menu and cyclic mix support - + A1 - + A2 - + T1 - + T2 @@ -5960,37 +5803,31 @@ p, li { white-space: pre-wrap; } - - Simultaneous usage of expo and curves is no longer supported in open9x - - - - + CYC%1 - CH%1%2 CH%1 - CH%1 + CH%1 - - + + ON - - - + + + OFF OFF - + Warning Aviso @@ -6000,7 +5837,7 @@ p, li { white-space: pre-wrap; } - + Simulator for this firmware is not yet available @@ -6010,38 +5847,29 @@ p, li { white-space: pre-wrap; } - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels - - - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. - -We are really appreciative for that! - -The OpenTX/Companion Team. - - Trim disabled @@ -6077,42 +5905,39 @@ The OpenTX/Companion Team. Profile image + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage - + No - + Yes - + <br>Rudder Channel: Setup - - - Form - - - - - Timer2 - - - - - Timer1 - - Center beep @@ -6163,6 +5988,16 @@ The OpenTX/Companion Team. Display Checklist + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -6235,7 +6070,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimpleTailPage - + Elevator Channel: @@ -6243,28 +6078,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimulatorDialog - - + + Warning Aviso - + Joystick enabled but not configured correctly - + Cannot open joystick, joystick disabled - + Simulating Radio (%1) - + Firmware %1 error: %2 @@ -6277,124 +6112,97 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - - - + + + + Right Double Click to Reset - THR - THR + THR - RUD - RUD + RUD - ELE - ELE + ELE - AIL - AIL + AIL - - + + Hold X Manter X - - + + Fix X Fixar X - - + + Fix Y Fixar Y - - + + Hold Y Manter Y - - - - - TextLabel - - - - TRN - TRN + TRN - GEA - GEA + GEA - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - + BEEP BEEP - P1 - P1 + P1 - - - - 0 % - - - - P2 - P2 + P2 - P3 - P3 + P3 - + 9x Simulator - + Outputs @@ -6407,125 +6215,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - + + Hold Y Manter Y - - + + Fix Y Fixar Y - - + + Fix X Fixar X - - + + Hold X Manter X - - - SD - - - - - - SC - - - - - - - + + + + Right Double Click to Reset - - - S2 - - - - - - SG - - - - - - RS - - - - - - SH - - - - - - - - TextLabel - - - - - - S1 - - - - - - SB - - - - - - SA - - - - - - SE - - - - - - - SF - - - - - - LS - - - - + Taranis Simulator - + Outputs @@ -6541,12 +6268,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: @@ -6554,33 +6281,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: Telemetry - - - Form - - @@ -6636,6 +6358,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Alarm 2 + + + CELS + + Serial Protocol @@ -6687,11 +6414,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi FrSky Sensor Hub - - - CEL - - Units @@ -6800,11 +6522,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryAnalog - - - Form - - Unit @@ -6929,11 +6646,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryCustomScreen - - - Form - - Custom Screen Type @@ -7001,17 +6713,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: @@ -7019,14 +6731,8 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Timer - - Form - - - - mm:ss - mm:ss + mm:ss @@ -7043,11 +6749,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Persistent - - - (00:00:00) - - TimerPanel @@ -7070,12 +6771,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -7083,12 +6784,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -7286,12 +6987,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -7304,11 +7010,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -7359,17 +7060,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Model Name: - + Model Type: - + Channel %1: @@ -7377,20 +7078,20 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi appPreferencesDialog - + Simulator capture folder - + Remember simulator switch values - - - - + + + + Open Folder @@ -7448,354 +7149,347 @@ Mode 4: Modo 4 (AIL THR ELE RUD) - - Channel order - -This is used by the templated to determine which channel goes to what number output. - - - - + R E T A - + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + Default Stick Mode Modo do Rádio por Defeito - + Profile Name - + Splash Screen - - Channel Order - - - - + SD Structure path - + Remove Profile - + Select Image - + Radio Type - + Clear Image - + 9X - + 9X with m128 - + 9XR - + 9XR with m128 - + Gruvin9x Board - + Sky9x Board - + Taranis - + General Settings Parâmetros Gerais - + Append version number to FW file name - + Offer to write FW to Tx after download - - General Settings Label - - - - + Application Settings - + Only show user splash images - + Show user and companion splash images - + User Splash Screens - + Use model wizard when creating a new model - + Simulator Settings - + Blue - + Green - + Red - + Orange - + Yellow - + Splash Screen Library - + Files to keep - + Simulator BackLight - + Automatic Backup Folder - + Only capture to clipboard - + Joystick - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + + Default Channel Order + Ordem dos Canais por Defeito + + + Find Executable - + Google Earth Executable - + Calibrate - + Enable - + Show splash screen when Companion starts - + Automatic check for OpenTX firmware updates - + Automatic check for Companion updates - + Enable automatic backup before writing firmware @@ -8399,11 +8093,6 @@ m2560 for v4.1 boards There is no start screen image in the firmware file. - - - The profile image %1 does not contain an image. - - Images (%1) @@ -8464,6 +8153,11 @@ m2560 for v4.1 boards Error Erro + + + Profile image %1 is invalid. + + Cannot save customized firmware @@ -8732,6 +8426,16 @@ m2560 for v4.1 boards Weight Peso + + + 5 Point Curves + + + + + 9 Point Curves + + Logical Switches @@ -8791,11 +8495,6 @@ m2560 for v4.1 boards Curves Curvas - - - 5 Points Curves - - @@ -8804,11 +8503,6 @@ m2560 for v4.1 boards pt %1 pt %1 - - - 9 Points Curves - - Special Functions @@ -8997,9 +8691,8 @@ m2560 for v4.1 boards contributorsDialog - Dialog - Dialogo + Dialogo @@ -9123,7 +8816,7 @@ m2560 for v4.1 boards - Cannot load the profile image %1. + Cannot load profile image %1. @@ -9284,52 +8977,6 @@ p, li { white-space: pre-wrap; } Downloads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Set language of voice. @@ -9366,11 +9013,6 @@ May be different from firmware language Download Voice - - - FwInfo - - Download FW @@ -9637,22 +9279,27 @@ Press cancel to abort joystick calibration - + Zoom - + X - + Y - + + Reset + + + + Fly sessions @@ -9667,28 +9314,28 @@ Press cancel to abort joystick calibration - + Error Erro - + Cannot write file %1: %2. - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -10022,52 +9669,6 @@ May be different from firmware language Use clipboard only - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Check for updates @@ -10203,9 +9804,8 @@ May be different from firmware language printDialog - Dialog - Dialogo + Dialogo diff --git a/companion/src/translations/companion_ru.ts b/companion/src/translations/companion_ru.ts index a98fe3aaf..14c3cf9ec 100644 --- a/companion/src/translations/companion_ru.ts +++ b/companion/src/translations/companion_ru.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -60,22 +60,22 @@ BankPage - + One - + Two - + <br>First Elevon Channel: - + Second Elevon Channel: @@ -141,7 +141,7 @@ ConclusionPage - + OK, I understand. @@ -149,41 +149,36 @@ CurveGroup - + Diff - + Expo - + Func - + Curve Кривая Curves - - - Form - - - Standard + Fixed X - Custom + Custom X @@ -258,47 +253,47 @@ - + Curve %1 Кривая %1 - + %1 points - + Linear - + Single Expo - + Symmetrical f(x)=-f(-x) - + Symmetrical f(x)=f(-x) - + Are you sure you want to reset curve %1 ? - + Editing curve %1 - + Not enough free points in EEPROM to store the curve. @@ -306,82 +301,82 @@ CustomFunctionsPanel - + Switch Тумблер - + Action - + Parameters - + Enable - + SF%1 - + ON - + Error Ошибка - + Unable to find sound file %1! - + &Delete Удалить - + Delete Удалить - + &Copy Копировать - + Ctrl+C - + &Cut Вырезать - + Ctrl+X - + &Paste Вставить - + Ctrl+V @@ -389,22 +384,22 @@ CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -418,98 +413,36 @@ - + GV - The source for the mixer - Источник для микшера + Источник для микшера Input name - - - Phase used by the input. - - Flight modes - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Switch Тумблер - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - - - - - The curve used by the input - - - - + Source Источник - + Line name @@ -519,7 +452,6 @@ If blank then the input is considered to be "ON" all the time. - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -531,41 +463,57 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - Задержка и замедление. + Задержка и замедление. Эти значение управляют скоростью и задержкой на выходе микшера. Если "Задержка" не равна нулю, то срабатывание микшера происходит через указанное число секунд. Если "Замедление" не равно нулю, то это значение означает число секунд для перемещения от -100 до +100. - + Scale - + Include Trim Исп. трим - + No - + Yes - + Curve Кривая + + + Curve applied to the source. + + NEG + + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + POS @@ -605,22 +553,22 @@ p, li { white-space: pre-wrap; } FblPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -628,38 +576,33 @@ p, li { white-space: pre-wrap; } FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: FlightMode - - - Form - - Fade In @@ -680,26 +623,6 @@ p, li { white-space: pre-wrap; } Switch Тумблер - - - trim1 - - - - - trim2 - - - - - trim4 - - - - - trim3 - - Rud @@ -730,21 +653,26 @@ p, li { white-space: pre-wrap; } GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 - + (%1) - + (default) @@ -752,17 +680,17 @@ p, li { white-space: pre-wrap; } FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -787,13 +715,12 @@ These will be relevant for all models in the same EEPROM. Настройка - + Contrast Конраст - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -804,12 +731,12 @@ p, li { white-space: pre-wrap; } Значения в пределах 20-45 - + Battery Warning Напряж. при разряде - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -820,29 +747,29 @@ Acceptable values are 5v..10v Диапазон 5В..10В - + v В - + This is the switch selectrion for turning on the backlight (if installed). Включение подсветки (при ее наличии). - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Если не равно нулю, то любое нажатие кнопок будет включать подсветку и выключать ее через указанное кол-во секунд. - + sec сек - + Inactivity Timer Таймер активности @@ -881,57 +808,57 @@ Acceptable values are 5v..10v долго - - - - + + + + Off - + Trainer - + PPM 1 - - - - + + + + chn1 - - - - + + + + chn2 - - - - + + + + chn3 - - - - + + + + chn4 - + Mode @@ -1000,7 +927,7 @@ Acceptable values are 5v..10v - + GPS Coordinates @@ -1030,32 +957,32 @@ Acceptable values are 5v..10v - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC - + LCD Display Type - + Standard - + Optrex @@ -1070,22 +997,22 @@ Acceptable values are 5v..10v - + BackLight Brightness - + RotEnc Navigation - + BackLight Auto OFF after - + BackLight Switch @@ -1135,7 +1062,7 @@ Acceptable values are 5v..10v - + Measurement Units @@ -1200,12 +1127,12 @@ Acceptable values are 5v..10v - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + R E T A @@ -1215,142 +1142,192 @@ Acceptable values are 5v..10v - + + Default Channel Order + Порядок следов. каналов + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + S3 Type - + OFF ВЫКЛ - + S-Port Mirror - + Debug - + Serial Port @@ -1360,264 +1337,224 @@ Acceptable values are 5v..10v - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - - + + Hz - + "No Sound" Warning - + Low Memory Warning - + --- - + 2s - + 3s - + 4s - + 6s - + 8s - + 10s - + 15s - + Vario pitch at max - + ms - + Vario repeat at zero - + Input - + Weight Вес - - - - + + + + += (Sum) - - - - + + + + := (Replace) - + PPM 2 - + PPM 3 - + PPM 4 - - POT 4 - - - - - + + Negative span - - + + Mid value - - + + Positive span - - STICK 1 - - - - - STICK 2 - - - - + Current - - - + + + None - - - + + + Pot (normal) - - - + + + Multipos Switch - + S1 Type - + S2 Type - - STICK 3 - - - - - STICK 4 - - - - - POT 1 - - - - - POT 2 - - - - - POT 3 - - - - + Battery - + PPM Multiplier PPM множитель - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -1636,23 +1573,23 @@ p, li { white-space: pre-wrap; } "Тишина" - Предупреждение о "тихом" режиме (без звука) - + Beeper Mode Режим бипов - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1669,16 +1606,14 @@ p, li { white-space: pre-wrap; } 4 - Очень громкая. - Channel Order (For Templates) - Порядок каналов + Порядок каналов - Channel order This is used by the templated to determine which channel goes to what number output. - Порядок каналов + Порядок каналов Используется в шаблоне порядка следования каналов. @@ -1732,38 +1667,38 @@ Mode 4: - + Show Splash Screen on Startup Показывать заставку - - + + Show splash screen on startup Показывать заставку при включении - + Rud - + Ele - + Thr - + Ail - + Calibration Калибровка. @@ -1804,28 +1739,23 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot Heli - - - Form - - Invert Elevator @@ -1890,22 +1820,22 @@ Are you sure ? HeliPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -1938,7 +1868,7 @@ Are you sure ? - Clear All Settings + Clear All Inputs @@ -2090,42 +2020,42 @@ Are you sure ? - + &Delete Удалить - + Delete Удалить - + &Copy Копировать - + Ctrl+C - + &Cut Вырезать - + Ctrl+X - + &Paste Вставить - + Ctrl+V @@ -2136,7 +2066,7 @@ Are you sure ? - + File loaded Файл загружен @@ -2181,7 +2111,7 @@ Are you sure ? Файл записан - + Copyright @@ -2201,37 +2131,27 @@ Are you sure ? - - - - - - - - + + + + + + + + Error Ошибка - - - + + + Error opening file %1: %2. - - - Firmware does not longer fit in the radio, due to selected firmware options - - - - - Firmware does not fit in the radio, due to selected firmware options - - Compilation server termporary failure, try later @@ -2242,11 +2162,6 @@ Are you sure ? Display previous message again at startup ? - - - A new release of Companion is available please check the OpenTX website! - - Compilation server temporary failure, try later @@ -2344,112 +2259,147 @@ Do you want to download it now ? %2. - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - + + Warning Звук - + Conversion failed - + Restore failed - + Backup failed - + OpenTX Home Page: <a href='%1'>%1</a> - + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Version %1, %3 - + + New + + + + + Open... + + + + + Save + + + + + Save As... + + + + + Copy Model + + + + + Paste Model + + + + Load backup from file - + Compare models - + Exit the application Выйти из программы - + List available programmers Показать список программаторов - + Show fuses dialog Показать диалог установки фьюзов - + Show the application's About box Показать окно "О программе" - + Set Menu Language - + + Show the list of radio profiles + + + + Write - + %2 - + Unable to find file %1! Невозможно найти файл %1! - + Error reading file %1: %2. Ошибка при считывании файла %1: @@ -2465,6 +2415,17 @@ Do you want to download it now ? A new version of Companion is available (version %1)<br>Would you like to download it? + + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + @@ -2479,84 +2440,84 @@ Do you want to download it now ? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - + Cannot check Models and Settings compatibility! Continue anyway? - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Firmware write failed - + About Companion - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal нормально - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge @@ -2567,608 +2528,537 @@ Write anyway ? - + Open Models and Settings file - - - - + + + + Read Models and Settings From Radio - + Write Radio Backup from %1 to the radio? - - - - - - + + + + + + Backup Models and Settings From Radio - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Write Backup To Radio - - + + Write Firmware To Radio - + Restore Models and Settings To Radio - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Could not write firmware to radio. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from Radio. Firmware write process aborted - + Save Radio Backup to File - + Read Radio Backup - + Read Radio Firmware to File - + OpenTX Companion - FW: %1 - Profile: %2 - - New Models+Settings - - - - + Create a new Models and Settings file - - Open Models+Settings... - - - - - Save Models+Settings... - - - - - + + Save Models and Settings file - - Save Models+Settings as... - - - - + Exit - + Cut Model - + Cut current model to the clipboard - - Copy Model... - - - - + Copy current model to the clipboard - - Paste Model... - - - - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + System language - + Use system language in menus - + Czech - + Use Czech in menus - + German - + Use German in menus - + English - + Use English in menus - + Finnish - + Use Finnish in menus - + French - + Use French in menus - + Italian - + Use Italian in menus - - Hebrew - - - - - Use Hebrew in menus - - - - + Polish - + Use Polish in menus - - Portuguese - - - - - Use Portuguese in menus - - - - + Swedish - + Use Swedish in menus - - Russian - - - - - Use Russian in menus - - - - - Dutch - - - - - Use Dutch in menus - - - - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Load Backup... - + View Log File... - + Open and view log file - + Settings... - + Edit Settings - + Download... - + Download firmware and voice files - + Check for Updates... - + Check OpenTX and Companion updates - + Companion Changes... - + Show Companion change log - + Firmware Changes... - + Show firmware change log - + Compare Models... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - + Read Firmware from Radio - + Read firmware from Radio - + Write Firmware to Radio - + Write firmware to Radio - + Add Radio Profile - + Create a new Radio Setting Profile - + Manuals and other Documents - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio - + Write Models and Settings to Radio - + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - - + + Recent Files + + + + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 - - + + File Файл - - + + Edit Правка - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - - Show a selection list of radio profiles - - - - + Ready Готово @@ -3176,165 +3066,165 @@ Write anyway ? MdiChild - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Ошибка - + Editing model %1: Редактирование модели %1: - - + + Unable to find file %1! Невозможно найти файл %1! - - + + Error reading file %1: %2. Ошибка при считывании файла %1: %2. - - - - + + + + Error opening file %1: %2. - + free bytes - + Companion - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - - + + + + Save As Сохранить как... - - - - + + + + Cannot write file %1: %2. Не удается записать файл %1: %2. - + Backup is impossible - + The backup dir set in preferences does not exist - - - + + + Backup EEPROM From Radio - + Write EEPROM To Radio - + Open backup Models and Settings file - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning Звук - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Invalid binary backup File %1 - + %1 has been modified. Do you want to save your changes? - + Error writing file %1: %2. Ошибка при записи файла %1: %2. - + Cannot write temporary file! Не удается записать временный файл! @@ -3499,51 +3389,6 @@ This determines how mixer values are added. Include DR/Expo - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - Delay @@ -3586,33 +3431,27 @@ p, li { white-space: pre-wrap; } Низ - - DEST -> X%1 + + DEST -> CH%1 - - DEST -> CH%1%2 - ??? - - - - + Rud - + Ele - + Thr - + Ail @@ -3620,161 +3459,175 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up - - + + Ctrl+Up - - + + Move Down - - + + Ctrl+Down - + Clear Mixes - + Weight(%1) - + Switch(%1) - + No Trim - + No DR/Expo - + Offset(%1) - + Delay(u%1:d%2) Задержка(u%1:d%2) - + Slow(u%1:d%2) Задержка(u%1:d%2) - + Warn(%1) Пред(%1) - + Not enough available mixers! - + Delete Selected Mixes? Удалить выбранные микшеры? - + &Add Добавить - + Ctrl+A - + &Edit Правка - + Enter Ввод - + + &Toggle highlight + + + + + Ctrl+T + + + + &Delete Удалить - + Delete Удалить - + &Copy Копировать - + Ctrl+C - &Cut - Вырезать + Вырезать - + Ctrl+X - + + C&ut + + + + &Paste Вставить - + Ctrl+V - + Du&plicate - + Ctrl+U - + Clear Mixes? - + Really clear all the mixes? @@ -3842,12 +3695,12 @@ p, li { white-space: pre-wrap; } Симуляция - + Clear Curves? - + Really clear all the curves? @@ -3855,27 +3708,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -4013,118 +3866,115 @@ p, li { white-space: pre-wrap; } Module - - Form - - - - + Failsafe Mode - + Start - + PPM delay - usec - мсек + мсек - + Negative - + Positive - + Master - + Slave - + Polarity - + Trainer Mode - - mSec - - - - + PPM Frame Length - - Label + ch + ch + + + + CH - - - ch - ch + + us + - + + ms + + + + Channels Каналы - + Hold - + Custom - + No Pulses - + Receiver - + Failsafe Positions - + Protocol Протокол - + Receiver No. @@ -4155,22 +4005,22 @@ p, li { white-space: pre-wrap; } MultirotorPage - - Trottle Channel: + + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4178,799 +4028,805 @@ p, li { white-space: pre-wrap; } QObject - - + + FM%1 FP%1 - + Input%1 - + Polish + - X%1 - - - - CH%1 - + No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim - + Play Sound - + Start Logs - + Play Haptic - - - + + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - + No repeat - + %1 sec - + Reset - + S3 - + RSSI Tx - + RSSI Rx - + Rx Batt - + A3 - + A4 - + Cells - - ASpd - - - - + dTE - + + Hdg + + + + + AirSpeed + + + + A3- - + A4- - + Speed+ - + Dist+ - + + AirSpeed+ + + + + Cell- - + Cells- - + Vfas- - + Curr+ - + Powr+ - + ACC - - + + L1 - - + + L2 - - + + L3 - - + + L4 - - + + L5 - - + + L6 - - + + L7 - - + + L8 - - + + L9 - - + + L10 - - + + L11 - - + + L12 - - + + L13 - - + + L14 - - + + L15 - - + + L16 - - + + L17 - - + + L18 - - + + L19 - - + + L20 - - + + L21 - - + + L22 - - + + L23 - - + + L24 - - + + L25 - - + + L26 - - + + L27 - - + + L28 - - + + L29 - - + + L30 - - + + L31 - - + + L32 - + [I%1] - + TR%1 - + S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + RudTrim Left - + RudTrim Right - + EleTrim Down - + EleTrim Up - + ThrTrim Down - + ThrTrim Up - + AilTrim Left - + AilTrim Right - + ABS - + THs - + TH% - + THt - + ??? - + a>x - + a<x - + |a|>x - + |a|<x - + AND - + OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer - + Sticky - + Unknown - + STAY(%1, [%2:%3]) - + STICKY(%1, %2) - + TIMER(%1, %2) - + Set Timer %1 - + Vario - + Play Track - + Play Both - + Play Value - + Volume - + Backlight - + Background Music - + Background Music Pause - + Delay %1 sec - + Edge - + Duration %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> - - + + Value - - + + Decr: - - + + Incr: @@ -4985,356 +4841,356 @@ p, li { white-space: pre-wrap; } - + Adjust GV%1 - + Rotary Encoder - + Value Значение - + Source Источник - + GVAR - + Increment - + Finnish - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - - + + None - + Imperial - + Metric - + Extra Fine очень точно - + Fine точно - + Medium средне - + Coarse грубо - + Exponential экспонента - + Count Up Прямой отсчет - + Count Down Обратный отсчет - + %1:%2, - + : %1 Channels, %2usec Delay - + Flight modes(%1) - + Flight mode(%1) - + Rudder Руддер - + Elevator Элеватор - + Throttle Газ - + Aileron Элероны - - - - + + + + Timer1 - - - - + + + + Timer2 - - - + + + All - - - + + + Telemetry - + Own value - + Keys - + Sticks - + Keys + Sticks - - + + -GV%1 - - - - + + + + ---- - - + + P1 - - + + P2 - - + + P3 - + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - - - + + + REa - - - + + + REb - + Alt - + Rpm - + Fuel - + Speed - + Dist - + GPS Alt - + Cell - + A1 - + A2 - + T1 - + T2 @@ -5345,254 +5201,233 @@ p, li { white-space: pre-wrap; } - - Simultaneous usage of expo and curves is no longer supported in open9x - - - - + TrmR - + TrmE - + TrmT - + TrmA - + S1 - + S2 - + LS - + RS - + Batt - + SWR - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - - HDG - - - - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time - + CYC%1 - - CH%1%2 - CH%1 - - - - - X%1 - - - - + S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + Diff(%1) - + Expo(%1) - + Function(%1) - + Curve(%1) - + !Curve(%1) - - - + + + GV%1 @@ -5603,85 +5438,93 @@ p, li { white-space: pre-wrap; } - - + + ON - - - + + + OFF ВЫКЛ + - Support for frsky telemetry mod + - Support for jeti telemetry mod + - Support for receiving ardupilot data + - Support for receiving NMEA data - + Support for telemetry easy board + - Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled + + + + + + + Enable heli menu and cyclic mix support + + + + + + + + + + Enable TEMPLATES menu + + - - Enable heli menu and cyclic mix support - - - - - - - - - - Enable TEMPLATES menu + No splash screen @@ -5689,7 +5532,17 @@ p, li { white-space: pre-wrap; } - No splash screen + + + Disable curves menus + + + + + + + + Support for radio modified with regular speaker @@ -5698,8 +5551,7 @@ p, li { white-space: pre-wrap; } - - Disable curves menus + Used if you have modified your radio with voice mode @@ -5707,139 +5559,154 @@ p, li { white-space: pre-wrap; } - Support for radio modified with regular speaker - - - - - - - - - Used if you have modified your radio with voice mode - - - - - - - Used if you have modified your radio with haptic mode - - - - - - - - - - Use alternative SQT5 font - - - - - - - - Enable the throttle trace in Statistics - - - - - EEprom write progress bar - - - - - - No Winged Shadow How High support - - - - - - No vario support - - - - - - No GPS support - - - - - - No gauges in the custom telemetry screen - - - - - Allow compensating for offset errors in FrSky FAS current sensors - - - - - OpenTX for FrSky Taranis - - - - - OpenTX for FrSky Taranis Rev4a - - - - - Support of FrSky PXX protocol - - - - - OpenTX for Sky9x board / 9X - - - - - Use FrSky Taranis sticks in a 9X/9XR - - - - - - Disable HELI menu and cyclic mix support - - - - - - Disable TEMPLATES menu - - - - - - Disable Global variables - - - + + + + + Channel values displayed in us + + + + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + + + + + + + + + Use alternative SQT5 font + + + + + + + + Enable the throttle trace in Statistics + + + + + EEprom write progress bar + + + + + + No Winged Shadow How High support + + + + + + No vario support + + + + + + No GPS support + + + + + + No gauges in the custom telemetry screen + + + + + Allow compensating for offset errors in FrSky FAS current sensors + + + + + OpenTX for FrSky Taranis + + + + + OpenTX for FrSky Taranis Rev4a + + + + + Support of FrSky PXX protocol + + + + + OpenTX for Sky9x board / 9X + + + + + Use FrSky Taranis sticks in a 9X/9XR + + + + + + Disable HELI menu and cyclic mix support + + + + + + Disable TEMPLATES menu + + + + + + Disable Global variables + + + + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits @@ -5850,27 +5717,15 @@ p, li { white-space: pre-wrap; } - - - PPM values displayed in us - - - - - - - - - Symetrical Limits - - - - - + + + + + Pots use in menus navigation @@ -5881,52 +5736,52 @@ p, li { white-space: pre-wrap; } - + OpenTX for 9X board - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - In model setup menus automatically set source by moving some of them + Enable resetting values by pressing up and down at the same time - - + + - In model setup menus automatically set switch by moving some of them + No graphical check boxes and sliders + + - Enable resetting values by pressing up and down at the same time + Battery graph @@ -5936,99 +5791,79 @@ p, li { white-space: pre-wrap; } - No graphical check boxes and sliders - - - - - - - - - - Battery graph - - - - - - - - - Don't use bold font for highlighting active items - + OpenTX for M128 / 9X board - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units - + Bluetooth interface - - - - - - + + + + + + Global variables - + OpenTX for 9XR - + OpenTX for 9XR with M128 chip - + OpenTX for Gruvin9x board / 9X - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + Enable HELI menu and cyclic mix support - + Warning Звук @@ -6038,7 +5873,7 @@ p, li { white-space: pre-wrap; } - + Simulator for this firmware is not yet available @@ -6048,38 +5883,29 @@ p, li { white-space: pre-wrap; } - + OpenTX only accepts %1 points in all curves - - - - + + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels - - - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. - -We are really appreciative for that! - -The OpenTX/Companion Team. - - Trim disabled @@ -6115,42 +5941,39 @@ The OpenTX/Companion Team. Profile image + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage - + No - + Yes - + <br>Rudder Channel: Setup - - - Form - - - - - Timer2 - - - - - Timer1 - - Center beep @@ -6201,6 +6024,16 @@ The OpenTX/Companion Team. Display Checklist + + + Timer 2 + + + + + Timer 1 + + Timer Source @@ -6273,7 +6106,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimpleTailPage - + Elevator Channel: @@ -6281,28 +6114,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SimulatorDialog - - + + Warning Звук - + Joystick enabled but not configured correctly - + Cannot open joystick, joystick disabled - + Simulating Radio (%1) - + Firmware %1 error: %2 @@ -6315,124 +6148,49 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - - - + + + + Right Double Click to Reset - - THR - - - - - RUD - - - - - ELE - - - - - AIL - - - - - + + Hold X - - + + Fix X - - + + Fix Y - - + + Hold Y - - - - - TextLabel - - - - - TRN - - - - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - + BEEP - - P1 - - - - - - - 0 % - - - - - P2 - - - - - P3 - - - - + 9x Simulator - + Outputs @@ -6445,125 +6203,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - + + Hold Y - - + + Fix Y - - + + Fix X - - + + Hold X - - - SD - - - - - - SC - - - - - - - + + + + Right Double Click to Reset - - - S2 - - - - - - SG - - - - - - RS - - - - - - SH - - - - - - - - TextLabel - - - - - - S1 - - - - - - SB - - - - - - SA - - - - - - SE - - - - - - - SF - - - - - - LS - - - - + Taranis Simulator - + Outputs @@ -6579,12 +6256,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: @@ -6592,33 +6269,28 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: Telemetry - - - Form - - @@ -6674,6 +6346,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Alarm 2 + + + CELS + + Serial Protocol @@ -6725,11 +6402,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi FrSky Sensor Hub - - - CEL - - Units @@ -6838,11 +6510,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryAnalog - - - Form - - Unit @@ -6967,11 +6634,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryCustomScreen - - - Form - - Custom Screen Type @@ -7039,33 +6701,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: Timer - - - Form - - - - - mm:ss - - Countdown @@ -7081,11 +6733,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Persistent - - - (00:00:00) - - TimerPanel @@ -7108,12 +6755,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -7121,12 +6768,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -7324,12 +6971,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. @@ -7342,11 +6994,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -7397,17 +7044,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Model Name: - + Model Type: - + Channel %1: @@ -7415,20 +7062,20 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi appPreferencesDialog - + Simulator capture folder - + Remember simulator switch values - - - - + + + + Open Folder @@ -7486,354 +7133,347 @@ Mode 4: - - Channel order - -This is used by the templated to determine which channel goes to what number output. - - - - + R E T A - + R E A T - + R T E A - + R T A E - + R A E T - + R A T E - + E R T A - + E R A T - + E T R A - + E T A R - + E A R T - + E A T R - + T R E A - + T R A E - + T E R A - + T E A R - + T A R E - + T A E R - + A R E T - + A R T E - + A E R T - + A E T R - + A T R E - + A T E R - + Default Stick Mode Режим стиков - + Profile Name - + Splash Screen - - Channel Order - - - - + SD Structure path - + Remove Profile - + Select Image - + Radio Type - + Clear Image - + 9X - + 9X with m128 - + 9XR - + 9XR with m128 - + Gruvin9x Board - + Sky9x Board - + Taranis - + General Settings Основные настройки - + Append version number to FW file name - + Offer to write FW to Tx after download - - General Settings Label - - - - + Application Settings - + Only show user splash images - + Show user and companion splash images - + User Splash Screens - + Use model wizard when creating a new model - + Simulator Settings - + Blue - + Green - + Red - + Orange - + Yellow - + Splash Screen Library - + Files to keep - + Simulator BackLight - + Automatic Backup Folder - + Only capture to clipboard - + Joystick - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + + Default Channel Order + Порядок следов. каналов + + + Find Executable - + Google Earth Executable - + Calibrate - + Enable - + Show splash screen when Companion starts - + Automatic check for OpenTX firmware updates - + Automatic check for Companion updates - + Enable automatic backup before writing firmware @@ -8439,11 +8079,6 @@ m2560 for v4.1 boards There is no start screen image in the firmware file. - - - The profile image %1 does not contain an image. - - Images (%1) @@ -8506,6 +8141,11 @@ m2560 for v4.1 boards Error Ошибка + + + Profile image %1 is invalid. + + Cannot save customized firmware @@ -8782,6 +8422,11 @@ m2560 for v4.1 boards DISABLED + + + 5 Point Curves + + @@ -8822,11 +8467,6 @@ m2560 for v4.1 boards Curves Кривые - - - 5 Points Curves - - @@ -8835,11 +8475,6 @@ m2560 for v4.1 boards pt %1 - - - 9 Points Curves - - Special Functions @@ -8973,6 +8608,11 @@ m2560 for v4.1 boards Flight mode + + + 9 Point Curves + + @@ -9039,9 +8679,8 @@ m2560 for v4.1 boards contributorsDialog - Dialog - Диалог + Диалог @@ -9165,7 +8804,7 @@ m2560 for v4.1 boards - Cannot load the profile image %1. + Cannot load profile image %1. @@ -9326,52 +8965,6 @@ p, li { white-space: pre-wrap; } Downloads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Set language of voice. @@ -9408,11 +9001,6 @@ May be different from firmware language Download Voice - - - FwInfo - - Download FW @@ -9679,22 +9267,27 @@ Press cancel to abort joystick calibration - + Zoom - + X - + Y - + + Reset + + + + Fly sessions @@ -9709,29 +9302,29 @@ Press cancel to abort joystick calibration - + Error Ошибка - + Cannot write file %1: %2. Не удается записать файл %1: %2. - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -10072,52 +9665,6 @@ May be different from firmware language Use clipboard only - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - - Check for updates @@ -10248,9 +9795,8 @@ May be different from firmware language printDialog - Dialog - Диалог + Диалог diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts index 0c65647a1..d6c31a347 100644 --- a/companion/src/translations/companion_sv.ts +++ b/companion/src/translations/companion_sv.ts @@ -149,7 +149,7 @@ CurveGroup - + Diff Diff @@ -172,19 +172,26 @@ Curves - Form - Form + Form - Standard - Standard + Standard + + + Custom + Special + + + + Fixed X + - Custom - Special + Custom X + @@ -306,7 +313,7 @@ CustomFunctionsPanel - + Switch Brytare @@ -417,7 +424,6 @@ Brytare - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -429,7 +435,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> @@ -442,7 +448,18 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Om Tröghet inte är noll kommer hastigheten i förändringar att begränsas av det angivna värdet -&gt; värdet specificerar det antal sekunder det tar att gå från fullt negativt utslag (-100) till fullt positivt utslag(100).</p></body></html> - + + Source for the mixer. + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + + + + Scale Skala @@ -467,7 +484,12 @@ p, li { white-space: pre-wrap; } Kurva - + + Curve applied to the source. + + + + Source Källa @@ -477,29 +499,27 @@ p, li { white-space: pre-wrap; } Linjenamn - + NEG Negativa - The source for the mixer - Mixerkälla + Mixerkälla - + Input name Inputnamn - Switch used by the input. If blank then the input is considered to be "ON" all the time. - Brytare som används av filret. + Brytare som används av filret. Om fältet lämnas tomt så är filtret aktivt hela tiden. - + POS Positiva @@ -514,68 +534,57 @@ Om fältet lämnas tomt så är filtret aktivt hela tiden. Vikt - Phase used by the input. - Flygläge som används av filtret. + Flygläge som används av filtret. - 0 - 0 + 0 - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 - The curve used by the input - Kurva som används av filtret + Kurva som används av filtret - - + + GV GV - + Flight modes Flyglägen @@ -613,9 +622,13 @@ Om fältet lämnas tomt så är filtret aktivt hela tiden. FblPage - Trottle Channel: - Gaskanal: + Gaskanal: + + + + Throttle Channel: + @@ -664,12 +677,11 @@ Om fältet lämnas tomt så är filtret aktivt hela tiden. FlightMode - Form - Form + Form - + Fade In Tona in @@ -689,24 +701,20 @@ Om fältet lämnas tomt så är filtret aktivt hela tiden. Brytare - trim1 - trim1 + trim1 - trim2 - trim2 + trim2 - trim4 - trim4 + trim4 - trim3 - trim3 + trim3 @@ -738,11 +746,16 @@ Om fältet lämnas tomt så är filtret aktivt hela tiden. GVAR%1 GVAR%1 + + + Popup enabled + + FlightModes - + Flight Mode %1 Flygläge %1 @@ -795,13 +808,12 @@ Dessa inställningar gäller för alla modeller. Välj Sändarens Startbild - + Contrast LCD-kontrast - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -816,7 +828,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Värden mellan 20 och 45</span></p></body></html> - + Sound Mode Ljudläge @@ -831,12 +843,12 @@ p, li { white-space: pre-wrap; } Högtalarton (endast högtalare) - + Battery Warning Batterivarning - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -866,12 +878,12 @@ Värden mellan mellan 5 och 10 volt accepteras sek - + Inactivity Timer Inaktivitetstimer - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. Efter det angivna antalet minuter av inaktivitet ljuder en varningssignal. 0 förhindrar larm. @@ -881,18 +893,18 @@ Värden mellan mellan 5 och 10 volt accepteras min - + Show Splash Screen on Startup Visa Startbild - + Show splash screen on startup Visa bild vid start av sändare - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -918,21 +930,19 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Tyst varning - varnar om summern är satt till tyst läge</p></body></html> - Channel Order (For Templates) - Kanalordning (för mallar) + Kanalordning (för mallar) - Channel order This is used by the templated to determine which channel goes to what number output. - Kanalordning + Kanalordning Används av mallarna för att koppla ihop kanaler med numrerade utgångar. - + Stick Mode Spak-tilldelning @@ -998,13 +1008,13 @@ Mode 4: Mode 4 (SKE GAS HÖJ ROD) - + Beeper Mode Summerläge - - + + @@ -1031,7 +1041,7 @@ Mode 4: 4 - Extra högt. - + Quiet Tyst @@ -1055,7 +1065,7 @@ Mode 4: Lång - + @@ -1100,7 +1110,7 @@ Mode 4: Läge - + Only Alarms Endast vid alarm @@ -1121,17 +1131,27 @@ Mode 4: Varioton vid nollpunkten - + Vario pitch at max Varioton vid maxhöjd - + R E T A R H G S - + + Default Channel Order + Kanalordning + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + R E A T R H S G @@ -1256,7 +1276,7 @@ Mode 4: Varna för lite minne - + --- ---- @@ -1296,7 +1316,47 @@ Mode 4: 9X {15s?} - + + Pot. 4 + + + + + Pot. 3 + + + + + Pot. 2 + + + + + Pot. 1 + + + + + Stick 3 + + + + + Stick 1 + + + + + Stick 2 + + + + + Stick 4 + + + + S3 Type S3-typ @@ -1321,7 +1381,7 @@ Mode 4: Serieport - + X-Short Extra Kort @@ -1349,7 +1409,7 @@ Mode 4: Upphäv Skrivskyddet - + SC SC @@ -1389,13 +1449,13 @@ Mode 4: SG - + Vario repeat at zero Repeterande varioton vid noll - - + + Hz Hz @@ -1425,17 +1485,15 @@ Mode 4: Kalibrering - STICK 1 - SPAK 1 + SPAK 1 - STICK 2 - SPAK 2 + SPAK 2 - + None @@ -1466,17 +1524,15 @@ Mode 4: S2-ratten - STICK 3 - SPAK 3 + SPAK 3 - STICK 4 - SPAK 4 + SPAK 4 - + Battery Batteri @@ -1491,12 +1547,12 @@ Mode 4: PPM Multiplikator - + Alarms Only Endast för alarm - + Trainer Elev @@ -1516,22 +1572,19 @@ Mode 4: PPM 2 - POT 1 - POT 1 + POT 1 - POT 2 - POT 2 + POT 2 - POT 3 - POT 3 + POT 3 - + Timeshift from UTC Tidsdifferens till UTC @@ -1551,12 +1604,12 @@ Mode 4: NMEA - + Haptic Length Vibrationstid - + LCD Display Type LCD-typ @@ -1571,7 +1624,7 @@ Mode 4: Optrex - + Store calib. and hw settings in selected profile Spara kalibrering och hårdvaruinställningar i vald profil @@ -1591,7 +1644,7 @@ Mode 4: Vibrationsstyrka - + BackLight Brightness Belysningens ljusstyrka @@ -1645,7 +1698,7 @@ Mode 4: Kalibrering ojch hårdvaruinställningar sparades. - + Speaker Högtalare @@ -1660,7 +1713,7 @@ Mode 4: Högtalarton - + RotEnc Navigation RotEnc Navigering @@ -1675,12 +1728,12 @@ Mode 4: Belysningsbrytare - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Om du väljer FAI-läget så stängs varion, uppspelningsfunktionerna och telemetri-skärmen av permanent. FAI-funktionen kan inte slås av i sändaren. - + FAI Mode FAI-läge @@ -1715,12 +1768,12 @@ Mode 4: Yard, Fot, Tum - + Measurement Units Måttenheter - + Voice Language Språk för Röst @@ -1799,7 +1852,7 @@ FAI-funktionen kan inte slås av i sändaren. 115200 Baud - + Rud Rod @@ -1835,9 +1888,8 @@ FAI-funktionen kan inte slås av i sändaren. Ske - POT 4 - POT 4 + POT 4 @@ -1861,12 +1913,11 @@ FAI-funktionen kan inte slås av i sändaren. Heli - Form - Form + Form - + Invert Elevator Invertera höjdroder @@ -1929,9 +1980,13 @@ FAI-funktionen kan inte slås av i sändaren. HeliPage - Trottle Channel: - Gaskanal: + Gaskanal: + + + + Throttle Channel: + @@ -1976,7 +2031,12 @@ FAI-funktionen kan inte slås av i sändaren. Ctrl+Down - + + Clear All Inputs + + + + Source(%1) Källa(%1) @@ -1996,12 +2056,11 @@ FAI-funktionen kan inte slås av i sändaren. Brytare(%1) - Clear All Settings - Radera alla inställningar + Radera alla inställningar - + Not enough available inputs! För få inputs är tillgängliga! @@ -2129,7 +2188,7 @@ FAI-funktionen kan inte slås av i sändaren. LB%1 - + &Delete &Ta bort @@ -2175,12 +2234,12 @@ FAI-funktionen kan inte slås av i sändaren. - + File loaded Filen har laddats - + @@ -2227,7 +2286,7 @@ Vill du ladda ned den nya versionen nu ? Filen sparades - + Copyright Copyright @@ -2292,7 +2351,7 @@ Vill du ladda ned den nya versionen nu ? Läs/Skriv - + Display previous message again at startup ? Skall föregående varning visas igen vid uppstart ? @@ -2311,7 +2370,7 @@ Version %2 finns tillgänglig. Vill du ladda ned den nu ? - + Conversion failed Konverteringen misslyckades @@ -2361,22 +2420,21 @@ Vill du ladda ned den nu ? Visa information om programmet - + Checking for updates Letar efter uppdateringar - A new release of Companion is available please check the OpenTX website! - En ny version av Companion finns tillgänglig. Var god kontrollera OpenTX webbsida! + En ny version av Companion finns tillgänglig. Var god kontrollera OpenTX webbsida! - + Ignore this version (r%1)? Ladda inte ned versionen (r%1)? - + OpenTX Home Page: <a href='%1'>%1</a> OpenTX Hemsida: <a href='%1'>%1</a> @@ -2396,35 +2454,31 @@ Vill du ladda ned den nu ? Version %1, %3 - New Models+Settings - Ny Modeller+Inställningar + Ny Modeller+Inställningar - + Create a new Models and Settings file Skapa en ny Modeller och Inställningar-fil - Open Models+Settings... - Öppna MOdeller+Inställningar... + Öppna MOdeller+Inställningar... - Save Models+Settings... - Spara Modeller+Inställningar... + Spara Modeller+Inställningar... - + Save Models and Settings file Spara Modeller och Inställningar-fil - Save Models+Settings as... - Spara Modeller+Inställningar som... + Spara Modeller+Inställningar som... @@ -2437,22 +2491,20 @@ Vill du ladda ned den nu ? Klipp ut vald modell till klippbordet - Copy Model... - Kopera Modell... + Kopera Modell... - + Copy current model to the clipboard Kopiera vald modell till klippbordet - Paste Model... - Klistra in Modell... + Klistra in Modell... - + Paste model from clipboard Klistra in modell från klippbordet @@ -2505,7 +2557,7 @@ Vill du ladda ned den nu ? Redo - + Display previous warning again at startup ? SKall föregående varning visas igen vid uppstart ? @@ -2515,7 +2567,7 @@ Vill du ladda ned den nu ? - + @@ -2527,7 +2579,7 @@ Vill du ladda ned den nu ? Fel - + Cannot write file %1: %2. Filen %1 kunde inte skrivas: @@ -2541,7 +2593,7 @@ Vill du ladda ned den nu ? - + Error opening file %1: @@ -2550,7 +2602,7 @@ Vill du ladda ned den nu ? %2. - + Compilation server termporary failure, try later Tillfälligt fel i byggservern. Försök igen senare @@ -2567,7 +2619,7 @@ Vill du ladda ned den nu ? Okänt server-fel. Försök igen senare - + Compare models Jämför modeller @@ -2579,7 +2631,18 @@ Vill du ladda ned den nu ? Säkerhetskopiering kan inte utföras - + + A new release of Companion is available, please check the OpenTX website! + + + + + + Not enough memory for all the selected firmware options + + + + The backup dir set in preferences does not exist @@ -2662,7 +2725,17 @@ Vill du ladda ned den nu ? Spara en komplett Backup av alla data i radion - + + Recent Files + + + + + Show the list of radio profiles + + + + Write Skriv @@ -2690,7 +2763,7 @@ Vill du ladda ned den nu ? Ladda backup från fil - + Yes Ja @@ -2753,12 +2826,12 @@ Vill du ladda ned den nu ? - + Open Models and Settings file Öppna Modeller och Inställningar-fil - + Firmware updates Firmware-uppdatering @@ -2768,7 +2841,7 @@ Vill du ladda ned den nu ? Den firmware som valts har inga release notes. - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -2807,22 +2880,20 @@ Starta skrivningen i alla fall ? Ett monokromt svart tema - Firmware does not longer fit in the radio, due to selected firmware options - Firmware får inte plats i radion eftersom alltför många funktioner är valda samtidigt + Firmware får inte plats i radion eftersom alltför många funktioner är valda samtidigt - Firmware does not fit in the radio, due to selected firmware options - Firmware får inte plats i radion eftersom alltför många funktioner är valda samtidigt + Firmware får inte plats i radion eftersom alltför många funktioner är valda samtidigt - + Do you want to write the firmware to the radio now ? Vill du skriva firmware till radion nu? - + @@ -2901,7 +2972,37 @@ Starta skrivningen i alla fall ? Spara radiobackup till fil - + + New + + + + + Open... + + + + + Save + Spara + + + + Save As... + + + + + Copy Model + + + + + Paste Model + + + + A monochrome white icon theme Ett monokromt vitt tema @@ -3011,17 +3112,15 @@ Starta skrivningen i alla fall ? Använd Italienska i menyerna - Hebrew - Hebreiska + Hebreiska - Use Hebrew in menus - Använd Hebreiska i menyerna + Använd Hebreiska i menyerna - + Polish Polska @@ -3031,17 +3130,15 @@ Starta skrivningen i alla fall ? Använd Polska i menyerna - Portuguese - Portugisiska + Portugisiska - Use Portuguese in menus - Använd Portugisiska i menyerna + Använd Portugisiska i menyerna - + Swedish Svenska @@ -3051,27 +3148,23 @@ Starta skrivningen i alla fall ? Använd Svenska i menyerna - Russian - Ryska + Ryska - Use Russian in menus - Använd Ryska i menyerna + Använd Ryska i menyerna - Dutch - Holländska + Holländska - Use Dutch in menus - Använd Holländska i menyerna + Använd Holländska i menyerna - + About... Om... @@ -3181,8 +3274,7 @@ Starta skrivningen i alla fall ? Bidragande... - - + Recent Models+Settings Senaste Modell+Inställnings-filer @@ -3203,12 +3295,11 @@ Starta skrivningen i alla fall ? Radioprofil - Show a selection list of radio profiles - Visa alla radioprofiler i en lista + Visa alla radioprofiler i en lista - + Invalid Models and Settings File %1 Filen innehåller inte Modeller och Inställningar: %1 @@ -3222,7 +3313,7 @@ Starta skrivningen i alla fall ? MdiChild - + @@ -3563,12 +3654,11 @@ p, li { white-space: pre-wrap; } Ned - DEST -> CH%1%2 - DEST -> KN%1%2 + DEST -> KN%1%2 - + Yes Ja @@ -3579,6 +3669,11 @@ p, li { white-space: pre-wrap; } + DEST -> CH%1 + DEST -> KN%1 + + + Rud Rod @@ -3608,57 +3703,47 @@ p, li { white-space: pre-wrap; } Inkludera DR/Expo - 0 - 0 + 0 - 1 - 1 + 1 - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - 5 - 5 + 5 - 6 - 6 + 6 - 7 - 7 + 7 - 8 - 8 + 8 - DEST -> X%1 - DEST -> X%1 + DEST -> X%1 - + Flight modes Flyglägen @@ -3673,36 +3758,36 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up Flytta uppåt - - + + Ctrl+Up Ctrl+Up - - + + Move Down Flytta nedåt - - + + Ctrl+Down Ctrl+Down - + Clear Mixes Nollställ mixarna - + Weight(%1) Vikt(%1) @@ -3742,7 +3827,7 @@ p, li { white-space: pre-wrap; } Varn(%1) - + Not enough available mixers! För få mixar är tillgängliga! @@ -3752,7 +3837,7 @@ p, li { white-space: pre-wrap; } Ta bort valda mixar? - + &Add &Lägg till @@ -3771,6 +3856,16 @@ p, li { white-space: pre-wrap; } Enter Retur + + + &Toggle highlight + + + + + Ctrl+T + + &Delete @@ -3792,14 +3887,18 @@ p, li { white-space: pre-wrap; } Ctrl+C - &Cut - Klipp &Ut + Klipp &Ut + + + + Ctrl+X + Ctrl+X - Ctrl+X - Ctrl+X + C&ut + @@ -3822,7 +3921,7 @@ p, li { white-space: pre-wrap; } Ctrl+U - + Clear Mixes? Ta bort mixarna? @@ -4066,12 +4165,11 @@ p, li { white-space: pre-wrap; } Module - Form - Form + Form - + Failsafe Mode Failsafe-läge @@ -4086,12 +4184,11 @@ p, li { white-space: pre-wrap; } PPM-fördröjning - usec - usec + usec - + Negative Negativ @@ -4101,7 +4198,12 @@ p, li { white-space: pre-wrap; } Positiv - + + ms + ms + + + Receiver Mottagare @@ -4116,7 +4218,17 @@ p, li { white-space: pre-wrap; } Lärare - + + CH + + + + + us + + + + Slave Elev @@ -4131,28 +4243,24 @@ p, li { white-space: pre-wrap; } Trainerläge - mSec - mSec + mSec - + PPM Frame Length PPM-ram - Label - Etikett + Etikett - - ch - kn + kn - + Channels Kanaler @@ -4208,9 +4316,13 @@ p, li { white-space: pre-wrap; } MultirotorPage - Trottle Channel: - Gaskanal: + Gaskanal: + + + + Throttle Channel: + @@ -4231,7 +4343,7 @@ p, li { white-space: pre-wrap; } QObject - + P1 @@ -4277,7 +4389,7 @@ p, li { white-space: pre-wrap; } T2 - + Trainer Trainer @@ -4317,15 +4429,15 @@ p, li { white-space: pre-wrap; } Starta loggning - - + + ---- ---- - + Rud Rod @@ -4350,15 +4462,15 @@ p, li { white-space: pre-wrap; } - + Timer1 Timer1 - - + + Timer2 @@ -4366,7 +4478,7 @@ p, li { white-space: pre-wrap; } - + Warning Varning @@ -4381,21 +4493,21 @@ p, li { white-space: pre-wrap; } Det finns ännu ingen simulator för denna typ av firmware - - + + REa REa - - + + REb REb - + RSSI Tx RSSI Tx @@ -4466,8 +4578,8 @@ p, li { white-space: pre-wrap; } GAS - - + + ON På @@ -4489,7 +4601,7 @@ p, li { white-space: pre-wrap; } th9x stödjer inte inställningshjul för detta sändarkort - + TrmR TrmR @@ -4544,7 +4656,7 @@ p, li { white-space: pre-wrap; } - + Edge @@ -4583,7 +4695,7 @@ p, li { white-space: pre-wrap; } Spela Värde - + S3 S3 @@ -4679,7 +4791,7 @@ p, li { white-space: pre-wrap; } Inm.Hjul E - + Play Track Spela Spår @@ -4715,12 +4827,11 @@ p, li { white-space: pre-wrap; } Expo och pspecialkurva kan inte längre kombineras - Simultaneous usage of expo and curves is no longer supported in open9x - Det går inte att använda Expo på en specialkurva i open9x + Det går inte att använda Expo på en specialkurva i open9x - + Support for frsky telemetry mod Stöd för FrSky telemeri @@ -4811,7 +4922,39 @@ p, li { white-space: pre-wrap; } Används om vibrator monterats i sändaren - + + + + + + + + + Channel values displayed in us + + + + + + + + + + In model setup menus automatically set source by moving the control + + + + + + + + + + In model setup menus automatically set switch by moving the control + + + + OpenTX for M128 / 9X board OpenTX för 9X med m128-processor @@ -4885,17 +5028,11 @@ p, li { white-space: pre-wrap; } Stöd för belysning mha. SmartieParts v2.2 - - - - - - In model setup menus automatically set switch by moving some of them - Använd brytarna för att ställa brytarvärden i menyer + Använd brytarna för att ställa brytarvärden i menyer - + @@ -4970,18 +5107,16 @@ p, li { white-space: pre-wrap; } Slå på helikoptermenyn och stöd för cyklisk mix - CH%1%2 - KN%1%2 + KN%1%2 - X%1 - X%1 + X%1 - - + + GV%1 GV%1 @@ -5029,18 +5164,18 @@ p, li { white-space: pre-wrap; } Polska - X%1 - X%1 + X%1 - + + CH%1 KN%1 - + Background Music Bakgrundsmusik @@ -5070,7 +5205,7 @@ p, li { white-space: pre-wrap; } Eget värde - + -GV%1 -GV%1 @@ -5081,24 +5216,16 @@ p, li { white-space: pre-wrap; } Stöd för TelemetryEZ-kort - - - - - - - - PPM values displayed in us - PPM-värden visade i ms + PPM-värden visade i ms - + Bluetooth interface Blåtandsinterface - + S1 S1 @@ -5152,12 +5279,11 @@ p, li { white-space: pre-wrap; } AccZ - HDG - HDG + HDG - + dTE @@ -5166,6 +5292,11 @@ p, li { white-space: pre-wrap; } AirSpeed + + + Hdg + + A3- @@ -5188,198 +5319,198 @@ p, li { white-space: pre-wrap; } - + L1 LB1 - - + + L2 LB2 - - + + L3 LB3 - - + + L4 LB4 - - + + L5 LB5 - - + + L6 LB6 - - + + L7 LB7 - - + + L8 LB8 - - + + L9 LB9 - - + + L10 LB10 - - + + L11 LB11 - - + + L12 LB12 - - + + L13 LB13 - - + + L14 LB14 - - + + L15 LB15 - - + + L16 LB16 - - + + L17 LB17 - - + + L18 LB18 - - + + L19 LB19 - - + + L20 LB20 - - + + L21 LB21 - - + + L22 LB22 - - + + L23 LB23 - - + + L24 LB24 - - + + L25 LB25 - - + + L26 LB26 - - + + L27 LB27 - - + + L28 LB28 - - + + L29 LB29 - - + + L30 LB30 - - + + L31 LB31 - - + + L32 LB32 - + [I%1] [I%1] @@ -5389,7 +5520,7 @@ p, li { white-space: pre-wrap; } - + S31 S31 @@ -5605,7 +5736,7 @@ p, li { white-space: pre-wrap; } - + No repeat Repetera ej @@ -5663,7 +5794,7 @@ p, li { white-space: pre-wrap; } %1s - + Value Värde @@ -5819,12 +5950,12 @@ p, li { white-space: pre-wrap; } Batteriikon - + SWR SWR - + S11 S11 @@ -5980,12 +6111,12 @@ p, li { white-space: pre-wrap; } Flygläge %1 värde - + OpenTX only accepts %1 points in all curves OpenTX accepterar bara %1 punkter i alla kurvor - + @@ -6004,14 +6135,14 @@ p, li { white-space: pre-wrap; } OpenTX accepterar inte detta antal kanaler - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used Din sändare har antagligen laddats med felaktig programvara. eeprom-storleken är 4096, men enbart den första hälften används - + Support for MAVLINK devices Stöd för MAVLINK-enheter @@ -6027,17 +6158,11 @@ eeprom-storleken är 4096, men enbart den första hälften användsInga flyglägen - - - - - - In model setup menus automatically set source by moving some of them - Välj automatisk kontroller i menyn för modelinställningar genom att använda dem + Välj automatisk kontroller i menyn för modelinställningar genom att använda dem - + @@ -6129,20 +6254,19 @@ eeprom-storleken är 4096, men enbart den första hälften användsFAI-LÄGE alltid påslaget - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. We are really appreciative for that! The OpenTX/Companion Team. - Tack för alla donationer, vänliga meddelanden, goda idéer och konstruktiva förslag för att bekosta fortsatt utveckling av OpenTX/Companion + Tack för alla donationer, vänliga meddelanden, goda idéer och konstruktiva förslag för att bekosta fortsatt utveckling av OpenTX/Companion Vi uppskattar ert stöd! Gruppen bakom OpenTX/Companion. - + Trim disabled Trim inaktiv @@ -6176,6 +6300,18 @@ Gruppen bakom OpenTX/Companion. Profile image Profilbild + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + + RudderPage @@ -6198,22 +6334,19 @@ Gruppen bakom OpenTX/Companion. Setup - Form - Form + Form - Timer2 - Timer2 + Timer2 - Timer1 - Timer1 + Timer1 - + Center beep Centrumpip @@ -6299,7 +6432,17 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Gastrim enbart för tomgång - + + Timer 2 + + + + + Timer 1 + + + + Timer Source Timer-källa @@ -6345,7 +6488,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga SimulatorDialog - + Warning Varning @@ -6379,119 +6522,100 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Companion Simulator - - - - + + + + Right Double Click to Reset Höger dubbelklick nollställer - THR - GAS + GAS - RUD - ROD + ROD - ELE - HÖJ + HÖJ - AIL - SKE + SKE - - + + Hold X Håll X - - + + Fix X Fixera X - - + + Fix Y Fixera Y - - + + Hold Y Håll Y - - - - TextLabel - Textettikett + Textettikett - TRN - TRN + TRN - GEA - LAN + LAN - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - + BEEP Summer - P1 - P1 + P1 - - - 0 % - 0 % + 0 % - P2 - P2 + P2 - P3 - P3 + P3 - + 9x Simulator Simulator för 9x @@ -6509,120 +6633,91 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Companion Simulator - - + + Hold Y Håll Y - - + + Fix Y Fixera Y - - + + Fix X Fixera X - - + + Hold X Håll X - - SD - SD + SD - - SC - SC + SC - - - - + + + + Right Double Click to Reset Höger dubbelklick nollställer - - S2 - S2 + S2 - - SG - SG + SG - - RS - RS + RS - - SH - SH + SH - - - - TextLabel - Textettikett + Textettikett - - S1 - S1 + S1 - - SB - SB + SB - - SA - SA + SA - - SE - SE + SE - - - SF - SF + SF - - LS - LS + LS - + Taranis Simulator Taranissimulator @@ -6679,12 +6774,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Telemetry - Form - Form + Form - + @@ -6739,7 +6833,12 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Alarm 2 - + + CELS + + + + Serial Protocol Serieprotokoll @@ -6790,12 +6889,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga FrSky Sensor-hub - CEL - BAT + BAT - + Units Enheter @@ -6903,12 +7001,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga TelemetryAnalog - Form - Form + Form - + Unit Enhet @@ -7032,12 +7129,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga TelemetryCustomScreen - Form - Form + Form - + Custom Screen Type Visa data som @@ -7121,17 +7217,15 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Timer - Form - Form + Form - mm:ss - mm:ss + mm:ss - + Countdown Nedräkning @@ -7146,9 +7240,8 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Bestående - (00:00:00) - (00:00:00) + (00:00:00) @@ -7388,16 +7481,29 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. - De flesta flygplan har en huvudvinge och en stjärt med kontrollytor. Flygande vingar och deltavingar saknar däremot stjärt. Rodren på en huvudvinge används för att luta planet i sidled (kallas för att Rolla eller Banka). Denna typ av roder kallas för skevroder.<br> Rodren på en deltavinge fungerar som en kombination av skevroder och höjdroder. + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. + - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 - Modeller använder en eller två kontrollkanaler för att styra skevrodren.<br>En så kallad Y-kabel kan användas för att koppla två servon till en enda kanal. Om dina skevroderservon är inkopplade via en Y-kabel, så skall du välja inställningen för en kontrollkanal.<br><br>Skevroder - Spektrum: KN2, Futaba: KN1 + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + - + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. + + + + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. + De flesta flygplan har en huvudvinge och en stjärt med kontrollytor. Flygande vingar och deltavingar saknar däremot stjärt. Rodren på en huvudvinge används för att luta planet i sidled (kallas för att Rolla eller Banka). Denna typ av roder kallas för skevroder.<br> Rodren på en deltavinge fungerar som en kombination av skevroder och höjdroder. + + + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + Modeller använder en eller två kontrollkanaler för att styra skevrodren.<br>En så kallad Y-kabel kan användas för att koppla två servon till en enda kanal. Om dina skevroderservon är inkopplade via en Y-kabel, så skall du välja inställningen för en kontrollkanal.<br><br>Skevroder - Spektrum: KN2, Futaba: KN1 + + + This wizard assumes that your flaps are controlled by a switch. If your flaps are controlled by a potentiometer you can change that manually later. Denna modellguide utgår ifrån att dina flaps styrs via en brytare. Om du instället vill styra via en potentiometer så får du själv ändra inställningen i Modell-editorn. @@ -7407,12 +7513,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Luftbromsar används för att minska hastigheten för segelflygplan. De är mycket ovanliga på andra typer av flygplan. - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - Modeller använder en eller två kontrollkanaler för att styra deltavingar och flygande vingar.<br>En så kallad Y-kabel kan användas för att koppla två servon till en enda kanal. Om dina servon är inkopplade via en Y-kabel, så skall du välja inställningen för en kontrollkanal. + Modeller använder en eller två kontrollkanaler för att styra deltavingar och flygande vingar.<br>En så kallad Y-kabel kan användas för att koppla två servon till en enda kanal. Om dina servon är inkopplade via en Y-kabel, så skall du välja inställningen för en kontrollkanal. - + Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 Ange vilken kontrollkanal som används för att styra modellens sidoroder.<br><br>Sidoroder - Spektrum: CH4, Futaba: CH4 @@ -7479,7 +7584,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga appPreferencesDialog - + Simulator capture folder Lagra simulatorbilder i @@ -7502,7 +7607,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Egna Startbilder - + Edit Settings Redigera Inställningar @@ -7512,17 +7617,16 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Radioprofil - + General Settings Sändarens inställningar - General Settings Label - Ettikett + Ettikett - + Application Settings Programmet @@ -7572,7 +7676,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Gul - + Mode selection: Mode 1: @@ -7633,16 +7737,15 @@ Mode 4: Mode 4 (SKE GAS HÖJ ROD) - Channel order This is used by the templated to determine which channel goes to what number output. - Kanalordning + Kanalordning Detta används av mallen för att koppla kanal till output-nummer. - + R E T A R H G S @@ -7767,7 +7870,12 @@ Detta används av mallen för att koppla kanal till output-nummer. Spaktilldelning - + + Default Channel Order + Kanalordning + + + 9X 9X @@ -7807,12 +7915,11 @@ Detta används av mallen för att koppla kanal till output-nummer. Startbild - Channel Order - Kanalordning + Kanalordning - + Append version number to FW file name Addera versionsnumret till FW-filnamnet @@ -7837,7 +7944,12 @@ Detta används av mallen för att koppla kanal till output-nummer. Profilnamn - + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + + Remove Profile Ta bort Profil @@ -8437,7 +8549,12 @@ m2560 för v4.1-kort Ogiltig binärfil med Modeller och Inställningar: %1. Fortsätt i alla fall ? - + + Profile image %1 is invalid. + + + + Open image file to use as radio start screen Öppna bildfil för användning som startbild i radion @@ -8594,12 +8711,11 @@ m2560 för v4.1-kort Firmware-filen innehåller inte någon startbild. - The profile image %1 does not contain an image. - Profil-bilden %1 innehåller inte någon startbild. + Profil-bilden %1 innehåller inte någon startbild. - + Image could not be loaded from %1 Det gick inte att ladda en bild från %1 @@ -8853,7 +8969,12 @@ m2560 för v4.1-kort Vikt - + + 5 Point Curves + + + + Curve Kurva @@ -8893,12 +9014,11 @@ m2560 för v4.1-kort Kurvor - 5 Points Curves - 5-punktskurva + 5-punktskurva - + @@ -8906,12 +9026,11 @@ m2560 för v4.1-kort pt %1 - 9 Points Curves - 9-punktskurva + 9-punktskurva - + Special Functions Specialfunktioner @@ -8994,7 +9113,12 @@ m2560 för v4.1-kort Logiska Brytare - + + 9 Point Curves + + + + LS LB @@ -9146,9 +9270,8 @@ m2560 för v4.1-kort contributorsDialog - Dialog - Dialog + Dialog @@ -9253,9 +9376,13 @@ m2560 för v4.1-kort Det gick inte att ladda bildfilen %1. - Cannot load the profile image %1. - Det gick inte att ladda profilbilden %1. + Det gick inte att ladda profilbilden %1. + + + + Cannot load profile image %1. + @@ -9483,53 +9610,11 @@ p, li { white-space: pre-wrap; } Nedladdningar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - Kryssruta + Kryssruta - + Set language of voice. May be different from firmware language Välj språk för röstfunktioner. @@ -9566,12 +9651,11 @@ Får skilja från språket för firmware Ladda Röstfiler - FwInfo - --- + --- - + Download FW Ladda ned Firmware @@ -9841,7 +9925,7 @@ Tryck på Avbryt för att avburyta kalibreringen Öppna Loggfil - + Zoom Zoom @@ -9855,6 +9939,11 @@ Tryck på Avbryt för att avburyta kalibreringen Y Y + + + Reset + Nollställ + Telemetry logs @@ -9866,7 +9955,7 @@ Tryck på Avbryt för att avburyta kalibreringen Tid - + Error Fel @@ -10192,53 +10281,11 @@ Mode 4: Öppna katalog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CheckBox - Kryssruta + Kryssruta - + Check for updates Sök efter uppdateringar @@ -10429,12 +10476,11 @@ Får skilja från språket för mjukvaran printDialog - Dialog - Dialog + Dialog - + Close Stäng From e502f6df6b157e2053dc141c231ae47c1add4c3f Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Wed, 16 Apr 2014 11:25:26 +0200 Subject: [PATCH 45/46] French translations finished and purged of obsolete items --- companion/src/translations/companion_fr.ts | 1944 +++++++++----------- 1 file changed, 879 insertions(+), 1065 deletions(-) diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index 205df48a7..2c21a718e 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -149,32 +149,28 @@ CurveGroup - + Diff - + Expo - + Func Fonc - + Curve Courbe Curves - - Custom - Personnalisé - Fixed X @@ -420,10 +416,6 @@ Flight modes Phases de vol - - The source for the mixer - La voie maître du mixage - Input name @@ -435,38 +427,6 @@ GV VG - - 1 - 1 - - - 2 - 2 - - - 3 - 3 - - - 4 - 4 - - - 5 - 5 - - - 6 - 6 - - - 7 - 7 - - - 8 - 8 - Switch @@ -503,30 +463,6 @@ If blank then the input is considered to be "ON" all the time. Interrupteur utilisé pour activer la ligne. Si vide, la ligne est toujours active. - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Délai et Ralenti</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ces valeurs contrôlent la vitesse et le délai à l'entrée du mixage.</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Si Délai est différent de 0, le départ du mixage sera décalé du nombre de secondes spécifié.</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Si Ralentissement est différent de 0, la vitesse du mixage sera la valeur spécifiée -&gt; La valeur représente le nombre de secondes nécessaires à la course -100/100.</p></body></html> @@ -921,14 +857,6 @@ Plage de valeurs: 5v...10v Stick Mode Mode - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Ordre des voies - -Détermine l'ordre des mixages par défaut sur un nouveau modèle. - If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. @@ -970,10 +898,6 @@ p, li { white-space: pre-wrap; } Mode 1 (RUD ELE THR AIL) Mode 1 (DIR PROF GAZ AIL) - - Channel Order (For Templates) - Ordre des voies par défaut - Show Splash Screen on Startup @@ -1715,10 +1639,6 @@ p, li { white-space: pre-wrap; } PPM 4 PPM 4 - - POT 4 - POT 4 - @@ -1737,14 +1657,6 @@ p, li { white-space: pre-wrap; } Positive span Amplitude pos. - - STICK 1 - MANCHE 1 - - - STICK 2 - MANCHE 2 - Current @@ -1781,26 +1693,6 @@ p, li { white-space: pre-wrap; } S2 Type Type S2 - - STICK 3 - MANCHE 3 - - - STICK 4 - MANCHE 4 - - - POT 1 - POT 1 - - - POT 2 - POT 2 - - - POT 3 - POT 3 - Battery @@ -1972,8 +1864,8 @@ Are you sure ? - Clear All Settings - Effacer tous les réglages + Clear All Inputs + Effacer toutes les entrées @@ -2329,18 +2221,6 @@ Are you sure ? Backup failed Erreur lors de la sauvegarde - - Open File... - Ouvrir... - - - Save File - Enregistrer - - - Save File As... - Enregistrer sous... - Load backup from file @@ -2476,14 +2356,6 @@ Are you sure ? Use Italian in menus Menus en Italien - - Hebrew - Hébreu - - - Use Hebrew in menus - Menus en Hébreu - Polish @@ -2494,14 +2366,6 @@ Are you sure ? Use Polish in menus Menus en Polonais - - Portuguese - Portugais - - - Use Portuguese in menus - Menus en Portuguais - Swedish @@ -2512,14 +2376,6 @@ Are you sure ? Use Swedish in menus Menus en Suédois - - Russian - Russe - - - Use Russian in menus - Menus en Russe - List programmers... @@ -2823,19 +2679,11 @@ Are you sure ? OpenTX Companion - FW: %1 - Profile: %2 OpenTX Companion - FW: %1 - Profil: %2 - - New Models+Settings - Nouveau fichier - Create a new Models and Settings file Créer un nouveau fichier de réglages et modèles - - New File - Nouveau fichier - @@ -3220,165 +3068,165 @@ Ecrire quand même? MdiChild - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + Error Erreur - - - - + + + + Cannot write file %1: %2. Ecriture fichier %1 impossible: %2. - - + + Unable to find file %1! Fichier %1 introuvable! - - - - + + + + Save As Enregister Sous - + Cannot write temporary file! Ecriture de fichier temporaire impossible! - + Editing model %1: Édition du modèle %1 : - + Error writing file %1: %2. Erreur d'écriture fichier %1: %2. - - + + Error reading file %1: %2. Fichier %1 corrompu: %2. - - - - + + + + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: %2. - + free bytes octets libres - + Companion - - + + Invalid EEPROM File %1 Fichier EEPROM %1 invalide - + Invalid binary EEPROM File %1 Fichier binaire %1 invalide - + Backup is impossible Impossible de sauvegarder - + The backup dir set in preferences does not exist Le dossier de sauvegarde configuré dans les préférences n'existe pas - - - + + + Backup EEPROM From Radio Sauvegarder l'EEPROM de la radio - + Write EEPROM To Radio Transférer l'EEPROM à la radio - + Open backup Models and Settings file Ouvrir la sauvegarde de réglages et modèles - + Cannot check eeprom compatibility! Continue anyway? Impossible de vérifier la compatibilité de l'EEPROM! Continuer quand même? - - + + Warning Avertissement - + Firmware in radio is of a different family of eeprom written, check file and preferences! Le firmware de la radio n'est pas compatible avec la version de l'EEPROM à transférer, vérifier le fichier et les préférences! - + Firmware in flash is outdated, please upgrade! Le firmware de la radio est obsolète, veuillez mettre à jour! - + Invalid binary backup File %1 Fichier de sauvegarde %1 invalide - + %1 has been modified. Do you want to save your changes? %1 a été modifié. @@ -3577,32 +3425,27 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Si Ralentissement est différent de 0, la vitesse du mixage sera la valeur spécifiée -&gt; La valeur représente le nombre de secondes nécessaires à la course -100/100.</p></body></html> - - DEST -> X%1 - + + DEST -> CH%1 + DEST -> VOIE%1 - - DEST -> CH%1%2 - - - - + Rud Dir - + Ele Prf - + Thr Gaz - + Ail Ale Ail @@ -3626,161 +3469,171 @@ p, li { white-space: pre-wrap; } MixesPanel - - + + Move Up Monter - - + + Ctrl+Up Ctrl+Haut - - + + Move Down Descendre - - + + Ctrl+Down Ctrl+Bas - + Clear Mixes - Effacer les mixages + Effacer tous les mixages - + Weight(%1) Ratio(%1) - + Switch(%1) Inter(%1) - + No Trim Pas de Trim - + No DR/Expo Pas d'expo/DR - + Offset(%1) Décalage(%1) - + Delay(u%1:d%2) Délai(h%1:b%2) - + Slow(u%1:d%2) Ralenti(h%1:b%2) - + Warn(%1) Alerte(%1) - + Not enough available mixers! Plus de mixages disponibles ! - + Delete Selected Mixes? Supprimer mixages sélectionnés ? - + &Add &Ajouter - + Ctrl+A - + &Edit Éditio&n - + Enter Entrée - + + Ctrl+T + + + + + &Toggle highlight + (Dé)&sélectionner + + + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C - - &Cut - C&ouper - - - + Ctrl+X - + + C&ut + Co&uper + + + &Paste Co&ller - + Ctrl+V - + Du&plicate Du&pliquer - + Ctrl+U - + Clear Mixes? Effacer tous les mixages ? - + Really clear all the mixes? Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? @@ -4063,10 +3916,6 @@ p, li { white-space: pre-wrap; } Trainer Mode Mode écolage - - mSec - ms - PPM Frame Length @@ -4177,770 +4026,766 @@ p, li { white-space: pre-wrap; } QObject - - + + FM%1 FP%1 PV%1 - + Input%1 - + Entrée %1 - + Polish - Polonais + Polonais + - X%1 - - - - CH%1 - VOIE%1 + VOIE%1 - + No Non - + RotEnc A Enc Rot A - + Rot Enc B Enc Rot B - + Rot Enc C Enc Rot C - + Rot Enc D Enc Rot D - + Rot Enc E Enc Rot E - + Safety %1 Sécurité %1 - + Trainer Ecolage - + Trainer RUD Ecolage Direction - + Trainer ELE Ecolage Profondeur - + Trainer THR Ecolage Gaz - + Trainer AIL Ecolage Ailerons - + Instant Trim Trims instantanés - + Play Sound Jouer Son - + Start Logs Démarrer les Logs - + Play Haptic Vibreur - + S3 - + - + RSSI Tx - + - + RSSI Rx - + - + Rx Batt - + Batt RX - + A3 - A3 + - + A4 - A4 + - + Cells - + Velm - + dTE - + - + Hdg - + Cap - + AirSpeed - + VitA - + A3- - A3- + - + A4- - A4- + - + Speed+ - + Vit+ - + Dist+ - + - + AirSpeed+ - - - - - Cell- - - - - - Cells- - - - - - Vfas- - - - - - Curr+ - - - - - Powr+ - + VitA+ + Cell- + Elem- + + + + Cells- + Velm- + + + + Vfas- + + + + + Curr+ + Cour+ + + + + Powr+ + Puis+ + + + ACC - + - - + + L1 - + - - + + L2 - + - - + + L3 - + - - + + L4 - + - - + + L5 - + - - + + L6 - + - - + + L7 - + - - + + L8 - + - - + + L9 - + - - + + L10 - + - - + + L11 - + - - + + L12 - + - - + + L13 - + - - + + L14 - + - - + + L15 - + - - + + L16 - + - - + + L17 - + - - + + L18 - + - - + + L19 - + - - + + L20 - + - - + + L21 - + - - + + L22 - + - - + + L23 - + - - + + L24 - + - - + + L25 - + - - + + L26 - + - - + + L27 - + - - + + L28 - + - - + + L29 - + - - + + L30 - + - - + + L31 - + - - + + L32 - + - + [I%1] - + [E%1] - + TR%1 - + - + S31 - + - + S32 - + - + S33 - + - + S34 - + - + S35 - + - + S36 - + + + + + a>x + - a>x - + a<x + - a<x - + |a|>x + - |a|>x - + |a|<x + - |a|<x - + AND + ET - AND - ET + OR + OU - OR - + XOR + OUX - XOR - + a=b + - a=b - + a!=b + - a!=b - + a>b + - a>b - + a<b + - a<b - + a>=b + - a>=b - + a<=b + - a<=b - + d>=x + - d>=x - + |d|>=x + - |d|>=x - + a=x + - a=x - + a~x + - a~x - + Timer + Chrono - Timer - - - - Sticky - + Bistable - + Unknown - + Inconnu - + STAY(%1, [%2:%3]) - + FLANC(%1, [%2:%3]) - + STICKY(%1, %2) - + BISTB(%1, %2) - + TIMER(%1, %2) - + TEMPO(%1, %2) - + Reset Remise à zéro - + Set Timer %1 - + Définir chrono %1 - + Vario - + Volume - Volume + - + Play Value Lire valeur - + Backlight Rétroéclairage - + Play Track Jouer fichier - - - + + + --- - --- + - + Rud Trim Trim Dir - + Ele Trim Trim Prf - + Thr Trim Trim Gaz - + Ail Trim Trim Ail - + Rot Enc Enc. rot. - + English Anglais - + French Français - + Italian Italien - + German Allemand - + Czech Tchèque - + Slovak Slovaque - + Spanish Espagnol - + Portuguese Portugais - + Swedish Suédois - + No repeat Pas de rép. - + %1 sec - %1 sec + - + Play Both Jouer les 2 - + Background Music Musique de fond - + Background Music Pause Pause musique de fond - + Delay %1 sec Délai %1 sec - + Edge - + Flanc - + Duration %1 sec Durée %1 sec - - - - - - + + + + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Paramètre inconsistant</b></font> - - + + All Tous - - + + Telemetry Télémesure - - + + Value Valeur - - + + Decr: Décr: - - + + Incr: Incr: Played once, not during startup - + Lu une fois, mais pas à la mose en route %1s - %1s + @@ -4950,7 +4795,7 @@ p, li { white-space: pre-wrap; } Source - Source + @@ -4963,197 +4808,197 @@ p, li { white-space: pre-wrap; } Incrément - + !Flight mode %1 !Phase de vol %1 - + Flight mode %1 Phase de vol %1 - + Own value Valeur indépendante - + Flight mode %1 value Flight phase %1 value Valeur de la phase de vol %1 - + Keys Touches - + Sticks Manches - + Keys + Sticks Touches + manches - - + + -GV%1 -VG%1 - + Adjust GV%1 - + Ajuster VG%1 Rotary Encoder - + Encodeur rotatif - + Finnish - Finlandais + Finlandais - + Yellow Jaune - + Orange Orange - + Red Rouge - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supporté) - + FrSky Sensor Hub Sensor Hub FrSky - - + + None Aucun - + Imperial Impérial - + Metric Métrique - + Extra Fine Extra fin - + Fine Fin - + Medium Moyen - + Coarse Grossier - + Exponential Exponentiel - + Count Up Croissant - + Count Down Décroissant - + %1:%2, - %1:%2, + - + : %1 Channels, %2usec Delay : %1 voies, délai de %2us - + Flight modes(%1) - + Phases de vol(%1) - + Flight mode(%1) - + Phase de vol(%1) - + Rudder Direction - + Elevator Profondeur - + Throttle Gaz - + Aileron Ailerons - - - + + + GV%1 VG%1 - - - - + + + + ---- - ---- + @@ -5162,492 +5007,500 @@ p, li { white-space: pre-wrap; } - + Batt - + SWR - SWR + - - + + P1 - P1 + - - + + P2 - P2 + - - + + P3 - P3 + - + MAX - MAX + - + S11 - + - + S12 - + - + S13 - + - + S14 - + - + S15 - + - + S16 - + - + S21 - + - + S22 - + - + S23 - + - + S24 - + - + S25 - + - + S26 - + - + RudTrim Left - + TrmD Gauche + + + + RudTrim Right + TrmD Droite + + + + EleTrim Down + TrmE Bas + + + + EleTrim Up + TrmE Haut - RudTrim Right - - - - - EleTrim Down - - - - - EleTrim Up - - - - ThrTrim Down - + TrmG Bas - + ThrTrim Up - + TrmG Haut - + AilTrim Left - + TrmA Gauche - + AilTrim Right - + TrmA Droite - + ABS - + - + THs - + GZs - + TH% - + GZ% - + THt - + GZt - + ??? - + + + + + Diff(%1) + - Diff(%1) - + Expo(%1) + - Expo(%1) - + Function(%1) + Fonction(%1) - Function(%1) - - - - Curve(%1) - + Courbe(%1) - + !Curve(%1) - + !Courbe(%1) - - + + Rud Dir - - + + Ele Prf - - + + Thr Gaz - - + + Ail Ail - + TrmR TrmD - + TrmE TrmP - + TrmT TrmG - + TrmA TrmA - + S1 - + S2 - + LS - + RS - - + + REa - - + + REb - + Alt - + Rpm - + Fuel Carb - + Speed Vitesse - + Dist - + GPS Alt Alt GPS - + Cell Elem - + Vfas Vfas - + Curr Cour - + Cnsp Cnsm - + Powr Puis - + AccX - + AccY - + AccZ - + VSpd VitV - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Time Temps - + CYC%1 - - CH%1%2 - VOIE%1%2 - - - - X%1 - - - - - + + ON - - - + + + OFF + - Support for frsky telemetry mod Support de la télémétrie FrSky + - Support for jeti telemetry mod Support de la télémétrie JETI + - Support for receiving ardupilot data Support de la télémétrie ARDUPILOT + - Support for receiving NMEA data Support de la télémétrie NMEA - + Support for telemetry easy board Support de la carte TelemetrEZ + - Support for MAVLINK devices Support du protocole MAVLINK - + Rotary Encoder use in menus navigation Utiliser un encodeur rotatif pour la navigation - + Possibility to enable FAI MODE at field Possibilité d'activer le mode FAI sur le terrain - + FAI MODE always enabled Mode FAI toujours actif + + + + + + + Enable heli menu and cyclic mix support + Activer le menu hélico et les mixages CCPM + + + + + + + + + Enable TEMPLATES menu + Inclure les gabarits + - - Enable heli menu and cyclic mix support - Activer le menu hélico et les mixages CCPM - - - - - - - - - Enable TEMPLATES menu - Inclure les gabarits + No splash screen + Pas d'écran de démarrage - No splash screen - Pas d'écran de démarrage + + + Disable curves menus + Désactiver le menu des courbes + + + + + + + Support for radio modified with regular speaker + Haut-parleur au lieu du buzzer d'origine @@ -5655,44 +5508,38 @@ p, li { white-space: pre-wrap; } - - Disable curves menus - Désactiver le menu des courbes + Used if you have modified your radio with voice mode + Support du module vocal - Support for radio modified with regular speaker - Haut-parleur au lieu du buzzer d'origine - - - - - - - - Used if you have modified your radio with voice mode - Support du module vocal - - - - - - Used if you have modified your radio with haptic mode Support du vibreur - - - - - - - In model setup menus automatically set source by moving some of them - Sélectionner les sources des mixeurs en bougeant le contrôle désiré + + + + + + + + + Channel values displayed in us + Positions de canaux affichées en us + + + + + + + + + Battery graph + Graphique de batterie @@ -5701,120 +5548,110 @@ p, li { white-space: pre-wrap; } - Battery graph - Graphique de batterie - - - - - - - - - - + + Use alternative SQT5 font Utiliser la police alternative SQT5 - - - - + + + + Enable the throttle trace in Statistics Activer l'historique du manche des gaz dans les statistiques - + EEprom write progress bar Barre de progression pour l'écriture de l'EEPROM - - + + No Winged Shadow How High support Supprimer le support du variomètre Winged Shadow How High - - + + No vario support Supprimer la fonction variomètre audio - - + + No GPS support Supprimer le support du GPS - - + + No gauges in the custom telemetry screen - Supptimer l'affichage des valeurs de télémesure par barres + Supprimer l'affichage des valeurs de télémesure par barres - + Allow compensating for offset errors in FrSky FAS current sensors - + Permettre la compensation d'un décalage des capteurs de courant FASxx FrSky - + OpenTX for FrSky Taranis Rev4a - + OpenTX pour FrSky Taranis Rev4a - + Support of FrSky PXX protocol Support du protocole PXX FrSky - + Use FrSky Taranis sticks in a 9X/9XR Use FrSky's taranis like sticks Manches de FrSky Taranis installés dans une 9X/9XR - + OpenTX for FrSky Taranis - + OpenTX pour FrSky Taranis - - + + Disable HELI menu and cyclic mix support Supprimer le menu HELICO et les mixages cycliques - - + + Disable TEMPLATES menu Supprimer le menu des gabarits - - + + Disable Global variables Supprimer le support des variables globales - - - - - + + + + + Support for DSM2 modules Support du protocole DSM2 - - - - - - + + + + + + PPM center adjustment in limits - Centres PPM ajustables + Neutres PPM ajustables @@ -5823,27 +5660,15 @@ p, li { white-space: pre-wrap; } - - - PPM values displayed in us - Positions de canaux affichées en us - - - - - - - - Symetrical Limits Limites symétriques - - - - - + + + + + Pots use in menus navigation Support de la navigation dans les menus avec les POTS @@ -5854,43 +5679,43 @@ p, li { white-space: pre-wrap; } Il semblerait que votre radio utilise le mauvais firmware. La taille de l'EEPROM est de 4096, mais seulement les 2048 premiers sont utilisés. Pensez à charger la version pour m128. - + OpenTX for 9X board - + OpenTX pour 9X - - - - - - + + + + + + No flight modes Pas de phases de vol - - + + SmartieParts 2.2 Backlight support Support du rétroéclairage pour la carte SmartieParts 2.2 - - - - - - - In model setup menus automatically set switch by moving some of them - Sélection automatique des Switches dans les menus + + + + + Enable resetting values by pressing up and down at the same time + Permet la remise à zéro des valeurs en pressant haut-bas en même temps, valeur min avec gauche/bas, valeur max avec haut/droite, inversion avec gauche/droite - - - - - Enable resetting values by pressing up and down at the same time - Permet la remise à zéro des valeurs en pressant haut-bas en même temps, valeur min avec gauche/bas, valeur max avec haut/droite + + + + + + + No graphical check boxes and sliders + Pas de cases à cocher et de curseurs graphiques @@ -5899,124 +5724,134 @@ p, li { white-space: pre-wrap; } - No graphical check boxes and sliders - Pas de cases à cocher et de curseurs graphiques - - - - - - - - Don't use bold font for highlighting active items Ne pas mettre les lignes actives en gras - + OpenTX for M128 / 9X board - + OpenTX pour 9X avec m128 - - - - + + + + EEprom write Progress bar Barre de progression affichée lors des écritures EEPROM - - - - - + + + + + Imperial units Unités Impériales - + Bluetooth interface Interface Bluetooth - - - - - - + + + + + + Global variables Variables globales - + + + + + + + In model setup menus automatically set source by moving the control + Sélectionner les sources des mixeurs en bougeant le contrôle désiré + + + + + + + + + In model setup menus automatically set switch by moving the control + Sélectionner les interrupteurs en bougeant le contrôle désiré + + + OpenTX for 9XR - + OpenTX pour 9XR - + OpenTX for 9XR with M128 chip - + OpenTX pour 9XR avec m128 - + OpenTX for Gruvin9x board / 9X - + OpenTX pour carte Gruvin9x - + Support for SD memory card Support de la carte SD - + Support for DSM2 modules using ppm instead of true serial Support pour les modules DSM2 par le signal PPM - + OpenTX for Sky9x board / 9X - + OpenTX pour carte Sky9x - + Enable HELI menu and cyclic mix support Activer le menu hélico et les mixages CCPM - - - + + + Timer1 - Chrono1 + Chrono 1 - - - + + + Timer2 Chrono 2 - - - A1 - A1 - - - - A2 - A2 - - T1 + A1 + A2 + + + + + T1 + + + + T2 @@ -6026,24 +5861,19 @@ p, li { white-space: pre-wrap; } Simultaneous usage of expo and curves is no longer supported L'utilisation simultanée de l'expo et d'une courbe n'est plus possible - - - Simultaneous usage of expo and curves is no longer supported in open9x - L'utilisation simultanée de l'expo et d'une courbe n'est plus possible dans open9x - - + Warning Avertissement EEPROM saved with these warnings: - EEPROM enregistrée avec ces avertissements : + EEPROM enregistrée avec les avertissements suivants: - + Simulator for this firmware is not yet available Le simulateur n'est pas encore disponible pour ce firmware @@ -6053,72 +5883,77 @@ p, li { white-space: pre-wrap; } th9x ne supporte pas d'encodeurs rotatifs sur cette carte - + OpenTX only accepts %1 points in all curves - + OpenTX n'accepte que %1 points au maximum entre toutes les courbes - - - - + + + + OpenTX on this board doesn't accept this function - openTx ne supporte pas cette fonction sur cette carte + OpenTX ne supporte pas cette fonction sur cette carte - - + + OpenTX doesn't accept this protocol - openTx ne supporte pas ce protocole + OpenTX ne supporte pas ce protocole - + OpenTX doesn't allow this number of channels - openTx ne supporte pas ce nombre de canaux - - - - Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. - -We are really appreciative for that! - -The OpenTX/Companion Team. - + OpenTX ne supporte pas ce nombre de canaux Trim disabled - + Trim désactivé Own Trim - + Valeur indépendante Use Trim from Flight mode %1 - + Utiliser le trim de la phase de vol %1 Use Trim from Flight mode %1 + Own Trim as an offset - + Utiliser le trim de la phase de vol %1 + une valeur indépendante additionnée FW: %1 - + Pict: %1 - + Img: %1 Profile image - + Image de profil + + + + Simultaneous usage of expo and curves is no longer supported in OpenTX + L'utilisation simultanée de l'expo et d'une courbe n'est plus possible dans OpenTX + + + + Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. + +The OpenTX Team. + Merci d'avoir fait la mise à jour vers OpenTX 2.0. Il s'agit d'une mise à jour majeure avec de nombreux changements et nouvelles fonctions, veuillez donc vous assurer de bien lire les notes de version pour être au courant de tous les points importants à noter, et vérifiez le comportement correct de tous vos modèles. + +L'équipe OpenTX. @@ -6141,10 +5976,6 @@ The OpenTX/Companion Team. Setup - - Timer1 - Chrono1 - Center beep @@ -6288,28 +6119,28 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo SimulatorDialog - - + + Warning Avertissement - + Joystick enabled but not configured correctly Joystick activé, mais non configuré - + Cannot open joystick, joystick disabled Impossible d'accéder au joystick. Joystick désactivé - + Simulating Radio (%1) Simulation de la radio (%1) - + Firmware %1 error: %2 Firmware %1 erreur : %2 @@ -7141,53 +6972,53 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Select the receiver channel that is connected to your ESC or throttle servo.<br><br>Throttle - Spektrum: CH1, Futaba: CH3 - + Sélectionnez le canal du récepteur auquel le contrôleur/servo de gaz est connecté.<br><br>Gaz - Spektrum: CH1, Futaba: CH3 - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. - + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. + La plupart des aéronefs possèdent une aile principale et un empennage avec des surfaces de contrôle. Les ailes volantes et delat ne possèdent qu'une aile. Les surfaces de contrôle sur une aile standard qui contrôlent le roulis de l'aéronef sont appelées ailerons.<br>Les surfaces de contrôle d'une aile delta contrôlent le roulis ET le tangage, et sont appelées élevons. - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 - + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + On utilise en général soit un, soit 2 canaux pour contrôler les ailerons. Un câble en Y peut être utilisé pour connecter 2 servos à un seul canal, auquel cas il convient de choisir l'option "un seul canal".<br><br>Ailerons - Spektrum: CH2, Futaba: CH1 + + + + Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. + On utilise en général soit un, soit 2 canaux pour contrôler les élevons. Un câble en Y peut être utilisé pour connecter 2 servos à un seul canal, auquel cas il convient de choisir l'option "un seul canal". This wizard assumes that your flaps are controlled by a switch. If your flaps are controlled by a potentiometer you can change that manually later. - + Cet assistant suppose que les volets sont commandés par un interrupteur. Si vous souhaitez les commander par un potentiomètre il est possible de le changer manuellement plus tard. Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - - - - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - + Les aérofreins sont utilisés pour augmenter le taux de descente des planeurs performants.<br>Ils ne sont pas courants sur les autres types d'aéronefs. Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 - + Sélectionnez le canal du récepteur auquel le servo de dérive est connecté.<br><br>Dérive - Spektrum: CH4, Futaba: CH4 Select the tail type of your plane. - + Sélectionnez le type d'empennage de votre avion. Select the Rudder and Elevator channels.<br><br>Rudder - Spektrum: CH4, Futaba: CH4<br>Elevator - Spektrum: CH3, Futaba: CH2 - + Sélectionnez les canaux du récepteur auquel les servos de profondeur et dérive sont connectés.<br><br>Dérive - Spektrum: CH4, Futaba: CH4<br>Profondeur - Spektrum: CH3, Futaba: CH2 Select the Elevator channel.<br><br>Elevator - Spektrum: CH3, Futaba: CH2 - + Sélectionnez le canal du récepteur auquel le servo de profondeur est connecté.<br><br>Profondeur - Spektrum: CH3, Futaba: CH2 @@ -7197,22 +7028,22 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TBD. - + Select the control channels for your multirotor.<br><br>Throttle - Spektrum: CH1, Futaba: CH3<br>Yaw - Spektrum: CH4, Futaba: CH4<br>Pitch - Spektrum: CH3, Futaba: CH2<br>Roll - Spektrum: CH2, Futaba: CH1 - + Sélectionnez les canaux de votre multirotor.<br><br>Gaz - Spektrum: CH1, Futaba: CH3<br>Lacet - Spektrum: CH4, Futaba: CH4<br>Tangage - Spektrum: CH3, Futaba: CH2<br>Roulis - Spektrum: CH2, Futaba: CH1 There is no help available for the current page. - + Aucune aide disponible pour cette page. Model Wizard Help - + Aide de l'assistant de configuration @@ -7238,7 +7069,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Simulator capture folder - Dossier de sauvegarde des captures d'écran + Dossier des captures d'écran @@ -7459,10 +7290,6 @@ Manche Droit: Profondeur, Direction Splash Screen Ecran d'accueil - - Channel Order - Ordre des voies par défaut - SD Structure path @@ -8704,10 +8531,6 @@ m2560 for v4.1 boards Curves Courbes - - 5 Points Curves - Courbes à 5 points - @@ -8716,10 +8539,6 @@ m2560 for v4.1 boards pt %1 point %1 - - 9 Points Curves - Courbes à 9 points - Special Functions @@ -8904,10 +8723,6 @@ m2560 for v4.1 boards contributorsDialog - - Dialog - Dialogue - People who have contributed to this project @@ -9179,7 +8994,20 @@ p, li { white-space: pre-wrap; } <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Réinitialiser les fusibles</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Les fusibles de l'AVR configurent sa manière de fonctionner. Pressser ce bouton les réinitialise aux valeurs nécessaires pour le firmware.</span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Ces paramètres sont différents pour la carte d'origine et la carte gruvin, vérifier que vous avez choisi le bon type de carte dans les préférences avant de continuer.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Ce bouton efface aussi le fusible &quot;protection d'EEPROM&quot;</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">L'EEPROM sera donc effacée lors d'un flashage du firmware.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">ATTENTION</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Redéfinir les fusibles peut rendre la radio inutilisable en cas de fausse configuration. A n'utilsier qu'en cas de bonne raison.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">En cas de doute ou de problème, se référer à la page du projet ou à http://openrcforums.com/forum/</span></p></body></html> @@ -9259,21 +9087,11 @@ Peut être différente de la langue du firmware Voice Language Langue audio - - Download Voice Files - Télécharger les fichiers son - Firmware Type Type de firmware - - Set voice language. -May be different from firmware language - Choisir la langue des voix. -Peut être différent de la langue des menus - Download FW @@ -9879,7 +9697,7 @@ Peut être différente de la langue du firmware Simulator capture folder - Dossier de sauvegarde des captures d'écran + Dossier des captures d'écran @@ -10155,10 +9973,6 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Delay(u%1:d%2) Délai(h%1:b%2) - - Dialog - Dialogue - From 2a7a0f0a4738915d8174c942ef436bd76e2da3bc Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 16 Apr 2014 11:32:16 +0200 Subject: [PATCH 46/46] One Dump remained active --- companion/src/firmwares/opentx/opentxinterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index f033a0ed8..b80113ad5 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -278,7 +278,7 @@ template bool OpenTxInterface::saveModel(unsigned int index, ModelData &model, unsigned int version, unsigned int variant) { T open9xModel(model, board, version, variant); - open9xModel.Dump(); + // open9xModel.Dump(); QByteArray eeprom; open9xModel.Export(eeprom); int sz = efile->writeRlc2(FILE_MODEL(index), FILE_TYP_MODEL, (const uint8_t*)eeprom.constData(), eeprom.size());
"+tr("9 Point Curves")+"