你在这里

多语言

drupal多语言网站由浏览器语言决定响应哪种语言的bug

drupal网站多语言的问题原来还不止一个,之前发过一篇:
drupal支持多语言网站的浏览器自动识别繁体中文

本以为完美了,谁知最近又有客户反应浏览器响应的语言不对。经公司测试人员多次测试,终于可以重现这个BUG。

--问题描述:一般用户访问网站会自动跟据浏览器语言响应网站语言,一般都没问题。但当用户自己设置过语言偏好,有不止两种语言选择的时候,例如三四种。就有可能出现这个bug.
具体是因为drupal内核读了语言列表底下的语言优先级,覆盖了语言列表顶部的选择。

标签: 

让drupal支持多语言网站的浏览器自动识别繁体中文

对于drupal7.x,目前的版本7.38。

即使在后台设置对了:

pic-1.jpg

假设网站已经有三种语言了(英,繁,简),但实际上网站还是不能自动切换到繁体,当用户的浏览器是繁体语言时。

这是drupal内核的一个bug,可以参见这个页面:

https://www.drupal.org/node/365615

或者自己通过firebug之类的工具检测得到:

pic-2.jpg

 

要解决这个问题,只需打上一个补丁就行了。

pic-3.jpg

补丁下载地址:

https://www.drupal.org/files/i365615-127.patch

多语言下主题调用不同css文件

主要的作用是,不同语言下,字体及字体大小问题。比如:英文用 11px Arial,中文用 12px 黑体。

1. 首先,分离原来的css文件中涉及字体部分的code,保存到例如 text.css中去。这样做的好处在于,不同语种判断用到的css code,只是需要的文字部分的。

2. 建立文件夹存放不同语种的text.css,比如 新建对应语言码的 en和zh-hans两个文件夹,结果如下: 英文的css,/css/en/text.css;中文的css,/css/zh-hans/text.css。

3. 这里是在模板层进行判断,编辑 <你的模板文件夹>/template.php:

【教程】使用 Drupal 创建多语言站点

  Drupal 核心提供了 Locale 模块用于为 Drupal 站点提供本地化的功能,使用 Locale 模块创建本地化的站点非常实用,并且能够制作较为简单的多语言站点。不过,我们更推荐使用 i18n 模块,通过 Drupal 创建多语言站点。有关 i18n 模块及其它多语言站点相关的模块的使用,将会再本教程中陆续介绍。

  本教程将介绍以下内容:

  • 界面多语言化
  • 内置变量多语言化
  • 术语表多语言化
  • 内容多语言化
  • CCK多语言化
  • 菜单多语言化
  • 区块多语言化
  • 一些多语言站点适用的模块

  

  接下来我们就开始使用 Drupal 创建包含中文和英文两种语言的多语言站点 :D

订阅 RSS - 多语言