1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00

Add translation option to sysupgrade

This commit is contained in:
Ycarus (Yannick Chabanois) 2021-02-01 16:24:37 +01:00 committed by suyuan
parent 6a34e81181
commit 4aa2c75de5
2 changed files with 18 additions and 17 deletions

View file

@ -75,7 +75,7 @@
<%+header%> <%+header%>
<h2 name="content"><%:Sysupgrade%></h2> <h2 name="content"><%:Sysupgrade%></h2>
<div class="cbi-map-descr"> <div class="cbi-map-descr">
Easily search and install new releases and package upgrades. Sysupgrade firmware are created on demand based on locally installed packages. <%:Easily search and install new releases and package upgrades.%>
</div> </div>
<div style="display: none" id="status_box" class="alert-message info"></div> <div style="display: none" id="status_box" class="alert-message info"></div>
<div style="display: none" id="packages" class="alert-message success"></div> <div style="display: none" id="packages" class="alert-message success"></div>
@ -87,27 +87,27 @@
<div class="cbi-selection-node"> <div class="cbi-selection-node">
<div class="cbi-value" id="keep_container" style="display: none"> <div class="cbi-value" id="keep_container" style="display: none">
<div class="cbi-section-descr"> <div class="cbi-section-descr">
Check "Keep settings" to retain the current configuration (requires a compatible firmware). <%:Check "Keep settings" to retain the current configuration.%>
</div> </div>
<label class="cbi-value-title" for="keep">Keep settings:</label> <label class="cbi-value-title" for="keep"><%:Keep settings:%></label>
<div class="cbi-value-field"> <div class="cbi-value-field">
<input name="keep" id="keep" checked="checked" type="checkbox"> <input name="keep" id="keep" checked="checked" type="checkbox">
</div> </div>
</div> </div>
<div class="cbi-value" id="edit_button" style="display: none"> <div class="cbi-value" id="edit_button" style="display: none">
<div class="cbi-value-field"> <div class="cbi-value-field">
<input class="cbi-button" value="Edit installed packages" onclick="edit_packages()" type="button"> <input class="cbi-button" value="<%:Edit installed packages%>" onclick="edit_packages()" type="button">
</div> </div>
</div> </div>
<div class="cbi-value cbi-value" id="server_div" style="display:none"> <div class="cbi-value cbi-value" id="server_div" style="display:none">
<label class="cbi-value-title" for="server">Server:</label> <label class="cbi-value-title" for="server"><%:Server:%></label>
<div class="cbi-value-field"> <div class="cbi-value-field">
<input onclick="edit_server()" class="cbi-button cbi-button-edit" value="" type="button" id="server" name="server"> <input onclick="edit_server()" class="cbi-button cbi-button-edit" value="" type="button" id="server" name="server">
</div> </div>
</div> </div>
<div class="cbi-value cbi-value-last"> <div class="cbi-value cbi-value-last">
<div class="cbi-value-field"> <div class="cbi-value-field">
<input class="cbi-button cbi-button-apply" value="Search for upgrades" style="display: none" onclick="upgrade_check()" type="button" id="upgrade_button"> <input class="cbi-button cbi-button-apply" value="<%:Search for upgrades%>" style="display: none" onclick="upgrade_check()" type="button" id="upgrade_button">
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,3 +1,4 @@
'require ui';
function $(s) { function $(s) {
return document.getElementById(s.substring(1)); return document.getElementById(s.substring(1));
} }
@ -161,7 +162,7 @@ function upgrade_check() {
var candidates = [] var candidates = []
hide("#status_box"); hide("#status_box");
hide("#server_div"); hide("#server_div");
set_status("info", "Searching for upgrades", true); set_status("info", _("Searching for upgrades"), true);
fetch(data.url + "/api/versions") fetch(data.url + "/api/versions")
.then(response => response.json()) .then(response => response.json())
.then(response => { .then(response => {
@ -188,7 +189,7 @@ function upgrade_check() {
if (candidates.length > 0) { if (candidates.length > 0) {
var info_output = "<h3>New release <b>" + candidates[0].latest + "</b> available</h3>" var info_output = "<h3>New release <b>" + candidates[0].latest + "</b> available</h3>"
info_output += "Installed version: " + data.release.version info_output += _('Installed version:') + " " + data.release.version
// tell server the currently installed version // tell server the currently installed version
request_dict.current_version = request_dict.version; request_dict.current_version = request_dict.version;
@ -205,13 +206,13 @@ function upgrade_check() {
show("#edit_button"); show("#edit_button");
} }
var upgrade_button = $("#upgrade_button") var upgrade_button = $("#upgrade_button")
upgrade_button.value = "Request firmware"; upgrade_button.value = _("Request firmware");
upgrade_button.style.display = "block"; upgrade_button.style.display = "block";
upgrade_button.disabled = false; upgrade_button.disabled = false;
upgrade_button.onclick = upgrade_request; upgrade_button.onclick = upgrade_request;
} else { } else {
set_status("success", "No upgrades available") set_status("success", _("No upgrades available"))
} }
}); });
@ -265,7 +266,7 @@ function upgrade_request_callback(response) {
function flash_image() { function flash_image() {
// Flash image via rpc-sys upgrade_start // Flash image via rpc-sys upgrade_start
set_status("warning", "Flashing firmware. Don't unpower device", true) set_status("warning", _("Flashing firmware. Don't unpower device"), true)
ubus_call("rpc-sys", "upgrade_start", { ubus_call("rpc-sys", "upgrade_start", {
"keep": $("#keep").checked "keep": $("#keep").checked
}, 'message'); }, 'message');
@ -281,11 +282,11 @@ function ping_ubus() {
var request = new XMLHttpRequest(); var request = new XMLHttpRequest();
request.open("GET", ubus_url, true); request.open("GET", ubus_url, true);
request.addEventListener('error', function(event) { request.addEventListener('error', function(event) {
set_status("warning", "Rebooting device - please wait!", true); set_status("warning", _("Rebooting device - please wait!"), true);
setTimeout(ping_ubus, 5000) setTimeout(ping_ubus, 5000)
}); });
request.addEventListener('load', function(event) { request.addEventListener('load', function(event) {
set_status("success", "Success! Please reload web interface"); set_status("success", _("Success! Please reload web interface"));
$("#upgrade_button").value = "Reload page"; $("#upgrade_button").value = "Reload page";
show("#upgrade_button"); show("#upgrade_button");
$("#upgrade_button").disabled = false; $("#upgrade_button").disabled = false;
@ -295,13 +296,13 @@ function ping_ubus() {
}); });
request.send(); request.send();
} else { } else {
set_status("danger", "Web interface could not reconnect to your device. Please reload web interface or check device manually") set_status("danger", _("Web interface could not reconnect to your device. Please reload web interface or check device manually"))
} }
} }
function upload_image(blob) { function upload_image(blob) {
// Uploads received blob data to the server using cgi-io // Uploads received blob data to the server using cgi-io
set_status("info", "Uploading firmware to device", true); set_status("info", _("Uploading firmware to device"), true);
var request = new XMLHttpRequest(); var request = new XMLHttpRequest();
var form_data = new FormData(); var form_data = new FormData();
@ -316,7 +317,7 @@ function upload_image(blob) {
}); });
request.addEventListener('error', function(event) { request.addEventListener('error', function(event) {
set_status("danger", "Upload of firmware failed, please retry by reloading web interface") set_status("danger", _("Upload of firmware failed, please retry by reloading web interface"))
}); });
request.open('POST', origin + '/cgi-bin/cgi-upload'); request.open('POST', origin + '/cgi-bin/cgi-upload');
@ -340,7 +341,7 @@ function download_image() {
upload_image(blob) upload_image(blob)
} }
}; };
set_status("info", "Downloading firmware to web browser memory", true); set_status("info", _("Downloading firmware to web browser memory"), true);
download_request.send(); download_request.send();
} }