The name of your .mo file must match the $domain, e.g. name your files messages.mo and call bindtextdomain("messages", $directory).
(PHP 4, PHP 5, PHP 7, PHP 8)
bindtextdomain — Define ou obtém o caminho para um domínio
A função bindtextdomain() define ou obtém um caminho para um domínio.
domain
O domínio.
directory
O caminho do diretório.
Uma string vazia significa o diretório atual.
Se null
, o diretório definido para o domínio é retornado.
O caminho completo para o domínio definido por domain
,
ou false
em caso de falha.
Versão | Descrição |
---|---|
8.4.0 |
directory agora é opcional.
Anteriormente, sempre tinha que ser especificado.
|
8.0.3 |
directory agora pode ser nulo.
Anteriormente, não era possível recuperar o diretório definido para o domínio.
|
Exemplo #1 Exemplo de bindtextdomain()
<?php
$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');
?>
O exemplo acima produzirá:
/usr/share/myapp/locale
Nota:
A informação de bindtextdomain() é mantida por processo, não por thread.
The name of your .mo file must match the $domain, e.g. name your files messages.mo and call bindtextdomain("messages", $directory).
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.
}
?>