整站国际化方案

当前常见的实现方式,主要由两种方案实现

1.通过locale
每个页面通过主题解析[解析器根据locale,来读取指定语言的css,js,等资源文件]
页面中的文字描述,通过key,而不是真正意义上的文字,如在springmvc中可以使用
<@message "key"/>来实现文字的国际化,然后通过
<@theme "code"/>来实现资源的国际化读取

该方式实现起来很方便,但问题在于如果每个语言都有自己的一套模板,而且模板之间相差非常大,无法通过主题+文字国际化来完成,那么该方案就无法适用

2.方案2,通过路径
这种方案并非任何框架都支持,有些框架需要添加插件。

在spring mvc环境下就很容易实现,在@RequestMapping利用path功能,@PathVariable locale_path,让他自己去查找。return locale_path + "要返回的实际页面"

那么
http://127.0.0.1/en/software.html
就会显示en目录下面的software.html文件的结果。

那么就能根据请求地址,返回不同的页面地址。

当然可以自己完成解析器【其他框架类似,完成struts过滤器之类的】,把返回的view,自动添加url中的locale段。这样就不用再每个action中完成。

你可能感兴趣的:(国际化)