PHP Velho Oeste 2024

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 теперь допускает значение null. Раньше было невозможно получить текущий установленный каталог.

Примеры

Пример #1 Пример использования bindtextdomain()

<?php

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

?>

Результат выполнения приведённого примера:

/usr/share/myapp/locale

Примечания

Замечание:

Информация bindtextdomain() сохраняется для каждого процесса, а не для потока.

add a note add a note

User Contributed Notes 2 notes

up
6
roel dot vermeulen at gmail dot com
7 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.
   
}
?>
up
6
n8klatt
9 years ago
The name of your .mo file must match the $domain, e.g. name your files messages.mo and call bindtextdomain("messages", $directory).
To Top