ngx-translate 在用户通过身份验证后导入翻译

ngx-translate import translations after user has autheticated

我的应用程序使用 ngx-translate。我们最近被告知不要将这些翻译文件存储在 /assets/* 文件夹中,因为它没有安全措施,并且可以公开访问。

我很好奇是否有人知道加载 translationModule 或翻译本身的方法,直到应用程序已加载且用户已通过身份验证?

或app.module.ts

export function HttpLoaderFactory(http: HttpClient) {
// return from the app folder not using http, and not from the /assets/i18n, instead of:
return new TranslateHttpLoader(http, '/assets/i18n/', '.json?cb=' + new Date().getTime());
}

这就是 TranslateHttpLoader 为您所做的。只需添加完整的 URL 而不是 assets/i18n/,如下所示:

export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http, 'http://YOUR_SERVER_URL/xyz', '');
}

您可以将此工厂添加到任何模块,而不仅仅是根模块。