mirror of
https://github.com/unraid/webgui.git
synced 2026-01-12 20:49:56 -06:00
Multi-language support
This commit is contained in:
@@ -318,31 +318,31 @@ function formatWarning(val) {
|
||||
<? endif;?>
|
||||
<tr><td></td><td><input type="button" value="_(History)_" onclick="openBox('/webGui/include/ParityHistory.php','_(Parity/Read-Check History)_',600,900,false)"></td>
|
||||
<? if ($var['sbSyncExit']!=0):?>
|
||||
<td class="wrap"><?=sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced2']).my_lang(day_count($var['sbSynced2']),1)))?><?if ($var['sbSynced2']):?><br><?=sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0')?><?endif;?>
|
||||
<td class="wrap"><?=sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced2']).day_count($var['sbSynced2'])))?><?if ($var['sbSynced2']):?><br><?=sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0')?><?endif;?>
|
||||
<i class="fa fa-fw fa-dot-circle-o"></i>_(Error code)_: <?=my_error($var['sbSyncExit'])?></td></tr>
|
||||
<? elseif ($var['sbSynced']==0):
|
||||
[$date,$duration,$speed,$status,$error] = last_parity_log();?>
|
||||
<? if ($status==0):?>
|
||||
<td class="wrap"><?=sprintf(_('Last checked on **%s**'),my_lang(my_time($date).my_lang(day_count($date),1)))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<i class="fa fa-fw fa-clock-o"></i>_(Duration)_: <?=_(my_lang(my_check($duration,$speed),2))?></td></tr>
|
||||
<td class="wrap"><?=sprintf(_('Last checked on **%s**'),my_lang(my_time($date).day_count($date)))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<i class="fa fa-fw fa-clock-o"></i>_(Duration)_: <?=my_check($duration,$speed)?></td></tr>
|
||||
<? else:?>
|
||||
<td class="wrap"><?=sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($date).my_lang(day_count($date),1)))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<td class="wrap"><?=sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($date).day_count($date)))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<i class="fa fa-fw fa-dot-circle-o"></i>_(Error code)_: <?=my_error($status)?></td></tr>
|
||||
<? endif;
|
||||
elseif ($var['sbSynced2']==0):
|
||||
[$date,$duration,$speed,$status,$error] = explode('|', read_parity_log($var['sbSynced']));
|
||||
if ($status==0):?>
|
||||
<td class="wrap"><?=sprintf(_('Last checked on **%s**'),my_lang(my_time($var['sbSynced']).my_lang(day_count($var['sbSynced']),1)))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<i class="fa fa-fw fa-clock-o"></i>_(Duration)_: <?=_(my_lang(my_check($duration,$speed),2))?></td></tr>
|
||||
<td class="wrap"><?=sprintf(_('Last checked on **%s**'),my_lang(my_time($var['sbSynced']).day_count($var['sbSynced'])))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<i class="fa fa-fw fa-clock-o"></i>_(Duration)_: <?=my_check($duration,$speed)?></td></tr>
|
||||
<? else:?>
|
||||
<td class="wrap"><?=sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced']).my_lang(day_count($var['sbSynced']),1)))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<td class="wrap"><?=sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced']).day_count($var['sbSynced'])))?><br><?=sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0')?>
|
||||
<i class="fa fa-fw fa-dot-circle-o"></i>_(Error code)_: <?=my_error($status)?></td></tr>
|
||||
<? endif;
|
||||
else:
|
||||
$duration = $var['sbSynced2']-$var['sbSynced'];
|
||||
$speed = $duration?my_scale($var['mdResyncSize']*1024/$duration,$unit,1)." $unit/sec":'';?>
|
||||
<td class="wrap"><?=sprintf(_('Last check completed on **%s**'),my_lang(my_time($var['sbSynced2']).my_lang(day_count($var['sbSynced2']),1)))?><br><?=sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0')?>
|
||||
<i class="fa fa-fw fa-clock-o"></i>_(Duration)_: <?=_(my_lang(my_check($duration,$speed),2))?></td></tr>
|
||||
<td class="wrap"><?=sprintf(_('Last check completed on **%s**'),my_lang(my_time($var['sbSynced2']).day_count($var['sbSynced2'])))?><br><?=sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0')?>
|
||||
<i class="fa fa-fw fa-clock-o"></i>_(Duration)_: <?=my_check($duration,$speed)?></td></tr>
|
||||
<? endif;
|
||||
endif;
|
||||
else:
|
||||
@@ -369,7 +369,7 @@ function formatWarning(val) {
|
||||
<td id="cancelText"><?if ($var['mdResync']):?>**_(Pause)_** _(will pause the Clearing)_.<?else:?>**_(Resume)_** _(will resume the paused Clearing)_.<?endif;?><br>**_(Cancel)_** _(will stop Clearing)_.</td></tr>
|
||||
<? endif;?>
|
||||
<tr><td></td><td><input type="button" value="_(History)_" onclick="openBox('/webGui/include/ParityHistory.php','_(Parity/Read-Check History)_',600,900,false)"></td>
|
||||
<td><?=sprintf(_('Current operation %s on **%s**'),($var['mdResync']?_('started'):_('paused')),my_lang(my_time($var['sbUpdated']).my_lang(day_count($var['sbSynced']),1)))?></td></tr>
|
||||
<td><?=sprintf(_('Current operation %s on **%s**'),($var['mdResync']?_('started'):_('paused')),my_lang(my_time($var['sbUpdated']).day_count($var['sbSynced'])))?></td></tr>
|
||||
<tr><td>_(Total size)_:</td><td id="line0"></td><td></td></tr>
|
||||
<tr><td>_(Elapsed time)_:</td><td id="line1"></td><td></td></tr>
|
||||
<tr><td>_(Current position)_:</td><td id="line2"></td><td></td></tr>
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
?>
|
||||
<?
|
||||
$docroot = $docroot ?? $_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp';
|
||||
// add translations
|
||||
$_SERVER['REQUEST_URI'] = '';
|
||||
require_once "$docroot/webGui/include/Translations.php";
|
||||
|
||||
require_once "$docroot/webGui/include/Helpers.php";
|
||||
extract(parse_plugin_cfg('dynamix',true));
|
||||
|
||||
|
||||
@@ -398,31 +398,31 @@ case 'parity':
|
||||
$time = $_POST['time'];
|
||||
$idle = $var['mdResync']==0;
|
||||
if ($var['sbSyncExit']!=0) {
|
||||
echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced2']).my_lang(day_count($var['sbSynced2']),1))).'<br>'.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
|
||||
echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced2']).day_count($var['sbSynced2']))).'<br>'.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
|
||||
echo " <i class='fa fa-fw fa-dot-circle-o'></i> "._('Error code').": ".my_error($var['sbSyncExit']);
|
||||
} elseif ($var['sbSynced']==0) {
|
||||
list($date,$duration,$speed,$status,$error) = last_parity_log();
|
||||
if (!$date) {
|
||||
echo _('Parity has not been checked yet');
|
||||
} elseif ($status==0) {
|
||||
echo sprintf(_('Last checked on **%s**'),my_lang(my_time($date).my_lang(day_count($date),1))).'<br> '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo " <i class='fa fa-fw fa-clock-o'></i> "._('Duration').": "._(my_lang(my_check($duration,$speed),2));
|
||||
echo sprintf(_('Last checked on **%s**'),my_lang(my_time($date).day_count($date))).'<br> '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo " <i class='fa fa-fw fa-clock-o'></i> "._('Duration').": ".my_check($duration,$speed);
|
||||
} else {
|
||||
echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($date).my_lang(day_count($date),1))).'<br>'.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($date).day_count($date))).'<br>'.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo " <i class='fa fa-fw fa-dot-circle-o'></i> "._('Error code').": ".my_error($status);
|
||||
}
|
||||
} elseif ($var['sbSynced2']==0) {
|
||||
if ($idle) {
|
||||
list($entry,$duration,$speed,$status,$error) = explode('|', read_parity_log($var['sbSynced'],!$idle));
|
||||
if ($status==0) {
|
||||
echo sprintf(_('Last checked on **%s**'),my_lang(my_time($var['sbSynced']).my_lang(day_count($var['sbSynced']),1))).'<br>'.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo " <i class='fa fa-fw fa-clock-o'></i> "._('Duration').": "._(my_lang(my_check($duration,$speed),2));
|
||||
echo sprintf(_('Last checked on **%s**'),my_lang(my_time($var['sbSynced']).day_count($var['sbSynced']))).'<br>'.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo " <i class='fa fa-fw fa-clock-o'></i> "._('Duration').": ".my_check($duration,$speed);
|
||||
} else {
|
||||
echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced']).my_lang(day_count($var['sbSynced']),1))).'<br>'.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($var['sbSynced']).day_count($var['sbSynced']))).'<br>'.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
|
||||
echo " <i class='fa fa-fw fa-dot-circle-o'></i> "._('Error code').": ".my_error($status);
|
||||
}
|
||||
} else {
|
||||
echo sprintf(_('Current operation %s on **%s**'),($var['mdResync']?_('started'):_('paused')),my_lang(my_time($var['sbUpdated']).my_lang(day_count($var['sbSynced']),1))).'<br>'.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
|
||||
echo sprintf(_('Current operation %s on **%s**'),($var['mdResync']?_('started'):_('paused')),my_lang(my_time($var['sbUpdated']).day_count($var['sbSynced']))).'<br>'.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
|
||||
echo "<br><i class='fa fa-fw fa-clock-o'></i> "._('Elapsed time').": ".my_lang(my_clock(floor((time()-$var['sbUpdated'])/60)),2);
|
||||
echo "<br><i class='fa fa-fw fa-flag-checkered'></i> "._('Estimated finish').': '.my_lang(my_clock(round(((($var['mdResyncDt']*(($var['mdResync']-$var['mdResyncPos'])/($var['mdResyncDb']/100+1)))/100)/60),0)),2);
|
||||
}
|
||||
@@ -430,8 +430,8 @@ case 'parity':
|
||||
$status = 0;
|
||||
$duration = $var['sbSynced2']-$var['sbSynced'];
|
||||
$speed = $duration?my_scale($var['mdResyncSize']*1024/$duration,$unit,1)." $unit/sec":'';
|
||||
echo sprintf(_('Last check completed on **%s**'),my_lang(my_time($var['sbSynced2']).my_lang(day_count($var['sbSynced2']),1))).'<br>'.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
|
||||
echo " <i class='fa fa-fw fa-clock-o'></i> "._('Duration').': '._(my_lang(my_check($duration,$speed),2));
|
||||
echo sprintf(_('Last check completed on **%s**'),my_lang(my_time($var['sbSynced2']).day_count($var['sbSynced2']))).'<br>'.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
|
||||
echo " <i class='fa fa-fw fa-clock-o'></i> "._('Duration').': '.my_check($duration,$speed);
|
||||
}
|
||||
if ($idle) {
|
||||
list($m,$h) = explode(' ', $parity['hour']);
|
||||
|
||||
@@ -129,13 +129,13 @@ function usage_color(&$disk, $limit, $free) {
|
||||
}
|
||||
}
|
||||
function my_check($time, $speed) {
|
||||
if (!$time) return 'unavailable (no parity-check entries logged)';
|
||||
if (!$time) return _('unavailable (no parity-check entries logged)');
|
||||
$days = floor($time/86400);
|
||||
$hmss = $time-$days*86400;
|
||||
$hour = floor($hmss/3600);
|
||||
$mins = $hmss/60%60;
|
||||
$secs = $hmss%60;
|
||||
return plus($days,'day',($hour|$mins|$secs)==0).plus($hour,'hour',($mins|$secs)==0).plus($mins,'minute',$secs==0).plus($secs,'second',true).". Average speed: $speed";
|
||||
return plus($days,'day',($hour|$mins|$secs)==0).plus($hour,'hour',($mins|$secs)==0).plus($mins,'minute',$secs==0).plus($secs,'second',true).". "._('Average speed').": $speed";
|
||||
}
|
||||
function my_error($code) {
|
||||
switch ($code) {
|
||||
@@ -177,19 +177,19 @@ function day_count($time) {
|
||||
case ($days<0):
|
||||
return;
|
||||
case ($days==0):
|
||||
return " <span class='green-text'>(today)</span>";
|
||||
return " <span class='green-text'>(".('today').")</span>";
|
||||
case ($days==1):
|
||||
return " <span class='green-text'>(yesterday)</span>";
|
||||
return " <span class='green-text'>("._('yesterday').")</span>";
|
||||
case ($days<=31):
|
||||
return " <span class='green-text'>(".my_word($days)." days ago)</span>";
|
||||
return " <span class='green-text'>(".sprintf(_('%s days ago'),my_lang(my_word($days),1)).")</span>";
|
||||
case ($days<=61):
|
||||
return " <span class='orange-text'>($days days ago)</span>";
|
||||
return " <span class='orange-text'>(".sprintf(_('%s days ago'),$days).")</span>";
|
||||
case ($days>61):
|
||||
return " <span class='red-text'>($days days ago)</span>";
|
||||
return " <span class='red-text'>(".sprintf(_('%s days ago'),$days).")</span>";
|
||||
}
|
||||
}
|
||||
function plus($val, $word, $last) {
|
||||
return $val>0 ? (($val || $last) ? ($val.' '.$word.($val!=1?'s':'').($last ?'':', ')) : '') : '';
|
||||
return $val>0 ? (($val || $last) ? ($val.' '._($word.($val!=1?'s':'')).($last ?'':', ')) : '') : '';
|
||||
}
|
||||
function compress($name,$size=18,$end=6) {
|
||||
return strlen($name)<=$size ? $name : substr($name,0,$size-($end?$end+3:0)).'...'.($end?substr($name,-$end):'');
|
||||
|
||||
@@ -41,18 +41,16 @@ function my_lang($text,$do=0) {
|
||||
global $language;
|
||||
switch ($do) {
|
||||
case 0: // date translation
|
||||
$keys = ['today','yesterday','day ago','days ago','week ago','weeks ago','month ago','months ago'];
|
||||
parse_array($language['Months_array'],$months);
|
||||
parse_array($language['Days_array'],$days);
|
||||
foreach ($months as $word => $that) if (strpos($text,$word)!==false) {$text = str_replace($word,$that,$text); break;}
|
||||
foreach ($days as $word => $that) if (strpos($text,$word)!==false) {$text = str_replace($word,$that,$text); break;}
|
||||
foreach ($keys as $key) if (isset($language[$key])) $text = str_replace($key,$language[$key],$text);
|
||||
break;
|
||||
case 1: // number translation
|
||||
parse_array($language['Numbers_array'],$numbers);
|
||||
foreach ($numbers as $word => $that) if (strpos($text,$word)!==false) {$text = str_replace($word,$that,$text); break;}
|
||||
break;
|
||||
case 2: // time translation
|
||||
case 2: // time translation - deprecated
|
||||
$keys = ['days','hours','minutes','seconds','day','hour','minute','second','Average speed'];
|
||||
foreach ($keys as $key) if (isset($language[$key])) $text = preg_replace("/\b$key\b/",$language[$key],$text);
|
||||
break;
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
// Multi-language support
|
||||
function _($text) {return $text;}
|
||||
function my_lang($text) {return $text;}
|
||||
|
||||
$var = parse_ini_file("/var/local/emhttp/var.ini");
|
||||
$devs = parse_ini_file("/var/local/emhttp/devs.ini",true);
|
||||
$disks = parse_ini_file("/var/local/emhttp/disks.ini",true);
|
||||
|
||||
Reference in New Issue
Block a user