Форум программистов, компьютерный форум, киберфорум
Наши страницы
Profi_GMan
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Qt Динамический перевод с русского на английский

Запись от Profi_GMan размещена 25.12.2017 в 12:31

Есть такая проблема в qt. Если реализовать динамический перевод в приложении, то получится, что русский перевод хранится в отдельном файле, а английский - оригинал, то есть например,
C++ (Qt)
1
QObject::tr("english text")
А проблема вот в чём: если такое приложение запустить на английском, а потом перевести на русский, всё получится, но если запустить приложение на русском и перевести на английский, то ничего не произойдёт.
Решить проблему просто: надо создать файл с переводом на английский(да, да, файл с переводом с английского на английский).
Для этого я сделал себе скрипт:

Bash
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
lupdate ./*.pro # Обновление переводов(вместо звёздочки, подставляем имя .про файла)
####### Сам перевод
sed '/source/! b;N;s/\(\([^>]*\)<\/.*\) type[^>]*>/\1>\2/' *.ts > en_temp.ts # вместо *.ts, ставим название английского перевода
cat en_temp.ts > *.ts # вместо *.ts, ставим название английского перевода
rm -f en_temp.ts
#######
lrelease ./yourdroid.pro # создание .qm(вместо звёздочки, подставляем имя .про файла)
echo ==== END ====
read -n 1
Я достаточно долго бился с этой проблемой, вот и решил написать об этом
Размещено в Без категории
Просмотров 267 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru