1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-20 14:55:15 +03:00

Simplify flashingMessage function

i18next uses `:` to denote a namespace for messages.

The firmware flashing tab has a `flashingMessage` function that is used to update the bar at the bottom, it can either be passed a message key, or a properly formatted string.

`Loaded Local Firmware: (473178 bytes)` was getting looked up as a key, which generates the following warning

i18next.min.js:1 i18next::translator: key " (473178 bytes)" for namespace "Loaded Local Firmware" for languages "en" won't get resolved as namespace was not yet loaded This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!

Proposed fix is to just look at the message for a `:` and excluding those before asking the localization system if its a key.

Revised to just remove the lookup
This commit is contained in:
Kyle K 2019-11-10 21:42:00 +00:00
parent 13bde2c415
commit 16266ec979
2 changed files with 8 additions and 12 deletions

View file

@ -105,7 +105,7 @@ TABS.firmware_flasher.initialize = function (callback) {
show_loaded_hex(summary) show_loaded_hex(summary)
} else { } else {
self.flashingMessage('firmwareFlasherHexCorrupted', self.FLASH_MESSAGE_TYPES.INVALID); self.flashingMessage(i18n.getMessage('firmwareFlasherHexCorrupted'), self.FLASH_MESSAGE_TYPES.INVALID);
} }
}); });
} }
@ -515,7 +515,7 @@ TABS.firmware_flasher.initialize = function (callback) {
TABS.firmware_flasher.bareBoard = undefined; TABS.firmware_flasher.bareBoard = undefined;
console.log('board changed to', target); console.log('board changed to', target);
self.flashingMessage('firmwareFlasherLoadFirmwareFile', self.FLASH_MESSAGE_TYPES.NEUTRAL) self.flashingMessage(i18n.getMessage('firmwareFlasherLoadFirmwareFile'), self.FLASH_MESSAGE_TYPES.NEUTRAL)
.flashProgress(0); .flashProgress(0);
$('div.git_info').slideUp(); $('div.git_info').slideUp();
@ -683,7 +683,7 @@ TABS.firmware_flasher.initialize = function (callback) {
flashingMessageLocal(); flashingMessageLocal();
} else { } else {
self.flashingMessage('firmwareFlasherHexCorrupted', self.FLASH_MESSAGE_TYPES.INVALID); self.flashingMessage(i18n.getMessage('firmwareFlasherHexCorrupted'), self.FLASH_MESSAGE_TYPES.INVALID);
} }
}); });
} else { } else {
@ -694,7 +694,7 @@ TABS.firmware_flasher.initialize = function (callback) {
self.isConfigLocal = true; self.isConfigLocal = true;
flashingMessageLocal(); flashingMessageLocal();
} catch(err) { } catch(err) {
self.flashingMessage('firmwareFlasherConfigCorrupted', self.FLASH_MESSAGE_TYPES.INVALID); self.flashingMessage(i18n.getMessage('firmwareFlasherConfigCorrupted'), self.FLASH_MESSAGE_TYPES.INVALID);
GUI.log(i18n.getMessage('firmwareFlasherConfigCorruptedLogMessage')); GUI.log(i18n.getMessage('firmwareFlasherConfigCorruptedLogMessage'));
} }
} }
@ -1009,6 +1009,8 @@ TABS.firmware_flasher.initialize = function (callback) {
}); });
self.flashingMessage(i18n.getMessage('firmwareFlasherLoadFirmwareFile'), self.FLASH_MESSAGE_TYPES.NEUTRAL);
$(document).keypress(function (e) { $(document).keypress(function (e) {
if (e.which == 13) { // enter if (e.which == 13) { // enter
// Trigger regular Flashing sequence // Trigger regular Flashing sequence
@ -1082,13 +1084,7 @@ TABS.firmware_flasher.flashingMessage = function(message, type) {
break; break;
} }
if (message != null) { if (message != null) {
if (i18next.exists(message)) { progressLabel_e.html(message);
progressLabel_e.attr('i18n',message).removeClass('i18n-replaced');
i18n.localizePage();
} else {
progressLabel_e.removeAttr('i18n');
progressLabel_e.html(message);
}
} }
return self; return self;

View file

@ -136,7 +136,7 @@
<div class="content_toolbar"> <div class="content_toolbar">
<div class="info"><a name="progressbar"></a> <div class="info"><a name="progressbar"></a>
<progress class="progress" value="0" min="0" max="100"></progress> <progress class="progress" value="0" min="0" max="100"></progress>
<span class="progressLabel" i18n="firmwareFlasherLoadFirmwareFile"></span> <span class="progressLabel"></span>
</div> </div>
<div class="btn"> <div class="btn">
<a class="flash_firmware disabled" href="#progressbar" i18n="firmwareFlasherFlashFirmware"></a> <a class="flash_firmware disabled" href="#progressbar" i18n="firmwareFlasherFlashFirmware"></a>