web页面国际化

web页面国际化

个人尝试使用了2种方法。

方法一:使用thymeleaf模板

  1. 在pom.xml配置文件下加入依赖<dependency>;web页面国际化

  2. 修改相关的yaml配置,由于springboot已经自动配置好了,所以使用默认的就可以了,不用做过多的修改。web页面国际化
    其中prefix为默认加载页面的地址,如果页面不在templates文件下,则需要修改此处。
    Cache修改为false。这些修改在application.yml或application.properties文件内修改。

  3. 在需要使用到国际化显示的页面上加入模板标识。web页面国际化

  4. 创建一个i18n文件夹,在文件夹内选择创建web页面国际化
    命名为messages(此为默认语言显示文件)、messages_en(此为浏览器语言为en时显示文件)、messages_zh(此为浏览器语言为zh时显示文件)。
    在messages.properties文件下输入test=\u6d4b\u8bd5(测试的ascII码值),
    在messages_en.properties下输入test=test
    在messages_zh.properties下输入test=\u6d4b\u8bd5
    获取ascII码值可以通过控制台输入native2ascII进入获取。

  5. 在application.yml或application.properties文件内配置messages,主要是把basename改为自己存放上述三个语言文件资源的位置。默认为basename: messages但是由于创建了i18n文件夹,所以改为basename:i18n/messages

  6. 在页面需要进行国际化显示的地方加入th:text=”#{key}”标签web页面国际化
    会自动把book info覆盖。

  7. 在控制器中使用如下方法访问页面,web页面国际化

方法二:使用jQuery.i18n.properties()插件的方法。参考了https://www.ibm.com/developerworks/cn/web/1305_hezj_jqueryi18n/

  1. 下载并引入jQuery.min,js和jQuery.i18n.properties.js。

  2. 在需要使用国际化显示的页面添加id=“key”使用

  3. 然后创建i18n文件夹,创建名为strings开头的文件,strings(默认)、strings_en(英文状态下)、strings_zh(中文状态下)三个文件。然后在文件中填写需要国际化显示的词。web页面国际化

  4. 在html上直接编写js或在外部创建js文件再引入html内,js内容如下:web页面国际化
    其中path的位置一定要写对,不然会出现寻值错误。#后边的是id,prop后边的是在i18n的strings文件下自己定义的国际化显示的词。

其他:想要在placeholder里面显示国际化内容,也要配置id,然后在js中使用$(’#holder_name’).attr(“placeholder”,$.i18n.prop(‘name’));
想要在button显示国际化内容,则
$(’#submitBtn’).attr(“value”,$.i18n.prop(‘submit’));

注意:当初把i18n文件夹放在static文件夹外部,打开网页访问的时候显示404错误。