LINUX.ORG.RU

qt 6 и локализация

 , , ,


0

2

Вопрос банальный. Присвоил русский язык к программе, всё бы хорошо, да первое окно не присваивает русский язык. Остальные прекрасно стали русскими. Встречались ли вы с подобныи?



Последнее исправление: nicholas_ru (всего исправлений: 1)
Ответ на: комментарий от u-235

Файлы с перевода и есть и это окно. И перезапускал и перекомперировал! Файл с переводами полный. Утилиты перевода показывают, что всё переводы всё окончены.

nicholas_ru
() автор топика
Последнее исправление: nicholas_ru (всего исправлений: 1)
Ответ на: комментарий от hobbit

«присвоил русский язык к программе»?

Попробую себя в роли переводчика на технический. Есть два варианта.

  1. Чел сказал LANG=ru программа и она запустилась, но язык не везде нужный.
  2. Чел перевёл программу, даже пересобрал её, но переводы не подхватились. Программа недокомпилирована, и по-прежнему использует старый файл ресурсов с переводами.

Тут опять же, два варианта.

  1. GNU gettext
  2. Qt.

Короче, нужны технические подробности, а не верещание бабки из подъезда.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 2)

А ты файлы перевода где загружаешь?

Надо в main что-то типа такого делать

QApplication a(argc, argv);

    QTranslator translator;
    const QStringList uiLanguages = QLocale::system().uiLanguages();
    for (const QString &locale : uiLanguages) {
        const QString baseName = "AppName_" + QLocale(locale).name();
        if (translator.load(":/i18n/" + baseName)) {
            a.installTranslator(&translator);
            break;
        }
    }
    MainWindow w;

ЗЫЖ Что происходит? Пробовал и code=C++ и code=CPP и code=C - не подсвечивает.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 6)