English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Как добавить новые языки интерфейса в платформу MetaTrader 5

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

MetaTrader 5Примеры | 5 июля 2011, 11:35
3 915 27
MetaQuotes
MetaQuotes

Введение

Пользовательский интерфейс платформы 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

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

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

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

  • Меню. В разделе Menus собраны тексты всех меню (главного и контекстных), которые встречаются в программе. Структура меню имеет четкую иерархию: все меню и их пункты пронумерованы, а подменю представляются в виде подразделов. Знак амперсанда (&) - служебный символ, который ставится перед выбранной буквой в названии пункта меню. Нажатие клавиши с этой буквой в сочетании с Alt вызывает команду или раскрывает подменю, а сама буква при этом подчеркивается.

    Перевод меню

  • Диалоги. В разделе Dialogs перечислены все диалоговые окна или их составные части (вкладки). Текстовые строки в диалоговых окнах также пронумерованы.

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

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

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

По ходу перевода вы можете посмотреть, как будет выглядеть диалоговое окно или меню с помощью функции предварительного просмотра 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.


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

  • Во время перевода всегда ищите контекст.
  • Пользуйтесь поиском (команды "Find" и "Find next" в меню "Edit").
  • Поиск чувствителен к регистру. Кроме того, искомая фраза может содержать специальные символы &, \t, \n и т.п.
  • Помните о важном значении специальных символов.
  • Клавиша Tab позволяет переключать фокус с браузера проекта на рабочую область и обратно.
  • Для начала редактирования строки помимо двойного щелчка мышью можно использовать клавиши F2 или Enter.
  • Для удобной навигации в рабочей области используйте команды Next (Alt+Right) и Previous (Alt+Left).
  • Команда "Statistics", доступная в меню "Tools" и на панели инструментов, выводит детальную статистику по количеству переводимых слов для каждого языка.


Заключение

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

Последние комментарии | Перейти к обсуждению на форуме трейдеров (27)
Mykola Demko
Mykola Demko | 14 нояб. 2016 в 09:39
to Alexey Готово, но сообщения в личке почему то не уходят.
Vladimir Karputov
Vladimir Karputov | 14 нояб. 2016 в 09:42
Nikolay Demko:
to Alexey Готово, но сообщения в личке почему то не уходят.
А посмотрите на верх браузера - у Вас финансовые операция часов не заблокированы?
Mykola Demko
Mykola Demko | 14 нояб. 2016 в 09:53
Vladimir Karputov:
А посмотрите на верх браузера - у Вас финансовые операция часов не заблокированы?

Заблокированы. Там бонус какойто левый начислен, ну совершенно нереальный, в СД заявку уже отправил.

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

Vladimir Karputov
Vladimir Karputov | 14 нояб. 2016 в 09:57
Nikolay Demko:

Заблокированы. Там бонус какойто левый начислен, ну совершенно нереальный, в СД заявку уже отправил.

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

Там вверху сразу и ссылка есть - при клике сформируется автоматическое обращение в СервисДеск. Останется только отправить его.
Mykola Demko
Mykola Demko | 14 нояб. 2016 в 10:16
Vladimir Karputov:
Там вверху сразу и ссылка есть - при клике сформируется автоматическое обращение в СервисДеск. Останется только отправить его.
...в СД заявку уже отправил

Чтение новостей в формате RSS средствами MQL4 Чтение новостей в формате RSS средствами MQL4
В данной статье рассматривается пример чтения RSS-разметки средствами MQL4 с использованием функций анализа HTML-тегов. Мы попытаемся сделать заготовку, на базе которой можно будет сделать новостной индикатор или просто RSS-читалку на языке MQL4.
Создание собственных критериев оптимизации параметров эксперта Создание собственных критериев оптимизации параметров эксперта
Терминал МetaTrader 5 дает новые возможности для оптимизации параметров создаваемых экспертов. Кроме уже имеющихся в тестере критериев оптимизации, разработчики получили инструмент для создания собственных критериев. Это открывает поистине безграничные возможности в тестировании и оптимизации экспертов. В статье рассматриваются практические способы построения таких критериев - как простых, так и достаточно сложных.
Пользовательские графические элементы управления.  Часть 1. Создание простого элемента управления Пользовательские графические элементы управления. Часть 1. Создание простого элемента управления
В статье рассматриваются общие принципы разработки графических элементов управления, выполняется подготовка средств для быстрой и удобной работы с графическими объектами, приводится пример создания простого элемента управления для ввода текстовых или числовых данных и пример его использования.
Платежи и методы оплаты Платежи и методы оплаты
MQL5.community предлагает широкие возможности заработка трейдерам и разработчикам торговых приложений для терминала MetaTrader. В этой статье мы расскажем, как происходит оплата сервисов MQL5 и вывод заработанных денег, а также как обеспечивается безопасность операций.