Название: Интернационализация через QSettings или XML Отправлено: onlik от Февраль 09, 2009, 11:52 Кто-то пытался сделать интернационализацию через QSettings или XML?
Проблема в том, что если делать через стандартные средства QT, то файлы можно будет редактировать только тем, у кого есть исходник перевода, я правильно понимаю? Название: Re: Интернационализация через QSettings или XML Отправлено: lit-uriy от Февраль 09, 2009, 11:57 если под исходником понимается ts-файл, то да + Лингвист или утилита lupdate.
Название: Re: Интернационализация через QSettings или XML Отправлено: onlik от Февраль 09, 2009, 15:31 Да, а в моем случае нужно, что бы файл был открыт на редактирование и пользователь без каких либо файлов, программ, мог сделать свой язык.
Вот как в Опере реализовано. У них файл языка похож очень на обычный ini. Может кто-то делал что-то подобное? Название: Re: Интернационализация через QSettings или XML Отправлено: Sergeich от Февраль 10, 2009, 01:33 В принципе, формат у троллей всегда был открытый и лингвиста они поставляли без проблем. Но вроде они счас готовят поддержку еще "более открытых форматов" типа XLIFF: http://doc.trolltech.com/main-snapshot/qt4-5-intro.html#qt-linguist-improvements
Название: Re: Интернационализация через QSettings или XML Отправлено: onlik от Февраль 10, 2009, 09:55 Ну как я понимаю, для перевода нужно создать бинарный файл qm который далеко не открытый (((
Название: Re: Интернационализация через QSettings или XML Отправлено: Rcus от Февраль 10, 2009, 10:12 В 4.5 появилась интересная функция:
Цитировать QString QTranslator::translate ( const char * context, const char * sourceText, const char * disambiguation = 0 ) const [virtual] Но к сожалению это не подходит для перевода чиселReturns the translation for the key (context, sourceText, disambiguation). If none is found, also tries (context, sourceText, ""). If that still fails, returns an empty string. If you need to programatically insert translations in to a QTranslator, this function can be reimplemented. This function was introduced in Qt 4.5. Интересный комментарий кстати в qtranslator.h: Цитировать // ### Qt 5: Merge (with "int n = -1") virtual QString translate(const char *context, const char *sourceText, const char *disambiguation = 0) const; Название: Re: Интернационализация через QSettings или XML Отправлено: SABROG от Февраль 18, 2009, 21:19 Ну как я понимаю, для перевода нужно создать бинарный файл qm который далеко не открытый ((( Вместе с программой можно распространять .ts файл из которого люди смогут сделать .qm файл. В самой программе файлы перевода можно впихнуть в ресурсы. Однако прежде чем их оттуда подгрузить можно проверять папочку, скажем translates/language и если там что-то есть, то просто создавать список, который помещать в настройки программы, где пользователь смог бы сам выбрать нужный файл перевода. Если имена файлов в ресурсах и папке совпадают, то использовать тот, что в папке. |