<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Translation in Qt]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=16419</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=16419&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Translation in Qt».]]></description>
		<lastBuildDate>Fri, 16 Sep 2011 17:24:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Translation in Qt]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=212582#p212582</link>
			<description><![CDATA[<p>QLocale::system() проверяет LC_NUMERIC, так что надо, чтобы одно из двух было<br />установлено в ru_RU.&lt;..&gt;: или она или LANG.</p><p>Пётр.</p>]]></description>
			<author><![CDATA[null@example.com (Peter)]]></author>
			<pubDate>Fri, 16 Sep 2011 17:24:36 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=212582#p212582</guid>
		</item>
		<item>
			<title><![CDATA[Re: Translation in Qt]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=210776#p210776</link>
			<description><![CDATA[<p>Оказалось, что lrelease работает правильно, а русские буквы в qm-файле<br />действительно не видны. Переведённые строки в запущенном приложении<br />не появлялись опять же по моей вине, а также вследствие того, что Qt<br />неправильно распознаёт системную локаль, т.е. QLocale::system().name()<br />возвращает не ru_RU, а C. По-видимому, так было и раньше, т.к.<br />в предыдущих программах я для получения локали вызывал qgetenv(&quot;LANG&quot;),<br />а сейчас попытался это делать вызовом QLocale::system().name(), т.к. мне<br />показалось, что qgetenv() больше нет. Теперь, когда я получаю локаль<br />вызовом qgetenv(&quot;LANG&quot;), мой qm-файл с переводами загружается<br />и интерфейс программы делается русским.</p><p>Пётр.</p>]]></description>
			<author><![CDATA[null@example.com (Peter)]]></author>
			<pubDate>Sun, 11 Sep 2011 13:10:20 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=210776#p210776</guid>
		</item>
		<item>
			<title><![CDATA[Re: Translation in Qt]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=210597#p210597</link>
			<description><![CDATA[<p>Прошу прощения, но segmentation fault происходил по моей вине:<br />указателю на QDesktopWidget присваивалось значение, возвращаемое<br />функцией QApplication::dekstop(), а в конце подпрограммы, где это<br />делалось, для этого указателя вызывалась функция delete, как если<br />бы он получен оператором new. После удаления этого delete<br />segmentation fault прекратился.</p><p>Так что остался только вопрос насчёт перевода.</p><p>Пётр.</p>]]></description>
			<author><![CDATA[null@example.com (Peter)]]></author>
			<pubDate>Sat, 10 Sep 2011 14:10:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=210597#p210597</guid>
		</item>
		<item>
			<title><![CDATA[Translation in Qt]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=210483#p210483</link>
			<description><![CDATA[<p>Здравствуйте!</p><p>Последние три года я в Qt не работал, а до этого в версии 3.x для перевода<br />в локали KOI8-R пользовался утилитой msg2qm. Тогда же перевёл две программы<br />на Qt 4.1 и воспользовался Qt Linguist, но уже не помню, работал ли там русский<br />язык.<br />Сейчас локаль UTF-8 и&nbsp; никак не удаётся из file_ru_RU.ts получить qm-файл<br />с переводом, ни непосредственным вызовом lrelease, ни с помощью<br />Qt Linguist, т.е. и в нём не видно русского текста и при запуске программы<br />сообщения остаются на английском.</p><p>Debian Wheezy, Qt 4.7. Я посмотрел, как выглядят ts-файлы в пакете qt4-demos,<br />например, /usr/lib/qt4/examples/linguist/trollprint/trollprint_pt.ts. Если его обработать<br />lrelease, то в qm-файле появляются португальские слова, причём там в теге TS нет<br />указания языка. Если же заменить слова на русские, добавить в тег TS language=&quot;ru_RU&quot;,<br />так же, как это делает lupdate, то русские буквы не появляются.<br />Ещё lupdate в начало ts-файла помещает строку<br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />а в примере с португальским её нет, но и её добваление не помогает.</p><p>Как же правильно делать перевод и создавать qm-файлы?</p><br /><p>Правда, это не главное,&nbsp; в моём случае можно русский текст вставить прямо<br />в программу, но хотелось бы понять, в чём дело. Хуже оказалось другое -<br />программа не работает на моём компьютере. Причём она пока ничего не<br />делает, там, как обычно, из main вызывается mainwidget, в нём сначала<br />заводятся массивы, вызывается подпрограмма открытия COM-порта и она<br />работает - выдаёт сообщение, что порт открыт, потом рассчитываются<br />размеры окна, создаётся шрифт, одно меню, один объект QPixmap, а когда<br />система вызывает paintEvent, в нем создаётся объект QPainter для QPixmap<br />и рисование делается в нём - выбираются цвет фона и текста, шрифт,<br />стирается весь pixmap, в нём проводятся две диагонали и потом другой<br />QPainter выводит этот pixmap на экран. Больше ничего не делается.</p><p>В Mandriva это без проблем работало, там была установлена в /opt<br />Qt версии 4.6.3. У меня же главное окно только мелькает и сразу же<br />происходит Segmentation fault. Раза два или три окно всё же оставалось<br />на экране, при этом, как мне показалось, пункт меню Exit был затенён.<br />При выходе было множество сообщений насчёт какой-то библиотеки от Qt.</p><p>В gdb ещё не запускал, но, м.б., кто-нибудь уже сталкивался с подобным?</p><br /><p>Сейчас посмотрел в gdb: жалоба на<br />QDesktopWidget::screen(int)&nbsp; &nbsp; /usr/lib/libQtGui.so.4.<br />Я этот объект использую для получения размеров экрана и он их<br />возвращает правильно, так что буду искать причину.</p><br /><p>Пётр.</p>]]></description>
			<author><![CDATA[null@example.com (Peter)]]></author>
			<pubDate>Sat, 10 Sep 2011 08:38:17 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=210483#p210483</guid>
		</item>
	</channel>
</rss>
