Сорри за оффтоп, вот мне как раз понадобилось по быстрому оттранслитить, воспользовался вариантом gloomyBrain, как самым прекрасным)) может кому пригодится работающая версия:

Код AS3:
private static const _cyrrilic:Object = {а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",
к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",
х:"h",ц:"c",ч:"ch",ш:"sh",щ:"sch",ь:"'",ы:"i",ъ:"'",э:"e",ю:"yu",я:"ya"};
public static function getLatin(cyr:String):String //передаем строчку
{
var i:uint;
var translt:String="";
for(i=0;i<cyr.length;i++)
{
var letter:String = cyr.charAt(i).toLowerCase();
if (!letter in _cyrrilic)
throw new ArgumentError("Буква не зарегистрирована!");
translt = translt.concat(_cyrrilic[letter]);
}
return translt as String;
}
Добавлено через 3 часа 59 минут

Код AS3:
public static function getLatin(cyr:String):String
{
var i:uint;
var translt:String="";
for(i=0;i<cyr.length;i++)
{
var letter:String = cyr.charAt(i).toLowerCase();
var isWSpace:Boolean = CharacterUtil.isWhitespace(cyr.charCodeAt(i));
if(isWSpace)
{
translt = translt.concat("_");
}
else translt = translt.concat(_cyrrilic[letter]);
//если кириллические символы из структуры
if (!letter in _cyrrilic)
translt = translt.concat(letter);
}
return translt +".png" as String;
}
а вот для названий файлов