Micronaut 地域解析
Micronaut 支持多种策略来解析给定请求的语言环境。 getLocale-- 方法可用于请求,但它仅支持解析 Accept-Language 标头。对于区域设置可以在 cookie、用户会话中或应设置为固定值的其他用例,HttpLocaleResolver 可用于确定当前区域设置。
不需要直接使用 LocaleResolver API。只需为 java.util.Locale 类型的控制器方法定义一个参数,区域设置就会自动解析和注入。
有几个配置选项可以控制如何解析语言环境:
属性 | 类型 | 描述 |
---|---|---|
|
HttpServerConfiguration$HttpLocaleResolutionConfigurationProperties |
语言环境解析配置 |
|
java.util.Locale |
设置语言环境的语言标签。支持 BCP 47 语言标签(例如“en-US”)和 ISO 标准(例如“en_US”)。 |
|
java.lang.String |
在会话中设置键以查找语言环境。 |
|
java.lang.String |
设置用于存储区域设置的 cookie 的名称。 |
|
boolean |
如果应从 Accept-Language 标头解析区域设置,则设置为 true。默认值(真)。 |
|
java.util.Locale |
如果无法通过任何方式解析区域设置,则设置将使用的区域设置。默认为系统默认值。 |
语言环境可以配置为“en_GB”格式或 BCP 47(语言标签)格式。如果配置了多个方法,则固定语言环境优先,其次是会话/cookie,然后是标头。
如果任何内置方法不符合您的用例,请创建一个 HttpLocaleResolver 类型的 bean 并设置其相对于现有解析器的顺序(通过 getOrder 方法)。
更多建议: