Multi-language support

This commit is contained in:
bergware
2020-06-03 10:06:30 +02:00
parent 827d3a68e0
commit bae1fc1bcc
6 changed files with 37 additions and 31 deletions
@@ -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));
+10 -10
View File
@@ -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']);
+8 -8
View File
@@ -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):'');
+1 -3
View File
@@ -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;