20230630 java.util.Locale

发布时间 2023-08-24 10:31:29作者: 流星<。)#)))≦

介绍

  • java.util.Locale

  • public final class Locale implements Cloneable, Serializable

  • locale 由多达 5 个部分构成:

    1. 一种语言(language),由 2 个或 3 个小写字母表示,例如 en (英语)、 de (德语)和 zh (中文)
    2. 可选的一段脚本(script),由首字母大写的四个字母表示,例如 Latn (拉丁文)、 Cyrl (西里尔文)和 Hant (繁体中文字符) 这个部分很有用,因为有些语言,例如塞尔维亚语,可以用拉丁文或西里尔文书写, 而有些中文读者更喜欢阅读繁体中文而不是简体中文
    3. 可选的一个国家或地区(country/region),由 2 个大写字母或 3 个数字表示,例如 US(美国)和 CH(瑞士)
    4. 可选的一个变体(variant),用于指定各种杂项特性,例如方言和拼写规则。变体现在已经很少使用了。过去曾经有一种挪威语的变体“尼诺斯克语”,但是它现在已经用另一种不同的代码 nn 来表示了。过去曾经用于日本帝国历和泰语数字的变体现在也都被表示成了扩展
    5. 可选的一个扩展(LocaleExtensions)。扩展描述了日历(例如日本历)和数字(替代西方数字的泰语数字)等内容的本地偏好。Unicode 标准规范了其中的某些扩展,这些扩展应该以 u- 和两个字母代码开头,这两个字母的代码指定了该扩展处理的是日历( ca )还是数字( nu ),或者是其他内容。例如,扩展 u-nu-thai 表示使用泰语数字。其他扩展是完全任意的,并且以 x- 开头,例如 `x-java
  • 内部存储

// Locale 中包含
private transient BaseLocale baseLocale;
private transient LocaleExtensions localeExtensions;
// IETF 语言标签
private transient volatile String languageTag;


// BaseLocale 中包含
private final String language;
private final String script;
private final String region;
private final String variant;
  • 使用 IETF BCP 47 语言标签

API

常量

  • ROOT

语言

  • CHINESE : zh
  • ENGLISH : en
  • FRENCH : fr
  • GERMAN : de
  • ITALIAN : it
  • JAPANESE : ja
  • KOREAN : ko

语言地区

  • SIMPLIFIED_CHINESE : zh_CN

  • TRADITIONAL_CHINESE : zh_TW

  • CHINA : zh_CN

  • PRC : zh_CN

  • TAIWAN : zh_TW

  • US : en_US

  • UK : en_GB

  • CANADA : en_CA

  • FRANCE : fr_FR

  • CANADA_FRENCH : fr_CA

  • GERMANY : de_DE

  • ITALY : it_IT

  • JAPAN : ja_JP

  • KOREA : ko_KR

  • PRIVATE_USE_EXTENSION : x

  • UNICODE_LOCALE_EXTENSION : u

构造器

  • Locale(String language)
  • Locale(String language, String country)
  • Locale(String language, String country, String variant)

static

  • setDefault, getDefault

  • getAvailableLocales

    • 返回所有可以识别的 Locale 数组
  • getISOCountries

    • 获取所有语言代码
  • getISOLanguages

    • 获取所有国家代码
  • forLanguageTag

  • filter

  • filterTags

  • lookup

  • lookupTag

public

  • getDisplayName

    • 返回一个在当前的 Locale 中所表示的用来描述 Locale 的名字
  • getLanguage

    • 返回语言代码,它是两个小写字母组成的 ISO-639 代码
  • getScript

  • getCountry

  • getVariant

  • getDisplayLanguage

    • 返回在当前 Locale 中所表示的语言名称
  • getDisplayScript

  • getDisplayCountry

  • getDisplayVariant

  • getISO3Language

  • getISO3Country

  • hasExtensions

  • stripExtensions

  • getExtension

  • getExtensionKeys

  • getUnicodeLocaleAttributes

  • getUnicodeLocaleType

  • getUnicodeLocaleKeys

  • toLanguageTag

    • 返回 IETF BCP 47 语言标签
  • toString

    • 返回 Locale 的描述,包括语言和国家,用下划线分隔(比如,de_CH ) 应该只在调试时使用该方法