Typecho - общее впечатление (локализация), сравнение

cms
программирование

(Андрей Белов) #1

Typecho — китайский блоговый движок, на основе PHP (PHP5 или более поздней), чтобы построить современную блоговую платформу. Поддерживает несколько баз данных (MySQL, PostgreSQL, SQLite).

Typecho

В настоящее время проект размещен GitHub и любой пользователь GitHub может внести свой вклад.

Очевидные плюсы: легкость, быстрота в работе, что вообще свойственно “китайским” движкам.

Очевидный минут, это отсутствие локализации. Ситуация усугубляется и общим подходом. Китайский язык прописан непосредственно в файлах и является базовым.

<label for="name" class="sr-only"><?php _e('用户名'); ?></label>

Если делать все правильно, то переводить придется 2 раза. Первый раз, все переменные в коде переводиться с китайского на английский, а далее делать локализацию в файлах языка уже на русский язык.

Можно упростить задачу, сразу переводить эти переменные на русский, что не совсем видимо корректно (если кто-то потом захочет использовать его на итальянском, например).

Это основная причина, почему Typecho не особенно распространен (кроме Китая).


PHP Blogging Platform. Simple and Powerful.

Огромное количество плагинов, тем, делают Typecho реальной заменой таких монстров как WordPress.

Оф. сайт проекта: http://typecho.org/

Продолжение про блоговый движок Typecho, будет следовать чуть позже…


Замена Wordpress, какие блоговые движки есть альтернативные?
(Евгений) #2

Основная причина, почему не распространен Typecho, да и другие “китайские” скрипты, это локализация. Попробую остановиться на этом более подробно, т.к. еще в 2014 году, я оказывается переводил и Typecho в том числе (а еще UChone, WeCenter и с десяток других…).

Перевод typecho

И так. Мы идем в файлы и видим следующие конструкции раскиданные по всему Typecho.

<button type="submit" class="submit"><?php _e('搜索'); ?></button>

Само наличие этого:

<?php _e(' '); ?>

Уже говорит о том, что возможен общий файл перевода, где перевод будет размещен вида:

_e['搜索'] = 'Поиск';

Такой перевод можно сделать в одном файле и Typecho будет переведен. Однако, нам все равно придется идти в сами файлы. И открыв их, увидев конструкции вида:

<button type="submit" class="submit"><?php _e('搜索'); ?></button>

испытать шок. Я не смогу с файлом работать дальше. Что значит эта строка?

Поэтому, многие идут по простому пути, просто заменяя перевод в самих файлах.

<button type="submit" class="submit"><?php _e('Поиск'); ?></button>

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

Более правильно, переводить изначально на английский, и лишь потом, делать перевод 2 раз уже в файле перевода.

А в сами файлы нам все равно придется идти. Дело в том, что там есть много переменных, которые аналогично нуждаются в переводе.

Мы можем делать заплатки (например, для даты вида):

<?php 
$months_name = array(1 => 'Январь', 'Февраль'.... 'Декабрь');  
$this->date('d '.$months_name[date('n')].' Y');  
?> 

Или в теме, в файле: functions.php, делать соотв. функцию для даты, что более корректно, чем вносить в десятки мест “левый”, “кривой” код.

А если мы хотим создать свой шаблон? Работа с файлами просто необходима.

В общем, с локализацией Typecho и других китайских скриптов мы вроде разобрались. Но что мы имеем в итоге?

А вот что. Это движок, как и многие другие, просто не подходит основной массе пользователей, которые предпочитают устанавливать все “из коробки”, просто нажимая клавиши.

И уже не важно, что Typecho легкий, универсальный, быстрый и т.д.

И это основная причина, почему Typecho CMS не будет популярным. Ну если только, кто-то не сделает вилку на GitHub и не начнет его поддерживать дальше самостоятельно.