當前位置:首頁>WordPress建站>WordPress開發(fā)>如何本地化翻譯 Javascript 中的字符串

如何本地化翻譯 Javascript 中的字符串

在制作WordPress主題或插件的時候,實現本地化功能,方便世界各地不同語言的朋友使用,有利于主題和插件的推廣應用。大家可能比較熟悉的是PHP文件中的字符串本地化,而對于存在于腳本(Javascript)中的字符串的翻譯比較陌生。今天倡萌就以實例來解說一下本地化翻譯 Javascript 中的字符串 。

在閱讀本文前,建議先閱讀以下文章:

WordPress翻譯中 __()、_e()、_x、_ex 和 _n 的用法及區(qū)別

讓WordPress主題支持語言本地化

讓WordPress插件支持語言本地化

WordPress函數:wp_localize_script(腳本本地化)

正確加載 Javascript 和 CSS 到 WordPress

好,下面進入正題。

本文將以 WP-Polls 插件的腳本本地化為例,啟用插件后,你會在前臺頁面的底部看到類似下面的代碼:

wp-polls-wpdaxue_com

這些 text_wait 等冒號后面的文本,就是包含在 poll-js.js 中需要本地化的字符串,然后我們打開該插件的 wp-polls.php,搜索 pollsL10n ,就會定位到如下代碼:

wp_enqueue_script('wp-polls', plugins_url('wp-polls/polls-js.js'), array('jquery'), '2.63', true);
wp_localize_script('wp-polls', 'pollsL10n', array(
	'ajax_url' => admin_url('admin-ajax.php', (is_ssl() ? 'https' : 'http')),
	'text_wait' => __('Your last request is still being processed. Please wait a while ...', 'wp-polls'),
	'text_valid' => __('Please choose a valid poll answer.', 'wp-polls'),
	'text_multiple' => __('Maximum number of choices allowed: ', 'wp-polls'),
	'show_loading' => intval($poll_ajax_style['loading']),
	'show_fading' => intval($poll_ajax_style['fading'])
));

也就是輸出上圖內容的代碼。

我們可以看到,它先使用 wp_enqueue_script() 引入了 poll-js.js 文件,然后使用 wp_localize_script() 添加了要本地化的數據。這也就是我們在 wp_localize_script(腳本本地化)所提到的:wp_localize_script() 必須在所要附加數據的已進行排隊或注冊的腳本的后面調用。

仔細看上面的代碼的 wp_enqueue_script() 和 wp_localize_script() 兩個函數的 ‘wp-polls’ 是一一對應的,而 pollsL10n 就是在 js 中調用這些本地化數據的前綴。

打開 poll-js.js 文件,搜索下 pollsL10n ,你會發(fā)現具體調用方法(以下代碼已精簡):

function poll_vote(a){
	is_being_voted?alert(pollsL10n.text_wait):(set_is_being_voted(!0),
	……
	alert(pollsL10n.text_valid)):(set_is_being_voted(!1),
	alert(pollsL10n.text_multiple+" "+poll_multiple_ans)):0<poll_answer_id?poll_process():(set_is_being_voted(!1),
	alert(pollsL10n.text_valid)))
}

pollsL10n.text_wait,pollsL10n.text_valid,pollsL10n.text_multiple 就是調用本地化數據。

好了,本文就介紹到這里,只要你理解了,多嘗試下就會發(fā)現其實不難的。

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關注WordPress大學公眾號 WPDAXUE
WordPress開發(fā)

WordPress函數:wp_localize_script(腳本本地化)

2013-5-20 8:37:31

WordPress開發(fā)

在上傳目錄中為WordPress插件創(chuàng)建新的上傳文件夾

2013-5-21 7:48:00

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

安顺市| 高安市| 盐池县| 沙河市| 富顺县| 宁晋县| 灵宝市| 山阴县| 高雄市| 开远市| 湘阴县| 电白县| 广南县| 河池市| 庆安县| 宁陕县| 马尔康县| 进贤县| 章丘市| 腾冲县| 筠连县| 久治县| 高雄县| 黔西| 乐山市| 永嘉县| 田阳县| 元谋县| 城步| 邹平县| 墨竹工卡县| 邓州市| 东丽区| 万盛区| 日土县| 依兰县| 梨树县| 南平市| 大厂| 化隆| 申扎县|