码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • java程序国际化[38]


    java程序国际化[38]


    文章目录

    • java程序国际化[38]
    • 一、程序国际化概述
      • 1.定义:
      • 2.Locale类:
      • 3.ResourceBundle类:只读类
      • 4.**处理动态文本:MessageFormat**
    • 二、代码演示
    • 三.小结



    一、程序国际化概述

    1.定义:

    程序国际化:Internationalization:同一套代码可以在各个语言环境下使用,只是语言显示不同,具体程序操作一样,程序国际化就是这个功能.

    2.Locale类:

    对象表示特定的地理,政治,文化地区,需要locale来执行其任务的操作成为语言环境敏感操作.

     Locale locale=new Locale("地区","语言");
    
    • 1

    静态方法,获取本机默认语言:getDefault();

    3.ResourceBundle类:只读类

    国际化的实现核心在于显示的语言上,通常的做法是将其定义成若干个属性文件(文件后缀是*.properties),属性文件中的格式采用Key=value的格式进行操作;
    该类是一个资源文件的读取操作,所有资源文件需要使用该类进行读取,读取的时候不需要加上文件的后缀;
    getBundle(String baseName,Locale locale);需要创建对象,来绑定属性,并制定locale对象.
    getString(String key);方法从文件属性中使用key来获取value;

    4.处理动态文本:MessageFormat

    在properties文件中写下{0}表示第一个动态属性,之后由该工具类传递属性值,{1}{2}…可以有多个
    给properties文件中的动态参数传参,e是传的对象,w是传递的值;

     w=MessageFormat.format(e,w);
    
    • 1

    二、代码演示

    //创建一个本地语言环境对象,该对象会根据参数设置来自动选择与之相关的语言环境
    //参数:语言,地区;中国
    Locale locale_CN=new Locale("zh","CN");
    //美国,英文:
    Locale locale_US=new Locale("en","US");
    //获取当前系统默认语言环境:
    Locale locale_default=Locale.getDefault();
    //绑定文件属性的工具类参数:属性文件的基本名(前缀,如info),后面是语言地区,默认是跟随系统语言;
    ResourceBundle r=ResourceBundle.getBundle("com.info",locale_CN);
    //输出文件中的key的值,key的名字随便写
    System.out.println(r.getString("system.name"));
    System.out.println(r.getString("input.name"));
    System.out.println(r.getString("input.pwd"));
    System.out.println(r.getString("login.success"));
    System.out.println(r.getString("login.admin"));
    String e=r.getString("login.admin");
    String w="我";
    //给properties文件中的动态参数传参,e是穿的对象,w是传递的值;
    w=MessageFormat.format(e,w);
    System.out.println(w);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    三.小结

    本章概述了java中的程序国际化的定义与使用,该功能可以使用同一套代码,配合各个国家的语言进行输出,而不需要重新再编写另外的代码;
    有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!

  • 相关阅读:
    【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)
    智能驾驶开启产业新赛道:资本扎堆布局车规级高精定位
    软件测试/测试开发丨Python异常处理 学习笔记
    ESD 静电标准分类
    Channel
    研究生综合英语上第五单元
    随笔--解决ubuntu虚拟环境的依赖问题
    算法通过村第十七关-贪心|黄金笔记|跳跃游戏
    域名解析DNS:如何查询txt类型的解析记录
    Ubuntu如何添加用户环境变量
  • 原文地址:https://blog.csdn.net/weixin_45539338/article/details/126815076
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号