函式名:gettext()
適用版本:PHP 4, PHP 5, PHP 7
用法:gettext() 函式用於從指定的文字域中獲取翻譯後的字串。它是 PHP 中實現國際化的一種方式,可以根據使用者的語言環境返回對應的翻譯文字。
語法:string gettext ( string $message )
引數:
- $message:要翻譯的字串。
返回值:返回翻譯後的字串,如果找不到對應的翻譯,則返回原始字串。
示例:
- 基本用法:
// 設定語言環境為英文
putenv("LC_ALL=en_US");
setlocale(LC_ALL, 'en_US');
// 載入翻譯域
bindtextdomain("myapp", "/path/to/locale");
// 設定當前翻譯域
textdomain("myapp");
// 獲取翻譯後的字串
echo gettext("Hello"); // 輸出:Hello
// 切換語言環境為法文
putenv("LC_ALL=fr_FR");
setlocale(LC_ALL, 'fr_FR');
// 獲取翻譯後的字串
echo gettext("Hello"); // 輸出:Bonjour
- 使用變數作為翻譯字串:
$name = "John";
// 獲取翻譯後的字串,帶有變數
echo sprintf(gettext("Hello, %s!"), $name); // 輸出:Hello, John!
注意事項:
- 在使用 gettext() 函式之前,需要先設定語言環境和載入翻譯域。
- 翻譯域可以是一個目錄,其中包含多個翻譯檔案,每個檔案對應一種語言。
- gettext() 函式會根據當前的語言環境查詢對應的翻譯文字,如果找不到,則返回原始字串。
- 可以使用 sprintf() 函式將變數插入到翻譯字串中。
更多資訊和示例可以參考 PHP 手冊:https://www.php.net/manual/en/function.gettext.php