Скачать MetaTrader 5

Локализация

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Ihor Herasko
9296
Ihor Herasko  

Интересно узнать, кто и каким образом решает проблемы локализации своих программ. 

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

Такой подход видится не очень удобным, т. к., во-первых, не всякий пользователь догадается переключиться на закладку "Входные параметры" для выбора нужного ему языка. Решить можно, если программе будет доступно определение текущего языка терминала. В итоге программа сможет автоматически подстраиваться под нужный язык. Ну а идеальным решением было бы внедрение строковых таблиц, как в VS.

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

Vladimir Karputov
Модератор
49990
Vladimir Karputov  
Приходится все выводимые на печать сообщения писать на английском языке.
Ihor Herasko
9296
Ihor Herasko  
Да, в журналах - это общепринятая практика. Я имею в виду те сообщения, которые выводятся на экран (график).
Igor Konyashin
3122
Igor Konyashin  

Да, было бы замечательно, если бы разработчики сделали возможность получать какой-нибудь двузначный код текущего языка в терминале, например EN, RU, PT, BR (по стандартам ISO, например).

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

О возможности локализации названий входных параметров даже уже и не мечтаю..

Dmitriy
1767
Dmitriy  
Scriptong:

Интересно узнать, кто и каким образом решает проблемы локализации своих программ. 

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

Такой подход видится не очень удобным, т. к., во-первых, не всякий пользователь догадается переключиться на закладку "Входные параметры" для выбора нужного ему языка. Решить можно, если программе будет доступно определение текущего языка терминала. В итоге программа сможет автоматически подстраиваться под нужный язык. Ну а идеальным решением было бы внедрение строковых таблиц, как в VS.

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

 Думать вредно, сделай пару версий установок с разными языками, тоесть надо русский качаешь русскую, надо англ качай англискую установку и тд... 
Ihor Herasko
9296
Ihor Herasko  
GriFFon4ik:
 Думать вредно, сделай пару версий установок с разными языками, тоесть надо русский качаешь русскую, надо англ качай англискую установку и тд... 

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

А что делать, если локализаций с десяток?

MetaQuotes Software Corp.
Модератор
182646
MetaQuotes Software Corp.  

Посмотрите: https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_string

Print("TERMINAL_LANGUAGE = ",TerminalInfoString(TERMINAL_LANGUAGE));
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
Vladimir Karputov
Модератор
49990
Vladimir Karputov  

А как же согласовать локализацию ( вывод сообщений на языке терминала) и требование в правилах Маркета: 

IV. Продукты

...
12. Наименования входных параметров, все сообщения и скриншоты в описании продукта должны быть на английском языке.
Ihor Herasko
9296
Ihor Herasko  

Ух ты. Спасибо.

Проверил, работает не только в MQL5, но и, что самое приятное, в MQL4. Итоговые строки отображаются в том виде, который наблюдается в меню "Вид" - "Languages". Это заметно упрощает дело.

 

P. S. Открыл для себя еще и TERMINAL_CODEPAGE. 

Vladimir Karputov
Модератор
49990
Vladimir Karputov  

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

Скриншот сообщения на русском 

и модератор зарезал этот скриншот. 

MetaQuotes
Админ
25053
Renat Fatkhullin  
barabashkakvn:

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

 

и модератор зарезал этот скриншот. 

Это от того, что продукт представляется всему миру и локальные версии скриншотов неприемлемы.

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

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий