crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Динамическая смена языков
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ufna Дата 6.9.2009, 17:02
  вообще, прочитка ассистанса дала следующий результат: если виджет уже создан, то язык в нем можно менять только ловля ChangeEvent, а в нем уже задавать все tr(). Тогда установка транслятора будет менять язык "на лету".

Может быть, есть еще какие варианты, но я нашел только такой. Его же и реализовал. Главное, не забывать, что два одинаковых tr() косо обрабатываются лингвистом.

Т.е.:
//--------------------------------------------------------------------------------------
void cUPicsConfigPageUI::changeEvent(QEvent *event)
{
    if (event->type() == QEvent::LanguageChange) {
        setName(tr("User Interface"));

        pLFileSizeToThumbName->setText(tr("Maximum size of files to be thumbnailed to show preview"));
        pLFileSizeToThumb->setText(tr("File size"));

       ...
    }
    else
        QWidget::changeEvent(event);
}
_Vitaliy_ Дата 5.9.2009, 11:10
 
Цитата(BRE @ 5.9.2009, 9:54) *
Цитата(_Vitaliy_ @ 5.9.2009, 9:56) *
Вопрос: там в примере только одна форма, будет ли это работать когда в приложении несколько форм?

А что мешает проверить самому? ;)


согласен, надо пробовать :blink:
SABROG Дата 5.9.2009, 10:10
  А еще почитать про этот метод

void QCoreApplication::installTranslator ( QTranslator * translationFile ) [static]
BRE Дата 5.9.2009, 9:54
 
Цитата(_Vitaliy_ @ 5.9.2009, 9:56) *
Вопрос: там в примере только одна форма, будет ли это работать когда в приложении несколько форм?

А что мешает проверить самому? ;)
_Vitaliy_ Дата 5.9.2009, 8:56
 
Цитата(SABROG @ 4.9.2009, 23:43) *
А этот метод не устроит http://doc.trolltech.com/latest/tools-i18n.html ?


Посмотрел, спасибо SABROG, вроде оно, как говорится незнание закона не освобождает от ответственности... :-)
Вопрос: там в примере только одна форма, будет ли это работать когда в приложении несколько форм?
SABROG Дата 4.9.2009, 23:43
  А этот метод не устроит http://doc.trolltech.com/latest/tools-i18n.html ?
AD Дата 4.9.2009, 23:22
  Можно сделать так. В файле написать нужные названия на английском и русском языках. Распарсить файл, поместить в список, а затем, с помощью setText для каждого элемента поставить нужное название.
_Vitaliy_ Дата 4.9.2009, 21:23
  Доброго времени суток всем.
Есть вопрос. Как организовать динамическую смену языков в приложении. Т.е. имеем приложение с несколькими формами, в главном окне имеем меню, в нем есть пункт "Настройка", при выборе которого открывается окно настроек, в нем при помощи комбобокса выбираем "рус." или "англ." жмен баттон "ок" и происходит смена языка. Если у кого есть что-то наподобие или более-менее добротные наброски поделитесь плиз с новичком в этом вопросе.
Единственное есть просьба к Шлее и Бланшет не отправлять...
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 16.4.2024, 21:20