【问题标题】:How to handle back-end response translations?如何处理后端响应翻译?
【发布时间】:2021-09-29 11:59:35
【问题描述】:

我正在为一个国际客户开发一个基于 Java 的后端项目。

后端向前端发送几条消息,指示失败或成功。

客户希望这些消息以其他 2 种语言提供。

我不想对这些翻译进行硬编码,因为这些信息会随着时间而改变。

对如何处理有什么建议吗?

附:这是一个使用 Spring Boot 的基于微服务的项目。

【问题讨论】:

  • 有几个选项也取决于您的环境(例如 UI 功能)和要求。如果您不想对消息进行硬编码,您可以将翻译部署在配置文件(例如 .properties)甚至某些数据库中(并可能将它们缓存在内存中)。然后让调用者提供一种语言来接收消息 - 但我仍然会发送唯一的 id 供机器使用和潜在的(重新翻译)客户端。

标签: java spring-boot microservices


【解决方案1】:

查看消息源:

MessageSource 用于解析消息,支持 消息的参数化和国际化。春天 包含两个内置的 MessageSource 实现: ResourceBundleMessageSource 和

ReloadableResourceBundleMessageSource。 后者能够在不重新启动的情况下重新加载消息定义 虚拟机。

@Autowired
private MessageSource messageSource;



logger.info("{}", messageSource.getMessage("l2",
    new Object[] {"Paul Smith"}, Locale.GERMAN));

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/MessageSource.html

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 2016-05-20
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2022-01-04
    相关资源
    最近更新 更多