【问题标题】:Possible to dynamically customize locale in Java?可以在 Java 中动态自定义语言环境吗?
【发布时间】:2012-06-01 14:07:51
【问题描述】:

我有一种情况,客户出于不明原因想要一个特定的语言环境,除了修改为根据语言环境以小写字母显示的月份名称应以大写字母显示(这不是相关语​​言环境的标准变体)。我已经有了引用Locale 实例的SimpleDateFormatter 代码。

我的问题是是否可以根据指定的国家/地区代码动态构建 Locale 实例,但要进行特定的修改? 或者,是否可以构建一个 locale 实例从头开始,在运行时指定所有细节,这样引用它的SimpleDateFormatter 会相应地更改其月份的大小写?

提前致谢。

【问题讨论】:

  • new Locale("myLang", "myCountry", "myVariant") 没有做你想做的事吗?
  • @rodion 除了选择预先存在的语言环境之外还有什么意义?
  • 据我所知,您想从头开始动态构造一个Locale,并在运行时指定详细信息。那么为什么你不能用new Locale(myDynamicLang, myDynamicCountry) 来构建一个新的语言环境呢?这还不够动态吗?您是否正在寻找其他一些特定功能?
  • @rodion 感谢您的反馈 - 不过,我似乎不够准确。我要指定的细节不仅仅是指定特定的现有文化/语言,而是提供诸如提供本地应用的自己的日期格式策略等细节。

标签: java internationalization locale


【解决方案1】:

LocaleServiceProvider 的 Javadoc 应该可以帮助您入门。

【讨论】:

  • 然而,我不想选择现有的语言环境,而是构建一个具有特定日期格式规则的语言环境。
  • 我指向的 javadoc 引用了 LocaleServiceProvider。我想我可以直接链接到 LocaleServiceProvider,所以我现在就这样做了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多