Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

LanguageMulti - библиотека для MetaTrader 5

Просмотров:
1603
Рейтинг:
(9)
Опубликован:
Обновлен:
\MQL5\Include\
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Библиотека позволяет использовать мультиязычность в своих проектах.

Основные возможности:

  • лёгкое и удобное использование нескольких языков;
  • автоопределение языка терминала;
  • перевод системных и пользовательских ошибок;
  • вывод места ошибки/сообщения: имя файла, имя метода, номер строки;
  • корректная работа с языками при не полном или отсутствующем переводе;
  • возможность использования до двух параметров

Пример использования:

#include <Logger.mqh>

//Пример использования
class c_My_class
  {
public:
   static void       Demo_print()
     {
      LNG_PRINT(1);//код сообщения
      LNG_PRINT_1(1,45);//код сообщения и один параметр
      LNG_PRINT_2(0,"param__1","param_2");//код сообщения и два параметра
     }
   LNG_INIT
  };
//Указывается имя класса и используемые языки,максимум 4
//LNG_DEF_1,LNG_DEF_2,LNG_DEF_3,LNG_DEF_4 - последнее число указывает на количество языков
//Сообщения.Для каждого класса свой набор сообщений
LNG_DEF_2(c_My_class,lng_Russian,lng_English)//Указано имя класса и два используемых языка
  {
     {"Первое сообщение с параметром %s и %s","Pervoe soobchenie s paramenrom %s i %s"},//Русское и английское сообщение
     {"Это число:'%s'"},//Только русское
  };

void OnStart()
  {
   cLng::Set_is_skip_optimization(false);//При оптимизации будет логирование

   c_My_class::Demo_print();
   LNG_CLASS_PRINT_1(c_My_class,1,888);//Использование сообщения из стороннего класса
//LNG_CLASS_PRINT - без параметров
//LNG_CLASS_PRINT_1 - 1 параметр
//LNG_CLASS_PRINT_2 - 2 параметра

   cLng::Set_lng(lng_English);//Изменение языка на английский
   Print(cLng::Get_string(ERR_INVALID_DATETIME));//Получаем строку с ошибкой
   Print(cLng::Get_string(9999));//Тут не верный код ошибки
   cLng::Set_lng(lng_Russian);//Изменение языка на русский
   Print(cLng::Get_string(ERR_INVALID_DATETIME));//Получаем строку с ошибкой
   Print(cLng::Get_string(9999));//Тут не верный код ошибки
  }

Результат такой:


    MA Trailing MA Trailing

    Трейлинг прибыльных позиций на текущем символе по индикатору iMA (Moving Average, MA)

    OBJ_Label_Example OBJ_Label_Example

    Пример советника, иллюстрирующего работу с графическим объектом OBJ_LABEL

    High Low First Bar High Low First Bar

    Индикатор отображает уровни High и Low первого бара на текущем таймфрейме за день

    Channel of two iMA Breakdown Channel of two iMA Breakdown

    Пробой канала из двух iMA (Moving Average, MA)