函数名:gettext()
适用版本:PHP 4, PHP 5, PHP 7
用法:gettext() 函数用于从指定的文本域中获取翻译后的字符串。它是 PHP 中实现国际化的一种方式,可以根据用户的语言环境返回对应的翻译文本。
语法:string gettext ( string $message )
参数:
- $message:要翻译的字符串。
返回值:返回翻译后的字符串,如果找不到对应的翻译,则返回原始字符串。
示例:
- 基本用法:
// 设置语言环境为英文
putenv("LC_ALL=en_US");
setlocale(LC_ALL, 'en_US');
// 加载翻译域
bindtextdomain("myapp", "/path/to/locale");
// 设置当前翻译域
textdomain("myapp");
// 获取翻译后的字符串
echo gettext("Hello"); // 输出:Hello
// 切换语言环境为法文
putenv("LC_ALL=fr_FR");
setlocale(LC_ALL, 'fr_FR');
// 获取翻译后的字符串
echo gettext("Hello"); // 输出:Bonjour
- 使用变量作为翻译字符串:
$name = "John";
// 获取翻译后的字符串,带有变量
echo sprintf(gettext("Hello, %s!"), $name); // 输出:Hello, John!
注意事项:
- 在使用 gettext() 函数之前,需要先设置语言环境和加载翻译域。
- 翻译域可以是一个目录,其中包含多个翻译文件,每个文件对应一种语言。
- gettext() 函数会根据当前的语言环境查找对应的翻译文本,如果找不到,则返回原始字符串。
- 可以使用 sprintf() 函数将变量插入到翻译字符串中。
更多信息和示例可以参考 PHP 手册:https://www.php.net/manual/en/function.gettext.php