gpt4 book ai didi

java - 确定用户的首选语言

转载 作者:行者123 更新时间:2023-12-01 15:22:09 27 4
gpt4 key购买 nike

我有一个应该向用户提供英语和瑞典语版本的网站。我的问题是:如何决定向用户显示什么语言(以及什么数字格式等)。

接口(interface)javax.servlet.ServletRequest定义了方法getLocale()并表示它将根据Accept-language返回语言环境> HTTP 请求中的 header 。但这意味着,如果使用德语浏览器的人访问我的网站,则 Locale 对象将是德语浏览器。由于我的网站不支持德语,请求中的区域设置将与我的任何语言文件都不匹配。

有没有办法进行配置,或者我是否需要重写 getLocale() 方法的功能来执行此操作?

getLocale() 是确定向用户显示哪种语言的正确方法,还是该方法应该用于其他目的?

需要明确的是,我想要的是:如果我的网站支持浏览器提供的区域设置,则使用该区域设置。否则,请使用我的网站的默认值(英语)。

最佳答案

getLocale() 方法是正确的,但无需扩展它。 Java的正常internationalization support已经以一种更简单、更干净的方式为您提供了您想要的行为。

例如,假设您提供以下语言文件:

  • MyStrings.properties
  • MyStrings_sv_SE.properties

第一个文件包含您的英语文本,第二个文件包含您的瑞典语文本。如果语言环境是瑞典,则使用瑞典语语言文件;否则将使用没有语言扩展名的文件。

要检索文本,您可以执行以下操作:

ResourceBundle strings = ResourceBundle.getBundle("MyStrings");
String hello = strings.getString("HELLO_USER");

关于java - 确定用户的首选语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10744250/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com