国际化(I18n)

Geoserver支持返回各种语言的GetCapability文档。该功能可用于以下服务:

  • WMS 1.1和1.3

  • WFS 2.0

  • WCS 2.0

配置

Geoserver为标题和摘要提供了一个I18N编辑器:

  • 层配置页面。

  • 层组配置页面。

  • WMS、WFS、WCS服务配置页。

  • 有关样式I18N配置,请参见 SLD中的I18N

默认情况下,该编辑器处于禁用状态,可以从I18N复选框中启用:

../../_images/i18nEditor.png

在Contact Information页面中,所有字段都可以国际化:

../../_images/contactInfo_i18n.png

服务获取功能

GetCapability文档语言可以使用 AcceptLanguages 请求参数。Geoserver的响应将根据以下规则而有所不同:

  • 国际化的元素将是标题、摘要和关键词。

  • 如果指定了单一语言代码,例如 AcceptLanguages=en Geoserver将尝试返回该语言的内容。

    如果没有找到所请求语言的内容,将返回ServiceExceptionReport。

  • 如果指定了多个语言代码,例如 AcceptLanguages=en frAcceptLanguages=en,fr ,对于每个可国际化的内容,Geoserver将尝试以指定的语言之一返回它。

    如果找不到任何请求语言的内容,则将返回ServiceExceptionReport。

  • 也可以根据本地语言变体(例如 AcceptLanguages=en fr-CAAcceptLanguages=en,fr-CA )。

    如果使用本地变量指定了任何I18N内容,并且请求参数仅指定了语言代码,则内容将在响应中编码。请记住,使用语言代码记录的相反情况内容不适用于本地变体请求。

    示例:如果使用本地变量指定I18N内容 fr-CA 并且请求的仅指定了语言代码 ``AcceptLanguages=fr` the local variant `` 将使用FR-CA``内容。

    示例:如果使用语言代码指定I18N内容 fr 而请求的只指定了本地变量 ``AcceptLanguages=fr-CA` the language code `` Fr``内容不可用。

  • 如果一个 * 存在于参数值中,例如 AcceptLanguages=en fr *AcceptLanguages=en,fr,* ,Geoserver将尝试以指定的语言代码之一返回内容。

    如果未找到任何内容,则将以可用语言中的一种语言返回内容。

  • 如果并非所有可配置元素都具有适用于所请求语言的I18N标题和摘要,Geoserver将仅为定义了这些属性的服务、层、图层组和样式进行编码。

    如果缺少的值是磁贴,则会出现如下错误消息,以代替缺少的国际化内容: DID NOT FIND i18n CONTENT FOR THIS ELEMENT

  • 使用时 AcceptLanguages 参数Geoserver将对响应中的URL进行编码,添加语言参数的第一个值从 AcceptLanguages 参数。

../../_images/ErrorMessages.png

默认语言

Geoserver允许在服务、图层和组的配置页面中设置国际内容时定义要使用的默认语言,但不允许 AcceptLanguages 参数已在 GetCapabilities 请求。可以从服务的配置页面(WMS、WFS、WCS)或从下拉菜单的全局设置中设置默认语言,如下所示:

../../_images/DefaultLanguage.png

还可以为每个可配置字段设置一个语言为空的I18N条目,作为默认翻译。

../../_images/EmptyLanguage.png

当请求国际内容时,对于每个国际化字段,Geoserver的行为如下:

  • 将使用服务特定的默认语言(如果存在)。

  • 如果未找到,则将使用全局默认语言(如果存在)。

  • 如果未找到I18N内容空语言值,则将使用该值。

  • 如果未找到,将使用为该字段找到的第一个I18N值。

Previous: 虚拟服务
Next: 演示