立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 1305|回复: 0

[Wordpress 通用教程] WordPress插件-多语种切换插件qTranslate使用总结

[复制链接]
发表于 2023-11-30 21:18:50 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. qTranslate版本问题
这款插件在安装后,如果你的WP版本比插件对应版本新,那么每次编辑文章和页面的时候插件会自动禁用自己,要点一下重新使用(其实很多插件都这样),比较麻烦。解决办法是去官网的下载页面先看一下你使用的WP是否能对应上当前安装的插件版本,如果插件过旧就下载最新的插件。但如果最新版的插件还不支持当前版本的WP,你可以自己手动修改WP的版本号。(这个办法适用于不准备频繁升级自己的wordpress版本的人,升级也是种折腾,如果你的站点用了很多插件,升级WP的版本本身就可能会导致各种问题。)
修改WP版本号,只要打开\wp-includes\version.php,修改$wp_version的值就行了。
另外,现在WordPress版本更新很快,而qTranslate作者更新插件的速度似乎有点跟不上了,因此他特意提供了一个开发版的下载,以免大家总是抱怨这款插件会在WP更新后自动禁用。你可以去作者网站下载qTranslate的开发版本。
01.png
2014年10月14日更新:
qTranslate作者已经停止开发这个插件好几个月了。在WordPress已经升级到4.0的时候,qTranslate仍然会自动禁用自己,而且没有更新的版本可以直接使用。经我测试目前最新的qTranslate版本,也就是官网上的那个开发版,在WordPress4.0是可以正常使用的。用记事本打开qtranslate.php,找到第90行,把后面的版本号改成4.0,即:
  1. define('QT_SUPPORTED_WP_VERSION', '4.0');
复制代码
这样它就不会自动禁用自己了。今后的新版WordPress是否还能完美支持谁也没法保证,总之还是不要随便升级吧!
2. 基本语法
在页面模板上可以简单的通过
  1. <?php _e("<!--:en-->English<!--:--><!--:zh-->中文<!--:-->") ?>
复制代码
这样的语法显示对应的内容,这个办法不太环保,但在在有些地方就很有用,比如在需要根据语种判断调用CSS哪个的时候:
  1. <link rel='stylesheet' href='css/<?php _e("<!--:en-->en<!--:--><!--:zh-->zh<!--:-->") ?>.css' type='text/css' media='screen'>
复制代码
再比如这样,直接在body上加CSS类,对布局产生干预:
  1. <body class="lan_<?php _e("<!--:en-->en<!--:--><!--:zh-->zh<!--:-->") ?>">
复制代码
更简单的,可以这样,直接调用qtrans_getLanguage函数得到语言值:
  1. <body class="lan_<?php echo qtrans_getLanguage() ?>">
复制代码
3. 语言切换栏的重写
用qtrans_generateLanguageSelectCode函数调出的选择器大致是这样的:
033.png
如果网站有很多语种,这一行就会太长,我要把它改成一个下拉菜单
先建一个空的Select的元素在需要的位置
  1. <select></select>
复制代码
然后添加JS:
  1. function JumpMenu(targ,selObj,restore){ //菜单跳转功能
  2.         eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  3.         if (restore) selObj.selectedIndex=0;
  4. }
  5. (function(){
  6.         var lanChooser=document.getElementById("qtranslate-chooser");
  7.         lanChooser.style.display="none"; //隐藏原来的ul形式选择器
  8.         for(i=0;i&lt; lanChooser.children.length;i++){
  9.                 var option=document.createElement('option');
  10.                 option.value=lanChooser.children[i].children[0].href;
  11.                 option.innerhtml=lanChooser.children[i].children[0].children[0].innerHTML;
  12.                 option.className=lanChooser.children[i].children[0].className;

  13.                 if(lanChooser.children[i].className=="active"){option.selected="selected"}
  14.                 document.getElementById("jumpMenu").appendChild(option);
  15.         }
  16. }());
复制代码
4. 日期乱码问题
安装了qTranslate之后,你会发现文章发布的时间在页面上会显示成类似这样的乱码: %x %A, 英文的则变成: %A %B %e%q, %Y,这是qTranslate预设的日期时间格式错误所导致的。
点击后台的“设置(Settings)”-“语言(Languages)”找到中文,点击后面的“编辑”,将“日期格式”和“时间格式”里面预设的信息删除,保持为空,然后保存,Wordpress就会调用系统默认的日期时间格式。
再设置English,将“Date Format”改为“F j, Y”,“Time Format”改为“H:i”,保存设置,这样英文的日期显示也就修正了
06.png
5. 与表单插件Gravity Forms的兼容
qTranslate虽然好用,但对WP的其他插件的支持度很低,比如我最常用的另一款插件是Gravity Forms,用qTranslate就没办法多语化它生成的表单。不过有人写了个第四方插件解决了这个问题,这个插件名称是“qTranslate support for GravityForms”,可以在这里下载到:https://github.com/mweimerskirch/wordpress-qtranslate-support-for-gravityforms




道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程 ( 皖ICP备15000319号-1 )

GMT+8, 2024-12-23 20:11

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回复 返回顶部 返回列表