【发布时间】:2012-12-27 06:15:01
【问题描述】:
作为国际化我们基于 asp.net、c#、silverlight、XBAP 的应用程序的一部分,我正在评估开始的方法。我不得不在GNU gettext()(PO files) 和微软基于资源(resx)的方法之间做出选择。所以在这个时刻,我试图了解如果我必须采用 MS 方式,那么自动从 .cs 文件、aspx、ascx、xaml(silverlight)文件中提取可本地化字符串到资源文件(resx)的最佳方法是什么。
我有以下选择:
- Resource Refactoring tool,但它会提取所有字符串(无论您是否必须翻译),例如页眉等。我们不能标记或排除特定字符串。或者我们将不得不手动选择每个字符串,然后提取(右键单击并单击提取)。
- Resharper's Localization assistance,这里我没有看到自动提取,但我必须手动逐个提取字符串。
我知道必须进行一些人工干预,但任何建议都有助于在 gettext()(gnu gettext() c# or fairlylocal 或 MS 本地化方法之间选择正确的方向。
【问题讨论】:
-
如果您使用的是 VS 2010,那么本地化 aspx/ascx 的最简单方法是在设计视图中使用工具->生成本地资源。此外,不要忘记在您的潜在本地化目标中包含 java 脚本和图像。最后,是否提取所有字符串以进行本地化并不重要 - 如果您不想本地化某些资源,则将其从特定于语言环境的资源文件中删除。默认逻辑将回退到该值的文化中立资源。
-
@VinayC:这对 aspx/ascx 有用,但我正在寻找一种可以从源代码和 xaml 中提取的解决方案。此外,当我有大约 300 个页面要处理时,每页(或用户控件)的资源文件看起来更麻烦,我希望我们可以将它们合二为一(如果有重复数据删除),但不确定性能影响.
标签: asp.net localization resharper globalization