SuperBidiTranslit
Друзья. Перестаньте лениться и посмотрите вот сюда. Расскажите мне, что там не так.
Мнения типа «это нахрен никому не нужно» меня интересуют мало. Пожалуйста, будьте конструктивны.
Спасибо.
Мнения типа «это нахрен никому не нужно» меня интересуют мало. Пожалуйста, будьте конструктивны.
Спасибо.
Вот такой у тебя там есть пример, после описания того, как скобки работают.
А несколькими строчками ниже ты пишешь, что # передается как слово number в скобочном контексте. Путанница какая-то. А еще есть вот такая таблица:
Хотя ты пишешь, что № передается как nomer в скобочном контексте.
Примерно вот так, хотя читал я невнимательно, может и пропустил чего — устал я нынче на работе.
Update: Fixed in v1053.
нахрен никомумне не нужно(Здесь мог бы быть смайлик)
- слишком сложно что бы пользоваться без инструкции, если нужна инструкция то ее никто не будет читать, если ее никто не будет читать то можно вообще все что угодно зафигачить один фиг нужна инструкция (я понятно обясняю?)
- какая нафиг инструкция? для чего?
Если идея заключается в том что бы пользователь сам набирал в строке браузера www.../search/chto-to то это chto-to должно быть интуитивно понятным догадаться что * это ъ так просто нельзя, это нужно знать, нужно читать инструкцию....
а если читать инструкцию то можно придумать все что угодно но идея убивается.
если же это просто что бы переходить на урл из формы поиска то непонятно зачем это все генерить и с той и с другой стороны компьютеры и им абсолютоно все равно.
все новые браузеры шлют его в utf-8 (по стандарту) а
старые браузеры легко ловятся и фиксятся на лету
В своих разработках я решил поступить немного по-другому. Исходная задача, при которой нужен взаимно-однозначный транслит, имеет несколько спорных моментов. Заранее извиняюсь за плохую структурированность и некую сумбурность, это (скорее) поток сознания, чем обоснованная позиция.
1. Части URLа — это текст. А если это текст, то почему бы не работать с текстом и с URLами одними и теми же методами? Оттуда ВикиСлова, которые не надо каким-то образом отмечать как ссылки. Хорошо для английского, поскольку URLы в ASCII. Для русского нужны костыли. А что делать китайцам?
Не то, чтобы меня волновали китайцы. Меня волнует то, что транслит — костыль по определению. Меня волнует, что ВикиСлова (в первоначальной форме, аки на c2.com) не могут склоняться и вообще «режут глаз» нам куда сильнее, чем Американцам, которые за Многие Годы привыкли к такому Варианту Написания Слов.
Что получилось из изначально хорошей и простой идеи, можно видеть хоть в Wacko, хоть в MediaWiki — изначально задуманные для того, чтобы не запоминать URLы, ВикиСлова превратились в особую форму URLов. Которые надо запоминать.
2. ЧПУ не отменяет символа «?» в URLе. Лично я не вижу ничего плохого, когда адрес «/news» превращается в «/news?skip=10» или «/news?skip=20». Более того, я считаю, что «/search?q=foo+bar» выглядит куда пристойнее, чем, допустим, «/search/foo%20bar» (sic!) или, что ещё хуже, «/search/foo%20bar/page2».
3. ЧПУ — это ЧеловекоПонятный URL (с) Смирнов, так ведь? Изначально — «понятный» и ничего более. Но предпосылки, по которым появился этот термин, годятся и для того, чтобы объявить «плохими» и длинные (даже если они написаны чистейшим транслитом) URLы. Как определить, URL соответствует ЧПУ или нет?
- посмотреть на URL «свежим взглядом» и попытаться построить предположения, что там лежит.
А теперь — бонус-трек. Дополнительный чек-лист:- попробовать записать URL на sticky note 76 x 76 мм
- попробовать продиктовать URL по телефону
- попробовать 10 «соседних» адресов записать через пробел и оценить длину строки
Поэтому адреса вида «/articles/2005/06/24/why-I-dislike-translit» в ряде случаев проигрывают менее понятным, но более коротким. Вроде «/1321» или «/translit-sux».Ладно, я тут дофига туфты написал, и всё на ровном месте. Думаю, для SuperBidiTranslit’а есть ещё одна интересная фигня: пожертвовать регистрозависимостью. Предположим, что аглицкие слова набраны в lowercase, а русские в Capitalize, и получается что-то вроде «/articles/Birman/Translit/comments», что соответствует «Articles / Бирман / Транслит / comments». Если честно, то мне восклицательный знак в URLе чем-то не нравится.
2. Отменяет, потому, что «?» — это техническая фигня, которую человек видеть не должен.
3. Согласен, что названия заметок писать в транслите — это бред, должны быть просто номера, но, снова, какое это имеет отношение к рассматриваемой задаче?
По последнему абзацу:
2 — спорно.
3 — тоже мысли вслух.
По поводу того, как написать «Бirмan». Задача (BidiTranslit) в том, чтобы нечто некрасивое (%E5%D0%C3...) заменить на нечто более «читабельное»? То есть, чтобы глаза не резало, чтобы в этом можно было разобраться, чтобы (хотя бы относительно) соответствовало нормам литературного текста.
Но как, пардон, назвать читабельным слова «Бirмan», «ВИD» или «Яndex»? Смесь кириллицы и латиницы уместна, разве что, на биг-борде с дурной рекламой. Думаю, в таком случае можно сделать fallback в %E5irman (для «смешанных» слов). По крайней мере, мне это кажется не таким странным, как !B!irman.
Контрвопрос: а что делать с буквами кириллицы, которых нет русском? Белорусское «у с птичкой», украинские «i с двумя точками», и куча других символов. Менять таблицу транслитерации? Заранее ограничить возможное употребление только русским языком? Ну так в русском языке слова пишутся кириллицей без каких-то примесей латиницы, можно считать это таким же граничным условием, как и то, что SuperBidiTranslit китайцам вряд ли подойдёт.
Да, предложенный мной вариант тоже имеет свои граничные условия, и даже более жёсткие: регистр не сохраняется. Нехорошо. Но, по крайней мере, есть над чем подумать.
P.S. Я не забываю, что e2 — ваш движок, и я не собираюсь рассказывать, что, по моему мнению, вам следует делать, а что не следует делать. Всё вышесказанное — моё IMHO, ведь разве не это спрашивается в вопросе?
P.S.#2 Мне тоже не нравятся Большие Буквы в URLах, но они (в отличие от восклицательного знака) не начинают занимать больше места от своего регистра. Соответственно, URL будет короче на пару символов.