翻译 (Analysis Services)

仅 适用范围: 多维

在 Analysis Services 多维数据模型中,你可嵌入一个标题的多个翻译以基于 LCID 提供特定于区域设置的字符串。 可为数据库名称、多维数据集对象和数据库维度对象添加翻译。

定义翻译将在模型中创建元数据和翻译后的标题,但要在客户端应用程序中呈现本地化字符串,你必须设置对象上的 Language 属性,或传递 Locale Identifier 参数到连接字符串上(例如,通过设置 LocaleIdentifier=1036 以返回法语字符串)。 如果你希望支持同一对象不同语言中的多个同时翻译,请计划使用 Locale Identifier。 可以设置 Language 属性,但这也会影响处理和查询,可能导致意外结果。 设置 Locale Identifier 是较好的选择,因为其仅用于返回翻译的字符串。

翻译包括区域设置标识符 (LCID)、对象的翻译后的标题(例如维度或属性名称)以与以目标语言提供数据值的列的绑定(可选)。 你可有多个翻译,但对于任何给定的连接你仅可使用一个翻译。 理论上,对你可在模型中嵌入的翻译的数量没有限制,但每个翻译会增加测试的复杂性,且所有翻译必须共享相同的排序规则,因此当设计解决方案时,请记住这些自然约束。

提示提示

你可使用客户端应用程序(如 Excel、Management Studio 和 SQL Server Profiler)返回已翻译的字符串。 有关详细信息,请参阅全球化提示和最佳实践 (Analysis Services)

设置模型以支持翻译后的成员

多语言解决方案中使用的数据模型不仅仅需要已翻译的标签(字段名和描述)。 还需要提供以各种语言脚本呈现的数据值。 实现多语言解决方案需要你将各个属性绑定到返回数据的外部数据库中的列。

Adventure Works 示例数据库(多维以及关系数据仓库)演示翻译功能。 示例模型包括翻译后的标题和描述。 示例关系数据仓库包含在模型中提供本地化属性成员的已翻译值的列。

要查看模型可用的已翻译数据值,请执行以下操作:

  1. 在设计器中打开 Adventure Works 多维模型。

  2. 在解决方案资源管理器中,打开“数据源视图”,双击 Adventure Works DW<version>.dsv。

  3. 查找 dimDate、dimProduct、dimProductCategory 或 dimProductSubcateogry。 所有这些维度包含月、星期、产品名、类别名称等的已翻译成员的属性。

  4. 右键单击任何字段,然后选择“浏览数据”。 你会看到每个成员的英语、西班牙语和法语翻译。

不会对日期、时间和货币的格式进行翻译。 要根据客户端的区域设置动态提供特定于文化的格式,请使用货币换算向导和 FormatString 属性。 有关详细信息,请参阅货币换算 (Analysis Services)FormatString 元素 (ASSL)

Analysis Services 教程中的 第 9 课:定义透视和翻译 将向你介绍创建和测试翻译的步骤。

定义翻译

定义翻译将创建 Translation 对象作为 Analysis Services 数据库、维度或多维数据集对象的子对象。 使用 SQL Server Data Tools - Business Intelligence 打开解决方案并定义翻译。

将翻译添加到多维数据集

你可将翻译添加到多维数据集、度量值组、度量值、多维数据集维度、透视、KPI、操作、命名集和计算成员。

  1. 在解决方案资源管理器中,双击多维数据集名称打开多维数据集设计器。

  2. 单击**“翻译”**选项卡。 支持翻译的所有对象在此页中列出。

  3. 对每个对象,指定目标语言(通过内部解析为 LCID)、翻译后的标题和翻译后的描述。 语言列表在整个 Analysis Services 中是一致的,无论你在 Management Studio 中设置服务器语言,还是在单个属性上添加翻译覆盖。

    请记住你无法更改排序规则。 多维数据集基本上使用一个排序规则,即使通过翻译后的标题支持多个语言,也是如此(维度属性除外,下面将进行讨论)。 如果语言根据共享排序规则不能恰当排序,你将需要复制多维数据集以满足你的排序规则要求。

  4. 创建并部署项目。

  5. 使用客户端应用程序(如 Excel)连接到数据库,修改连接字符串以使用区域设置标识符。 有关详细信息,请参阅全球化提示和最佳实践 (Analysis Services)

将翻译添加到维度和属性

你可将翻译添加到数据库维度、属性、层次结构以及层次结构中的级别。

使用键盘或复制粘贴将翻译后的标题手动添加到模型,但对于维度属性成员,你可从外部数据库获得翻译后的值。 具体而言,特性的 CaptionColumn 属性可绑定到数据源视图中的列。

在属性级别,你可覆盖排序规则设置,例如你可能需要对特定的属性调整区分宽度或使用二进制排列。 在 Analysis Services 中,定义数据绑定时显示排序规则。 因为你正将维度属性翻译绑定到 DSV 中的其他源列,因此排序规则设置可用,以便你能指定源列使用的排序规则。 有关关系数据库中的列排序规则的详细信息,请参阅 设置或更改列排序规则

  1. 在解决方案资源管理器中,双击维度名称打开维度设计器。

  2. 单击**“翻译”**选项卡。 支持翻译的所有维度对象在此页中列出。

    对每个对象,指定目标语言(解析为 LCID)、翻译后的标题和翻译后的描述。 语言列表在整个 Analysis Services 中是一致的,无论你在 Management Studio 中设置服务器语言,还是在单个属性上添加翻译覆盖。

  3. 要将属性绑定到提供已翻译值的列,请执行以下操作:

    1. 还是在“维度设计器”|“翻译”中,添加新翻译。 选择语言。 页面上出现新的列接受已翻译值。

    2. 将光标放置在其中一个属性相邻的空单元格中。 属性不能是键,但可选择所有其他属性。 你应该会在其中看到带点的小按钮。 单击此按钮,打开“翻译属性数据对话框”。

    3. 输入标题的翻译。 这用作目标语言的数据标签,例如作为 PivotTable 字段列表的字段名称。

    4. 选择提供属性成员的已翻译值的源列。 仅表或查询中绑定到维度的预先存在的列可用。 如果列不存在,你需要修改数据源视图、维度和多维数据集以提取列。

    5. 若适用,选择排序规则和排序顺序。

  4. 创建并部署项目。

  5. 使用客户端应用程序(如 Excel)连接到数据库,修改连接字符串以使用区域设置标识符。 有关详细信息,请参阅全球化提示和最佳实践 (Analysis Services)

添加数据库名称的翻译

在数据库级别,你可添加数据库名称和描述的翻译。 已翻译数据库名称可能在指定语言的 LCID 的客户端连接上可见,但这具体取决于工具。 例如,在 Management Studio 中查看数据库将不会显示已翻译名称,即使你在连接上指定了区域设置标识符。 Management Studio 用于连接 Analysis Services 的 API 不会读取 Language 属性。

  1. 在解决方案资源管理器中,右键单击“项目名称”|“编辑数据库”打开数据库设计器。

  2. 对“翻译”中,指定目标语言(解析为 LCID)、翻译后的标题和翻译后的描述。 语言列表在整个 Analysis Services 中是一致的,无论你在 Management Studio 中设置服务器语言,还是在单个属性上添加翻译覆盖。

  3. 在数据库的“属性”页中,将 Language 设置为你为翻译指定的相同 LCID。 或者,如果默认设置没有用,则设置 Collation。

  4. 创建并部署数据库。

解析翻译

如果客户端应用程序请求区域设置标识符,Analysis Services 实例尝试将 Analysis Services 对象的数据和元数据解析为最匹配的 LCID。 如果客户端应用程序未指定默认语言,或指定了非特定区域设置标识符 (0) 或进程默认语言标识符 (1024),那么,Analysis Services 将使用实例的默认语言来返回 Analysis Services 对象的数据和元数据。

请参阅

概念

Analysis Services 多维的全球化方案

语言和排序规则 (Analysis Services)

设置或更改列排序规则

全球化提示和最佳实践 (Analysis Services)