Как перевести меню программы

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

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

Далее представлена пошаговая инструкция локализации программы. С помощью инструкции достигается максимальная автоматизированность сборки и простота развертывания программы.

  1. Все строки программы, которые заключаются в двойные кавычки пишем на английском языке и помещаем в функцию tr(). Например, строка «Hello, world.» в программе должна выглядеть следующим образом: tr(«Hello, world.») .
  2. В каталоге проекта создаем папку Translations. В этой папке будут размещаться файлы переводов для различных языков.
  3. Предположим, что проект называется discover. Тогда в файл discover.pro помещаем следующие строки:

Как изменить язык системы в Windows 10?


TRANSLATIONS += Translations/discover_ru.ts system(lrelease «$$_PRO_FILE_») tr.commands = lupdate «$$_PRO_FILE_» lrelease «$$_PRO_FILE_» PRE_TARGETDEPS += tr QMAKE_EXTRA_TARGETS += tr

qt-qrc-translation

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

  • Запускаем сборку проекта.
    В папке Translations появятся два файла с одинаковыми именами, но разными расширениями: ts и qm. Файл *.ts — текстовый файл на языке XML, он нужен для редактирования перевода. Файл *.qm — объектный файл, создается на основе файла *.ts и используется программой для перевода строк, которые помещены в функцию tr().
    При сборке программы, с помощью утилиты lupdate, анализируется файл проекта *.pro, в котором перечислены все файлы исходного кода. Утилита найдет в файлах исходного кода строки, которые помещены в функцию tr(), и сгенерирует файл или файлы *.ts с этими строками. Если файл *.ts уже существует, то он будет обновлен с учетом уже содержащихся в нем строк и новых найденных.
    После обновления файлов *.ts утилита lrelease обрабатывает их и создает файлы *.qm.
  • Открываем файл *.ts в программе Qt Linguist, которая идет вместе с Qt. Эта программ позволяет редактировать перевод.
  • Редактируем перевод и сохраняем файл.
  • Собираем проект, чтобы получить новый файл *.qm.
  • В проекте создаем файл ресурсов Qt (*.qrc).
    Этот файл позволяет интегрировать другие файлы в исполняемый файл, чтобы не таскать файлы вместе с исполняемым и облегчить развертывание приложения.
  • В файле ресурсов добавляем префикс «/» (без кавычек).
  • К префиксу «/» добавляем файлы *.qm (в данном случае только файл discover_ru.qm). Получим следующую структуру ресурсов:
  • В функции main() разместим следующий код:
  • Как изменить язык интерфейса в Microsoft Office 2019


    QApplication a(argc, argv); QTranslator translator; translator.load(«:/Translations/discover_» + QLocale::system().name()); a.installTranslator( MainWindow w;

    Более подробно о локализации можно прочитать в официальной документации Qt.

    Источник: bravikov.wordpress.com

    Как изменить язык меню

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

    Читайте также:
    Программа unity системные требования

    Как изменить язык меню

    Статьи по теме:

    • Как изменить язык меню
    • Как поменять язык в Linux
    • Как изменить язык в компьютере

    Инструкция

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

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

    Запустите основное приложение и перейдите в пункт настроек главного меню. Если по умолчанию установлен английский язык, данный раздел чаще всего называется Settings. Найдите пункт Language и установите в качестве основного Russian или «Русский». Сохраните настройки и попробуйте перезапустить приложение. Теперь меню должно быть на русском языке.

    В папке с приложением найдите текстовый файл Settings, имеющий формат *.ini. Откройте его с помощью программы «Блокнот» и найдите пункт Language. Замените соответствующее ему значение на Russian или «Русский», после чего сохраните файл и попробуйте запустить само приложение.

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

    Полезный совет

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

    Совет полезен?
    Статьи по теме:

    • Как поменять язык по умолчанию
    • Как изменить язык на странице
    • Изменение языка на вашем компьютере

    Добавить комментарий к статье
    Похожие советы

    • Как сменить язык системы
    • Как изменить язык интерфейса
    • Как перейти на английский в компьютере
    • Как переключить язык на клавиатуре
    • Как поменять язык на компьютере
    • Как Windows переключить на русский язык
    • Как изменить язык по умолчанию windows
    • Как поменять язык интерфейса
    • Как перейти с английского на русский язык
    • Как изменить язык Windows на русский
    • Как переключить язык на ноутбуке
    • Как перейти на английский
    • Как установить английский язык в Windows
    • Как перейти с английского на русский
    • Как поменять язык в телефоне
    • Как русифицировать компьютер
    • Как установить русский язык на компьютер
    • Как русифицировать меню
    • Как изменить на телефоне язык
    • Как сделать Яндекс на русском языке
    • Как в программе изменить язык
    • Как на Windows 7 поставить русский язык
    • Как добавить язык в Windows
    • Как изменить язык интерфейса системы Windows 7

    Источник: www.kakprosto.ru

    Как перевести меню программы

    Думаю, вы в курсе, что моды для Skyrim Legendary Edition не работают в Skyrim Special Edition. Почему? Ответ прост.

    Skyrim Special Edition разрабатывался полностью под 64-битные системы, тогда как Legendary разрабатывался и под 32-битные, плюс в переиздании были изменены текстуры, модели и некоторые элементы геимплея, что может некорректно сказываться на модификациях Legendary Edition.

    Таким образом, не стоит устанавливать моды, сделанные для LE, на Special Edition. Вы же не хотите сломать игру, или запортачить сейвы?

    Читайте также:
    Программа продвижения туристского продукта пример

    А теперь вернемся к переводу. Выход Special Edition’а осложнил дело локализаторам, ведь нам придется заново переводить мод. Но не все так страшно, как выглядит на первый взгляд:

    Во-первых, если мы уже переводили мод для LE, то перед закрытием TES V: Translator мы сохранили переведенный esp в словари, а значит все переведется автоматом при открытии мода под Special Edition. Нам останется перевести только новый контент, если таковой имеется.

    Во-вторых, перевод под Special не отличается от того, что мы делали ранее для Legendary. Но есть один нюанс с кодировкой.

    Если русские символы в вашем переводе выдают крякозябры в игре, то необходимо проделать следующее:

    translate_se

    Когда перевели — ставим галочку на экспорте в UTF8. Параметры > Utf8 > Экспорт в Utf8 > Сохранить esp. Всё просто~

    Перевод MCM-меню для SkyUl

    Некоторые моды требуют плагина SkyUl, благодаря которому можно гибко настраивать определенные параметры для мода. Если автор включил подобное в свой мод, то данное меню вы обнаружите в главном меню:

    mcm menu skyrim mcm menu skyrim mcm menu skyrim

    Самый идеальный вариант, если автор поместил текст в обычный текстовый файл по данному пути:

    interface => translations

    Изначально в данной папке лежал только один исходный файл на английском языке с соответствующей припиской:

    mcm skyrim

    Создадим его копию и изменим окончание на _RUSSIAN (лучше капсом). Английский файл оставляем без изменений, работаем теперь только с русским и переводим его, там все нужные для перевода строки интуитивно понятны, просто не трогайте переменные слева.

    mcm_6 skyrim mcm_6 skyrim

    Оригинальное и переведенное меню

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

    Перевод скриптов

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

    Один из способов перевести скрипты — сделать это ручками из исходников. Откройте папку Scripts вашего мода и проверьте в ней наличие папки Source. Если таковой нет (а такое может быть), то данный способ не подойдет.

    В исходниках находятся те же самые скрипты мода, но в формате .psc, который можно открывать с помощью текстовых редакторов. Лучше всего использовать Notepad++

    Notepad правильно форматирует код и гораздо удобнее блокнота.

    Пришло время перевода. Проверьте все скрипты в папке Source на наличие текста в них, лучше просмотреть все скрипты. Как выглядят сообщения для перевода:

    скрипты скайрим перевод

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

    Парочка примеров с переведенными скриптами:

    скрипты скайрим переводскрипты скайрим перевод

    Важно сохранить параметры при переводе, которые заключены в переменные. Пример:

    скрипты скайрим перевод

    скрипты скайрим перевод

    Обратите внимание на строку («Stopped Witchery training: » + EXP)

    Заменить своим текстом нужно только часть Stopped Witchery training:

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

    Читайте также:
    Прекращена работа программы 1cv8c что делать

    Переводим все сообщения в скрипте и сохраняем его (ctrl + s).

    На скриншотах ниже можете посмотреть, где перевод не нужен:

    skyrim перевод скриптов

    skyrim перевод скриптов

    В первом случае текст в кавычках — это часть кода (текст заключен в кавычки, но находится в конструкции условия if)

    На втором скриншоте переводить просто нечего.

    Кстати, в самом начале скрипта обычно есть пояснение, за что он отвечает:

    скрипты скайрим

    — управляет фаст-тревелом по дорожным знакам.

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

    скрипт скайрим

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

    .pex — формат скриптов Скайрима (исходники имеют формат .psc)

    Для компиляции вначале перенесите все переведенные скрипты из папки Source нашего мода в папку Skyrim / Data / Scripts / Source

    Теперь нужно установить и запустить Skyrim Creation Kit. Из стима это делается крайне просто, в библиотеке настройте фильтр на инструменты, найдите SCK и нажмите установить.

    creation kit

    Skyrim Creation Kit

    При первом старте CK немного подвиснет, просто подождите.

    Откройте вкладку Gameplay сверху, выберете Papyrus Script Manager, найдите нужные скрипты из мода — правой кнопкой мыши — скомпилировать. И так с каждым.

    Вариант 2: Gameplay => Compile Papyrus Scripts. Отметьте разом все скрипты из мода и нажмите Compile.

    Если все прошло успешно, мы получим сообщение Success, если нет — Failed. Раскройте сообщение ниже для более детальной информации об ошибке.

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

    error_script

    Помогло следующее: распакуйте архив с исходниками скриптов Scripts.rar в папке Skyrim / Data, на вопрос о замене лучше нажмите нет.

    После этого все мои ошибки исчезли.

    Успешно скомпилированные скрипты попадают в папку Skyrim / Data / Scripts. Именно они нам и нужны.

    Учтите! Если английские скрипты уже были установлены в вашем сохранении, то они закэшировались. Нужно удалить мод, сделать чистый сейв и снова установить мод.

    Крякозябры в скриптах.

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

    Для этого нам понадобится программа Papyrus compiler, которая из .pex переводит в .pax и обратно. Скачайте архив и распакуйте в корневую папку вашего Skyrim.

    Возьмем все наши уже переведенные и скомпилированные скрипты из папки Skyrim / Data / Scripts и закинем их в папку Papyrus compiler.

    Запускаем decomp.bat и получаем все скрипты в формате .PAS рядом с нашим .PEX, только к скриптам добавится приписка название_скрипта.disassemble.PAS

    Стираем у всех приписку disassemble, получится такая картина:

    декомпилируем скрипты скайрим

    Примечание:

    скрипты мода начинаются с w_

    Далее открываем каждый скрипт .pas через notepad++ и преобразовываем в другую кодировку:

    верхнее меню — кодировки — преобразовать в ANSI — сохранить скрипт

    Теперь запускаем comp.bat и наши скрипты формата .pas автоматом перезапишутся в скрипты .pex

    Данные .pex скрипты возвращаем в папку Skyrim / Data / Scripts и проверяем в игре.

    Редактировал и обновлял статью: Edmin

    Похожие статьи

    img

    TES V: Translator — Локализация (перевод) модов на TES V: Skyrim

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

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