关于多语言文本

可以根据播放 FlashProfessional 内容的操作系统的语言,将 FLA 文件配置为显示不同语言的文本。

Flash 中的多语言文本

您可以用下列方式将多语言文本包含在文档中:

  • (Flash Professional CC 中已弃用)使用“字符串”面板,本地化人员可以在 FlashProfessional 内的中心位置编辑字符串,或者用他们的首选软件或翻译记忆库在外部的 XML 文件中编辑字符串。Flash 支持“字符串”面板和 XML 文件中的多行字符串。

  • 您可以选择在应用程序中嵌入哪些字符集,您的选择将限制所发布的 SWF 文件中字型的数量并减小文件大小。

  • 用西式键盘在舞台上用中文、日文和韩文创建文本。

  • 如果您的系统装有 Unicode 字体,则可以在文本字段中直接输入文本。 因为字体不是嵌入的,所以您的用户也必须有 Unicode 字体。

    将多语言文本包含在 FlashProfessional 文档中的其他不常用的方法有以下几种:

  • 您可以用 #include 动作。

  • 通过使用 loadVariablesgetURL 动作,或者 LoadVarsXML 对象,在运行时将外部文本或 XML 文件加载到 FlashProfessional 应用程序中。

  • 在动态或输入文本字段变量的字符串值中输入 Unicode 转义字符。

  • 在库中创建嵌入字体作为元件。

    要正确显示 Unicode 编码的文本,用户必须可以访问包含文本中所用字型(字符)的字体。

有关多语言内容的范例,请参阅 www.adobe.com/go/learn_fl_samples_cn 中的 Flash Samples(Flash 范例)页。 下载并解压缩 Samples zip 文件,然后浏览到 TextMultilingualContent 文件夹以访问该范例。

关于以 Unicode 编码的文本的字体

使用以 Unicode 编码的外部文件时,您的用户必须能访问包含文本文件中使用的所有字型的字体。 默认情况下,FlashProfessional 存储动态或输入文本文件中使用的字体名称。 在 SWF 文件播放期间,Flash Player 7(和更低版本)会在运行该播放器的操作系统中查找这些字体。

如果 SWF 文件中的文本含有指定的字体不支持的字型,Flash Player 7 和 Flash Player 8 都会尝试在用户的系统中寻找支持这些字型的字体。 播放器并不是总能找到适合的字体。 此功能的行为取决于用户系统及运行 Flash Player 的操作系统中的可用字体。

XML 字体嵌入表

当您选择要在 FLA 文件中嵌入的字体范围时,FlashProfessional 使用 UnicodeTable.xml 文件确定要嵌入的字符。UnicodeTable.xml 文件包含各种语言所需的字符范围,它驻留在计算机的用户配置文件夹中。该文件位于下列目录中:

  • Windows:<引导驱动器>Documents and Settings<用户>Local SettingsApplication DataAdobeFlash<版本><语言>ConfigurationFontEmbedding

  • Macintosh:<用户>/Library/Application Support/Adobe/Flash <版本>/<语言>/Configuration/FontEmbedding/

字体集组合的基础是 Unicode 协会定义的 Unicode 块。 为提供更加简单的工作流程,在您选择某种特定语言时,所有相关的字型范围均被嵌入,即使它们散布于不连续的组合中。

例如,如果您选择“韩文”,则会嵌入以下 Unicode 字符范围:

3131-318E Hangul 符号

3200-321C Hangul 特殊字符

3260-327B Hangul 特殊字符

327F-327F 韩文符号

AC00-D7A3 Hangul 符号

如果您选择“韩文 + CJK”,则会嵌入更大的字体集:

3131-318E Hangul 符号

3200-321C Hangul 特殊字符

3260-327B Hangul 特殊字符

327F-327F 韩文符号

4E00-9FA5 CJK 符号

AC00-D7A3 Hangul 符号

F900-FA2D CJK 符号

有关不同编写系统的特定 Unicode 范围的详细信息,请参阅 Unicode 5.2.0 规范。

下表提供了有关嵌入字体集的更多详细信息:

范围

描述

大写 [A-Z]

基本拉丁语大写字型,以及空格字符 0x0020。

小写 [a-z]

基本拉丁语小写字型,以及空格字符 0x0020。

数字 [0-9]

基本拉丁语数字字型

标点符号 [!@#%...]

基本拉丁语标点

基本拉丁语

Unicode 范围 0x0020 至 0x007E 内的基本拉丁语字型。

日语假名

平假名和片假名字型(包括半角格式)

日语汉字 ? 第 1 级

日语汉字字符

日语(全部)

日语假名和汉字(包括标点和特殊字符)

基本 Hangul

最常用的韩文字符、罗马字符、标点和特殊字符/符号

Hangul(全部)

11,720 个韩文字符(按 Hangul 音节排序)、罗马字符、标点和特殊字符/符号

繁体中文  第 1 级

中国台湾地区最常用的 5000 个繁体中文字符

繁体中文(全部)

中国台湾地区和香港特别行政区使用的所有繁体中文字符和标点

简体中文  第 1 级

中国大陆最常用的 6000 个简体中文字符和标点

中文(全部)

所有繁体和简体中文字符与标点

泰语

所有泰语字型

梵文

所有梵文字型

拉丁语 I

拉丁语 1 补充,范围 0x00A1 至 0x00FF(包括标点、上标和下标、货币符号和类似于字母类的符号)

拉丁语扩展 A

拉丁语扩展 A,范围 0x0100 至 0x01FF(包括标点、上标和下标、货币符号和类似于字母的符号)

拉丁语扩展 B

拉丁语扩展 B,范围 0x0180 至 0x024F(包括标点、上标和下标、货币符号和类似于字母的符号)

拉丁语扩展 Add'l

拉丁语扩展补充范围 0x1E00 至 0x1EFF(包括标点、上标和下标、货币符号和与字母类似的符号)

希腊语

希腊语和科普特语,外加希腊语扩展(包括标点、上标和下标、货币符号和与字母类似的符号)

西里尔字符

西里尔字符(包括标点、上标和下标、货币符号和与字母类似的符号)

亚美尼亚语

亚美尼亚语加连字符号

阿拉伯语

阿拉伯语加表达形式 A 与表达形式 B

希伯来语

希伯来语加表达形式(包括标点、上标和下标、货币符号和与字母类似的符号)

非 Unicode 外部文件

如果您加载到 Flash Player 7 应用程序的外部文本或 XML 文件没有采用 Unicode 编码,则当 Flash Player 试图以 Unicode 显示外部文件中的文本时,这些文本将无法正确显示。 若要通知 Flash Player 使用运行播放器的操作系统的传统代码页,请将以下代码作为第一行代码添加到加载数据的 FlashProfessional 应用程序的第一帧中:

system.useCodepage = true;

在文档中请只设置一次 system.useCodepage 属性;不要在文档中多次使用该属性,使播放器将某些外部文件解释为 Unicode 而将另一些文件解释为其他编码,原因是这样做会产生意外的结果。

如果将 system.useCodepage 属性设置为 true,运行播放器的操作系统的传统代码页必须包含外部文本文件中使用的字型,这样才能显示文本。 例如,如果您加载含有中文字符的外部文本文件,使用 CP1252 代码页的系统将不会显示这些字符,因为该代码页不包含中文字符。 为确保所有平台上的用户均可查看 FlashProfessional 应用程序使用的外部文本文件,应将所有外部文本文件按 Unicode 进行编码,并保留 system.useCodepage 属性设置为 false(默认值)。 这会使 Flash Player 将文本解释为 Unicode。 有关详细信息,请参阅《ActionScript 2.0 语言参考》中的“useCodepage(System.useCodepage 属性)”。

文本编码

计算机中的所有文本均被编码为一系列字节。 可以用很多种不同的编码格式(因此字节数也不同)来表示文本。 不同类型的操作系统使用不同类型的文本编码。 例如,西文 Windows 操作系统通常使用 CP1252 编码;西文 Macintosh 操作系统通常使用 MacRoman 编码;日语 Windows 和 Macintosh 系统通常使用 Unicode 编码。

Unicode 可以对世界各地使用的绝大多数语言和字符进行编码。 计算机使用的其他文本编码格式是 Unicode 格式的子集,专为世界上的特定地区定制。 这些格式中的部分格式在某些范围内是兼容的,而在另一些范围内则不兼容,因此使用正确的编码非常重要。

Unicode 有多种格式。 Flash Player 版本 6 和 7 及更高版本支持以下格式的文本或外部文件:8 位 Unicode 格式 UTF?8、16 位 Unicode 格式 UTF?16 BE (Big Endian) 和 UTF?16 LE (Little Endian)。

Unicode 和 Flash Player

Flash Player 6 及更高版本都支持 Unicode 文本编码。 Flash Player 6 或更高版本的用户,无论运行该播放器的操作系统使用何种语言,只要安装了正确的字体,均可查看多语言文本。

Flash Player 假定与 Flash Player 应用程序关联的所有外部文本文件均采用 Unicode 编码,除非您告知该播放器采用其他编码。

对于用 Flash MX 或更低版本创作的 Flash Player 5 或更低版本的 FlashProfessional 应用程序,Flash Player 6 和更低版本将使用运行该播放器的操作系统的传统代码页显示文本。

有关 Unicode 的背景信息,请访问 Unicode.org。

Flash Player 中的文本编码

默认情况下,Flash Player 7 和更高版本假定遇到的所有文本均采用 Unicode 编码。 如果文档加载外部文本或 XML 文件,这些文件中的文本应采用 UTF?8 编码。 可以使用“字符串”面板,或使用可将文件保存为 Unicode 格式的文本或 HTML 编辑器。

Flash Player 支持的 Unicode 编码格式

在 FlashProfessional 中读取文本数据时,Flash Player 通过检查文件中的前两个字节来检测字节顺序标记 (BOM),该标记是用于标识 Unicode 编码格式的标准格式规范。 如果未检测到 BOM,则将文本编码解释为 UTF?8(一种 8 位编码格式)。 建议您在应用程序中使用 UTF?8 编码。

如果 Flash Player 检测到以下 BOM 之一,则将按以下说明解释文本编码格式:

  • 如果文件的第一和第二个字节分别为 OxFE 和 OxFF,则将编码解释为 UTF?16 BE (Big Endian)。 这用于 Macintosh 操作系统。

  • 如果文件的第一和第二个字节分别为 OxFF 和 OxFE,则将编码解释为 UTF?16 LE (Little Endian)。 这用于 Windows 操作系统。

    大多数可以将文件保存为 UTF-16BE 或 LE 的文本编辑器会自动将 BOM 添加到文件。

    注:  如果将 system.useCodepage 属性设置为 true,则会使用运行该播放器的操作系统的传统代码页来解释文本,而不将文本解释为 Unicode。

外部 XML 文件中的编码

您不能通过更改编码标签更改 XML 文件的编码。 对于所有外部文件,Flash Player 使用相同的规则来识别外部 XML 文件的编码。 如果在文件开始处未遇到 BOM,则假定文件采用 UTF-8 编码。 如果遇到 BOM,则将文件解释为 UTF-16BE 或 LE。

返回页首

创建多语言文本

可以根据播放 FlashProfessional 内容的操作系统的语言,将 FLA 文件配置为显示不同语言的文本。

用字符串面板创作多语言文本的工作流程

“字符串”面板允许您创建和更新多语言内容。 您可以为使用多种语言的文本字段指定内容,并让 FlashProfessional 根据运行 Flash Player 的计算机的语言来自动确定应以特定语言显示的内容。

以下步骤描述了常规的工作流程:

1. 用一种语言创作 FLA 文件。

您希望用其他语言输入的任何文本必须位于动态或输入文本字段内。

2. 在“字符串面板设置”对话框中,选择要包括的语言,并将其中一种指定为默认语言。

这将向“字符串”面板添加一个语言列。 当您保存、测试或发布应用程序时,将为每种语言创建一个含有 XML 文件的文件夹。

3. 在字符串面板中,为每个文本字符串编制一个 ID。

4. 发布应用程序。

系统会为您选择的每种语言创建一个文件夹,每个语言文件夹内都有一个用于该语言的 XML 文件。

5. 将发布的 FLA 文件和 XML 文件夹及文件发送给您的翻译人员。

您可以用母语进行创作,然后让翻译人员进行翻译。 他们可以在 XML 文件或 FLA 文件中直接使用翻译软件。

6. 当您收到翻译人员返回的翻译文件后,将翻译好的 XML 文件重新导入到 FLA 文件中。

注:  在更新为 Flash Pro CS5 时,具有从“字符串”面板填充的已消除锯齿的传统动态文本字段的 Flash Pro CS4 文件可能无法正确显示。这是由于 Flash Pro CS5 中字体嵌入方式的变化所导致的。要解决此问题,请手动嵌入文本字段所使用的字体。有关说明,请参阅嵌入字体以实现一致的文本外观。

选择和删除要翻译的语言

多达 100 种的语言将在舞台和“字符串”面板中显示,以供翻译。 您选择的每种语言都会成为“字符串”面板中的一列。 若要在舞台上以所选的任意一种语言显示文本,则需更改舞台语言。 发布或测试文件时,会显示选定的语言。

选择语言时,您可以使用菜单中提供的任意一种语言,以及 Unicode 支持的其他任何语言。

选择语言

  1. 选择“窗口”>“其他面板”>“字符串”,然后单击“设置”。

  2. 通过执行以下操作之一添加一种语言:

    • 在“语言”框中,加亮显示您要选择的语言,然后单击“添加”。

    • 如果“语言”框中未显示该语言,请在“语言”框下的空白字段中以 xx 格式键入语言代码。(该语言代码是 ISO 639-1 中的语言代码。) 单击“添加”。


  3. 重复执行上一步骤,直到添加所有必需的语言。

  4. 从“默认运行时语言”菜单中选择默认语言。 如果系统没有您选择的活动语言之一,则在该系统上显示此语言。

  5. 若要在运行时从不同的 URL 加载语言的 XML 文件,请在“URL”文本字段中键入该 URL,然后单击“确定”。

    “字符串”面板中会为每种选定的语言显示一列。 各列按字母顺序显示。


  6. 保存 FLA 文件。 保存 FLA 文件时,将在 SWF 发布路径所指示的相同文件夹下为您所选择的每种语言各创建一个文件夹。 如果没有选择 SWF 发布路径,将在该 FLA 文件所在的文件夹下创建语言文件夹。 在各个语言文件夹内,将创建一个用于加载已翻译文本的 XML 文件。

删除语言

  1. 选择“窗口”>“其他面板”>“字符串”,然后单击“设置”。

  2. 在“活动语言”字段中,加亮显示一种语言,然后单击“删除”。

  3. 重复步骤 3,直到删除所有不需要的语言。

  4. 删除完语言后,单击“确定”。  

    “字符串”面板中不再显示所有已删除语言的列。


注:  从“字符串”面板删除语言时,语言 XML 文件并不从本地文件系统中删除。 这样您就可以用以前的 XML 文件将语言重新添加到“字符串”面板中,从而防止意外删除。 要完全删除语言,必须删除或替换语言 XML 文件。

将字符串添加到字符串面板

以下列方式将文本字符串指定到“字符串”面板:

  • 将字符串 ID 指定到动态或输入文本字段

  • 将字符串添加到“字符串”面板,而不将其指定给文本字段

  • 将现有的字符串 ID 指定到现有的动态或输入文本字段

将字符串 ID 指定到文本字段

  1. 选择“窗口”>“其他面板”>“字符串”。

  2. 选择“文本”工具。 在舞台上,创建一个输入或动态文本字段。

  3. 在选择该文本字段时,在“字符串”面板中的“ID”字段内输入唯一的 ID。

  4. 单击“设置”按钮,然后在“设置”对话框的列表中选择一种或多种语言。 选择的语言应包括希望用作默认语言的语言,以及发布工作所需的所有其他语言。

  5. 单击“应用”。

注:  如果在舞台中选择了一个静态文本字段,则“字符串”面板上“舞台文本选择”部分会显示消息:“静态文本不能有与之相关的 ID”。 如果选择了非文本项目或选择了多个项目,则显示消息:“当前选项不能有与之相关的 ID”。

将字符串 ID 添加到字符串面板,而不将其分配给文本字段

  1. 选择“窗口”>“其他面板”>“字符串”。

  2. 单击“设置”按钮,然后在“设置”对话框的列表中选择一种或多种语言。 选择的语言应包括希望用作默认语言的语言,以及发布工作所需的所有其他语言。

  3. 在“字符串”面板中键入新的字符串 ID 和新的字符串,然后单击“应用”。

将现有的 ID 分配给文本字段

  1. 选择“文本”工具。 在舞台上,创建一个输入或动态文本字段。

  2. 在“字符串”面板的“ID”部分键入现有 ID 的名称,然后单击“应用”。

注:  可以按 Shift+Enter,将 ID 应用于文本字段,或者如果焦点在 ID 字段上,则仅按 Enter。

关于编辑字符串面板中的字符串

在“字符串”面板中输入文本字符串后,您可以以下列方式之一编辑这些文本字符串:

  • 在“字符串”面板的单元格中直接编辑。

  • 在舞台中以选定为舞台语言的语言,使用查找和替换以及拼写检查等功能进行编辑。 使用这些功能对文本所做的更改会反映在舞台和“字符串”面板中。

  • 直接编辑 XML 文件。

更改舞台中显示的语言

  1. 选择“窗口”>“其他面板”>“字符串”。

  2. 在“舞台语言”菜单中,选择您希望用作舞台语言的语言。 这必须是您已添加为可用语言的语言。

    更改舞台语言后,您在舞台上键入的任何新文本都将显示为更改后的语言。 如果您先前在“字符串”面板中输入了该语言的文本字符串,则舞台中的任何文本都将以选定的语言显示。 如果未输入,则舞台上现有的文本字段是空的。


用西式键盘输入亚洲字符

使用 FlashProfessional,您可以用输入法编辑器 (IME) 和标准的西式键盘在舞台中输入亚洲字符。 FlashProfessional 支持二十四种以上的 IME。

例如,若要创建一个面向亚洲各地访问者的 Web 站点,您可以使用标准的西式 (QWERTY) 键盘并更改 IME,这样您就可以用中文、日文和韩文创建文本。

注:  此功能只影响舞台中的文本输入,而不会影响在“动作”面板中输入的文本。 该功能适用于所有受支持的 Windows 操作系统和 Mac OS X。

  1. 选择“编辑”>“首选参数”(Windows) 或“Flash”>“首选参数”(Macintosh),然后在“类别”列表中单击“文本”。

  2. 在“输入方法”下,选择一个选项,以便用西式键盘输入字符。 默认设置是中文和日文,对于西方语言,也应选择此选项。

发布多语言 FLA 文件

保存、发布或测试 FLA 文件时,将为您在“字符串”面板中选择的每种活动语言创建一个含有 XML 文件的文件夹。 XML 文件夹和文件的默认位置与 SWF 发布路径所指示的文件夹相同。 如果没有选择 SWF 发布路径,则会在 FLA 文件所在的文件夹中保存 XML 文件夹和文件。 例如,如果 mystuff 文件夹中有一个名为 Test 的文件,并且选择了英语 (en)、德语 (de) 和西班牙语 (es) 作为活动语言,并且没有选择 SWF 发布路径,则当您保存 FLA 文件时,会创建下列文件夹结构:

mystuffTest.fla 
mystuffdeTest_de.xml 
mystuffenTest_en.xml 
mystuffesTest_es.xml

在启动 SWF 文件时,您还需要在 Web 服务器中启动含有字符串译文的关联 XML 文件。 在下载完整个 XML 文件后,才会显示含有文本的第一帧。

在发布时手动替换字符串

在发布 FlashProfessional SWF 文件时,使用舞台语言手动替换字符串。 这种方法将用舞台语言替换具有关联字符串 ID 的输入文本和动态文本的所有实例。 在此情况下,只能在发布 SWF 文件时更新文本字符串;语言检测不是自动的,因此对于想要支持的每种语言,您都必须发布一个 SWF 文件。

  1. 选择“窗口”>“其他面板”>“字符串”,然后单击“设置”。

  2. 选中“在运行时自动替换字符串”复选框。

对默认语言使用自动语言检测

您可以将默认的运行时语言更改为任何一种已选作活动语言的语言。 当自动语言检测开启,并且您在使用该语言的系统上查看 SWF 文件时,在所有未设置为活动语言的系统上,都将使用默认语言。 例如,如果您将默认语言设置为英语,并且选择了 ja、en 和 fr 作为活动语言,则将系统语言设置为日语、英语或法语的用户将自动看到以所选语言显示的文本字符串。 但是,如果用户将其系统语言设置为瑞典语(这不是您选择的语言之一),那么,他们将自动看到以您所选的默认语言(本例中为英语)显示的文本字符串。

  1. 选择“窗口”>“其他面板”>“字符串”,然后单击“设置”。

  2. 在“默认语言”菜单中,选择默认语言。 这必须是您已添加为可用语言的语言。

  3. 若要启用自动语言检测,请选择“在运行时自动替换字符串”,然后单击“确定”。

FlashProfessional 生成存储语言 XML 文件路径的以下 ActionScript?。您可以将此代码用作自己语言检测脚本的开头。

import mx.lang.Locale; 
Locale.setFlaName("<flaFileName>"); 
Locale.setDefaultLang("langcode"); 
Locale.addXMLPath("langcode", "url/langcode/flaname_langcode.xml");

注:  “字符串”面板生成的 ActionScript 代码不使用 Locale.initialize 函数。 根据项目需要的自定义语言检测来决定如何调用此函数。

使用自定义语言检测

若要在指定的时间访问语言 XML 文件以控制文本替换,请创建自己的自定义组件或使用 ActionScript 代码。 例如,可以创建弹出菜单,让用户选择一种语言来查看内容。

有关编写 ActionScript 代码以创建自定义语言检测的信息,请参阅学习使用 Adobe Flash 中的 ActionScript 2.0 中的“关于字符串面板”。

  1. 选择“窗口”>“其他面板”>“字符串”,然后单击“设置”。

  2. 在“默认语言”菜单中,选择默认语言。  

    这必须是您已添加为可用语言的语言。


  3. 选中“通过 ActionScript 替换字符串”复选框,然后单击“确定”。

    FlashProfessional 生成下列存储语言 XML 文件路径的 ActionScript。 您可以将此代码用作自己语言检测脚本的开头。

    import mx.lang.Locale; 
    Locale.setFlaName("<flaFileName>"); 
    Locale.setDefaultLang("langcode"); 
    Locale.addXMLPath("langcode", "url/langcode/flaname_langcode.xml");


注:  “字符串”面板生成的 ActionScript 不使用 Locale.initialize 函数。 根据项目需要的自定义语言检测来决定如何调用此函数。

其他资源

  • 文章:设置本地化 Flash 项目的文本格式 (Adobe.com)

返回页首

多语言文本的 XML 文件格式

在 FlashProfessional 中使用多语言文本时,文本存储在 XML 文件中。

关于 XML 文件格式

导出的 XML 采用 UTF?8 格式,并符合 XML 本地化交换文件格式 (XLIFF) 1.0 标准。 它定义可扩展本地化交换格式的规范,使软件供应商能开发出可供本地化服务供应商接收并理解的单一交换格式。 有关 XLIFF 的详细信息,请参阅 www.oasis-open.org/committees/xliff/。

XLIFF 示例

如果在“字符串”面板中输入以下任何字符,则在写入到 XML 文件时,它们会被适当的实体引用所替换:

字符

替换为

&

&amp;

'

&apos;

"

&quot;

<

&lt;

>

&gt;

导出的 XML 文件示例

以下示例显示的是“字符串”面板生成的以源语言(在本例为英语)和另一种语言(在本例为法语)表示的 XML 文件:

英语原版示例:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE xliff PUBLIC "-//XLIFF//DTD XLIFF//EN"
"http://www.oasis-open.org/committees/xliff/documents/xliff.dtd" > 
<xliff version="1.0" xml:lang="en"> 
<file datatype="plaintext" original="MultiLingualContent.fla" source-language="EN"> 
        <header></header> 
        <body> 
            <trans-unit id="001" resname="IDS_GREETINGS"> 
                <source>welcome to our web site!</source> 
            </trans-unit> 
            <trans-unit id="002" resname="IDS_MAILING LIST"> 
                <source>Would you like to be on our mailing list?</source> 
            </trans-unit> 
            <trans-unit id="003" resname="IDS_SEE YOU"> 
                <source>see you soon!</source> 
            </trans-unit> 
            <trans-unit id="004" resname="IDS_TEST"> 
                <source></source> 
            </trans-unit> 
        </body> 
    </file> 
</xliff>

法语源版示例:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE xliff PUBLIC "-//XLIFF//DTD XLIFF//EN"
"http://www.oasis-open.org/committees/xliff/documents/xliff.dtd" > 
<xliff version="1.0" xml:lang="fr"> 
<file datatype="plaintext" original="MultiLingualContent.fla" source-language="EN"> 
        <header></header> 
        <body> 
            <trans-unit id="001" resname="IDS_GREETINGS"> 
                <source>Bienvenue sur notre site web!</source> 
            </trans-unit> 
            <trans-unit id="002" resname="IDS_MAILING LIST"> 
                <source>Voudriez-vous être sur notre liste de diffusion?</source> 
            </trans-unit> 
            <trans-unit id="003" resname="IDS_SEE YOU"> 
                <source>A bient?t!</source> 
            </trans-unit> 
            <trans-unit id="004" resname="IDS_TEST"> 
                <source></source> 
            </trans-unit> 
        </body> 
    </file> 
</xliff>

在字符串面板或 XML 文件中翻译文本

向翻译人员发送文件时,不仅要发送 FLA 文件,还要发送 XML 文件的文件夹和每种语言的 XML 文件。

翻译人员既可直接在“字符串”面板的语言列中工作,也可在每种语言的 XML 文件中工作,将 FLA 文件翻译成选定的语言。 如果直接在 XML 文件中进行翻译,您必须将 XML 文件导入到“字符串”面板,或将其保存在该语言的默认目录中。

在字符串面板中翻译文本

  1. 选择“窗口”>“其他面板”>“字符串”。

  2. 对于每种要翻译的语言,选择适当的语言列,然后键入将与每个字符串 ID 关联的该语言的译文。

  3. 要用您选定的语言显示舞台上的文本,请在“舞台语言”字段中选择该语言。

  4. 结束时,保存、发布或测试文件。  

    “字符串”面板中的信息会覆盖所有语言的所有 XML 文件。

    注:  若要保存 XML 文件中的译文,请将其保存在不同的文件夹中。


翻译 XML 文件中的文本

  1. 用 XML 文件编辑器或翻译软件打开所需语言的文件夹,然后打开该语言的 XML 文件。 XML 文件中被填入了用于各个文本字符串的 ID。

  2. 在 ID 旁边输入该语言的文本字符串。

  3. 如有必要,将翻译好的 XML 文件导入到“字符串”面板。

将 XML 文件导入到字符串面板

修改 XML 文件后,如果将其放入在“字符串”面板中为该语言指定的文件夹,FlashProfessional 文档(FLA 文件)打开时即会载入该 XML 文件。

无论导入的 XML 文件位于什么位置,在您保存、测试或发布 FLA 文件时,都将在指定的 SWF 文件发布位置为“字符串”面板中的每种语言各创建一个文件夹,并为每种语言各创建一个 XML 文件。 如果没有指出发布路径,则会在 FLA 文件所在的同一文件夹中保存文件夹和文件。 “字符串”面板生成的 XML 文件中总是会填充有“字符串”面板中的信息。

您也可以从其他位置将 XML 文件导入到“字符串”面板。 导入 XML 文件后,在您保存、测试或发布文件时,为该语言指定的文件夹内的 XML 文件会被覆盖。 除非已在“字符串”面板中将某种语言选为活动语言,否则您无法导入该语言的 XML 文件。 您也可以添加一种语言并导入含有该语言译文的 XML 文件。

  1. 选择“窗口”>“其他面板”>“字符串”,然后单击“导入 XML”。

  2. 在“选择语言”菜单中,选择您要导入的 XML 文件的语言,然后单击“确定”。

  3. 定位到要导入的 XML 文件的文件夹及该文件。  

    XML 信息被加载到“字符串”面板中的语言列,该语言是指您在步骤 3 中选定的语言。


注:  在步骤 2 和 3 中选择相同的语言。 否则,您可能会将法语 XML 文件导入到德语的列。

返回页首

多语言文本和 ActionScript

可以使用 ActionScript? 控制多语言文本和导入多语言 XML 文件。

用 ActionScript 加载外部文件

若要加载现有 XML 数据,或在 XML 文件中使用其他格式,请使用 loadVariables 操作、getURL 操作、LoadVars 对象或 XML 对象,将文本放置于外部文本或 XML 文件中,并在运行时将文件载入影片剪辑,从而创建包含多语言文本的文档。

将外部文件保存为 UTF?8(推荐格式)、UTF-16BE 或 UTF-16LE 格式时请使用支持这些格式的应用程序。 如果使用 UTF-16BE 或 UTF-16LE 格式,文件必须以 BOM 开始,以便 Flash Player 识别编码格式。 下表列出了用于识别编码的 BOM:

注:  大多数可以将文件保存为 UTF-16BE 或 LE 的文本编辑器会自动将 BOM 添加到文件。

UTF 格式

第一个字节

第二个字节

UTF?16BE

OxFE

OxFF

UTF?16LE

OxFF

OxFE

注:  如果外部文件为 XML 文件,您将无法用 XML 编码标签来更改文件编码。 请将文件保存为支持的 Unicode 格式。

  1. 在 FlashProfessional 创作应用程序中,创建一个动态或输入文本字段,以显示文档中的文本。

  2. 在选中文本字段时,在“属性”检查器中为文本字段指定实例名称。

  3. 在 Flash 之外,创建用于定义文本字段变量值的文本文件或 XML 文件。

  4. 将 XML 文件保存为 UTF?8(推荐格式)、UTF-16BE 或 UTF-16LE 格式。

  5. 用以下一个 ActionScript 过程引用外部文件,并将其加载到动态或输入文本字段:

    • loadVariables 动作加载外部文件。

    • getURL 动作从指定的 URL 加载外部文件。

    • LoadVars 对象(一个预定义的客户端-服务器对象)从指定的 URL 加载外部文本文件。

    • XML 对象(一个预定义的客户端-服务器对象)从指定的 URL 加载外部 XML 文件。 有关详细信息,请参阅 ActionScript 语言参考中的 XML。


用 #include 动作创建多语言文档

若要创建包含多种语言的文档,请使用 #include 动作。

使用支持 UTF-8 编码的应用程序(如 Dreamweaver),将文本文件保存为 UTF?8 格式。

若要使 FlashProfessional 创作工具将文件识别为 Unicode,请将以下标头作为文件的第一行:

//!-- UTF8

注:  在第二个短划线 (-) 之后加一个空格。

在默认情况下,FlashProfessional 创作应用程序假定,使用 #include 动作的外部文件以运行该创作工具的操作系统的传统代码页进行编码。 使用 //!-- UTF8 标头可告知创作工具:外部文件的编码是 UTF-8。

  1. 在 FlashProfessional 创作工具中,创建一个动态或输入文本字段,以显示文档中的文本。

  2. 在选中文本字段时,在“属性”检查器中为文本字段指定实例名称。

  3. 在 Flash 之外,创建用于定义文本字段变量值的文本文件。 在文件开头处添加 //!-- UTF8 标头。

  4. 将文本文件保存为 UTF?8 格式。

  5. 若要将外部文件包括在动态或输入文本字段中,请使用 #include 指令。 有关详细信息,请参阅 ActionScript 语言参考中的 #include 指令。

用文本变量创建多语言文档

若要将 Unicode 编码的内容包含在文本变量中,请使用语法 uXXXX,其中 XXXX 是 Unicode 字符的四位十六进制码点,或称转义字符。 FlashProfessional 创作工具通过 uFFFF 支持 Unicode 转义字符。 若要查找 Unicode 字符的码点,请参阅 Unicode.org 上的 Unicode 标准。

您只能在文本字段变量中使用 Unicode 转义字符。 您不能在外部文本或 XML 文件中包含 Unicode 转义字符;Flash Player 6 不能识别外部文件中的 Unicode 转义字符。

例如,若要设置一个含有日语、韩文、中文、英语、希腊语字符及欧元符号的动态文本字段(实例名称为 myTextVar),请输入以下内容:

myTextVar.text = "u304BuD55Cu6C49hellou03BBu20AC";

播放 SWF 文件时,以下字符显示在该文本字段中:

在文本字段中显示得到的字符的示例。

为了在创建含有多种语言的文本字段时获得最佳效果,请务必使用一种含有文本所需的所有字型的字体。

用 XMLConnector 组件连接到外部 XML 文件

您可以用第 2 版 XMLConnector 组件连接到外部 XML 文档,以便绑定到文档中的属性。 这样做的目的是用 HTTP GET 操作、POST 操作或这两种操作来读写 XML 文档。 这在其他组件与外部 XML 文档之间起到连接器的作用。 XMLConnector 使用 Flash 创作环境中的数据绑定功能或 ActionScript 代码与应用程序中的组件进行通信。 有关详细信息,请参阅 ActionScript 组件语言参考中的 XML Connector 组件。

更多帮助主题

使用 Text Layout Framework (TLF) 文本

在 Flash 中查找和替换

拼写检查

文本

嵌入字体以实现一致的文本外观

发布概述

,