2010-09-08 56 views
0

好的,我需要用阿拉伯语编写报告(ar-AS),此报告的信息位于英文数据库中,varchar列(不是nvarchar)与排序规则SQL_Latin1_General_CP1_CI_ASSQL Server 2005报告服务语言设置

Language Settings for Reports and Report Designer仅将日期,货币和数字更改为给定语言。我还需要报告上的静态文本(列标题)以及从数据库中检索的信息,以给定语言格式化(文本从右到左并且相应地映射字符)。

正在转换的文本只是名称和地址,不需要谷歌翻译。

是否有可能,我到目前为止已经空了。

我的问题与this类似,但我也希望英文文本被格式化为阿拉伯文。

回答

0

我发现的最接近的解决方案是不过using

SQL分析服务翻译 功能使得这一切的 过去的事情了。假设你的数据 通过棱镜移动,你可以使用 这个伟大的功能定位所有 你的文字,包括标题,数据, 等

此外,我不认为它可能阿拉伯语转换,中文,日文到英文,因为这些语言在其各自的语言中具有不同数量的字母表。因此,在日语中没有等同于字母“A”的字母。对于字典中不存在的单词(如名称和地址),不能进行翻译。

因此,解决方案是使用适当的归类将数据作为nvarchar(SQL Server)存储在数据库中,以便可以使用正确的字母表进行提取。

良好的游戏世界...

[编辑] - 固定的语法,COS阿道夫说了这么

+0

我认为您的意思是它们各自字母的不同数目的字母。 – 2010-09-09 14:30:32

0

你需要做的就是创建一个.NET程序集和参考,在您的应用程序。在程序集中,您可以使用资源文件(.resx)并创建一个函数来获取正确的字符串。然后将您的静态文本包装在您的报告表达式中,从您的程序集调用您的函数,根据您传入的语言环境获取正确的文本。

+0

是的,我已经完成了这项工作,它适用于静态文本,那些不像名称和地址那样的文本,那就是问题,除非我捕获两组数据,一个用于英文名称,另一个用于“其他语言”名称,那么我只能产生捕获的语言的数据 – Neil 2010-09-17 09:44:24

+0

嗯,这不是任何语言的名称?我不认为他们会被翻译,就像正确的商业名称一样,例如微软 – ScaleOvenStove 2010-09-17 17:45:45