具有多个模块的应用程序的语言翻译应该采用什么方法?

问题描述 投票:0回答:3

我很困惑大家应该遵循哪种方法进行语言翻译。我目前正在使用 ngx-translate 模块。 主要问题是我应该为每个模块管理单独的 lang 文件:-

当前实现,使用单独的模块语言文件

或者我应该为所有模块保留一个语言文件?请提出更好的方法。

谢谢!

angular translate angular-translate ngx-translate
3个回答
1
投票

Translate.stream 对于广泛的应用程序也很有用,它会根据语言的变化来改变值。

constructor(private translate: TranslateService) {
 this.translate
  .stream('my.i18n.key')
  .subscribe((res: string) => {
    console.log(res);
  });
}

0
投票

根据您的应用程序如何使用静态数据,这个问题可能有不同的解决方案。我最近在我们的项目中实现了语言翻译。

我浏览了许多博客和视频博客,它们可以帮助在应用程序中组织此功能。什么时候应该在 JSON 语言中使用模块化方法,什么时候不应该使用。

通常,当您的应用程序消耗大量静态数据并且每个模块都有自己的数据时,语言的模块化方法就会出现在这张图中。另外,当您遵循延迟加载方法时。这将帮助您在相当短的时间内加载应用程序。因此,当您的应用程序具有延迟加载并且 JSON 变得非常大时,您应该遵循这种方法,它将帮助您在一个文件中维护与模块相关的静态数据。

当您的应用程序在任何模块之间共享大量数据时,可以采用第二种方法,因此您可以拥有一个文件并在 JSON 文件保持较小的情况下黑白共享它们,而不是在每个模块中复制相同的数据。

您还可以遵循混合方法,即根据应用程序使用数据的方式混合上述两种方法。我使用了混合方法,因为一些模块需要与其他模块共享相同的静态数据,而一些模块只需要自己的数据。


0
投票

Apoorva Chikara 的回应提到了以混合方式执行此操作的选项,在我看来,这似乎是最有趣的选项之一。这种方法似乎更容易组织翻译,特别是当它是一个大型且复杂的项目时。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.