Pull to refresh

Comments 46

Почему вы выбрали именно русский, а не синдарин, например?

слово «илсе» бросается в глаза и кажется странным, я конечно понимаю, что это калька с конструкции «if — fi», но можно было бы тут отступить от канона и приприменить например чтонибудь типа «если — тогда — иначе — всё»
Такое уже было, а доля здорового абсурда никогда не повредит! ;-) И потом, если нашему гипотетическому айтишнику придётся переходить на настоящий баш if .. fi / case .. esac уже не будут такими неожиданными!
Опять же, в серьёзной разработке об этом явно бы подумали. У меня же цель была именно перевести.
И честно говоря оно не так сильно бросается как может показаться. Я уже привык)

Осталось получить в пробирке экземпляр айтишника, не знакомого с английским, и скормить. Для эксперимента ;)

Ну на самом деле подойдет любой школьник, который любит информатику, но при этом ни бум-бум в англ.язык. Таких вполне сойдет для начинания и написания каких-нибудь простеньких программ для роботов на робототехнике. Хотя безусловно — без англ. в айти делать нечего. Банально литература вся на англ…
Банально литература вся на англ…


Востребованная литература достаточно хорошо представлена и на русском.
А что конкретно подразумевается под «востребованной» литературой? Просто переводчики, а иногда даже и авторы оригиналов, тупо не успевают за прогрессом, в большинстве случаев. К тому-же акутальную документацию, в большинстве своём, никто не переводит, ибо незачем.

Документация на php вроде неплохо переведена, например. Бумажных книг — горы, бери и читай.
Если что-то не переведено — значит это либо новинка, либо что-то очень нишевое, интересное десятку специалистов.

Году так в 2008 проводили локализацию линукса на узбекский язык. С графическими интерфейсами всё решилось при помощи po-файлов, почти без проблем. Почему почти? Потому что некоторые буквы латиницы g' и o' включают спецсимволы. При их экранировании в половине программ выводится нормальный текст, в другой половине g\'
В случае с консольными программами начинался треш на уровне интерактива:
«Are you want to continue? y/n»
На узбекском языке (латиница) «нет» звучит как «yo'q», то есть «y» — в голове у обывателя обозначает «Нет», а в логике обычной программы «Да».
И ещё с десяток аналогичных проблем.
от «русскаго» языка в статье (не в коде, а именно в тексте) прямо «кровь из глаз»…
почему люди, пишущие нормальный код на нормальном английском — могут нормально писать статьи на русском языке, а «русификаторы языков программирования» русским не владеют? Вопрос, наверное, риторический…
навеяло...
В худой котомк поклав ржаное хлебо
Я ухожу туда, где птичья звон
И вижу над собою синий небо
Лохматый облак и широкий крон

Я дома здесь, я здесь пришел не в гости
Снимаю кепк, надетый набекрень
Весёлый птичк, помахивая хвостик
Насвистывает мой стихотворень.

Зелёный травк ложится под ногами,
И сам к бумаге тянется рука,
И я шепчу дрожащие губами
«Велик могучим русский языка!»

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

Шурщат зверушки, выбегнув навстречу,
Приветливыми лапками маша:
Я среди тут пробуду целый вечер,
Бессмертные творения пиша.

Но выползя на миг из тины зыбкой,
Болотная зелёновая тварь
Совает мне с заботливой улыбкой
Большой орфографический словарь.
Правил хороший тон на хабр, как-бы говорит нам. Увидел ашибк, выдели, нажми Ctrl-Enter Отправь сообщений автор.
Увидел ашибк? А фы спелл-чекир не пробофали на эфту страница натрафить? Тут ашипкоф и недочетофф в тексти риально дисятки. И запитых аффтору яфно ни фыдали ф нуфном каличестве. Ctrl-Enter — этто когда ашипка отна, ну может тфе.
Я не волшебник, я только учусь!)
Можешь расписать что я накосячил? Буду благодарен
Да тут просто много мелких опечаток. Ну вот скажем:

Честно говоря, я отделался лёгким испугом.<пробел>Оказывается русских переменных и 13 алиасов с головой достаточно для полной трансформации кода. Я был готов расписать весь скрипт чуть ли не по<пробел>буквенно, но, после очередного прочтения и добавления пары ко<м>ментариев, это оказалось просто не нужно.


И такого, если отспеллить — будет с десяток минимум. Так что я реально советую просто найти спелл-чекер, и прогнать. Опечатки, и расстановка запятых/пробелов, не там где нужно.
«Побуквенно» это корректное слово.
А остально сейчас подправлю
Да, согласен. В данном случае это то что спеллер показал. Мне еще бросились в глаза пробелы вокруг скобок — принято их ставить только с одной стороны (ну, чтобы скобка при переносе не переносилась на новую строку или не оставалась). Т.е. не вот так: ( слово ), а вот так: (слово), но тут у вас похоже еще и смайлы, а они с этими правилами не очень согласуются.
Прогнал через проверки и нашлась даже пара опечаток. Заодно и пробелы поправил.
Думаю это уже можно читать спокойно.
Но десятка там не набралось)
UFO just landed and posted this here
Это артефакт быстрого проекта. Понятное дело что в более серьёзной разработке об этом вспомнят.
Изначально я перевёл всё как в первом варианте, без добавления личности. Но по мере работы с кодом я его приукрасил немного. Это заметно если сравнить версию в Gist и здесь
Спасибо за статью.
Кстати, хочу отметить, что глаголы в 3 л.мн.ч. смотрятся очень даже ничего для читабельности кода, вместо прямого перевода в инфинитиве.

1. Ты как будто размышляешь над программой при её написании

если x < 3 то
  выводим  "Х меньше трёх"
иначе
  пока x > 3 делаем
     x = x - 1;
  прекращаем  
илсе

2. Эта форма так же напоминает метод утёнка. Когда некой сущности (обычно резиновой утке игрушке) ты проговариваешь то, что делается в программе, чтобы найти более верное решение или выстроить полную картину (понять) того, что происходит в данном участке кода.

3. В конце концов есть что-то в этом нашенское: а я и «брат» мой компьютер вместе «выводим», «делаем»… :)
* Прошу прощения, конечно 1 л.мн.ч
Да, можно. Но мой комментарий был принят к публикации спустя несколько дней и в нём уже отсутствовала возможность нажать «Редактировать»
В течении получаса, с момента отправки. А вот посты можно когда угодно.
Пожалуйста!
А как ты уговорил подсветку синтаксиса работать хоть как-то?
Выделил текст, щёлкнул иконку «Исходный код» и выбрал 1С
UFO just landed and posted this here
А разница?
В zsh точно так же принимается кириллица.
Вот только fish ещё свой велосипед вместо синтаксиса изобрёл, и я не хотел с ним разбираться
UFO just landed and posted this here
Спорить не буду, не писал под fish.
Но погу поручиться за синтаксис bash… скорее даже POSIX, башизмы сам не очень люблю.
Так вот, синтаксис POSIX совместимого скрипта вполне читаемая и удобная штука. Особенно если уделить немного внимания форматированию (мой alias как пример)
13 алиасов вполне способен запомнить любой мозг начального уровня, даже не знающий английского. А вот затем придётся запоминать синтаксим баша.
Может быть полезно для обучения программированию в младших классах школы.
В самый раз для ОС МСВС. Кнопки «Есть» и «Отставить», вместо привычных «Ок» и «Отмена» в её интерфейсе уже были.

Это несерьёзно. Получился суржик какой-то, ключевые слова русские, но вся структура языка осталась, как была. Как если я бы писать на английский но использовать русский слова (as if I would write in English but use Russian words).


Для серьёзных русификаторов — вот образец для подражания: http://users.monash.edu/~damian/papers/HTML/Perligata.html

Это и не задумывалось быть серьёзным)
Что по поводу структуры языка, тут я оспорю. Баш, технически, почти не имеет своего языка, а всё что было я перевёл. Остатки английского это уже обращения к другим програмам в операционной системе, со своим синтаксисом и нюансами.
Единственное что действительно хотелось бы перевести, это -lt -gt. Однако test не согласился дружить с заменами, поэтому пришлось смириться
Да, естественно. Для алиасов в баше было вполне достаточно сделано.

Я собственно хотел сказать, что почти все языки с русскими ключевыми словами — те что разрабатывались с нуля, не перевод того, что было — всё равно получаются как языки с английскими ключевыми словами, только с русскими.

И показать пример годного перевода перла на латынь — Lingua::Romana::Perligata. Английский — язык позиционный, роль слова в предложении определяется его позицией. Латынь, как и русский — нет, там роль слова определяется окончанием. Окончанием слова роль там определяется. И в Lingua::Romana::Perligata именно так и сделано.

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

"А было бы здорово"
Не уверен, что здорово. Забавно, да. Ключевые слова, меняющие свою роль в зависимости от суффикса, забавно.

Ну знаешь…
Русский язык штука сложная, и его реалиция в виде языка програмирования больше напоминает священный грааль современного ИИ — понимание текста. Сомневаюсь что синтаксис можно достаточно упростить, во избежание этого
Там тоже не трансляция латыни в перл, там всё довольно строго, и порой весьма искуственно. Синтаксис основан на русском, а не просто транслятор с русского в исполняемый код.

Как-то «если первый аргумент это гор то рубим высоту_окна...», что можно записать и как «рубим высоту_окна если первый аргумент это гор», потому что неоднозначности не появляется.
В оригинальном perl можно так:
if ($some) do_some();

А можно и так:
do_some() if ($some) ;


Иногда это удобно, но не сказал бы, что это киллер-фича.
Взять мой скрипт, перевод на инструкцию для русскоязычного человека будет выглядеть как-то так:

Получаем координаты курсора и параметры окна, дальше если наш первый аргумент равен «гор», то вызываем i3-msg split h, а если «вер» — i3-msg split v. Теперь считаем количество пикселей на которое надо изменить размеры нового окна и, дождавшись его появления, меняем. Если количество положительное, то i3-msg grow $размер $направление; иначе — i3-msg shrink $размер $направление.

Не скажу что это худший пример, но задачка явно не из лёгких

Мобильный хабр похож на RSS-ленту тем, что показывает только заголовки статей, без тегов, хабов и "доката".


Я ожидал историю перехода цитат с bash.org на bash.org.ru, а не боярское программирование! Жжоте, товарищ автор!

Если fi калькируется в илсе, то elif — иначесли или даже инесли. Заодно и от подчёркивания избавимся.

Sign up to leave a comment.

Articles