Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: whirlwind от Март 22, 2011, 13:36



Название: Можно ли в результате перевода получить пустую строку?
Отправлено: whirlwind от Март 22, 2011, 13:36
Задача: есть некий код для перевода, типа
Код:
QString str = tr("@Some_tag@");
Можно ли сделать так, чтобы для какого-нибудь языка значение str становилось пустой строкой?

В общем, я уже практически понял, что нет, потому что в QCoreApplication::translate()
есть код вроде

Код:
1746     if (result.isEmpty()) {
1747 #ifdef QT_NO_TEXTCODEC
1748         Q_UNUSED(encoding)
1749 #else   
1750         if (encoding == UnicodeUTF8)
1751             result = QString::fromUtf8(sourceText);
1752         else if (QTextCodec::codecForTr() != 0)
1753             result = QTextCodec::codecForTr()->toUnicode(sourceText);
1754         else
1755 #endif
1756             result = QString::fromLatin1(sourceText);
1757     }

Но мал ли, вдруг я чего-то пропустил :(


Название: Re: Можно ли в результате перевода получить пустую строку?
Отправлено: Пантер от Март 22, 2011, 13:40
Именно пустая строка или чтобы не отображалась? Можно же пробел запихнуть.


Название: Re: Можно ли в результате перевода получить пустую строку?
Отправлено: whirlwind от Март 22, 2011, 16:48
ну, собственно, я сейчас туда пробелы и запихнул, но это некрасиво как-то


Название: Re: Можно ли в результате перевода получить пустую строку?
Отправлено: Пантер от Март 22, 2011, 16:56
Ну, отсутствующая строка в каком-либо переводе тоже не очень красиво. ;) Не нравится пробел, закинь туда какой-нибудь непечатаемый символ.