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', '');
}
您可以将此工厂添加到任何模块,而不仅仅是根模块。
我的应用程序使用 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', '');
}
您可以将此工厂添加到任何模块,而不仅仅是根模块。