Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Скачай документацию одним файлом. Это просто!
Ihor Herasko
8902
Ihor Herasko 2014.04.10 14:18 

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

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

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

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

Vladimir Karputov
Модератор
42697
Vladimir Karputov 2014.04.10 14:24  
Приходится все выводимые на печать сообщения писать на английском языке.
Ihor Herasko
8902
Ihor Herasko 2014.04.10 14:31  
Да, в журналах - это общепринятая практика. Я имею в виду те сообщения, которые выводятся на экран (график).
Igor Konyashin
3108
Igor Konyashin 2014.04.10 14:35  

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

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

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

Dmitriy
1767
Dmitriy 2014.04.10 17:09  
Scriptong:

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

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

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

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

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

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

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

MetaQuotes Software Corp.
Модератор
180369
MetaQuotes Software Corp. 2014.04.10 23:27  

Посмотрите: 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
Модератор
42697
Vladimir Karputov 2014.04.11 05:58  

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

IV. Продукты

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

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

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

 

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

Vladimir Karputov
Модератор
42697
Vladimir Karputov 2014.04.16 10:26  

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

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

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

MetaQuotes
Админ
24889
Renat Fatkhullin 2014.04.16 10:43  
barabashkakvn:

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

 

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

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

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

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