CakeFest 2024: The Official CakePHP Conference

bindtextdomain

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

bindtextdomainSetzt oder liefert den Pfad für eine Domain

Beschreibung

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

Die Funktion bindtextdomain() setzt den Pfad für eine Domain oder gibt diesen zurück.

Parameter-Liste

domain

Die Domain

directory

Der Verzeichnispfad. Ein leerer String bedeutet das aktuelle Verzeichnis. Falls null, wird das aktuell eingestellte Verzeichnis zurückgegeben.

Rückgabewerte

Der vollständige Pfadname, der gerade für domain gesetzt wird. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.0.3 directory ist nun ein Nullable-Typ. Zuvor war es nicht möglich, das aktuell eingestellte Verzeichnis abzurufen.

Beispiele

Beispiel #1 bindtextdomain()-Beispiel

<?php

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

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/usr/share/MeineAnwendung/locale

Anmerkungen

Hinweis:

Die bindtextdomain()-Informationen werden pro Prozess verwaltet, nicht pro 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