• 首页
  • 归档
  • 关于
  • 联系我
2010/10/13
Wordpress

蛋疼WP: 瞎折腾多语言插件Qtranslate

蛋疼WP: 瞎折腾多语言插件Qtranslate
2010/10/13
Wordpress

上次帮别人做WP站点时,对方要求双语言撰写的功能(而非机器翻译)。他的要求很多,不过我也学到了不少东西,在此共享。

Qtranslate的优点

刚开始试用的是 xlanguage ,用它撰写的多语言Blog实际上每个文章的不同语言版本都是一个独立的 Post,这样会带来一个问题:由于他们其实不是同一post,所以针对他们的评论也是相互独立的,这会让评论者迷惑。

试用了几个插件之后,觉得留德华人秦谦开发的 qTranslate 比较合适,它的思路比较好,用类似<!–:en–><!–:–>的语句将相应语言内容封装,再用php判断当前页面的语言状态,然后显示相应容器中的内容。这样,当阅读文章时,无论切换到哪个版本都可以看见这篇文章的所有评论,不会造成迷惑。而且他可以将标签、分类等后台可编辑的内容都多语言化。更酷的是,它可以实现后台的多语言化(用户需安装相应语言文件)。

qTranslate 的具体介绍有很多,我就不做重复介绍了。

不同语言下使用不同CSS控制字体

后来对方指出,在韩语下的字体太大,并且标题字体要使用某韩文字体(Win系统自带,估计类似于黑体在中文 Win 系统中的地位)。这确实是个难题,因为如果在韩文的 Post 里使用font标签定义字体大小,那对Blog作者将是件十分麻烦的事,而且 font 标签显然不能用于标题。这就意味着要对英文和韩文使用不同的 CSS,如你所知,同一文章的不同语言版本是在同一篇 post 里的,也就是说,css 是同时影响英文和韩文的。

如何实现?我想到了如下方法:

  1. 在韩文版本下,链接里会有“/ko/”,设想自动判断地址栏的这个文字,然后加载不同的CSS。
  2. 在韩文下,对post和标题部分使用不同于英文的 class 或 id,然后在CSS里定义这些特殊类的属性。

最终,我采用了第二种方法,因为我不知道如何实现第一种方法:-),而第二种方法,我在插件的技术文档里找到了这句

<?php if(qtrans_getLanguage()==’en’): ?>

<?php endif; ?>

把相应的内容放在这个php语句里,可用来在某语言下显示某特定内容,用于Wordpress里需要在php里修改源代码的网页内容。

最终示意图如下:

最后,实现了在不同语言下的不同字体样式:

具体效果参见这里 ,主题是他自选的,我只负责后期的改造,这其中也得到了 Z大的指导,感谢 Z大

qTranslate 多语言插件 折腾 蛋疼WP

上一篇Yo2即将归来,恢复全部备份数据下一篇 概念设计辅助软件Alchemy最新版

25评论

Jessy说道:
2011/07/01 18:35

好东西,分享了哈

回复
armgod说道:
2011/07/05 10:45

@Jessy, 欢迎分享

回复
潇寒说道:
2011/05/17 12:34

博主
采用查询字符串模式 (?lang=en)
采用路径前缀模式 (默认,在 URL 之前放置 /en/ )
采用子域名模式 (http://en.yoursite.com)
我想使用第三种模式,子域模式 (http://en.yoursite.com)请问具体如何设置,找了好久也没找到具体设置方法,特来求助!谢谢!

回复
Armgod说道:
2011/05/17 13:26

这个没试过,你试着把 http://www.yousite.com/en 在域名设置里定向到 en.yousite.com试试?

回复
john说道:
2011/04/27 15:18

要是和globe translate一样可以选择自动翻译就好了

回复
armgod说道:
2011/04/29 12:58

@john, 这个插件的定位不同吧,毕竟自动翻译的不准确,严谨的网站——比如企业网站——是不会使用这种方法的。个人意见

回复
armgod说道:
2011/04/29 13:14

@john, 才发现你的网站,挺有意思的,另一个web OS

回复
YesCola说道:
2010/10/16 21:27

啊呀呀呀呀呀呀呀 Qtranslate的优点和不同语言下使用不同CSS控制字体背后的浅蓝色背景如何做到的? 啊呀呀呀呀呀 对于你的BLOG的风格我现在开始五体投地。。颜色搭配真好

回复
danny说道:
2010/10/17 14:23

@YesCola, 呵呵过奖,你可以用FF+firebug看下啊,我是对内容部分的 h2 定义了background 和 border:
background:#EFF7FF none repeat scroll 0 0;
border-left:2px solid #249DDD;

回复
YesCola说道:
2010/10/17 17:33

@danny, 感谢~~~~~~~ 正在研究

回复
zwwooooo说道:
2010/10/14 21:33

我那好像不许要翻译,国外的人很少

回复
danny说道:
2010/10/14 22:20

@zwwooooo, 我的也不需要的,其实这个折腾也不是为自己折腾

回复
快播电影说道:
2010/10/14 18:28

路过。。很少玩博客~

回复
danny说道:
2010/10/14 19:20

@快播电影, 汗,你玩的是网站

回复
mice说道:
2010/10/14 16:43

膜拜折腾帝…

回复
danny说道:
2010/10/14 16:44

@mice, 爱卿平身

回复
danny说道:
2010/10/14 07:56

测试时区

回复
derek说道:
2010/10/13 15:05

又多了一个折腾帝,支持支持
建议给回复加上ctrl+enter

回复
danny说道:
2010/10/13 16:08

@derek, 本来就是折腾帝啊。恩,好建议,这个功能马上加上去

回复
yesureadmin说道:
2010/10/13 07:30

折腾无罪但这个用处不大,你还期望有国外要看你的博客呀,呵

回复
danny说道:
2010/10/13 07:38

@yesureadmin, 不是,这是帮国际友人做的博客,他要求的,没办法,呵呵

回复
泥_巴说道:
2010/10/13 13:51

@danny, “国际友人”,哈哈,笑死我了……我说,你这个文章凌晨4点多怎么发的??

回复
danny说道:
2010/10/13 15:59

@泥_巴, 不是国际友人么,哈哈。我时区设置错误了,明天改

回复
小杰说道:
2010/10/13 06:54

先沙发了~~

回复
danny说道:
2010/10/13 07:02

@小杰, 你的 Blog 真是办的不错

回复

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

关于「割草志」

这里是割草志,就是把草割掉的意思。用来记录我的生活、工作中的思考。

我是张未舟,前设计师,现产品经理 / 商业化负责人。

最近的文章

人工智能如何影响 UI 设计?2022/11/30
AI 绘画:机器会取代设计师吗?2022/11/09
镜子中的阿拉伯人和 “空间偏向”2022/07/10

分类

  • UI/UX (5)
  • Wordpress (4)
  • 产品观察 (2)
  • 关于动画 (9)
  • 关于设计 (11)
  • 关于软件 (7)
  • 扯淡日志 (24)
  • 文盲说文 (3)
  • 未分类 (1)
  • 网络 (15)

最近的文章

人工智能如何影响 UI 设计?2022/11/30
AI 绘画:机器会取代设计师吗?2022/11/09
镜子中的阿拉伯人和 “空间偏向”2022/07/10
Copyright © Weizhou 2012 - 2022