gpt4 book ai didi

Spring 休息国际化

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

如果我想在从特定用户票证解析的参数上设置本地化,有没有办法将 Spring 国际化实现到休息服务中?

工作流程如下所示:用户点击一个链接。服务获取用户特定的票证和设置。服务解析票证并获取区域设置,此区域设置应相应设置,然后服务以特定语言返回响应。

我发现的只是将语言环境与请求一起传输的示例。另外,我不明白 Spring 是如何映射所有这些名称的。我是否必须给他变量,然后他将这些名称与给定的语言源映射?

最佳答案

您必须创建应用程序本地化属性文件并将它们放入类路径中,例如你有两个文件:

application_en.properties
application_lt.properties

一个用于英语,另一个用于立陶宛语。假设它们包含一个属性:

en:
application.name=Example

lt:
application.name=Pavyzdys

然后你必须在你的spring配置文件中定义一个消息源:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="application"/>
</bean>

请注意,basename 是 application 以及超出下划线的内容:在我们的例子中,enlt 是您需要提供的语言环境获取本地化属性的消息源。

例如:

假设您在某个 bean 中成功地 Autowiring 了 spring 的消息源:

@Autowired
private MessageSource messageSource;

你有一个方法:

public String getMessage(String code, String locale) {
return messageSource.getMessage(code, null, new Locale(locale));
}

所以当你打电话时:

getMessage("application.name", "en") - 它会为您返回英语的“示例”。

getMessage("application.name", "lt") - 它会为您返回立陶宛语的“Pavyzdys”。

希望这是有道理的。

关于 Spring 休息国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29747886/

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