Angular 5 在没有 ngx-translate 的情况下翻译 i18n

Angular 5 translate i18n without ngx-translate

由于 Angular 的一位开发人员写道 this

It won't be for 5.0, it should be before 6.0 (so before march 2018). Unfortunately I don't have a more precise date

我想知道如何继续我的 Angular 5 应用程序,我想以两种语言提供它。用户应该有机会通过按钮切换语言。 我读到现在你只能用 ngx-translate 做到这一点,但由于我想使用 Angular 的内置功能,我想以某种方式对其进行编程,这样我就不必做工作两次!

在最坏的情况下,我将只提供一种语言的页面,直到该功能发布。

那么有没有一种方法可以提供不止一种语言的应用程序,让用户只需使用 Angular 中包含的 i18n 就可以在它们之间轻松切换?

现在,如果您不想使用 ngx-translate,则无法动态翻译您的应用程序。如果您使用 Angular 的 i18n 规范,您可以在生产版本中构建两个不同的版本。例如,一个 'en' 表示英语,一个 'es' 表示西班牙语(服务器中有两个不同的文件夹)。问题是当您更改语言环境时,整个应用程序将重新加载。优点是此方法易于使用,因为您必须在需要翻译语言的地方使用 'i18n' 指令,并将特定于语言的变量写入单独的配置文件 (xlf)。例如:

<h1 i18n>Hello i18n!</h1>