I’m currently looking at ways to externalise all text in my flash applications into external xml files (for translation purposes). Basically, all copy in these applications has to be in two languages (English and Welsh).
At the moment, I’m just looking at a structure whereby the name of each TextField instance is the same as a field in the XML, which then has two fields (<english> & <welsh>) inside with the relevant text. The XML will be loaded in and then looped through applying the text to the textfield of the same name in the current language. There will obviously need to be some error-handling with regards making sure the names match up but this can only be done at run-time.
This seems a bit, I dunno.. lose? Is there are way of creating a better structure or system that’ll be a bit less reliant on accurately naming various things so they match?
Are you using FlexBuilder (or FlashBuilder)? If so you might also consider a technique that is generally used for localization, namely resource bundles. For more information, see, for example, here:
http://dispatchevent.org/roger/introduction-to-flex-resource-bundles
Farther down in the comments on that page are described some alternatives for an AS3-only project.
— David