描述
加載翻譯后的主題字符串。
如果本地主題根目錄下有一個(gè).mo文件,該文件會(huì)被包括在$domain的被翻譯字符串中。
.mo文件必須根據(jù)本地設(shè)置命名。
用法
<?php load_theme_textdomain( $domain, $path ) ?>
參數(shù)
- $domain
- (字符串)(必需)用以檢索被翻譯字符串的唯一標(biāo)識(shí)符
- 默認(rèn)值: None
- $path
- (未知)(可選)語言包 .mo 文件所在的目錄(沒有結(jié)尾的斜線)
- 默認(rèn)值:false
返回的值
- (布爾)
- 如果 textdomain 可以正常加載,返回 TRUE ;反之返回 FALSE
例子
例 1
load_theme_textdomain() 必須在 after_setup_theme 動(dòng)作鉤子后調(diào)用。
add_action('after_setup_theme', 'my_theme_setup');
function my_theme_setup(){
load_theme_textdomain('my_theme', get_template_directory() . '/languages');
}
以上例子,指明主題的語言目錄位于該主題的 languages 文件夾。
需要注意的是,WordPress主題語言包不像插件語言包,如果你將主題語言包命名為my_theme-zh_CN.mo ,它是沒辦法使用的。正確的命名方式是根據(jù)本地語言設(shè)置命名來命名,比如 zh_CN.mo
例 2
如果你希望通過 URL 中的參數(shù)來調(diào)用不同的語言,比如 www.example.com/?l=zh_CN 就調(diào)用 zh_CN.mo ,那你可以參考下面的例子:
// 更改本地語言
// 必須在 load_theme_textdomain() 的前面調(diào)用
add_filter( 'locale', 'my_theme_localized' );
function my_theme_localized($locale) {
if (isset($_GET['l'])) {
return $_GET['l'];
}
return $locale;
}
// 設(shè)置主題語言路徑
// 語言包應(yīng)該訪問 my_theme/languages/ 目錄
// WordPress 自身語言包放在 wp-content/languages/ 目錄
load_theme_textdomain( 'my_theme', TEMPLATEPATH . '/languages' );
注釋
國際化和本地化是指計(jì)算機(jī)軟件來適應(yīng)不同的語言。
l10n 是 localization 的縮寫,i18n的18代表第i個(gè)和最后的N國際之間的字母數(shù)。
函數(shù)歷史
始見于1.5.0版本
源文件
load_theme_textdomain() 位于 wp-includes/l10n.php




