准备工作:
- 创建一个名为 "lang" 的文件夹来存储语言文件。
- 在 "lang" 文件夹中创建一个 "en.php" 文件,这是英语的默认语言文件。
语言文件:
语言文件是一个 PHP 数组,其中包含所有翻译文本,例如:
<?php
return [
"home" => "Home",
"about" => "About Us",
"contact" => "Contact Us",
];
语言选择器:
添加一个语言选择器,允许用户选择首选语言。这可以是一个下拉菜单或一组按钮:
<select name="lang">
<option value="en">English</option>
<option value="fr">French</option>
</select>
获取当前语言:
根据用户选择或默认语言,获取当前语言:
$lang = isset($_GET["lang"]) ? $_GET["lang"] : "en";
加载语言文件:
使用 include
函数加载当前语言文件:
include "lang/" . $lang . ".php";
翻译文本:
使用 _
函数翻译文本:
echo _("Home"); // 输出 "Home" 的翻译
添加新语言:
要添加新语言,只需在 "lang" 文件夹中创建一个新的语言文件,例如 "fr.php",并用翻译文本填充它。
处理多元化和复数形式:
对于需要多元化或复数形式的语言,可以使用 ngettext
函数:
echo ngettext("Product", "Products", $count); // 根据 $count 的值输出 "Product" 或 "Products"
设置默认语言:
如果用户未选择语言,则将默认语言设置为英语:
if (!isset($_GET["lang"])) {
$lang = "en";
}
其他提示:
- 保持语言文件整洁,避免使用多余的注释。
- 使用一致的命名约定,以便于查找和翻译文本。
- 定期更新语言文件,以反映任何内容或功能更改。
- 考虑使用多语言库,如 PHPLang。
- 对你的网站进行本地化测试,以确保所有文本都已正确翻译并显示。