当前位置: 首页 > news >正文

深圳国外网站设计进入网上商城

深圳国外网站设计,进入网上商城,网站漏洞扫描工具,做公众号一般在哪个网站照片前言国际化也称作i18n,来源是英文单词internationalization的首末字符i和n,18为中间的字符数。由于软件发行可能面向多个国家,对于不同国家的用户,软件显示不同语言的过程就是国际化通常来讲,软件中的国际化是通过配置…

前言

  • 国际化也称作i18n,来源是英文单词internationalization的首末字符in18为中间的字符数。
  • 由于软件发行可能面向多个国家,对于不同国家的用户,软件显示不同语言的过程就是国际化
  • 通常来讲,软件中的国际化是通过配置文件来实现的,假设要支撑两种语言,那么就需要两个版本的配置文件

Java国际化

  • Java自身是支持国际化的,java.util.Locale用于指定当前用户所属的语言环境等信息,java.util.ResourceBundle用于查找绑定对应的资源文件,Locale包含了language信息和country信息

    在这里插入图片描述

  • 配置文件命名规则:basename_language_country.properties

    • 必须遵守以上的命名规则,java才会识别。其中basename是必须的,语言和国家是可选的。
    • 这里存在一个优先级的概念,如果同时提供了messages.propertiesmessages_zh_CN.propertis两个配置文件,如果提供的locale符合zh_CN,那么优先查找messages_zh_CN.properties配置文件,如果没找到,再找messages.properties配置文件
  • 最后注意事项:所有的配置文件必须放在classpath中,一般放在resources目录下

1、代码演示

1.1、创建java\maven项目

略。。。

1.2、创建多语言配置文件

如下创建方法基于Idea开发工具

  • 首先右键resource文件夹,然后new->Resource Bundle

    在这里插入图片描述

  • 然后再弹框中输入要添加的语言文件信息,最后点击OK即可自动生成,左侧有的话,可以选中然后点中间的➡️移动过去

    在这里插入图片描述

  • 生成文件效果如下

    在这里插入图片描述

  • 最后给en_US、zh_CN添加测试数据即可注意:配置文件的编码格式一定要是UTF-8,可打开settings->Editor->File Encodings里面修改

    在这里插入图片描述

1.3、编写测试代码

以下代码可以将相同地方提取为工具类进行多次调用不同传参

package com.tcc;import java.util.Locale;
import java.util.ResourceBundle;public class TestI18n {private static final String BUNDLE_NAME = "messages";public static void main(String[] args) {// 手动指定 获取配置文件中的中国的内容 zh_CNResourceBundle bundle = ResourceBundle.getBundle(BUNDLE_NAME, Locale.CHINA);String value = bundle.getString("test");System.out.println(value);// 手动指定 获取配置文件中的英国的内容 en_USResourceBundle bundle2 = ResourceBundle.getBundle(BUNDLE_NAME, Locale.US);String value2 = bundle2.getString("test");System.out.println(value2);// 设置默认值 为中国语言(常用)Locale.setDefault(Locale.CHINA);ResourceBundle bundle3 = ResourceBundle.getBundle(BUNDLE_NAME, Locale.getDefault());String value3 = bundle3.getString("test");System.out.println(value3);}
}

1.4、执行效果

在这里插入图片描述

Spring国际化

  • Spring中,国际化是通过MessageSource这个接口来支持的
  • 常见实现类:
    • ResourceBundleMessageSource:这个是基于javaResourceBundle基础类实现,允许仅通过资源名加载国际化资源
    • ReloadableResourceBundleMessageSource:和第一个类的功能类似,多了定时刷新功能,允许再不重启系统的情况下,更新资源的信息
    • StaticMessageSource:它允许通过编程的方式提供国际化信息,我们可以通过这个来实现db中存储国际化信息的功能
  • 以下只演示了基本的使用方式,如需更复杂的使用方式,可自行搜索其他案例

1、代码演示

1.1、创建SpringBoot项目

略。。。

1.2、编写配置文件

spring.application.name=i18n-spring-test# 默认的basename值配置
spring.messages.basename=messages
# 找不到code时,是否直接返回code值,而不是抛异常,默认false,抛异常
spring.messages.use-code-as-default-message=true

1.3、创建多语言配置文件

和上面Java国际化->代码演示->创建多语言配置文件步骤一致,就不演示了,内容如下

在这里插入图片描述

1.4、编写测试代码

package com.tcc;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.MessageSource;import java.util.Locale;@SpringBootTest
class I18nSpringTestApplicationTests {@Autowiredprivate MessageSource messageSource;@Testvoid contextLoads() {// 手动指定 获取配置文件中的中国的内容 zh_CNString test = messageSource.getMessage("test", new Object[]{"世界!"}, Locale.CHINA);System.out.println(test);// 手动指定 获取配置文件中的英国的内容 en_USString test2 = messageSource.getMessage("test", new Object[]{"World!"}, Locale.US);System.out.println(test2);// 设置默认值 为中国语言Locale.setDefault(Locale.CHINA);String test3 = messageSource.getMessage("test", new Object[]{"世界!"}, Locale.getDefault());System.out.println(test3);String test4 = messageSource.getMessage("test1", new Object[]{"世界!"}, Locale.getDefault());System.out.println(test4);// 没有对语言时,返回默认语言String test5 = messageSource.getMessage("test", new Object[]{"世界!"}, Locale.FRANCE);System.out.println(test5);}}

1.4、执行效果

在这里插入图片描述

http://www.dtcms.com/a/539626.html

相关文章:

  • 深圳定制开发网站不用下载qq在线qq登录聊天
  • 双语网站后台怎么做网站建设预付款
  • 企业建站模板价格广州海珠做网站
  • 服装行业网站建设比较好沧州网站建设 熊掌号
  • 浙江立鹏建设有限公司网站aso排名优化
  • 在建工程查询网站360广告联盟怎么做网站
  • 网站建设教程资源市场推广方式有哪几种
  • Hdi做指数网站wordpress 效果
  • aspcms手机网站模板江苏网站建设价格
  • 建设网站最好的软件华为云域名注册
  • 顺德电子商务网站建设百度竞价推广托管
  • 免费的创建个人网站制作灯笼英语
  • 个人网站设计规划视觉营销网站
  • 网站怎么做是满屏石家庄招投标公共服务平台官网
  • 淘宝作图在哪个网站上做图开启wordpress upwn
  • 天津住房和城乡建设部网站涟水县建设局网站
  • 长沙做电商网站设计搜索引擎网站录入
  • 网页设计与网站建设郑州大学网站建设网站建设
  • 北京网站备案速度做网站必须先买域名吗
  • 广东专业高端网站建设注释网站开发
  • 网站建设初步规划书网页设计费用
  • 受欢迎的句容网站建设wordpress网银插件
  • 网站建设方案可行性wordpress wp user
  • 烟台网站制作方案长沙便宜网站建设
  • 建设网站答题赚钱外国网站后台设计
  • 珠海网站设计价格策划公司名称
  • 邯郸网站建设包括哪些小红书达人kol推广
  • 企业网站如何上存wordpress自定义分页
  • 网站建设龙岗企业怎样建网站
  • 网络营销就是app优化网站建设