endif;
endif;
else:
@@ -369,7 +369,7 @@ function formatWarning(val) {
**_(Pause)_** _(will pause the Clearing)_.**_(Resume)_** _(will resume the paused Clearing)_. **_(Cancel)_** _(will stop Clearing)_.
endif;?>
-
=sprintf(_('Current operation %s on **%s**'),($var['mdResync']?_('started'):_('paused')),my_lang(my_time($var['sbUpdated']).my_lang(day_count($var['sbSynced']),1)))?>
+
=sprintf(_('Current operation %s on **%s**'),($var['mdResync']?_('started'):_('paused')),my_lang(my_time($var['sbUpdated']).day_count($var['sbSynced'])))?>
_(Total size)_:
_(Elapsed time)_:
_(Current position)_:
diff --git a/plugins/dynamix/include/CryptoBenchmark.php b/plugins/dynamix/include/CryptoBenchmark.php
index 4a0a1844e..91bf16580 100644
--- a/plugins/dynamix/include/CryptoBenchmark.php
+++ b/plugins/dynamix/include/CryptoBenchmark.php
@@ -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));
diff --git a/plugins/dynamix/include/DashUpdate.php b/plugins/dynamix/include/DashUpdate.php
index 9ffcc7a44..7bfaf54f7 100644
--- a/plugins/dynamix/include/DashUpdate.php
+++ b/plugins/dynamix/include/DashUpdate.php
@@ -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))).' '.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']))).' '.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
echo " "._('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))).' '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
- echo " "._('Duration').": "._(my_lang(my_check($duration,$speed),2));
+ echo sprintf(_('Last checked on **%s**'),my_lang(my_time($date).day_count($date))).' '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
+ echo " "._('Duration').": ".my_check($duration,$speed);
} else {
- echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($date).my_lang(day_count($date),1))).' '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
+ echo sprintf(_('Last check incomplete on **%s**'),my_lang(my_time($date).day_count($date))).' '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
echo " "._('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))).' '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
- echo " "._('Duration').": "._(my_lang(my_check($duration,$speed),2));
+ echo sprintf(_('Last checked on **%s**'),my_lang(my_time($var['sbSynced']).day_count($var['sbSynced']))).' '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
+ echo " "._('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))).' '.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']))).' '.sprintf(_('Finding **%s** error'.($error==1?'':'s')),$error?:'0');
echo " "._('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))).' '.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']))).' '.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
echo " "._('Elapsed time').": ".my_lang(my_clock(floor((time()-$var['sbUpdated'])/60)),2);
echo " "._('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))).' '.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
- echo " "._('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']))).' '.sprintf(_('Finding **%s** error'.($var['sbSyncErrs']==1?'':'s')),$var['sbSyncErrs']?:'0');
+ echo " "._('Duration').': '.my_check($duration,$speed);
}
if ($idle) {
list($m,$h) = explode(' ', $parity['hour']);
diff --git a/plugins/dynamix/include/Helpers.php b/plugins/dynamix/include/Helpers.php
index 5482f07a5..d71b8f84d 100644
--- a/plugins/dynamix/include/Helpers.php
+++ b/plugins/dynamix/include/Helpers.php
@@ -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 " (today)";
+ return " (".('today').")";
case ($days==1):
- return " (yesterday)";
+ return " ("._('yesterday').")";
case ($days<=31):
- return " (".my_word($days)." days ago)";
+ return " (".sprintf(_('%s days ago'),my_lang(my_word($days),1)).")";
case ($days<=61):
- return " ($days days ago)";
+ return " (".sprintf(_('%s days ago'),$days).")";
case ($days>61):
- return " ($days days ago)";
+ return " (".sprintf(_('%s days ago'),$days).")";
}
}
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):'');
diff --git a/plugins/dynamix/include/Translations.php b/plugins/dynamix/include/Translations.php
index 2a75649a2..921b6143f 100644
--- a/plugins/dynamix/include/Translations.php
+++ b/plugins/dynamix/include/Translations.php
@@ -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;
diff --git a/plugins/dynamix/scripts/monitor b/plugins/dynamix/scripts/monitor
index bc530b86a..850eb02c5 100755
--- a/plugins/dynamix/scripts/monitor
+++ b/plugins/dynamix/scripts/monitor
@@ -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);