在Flash中管理多种语言的解决方案是什么?

时间:2011-11-08 00:29:24

标签: actionscript-3 flash-cs5

希望有人可以推荐一个相对简单的解决方案来管理Flash中的多个语言

问题:

我有一个Flash图像caraousel,我需要管理多个翻译&文本标题的字体和可能的本地化图像例如。来自中国的销售人员在中国版网页上的图片

正在考虑的解决方案:

  • 在1个XML文件中有多个翻译,按国家/地区分类,使用 HTML动态文本字段并通过传递设置相关字体系列 a& country =“”嵌入代码中的FlashVar
  • 创建单独的SWF&每个翻译的XML文件,并使用 条件Javascript嵌入正确的版本

2 个答案:

答案 0 :(得分:1)

Imo最好的想法是为每个翻译创建XML文件。这样可以更好地优化您的项目,因为当用户想要查看swf的波兰语版本时,您不需要加载中文翻译。

对于字体嵌入 - 为每个翻译创建额外的SWF(fonts_pl.swf,fonts_de.swf,...等)。每个swf都有字体嵌入:

public class CustomFont extends MovieClip {
    [Embed(source='font_pl.ttf', fontName='MyFont', mimeType='application/x-font')]
    public static var FONT:Class;
}

然后将适当的SWF加载到主SWF。由于您在加载的SWF中嵌入了字体,因此您也可以在主SWF中使用它。

这里有一些教程:http://www.flashcomponents.net/tutorials/loading_fonts_in_actionscript_3/step_1_font_swf.html

答案 1 :(得分:1)

这是我使用的方法,所以我可以将整个Flash项目交给客户进行自己的翻译,并转到外部翻译公司:

  • 创建一个swf文件来保存您的字体,只嵌入所需的字体 当前语言,并使用ActionScript注册它们。
  • 为语言创建一个CSS文件(这是可选的,可能只是 如果您需要完全不同的语言,则需要 不同的格式)。
  • 为该语言创建XML文件。
  • 加载所有三个文件,然后将XML文件中的文本放在HTMLTextFields中。
  • 将样式表分配给每个文本字段。

对于简单的翻译,可以复制整个项目,可以更改字体swf和xml文本,并且无需重新导出任何其他内容即可查看所有更改。在我尝试的所有内容中,这就是翻译人员遇到的麻烦最少的问题。

对于更复杂的用户可能选择其语言的内容,您可以在XML中为每种语言添加指向字体swf和css文件的链接。您可以使用FlashVars或ExternalInterface来获取当前语言XML。

这是我放在一起的一个例子:http://binquisitive.wordpress.com/2011/08/13/totally-dynamic-text-formatting/

以下是其他人的一个例子: http://yourpalmark.com/2009/04/05/embedding-fonts-using-external-swf-files/