Посмотрите эту запись, это может помочь: Sencha Touch i18n основы
И мой ответ, может быть, это поможет вам.
Для своих собственных строк (не говоря о собственном сенсорном компоненте) вы можете сделать что-то вроде этого.
1) В ваш index.html в разделе head загрузите файл LocaleManager.js (независимо от имени) перед
<script id="microloader" type="text/javascript" src="sdk/microloader/development.js"></script>
В вашем localeManager, в зависимости от языка вашего браузера, загрузите файл ресурсов, соответствующий вашему языку (myStrings-fr.js | myStrings-en.js)
Вы можете сделать что-то вроде этого, чтобы получить язык в браузере:
window.navigator.language || window.navigator.userLanguage || window.navigator.browserLanguage || window.navigator.systemLanguage
2) Создайте файлы ресурсов с переведенной строкой
Это должно выглядеть так для английской версии (myStrings-en.js):
var myStrings = {
MyPackage1: {
myString1: 'Seach...'
}};
Это должно выглядеть так для французской версии (myStrings-fr.js), например:
var myStrings = {
MyPackage1: {
myString1: 'Recherchez...'
}};
3) В вашем сенсорном коде sencha, например, для значения заполнителя поля поиска
xtype: 'searchfield',
id: 'searchToolbarItem',
placeHolder: myStrings.MyPackage1.myString1
Надеюсь, это поможет.
Другим решением может быть изменение процесса сборки вашего сенсорного приложения sencha и создание локализованных версий вашего приложения при его создании. Таким образом, будет одна версия для каждого языка. Затем, в зависимости от языка браузера, вы загружаете правильную версию своего приложения при загрузке приложения в браузере.