我的文件errors.ts
和content.ts
的英文内容与errorsEs.ts
相同,contentEs.ts
的内容与西班牙content.etc相同。我正在JIT compiler angular localization
翻译语言。我在整个应用中导入了errors.ts
和content.ts
。
截至目前,我正在将翻译后的语言(西班牙语,意大利语)内容替换为英语content.ts
和errors.ts
,以将其作为其他语言运行。有没有其他方法可以在不更换文件的情况下完成?
答案 0 :(得分:0)
当然,在名称中创建带有区域设置的翻译文件(为了示例,我将创建一个):
<强> error.en-US.ts 强>
export const errors = {
http: {
e404: `Error: resource not found on the server`
}
};
接下来,创建一个错误服务。在构造函数中,获取用户区域设置,加载文件,然后使用它:
constructor() {
if (window.navigator.languages) { this.language = window.navigator.languages[0]; }
else { this.language = window.navigator.userLanguage || window.navigator.language; }
this.errors = require(`errors.${this.language}`).errors;
}
console.log(window.navigator.languages);
console.log(window.navigator.userLanguage);
console.log(window.navigator.language);