因为上个项目处理游戏资源国际化时遇到的问题,研究了一周的JSFL,目前基本完成资源内文字的翻译解决方案。最开始打算利用FLASH原生的字典式翻译方案进行自定义,
但是结合策划使用资源的方式,得出一总更为简洁的处理办法。
利用JSFL导出FLA资源库中所有的文本内容,按文本的索引序列提供文本内容的KEY,通过对导出的文本内容进行翻译后,只需要根据索引序列,利用JSFL导入文本内容即可。
导入的方法:
function read_Translation()
{
if(FLfile.exists(URL))
{
var translationFile = FLfile.read(URL);
var translationArr = TranslationFile.split(CRLF);
if(translationArr.length > 0)
{
for(var i in translationArr)
{
var tem = translationArr[i].split("=");
var temcompare = tem[0].split("$");
if(temcompare.length > 0 && temcompare.length == 5)
{
lib[temcompare[0]][temcompare[1]].timeline.layers[temcompare[2]].frames[temcompare[3]].elements[temcompare[4]].setTextString(tem[1]);
}else if(temcompare.length > 0 && temcompare.length == 6)
{
lib[temcompare[0]][temcompare[1]].timeline.layers[temcompare[2]].frames[temcompare[3]].elements[temcompare[4]].parameters[temcompare[5]].value =tem[1];
}
}
}
}
}