Общий подход заключается в извлечении всех ваших строк в свойства уровня класса и наличии отдельных файлов локали, которые переопределяют эти классы и их свойства строки.
Например, если бы у меня была такая панель:
MyApp.MyPanel = Ext.extend(Ext.Panel, {
myPanelContent: 'This is your text to be translated...',
initComponent: function(){
Ext.apply(this, {
html: this.myPanelContent
});
MyApp.MyPanel.superclass.initComponent.call(this)
}
});
И тогда у вас будет файл локали в соответствии с:
Ext.override(MyApp.MyPanel, {
myPanelContent: 'This is a translation of my text to another language'
});
Затем вы можете либо загрузить правильный файл локали при загрузке приложения (после загрузки самих представлений), либо динамически загрузить файлы локали во время выполнения (для этого потребуется логика для обновления каждого из представлений текущим значением) .
Надеюсь, это имеет смысл, дай мне крик, если это не так!
Stuart