- adsense не понимает кириллические url-каналы,
- не все хостинги корректно справляются с кириллическим именами html-файлов и директорий,
- при копировании таких урлов в текстовые редакторы получается абракадабра из символов в шестнадцатеричном представлении,
На сайте проекта Pypi есть два скрипта на python для для транслитерации - это
pytils
(версия 0.2.3) и trans (версия 1.3).Плюсом
pytils
является то что он есть в репозитории ubuntu, но на этом его плюсы заканчиваются, скрипт немного недоделанный, на попытку выполнить пример print pytils.translit.translify(u"рейтинг")
отвечает что-то вроде:
ValueError: Unicode string doesn't transliterate completely, is it russian?
и запускается он только внутри отдельно написанного скрипта типа
# -*- coding: utf-8 -*- import pytils print pytils.translit.slugify(u"рейтинг")
Транслитерирует этот скрипт по системе ISO 9:1995 или GOST 7.79B, точно я не разбирался: обе системы транслитерируют слово
рейтингкак
rejting.
Главное, что Google такую транслитерацию понимает, но не очень уверенно и отвечает
Возможно, вы имели в виду: рейтинг Показаны первые результаты: 2
В интернете можно встретить указания, что Google использует транслитерацию по системе BGN. Однако это не совсем так, гугл выбрал скользкую дорожку собственного стандарта, так, в отличие от системы BGN, гугл транслитерирует кириллическую букву
eидущую после гласной как
e, а не
ye, как того требует BGN.
Так вот, таблица транслитерации скрипта
trans
кажется как раз соответствует стандарту гугла, например то же слово рейтингон транслитерирует как
ryayting, что, кажется очень нравится гуглу, потому советую взять этот скрипт на вооружение. Скрипт можно немного доработать, чтобы получать строчные переменные, а не юникод, с автоматической заменой пробелов на дефисы и перевода всех букв в нижний регистр.
def u8(string): return unicode(string,'utf-8') def eu8(string): return string.encode('utf-8') def ful_trans(string): return eu8(u8(string.replace(' ','-')).encode('trans').lower()) print ful_trans('рейтинг')
Комментариев нет:
Отправить комментарий