Symphony CMS: транслитерация русских символов в строке URL (russian handles)
По умолчанию в Symphony CMS нет транслитерации русских символов. Но это легко сделать самому.
Я очень долго негодовал, потому что не знал как научить могучему русскому языку видимо не менее могучую Симфонию. А решение простое.
Все настройки и языковые тоже, Symphony хранит в symphony/lib/lang/lang.en.php , по умолчанию это английский язык. Есть русифицирование - lang_russian.php (можете найти его в расширениях и обсуждениях - разработка Игоря Богданова (a.k.a. bogdanov, ibcico) - https://github.com/ibcico/lang_russian
Установка:
Option 1.
This option allows authors to specify personal preferences for a language and allows you to change the system language in your system preferences through the administration panel.
Download the Localisation Manager and install this extension. This language file is supposed to be included in the Localisation Manager in the near future. If it is not available yet, move the lang.ru.php
file to the /extensions/localisationmanager/lang
directory in your Symphony CMS installation.
After installing Localisation Manager successfully, you'll find a new setting in your preferences allowing you to switch the system language. Authors can override this global preference with a custom setting in their profiles.
Вариант 1.
Данный вариант установки позволяет пользователям устанавливать свои языковые предпочтения и изменять язык системы в административной панели.
Необходимо скачать расширение Localisation Manager и установить его. Скорее всего данный языковой файл уже будет включен в расширение Localisation Manager. Если русский язык еще не доступен в Localisation Manager, скопируйте файл 'lang.ru.php' в директорию /extensions/localisationmanager/lang
в месте установки Symphony CMS.
После установки Localisation Manager в настройках системы появится возможность изменять язык. Языковые настройки могут быть изменены каждым отдельным пользователем для себя лично по своему усмотрению.
Option 2.
This option works without the Localisation Manager and is less flexible. It only allows you to set the system language manually in the configuration file, and does not allow authors to specify a personal preference for a language.
Move lang.ru.php
to the /symphony/lib/lang
directory. Open /manifest/config.php
and look for 'lang' => 'en'
. Replace this line with 'lang' => 'ru'
.
Вариант 2.
Данный вариант установки можно использовать без установки расширения Localisation Manager. Однако он позволяет изменить только глобальные языковые настройки без возможности выбора языка каждым отдельным пользователем.
Скопируйте 'lang.ru.php' в директорию '/symphony/lib/lang'. Откройте для редактирования файл '/manifest/config.php' и найдите там строчку 'lang' => 'en'
. Замените её на 'lang' => 'ru'
.
Другой вариант (не устанавливать расширение), а просто дополнить lang.en.php транслитерацией для русских символов. То есть добавить:
'/А/' => 'A', '/а/' => 'a', '/Б/' => 'B', '/б/' => 'b', '/В/' => 'V', '/в/' => 'v', '/Г/' => 'G', '/г/' => 'g', '/Д/' => 'D', '/д/' => 'd', '/Е/' => 'E', '/е/' => 'e', '/Ё/' => 'E', '/ё/' => 'e', '/Ж/' => 'ZH', '/ж/' => 'zh', '/З/' => 'Z', '/з/' => 'z', '/И/' => 'I', '/и/' => 'i', '/Й/' => 'J', '/й/' => 'j', '/К/' => 'K', '/к/' => 'k', '/Л/' => 'L', '/л/' => 'l', '/М/' => 'M', '/м/' => 'm', '/Н/' => 'N', '/н/' => 'n', '/О/' => 'O', '/о/' => 'o', '/П/' => 'P', '/п/' => 'p', '/Р/' => 'R', '/р/' => 'r', '/С/' => 'S', '/с/' => 's', '/Т/' => 'T', '/т/' => 't', '/У/' => 'U', '/у/' => 'u', '/Ф/' => 'F', '/ф/' => 'f', '/Х/' => 'H', '/х/' => 'h', '/Ц/' => 'TS', '/ц/' => 'ts', '/Ч/' => 'CH', '/ч/' => 'ch', '/Ш/' => 'SH', '/ш/' => 'sh', '/Щ/' => 'SCH', '/щ/' => 'sch', '/Ъ/' => '', '/ъ/' => '', '/Ы/' => 'Y', '/ы/' => 'y', '/Ь/' => '', '/ь/' => '', '/Э/' => 'E', '/э/' => 'e', '/Ю/' => 'YU', '/ю/' => 'yu', '/Я/' => 'YA', '/я/' => 'ya',
Лучше сделать 2 варианта!!! Вдруг вы решите переключить язык обратно на English; тогда при редактировании контента handles перезапишутся согласно новым установкам и если в системном файле lang.en.php не будет транслитерации для русских символов (а вы уже решили, что она вам нужна), то с сохранением документа обновятся и handles.
Всё должно заработать. Всё таки великая вещь Симфония!!
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 0 Склейка URL c www, 301 редирект с WWW и без WWW. Один ли сайт? Унифицированный Root (04.09.2013)
- Symphony CMS: Делаем постраничную навигацию (DS Pagination) (10.03.2012)
- Русификация расширения Subsection Manager (SSM) для Symphony CMS (14.01.2012)
- Использование элемента xsl:if в шаблоне XSLT в утилитах Symphony CMS (12.12.2011)
- Symphony CMS: Расширение Entity Diagram (Entity Diagram Extension) (21.11.2011)
- Фотогалерея SimpleViewer на Symphony и ансамбль SimpleViewer Ensemble (23.10.2011)
- Symphony CMS: Установка и обновление системы (23.10.2011)
- Установка CKEditor для Symphony CMS (расширение CKEditor Formatter) (23.10.2011)
- Symphony CMS: транслитерация русских символов в строке URL (russian handles) (23.10.2011) ← вы тут
- Symphony CMS: Автоматическая генерация уникальных URL-адресов (unique handles) (23.10.2011)