3

我们目前正在为我们的系统添加本地化,​​我正试图找出应对这一挑战的有利选择。我的系统是一个基于微服务 python 架构的 web 应用程序。FE 使用 GW 与多个 BE 微服务通信,每个 MS 有不同的端点,应该根据语言环境返回字符串。

这里有一些讨论,但我们更专注于解决方案,该解决方案还允许数据(来自 db)和本地环境中的文本翻译。

我目前的选择是:

  1. 添加本地化微服务,在每次调用 BE 端点后,FE 将轮询字符串翻译。(这是否可以很好地扩展?这会产生压倒性的开销吗?)

  2. 添加本地化微服务以供 BE 中的其他微服务用于翻译 - 这可能会导致与其他微服务的紧密耦合,特别是如果我们还想在某个级别(而不仅仅是元数据)翻译来自数据库的数据。(1)

  3. 翻译将在现有的微服务中完成 - 如果我想降低微服务对翻译逻辑的认识,最好的方法是什么?似乎 Flask-Babel 可以帮助翻译阶段——但是如何减少这段代码的耦合呢?

我很想听听对上述选项的评论,以及对我可能错过的其他选项的建议。谢谢。

4

1 回答 1

0

由于本地化严格来说是前端的责任,我不会给后端带来负担。我建议在表示层本身上处理它,并且可能正在开发一个小工具来根据使用的资源构建语言环境文件。如果资源包的大小不是太大,那么可以在所有前端使用相同的资源包。

于 2021-08-25T05:58:36.110 回答