关于PHP变量的简单问题,以更改和本地化输出


Simple question on a PHP variable to change and localize the output

如何将以下内容的输出更改为类似2 hours and 30 minutes的内容?

电流输出为'hours':02,'mins':30

此外,我如何更改我的语言时间?(希腊语)

function time_difference($endtime){
    $times=array(
        'hours' => date("G",$endtime),
        'mins' => date("i",$endtime),
    );
    //added a "just a moment ago" feature for you
    if (intval($times['hours'], 10) == 0 
           && intval($times['mins'], 10) == 0) {
        return "just a moment ago";
    } 
    $diff='';
    foreach ($times as $k=>$v) {
        $diff.=empty($diff) ? '' : ',';
        $diff.=intval($v, 10) == 0 ? '' : "'$k':$v";
    }
    return $diff;
}   

也许你需要这样的东西:

<?php

$strings = array(
                    "EN" => array("hours", "mins", "and")
                ,   "GR" => array("ώρες", "λεπτά", "και")
        );

$lang = "GR";

function time_difference($endtime){
    global $lang;
    global $strings;
    $times=array(
        $strings[$lang][0] => date("G",$endtime),
        $strings[$lang][1] => date("i",$endtime),
    );
    //added a "just a moment ago" feature for you
    if (intval($times[$strings[$lang][0]], 10) == 0 
           && intval($times[$strings[$lang][1]], 10) == 0) {
        return "just a moment ago";
    } 

  $diff='';
    foreach ($times as $k=>$v) {
        $diff.=empty($diff) ? '' : ' '. $strings[$lang][2] . ' ';
        $diff.=intval($v, 10) == 0 ? '' : "$v $k";
    }
    return $diff;
}   

echo time_difference(mktime(2, 32, 2, 6, 6, 2006));
?>

将"hours"answers"minutes"设为变量,将它们写在文件中,并根据语言提取该文件。

葡萄牙语文件示例:

/lg/pt/lg_time.php

// each file will have the translation
define("HOURS", "horas");
define("MINUTES", "minutos");

然后,你只需要在你的应用程序中包含正确的文件。