成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WordPress的JavaScript本地化

開發 前端
WordPress是一種使用PHP語言開發的博客平臺,用戶可以在支持PHP和MySQL 數據庫的服務器上架設自己的網志。也可以把 WordPress 當作一個內容管理系統(CMS)來使用。本文主要介紹WordPress的JavaScript本地化,一起來看。

WordPress 升級到 3.1 之后, 如果主題支持 wp_head() 方法, 將在頁面加載一個名為 l10n.js 的文件, 這是為 JavaScript 本地化提供的工具庫. 目前對大多數人來說是一個無用的功能, 甚至有人認為這是 WordPress 卑鄙地偷偷地在頁面上埋了一個扯淡的腳本, 所以網上能找到的都是如何卸載腳本的方法.

在我們卸載之前, 是不是應該先了解一下這是怎樣的一個功能, 添加腳本的意圖是什么? 本文將說明 l10n.js 腳本存在的意義, 本地化腳本的使用方法和對其未來的展望.

 

  1. <script type='text/javascript' src='{ROOT DIR}/wp-includes/js/l10n.js?ver=20101110'></script>  

 

i18n 和 l10n

i18n[1] 和 l10n[2] 是 IT 領域常用的縮寫術語, 分別是國際化和本地化的意思. i18n 指應用程序能夠為不同的國家和語言環境的用戶群體提供本地化的服務, 而 l10n 則是在用戶使用環境實現本地化特性, 國際化和本地化泛指語言環境的多語言實現. 如: WordPress 是一個支持國際化的程序, 只要提供對應國家語言包并制定國家代號, 就能替換整個網站的語言環境.

JavaScript 本地化

如前面的例子, WordPress 一直支持國際化, 并提供 _e() 和 __() 兩個 PHP 方法對程序進行本地化. 但隨著前端 JavaScript 應用越來越多, 后端的國際化已經滿足不了所有需求, 有必要引入 JavaScript 的國際化和本地化.

若你使用的主題支持 wp_head() 方法, 將在頁面加載 l10n.js 文件, 而且用戶可以通過簡單的代碼向頁面注入本地化資源. l10n.js 是一個 JavaScript 本地化的工具庫, 包含 convertEntities() 方法, 可以將 HTML 對象還原成原來的值, 所以它會在所有注入的 JavaScript 腳本和本地化資源之前載入.

使用的方法

我們可以為每一個要載入的 JavaScript 文件定義本地化資源. 實現代碼如下[3]:

  1. // 必須先載入一個 Javascript 文件  
  2. wp_enqueue_script('some_handle''/some_javascript.js');  
  3. // 組裝本地化數據, 使用 __() 制作本地化內容  
  4. $data = array( 'some_string' => __( 'Some string to translate' ) );  
  5. // 加載本地化腳本. 這里必須指定一個需要載入的 JavaScript 文件.  
  6. wp_localize_script( 'some_handle''object_name', $data );  

執行后將在頁面上生成代碼如下:

  1. /* <![CDATA[ */ 
  2. var object_name = {  
  3. some_string: "Some string to translate" 
  4. };  
  5. /* ]]> */ 
  6. <script type='text/javascript' src='{ROOT DIR}/some_javascript.js?ver=3.1'></script>  

本地化資源會在指定腳本之前載入和定義. 其中 {ROOT DIR} 是網站的根目錄.

此時如果我們可以通過以下代碼進行測試:

  1. alert(object_name.some_string); // 彈出對話框, 顯示 'Some string to translate'  

利弊和應用場合

好處前面說了很多, 可以方便地進行前端本地化 (需要后端 PHP 配合). 缺點也很明顯, 會在每次頁面加載時計算本地化資源, 并且載入大量 JavaScript 代碼, 增加系統負擔和延長頁面加載時間.

JavaScript 本地化是 WordPress 主題和插件制作中讓人較為煩惱的地方, 一些插件開發者會在頁面上自行定義 l10n 對象, 可以參考 WP-RecentComments 插件的做法. WordPress 這次強行引入, 很可能會被主題和插件開發者廣泛應用. 也就是說, 不久的將來你未必敢卸載掉它, 否則某些插件將運行不了.

卸載和恢復的方法

雖說 l10n.js 文件很小, 好歹會發出一個請求, 如果你真的認為沒用, 可以在 functions.php 中添加以下代碼將它卸載掉.

  1. wp_deregister_script('l10n');  

如函數名, 這個方法不是禁用, 而是注銷. 也就是說, 一旦你注銷就沒有了, 就算刪除這段代碼也不會還原. 如果在注銷后希望回復需要使用以下方法:

  1. wp_register_script('l10n');  

總結

WordPress 的想法很好, 但這實現方式叫我該如何吐槽, 希望 "支持 JavaScript 本地化" 不是通過主題審核的必要條件. 作為前端, 多少有點頁面潔癖, 我已經將這個腳本注銷掉了. 另外, 看到 WordPress 3.1 那奪目的 Admin Bar 我淡定地笑了, 祝 WordPress 越來越臃腫.

【編輯推薦】

  1. 關于 JavaScript 的 with 語句
  2. Web移動應用 HTML5 CSS和JavaScript
  3. JavaScript 假如default不是switch的***一項
  4. 深度剖析WordPress主題結構
  5. WordPress的18條必備SQL操作語句
責任編輯:于鐵 來源: mg12's Blog
相關推薦

2022-09-21 11:51:26

模塊化應用

2012-06-08 10:48:31

商務社交

2011-05-30 17:11:08

測試策略

2012-05-14 17:10:50

iOS

2011-05-26 17:28:48

軟件本地化測試

2012-05-13 13:15:54

IOS

2017-11-30 14:44:41

語言代碼文件

2010-03-09 09:33:04

Windows Emb

2011-06-08 17:07:55

本地化測試

2020-09-21 08:34:28

數據中心

2025-02-18 00:04:00

DeepSeek模型ChatGPT

2011-10-10 13:40:22

Distimo移動應用本地化

2021-06-29 10:01:56

物聯網項目eSIM物聯網

2024-01-10 09:00:00

OpenAILocalGPT開源大模型

2011-05-27 14:09:55

Windows PhoBing微軟

2021-01-20 07:37:39

Exceptionle服務端部署

2022-08-08 12:57:42

IoT智能設備智能化設備家庭組網

2010-03-23 17:14:35

互聯網

2011-07-04 10:56:42

諾基亞蘋果谷歌

2012-12-16 19:00:19

本地化推廣微軟產品微軟Windows
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九综合| 97久久久| 2019精品手机国产品在线 | 久久999 | 在线四虎 | 欧美一区视频 | 国产精品久久亚洲7777 | 国产精品久久久久久中文字 | 国产精品美女久久久久久不卡 | 亚洲精品68久久久一区 | 天天综合天天 | 亚洲精品成人av久久 | 91精品在线播放 | 国产精品久久一区 | 正在播放国产精品 | hitomi一区二区三区精品 | 免费观看www7722午夜电影 | 成人免费久久 | 国内自拍偷拍一区 | 九九热这里 | 又爽又黄axxx片免费观看 | 国产三级日本三级 | 国产精品99久久久久久久久久久久 | 美女爽到呻吟久久久久 | 精品国产欧美一区二区三区成人 | 中文字幕国产一区 | 日本高清在线一区 | 国产精品一区二区av | 六月婷婷久久 | 最新黄色在线观看 | 四虎影院免费在线 | 亚洲国产精品99久久久久久久久 | 成人免费视频一区 | 蜜桃综合在线 | 午夜成人免费视频 | 在线看亚洲 | 中文字幕在线视频观看 | 成人免费精品 | 亚洲精品一区在线观看 | 中文av字幕| 精品国产一区二区三区av片 |