PHP 8.4.2 Released!

bindtextdomain

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

bindtextdomainУстанавливает или получает путь к домену

Описание

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

Функция bindtextdomain() устанавливает или получает путь к домену.

Список параметров

domain

Домен.

directory

Путь к каталогу. Пустая строка обозначает текущий каталог. Функция возвращает текущий установленный каталог, если для параметра установили значение null.

Возвращаемые значения

Функция возвращает полный путь к домену, который установили в параметре domain или false, если возникла ошибка.

Список изменений

Версия Описание
8.4.0 Параметр directory стал необязательным. Раньше параметр требовалось указывать при каждом вызове.
8.0.3 Параметр directory теперь принимает значение null. Раньше было невозможно получить текущий установленный каталог.

Примеры

Пример #1 Пример установки пути к домену функцией bindtextdomain()

<?php

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

?>

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

/usr/share/myapp/locale

Примечания

Замечание:

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

Добавить

Примечания пользователей 2 notes

up
6
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).
up
4
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.
}
?>
To Top