我目前正在从事一个大量使用国际化(i18n)的web项目,我很难弄清楚如何确保所有语言共享完全相同的密钥。
下面是一个简单的例子
src/lang/en.ts
文件:
export default {
title: "My Website Project",
description: "This is an example of a file which contains phrases and their keys",
hello: "Hello!",
};
下面是一个简单的例子
src/lang/id.ts
文件:
export default {
title: "Proyek Website Saya",
description: "Ini adalah contoh dari sebuah file yang mengandung beberapa frasa beserta kata kuncinya",
hello: "Halo!",
};
现在,我希望TypeScript确保这些文件具有相同的密钥(不是更多,不是更少)。所以如果我把
cat
财产进入
src/lang/id.ts
,然后:
export default {
title: "Proyek Website Saya",
description: "Ini adalah contoh dari sebuah file yang mengandung beberapa frasa beserta kata kuncinya",
hello: "Halo!",
cat: "Kucing", // <-- this must be error because "cat" doesn't exist in en.ts file!
};
但我无法构建这样的界面
export default interface LanguageStruct {
title: string,
description: string,
hello: string,
};
因为在真正的项目中,每种语言都有数百个短语,一个接一个地编写这些关键词既费时又费力。我想知道对于这个问题,是否有一个使用TypeScript的技巧,或者至少有某种自动化来完成这项工作。