你的 .mo 檔案名稱必須與 $domain 相符,例如,將檔案命名為 messages.mo 並呼叫 bindtextdomain("messages", $directory)。
(PHP 4, PHP 5, PHP 7, PHP 8)
bindtextdomain — 設定或取得網域的路徑
目前正在設定的 domain
之完整路徑名稱,失敗時則回傳 false
。
版本 | 說明 |
---|---|
8.4.0 |
directory 現在是可選的。以前,這個參數必須要指定。 |
8.0.3 |
directory 現在可以是 null。以前,無法取得目前設定的目錄。 |
範例 #1 bindtextdomain() 範例
<?php
$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');
?>
上述範例將輸出
/usr/share/myapp/locale
注意:
bindtextdomain() 的資訊是依程序維護,而不是依執行緒。
你的 .mo 檔案名稱必須與 $domain 相符,例如,將檔案命名為 messages.mo 並呼叫 bindtextdomain("messages", $directory)。
我建議在 $directory 參數中使用絕對路徑。這讓我花了幾個小時除錯,因為對我的本地化函數的 Ajax 呼叫弄亂了路徑。而且由於如果在 $directory 中找不到路徑,則不會拋出任何錯誤,因此應該始終檢查結果
<?php
// 假設此檔案的路徑是 "/localization",而您的語系設定檔位於 "/locale" 目錄中。
$pathToDomain = __DIR__ . "/../locale";
if ($pathToDomain != bindtextdomain($domain, $pathToDomain)) {
// 錯誤處理。
}
?>