mirror of
https://github.com/optim-enterprises-bv/control-pane.git
synced 2025-10-28 16:42:25 +00:00
new translation mechanism: WIP
This commit is contained in:
@@ -25,6 +25,10 @@ class ClonOS {
|
||||
public $media_import='';
|
||||
public $json_req=false;
|
||||
public $sys_vars=array();
|
||||
public $config=false;
|
||||
public $mode='';
|
||||
public $form='';
|
||||
|
||||
private $_locale;
|
||||
private $_post=false;
|
||||
private $_db=null;
|
||||
@@ -46,16 +50,19 @@ class ClonOS {
|
||||
'username'=>'guest',
|
||||
'unregistered'=>true,
|
||||
);
|
||||
private $_vars=array();
|
||||
private $_translate=false;
|
||||
private $_db_tasks=null;
|
||||
/*
|
||||
public $projectId=0;
|
||||
public $jailId=0;
|
||||
public $moduleId=0;
|
||||
public $helper='';
|
||||
public $mode='';
|
||||
public $form='';
|
||||
|
||||
|
||||
|
||||
private $_vars=array();
|
||||
private $_db_tasks=null;
|
||||
|
||||
|
||||
private $_db_jails=null;
|
||||
*/
|
||||
|
||||
@@ -368,10 +375,12 @@ class ClonOS {
|
||||
|
||||
|
||||
//$back_file=
|
||||
$rowCount=0;
|
||||
if(isset($dbres['rowCount'])) $rowCount=$dbres['rowCount'];
|
||||
|
||||
return [
|
||||
'error'=>false,
|
||||
'rowCount'=>$dbres['rowCount'],
|
||||
'rowCount'=>$rowCount,
|
||||
'phraseID'=>$form['phraseID'],
|
||||
'phrase'=>$form['translText']
|
||||
];
|
||||
|
||||
@@ -107,7 +107,7 @@ class Translate
|
||||
|
||||
public function translate($path,$page,$file_name)
|
||||
{
|
||||
$translate_cache='_translate.cache';
|
||||
$translate_cache=ClonOS::TRANSLATE_CACHE_NAME; //'_translate.cache';
|
||||
$backup_dir='back';
|
||||
switch($path)
|
||||
{
|
||||
@@ -206,7 +206,11 @@ class Translate
|
||||
// если оригинальный текст изменился, то обновляем его в базе
|
||||
# временно отключил, пока наполняется основная база. Потом нужно вернуть обратно
|
||||
/*
|
||||
$dbres1=$db->update('update lang_en set text=? where id=? and type=?',[[$text,PDO::PARAM_STR],[$id,PDO::PARAM_INT],[$path,PDO::PARAM_STR]]);
|
||||
$dbres1=$db->update('update lang_en set text=? where id=? and type=?',[
|
||||
[$text,PDO::PARAM_STR],
|
||||
[$id,PDO::PARAM_INT],
|
||||
[$path,PDO::PARAM_STR]
|
||||
]);
|
||||
if(isset($dbres1['rowCount']))
|
||||
{
|
||||
if($dbres1['rowCount']>0)
|
||||
@@ -304,7 +308,7 @@ UPDATE SQLITE_SEQUENCE SET seq = 0 WHERE name = 'lang_en'
|
||||
$sql="select en_id,text from lang_other where lang=? and en_id in ({$ids_txt})";
|
||||
$res=$db->select($sql,[[$this->language,PDO::PARAM_STR]]);
|
||||
// $res=$db->select("select en_id,text from lang_other where lang=? and en_id in (?)",[[$this->language,PDO::PARAM_STR],[[$ids_arr]]]);
|
||||
if($res['error'])
|
||||
if(isset($res['error']) && $res['error'])
|
||||
{
|
||||
echo 'db error';
|
||||
exit;
|
||||
@@ -323,7 +327,9 @@ UPDATE SQLITE_SEQUENCE SET seq = 0 WHERE name = 'lang_en'
|
||||
|
||||
$txt=preg_replace("#title='<span.+>([^\']+)</span>'#U","$1",$txt);
|
||||
|
||||
$txt=preg_replace("#(<option[^>]+>)<span[^>]+>(.*)</span>#U","$1$2",$txt);
|
||||
#$txt=preg_replace("#(<option[^>]+>)<span[^>]+>(.*)</span>#U","$1$2",$txt);
|
||||
$txt=preg_replace("#(<option[^>]+>)<span[^>]+>(.*)</span>(</option>)#U","$1$2$3",$txt);
|
||||
|
||||
|
||||
# чистим кнопки от лишних тэгов
|
||||
$txt=preg_replace('#<input type="button" value="(<span[^>]+)>(.*?)</span>"#U','<input type="button" value="$2"',$txt);
|
||||
|
||||
@@ -5,9 +5,9 @@ err_messages.add({
|
||||
</script>
|
||||
<dialog id="bhyve-clone" class="window-box new">
|
||||
<h1>
|
||||
<span class="new"><span id="trlt-255">Clone Virtual Machine</span></span>
|
||||
<span class="new"><span id="trlt-255">Клонирование виртуальной машины</span></span>
|
||||
</h1>
|
||||
<h2><span id="trlt-256">Cloned Virtual Machine Settings</span></h2>
|
||||
<h2><span id="trlt-256">Настройки клонирования ВМ</span></h2>
|
||||
<form class="win" method="post" id="bhyveCloneSettings" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p>
|
||||
|
||||
@@ -11,7 +11,7 @@ err_messages.add({
|
||||
<dialog id="bhyve-new" class="window-box">
|
||||
<h1>
|
||||
<span class="new"><span id="trlt-95">Создание виртуальной машины</span></span>
|
||||
<span class="edit"><span id="trlt-242">Edit Virtual Machine</span></span>
|
||||
<span class="edit"><span id="trlt-242">Правка виртуальной машины</span></span>
|
||||
</h1>
|
||||
<h2><span id="trlt-97">Настройки</span></h2>
|
||||
<form class="win" method="post" id="bhyveSettings" onsubmit="return false;">
|
||||
@@ -75,8 +75,8 @@ err_messages.add({
|
||||
<input type="text" name="vm_vnc_port" value="" placeholder="0" maxlength="5" />
|
||||
</p>
|
||||
<p>
|
||||
<span class="field-name"><span id="trlt-247">VNC Password</span>:</span>
|
||||
<input type="password" name="vm_vnc_password" value="" placeholder="3-20 symbols" pattern=".{3,20}" maxlength="20"></input> <small>— <span id="trlt-248">use to log in VNC console</span></small>
|
||||
<span class="field-name"><span id="trlt-247">Пароль VNC</span>:</span>
|
||||
<input type="password" name="vm_vnc_password" value="" placeholder="3-20 symbols" pattern=".{3,20}" maxlength="20"></input> <small>— <span id="trlt-248">используется для входа в VNC консоль</span></small>
|
||||
</p>
|
||||
<!-- <p>
|
||||
<span class="field-name"><span id="trlt-249">CD-ROM ISO</span>:</span>
|
||||
|
||||
@@ -5,16 +5,16 @@ err_messages.add({
|
||||
</script>
|
||||
<dialog id="bhyve-rename" class="window-box new">
|
||||
<h1>
|
||||
<span class="new"><span id="trlt-257">Rename virtual machine</span></span>
|
||||
<span class="new"><span id="trlt-257">Переименование виртуальной машины</span></span>
|
||||
</h1>
|
||||
<h2><span id="trlt-258">Renamed Virtual Machine Settings</span></h2>
|
||||
<h2><span id="trlt-258">Переименование ВМ</span></h2>
|
||||
<form class="win" method="post" id="bhyveRenameSettings" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p class="warning" style="width:400px;">
|
||||
<span id="trlt-120"><strong>ВНИМАНИЕ!</strong> Контейнер запущен. Переименование работает только при выключенном окружении, поэтому данный контейнер предварительно будет остановлен!</span>
|
||||
</p>
|
||||
<p>
|
||||
<span class="field-name"><span id="trlt-259">VM name</span>:</span>
|
||||
<span class="field-name"><span id="trlt-259">Имя виртуальной машины</span>:</span>
|
||||
<input type="text" name="jname" value="" pattern="[^0-9]{1}[a-zA-Z0-9]{2,}" required="required" class="edit-disable" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -7,9 +7,9 @@ err_messages.add({
|
||||
</script>
|
||||
<dialog id="jail-clone" class="window-box new">
|
||||
<h1>
|
||||
<span class="new"><span id="trlt-211">Clone jail</span></span>
|
||||
<span class="new"><span id="trlt-211">Клонирование контейнера</span></span>
|
||||
</h1>
|
||||
<h2><span id="trlt-212">Cloned Jail Settings</span></h2>
|
||||
<h2><span id="trlt-212">Настройки клонирования</span></h2>
|
||||
<form class="win" method="post" id="jailCloneSettings" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p class="warning" style="width:400px;">
|
||||
|
||||
@@ -7,9 +7,9 @@ err_messages.add({
|
||||
</script>
|
||||
<dialog id="jail-rename" class="window-box new">
|
||||
<h1>
|
||||
<span class="new"><span id="trlt-214">Rename jail</span></span>
|
||||
<span class="new"><span id="trlt-214">Переименование контейнера</span></span>
|
||||
</h1>
|
||||
<h2><span id="trlt-215">Renamed Jail Settings</span></h2>
|
||||
<h2><span id="trlt-215">Настройки переименования</span></h2>
|
||||
<form class="win" method="post" id="jailRenameSettings" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p class="warning" style="width:400px;">
|
||||
|
||||
13
public/dialogs/back/1734129887.helpers-add.php
Normal file
13
public/dialogs/back/1734129887.helpers-add.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<dialog id="helpers-add" class="window-box new">
|
||||
<h1>
|
||||
<span class="new"><translate>Helpers add</translate></span>
|
||||
</h1>
|
||||
<h2><translate>Select helpers for install</translate></h2>
|
||||
<form class="win" method="post" id="helpersAddSettings" onsubmit="return false;">
|
||||
<div class="window-content"></div>
|
||||
</form>
|
||||
<div class="buttons">
|
||||
<input type="button" value="<translate>Add</translate>" class="new button ok-but" />
|
||||
<input type="button" value="<translate>Cancel</translate>" class="button red cancel-but" />
|
||||
</div>
|
||||
</dialog>
|
||||
28
public/dialogs/back/1734559212.translate.php
Normal file
28
public/dialogs/back/1734559212.translate.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<dialog id="translates" class="window-box new">
|
||||
<h1>
|
||||
<translate id="376">Translate</translate>
|
||||
</h1>
|
||||
<h2><translate id="377">Translate phrase</translate></h2>
|
||||
<form class="win" method="post" id="translate" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p>
|
||||
Вы можете поучаствовать в переводе интерфейса на свой язык.
|
||||
</p>
|
||||
<p>
|
||||
<span class="field-name"><translate id="378">Original phrase</translate>:</span>
|
||||
<textarea id="origPhrase" disabled="disabled" name="origText"></textarea>
|
||||
</p>
|
||||
<p class="new">
|
||||
<span class="field-name"><translate id="379">Translated phrase</translate>:</span>
|
||||
<textarea id="translPhrase" name="translText"></textarea>
|
||||
</p>
|
||||
</div>
|
||||
<input type="hidden" name="phraseID" id="trlt-phID" />
|
||||
<input type="hidden" name="type" id="trlt-type" />
|
||||
<input type="hidden" name="dialog" id="trlt-dlgname" />
|
||||
</form>
|
||||
<div class="buttons">
|
||||
<input type="button" value="<translate>Save</translate>" class="new button ok-but" />
|
||||
<input type="button" value="<translate>Cancel</translate>" class="button red cancel-but" />
|
||||
</div>
|
||||
</dialog>
|
||||
@@ -6,7 +6,7 @@ src_table_pattern='<?php $res=$this->getTableChunk('baseslist','tbody'); echo st
|
||||
</script>
|
||||
<dialog id="getrepo" class="window-box">
|
||||
<h1><translate id="324">Compile FreeBSD</translate></h1>
|
||||
<h2><translate id="328">Compile from bases</translate></h2>
|
||||
<h2><translate id="328">Fetch from repository</translate></h2>
|
||||
<form class="win" method="post" id="repoSettings" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<dialog id="helpers-add" class="window-box new">
|
||||
<h1>
|
||||
<span class="new"><translate>Helpers add</translate></span>
|
||||
<span class="new"><translate id="108">Helpers add</translate></span>
|
||||
</h1>
|
||||
<h2><translate>Select helpers for install</translate></h2>
|
||||
<h2><translate id="109">Select helpers for install</translate></h2>
|
||||
<form class="win" method="post" id="helpersAddSettings" onsubmit="return false;">
|
||||
<div class="window-content"></div>
|
||||
</form>
|
||||
<div class="buttons">
|
||||
<input type="button" value="<translate>Add</translate>" class="new button ok-but" />
|
||||
<input type="button" value="<translate>Cancel</translate>" class="button red cancel-but" />
|
||||
<input type="button" value="<translate id="114">Add</translate>" class="new button ok-but" />
|
||||
<input type="button" value="<translate id="73">Cancel</translate>" class="button red cancel-but" />
|
||||
</div>
|
||||
</dialog>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<input type="hidden" name="dialog" id="trlt-dlgname" />
|
||||
</form>
|
||||
<div class="buttons">
|
||||
<input type="button" value="Save" class="new button ok-but" />
|
||||
<input type="button" value="Cancel" class="button red cancel-but" />
|
||||
<input type="button" value="<translate id="74">Save</translate>" class="new button ok-but" />
|
||||
<input type="button" value="<translate id="73">Cancel</translate>" class="button red cancel-but" />
|
||||
</div>
|
||||
</dialog>
|
||||
@@ -1,57 +0,0 @@
|
||||
<script type="text/javascript">
|
||||
err_messages.add({
|
||||
'username':'<translate id="265">CHANGE THIS TEXT!!! Can not be empty. Name must begin with a letter / a-z / and not have any special symbols: -,.=%</translate>',
|
||||
'first_name':'<translate id="266">TYPE THIS TEXT!!!</translate>',
|
||||
'last_name':'<translate id="266">TYPE THIS TEXT!!!</translate>',
|
||||
});
|
||||
</script>
|
||||
<dialog id="users-new" class="window-box new">
|
||||
<h1>
|
||||
<span class="new"><translate id="366">Add new user</translate></span>
|
||||
<span class="edit"><translate id="367">Edit user info</translate></span>
|
||||
</h1>
|
||||
<h2><translate id="368">User Settings</translate></h2>
|
||||
<form class="win" method="post" id="userSettings" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p>
|
||||
<span class="field-name"><translate id="369">User name</translate>:</span>
|
||||
<input type="text" name="username" value="" pattern="[^0-9]{1}[a-zA-Z0-9]{2,}" required="required" class="edit-enable" />
|
||||
</p>
|
||||
<p class="new">
|
||||
<span class="field-name"><translate id="370">User password</translate>:</span>
|
||||
<input type="password" name="password" value="" placeholder="3-20 symbols" pattern=".{3,20}" maxlength="20" class="edit-disable"></input>
|
||||
</p>
|
||||
<p class="new">
|
||||
<span class="field-name"><translate id="371">User password (again)</translate>:</span>
|
||||
<input type="password" name="password1" value="" placeholder="3-20 symbols" pattern=".{3,20}" maxlength="20" class="edit-disable"></input>
|
||||
</p>
|
||||
<fieldset class="edit full">
|
||||
<legend><input type="checkbox" id="letsedit-1" class="letsedit" /><label for="letsedit-1"> <translate id="372">Change the password</translate>:</label></legend>
|
||||
<p>
|
||||
<span class="field-name"><translate id="370">User password</translate>:</span>
|
||||
<input type="password" name="password" value="" placeholder="3-20 symbols" pattern=".{3,20}" maxlength="20" disabled></input>
|
||||
</p>
|
||||
<p>
|
||||
<span class="field-name"><translate id="371">User password (again)</translate>:</span>
|
||||
<input type="password" name="password1" value="" placeholder="3-20 symbols" pattern=".{3,20}" maxlength="20" disabled></input>
|
||||
</p>
|
||||
</fieldset>
|
||||
<p>
|
||||
<span class="field-name"><translate id="373">First name</translate>:</span>
|
||||
<input type="text" name="first_name" value="" pattern="[^0-9]{1}[a-zA-Z0-9]{2,}" required="required" class="edit-enable" />
|
||||
</p>
|
||||
<p>
|
||||
<span class="field-name"><translate id="374">Last name</translate>:</span>
|
||||
<input type="text" name="last_name" value="" pattern="[^0-9]{1}[a-zA-Z0-9]{2,}" required="required" class="edit-enable" />
|
||||
</p>
|
||||
<p>
|
||||
<input type="checkbox" name="actuser" id="actuser" /><label for="actuser"> <translate id="375">Activate user</translate></label>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<div class="buttons">
|
||||
<input type="button" value="<translate id="114">Add</translate>" class="new button ok-but" />
|
||||
<input type="button" value="<translate id="74">Save</translate>" class="edit button ok-but" />
|
||||
<input type="button" value="<translate id="73">Cancel</translate>" class="button red cancel-but" />
|
||||
</div>
|
||||
</dialog>
|
||||
@@ -50,8 +50,8 @@ foreach($images as $item){
|
||||
$size = filesize($filename);
|
||||
}
|
||||
$filesize = $this->fileSizeConvert($size, 1024, true);
|
||||
$query = "select count(*) as busy from taskd where status<2 and jname='".$item['jname']."'";
|
||||
$busy = $this->_db_tasks->selectOne($query, []);
|
||||
$query = "select count(*) as busy from taskd where status<2 and jname=?";
|
||||
$busy = $this->_db_tasks->selectOne($query, [$item['jname'],PDO::PARAM_STR]);
|
||||
$jstatus = '';
|
||||
$jbusy = '';
|
||||
if($busy['busy'] == 1){
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
if(isset($clonos->uri_chunks[1])){
|
||||
include('helpers.php');
|
||||
include($clonos->realpath_page.'helpers.php');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user