Module java.base
Package java.util.spi

Class LocaleNameProvider

java.lang.Object
java.util.spi.LocaleServiceProvider
java.util.spi.LocaleNameProvider

public abstract class LocaleNameProvider extends LocaleServiceProvider
一个为Locale类提供本地化名称的服务提供者的抽象类。
自JDK版本:
1.6
  • Constructor Details

    • LocaleNameProvider

      protected LocaleNameProvider()
      唯一的构造函数。(通常由子类构造函数隐式调用。)
  • Method Details

    • getDisplayLanguage

      public abstract String getDisplayLanguage(String languageCode, Locale locale)
      返回给定的IETF BCP47语言代码和给定的区域设置的本地化名称,适合显示给用户。例如,如果languageCode是"fr",locale是en_US,那么getDisplayLanguage()将返回"法语";如果languageCode是"en",locale是fr_FR,那么getDisplayLanguage()将返回"英语"。如果返回的名称无法根据locale本地化(例如,提供程序没有克罗地亚语的日语名称),则此方法返回null。
      参数:
      languageCode - 以两到八个小写字母形式表示的语言代码字符串,介于'a'(U+0061)和'z'(U+007A)之间
      locale - 所需的区域设置
      返回:
      指定区域设置的给定语言代码的名称,如果不可用则返回null。
      抛出:
      NullPointerException - 如果languageCodelocale为null
      IllegalArgumentException - 如果languageCode不是两个或三个小写字母形式,或locale不是从getAvailableLocales()返回的区域设置之一。
      参见:
    • getDisplayScript

      public String getDisplayScript(String scriptCode, Locale locale)
      返回给定的IETF BCP47脚本代码和给定的区域设置的本地化名称,适合显示给用户。例如,如果scriptCode是"Latn",locale是en_US,那么getDisplayScript()将返回"拉丁文";如果scriptCode是"Cyrl",locale是fr_FR,那么getDisplayScript()将返回"西里尔文"。如果返回的名称无法根据locale本地化(例如,提供程序没有西里尔文的日语名称),则此方法返回null。默认实现返回null。
      参数:
      scriptCode - 以标题大小写字母形式表示的四个字母脚本代码字符串(第一个字母是介于'A'(U+0041)和'Z'(U+005A)之间的大写字符,后跟三个介于'a'(U+0061)和'z'(U+007A)之间的小写字符)。
      locale - 所需的区域设置
      返回:
      指定区域设置的给定脚本代码的名称,如果不可用则返回null。
      抛出:
      NullPointerException - 如果scriptCodelocale为null
      IllegalArgumentException - 如果scriptCode不是四个标题大小写字母形式,或locale不是从getAvailableLocales()返回的区域设置之一。
      自JDK版本:
      1.7
      参见:
    • getDisplayCountry

      public abstract String getDisplayCountry(String countryCode, Locale locale)
      返回给定的IETF BCP47区域代码(ISO 3166国家代码或UN M.49区域代码)和给定的区域设置的本地化名称,适合显示给用户。例如,如果countryCode是"FR",locale是en_US,那么getDisplayCountry()将返回"法国";如果countryCode是"US",locale是fr_FR,那么getDisplayCountry()将返回"美国"。如果返回的名称无法根据locale本地化(例如,提供程序没有克罗地亚的日语名称),则此方法返回null。
      参数:
      countryCode - 以两个大写字母形式表示的国家(地区)代码字符串,介于'A'(U+0041)和'Z'(U+005A)之间,或以三个数字字母形式表示的UN M.49区域代码,介于'0'(U+0030)和'9'(U+0039)之间。
      locale - 所需的区域设置
      返回:
      指定区域设置的给定国家代码的名称,如果不可用则返回null。
      抛出:
      NullPointerException - 如果countryCodelocale为null
      IllegalArgumentException - 如果countryCode不是两个大写字母或三个数字字母形式,或locale不是从getAvailableLocales()返回的区域设置之一。
      参见:
    • getDisplayVariant

      public abstract String getDisplayVariant(String variant, Locale locale)
      返回给定的变体代码和给定的区域设置的本地化名称,适合显示给用户。如果返回的名称无法根据locale本地化,此方法将返回null。
      参数:
      variant - 变体字符串
      locale - 所需的区域设置
      返回:
      指定区域设置的给定变体字符串的名称,如果不可用则返回null。
      抛出:
      NullPointerException - 如果variantlocale为null
      IllegalArgumentException - 如果locale不是从getAvailableLocales()返回的区域设置之一。
      参见:
    • getDisplayUnicodeExtensionKey

      public String getDisplayUnicodeExtensionKey(String key, Locale locale)
      返回给定的Unicode扩展键和给定的区域设置的本地化名称,适合显示给用户。如果返回的名称无法根据locale本地化,此方法将返回null。
      实现要求:
      默认实现返回null
      参数:
      key - Unicode扩展键,非null。
      locale - 所需的区域设置,非null。
      返回:
      指定区域设置的给定键字符串的名称,如果不可用则返回null。
      抛出:
      NullPointerException - 如果keylocale为null
      IllegalArgumentException - 如果locale不是从getAvailableLocales()返回的区域设置之一。
      自JDK版本:
      10
    • getDisplayUnicodeExtensionType

      public String getDisplayUnicodeExtensionType(String type, String key, Locale locale)
      返回给定的Unicode扩展类型和给定的区域设置的本地化名称,适合显示给用户。如果返回的名称无法根据locale本地化,此方法将返回null。
      实现要求:
      默认实现返回null
      参数:
      type - Unicode扩展类型,非null。
      key - 此type的Unicode扩展键,非null。
      locale - 所需的区域设置,非null。
      返回:
      指定区域设置的给定类型字符串的名称,如果不可用则返回null。
      抛出:
      NullPointerException - 如果keytypelocale为null
      IllegalArgumentException - 如果locale不是从getAvailableLocales()返回的区域设置之一。
      自JDK版本:
      10