EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

本地化(汉化)应用程序中使用的标准XAF模块和DevExpress控件

标准XAF模块和DevExpress控件提供XAF应用程序界面使用的大多数英文文本。该DevExpress的.NET本地化服务提供了这些文本翻译成不同语言的准备使用的翻译- ASP.NET资源(ASP.NET应用程序所需的)和卫星组件(为的WinForms,ASP.NET需要,和移动平台) 。本主题描述了如何在您的应用程序中使用这些翻译以及在没有适用于您的语言的现成翻译时如何手动本地化标准XAF模块和DevExpress控件。

DevExpress控件和XAF模块的附属组件

您可以在全局程序集缓存(GAC)中安装预构建的附属程序集,以避免翻译DevExpress控件和XAF模块提供的文本。用于deesjaru语言的附属程序集安装在%PROGRAMFILES(x86)%\ DevExpress 19.2 \ Components \ Bin文件夹和GAC中。您可以从DevExpress本地化服务下载其他区域性的附属程序集。有关如何在GAC中手动注册附属程序集的更多信息,请参阅如何在GAC KB中注册程序集。

Localization Basics主题中所述,添加新的语言方面,然后重新启动Visual Studio以在Model Editor中显示本地化的值。

确保配置文件的appSettings部分中的Languages键包含您的应用程序支持的所有语言:

<configuration>
  <appSettings>
    <!-- ... -->
    <add key="Languages" value="en;de;fr" />
    <!-- ... -->
  </appSettings>
  <!-- ... -->
<configuration>

您可以处理XafApplication.CustomizeLanguagesList事件,以替代上述配置设置。

注意

您应该使用XAF应用程序部署附属程序集。有关更多信息,请参考相应的Deployment Tutorial的主题。

使用本地化服务进行本地化

本地化服务允许您下载和修改的附属程序集。将.NET平台设置为XAF,以仅转换特定于XAF的值。请按照本地化服务主题中的步骤来本地化XAF模块。请注意以下限制:

  • 此服务不允许修改默认语言文本值。
  • 您只能从业务类库转换XPO类的值。
  • 因为XAF应用程序模型具有树状结构,所以“名称”列以不同的格式显示属性名称,该格式包含该属性和属性名称的路径。例如,应用程序| 意见| Person_DetailView节点的Tooltip属性在此表中具有“ Application \ Views \ Person_DetailView \ Tooltip”名称。
  • 选中显示计算值以显示不需要翻译的项目:计算值,没有默认语言值的项目,业务类库中的域组件以及包含属性名称的值(例如ObjectCaptionFormat,DisplayFormat)。
  • 计算值将根据非计算值的转换自动转换。在搜索面板中输入“未计算”以仅显示未计算的值。

    LocalizationService_NonCalculated

  • 只有具有文本值的项目才被翻译;否则,您可以为目标语言添加一个值或将其留空。
  • 包含属性名称的值(ObjectCaptionFormatDisplayFormat等)不应进行本地化。ObjectFormatter处理这些值,并用相应的值替换属性的名称。

    注意

    如果收到FormatExceptionMemberNotFoundException,请确保没有用本地化值替换属性名称。

手动本地化

如果以上部分中描述的方法不适合您,请按照如何:使用XAF工具本地化XAF应用程序项中的说明进行操作。

在本地化DevExpress控件时,特定于文化的资源应导出到应用程序模型。

  • 调用应用程序设计器
  • 在“属性”窗口中,单击XafApplication.ResourcesExportedToModel属性的省略号按钮。在调用的对话框中,检查要本地化的资源。单击确定提交选择。

    ResourceLocalizers

  • 调用当前应用程序项目的“模型编辑器”,并本地化“本地化”节点的子节点。

    ResourceLocalizers_Model

您还可以使用模块的ModuleBase.ResourcesExportedToModel属性在模块设计器中添加可本地化的资源。无法从另一个模块或应用程序的可本地化资源列表中删除模块中添加的资源。例如,如果您在基本模块中添加了资源,则这些资源将在特定于平台的模块中使用,但是不能从特定于平台的模块中删除这些资源。

注意

添加到模型中的某些组件需要参考。例如,将XtraGrid控件添加到模型后,会出现以下错误:“类型'DevExpress.XtraGrid.Localization.GridResLocalizer'在未引用的程序集中定义。您应添加对程序集'DevExpress的引用。 XtraGrid.v 19.2 ... ”。添加对所需程序集的引用以解决此问题。

重用您的翻译

您可以使用以下方法之一在不同的XAF应用程序中重复使用翻译:

  • 使用为应用程序项目调用的模型编辑器本地化所有标准XAF模块标题,并共享包含翻译的XAFML文件;
  • 创建新的XAF模块,并使用针对其Model.DesignedDiffs.xafml文件调用的模型编辑器来本地化所有标准XAF模块的标题,如如何:使用XAF工具本地化XAF应用程序项中所述。现在,您可以使用模块或应用程序设计器在其他应用程序中重用此模块。
相关文章

转载保留此链接,注明出处