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 — Especifica o recupera la ruta de un dominio
La función bindtextdomain() define o recupera la ruta de un dominio.
domainEl dominio.
directory
La ruta hacia el directorio.
Una cadena vacía significa el directorio actual.
Si null, se devuelve el directorio actualmente definido.
La ruta completa para el domain actualmente definido,
o false si ocurre un error.
| Versión | Descripción |
|---|---|
| 8.4.0 |
directory ahora es opcional.
Anteriormente, este parámetro debía ser siempre especificado.
|
| 8.0.3 |
directory ahora es nullable.
Anteriormente, no era posible recuperar el directorio actualmente definido.
|
Ejemplo #1 Ejemplo con bindtextdomain()
<?php
$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');
?>El ejemplo anterior mostrará:
/usr/share/myapp/locale
Nota:
La información bindtextdomain() se mantiene por proceso, y no por hilo.
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.
}
?>