我们正在使用 react-i18next 进行翻译,它们允许您覆盖类型,以便您可以使用 ts 来验证您的密钥 - 除了 1 个事实外,它效果很好。假设我们在 common.json
(又名公共命名空间)
{
"first": "first",
"nested": {
"second": "Second"
}
}
当您获取该对象的类型并将其用作接口时,您将获得键 common:first
和 common:nested.second
一旦它是第二级,它就会变成点符号。是否可以告诉打字稿一直使用 :
,因为我们所有的翻译都是 common:nested:second
。我们已准备好更改我们的翻译——但最好避免它。任何帮助将不胜感激。
这里仅供参考是我们如何提供给 react-i18next 的类型(直接来自他们的文档)
import 'react-i18next';
declare module 'react-i18next' {
export interface Resources {
common: typeof import('./common.json');
}
}