php可扩展的多语言解决方案

时间:2012-01-25 10:20:07

标签: php multilingual

在我的PHP网站中应用多语言的可扩展且低资源的解决方案是什么?另外你们如何将它与javascript集成,一些javascript也需要翻译。

我目前的解决方案只是:

define('DEFAULT_LANGUAGE', 'en');

if(!isset($_SESSION['language'])){
    $_SESSION['language'] = DEFAULT_LANGUAGE;
}

function lang($key, $set = null){
    static $lang;

    if($set !== null){
        $lang = $set;
        return true;
    }

    return $lang[$key];
}

include('language/' . $_SESSION['language'] . '.php');
lang(null, $lang);

我对这个解决方案的疑虑:如果文件中的数组相当大,1000多个元素,并且我们在函数中传递它,设置语言数组,它在内存中加倍,因为我们没有通过引用传递?

感谢阅读。

1 个答案:

答案 0 :(得分:1)

  • 1000个元素不是那么多
  • PHP使用“copy-on-write”,这意味着,只要你不改变某些内容,它就不会消耗额外的内存。
  • 当你使用unset($lang)
  • 时,那就不会那么多(见第一点)而且只是很短的一段时间