我的理解是,在WPF中推荐的本地化方法是使用LocBaml工具将可本地化的项目提取到csv文件中,将这些项目翻译成所需的语言,并从该csv文件重新生成新的卫星程序集。然而,从我的实验来看,这似乎与从resources.resx文件生成附属程序集相冲突,因为两者都没有将资源组合到单个资源文件中,而是简单地覆盖了任何现有的附属程序集。
有没有一种推荐的方法(或者更好的是,现有的工具)来将LocBaml /generate的输出和在resources.resx文件上运行resgen的输出进行“合并”(默认情况下,由VS在构建时完成)。有没有人在解决同样的问题?
发布于 2009-06-14 08:08:27
您必须手动执行此操作,从LocBaml生成.resources,然后使用程序集链接器合并Resx和BAML资源。
这个过程看起来像这样:
LocBaml.exe /generate ..\obj\WpfLocalization.g.en-US.resources
/trans:Res\de.csv /out:de /culture:de
REM Combine resource files w/ Assembly Linker
al /template:WpfLocalization.exe
/embed:de\WpfLocalization.g.de.resources
/embed:..\..\obj\WpfLocalization.Properties.Resources.de.resources
/culture:de /out:de\WpfLocalization.resources.dll(所有内容都在批处理文件的一行上)。
您可以将上述内容放入为您的项目定制的批处理文件中。请记住,LocBaml必须放在输出文件所在的文件夹中。您可以将其添加为构建后任务。
发布于 2008-11-10 22:41:01
我更喜欢使用您可以在codeplex上找到的WPF Localization Extension项目来本地化我的WPF项目。
它允许您使用与WinForms相同的方法,并且比LocBaml更易于使用。
发布于 2008-11-11 14:38:58
谷歌了一下,发现这个页面描述了几种使用LocBaml的方法,其中没有非常详细的描述如何将resources.resx和locbaml生成的资源合并到一个文件中(使用al.exe)。
Localizing WPF using LocBaml
该页面描述了使用LocBaml的三种方法,我正在寻找方法3中的最后一步。
https://stackoverflow.com/questions/278121
复制相似问题