如何提取本地化字符串资源进行翻译?
Posted
技术标签:
【中文标题】如何提取本地化字符串资源进行翻译?【英文标题】:How can I extract localized string resources for translation? 【发布时间】:2009-10-21 09:40:31 【问题描述】:我有几个 Visual Studio 2008 项目 (ASP.NET 3.5),其中包含许多本地资源文件,用于对特定 ASP.NET 页面中的字符串进行本地化。其中一些分组在文件夹中,一些根据它们本地化的页面命名,等等。
例如,App_LocalResources 文件夹有一个与 ASPX 页面匹配的 .resx 文件列表、与 ASCX 用户控件匹配的 UserControls/App_LocalResources 等。
现在我需要将应用程序翻译成另一种语言,我想将所有这些密钥发送给无权访问 Visual Studio 项目的人进行翻译。
我总是可以编写一个小型控制台应用程序,它会递归地查找所有 .resx 文件并将它们组合成一个大的自定义 XML 文件,然后我可以发送该文件进行翻译。收到翻译后的 XML 文件后,控制台应用程序将重新创建所有小的 .resx 文件。
这一切都不是问题,但必须有更好的方法。你有什么建议,我该怎么做?
【问题讨论】:
【参考方案1】:我目前正在将 .NET 支持添加到 appTranslator 到 .NET。该工具通过让翻译人员处理单个本地化项目文件并立即从翻译中创建附属 DLL,帮助您轻松管理资源的翻译。准备好后我会通知你的。
【讨论】:
【参考方案2】:Passolo 会自动将默认资源字符串从 exe 和 dll 中提取到一个“捆绑包”中,您可以将其传递给翻译公司。
我们正在我的工作中这样做,它似乎工作得很好。
您可以排除/隐藏要翻译的字符串,为每个字符串添加 cmets 并在同一个项目/包中拥有多种语言。
=========================
此 Visual Studio 插件有助于将单个字符串提取到资源文件 (.resx)
http://resourcerefactoring.codeplex.com/
资源重构工具为开发人员提供了一种从代码中提取硬编码字符串到资源文件的简单方法。
它说它只针对 VS 2005/2008 开发,但很快就会更新到 VS 2010。
【讨论】:
【参考方案3】:编写一个用于将所有文件提取到 excel 中的 shell 脚本。解压成excel后,任何东西都可以轻松操作,或者写个资源文件转excel的工具。
供参考:http://www.codeproject.com/Articles/20920/NET-Resource-File-to-Excel-File-Converter
【讨论】:
以上是关于如何提取本地化字符串资源进行翻译?的主要内容,如果未能解决你的问题,请参考以下文章
如何提取 useTranslate 作为辅助函数而不是组件?