CakeFest 2024: The Official CakePHP Conference

bindtextdomain

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

bindtextdomainSets or gets the path for a domain

Descrizione

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

The bindtextdomain() function sets or gets the path for a domain.

Elenco dei parametri

domain

The domain.

directory

The directory path. An empty string means the current directory. If null, the currently set directory is returned.

Valori restituiti

The full pathname for the domain currently being set, o false in caso di fallimento.

Log delle modifiche

Versione Descrizione
8.0.3 directory is nullable now. Previously, it was not possible to retrieve the currently set directory.

Esempi

Example #1 bindtextdomain() example

<?php

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

?>

Il precedente esempio visualizzerà:

/usr/share/myapp/locale

Note

Nota:

The bindtextdomain() information is maintained per process, not per thread.

add a note

User Contributed Notes 2 notes

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