0

我需要支持国际化,因此用户将选择必须应用于服务器进程和操作系统的不同语言。我们正在使用 CentOS

我们可以在不重新启动java进程的情况下设置java语言环境吗?请提供设置。

4

1 回答 1

0

如果您需要支持国际化,则不应在 JVM 级别分配 Locale。因此,您不应使用-Duser.languagenor -Duser.country。您也不应该在代码中使用指定区域设置Locale.setDefault()- 这还将设置 JVM 范围的区域设置(这将影响所有正在运行的 Java 应用程序)。

目前尚不清楚,你在追求什么,但我个人觉得你的问题有些误解。

如果您想支持 I18n,您需要做的是检测Locale 并选择性地跟踪它们。根据应用程序和环境的类型,它可能非常简单(Locale.getDefault(Locale.Category.FORMAT)在桌面应用程序中())或非常复杂(从请求上下文中读取 Locale 并将其存储为会话变量,以防 Web 应用程序)。
如您所见,不需要分配默认语言环境,它应该留给 JVM 启动代码。

于 2013-03-06T16:53:57.533 回答