bindtextdomain

(PHP 4, PHP 5, PHP 7, PHP 8)

bindtextdomain设置或获取域的路径

说明

bindtextdomain(string $domain, ?string $directory): string|false

函数 bindtextdomain() 设置或获取域的路径。

参数

domain

域。

directory

目录路径。空字符串表示当前目录。如果为 null,则返回当前设置的目录。

返回值

当前正在设置的 domain 的完整路径名,或在失败时返回 false

变更日志

版本 说明
8.0.3 directory 现在可以为空。以前无法检索当前设置的目录。

范例

范例 #1 bindtextdomain() 例子

<?php

$domain
= 'myapp';
echo
bindtextdomain($domain, '/usr/share/myapp/locale');

?>

以上例子将输出

/usr/share/myapp/locale

注释

注意:

信息 bindtextdomain() 是每个进程维护的,而不是每个线程维护的。

添加注释

用户贡献注释 2 个注释

6
n8klatt
9 年前
您的 .mo 文件的名称必须与 $domain 匹配,例如将您的文件命名为 messages.mo 并调用 bindtextdomain("messages", $directory)。
4
roel dot vermeulen at gmail dot com
8 年前
我建议在 $directory 参数中使用绝对路径。这导致我调试了几个小时,因为 Ajax 对我的本地化函数的调用弄乱了路径。由于如果 $directory 中的路径找不到,不会抛出任何错误,因此应始终检查结果。

<?php
// 假设此文件的路径为 "/localization" 且您的语言环境在 "/locale" 目录中。
$pathToDomain = __DIR__ . "/../locale";
if (
$pathToDomain != bindtextdomain($domain, $pathToDomain)) {
// 错误处理。
}
?>
To Top