Пожалуй опишу свое видение сабжа...
Обычно создаю один файл с несколькими локалями, с примерной структурой типа:

Код:
<string id="" en='' ru=''/>
или вроде того, чтобы id прописывать только раз. Это дает некоторые плюсы: загрузка только одного файла, сложно перепутать id, можно менять интерфейс в рантайме, удобно видеть все версии переводов в одном месте под одним id.
Для удобства я написал пару классов которые отвечают за локализацию:
1. Отвечает за глобальную поддержку локали (хранит переменную текущей локали, при смене генерирует событие смены языка, видим глобально)
2. Транслятор. Отвечает за смену интефейса и отдает нужную строку в зависимости от глобальной локали.
3. Event локали.
Самый важный компонент - это Транслятор, именно через него проходят все строки... Так же он хранит в себе все, что нужно поменять в интерфейсе в данный момент. Реализовано это примерно так: Чтобы вывести строку в textfield, я предварительно регистрирую этот textfield у транслятора и если в рантайме происходит смена языка и этот зарегистрированный textfield находится в списке отображения, его свойство text меняется на текст соответствующей локали. Впрочем, вместо texfield может быть любой объект DisplayObject с любым именем свойства. Так же можно запросить строку определенного id с нужной локалью.
Собственно такая система решила большинство проблем с локализацией.