您的 .mo 文件的名称必须与 $domain 匹配,例如将您的文件命名为 messages.mo 并调用 bindtextdomain("messages", $directory)。
(PHP 4, PHP 5, PHP 7, PHP 8)
bindtextdomain — 设置或获取域的路径
当前正在设置的 domain
的完整路径名,或在失败时返回 false
。
版本 | 说明 |
---|---|
8.0.3 |
directory 现在可以为空。以前无法检索当前设置的目录。 |
范例 #1 bindtextdomain() 例子
<?php
$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');
?>
以上例子将输出
/usr/share/myapp/locale
注意:
信息 bindtextdomain() 是每个进程维护的,而不是每个线程维护的。
您的 .mo 文件的名称必须与 $domain 匹配,例如将您的文件命名为 messages.mo 并调用 bindtextdomain("messages", $directory)。
我建议在 $directory 参数中使用绝对路径。这导致我调试了几个小时,因为 Ajax 对我的本地化函数的调用弄乱了路径。由于如果 $directory 中的路径找不到,不会抛出任何错误,因此应始终检查结果。
<?php
// 假设此文件的路径为 "/localization" 且您的语言环境在 "/locale" 目录中。
$pathToDomain = __DIR__ . "/../locale";
if ($pathToDomain != bindtextdomain($domain, $pathToDomain)) {
// 错误处理。
}
?>