Localization 基于微服务的webapp中的本地化

Localization 基于微服务的webapp中的本地化,localization,internationalization,microservices,flask-babel,Localization,Internationalization,Microservices,Flask Babel,我们目前正在将本地化添加到我们的系统中,我正试图找出应对这一挑战的有利选择。 我的系统是一个基于微服务python架构的web应用程序。FE使用GW与多个BE微服务通信,每个MS都有不同的端点,这些端点应根据区域设置返回字符串 围绕它进行了一些讨论,但我们更关注的是这个解决方案,该解决方案还将允许数据(来自db)的文本翻译和在on-prem环境中的文本翻译 我目前的选择是: 添加本地化微服务,FE将在每次调用be端点后轮询该微服务以进行字符串转换。(这能很好地扩展吗?这会产生巨大的开销吗?)

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

围绕它进行了一些讨论,但我们更关注的是这个解决方案,该解决方案还将允许数据(来自db)的文本翻译和在on-prem环境中的文本翻译

我目前的选择是:

  • 添加本地化微服务,FE将在每次调用be端点后轮询该微服务以进行字符串转换。(这能很好地扩展吗?这会产生巨大的开销吗?)

  • 添加本地化微服务供be中的其他微服务用于翻译-这可能会导致与其他微服务的紧密耦合,特别是如果我们也想翻译的话 在某种程度上(而不仅仅是元数据)来自数据库的数据

  • 翻译将在现有的微服务中完成——如果我愿意,最好的方式是什么 将微服务的意识降低到翻译逻辑?看来巴贝尔能帮上忙 翻译阶段-但是如何减少此代码的耦合

  • 我希望听到对上述选项的评论,以及对我可能错过的其他选项的建议。
    谢谢。

    除非您确实需要,否则我不会实施专门的本地化微服务。相反,我会建立一个共享的本地化repo,并将其拉入不同的微服务(例如,通过Git子模块)。为了方便起见,“attranslate”是一种现代工具,有助于保持翻译文件的一致性: