Telerik报告?下载30天免费试用

报表查看器本地化

在Windows报表查看器中,本地化资源存储在单独的文件中RESX资源文件,并根据当前UI区域性设置加载。为了理解本地化资源是如何加载的,可以将它们看作是按层次结构组织的。

层次结构中的资源类型

  • 在层次结构的顶部是默认UI区域性的回退资源,默认情况下是英语(“en”)。只有这些资源没有自己的文件。它们直接存储在组件中报表查看器

  • 在回退资源下面是用于任何中性区域性的资源。中性文化与语言有关,而与地区无关。例如,法语(“fr”)是一种中性文化。注意,回退资源也用于中性区域性,但是是一种特殊的区域性。

  • 下面是针对特定区域性的资源。一种特定的文化与一种语言和一个地区有关。例如,法裔加拿大人(“fr-CA”)是一种特定的文化。

报表查看器尝试加载任何本地化资源,如果没有找到它,它将沿着层次结构向上移动,直到找到包含所请求资源的资源文件。

存储资源的最佳方法是尽可能地概括它们。这意味着尽可能将本地化的字符串存储在中性区域性而不是特定区域性的资源文件中。例如,如果您拥有法语比利时文化(“fr-BE”)的资源,而紧邻上面的资源是英语的备用资源,那么当某人在为法语加拿大文化配置的系统上使用您的应用程序时,可能会出现问题。的报表查看器会找一个RESX文件名为“fr-CA”,它将找不到它,并将加载回退资源,这是英语,而不是加载法语资源。下图显示了这种不受欢迎的场景。

如果您遵循推荐的做法,将尽可能多的资源放在“fr”区域性的中立资源文件中,那么法裔加拿大用户将不会看到标记为“fr- be”区域性的资源,但他或她仍将看到法语字符串。下面的情况演示了这种首选场景。

本地化资源的命名约定

报表查看器搜索本地化的时使用以下命名约定RESX应用程序主文件夹中的资源文件:

  • 的名称RESX本地化资源文件应具有以下格式:(文化). resx Telerik.ReportViewer.WinForms.Resources,在那里(文化)指定本地化资源的区域性的名称。例如,要为法国-比利时文化提供本地化资源,对应的资源文件应该命名如下:Telerik.ReportViewer.WinForms.Resources.fr-BE.resx

  • 分别为法国中立文化提供本地化资源,对应的资源文件命名如下:Telerik.ReportViewer.WinForms.Resources.fr.resx

  • 控件的程序集中存储的语言中性区域性的默认资源可以重写报表查看器.在这种情况下,资源文件应该命名如下:Telerik.ReportViewer.WinForms.Resources.resx

如上所述,例如,如果当前UI文化设置为法国比利时,则报表查看器将搜索本地化RESX主应用程序文件夹中的资源文件,顺序如下:

  1. Telerik.ReportViewer.WinForms.Resources。fr-BE. resx

  2. Telerik.ReportViewer.WinForms.Resources。fr. resx

  3. Telerik.ReportViewer.WinForms.Resources.resx

上图说明了UI区域性设置为“fr-BE”的资源回退的一个简单视图。的报表查看器处理调查“fr-BE”的案件RESX资源文件,然后退回到中立的法语文化“fr”,如果仍然没有找到值,最终在默认程序集资源中查找值。

为报表查看器添加本地化资源

  1. 添加一个新的RESX资源文件到应用程序的主项目。命名新创建的RESX文件按照上面描述的命名约定。

  2. 属性检查器为资源文件指定以下属性:

    1. 建立行动:没有一个

    2. 复制到输出目录:如果更新则复制或者复制总是

  3. 打开RESX资源文件中的Visual Studio资源编辑器.输入转换所需的资源字符串报表查看器到想要的语言。

  4. 的每一个期望的翻译都重复步骤1到3报表查看器

  5. 编译并运行项目。在浏览Telerik报告,报表查看器应该根据当前的UI文化进行翻译。

分发带有本地化报表查看器的应用程序

以分发使用Telerik报告使用局部化的报表查看器,应该分发所有所需的本地化RESX资源文件,除了主要的应用程序集。为Windows窗体应用程序RESX文件应该放在安装应用程序的同一目录中。

另请参阅

在本文中
Baidu
map