PHP如何在配置文件中处理不同的语言?

时间:2011-12-20 14:34:01

标签: php translation

我正在开展一个项目,将会有3种不同的语言:英语,法语和西班牙语。这将在用户注册时定义。

现在在我的配置文件中,我有以下内容:

define("DEFAULT_SLOGAN", "The default slogan will go here.");

直到我开始意识到我需要接受不同的语言。

用户具有指定的语言代码(EN,FR,SP)。我如何为每个页面添加不同的语言字符串?我需要这样的东西:

define("DEFAULT_SLOGAN_EN", "Slogan in english");
define("DEFAULT_SLOGAN_FR", "Slogan in french");
define("DEFAULT_SLOGAN_SP", "Slogan in spanish");

并且每个字符串只有3个不同的版本吗?不太确定解决这个问题的最佳方法。

谢谢!

2 个答案:

答案 0 :(得分:4)

经常使用的简单策略是数组:

$lang['en'] = array(
    'DEFAULT_SLOGAN' => 'The default slogan will go here.',
);
// Same for other languages

然后,在您的实际代码中,确保$ lang可用(您可以使用global关键字)并使用这些数组。

答案 1 :(得分:3)

更好的方法是创建

  • 包含

    的locale_definitions_EN.php

    define(“DEFAULT_SLOGAN”,“英文默认口号将在这里。”);

  • 包含

    的local_definitions_FR.php

    define(“DEFAULT_SLOGAN”,“法国默认口号将在这里。”);

等。然后做一些像

这样的事情
include "locale_definitions_$userLocale.php";

这样做的好处是,您不需要内存来保存未使用的其他语言常量。