#property show_inputs

bool IsEnglish = /*--!1*/false/*/--!1*/;

/*--!2*//*/--!2*/    string   Text.Description     = "in English";
/*--!3*//*/--!3*/    bool     Switch.Language      = false;
/*--!4*//*/--!4*/    string   String               = /*--!12*/"123"/*/--!12*/;
/*--!5*//*/--!5*/    double   Double               = /*--!13*/0.00000000/*/--!13*/;
/*--!6*//*/--!6*/    bool     Bool                 = /*--!14*/false/*/--!14*/;

/*--!7*/extern/*/--!7*/    string   Текстовое.Описание   = "на русском";
/*--!8*/extern/*/--!8*/    bool     Переключить.Язык     = false;
/*--!9*/extern/*/--!9*/    string   Строка               = /*--!12*/"123"/*/--!12*/;
/*--!10*/extern/*/--!10*/  double   Вещественное         = /*--!13*/0.00000000/*/--!13*/;
/*--!11*/extern/*/--!11*/  bool     Булево               = /*--!14*/false/*/--!14*/;

#include <Mutate.mqh>

int init()
{
   MutateInit(true, false, "experts/scripts/", "MutableLanguage", ".mq4", ".ex4");
   
   if (!IsEnglish)
   {
      String = Строка;
      Double = Вещественное;
      Bool = Булево;
      
      Switch.Language = Переключить.Язык;
   }
   
   if (Switch.Language)
   {
      IsEnglish = !IsEnglish;
   }

   MutateAddBool(1, IsEnglish);

   if (IsEnglish)
   {
      MutateAddText(2, "extern");
      MutateAddText(3, "extern");
      MutateAddText(4, "extern");
      MutateAddText(5, "extern");
      MutateAddText(6, "extern");

      MutateAddText(7, "");
      MutateAddText(8, "");
      MutateAddText(9, "");
      MutateAddText(10, "");
      MutateAddText(11, "");
   }
   else
   {
      MutateAddText(2, "");
      MutateAddText(3, "");
      MutateAddText(4, "");
      MutateAddText(5, "");
      MutateAddText(6, "");

      MutateAddText(7, "extern");
      MutateAddText(8, "extern");
      MutateAddText(9, "extern");
      MutateAddText(10, "extern");
      MutateAddText(11, "extern");
   }
   
   MutateAddString(12, String);
   MutateAddDouble(13, Double);
   MutateAddBool(14, Bool);

   Mutate();
}

int start()
{
   return(0);
}