我需要支持国际化,因此用户将选择必须应用于服务器进程和操作系统的不同语言。我们正在使用 CentOS
我们可以在不重新启动java进程的情况下设置java语言环境吗?请提供设置。
我需要支持国际化,因此用户将选择必须应用于服务器进程和操作系统的不同语言。我们正在使用 CentOS
我们可以在不重新启动java进程的情况下设置java语言环境吗?请提供设置。
如果您需要支持国际化,则不应在 JVM 级别分配 Locale。因此,您不应使用-Duser.language
nor -Duser.country
。您也不应该在代码中使用指定区域设置Locale.setDefault()
- 这还将设置 JVM 范围的区域设置(这将影响所有正在运行的 Java 应用程序)。
目前尚不清楚,你在追求什么,但我个人觉得你的问题有些误解。
如果您想支持 I18n,您需要做的是检测Locale 并选择性地跟踪它们。根据应用程序和环境的类型,它可能非常简单(Locale.getDefault(Locale.Category.FORMAT)
在桌面应用程序中(仅))或非常复杂(从请求上下文中读取 Locale 并将其存储为会话变量,以防 Web 应用程序)。
如您所见,不需要分配默认语言环境,它应该留给 JVM 启动代码。