设备适配和国际化

第一章 设备适配

对于不同设备做适配有多种解决方案:响应式布局、适配渲染模板、适配跳转不同页面。

1.      动态适配渲染模板

动态访问时可以在模板中使用userAgent指令获取与设备相关的信息进行适配。

 

设备类型适配

<@_userAgent>

<#switch object.deviceType>

        <#case   "COMPUTER" >

                 PC适配处理

                <#break>

        <#case   "MOBILE" >

                 手机适配处理

                <#break>

        <#case   "TABLET" >

                 平板适配处理

                <#break>

        <#case   "WEARABLE" >

                 穿戴设备适配处理

                <#break>

        <#case   "DMR" >

                 数字媒体接收器适配处理

                <#break>

        <#case   "GAME_CONSOLE" >

                 游戏主机适配处理

                <#break>

        <#case   "UNKNOWN" >

                 未识别设备适配处理

                <#break>

        <#default>

                 默认处理

</#switch>

</@_userAgent>


操作系统适配object.operatingSystemGroup

类型

WINDOWS

windows操作系统

ANDROID

安卓操作系统

CHROME_OS

chrome 操作系统

WEBOS

webos操作系统

PALM

palm操作系统

MEEGO

诺基亚meego操作系统

IOS

IOS操作系统

MAC_OS_X

mac os x操作系统

MAC_OS

mac os操作系统

MAEMO

诺基亚maemo操作系统

BADA

三星bada操作系统

GOOGLE_TV

谷歌电视操作系统

KINDLE

kindle操作系统

LINUX

linux操作系统

SYMBIAN

塞班操作系统

SERIES40

诺基亚s40操作系统

SUN_OS

sun os操作系统

PSP

psp操作系统

WII

Wii游戏主机操作系统

BLACKBERRY

黑莓操作系统

BLACKBERRY_TABLET

黑莓平板操作系统

ROKU

Roku TV操作系统

PROXY

代理

UNKNOWN_MOBILE

未知手机操作系统

UNKNOWN_TABLET

未知平板操作系统

UNKNOWN

未知操作系统

 

浏览器适配object. browserType

类型

OUTLOOK

Outlook

IE

IE浏览器

EDGE

Edge浏览器

CHROME

Chrome浏览器

SAFARI

Safari浏览器

OPERA

Opera浏览器

APPLE_WEB_KIT

苹果应用内嵌浏览器

LOTUS_NOTES

Lotus Notes

FIREFOX

Firefox浏览器

MOZILLA

Mozilla浏览器

 

2.      静态化适配

静态化适配主要是对内容生成不同版本的页面,在浏览器访问时使用javascript判断设备类型等信息进行跳转,或由用户自己选择不同版本浏览。

每个分类或每类内容只能配置一个入口静态化模板和静态化文件路径,可以在入口静态化模板中调用createTemplateFile 、createCategoryFile、createContentFile指令生成其他版本的静态化页面。

 

示例:

<@_createContentFile   id=content.id templatePath=’/system/content_mobile.html’ filePath=”/m/${content.id}.html”   pageIndex=pageIndex>手机版本页面:${url}</@ _createContentFile>

<@_createContentFile   id=content.id templatePath=’/system/content_pad.html’   filePath=”/p/${content.id}.html” pageIndex=pageIndex>平板版本页面:${url}</@ _createContentFile>

 


 

第二章 国际化

1.      概述

网站国际化可以有多种,一种是制作多个完全独立的站点,或同一站点不同模板目录,此种方式比较简单,跟传统网站制作没有区别;一种是动态模板,利用freemarker模板引擎的国际化特性,对模板进行国际化命名方式实现;也可以同时使用上述几种方式,官方提供的站点2demo就是同时使用了同一站点不同模板目录和模板名国际化两种方式制作的.

2.      多站点方式

在站点管理中创建多个站点,分别制作不同语言的模板,分配不同的管理人员进行维护.然后各个站点直接通过超链接或者js跳转实现语言切换,其中中文简体,中文繁体推荐直接利用js对页面文字进行特定汉字替换方式实现

当不同语言站点主体风格相同时可以新建子站点方式复用模板文件

给子站点填充不同语言的数据即可

3.      多模板目录方式

在模板中创建多个目录,每个目录使用不同语言制作,在创建分类时可以根据实际情况选择使用一套分类或多套分类.当使用一套分类时,要求每个分类必须维护多种语言的素材.可以使用扩展字段方式,扩展出多套语言的素材存储字段,然后维护人员对同一内容或分类维护多种 语言的素材.当使用多套分类时,每套模板使用自己独立的一套分类-内容体系,在统一的后台进行维护管理,切换方式与多站点方式类似

4.      模板国际化命名方式

可以参考管理后台模板示例中首页和中文首页的例子,通过对模板进行国际化命名,然模板引擎实现国际化语言切换

完整国际化模板名:index_zh_CN.html.中index是文件名,zh_CN是语言标识,.html是文件后缀.语言标识又分为语言,地区两部分,如zh和CN分别标识中文.

当locale设置为zh_CN,用户访问index.html时,模板引擎优先加载index_zh_CN.html,如果没有找到则加载index_zh.html,如果没有找到则加载index.html,如果依旧没有或者模板存在或index.html的模板元数据没有启用动态访问,用户会得到404错误提示.

常见语言项

语言

语言值

ENGLISH

en

UK ENGLISH

en_GB

US ENGLISH

en_US

CANADA

en_CA

FRENCH

fr,fr_FR

CANADA RENCH

fr_CA

GERMAN

de,de_DE

ITALIAN

it,it_IT

JAPANESE

ja,ja_P

KOREAN

ko,ko_KR

中文

zh

简体中文

zh_CN

繁体中文

zh_TW

 

  • 注意事项

使用国际化命名方式时,加语言后缀的模板元数据不应该勾选允许动态访问,模板中得到的元数据也是没有加后缀的模板的元数据比如index_zh_CN.html模板中获取的元数据就是index.html的元数据


保存页面 更多文档 数据结构 JAVA API

0条评论
发表评论