Родная речь

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

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

Мне всегда был интересен этот язык, очень хорошо, что мне потребовалось всего полтора года, чтобы его освоить.

Дополнение: первое апреля кончается, выключаю шутку, попозже напишу пост о ней, чтобы осталась на память. А пока пошёл лечиться — я острый бронхит заработал.

36 комментариев

С первым апреля!

Первоапрельский сайт (41.26КиБ)

Ну, первое апреля кончается, поэтому я привёл сайт к исходному виду. Если кто не застал, то сайт у меня сегодня выглядел как на скриншоте сверху — я поменял фотку и вступительный текст, пустил псевдотатарский орнамент справа и «перевёл» весь сайт на татарский (весь, кроме пояснительного поста).

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

После чего я написал пару функций, через которые пропускался весь контент моего сайта, а они заменяли русские слова на татарские слова той же длины по несложному алгоритму. Описывать не буду, лучше процитирую, думаю, там всё понятно:

function RuTatHelper($m) {
    static $dict = null;
    
    if ($dict === null) {
        $dict = unserialize(file_get_contents("compress.zlib://ru-tat.txt.gz"));
    }

    $len = mb_strlen($m[0], 'utf-8');
    if (isset($dict[$len])) {
        $n = sprintf('%u', crc32($m[0])) % count($dict[$len]);

        $word = $dict[$len][$n];

        if (preg_match('/^\p{Lu}/u', $m[0])) {
            $word = mb_strtoupper(mb_substr($word, 0, 1, 'utf-8'), 'utf-8') . mb_substr($word, 1, $len - 1, 'utf-8');
        }

        return $word;
    } else {
        return $m[0];
    }
}

function RuTat($text) {
    return preg_replace_callback('/\p{Cyrillic}+/u', 'RuTatHelper', $text);
}

С татарскими словами просочились и русские (в татарской речи очень много русских слов), особенно забавно было, что «Поиск» у меня превратился в «Путин». Не знаю, успели ли повеселиться татары, там настоящая тарабарщина написана была, например, вместо «блог» слово «призрак» по-татарски.

14 комментариев