我有一个文化中立的 resources.resx 文件,其中包含文本字符串和图像。这编译成“controls.web.dll”。
要求是我生成附属程序集(例如法语的 \fr\controls.web.resources.dll)后代码冻结,其中包含所有翻译的文本和图像,这就是我卡住的地方。
我们有 +-115 .resx 文件。我使用Crowdin.com工具翻译文本字符串,并使用resgen将翻译后的 .resx 文件转换为 .resources ,然后使用 al.exe 将其编译成附属程序集。所有这些都是在 Visual Studio 之外完成的,并且可以在我们的构建服务器上进行脚本化/自动化。
我的问题是这个过程适用于文本字符串,因为它们只是由翻译器替换。问题是翻译后的 .resx 仍然引用了中性图像。
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<data name="_46pxNoImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\AttachmentPostBack\Resources\46pxNoImage.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
我是否必须手动编辑所有 115 个 .resx (XML) 后翻译并将所有图像引用更改为指向每个相应的翻译图像(例如\AttachmentPostBack\Resources\46pxNoImage.fr.png)或者是否有更好、更不痛苦的方法去做这个?微软真的缺乏文档,所以我想知道这是否是在 ASP.net 中本地化图像的最佳方法/实践