WordPress的JavaScript 本地化完成

目前对大少数人来说是一个无用的性能, 甚至有人以为这是 WordPress 卑劣地偷偷地在页面上埋了一个扯淡的脚本, 所以网上能找到的都是如何卸载脚本的办法. 在咱们卸载之前, 是不是应该先理解一下这是怎么的一个性能, 增加脚本的用意是什么? 本文将阐明 l10n.js 脚本存在的意义, 本地化脚本的应用办法和对其将来的瞻望.
 
<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]:
 
// 必需先载入一个 Javascript 文件
wp_enqueue_script('some_handle', '/some_javascript.js');
// 组装本地化数据, 应用 __() 制造本地化内容
$data = array( 'some_string' => __( 'Some string to translate' ) );
// 加载本地化脚本. 这里必需指定一个需求载入的 JavaScript 文件.
wp_localize_script( 'some_handle', 'object_name', $data );

执行后将在页面上生成代码如下:
 
/* <![CDATA[ */
var object_name = {
some_string: "Some string to translate"
};
/* ]]> */
<script type='text/javascript' src='{ROOT DIR}/some_javascript.js?ver=3.1'></script>

本地化资源会在指定脚本之前载入和定义. 其中 {ROOT DIR} 是网站的根目录.
此时假如咱们能够经过以下代码进行测试:
 
alert(object_name.some_string); // 弹出对话框, 显示 'Some string to translate'

利害和使用场所
益处后面说了很多, 能够不便地进行前端本地化 (需求后端 PHP 配合). 缺陷也很显著, 会在每次页面加载时计算本地化资源, 并且载入大量 JavaScript 代码, 添加零碎累赘和延伸页面加载工夫.
JavaScript 本地化是 WordPress 主题和插件制造中让人较为懊恼的中央, 一些插件**会在页面上自行定义 l10n 对象, 能够参考 WP-RecentComments 插件的做法. WordPress 这次强行引入, 很可能会被主题和插件**宽泛使用. 也就是说, 不久的未来你未必敢卸载掉它, 否则某些插件将运转不了.
卸载和恢复的办法
虽说 l10n.js 文件很小, 好歹会收回一个申请, 假如你真的以为没用, 能够在 functions.php 中增加以下代码将它卸载掉.
 
wp_deregister_script('l10n');

如函数名, 这个办法不是禁用, 而是登记. 也就是说, 一旦你登记就没有了, 就算删除这段代码也不会复原. 假如在登记后心愿回复需求应用以下办法:
 
wp_register_script('l10n');

总结
WordPress 的想法很好, 但这完成形式叫我该如何吐槽, 心愿 "支持 JavaScript 本地化" 不是经过主题审核的必要条件. 作为前端, 多少有点页面洁癖, 我曾经将这个脚本登记掉了. 另外, 看到 WordPress 3.1 那炫目的 Admin Bar 我淡定地笑了, 祝 WordPress 越来越臃肿.
注解
  1. internationalization, 国内化的意思. 由于单词前后字母 i 和 n 之间有 18 个字母存在, 所以缩写成 i18n.
  2. localization, 本地化的意思. 由于单词前后字母 l 和 n 之间有 10 个字母存在, 所以缩写成 l10n.
  3. 代码援用自 WordPress Codex - wp_localize_script.

以上就是安达网络工作室关于《WordPress的JavaScript 本地化实现》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: JavaScript 本地化 WordPress
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
菜鸟应用wordpress建站的几点心得

要害字形容:心得 建站 应用 菜鸟 能够 这个 边栏 主题 文章 一个   这一周都在学用wordpress来做独立博...

让我据守ZBLOG的十二大理由

要害字形容:理由 ZBLOG 装置 优化 工夫 WordPress 能够 文章 博客   让我据守ZBLOG的十二大理由:   ...

WordPress完成搜寻后果只有一篇文章时主动跳转到文章的办法

本文实例讲述了WordPress完成搜寻后果只有一篇文章时主动跳转到文章的办法。分享给大家供大家参考。详细剖析...

wordpress弱小的网站建立cformsII留言板插件

最近在做一个客户的企业网站建立时,需求往数据库提交信息的表单页面,然而Wordpress自带的评论性能来做的话...

wordpress评论者链接在新窗口中关上的办法

找到wp-includes/comment-template.php文件中 复制代码代码如下:if ( empty( $url ) || 'http://' == $url ...

如何设置WordPress图片防盗链办法 推荐

假如您的博客有很多很多图片,空间又有流量限度,那么避免他人盗取本人的图片链接应该说是势在必行了,由于...

需求提交

客服服务