跟踪在运行时如何使用资源来查找缺少的翻译

时间:2018-08-24 13:43:43

标签: c# localization resx

我们维护一个ASP Web应用程序,该应用程序具有必须公开化为多种语言的公共可见界面,以及仍然需要本地化但仅部分语言的私有界面。

尽可能多地本地化时,根据字符串是出现在公共接口上还是仅出现在私有接口上,将它们放入不同的资源文件中。但是,不可避免地会犯错误,我想找到一种方法来查找分类错误的资源。它们之间共享很多代码,因此某些代码所在的程序集不足以确定这一点。

一种方法是记录通过公共接口访问的每个资源的资源名称和位置,这使我们能够(a)检测被误分类为私有的任何资源,以及(b)调查任何被归类为公开但未出现在此列表中的文件。通过提供包装默认资源但记录资源密钥的自定义资源提供程序,似乎可以实现这一点。

另一种选择,但可能更有用的选择是,记录何时在特定区域性中找不到资源,并且系统必须回退到不变的区域性资源。这将帮助我们追踪所有未翻译的消息。但是,我正在努力寻找一种方法来做到这一点。

这里有什么好的解决方案可以避免我自己编写?其他人如何管理类似的情况?我们宁愿避免不必要地将只能在专用接口中看到的字符串转换为不支持的语言的代价。

1 个答案:

答案 0 :(得分:0)

为了全面公开,我是Visual Studio商业本地化程序的(唯一)作者。因此,如果您决定进行研究和购买,我将受益。我不是在这里卖给你它的副本(我不是那样工作的)。我正在尝试合法地帮助您,并且我的程序可能能够(尽管在此阶段,我仍然不清楚)。假设您找不到更好的方法,那么您当然也必须对付费解决方案持开放态度。如果我知道免费的方法,可以在这里发布。实际上,如果我的应用程序花了很短的时间才开始开发,那么我会免费赠送它。建议您从http://hexadigm.com/FreeDownLoads.aspx(开发人员版本)下载评估副本,以了解其功能(最好先在网站上阅读该版本)。评估版只能翻译10%的字符串,因此正确测试您想要的内容可能很笨拙。但是,如果我理解正确,该程序可能具有处理您情况的潜在方法,但是仍有待观察(例如,您可以将公共字符串和私有字符串捆绑到单独的“ .trn”文件中,您将学习该文件有关您是否要研究该应用程序的信息,但是当然显然您首先需要确定这些字符串-我的应用程序在这方面如何提供帮助尚不清楚)。结果是,您首先需要对程序有一个基本的了解。最好通过support@hexadigm.com与我离线联系。我认为这里没有任何进一步的讨论将使其他用户受益,但是如果主持人认为不是,那么他们可以加倍考虑(我愿意在这里讨论,因为该应用程序确实解决了Visual Studio中的各种本地化缺陷,但我不想违反网站的规则-我不是在这里推广该应用程序,因此,未经他们的同意,我不会讨论任何细节。