bindtextdomain
(PHP 4, PHP 5, PHP 7, PHP 8)
bindtextdomain — Sets or gets the path for a domain
说明
The bindtextdomain() function sets or gets the path for a domain.
参数
domain
-
The domain.
directory
-
The directory path. An empty string means the current directory. If
null
, the currently set directory is returned.
返回值
The full pathname for the domain
currently being set,
或者在失败时返回 false
.
更新日志
版本 | 说明 |
---|---|
8.4.0 |
directory is optional now.
Previously, the parameter always had to be specified.
|
8.0.3 |
directory is nullable now.
Previously, it was not possible to retrieve the currently set directory.
|
示例
示例 #1 bindtextdomain() example
<?php
$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');
?>
以上示例会输出:
/usr/share/myapp/locale
注释
注意:
The bindtextdomain() information is maintained per process, not per thread.
+添加备注
用户贡献的备注 2 notes
n8klatt ¶
10 years ago
The name of your .mo file must match the $domain, e.g. name your files messages.mo and call bindtextdomain("messages", $directory).
roel dot vermeulen at gmail dot com ¶
8 years ago
I recommend using absolute paths in the $directory parameter. This caused me several hours to debug as Ajax calls to my localization functions messed up the path. And since no error if thrown if the path in $directory cannot be found, one should check the result always:
<?php
// Imagine the path for this file is "/localization" and your locales are in the "/locale" directory.
$pathToDomain = __DIR__ . "/../locale";
if ($pathToDomain != bindtextdomain($domain, $pathToDomain)) {
// Error handling.
}
?>
备份地址:http://www.lvesu.com/blog/php/function.bindtextdomain.php