标签:spring-boot spring java internationalization
目前,我正在实施一项服务,用于向客户发送通知(例如,SMS).服务是基于Spring Boot用Java编写的.
我想用收件人的语言发送消息.
因此,基本上,我希望有一种方法,以所需的本地化方式获取消息的某些ID(“ en”,“ fr”,“ es”),然后返回正确的String.另外,配置一些默认语言(例如“ en”)将非常有用-如果不支持所需的语言,则可以使用默认语言.
有什么建议如何使用Spring Boot实现这一目标吗?
附注:对不起,是的,我尝试了“ Google搜索”.我发现了几个国际化示例,但其中大多数似乎没有用,因为它们是为整个用户界面而不是特定的消息而设计的.
解决方法:
首先,您需要创建几个资源文件.将一个名为messages_en.properties的文件和另一个名为message_fr.properties的文件放在src / main / resources中.
在en文件中添加以下行:
hello.world=Hello World!
在fr文件中添加以下行:
hello.world=Bonjour le monde!
然后在需要获取此文本的位置注入一个MessageSource
@Autowired private MessageSource messageSource;
然后你可以用它来获取文字
messageSource.getMessage("hello.world", null, locale);
您需要将用户的语言环境传递给该方法.您可以根据需要设置LocaleResolver来执行此操作.
标签:spring-boot,spring,java,internationalization 来源: https://codeday.me/bug/20191027/1941099.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。