Gallery:语言设定

来自站长百科
跳转至: 导航、​ 搜索

Gallery2中的语言设定[ ]

偏好语言可以按会话,用户或作为网站默认来进行设定。你也可以使用一个请求参量进行覆盖从而改变语言设定。

注: 此文描述Gallery 2.1中的行为。而Gallery 2.0/2.0.1/2.0.2在行为上略有不同(举例,如果你希望Gallery2.0执行浏览器语言偏好检查的话,就将默认语言设定为None(无))。

优先级 – 何种设定何时有效?[ ]

以下所列就是所谓的优先级,意思是1. 会覆盖2-6;如果3没有设定,4会覆盖5, 6等。

  1. 请求字串中g2_language=languageCode
  2. 来自嵌入应用程序的activeLanguage(仅适用于嵌入的G2)
  3. 当前对话的活动语言
  4. 当前用户的偏好语言
  5. (可选)浏览器用户定义的偏好语言
  6. 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无法翻译你所输入的标题。

所需做的[ ]

  • 可下载语言包/在站点管理中定义用何种语言显示给用户