您可以使用 .ini 文件来保存文本的翻译版本,例如,en.ini 将包含:
hello = "Hello"
greeting = "How are you"
而 tr.ini 将包含:
hello = "Selam"
greeting = "Nasılsın"
两者都是简单的文本文件(以 UTF-8 格式保存)。现在您可以看到字符串在所有语言中都有通用名称(hello 和问候语),这些名称可以在代码中使用,如下所示:
// First, load the appropriate language file:
$lang = "en";
$strings = parse_ini_file( "$lang.ini" );
// Now we can use the following code no matter what $lang indicates (tr or en):
echo( "<h1>{$strings[ "hello" ]}</h1><br/>{$strings[ "greeting" ]}" );
你应该意识到的一件事:
- 由于
parse_ini_file
从文件系统中读取文件,您必须非常仔细地验证 $lang 中的值!不要以任何方式依赖用户输入来获取价值,$lang
因为它可能是恶意的(链接page.php?lang=en
不够好)。例如,根据您自己的白名单检查 $lang 的值:$langs = array( "en", "tr" );
如果失败,则重定向到一般错误页面或其他内容...