我有一个旧的MVC 4项目,它使用Razor视图中的ASP.NET资源进行本地化。
在Razor视图中,您可能会看到
查看/ Register.cshtml:
@Resource(() => Local.TermsAndConditions
这将很好,
资源/ Register.resx
找到具有正确文化的'TermsAndConditions'参数。
现在我实际上并不知道所有这些是如何工作的,我以前从未使用过多语言应用程序,但我知道这些resx文件甚至没有正确的信息 - 实际发生的是某种方式我们使用构建的ResourceCache类从数据库中看起来像一组复杂的SQL表中获取这些内容。
我正在尝试使用React重新编写前端,但我正在努力如何保持本地化 - 有数百个条目,我在这里拉一点我的头发。
我能想到的唯一解决方案是手动查找在视图顶部查找所需的所有键,然后将这些键发送到将为我处理这些值的自定义API,但感觉像这可能会导致我的应用程序出现大量开销!
有什么想法吗?
答案 0 :(得分:2)
所以我通过创建一个简单的API方法来解决这个问题
List<string, string> LocaliseStrings (List<string> keys)
{
// get UI culture
// look up translated string
// add to return list in KVP
}
这将在每个前端页面之前调用,并返回必要的字符串