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 — Spécifie ou récupère le chemin d'un domaine
La fonction bindtextdomain() défini ou récupère le chemin d'un domaine.
domain
Le domaine.
directory
Le chemin vers le dossier.
Une chaîne vide signifie le dossier courant.
Si null
, le dossier actuellement défini est retourné.
Le chemin complet pour le domain
actuellement défini,
ou false
si une erreur survient.
Version | Description |
---|---|
8.0.3 |
directory est désormais nullable.
Auparavant, il n'était pas possible de récupérer le dossier actuellement défini.
|
Exemple #1 Exemple avec bindtextdomain()
<?php
$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');
?>
L'exemple ci-dessus va afficher :
/usr/share/myapp/locale
Note:
L'information bindtextdomain() est maintenue par process, et non par 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.
}
?>