mirror of
https://github.com/unraid/webgui.git
synced 2026-01-14 05:30:07 -06:00
92 lines
3.4 KiB
Plaintext
92 lines
3.4 KiB
Plaintext
Menu="WebGui"
|
|
Title="Language"
|
|
Icon="language"
|
|
Tag="language"
|
|
---
|
|
<?PHP
|
|
/* Copyright 2005-2020, Lime Technology
|
|
* Copyright 2012-2020, Bergware International.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version 2,
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*/
|
|
?>
|
|
<?
|
|
$installed = ['English'];
|
|
$keys = parse_ini_file('webGui/include/languages.key',false,INI_SCANNER_RAW);
|
|
|
|
foreach (glob("$docroot/languages/*",GLOB_ONLYDIR) as $dir) $installed[] = rtrim(strtok($keys[basename($dir)],'('));
|
|
?>
|
|
<style>
|
|
select.wide{min-width:<?=$themes2?'314':'300'?>px}
|
|
</style>
|
|
<script>
|
|
var keys = {};
|
|
<?foreach ($keys as $key => $name) echo "keys['$key'] = '".rtrim(strtok($keys[$key],'('))."'\n";?>
|
|
|
|
function upload(form) {
|
|
var language = form.language.value;
|
|
if (!language) {
|
|
swal({title:'_(Missing Language)_',text:'_(Please select a language before proceeding)_!',type:'error',confirmButtonText:'_(Ok)_'});
|
|
return;
|
|
}
|
|
var cmd = form.check.checked ? 'rm' :'add';
|
|
var title = form.check.checked ? '_(Language support deleted)_' : '_(Language support added)_';
|
|
$.post("/webGui/include/FileUpload.php",{cmd:cmd,filename:language,filedata:form.file.value},function(list){
|
|
if (list.indexOf('Error 500')==-1) {
|
|
var installed = ['English'];
|
|
var name = list.split(',');
|
|
for (var i=0; i < name.length; i++) installed.push(keys[name[i]]);
|
|
$('#installed').text(installed.join(', '));
|
|
swal({title:title,text:'_(See)_ <a href="/Settings/DisplaySettings">_(Display Settings)_</a> _(to select your language)_',type:'success',html:true,confirmButtonText:'_(Ok)_'});
|
|
$('#uploadbutton').prop('disabled',true);
|
|
}
|
|
});
|
|
}
|
|
function getZIPfile(event,form) {
|
|
var input = event.target;
|
|
var reader = new FileReader();
|
|
reader.onload = function(){
|
|
var name = input.files[0].name;
|
|
if (name.slice(-4)=='.zip') {
|
|
form.file.value = reader.result;
|
|
$('#uploadbutton').prop('disabled',false);
|
|
for (var n = 0; n < form.language.length; n++) if (form.language.options[n].text.indexOf(name.slice(0,-4))>0) {form.language.selectedIndex = n; break;}
|
|
} else {
|
|
swal({title:'_(Wrong File Extension)_',text:'_(Only ZIP files are allowed)_',type:'error',confirmButtonText:'_(Ok)_'});
|
|
}
|
|
};
|
|
reader.readAsDataURL(input.files[0]);
|
|
}
|
|
function screenUpdate(check) {
|
|
$('#uploadbutton').prop('disabled',false);
|
|
$('#selectlang').toggle('slow');
|
|
if (check) $('#uploadbutton').val("_(Delete)_"); else $('#uploadbutton').val("_(Upload)_")
|
|
}
|
|
</script>
|
|
|
|
<form markdown="1">
|
|
<input type="hidden" name="file" value="">
|
|
|
|
_(Installed languages)_:
|
|
: <span id="installed"><?=implode(', ',$installed)?></span>
|
|
|
|
_(Select language)_:
|
|
: <select name="language" class="wide">
|
|
<?=mk_option(1, "", "---")?>
|
|
<?foreach ($keys as $key => $name) echo mk_option(1, $key, $name)?>
|
|
</select><input name="check" type="checkbox" onchange="screenUpdate(this.checked)">_(Remove the installed language)_
|
|
|
|
<div id="selectlang" markdown="1">
|
|
_(Select language file)_:
|
|
: <input type="file" accept=".zip" onchange="getZIPfile(event,this.form)">
|
|
|
|
</div>
|
|
|
|
: <input id="uploadbutton" type="button" value="_(Upload)_" onclick="upload(this.form)" disabled><input type="button" value="_(Done)_" class="lock" onclick="done()">
|
|
</form>
|