crossplatform.ru

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

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
> перевод меню ....
KLIF
  опции профиля:
сообщение 5.2.2011, 15:12
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 90
Регистрация: 19.5.2010
Пользователь №: 1739

Спасибо сказали: 0 раз(а)




Репутация:   0  


У меня есть мое контекстное меню , я написал его пункты на украинском языке а оно мне выдает только знаки вопросов ..
Что нужно сделать что бы отображалось на украинском ... и то же самое для контекстного меню по дефолту ... ?

хотя на английском все коректно все отображает , а стоит сменить на урк. или рус сразу заменяет на знаки вопроса или левые символы ...

я делал :
1) QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));

2) через QTranslator ;

3) QAction *edit = new QAction (tr("&??????????") , this ) ;

4) QAction *edit = new QAction (QObject::tr("&??????????") , this ) ;

Причем заменило все не англ. слова во всем коде ....
не могу ни чего сделать ....

Сообщение отредактировал KLIF - 5.2.2011, 16:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 5.2.2011, 16:30
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


интернационализация
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 5.2.2011, 16:30
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

Спасибо сказали: 26 раз(а)




Репутация:   4  


во всех прогах делаю так в конструкторе класса:
codec=QTextCodec::codecForName("Windows-1251");
QTextCodec::setCodecForTr(codec);
Всё русское в tr() будет русским, украинским не знаю
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 5.2.2011, 17:28
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Насчёт украинского не знаю тоже, но вот с русским на "ура" прокатило следующее:

1) все файлы проекта - в кодировке UTF-8
2) кодировка среды по умолчанию - UTF-8
3) строки оборачиваю в QString::fromUtf8("русский текст")

- наткнулся на этот вариант, пытаясь сделать универсально для винды и для линукса. Больше вроде не было проблем :)

Кстати, интересно, правильно ли я сделал, или оно "просто пока работает" ?

Сообщение отредактировал Алексей1153 - 5.2.2011, 19:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
KLIF
  опции профиля:
сообщение 5.2.2011, 18:58
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 90
Регистрация: 19.5.2010
Пользователь №: 1739

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Алексей1153 @ 5.2.2011, 17:28) *
Насчёт украинского не знаю тоже, но вот с русский на "ура" прокатило следующее:

1) все файлы проекта - в кодировке UTF-8
2) кодировка среды по умолчанию - UTF-8
3) строки оборачиваю в QString::fromUtf8("русский текст")

- наткнулся на этот вариант, пытаясь сделать универсально для винды и для линукса. Больше вроде не было проблем :)

Кстати, интересно, правильно ли я сделал, или оно "просто пока работает" ?

Все вопрос решет ... Прошу прощения за свою не терпимость и панику , просто сроки сдачи проекта поджимают ...
это был лаг среды , пере собрал , пере запустил Qt и все пошло ....

П.С
Всем спасибо !!!

Сообщение отредактировал KLIF - 5.2.2011, 18:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.2.2011, 19:06
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(abc @ 5.2.2011, 18:30) *
во всех прогах делаю так в конструкторе класса:
а зачем в конструкторе класса?
Это надо делать в функции main(), и желательно до создания окна.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 5.2.2011, 19:49
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

Спасибо сказали: 26 раз(а)




Репутация:   4  


Цитата(Litkevich Yuriy @ 5.2.2011, 19:06) *
а зачем в конструкторе класса?
Это надо делать в функции main(), и желательно до создания окна.

Так работает только для окна, создаваемого в main
Почему желательно до?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.2.2011, 19:52
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(abc @ 5.2.2011, 21:49) *
Почему желательно до?
потому-что в реальной программе могут быть и константы строковые, которые создаются до создания окна.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 5.2.2011, 20:05
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

Спасибо сказали: 26 раз(а)




Репутация:   4  


сделал в main до создания QApplication - заработало во всём приложении
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Obey-Kun
  опции профиля:
сообщение 6.2.2011, 4:51
Сообщение #10


Студент
*

Группа: Участник
Сообщений: 96
Регистрация: 24.3.2010
Пользователь №: 1556

Спасибо сказали: 3 раз(а)




Репутация:   0  


Цитата
Кстати, интересно, правильно ли я сделал, или оно "просто пока работает" ?

Всё правильно, юникод это хорошо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 13:32