Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: kefir500 от Январь 24, 2014, 12:28



Название: Изменение исходной строки
Отправлено: kefir500 от Январь 24, 2014, 12:28
Доброго времени суток. Заинтересовал следующий вопрос.
Предположим, в коде имеется английская строка, помеченная для перевода.
Код:
QString str(tr("Helloworld"));
Строка переведена на кучу языков (при помощи того же Qt Linguist, к примеру).
Но потом возникает необходимость изменить исходную строку:
Код:
QString str(tr("Hello, world!!!"));
При этом нужно оставить нетронутыми (но по-прежнему привязанными к данной строке) переводы.
Если ли возможность сделать это, не выполняя муторных действий по удалению старой строки, переносу перевода в новую и т. д.?


Название: Re: Изменение исходной строки
Отправлено: kambala от Январь 24, 2014, 13:03
лингвист довольно умный и выдаст в «похожих строках» твою устаревшую строку (если конечно ты не использовал ключ -no-obsolete у lupdate), так что просто вставишь ее и сделаешь необходимые изменения.


Название: Re: Изменение исходной строки
Отправлено: Alex Custov от Январь 24, 2014, 16:51
я в таких случаях вручную меняю source во всех ts файлах. Стандартного метода нет.


Название: Re: Изменение исходной строки
Отправлено: Figaro от Январь 25, 2014, 07:41
а перед релизом в файле ts удаляйте строки с obsolete


Название: Re: Изменение исходной строки
Отправлено: kefir500 от Январь 25, 2014, 11:34
Спасибо за ценные советы, господа!