Gallery:语言设定
Gallery2中的语言设定[ ]
偏好语言可以按会话,用户或作为网站默认来进行设定。你也可以使用一个请求参量进行覆盖从而改变语言设定。
注: 此文描述Gallery 2.1中的行为。而Gallery 2.0/2.0.1/2.0.2在行为上略有不同(举例,如果你希望Gallery2.0执行浏览器语言偏好检查的话,就将默认语言设定为None(无))。
优先级 – 何种设定何时有效?[ ]
以下所列就是所谓的优先级,意思是1. 会覆盖2-6;如果3没有设定,4会覆盖5, 6等。
- 请求字串中g2_language=languageCode
- 来自嵌入应用程序的activeLanguage(仅适用于嵌入的G2)
- 当前对话的活动语言
- 当前用户的偏好语言
- (可选)浏览器用户定义的偏好语言
- G2的站内默认语言
一般说来,在URL中不使用g2_language 覆盖。网站的新到访者没有一个活动的语言,并且没有作为用户登录到网站中。因此Gallery2将语言默认设置为站点管理(site admin)中定义的偏好语言。
如果你在站点管理(site admin)中启用了浏览器语言偏好检查的话,那么它就会使用访问者浏览器所定义的语言。而如果访问者浏览器所定义的语言在你的Gallery2中不可用的话,那么就会默认设置为Gallery的缺省语言(即站点管理(site admin)中所定义的)。
"偏好语言"是什么意思?[ ]
如果Gallery2的某个语言版本翻译度达100%(即Gallery2中所有的字串都翻译为该语言了)的话,那么Gallery2全盘都会以你所选择的语言呈现出来,并为你所使用。
如果翻译度没有达到100%,所有未被翻译的字串就无法以你的语言显示出来,那么你就会看到英语和你的语言夹杂在一起。
六种语言设定概览[ ]
G2站点范围的默认语言[ ]
你可以在site admin -> General中为G2设定站点范围的默认语言。参见要求。 这将对所有用户适用,除非你启用了浏览器语言偏好检查。如果是这样的话,在浏览器偏好不可用的情况下,它就会将此默认语言作为最低限度的可用语言。
此设定可被任何用户的用户偏好以及语言选择器模块(如果你选择显示此模块的话)所覆盖。
当前用户的偏好语言[ ]
每个用户都可以在你的设定(Your settings)中设定所偏好的语言。这个将会覆盖站点范围默认语言的设定。
当前对话的活动语言[ ]
访问G2的第一个页面后,G2将会存储该访问者的一些数据,并追踪此用户的偏好等。 另外它也存储该用户所偏好的语言。
如果你在边栏添加了语言选择器(language selector)区块的话,那么所有用户,包括匿名用户(游客),都可以在G2中选择他们所偏好的语言。此操作可以在site admin -> Themes -> Matrix(这是默认外观主题的名称,你的外观主题会根据你的设定有所不同)中达成。
当前对话的活动语言会覆盖用户的偏好语言和站点范围的默认语言。
浏览器定义的偏好语言[ ]
如IE,火狐,Opera一类的浏览器会给WEB服务器一个提示,即用户可能期望使用的语言。一般来说,如果你使用非英文版的微软Windows的话,那么IE浏览器就会在Gallery2的所有请求中包含你所使用的语言的语言代码。相似的是,如果下载某语言版本的火狐浏览器,它就会告知Gallery2你希望网站中使用该语言。如果你使用英文版的火狐浏览器但偏好使用另一种语言的话,你可以在火狐浏览器的选项中进行修改。
如果在站点管理(site admin)中启用了语言偏好检查的话,Gallery2会检测此浏览器定义的偏好语言(HTTP_ACCEPT_LANGUAGE header)。如果HTTP_ACCEPT_LANGUAGE中所列语言于Gallery2可用的话,就会使用。否则的话,它就会恢复为Gallery2的默认语言。
来自GalleryEmbed::init()的activeLanguage(嵌入的G2)[ ]
如果Gallery2通过GalleryEmbed API被嵌入到另一个应用程序中的话,那么嵌入程序就可以定义G2呼叫中当前用户/对话的活动语言了。此语言设定将设置G2中的对话语言。
请求字串中的g2_language=languageCode[ ]
如果你想为默认多个语言的G2添加链接,可以为链接添加g2_language=languageCode 参量。比如,在入口页面上,你可以使用main.php?g2_language=fr显示一个法国国旗,或者是 main.php?g2_language=en则显示一个英国/美国国旗。
这将覆盖其他所有的语言偏好。
要求[ ]
- 你的PHP应有gettext支持进行内置并装载。
- 你的系统/服务器应安装本地语言(=~ 你所使用语言的翻译)。参见:常见问题:我修改了语言但是没有效果。怎么回事?
- 你不需要multilang模块。multilanguage模块可用来翻译内容,相册和图片标题及描述等。内置的G2翻译功能翻译菜单,用户界面,欢迎/确认邮件。但没有multilanguage模块的情况下,G2无法翻译你所输入的标题。
所需做的[ ]
- 可下载语言包/在站点管理中定义用何种语言显示给用户