在React中使用ASP.NET资源

时间:2018-01-24 17:05:23

标签: asp.net reactjs asp.net-mvc-4 razor localization

我有一个旧的MVC 4项目,它使用Razor视图中的ASP.NET资源进行本地化。

在Razor视图中,您可能会看到

  

查看/ Register.cshtml:

@Resource(() => Local.TermsAndConditions

这将很好,

  

资源/ Register.resx

找到具有正确文化的'TermsAndConditions'参数。

现在我实际上并不知道所有这些是如何工作的,我以前从未使用过多语言应用程序,但我知道这些resx文件甚至没有正确的信息 - 实际发生的是某种方式我们使用构建的ResourceCache类从数据库中看起来像一组复杂的SQL表中获取这些内容。

我正在尝试使用React重新编写前端,但我正在努力如何保持本地化 - 有数百个条目,我在这里拉一点我的头发。

我能想到的唯一解决方案是手动查找在视图顶部查找所需的所有键,然后将这些键发送到将为我处理这些值的自定义API,但感觉像这可能会导致我的应用程序出现大量开销!

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

所以我通过创建一个简单的API方法来解决这个问题

List<string, string> LocaliseStrings (List<string> keys)
{
   // get UI culture
   // look up translated string
   // add to return list in KVP
}

这将在每个前端页面之前调用,并返回必要的字符串