Как добавить новые языки интерфейса в платформу MetaTrader 5

MetaQuotes | 5 июля, 2011

Введение

Пользовательский интерфейс платформы MetaTrader 5 переведен на большинство самых распространенных языков. Не беда, если вашего родного языка не окажется в списке поддерживаемых. В MetaTrader 5 изначально была заложена полная поддержка Unicode, а для перевода пользовательского интерфейса была создана специальная утилита MultiLanguage Pack. С ее помощью любой пользователь по своему желанию может перевести интерфейс клиентских компонентов платформы MetaTrader 5 на любой язык мира.

В этой статье мы детально рассмотрим весь процесс добавления новых языков интерфейса. Вы узнаете как загрузить, установить и начать использовать утилиту MetaTrader 5 MultiLanguage Pack, какие при этом существуют особенности, а затем увидите конечный результат.


MultiLanguage Pack - загрузка, установка и настройка

Последнюю версию MetaTrader 5 MultiLanguage Pack можно в любой момент загрузить по ссылке https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5mlpsetup.exe с сайта компании MetaQuotes Software Corp. Процедура установки стандартная и не вызывает вопросы. По умолчанию утилита устанавливается в папку "C:\Program Files\MetaTrader 5 MultiLanguage Pack\", в меню "Пуск" добавляются необходимые ярлыки.

Ярлыки в меню Пуск

В установку помимо самой утилиты входит справочное руководство в формате CHM, а также два проекта перевода: клиентского терминала MetaTrader 5 (файл \MetaTrader 5 MultiLanguage Pack\Projects\terminal5.prl) и редактора MetaEditor 5 (файл \MetaTrader 5 MultiLanguage Pack\Projects\metaeditor5.prl).

Проект перевода включает в себя языки, на которых доступен пользовательский интерфейс продукта платформы MetaTrader 5. Проект перевода клиентского терминала открывается по умолчанию при первом запуске MultiLanguage Pack и выглядит следующим образом.

MultiLanguage Pack после первого запуска

Файлы проектов перевода имеют расширение PRL и по умолчанию ассоциированы с приложением MetaTrader 5 MultiLanguage Pack.

Проекты перевода MetaTrader 5 постоянно обновляются в соответствии с новейшими изменениями в пользовательском интерфейсе продуктов. Если по какой-либо причине вы прервете начатый ранее перевод, вы всегда сможете получить последние версии проектов перевода, загрузив обновленный дистрибутив MultiLanguage Pack.


MultiLanguage Pack - пользовательский интерфейс

Пользовательский интерфейс MultiLanguage Pack прост и интуитивно понятен. Имеется главное меню (1), панель инструментов (2), браузер проекта (3) и рабочая область (4).

Пользовательский интерфейс MultiLanguage Pack

Главное меню предоставляет основные команды управления проектом, некоторые из которых продублированы на панели инструментов. Кроме того, определенные команды вызываются по месту из соответствующих контекстных меню.

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

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

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

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


MultiLanguage Pack - принцип работы

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

Принцип работы MultiLanguage Pack

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

2. Перевод. Этот этап является основным и самым длительным. Языком по умолчанию в платформе MetaTrader 5 является английский, и все переводы выполняются с него. Последовательно строка за строкой осуществляется перевод, после чего необходимо скомпилировать проект.

3. Компиляция проекта. После компиляции для каждого языка проекта создается целевой файл с расширением LNG, именуемый следующим образом: <модуль>_<язык>.lng. Для клиентского терминала языковой файл перевода на русский язык будет называться "terminal_russian.lng".

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

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


Пример перевода

Рассмотрим последовательно все этапы перевода пользовательского интерфейса на примере MetaEditor. Для этого нам понадобится проект перевода MetaEditor 5, который устанавливается вместе с MultiLanguage Pack. В качестве примера мы будем добавлять переводы для разных элементов интерфейса на немецкий язык.

Проект перевода редактора MetaEditor

1. Добавление языка

Добавьте новый язык в проект. Для этого из меню "Edit" выберите "Add New Language" или нажмите кнопку Add New Language на панели инструментов или нажмите Ctrl+A.

В окне "Add new language" выберите "German" и нажмите OK. В Браузере проекта создается новая языковая ветка.

Немецкий язык в проекте перевода MetaEditor

2. Перевод

Рассмотрим процесс перевода различных элементов пользовательского интерфейса.

Меню

Разверните категорию "Menus", затем меню [128]. Добавьте перевод первого пункта меню.

Перевод меню

Знак амперсанда & перед N назначает соответствующую клавишу быстрого вызова в сочетании с Alt. Здесь же сразу после названия команды следует escape-символ табуляции \t, а затем сочетание горячих клавиш Ctrl+N. В интерфейсе MetaEditor 5 перевод будет выглядеть следующим образом.

Специальные символы при переводе меню

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

При переводе следует обязательно сохранять положение табуляции (\t) и текста горячей клавиши. Однако положение знака & не обязательно должно совпадать с оригинальным текстом - главное, чтобы в пределах одного меню клавиши быстрого вызова были уникальны для каждой команды.

Если переводимый текст в точности повторяется в других ресурсах, то MultiLanguage Pack предложит подставить перевод в соответствующие места. В нашем случае, программа предложит перевести одноименный пункт в меню [133].

Перевод повторяющихся предложений

Сообщение в статусной строке и кнопка на панели

В группе "Strings" перейдите к строке 57600 и добавьте для нее перевод. Этот ресурс содержит текст, который отображается в статусной строке при наведении курсора мыши на команду "New", которую мы уже перевели. После описания команды следует уже знакомое сочетание горячих клавиш. Затем идет escape-символ перевода строки \n и текст кнопки на панели инструментов.

Перевод текста в статусной строке и кнопки на панели инструментов

В интерфейсе MetaEditor 5 перевод будет выглядеть так.

Текст подсказки к команде в статусной строке Название кнопки на панели инструментов

Диалоговое окно

В группе "Dialogs" откройте диалоговое окно "[349] Introduction page". Последовательно переведите все строки этого диалогового окна.

Перевод диалогового окна

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

Предварительный просмотр диалогового окна

А вот так это окно будет выглядеть уже в самой программе.

Переведенное окно в пользовательском интерфейсе MetaEditor

Текст некоторых стандартных кнопок ("Назад", "Далее", "Отмена" и т.п.) напрямую зависит от языка операционной системы и недоступен для перевода средствами MultiLanguage Pack.

В процессе перевода вам могут встретиться строки содержащие специальные символы, например %s, %d, \n, \t и т.п. Будьте внимательны, т.к. эти символы имеют особое значение при отображении строки текста в пользовательском интерфейсе. Например, %s - заменяется по контексту строкой текста, %d - целым числом, \n - означает перенос строки и т.д. Полный перечень непереводимых слов вы можете найти в разделе Appendix B справочного руководства.

3. Компиляция

Скомпилируйте проект. Для этого нажмите кнопку Compile, либо из меню "Tools" выберите "Compile Project", либо нажмите клавишу F9.

Успешная компиляция

В одной папке с файлом проекта (в нашем примере "C:\Program Files\MetaTrader 5 MultiLanguage Pack\Projects") создаются целевые LNG файлы для всех языков проекта. При каждой последующей компиляции существующие файлы обновляются.

Скомпилированные файлы переводов

4. Проверка перевода.

В стандартной поставке терминала MetaTrader 5 переводы пользовательского интерфейса располагаются внутри исполняемого файла. Для клиентского терминала это файл terminal.exe, для редактора исходных кодов - файл metaeditor.exe. Для тестирования промежуточных вариантов перевода предусмотрен механизм запуска исполняемых файлов со специально предназначенным для этого ключом /language:

имя_исполняемого_файла.exe /language:<путь к файлу перевода>

Например, если наш терминал установлен в папке "C:\Program Files\MetaTrader 5\", то для того чтобы протестировать наш перевод MetaEditor на немецкий, необходимо выполнить следующую команду:

C:\Program Files\MetaTrader 5\metaeditor.exe "/language:C:\Program Files\MetaTrader 5 MultiLanguage Pack\Projects\metaeditor_German.lng"

В результате выполнения команды открывается редактор MetaEditor 5 с установленным переводом на немецкий язык. Поскольку в пути к файлу с переводом содержатся пробелы, то весь ключ /language заключается в кавычки. Если пробелов в пути нет, то кавычки ставить необязательно. Например, если скопировать файл перевода в папку установки терминала, то команда запуска сокращается до:

metaeditor.exe /language:metaeditor_German.lng

К сожалению, в MultiLanguage Pack нет встроенных средств проверки орфографии. Тем не менее, вы можете экспортировать ваш перевод и проверить его на орфографические ошибки в любом текстовом процессоре, например Microsoft Word. Для этого в браузере проекта щелкните правой кнопкой мыши на языковом подпроекте и выберите "Save as text".

Экспорт перевода в текстовый файл

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

5. Публикация перевода.

Проверьте свой перевод. Убедитесь, что все элементы интерфейса отображаются корректно и без ошибок.

Нажмите кнопку Send на панели инструментов или из меню "Tools" выберите "Send to MetaQuotes ServiceDesk".

Введите свое имя, адрес электронной почты, по которому мы сможем с вами связаться, после чего нажмите кнопку "Send".

Отправка перевода в MetaQuotes Software Corp.

Ваш перевод будет отправлен в качестве входящей заявки в нашу систему групповой работы TeamWox. После проверки нашими специалистами, перевод будет включен в стандартную поставку продукта платформы MetaTrader 5.

Пожалуйста, пользуйтесь штатной функцией публикации перевода и НЕ присылайте скомпилированные LNG файлы с переводами по электронной почте.


Словарь

Для повышения скорости и согласованности переводов в MultiLanguage Pack имеется возможность ведения словаря. Словарь позволяет быстро переводить повторяющиеся фразы. Если вы уверены, что переводили выбранную строку ранее, можете попытаться быстро подставить перевод, вызвав в контекстном меню команду "Translate from Dictionary" (или нажав Ctrl+D).

Перевод по словарю

Если для строки имеется перевод, он подставится автоматически.

Подстановка перевода

Переводы заносятся в словарь для всех языков при компиляции проекта.

Также словарь позволяет переводить тексты пользовательского интерфейса в пакетном режиме. Для этого необходимо нажать кнопку Dictionary на панели инструментов или выбрать одноименную команду из меню "Edit".

Содержимое словаря

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


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


Заключение

Мы надеемся, что эта статья вдохновит вас на перевод пользовательского интерфейса MetaTrader 5 на ваш родной язык. Компания MetaQuotes Software Corp. заинтересована в как можно большем количестве поддерживаемых языков в своих продуктах и предоставляет для этого все необходимое.