关于xaml:在没有LocBAML的情况下,本地化WPF应用程序的最佳方法是什么?

关于xaml:在没有LocBAML的情况下,本地化WPF应用程序的最佳方法是什么?

What is the best way to localize a WPF application, sans LocBAML?

似乎没有本地化WPF应用程序的好方法。 MSDN似乎认为,用x:Uid \\乱放我的XAML,生成CSV文件,然后生成新程序集(使用其示例代码!)就是答案。更糟糕的是,此过程无法解决如何本地化图像,二进制blob(例如PDF文件)或代码中嵌入的字符串。

因此,如何对以下应用程序进行本地化:

  • 包含多个程序集
  • 包含需要本地化的图像和其他二进制Blob(例如:PDF文档)
  • 具有不在XAML中的字符串数据(例如:MessageBox.Show("Hello World");)

  • 您应该查看此处提供的文章和代码。它描述了使用LocBaml,自定义标记扩展或附加属性来本地化WPF应用程序的不同方法。恕我直言,最好的解决方案是使用标记扩展名和Resx资源。该代码包含用于执行此操作的本地化框架。


    这里不是专家,但是用x:Uids"乱丢"您的xaml并不比"乱丢"您的Windows窗体代码以及所有对它们进行本地化所必需的所有字符串表都更糟糕。

    据我了解,WPF应用程序仍支持"所有Framework CLR资源,包括字符串表,图像等"。这意味着您可以拥有本地化的资源。

    当然,如果您创建了一个标记扩展程序来为您处理许多废话,那会简单得多。您可以在此处找到有人这样做的示例。在http://blog.taggersoft.com/2008/07/wpf-application-localization-pattern_29.html处还有另一个类似的解决方案,但是该链接不再起作用。


    尝试使用Gnu GetText实用程序和支持的应用程序。它确实会基于ResourceManager和ResourceSets生成C#类,当然您可以在应用程序的其他部分(例如网页,本机代码或iphone等)重用翻译。


    您可以使用支持所有上述情况的旧" ResX"文件。在WPF应用程序中如何完成此操作的说明如下:

    WPF应用程序框架(WAF)=>请参阅本地化示例


    推荐阅读

      更新文件命令linux?

      更新文件命令linux?,工作,系统,地址,信息,时间,命令,目录,基础,标准,网络,lin

      linux下读取文件命令?

      linux下读取文件命令?,系统,工作,地址,数字,图片,信息,网络,命令,文件,一致,l

      linux改文件夹名命令?

      linux改文件夹名命令?,名字,软件,命令,文件,系统,目录,目标,文件名,源文件,

      linux建文件命令格式?

      linux建文件命令格式?,系统,名字,名称,时间,密码,命令,文件,文件夹,不了,数

      下载文件的命令linux?

      下载文件的命令linux?,平台,工具,服务,密码,软件,网络,位置,代理,手机,工作,

      linux命令文件传输?

      linux命令文件传输?,系统,数据,命令,文件,基本知识,源文件,目录,目标,功能,

      linux文件全选命令?

      linux文件全选命令?,电脑,系统,环境,代码,平台,服务,快捷键,文件,命令,权限,l

      linux浏览文件类命令?

      linux浏览文件类命令?,系统,信息,数据,情况,命令,标准,时间,文件,概念,管理,

      linux打包文件夹命令?

      linux打包文件夹命令?,系统,工具,管理,图片,文件,命令,位置,软件,目录,格式,l

      linux中统计文件命令?

      linux中统计文件命令?,系统,信息,数据,情况,工作,文件,时间,档案,标准,名称,L

      linux重名名文件命令?

      linux重名名文件命令?,图片,名称,名字,文件,命令,位置,代码,软件,系统,文件

      linux的建立文件命令?

      linux的建立文件命令?,名称,系统,时间,名字,命令,文件夹,位置,密码,不了,文

      linux06文件命令?

      linux06文件命令?,数字,系统,工作,第一,名字,信息,管理,文件,目录,命令,linux

      linux将文件备份命令?

      linux将文件备份命令?,系统,密码,设备,软件,通讯,较大,认证,服务,数据,文件,L

      linux扩展文件命令?

      linux扩展文件命令?,工作,地址,系统,信息,命令,目录,管理,情况,文件,标准,Lin

      linux命令新增文件夹?

      linux命令新增文件夹?,系统,名字,首次,名称,新增,文件,命令,文件夹,地址,密

      linux推送文件命令?

      linux推送文件命令?,地址,系统,情况,工作,命令,文件,电脑,密码,信息,目录,Lin

      linux文件替换命令行?

      linux文件替换命令行?,资料,命令,文件,数据,名称,系统,实时,工作,字符串,批

      linux可生成文件命令?

      linux可生成文件命令?,名字,命令,名称,文件,文件夹,位置,数据,密码,时间,电