Отсутствие локализации способствует пониманию кода программистами, которые не знают ваш язык. Поэтому против.
Отсутствие локализации способствует пониманию кода программистами, которые не знают ваш язык. Поэтому против.
Все гораздо интересней.
Что мешает той же директивой задавать имена для всего, в том числе и переменных?
Тогда, используя подстановщик мы легким движением руки можем получить базовую английскую версию.
А расширив функционал директивы, возможно даже сделать поддержку выбора локализаций из существующих.
Отсутствие локализации способствует пониманию кода программистами, которые не знают ваш язык. Поэтому против.
Ага. И потом, когда люди будут выкладывать код, он весь будет без подсветки,
и каждый будет наивно переспрашивать:
- а вы что, не знаете? там нужно скачать дополнительно инклюд... vasya_localization_v2
А у каждого локализация будет своя и с разными версиями.
Что мешает той же директивой задавать имена для всего, в том числе и переменных?
Тогда, используя подстановщик мы легким движением руки можем получить базовую английскую версию.
А расширив функционал директивы, возможно даже сделать поддержку выбора локализаций из существующих.
Делать больше нечего как переводить имена переменных! Я программировать собираюсь, а не сидеть со словарём для публикации исходника.
Поубивал, бы - честно! Ненавижу такие "локализации".
Как раз сегодня на ithappens.ru история была:
#1497: Патриотичный порнобейсик
26 ноября 2009, 09:00
рейтинг: 628
В конце восьмидесятых только-только начали появляться персональные компьютеры Д3-28 (ввод с магнитофонной кассеты), Электроника-60 (ввод с перфоленты), ДВК-2 (ввод с 5" дискеты аж на 360 КБ). И вот одна из наших кафедр закупила 3 ПК «Искра» (номера модификации уже не помню). Всё это происходило в период борьбы партии и народа с иностранщиной.
Так вот, в эти «Искры» был уже прошит бейсик на русском. Перевод был поразительным. INPUT — «вводим». Догадались, как будет END? Правильно, «кончаем».
Мы так эти «Искры» и прозвали: «Вводим-кончаем». Правда, проработали они у нас месяца три и поумирали (скончались?) Вместе с этим порнобейсиком отправили их на завод-изготовитель, и больше они к нам не возвращались.
Давно пишу коды с кирилицей и както не задумывался что зарезервированные слова тоже нужно переводить (привычка вторая натура).
Читая код сразу вижу значение "if" а вот когда пишу наброски в черновик и ставлю "если" смысл начинает теряться(привычка вторая натура).
Да и потом ведь у зарезервированных слов не прямое значение так как их понимают англичане, поэтому не англоязычные имеют преимущество понимая что "if" это не "если", "if" это оператор.
Urain писал(а) >>
Да и потом ведь у зарезервированных слов не прямое значение так как их понимают англичане, поэтому не англоязычные имеют преимущество понимая что "if" это не "если", "if" это оператор.
Англоязычные имеют не преимущество, а недостаток. Потому что когда я в голове прокручиваю программу - никакой это не "если", а самое что ни на есть абстрактное понятие.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Тема уже как раз мною вскользь поднималась. Речь идет о том чтобы в MQL иметь возможность писать экспертов полностью на русском (или любом другом) языке. Нечто вроде этого:
Я знаю что такая возможность - очень полезная штука. Кто сомневается, или считает что это бессмысленно (потому что дескать ангельский язык нужно знать любому грамотному программисту) я отвечу всего одни возражением: зачем тогда в терминале есть куча языковых файлов настройки интерфейса и зачем справку переводят на разные языки? ;)
Насколько я представляю себе механизм работы синтаксического анализатора, в нем должны быть "списки" строк зарезервированных слов вроде for, long, .... для того чтобы полностью "перевести" компилятор на возможность компиляции текстов на русском языке достаточно просто заменить в коде компилятора текст строки "for" на "цикл" и т.д. и после этого все должно работать как и прежде. Список соответствий оригинальных английских слов и локализированных вариантов можно вычитывать из файлов как сейчас это делается для пунктов меню терминала.
Здесь возможны грабли: в такой локализованый русский текст инклудом вставляется системный с английскими словами. Избежать их можно только если компилятор будет распознавать оба варианта. Т.е. рядом с табличкой со словами английского языка нужно положить еще локализованный вариант строк, чтобы компилятор мог обработать оба "написания".
Здесь возможны вторые грабли: когда нужно собирать текст из фрагментов на нескольких языках. Но они тоже устранимы. Как правило локализуется все в какойто один язык на котором работает программист. Поэтому любую помесь языков можно сначала (возможно отдельной утилитой или пунктом меню МЕ) перевести все в английский. А потом всю эту колбасу - в свой родной.
В самом крайнем случае можно сделать еще одну директиву компилятору #substitute source dest которая будет перед компиляцией просто заменять строку source на dest и полученный результат компилировать. Тогда локализацию можно будет сделать как это предложил TheXpert.
Я знаю что задача - решабельна. Я надеюсь - что такая доработка не повлечет радикального переписывания кода компилятора. Я почти уверен что разработчики всеми силами будут отбиваться от такой идеи, и я их мотивы прекрасно понимаю. Но у меня есть слабая надежда, что сейчас, пока MQL5 еще в стадии беты - в него такую фишку воткнуть можно, поэтому и решился еще раз поднять этот вопрос: может все таки можно\нужно сделать такую возможность - писать программы на родном языке, на том, на котором думаеш, и на котором общаешся с трейдерами и заказчиками?