Как перевести интерфейс программы на русский

Рано или поздно разработчик приложений на Qt встречается с необходимостью поддержки мультиязычности в своём приложении. Вот тогда на помощь и приходит класс QTranslator и специализированное приложение для создания переводов Qt Linguist . Объект класса QTranslator используется для загрузки переводов из специального файла с расширением .qm, который является шестнадцатеричным файлом переводов.

Данный файл компилируется из файла переводов в XML формате, который имеет расширение ts и прописывается в pro файле проекта. Данный файл содержит все строки приложения, которые были заключены в функцию tr(). Рекомендую задавать весь интерфейс приложения на английском языке, который будет языком по умолчанию, а переводы уже с нужным языком подгружать из файлов переводов. Если нужный файл перевода не будет найден, то автоматически будет загружен перевод на английском языке. Хотя Вы, конечно, можете применить и другой язык в качестве языка по умолчанию.

Пример загрузки перевода

Структура имени файла перевода играет важную роль в работе с QTranslator. Разберём минимальный пример.

Как перевести программу на русский язык


#include «mainwindow.h» #include #include #include int main(int argc, char *argv[]) < QApplication a(argc, argv); QTranslator qtLanguageTranslator; qtLanguageTranslator.load(QString(«QtLanguage_») + QString(«ru_RU»)); qApp->installTranslator( MainWindow w; w.show(); return a.exec(); >

В данном примере создаётся объект класса QTranslator, в который загружается интересующий нас файл с указанием языка. В данном случае полное название файла переводов следующее QtLanguage_ru.qm.

То есть дано общее для файла переводов название QtLanguage, а также префикс языка перевода _ru . Но вы уже заметили, что в качестве аргумента для метода load формируется строка QtLanguage_ru_RU. Это делается для того, чтобы определить нужный диалект языка, например американский (en_US) или британский (en_GB) английский. Но если в названии файла перевода нет указания диалекта, то будет выбран файл без уточнения диалекта, то есть QtLanguage_ru.qm. После того, как файл перевода загружен, его необходимо установить в приложение. В данном случае использован глобальный указатель на приложение qApp->installTranslator(setText(QApplication::translate(«MainWindow», «Select Language», 0)); label_2->setText(tr(«Hello»)); label_3->setText(trUtf8(«Hello world»));

  1. lupdate — программа для формирования файла перевода из поля TRANSLATIONS в pro файле, а также обновления информации о всех новых строках в приложении, требующих перевода.
  2. lrelease — программа для сборки итогового файла переводов, который будет использоваться в приложении.
  3. Qt Linguist — непосредственно сам пакет для создания переводов.

Первым шагом, который необходимо будет сделать, после того, как в приложении уже прописаны строки, требующие перевода, это добавить файл для перевода в pro файл проекта. Возможно, Вы также захотите указать информацию о кодировке, которая применяется для перевода.

TRANSLATIONS += QtLanguage_ru.ts CODECFORSRC = UTF-8

Далее необходимо воспользоваться утилитой lupdate для создания файла QtLanguage_ru.ts. В Qt Creator ищите здесь: Инструменты -> Внешние -> Linguist -> lupdate .

lupdate сообщит о результате поиска строк для перевода.

Запускается внешняя утилита «D:Qt5.6mingw49_32binlupdate.exe» D:/AndroidQT/QTProjects/QtLanguage/QtLanguage.pro Updating ‘QtLanguage_ru.ts’. Found 4 source text(s) (0 new and 4 already existing) «D:Qt5.6mingw49_32binlupdate.exe» завершилась

Далее открываем Qt Linguist производим перевод всех строк, помечая, какие из них переведены (Это чисто служебная информация для самого переводчика, чтобы не вспоминать, что было переведено, а что нет.)

После создания перевода сохраните файл и скомпилируйте шестнадцатеричный файл перевода, воспользовавшись утилитой lrelease. Её можно найти в Qt Creator там же, где и lupdate, либо запустить из Qt Linguist: File -> Release.

Для применения файла необходимо будет поместить его в каталог с исполняемым файлом приложения, а в коде прописать путь к этому файлу.

Динамический перевод приложения

Загрузка перевода приложения — это хорошо, но что если необходимо менять перевод динамически? Давайте рассмотрим небольшой пример, в котором имеется QComboBox с указанием двух языков: английского и русского, по изменению которого будет происходить смена перевода в приложении.

Структура проекта

  • QtLanguage.pro — профайл проекта;
  • main.cpp — файл проекта с функцией main
  • mainwindow.h — заголовочный файл главного окна приложения;
  • mainwindow.cpp — файл исходных кодов главного окна приложения;
  • mainwindow.ui — файл формы главного окна приложения.

mainwindow.ui

Я предпочитаю использовать графический дизайнер для создания графического интерфейса приложения, поскольку это ускоряет разработку, если не требуется чего-то сложного во внешнем виде приложения, поэтому создадим окно со следующим внешним видом.

В данном окне имеется:

С переводом которых мы и будем работать. Удобство графического дизайнера заключается также и в том, что он автоматически формирует метод retranslateUi(), который используется для изменения перевода всех подписей, которые используются в приложении, хотя можно и самим прописать вручную подобный метод, но лично я не хочу терять время на то, что отлично может быть создано автоматически. Например в данном уроке он выглядит следующим образом:

void retranslateUi(QMainWindow *MainWindow) < MainWindow->setWindowTitle(QApplication::translate(«MainWindow», «MainWindow», 0)); label_2->setText(QApplication::translate(«MainWindow», «The QTranslator class provides internationalization support for text output.An object of this class contains a set of translations from a source language to a target language. QTranslator provides functions to look up translations in a translation file. Translation files are created using Qt Linguist.», 0)); label->setText(QApplication::translate(«MainWindow», «Select Language», 0)); > // retranslateUi

Читайте также:
Запуск программы невозможен так как на компьютере отсутствует в3в12

QtLanguage.pro

Как говорилось выше, указываем имя файла перевода в профайле проекта.

#————————————————- # # Project created by QtCreator 2016-05-22T14:34:42 # #————————————————- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = QtLanguage TEMPLATE = app SOURCES += main.cpp mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui TRANSLATIONS = QtLanguage_ru.ts CODECFORSRC = UTF-8

main.cpp

А вот в этом файле ничего не будем менять.

#include «mainwindow.h» #include int main(int argc, char *argv[])

mainwindow.h

В заголовочном файле главного окна приложения необходимо объявить объекта класса QTranslator и переопределить метод changeEvent(QEvent *event) , в котором будет определяться событие смены языка приложения.

#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include namespace Ui < class MainWindow; >class MainWindow : public QMainWindow < Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); protected: // Метод получения событий в главном окне приложения // В нём будет производиться проверка события смены перевода приложения void changeEvent(QEvent * event) override; private: Ui::MainWindow *ui; QTranslator qtLanguageTranslator; // Выделяем перевод в отдельном поле, иначе ничего работать не будет >; #endif // MAINWINDOW_H

mainwindow.cpp

Логика работы приложения будет следующей: при смене пункта в комбобоксе будет меняться перевод приложения.

Примечание. Не забудьте положить файл перевода с расширением qm рядом с исполняемым файлом приложения и собрать необходимые dll , иначе не заработает.

#include «mainwindow.h» #include «ui_mainwindow.h» #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) < ui->setupUi(this); // Задаём два пункта с текстом локалей в комбобоксе ui->comboBox->addItems(QStringList() comboBox, static_cast(str)< qtLanguageTranslator.load(«QtLanguage_» + str, «.»); // Загружаем перевод qApp->installTranslator( // Устанавливаем перевод в приложение >); // Сделаем первоначальную инициализацию перевода для окна прилоежния qtLanguageTranslator.load(QString(«QtLanguage_») + QString(«ru_RU»)); qApp->installTranslator( > MainWindow::~MainWindow() < delete ui; >void MainWindow::changeEvent(QEvent *event) < // В случае получения события изменения языка приложения if (event->type() == QEvent::LanguageChange) < ui->retranslateUi(this); // переведём окно заново > >

Итог

В результате Вы получите приложение с поддержкой двух язык в своём графическом интерфейсе.

Видеоурок

Рекомендуем хостинг TIMEWEB

Рекомендуем хостинг TIMEWEB

Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Рекомендуемые статьи по этой тематике

  • Qt/C++ Урок 092. Создание переводов для внешних источников текста
  • QML — Урок 025. Динамический перевод мультиязычного приложения на QML
  • QML — Урок 020. Старт работы с Android Manifest в Qt Creator

По статье задано0 вопрос(ов)

Подписка на обсуждение 8
Подписка на раздел 336

Вам это нравится? Поделитесь в социальных сетях!

Источник: evileg.com

Перевод интерфейса программ на русский язык

Сейчас многие программы еще перед релизом русифицируют, но здесь все зависит от направленности и масштабности софта. Иногда приложение остается без локализации для жителей СНГ, а на просьбы пользователей добавить русский язык разработчики не обращают никакого внимания. Однако существуют различные варианты, позволяющие самому русифицировать софт или же использовать готовый плагин от энтузиастов, добавляющий соответствующий перевод. Сегодня мы хотим затронуть абсолютно все возможные методы собственноручной локализации, чтобы вы смогли выбрать оптимальный для себя.

Русифицируем программы собственными руками

Перед началом ознакомления со способами перевода интерфейса мы советуем обратить внимание на описание софта и наличие специальной настройки в общих параметрах. Вполне возможно, что вы просто не заметили опцию, которая отвечает за изменение языка кнопок и основных пунктов меню. Давайте на простом примере разберемся, как осуществляется такая конфигурация:

    Запустите необходимое программное обеспечение и перейдите в «Settings», «Options» или «Preferences».

Выберите здесь «Russian» или «Русский», если такой пункт присутствует.

Может потребоваться перезагрузка софта, чтобы все изменения вступили в силу.

Если же такое решение не получается выполнить из-за банального отсутствия параметра, остается только изучить представленные далее способы, чтобы отыскать рабочий. Мы начнем с самых простых и эффективных методов, переходя к сложным и индивидуальным, поэтому приступите к первой инструкции, чтобы более быстро и легко справиться с поставленной задачей.

Способ 1: Загрузка русской версии ПО

Первый метод до банальности прост, ведь от пользователя требуется только перейти на официальный сайт программного обеспечения и отыскать там необходимую версию. Сразу заметим, что сейчас не многие разработчики реализуют подобный выбор, часто интегрируя настройку языка интерфейса в сам софт. Однако все еще существуют продукты, где локализация выбирается перед скачиванием, а после инсталляции ее изменить нельзя. Стандартный выбор происходит так:

    Откройте официальный сайт загрузки ПО и переходите к скачиванию.

Выберите дополнительные параметры в зависимости от того, что предлагают разработчики.

Затем остается только начать скачивание исполняемого файла с Мастером инсталляции.

После запуска установщика все инструкции должны отображаться на русском, а при запуске софта язык интерфейса будет таким, какой вы выбрали изначально.

Не стоит забывать, что такая форма распространения ПО становится редкостью, поэтому если данный вариант не принес никакого результата, переходите к ознакомлению со следующими инструкциями.

Способ 2: Использование фирменных решений

Некоторые разработчики софта, что в большинстве случаев касается мелких и малоизвестных производителей, создают специальные решения, позволяющие добавлять собственные локализации, загружать отдельные файлы или редактировать существующие типы перевода интерфейса. Узнать о существовании подобных инструментов или отдельных файлов можно только на официальном сайте или форуме ПО. Сейчас мы возьмем за пример такой переводчик от Core Temp.

    На скриншоте ниже вы видите, что по умолчанию в Core Temp установлен английский язык интерфейса. Сейчас вам нужно закрыть используемое ПО, чтобы начать его конфигурацию.
Читайте также:
В какой программе делать выкройки

На официальном сайте распространяется приложение CoreTempTranslator, название которого уже говорит само за себя. После скачивания его можно сразу же запустить.

Сразу отметим, что внешний вид и реализация подобных переводчиков практически идентична всегда, поэтому вы можете отталкиваться от этой инструкции, чтобы настроить собственную локализацию. Для открытия одного из необходимых файлов нажмите на значок в виде папки.

По умолчанию должна отобразиться директория, где хранятся все конфигурационные файлы, отвечающие за описание кнопок и отдельных строк. Если же этого не произошло, перейдите в корень переводчика или ПО, где отыщите файл с расширением «lng» и откройте его.

В случае с Core Temp русская локализация уже присутствует в переводчике. Вы можете только проверить ее, корректировать какие-либо параметры и сразу переходить к сохранению. Если же вы открыли другой языковой пакет, воспользуйтесь любым сторонним переводчиком, например, от компании Google, чтобы перевести все кнопки.

Измененные названия следует вписывать в соответствующее поле.

По завершении нажмите на значок для сохранения.

Поместите файл в папку «Languages» или в корень приложения, если такая директория отсутствует.

Если же вам удалось сразу отыскать готовый файл локализации, но вы не можете его редактировать, просто замените или переместите его в директорию игры. Обычно информация о нужных для выполнения действиях указывается на сайте, откуда был получен объект.

Способ 3: Софт для перевода программ

Последний вариант, о котором мы поговорим в рамках сегодняшнего материала, самый сложный, поскольку все действия пользователю придется выполнять самостоятельно, используя встроенный в софт переводчик или специализированные онлайн-сервисы. Суть этого способа заключается в применении ПО, позволяющего управлять ресурсами других приложений. Сразу отметим, что такие инструменты распространяются платно и часто не работают с глобальными проектами от известных разработчиков. Сегодня в качестве примера разберем самую простую программу такого плана под названием LikeRusXP.

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

Для собственноручного перевода потребуется открыть исполняемый файл софта. Для этого щелкните по пиктограмме в виде папки.

Дождитесь открытия обозревателя, в котором отыщите программу для перевода.

Теперь слева отобразятся все программные составляющие, разделенные по группам. Используйте их, чтобы отыскать необходимые для перевода строки.

Справа вы увидите абсолютно все входящие текстовые элементы.

Дважды кликните по одной из строк, чтобы переименовать ее. Вы можете указывать абсолютно любое сочетание символов, учитывая понятность конечного вида интерфейса.

Дополнительно следует отметить функцию автоматического перевода, которая работает с сервисом Google. Нажатие всего на одну кнопку быстро переведет все составляющие открытого списка, но правильность при этом не гарантируется.

По окончании всех операций достаточно нажать на «Сохранить». Пробная версия не позволяет создавать пользовательские версии программ, это можно сделать только через полную сборку.

Существует и встроенный компонент «Мастер перевода», работающий и в пробной версии софта, но, к сожалению, он редко оказывается эффективным, поэтому мы и не стали разбирать его подробно, а лишь упомянули о его наличии.

Как видите, ничего сложного в составлении перевода программы нет. Если же вас не устраивает приведенный выше вариант или он плохо взаимодействует с имеющимся ПО, советуем изучить аналогичные решения по управлению ресурсами приложений. Детальнее о каждом из них читайте в отдельном материале, кликнув по ссылке ниже.

Сегодня вашему вниманию было представлено три доступных варианта русификации программ. Каждый из методов станет подходящим в определенных ситуациях, поскольку отталкиваться необходимо непосредственно от имеющегося софта. Простые инструкции помогут реализовать любой из этих способов без особого труда, получив приложение с понятным интерфейсом.

Программы, позволяющие русифицировать программы

Процесс разработки приложений — это очень дорогостоящий и трудоемкий процесс, и на разработку одной программы может уходить много сил, денег и времени. Именно поэтому очень часто программисты забывают локализовать программы на русский. Но благодаря программам, которые представлены в этом списке, русифицировать программы теперь не составляет труда.

Программами для перевода программ могут являться не специально созданными для этого инструментами, а самыми обычными «ворами ресурсов», если они умеют изменять ресурсы, а не только получать к ним допуск. В этом списке большинство программ не разрабатывалось для локализации, однако, с помощью них это сделать возможно.

eXeScope

Самый простой вариант русификатора. Конечно, он разрабатывался как простой способ получить доступ к ресурсам программ, но умелые руки пользователей нашли ему применение получше. Плюсов в нем, как таковых, нет, а вот минусы есть. Например, он не обновлялся более 10 лет, и его функционал уже давно не радует, так как eXeScope не может получить полный доступ ко всем ресурсам.

PE Explorer

Эта программа является одним из самых мощных способов получить доступ к ресурсам программы. В ней очень широкий функционал, и получает она «пропуск» практически во все части программы, что позволяет переводить, даже непереводимое. Интуитивно понятный интерфейс и возможность распознать вирус еще до запуска программ делает ее еще более привлекательной.

Resource Hacker

Resource Hacker слегка напоминает PE Explorer, хотя бы по функционалу. Благодаря этой программе тоже можно получить доступ ко многим ресурсам, тем самым перевести больше фраз и слов. Кроме того, в ней можно писать собственные скрипты, которые потом можно ставить прямиком в программу, как отдельный ресурс (возможно так вирусы и попадают в программы).

Читайте также:
Прекращена работа программы acorigins exe как бороться с этим

LikeRusXP

LikeRusXP разрабатывался специально для перевода программ, в отличии от трех предыдущих программ. В ней нет большого набора функций, как в Multilizer, но есть встроенные переводчики и даже собственные глоссарии, которые можно дополнять. Однако, эта программа для русификации программ бесплатна лишь некоторое время.

Multilizer

На данный момент, это самый мощная программа для перевода программ на русский язык. В отличие от Resource Hacker и подобных «воров ресурсов», она получает доступ как раз к тем, которые необходимо или возможно перевести. Имеет несколько импортеров, среди которых и «google-translate». Благодаря импортерам можно организовать автоперевод, либо занять переводом каждой строчки вручную.

Список этих программ был составлен специально для тех, кто никак не может выучить иностранный язык, ведь теперь у вас есть возможность самому перевести практически любую программу. Наиболее подходящим, но и самым дорогим инструментом для этого является Multilizer, хотя, кому-то может приглянуться и другая программа. А может вы пользуетесь программами для локализации, которых нет в этом списке?

Источник: obuchim24.ru

Русификаторы программ скачать бесплатно

Русификаторы

Зачастую разработчики небольших бесплатных программ не могут себе позволить такую роскошь как адаптация программы на различные языки, качественный перевод стоит денег, и под силу крупным компаниям или в том случае если у программы открытый исходный код, в таком случае силами сообщества можно переводить интерфейс программы на множество языков, в том числе и русский. Наш сайт рассчитан на русскоязычных пользователей, поэтому мы решили создать раздел с официальными и не только русификаторами к популярным компьютерным программам.

Вы выбрали:

Русификатор TeamSpeak 3 v.4.7

Русификатор TeamSpeak – Русификатор популярной программы для создания голосовой связи между пользователями, популярен среди геймеров благодаря широким возможностям и качеством звука, состоит из клиент.

Borderlands 2 — Русификатор (текст + звук) v.0.9.0

Русификатор текста для игры Borderlands 2. Этот русификатор переводит озвучку и текст в игре, скачать можно бесплатно и без регистрации

Postman — инструмент для тестирования API Postman является отличным выбором API тестирования для тех, кто не желает иметь дела с кодировками в.

Zello рация Zello — это небольшое и очень простое в использовании приложение для голосового общения через Интерн.

WinHex — редактор WinHex — это расширенный шестнадцатеричный редактор дисков для низкоуровневого анализа и модификации.

SoapUI SoapUI представляет собой консольный инструмент, предназначенный для тестирования API и позволяющий .

Huawei HiSuite (на русском) Huawei HiSuite — это программа для управления данными, хранящимися в памяти мобильного устройства Hu.

Imvu (Имву) IMVU (Instant Messaging Virtual Universe) — это интернет-сайт социальных развлечений, в которых люди.

Словоеб Словоеб – Это простой инструмент, с помощью которого можно без особых знаний продвигать свои собстве.

OoVoo OoVoo — приложение для обмена сообщениями и организации видеоконференций. Сервис работает на персона.

Opera Neon Opera Neon — бесплатный браузер нового поколения, позволяющий сделать интернет-серфинг и просмотр ви.

Microsoft Edge Microsoft Edge — единственный браузер с встроенными инструментами, помогающими сэкономить время и де.

Comodo Dragon Internet Browser Comodo Dragon — бесплатная и быстрая программа для безопасного серфинга в интернете, созданная на ба.

Guitar Pro Guitar Pro — это профессиональный инструмент для удобной работы с табулатурами и доступным обучением.

ASIO4ALL ASIO4ALL — универсальный драйвер для звуковых карт, основная и единственная задача которого — уменьш.

MobaXterm MobaXterm — это инструмент для удаленного управления компьютером, поддерживаются протоколы такие как.

IcoFX — создания иконок и курсоров IcoFX — бесплатное приложение для создания иконок и курсоров. Поддерживает режим регулирования прозр.

Verb Verb — новая социальная сеть, позволяющая публиковать информацию о каких-либо действиях пользователя.

Hangouts Hangouts — бесплатная служба от компании «Google», предназначенная для отправки мгновенных сообщений.

Psiphon Pro Psiphon Pro 3 — бесплатная программа, созданная для обхода запрещенных правительством интернет-ресур.

Slack Slack — android-версия частной сети для обмена информацией, которая предназначена для общения между .

PicsArt Photo Studio PicsArt Photo Studio — универсальный графический и видеоредактор для Android с богатыми функциональн.

GTA San Andreas GTA San Andreas (Grand Theft Auto: San Andreas) — игра для Android, разработанная в жанре «криминаль.

Snapchat Snapchat — популярный мессенджер для общения посредством переписки в чате или видеосвязи. Он разрабо.

Яндекс Мессенджер Яндекс.Мессенджер — простое и удобное приложение для переписки в чатах или осуществления видеозвонко.

Oddmar Oddmar — игра для платформы «Android», в которой геймер может окунуться в мир скандинавской мифологи.

Mi Remote Mi Remote — программа для android-устройств, позволяющая дистанционно управлять различными бытовыми .

Telegram X Telegram X — android-приложение для общения между пользователями посредством переписки и выполнения .

Авито Авито — бесплатное android-приложение, позволяющее просматривать и мониторить новые объявления на он.

Aliexpress Shopping Apps Aliexpress Shopping Apps (Алиэкспресс) — приложение для доступа к базе данных товаров известного инт.

Keepsafe — Секретная Папка Keepsafe — Android-приложение, позволяющее скрывать папки с фотографиями и другой личной информацией.

Imgur — фотохостинг Imgur — бесплатное и простое в использовании онлайн-хранилище изображений пользователя, написанное д.

Источник: softportal.pro

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru