Localization 如何本地化ActiveReport 7.0 XML PageReports rdlx

Localization 如何本地化ActiveReport 7.0 XML PageReports rdlx,localization,activereports,rdlx,Localization,Activereports,Rdlx,我们有大量使用ActiveReport(*.rdlx文件)创建的页面报告 我们从ASP.NET MVC web应用程序中使用它们 所有字幕和其他内容最初都是用英语制作的 现在,我们需要在那里添加多语言支持,所以,不知何故,我们需要将所有现有文本插入到资源文件中,这样我们就可以添加翻译 有没有一种方法可以快速完成此任务,而无需转到每个报告字段并手动将其提取到资源文件中? 文档中说,一旦您更改了语言属性,就会创建资源文件,但它似乎不适用于XML报告,或者应该有一个技巧 对于使用代码隐藏设计的报表,资

我们有大量使用ActiveReport(*.rdlx文件)创建的页面报告 我们从ASP.NET MVC web应用程序中使用它们

所有字幕和其他内容最初都是用英语制作的

现在,我们需要在那里添加多语言支持,所以,不知何故,我们需要将所有现有文本插入到资源文件中,这样我们就可以添加翻译

有没有一种方法可以快速完成此任务,而无需转到每个报告字段并手动将其提取到资源文件中? 文档中说,一旦您更改了语言属性,就会创建资源文件,但它似乎不适用于XML报告,或者应该有一个技巧


对于使用代码隐藏设计的报表,资源文件的创建方式与创建Windows窗体的方式基本相同。。。但是我没有找到如何对XML报表执行此操作。

您在文档和代码隐藏报表中引用的Localize属性是针对的(如果您查看生成的报表代码,您将看到设计器只是生成一组代码来本地化报表)

由于代码隐藏报告支持自定义代码,或者您可以向另一个DLL添加引用,因此您可以编写一个简单的函数来本地化标题。还有,您可以对ActiveReports“.rdlx文件使用完全相同的方法

在报告可本地化的初始配置期间,您必须手动将每个静态字符串更改为
code.LocalizedValue
调用,或者您可以编写一个简单的脚本来查找每个字符串,并用类似的调用替换它。结合使用xpath和正则表达式的简单脚本可以帮助您自动化报表的初始配置。要本地化报表中文本框值以外的内容(例如报表参数、标签/书签),需要替换文本框值以外的其他元素的文本,但概念相同


当然,我假设您正在本地化报表中的静态字符串。如果您想本地化数据库中的值,则必须以不同的方式进行(如果需要帮助,请进行注释,我将进行解释)。

您在文档和代码隐藏报告中提到的本地化属性用于(如果查看为报表生成的代码,您将看到设计器只是生成一组代码来本地化报表)

由于代码隐藏报告支持自定义代码,或者您可以向另一个DLL添加引用,因此您可以编写一个简单的函数来本地化标题。当然,您可以使用与ActiveReports“.rdlx文件完全相同的方法

在报表可本地化的初始配置过程中,您必须手动将每个静态字符串更改为
代码。LocalizedValue
调用,或者您可以编写一个简单的脚本来查找每个静态字符串,并用类似的调用替换它。结合xpath和regex的简单脚本可以帮助您自动化初始化报表的静态配置。要本地化报表中文本框值以外的内容(例如报表参数、标签/书签),您需要替换文本框值以外的其他元素的文本,但概念相同


当然,我假设您正在本地化报表中的静态字符串。如果您想本地化数据库中的值,则必须以不同的方式进行(如果需要帮助,请发表评论,我将进行解释)。

页面报表支持本地化;但它不支持资源文件

这一点在关于的页面上的一句话中立即提到

在页面报表中设置本地化值的操作与在节报表中的操作相同。只需更改报表的
语言
属性,然后设置新的文本框值。在报表运行时,将使用相应的文本框值


如上所述,这不会生成单独的.resx文件;相反,如果您检查生成的.rdlx,您会发现创建了一个自定义的
dd:LocalizationResources
元素,该元素指定了语言设置和报表元素的新值。

页面报表支持本地化;但是它不支持Resource电子文件

这一点在关于的页面上的一句话中立即提到

在页面报表中设置本地化值的操作与在节报表中的操作相同。只需更改报表的
语言
属性,然后设置新的文本框值。在报表运行时,将使用相应的文本框值


正如我前面提到的,这不会生成一个单独的.resx文件;相反,如果您检查生成的.rdlx,您会发现创建了一个自定义的
dd:LocalizationResources
元素,它指定了语言设置和报表元素的新值。

页面报表支持本地化版本;但它不使用resource fil工作流程非常基本,在报表上设置language属性,然后更改TextBox或Image值。如果查看底层XML,您将看到为每个控件添加自定义属性以存储本地化值。如果将报表的语言更改回您已经使用过的语言,那么您应该会看到文本boxs使用以前存储的本地化值进行更新。@JamesJohnson是否有相关文档?您应该添加一个答案,并将其作为您的答案,以便他可以将其标记为您的答案!它在页面上作为关于本地化的一句话提到。不过我会继续并将其作为答案发布。页面报告支持本地化版本,但它确实支持esn不使用资源文件。工作流程非常基本,请在报表上设置language属性,然后更改TextBox或Image值。如果查看基础XML,您将看到为每个控件添加自定义属性以存储本地化值。如果