Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
05.01.2011, 21:13 | #1 |
Новенький
Регистрация: 26.12.2010
Сообщений: 26
|
Проблема с руссификацией Calendar Base
Добрый день.
Возникла проблема с руссификацией расширения Calendar Base. До сих пор я сталкивался с двумя ситуациями: 1. Либо расширение сразу пишет по русски (у меня прописано что язык русский) 2. Либо расширение пишет по английски, но проблема оказывается в том что в файле locallang.xml в секции русского языка стоят английские слова. Меняешь их на русские аналоги и все работает отлично. А тут возникла проблема, расширение пишет по английски. Нашел файл locallang.xml и еще 3 с подобными названиями, но они все относятся к BE. А мне надо FE руссифицировать, сам то я как-нить с аглицким справлюсь. Пробовал уже поиском по всей папке плагина искать слова из FE, и менял их по очереди, но в FE все так по английски и осталось. Может кто подскажет что делать... |
06.01.2011, 00:57 | #2 |
Senior Member
Регистрация: 31.08.2007
Адрес: Ростов-на-Дону
Сообщений: 206
|
Воспользуйтесь расширением llxml
|
06.01.2011, 01:17 | #3 |
Новенький
Регистрация: 26.12.2010
Сообщений: 26
|
А нет какой нибудь возможности для руссификации без дополнительніх расширений. Просто сталкивался на форуме не раз с сообщениями что некоторіе расширения конфликтуют друг с другом. Поєтому не хочется ставить лишних.
|
06.01.2011, 16:06 | #4 |
Новенький
Регистрация: 26.12.2010
Сообщений: 26
|
Я посмотрел это расширение. Оно для перевода localleng.xml файлов, а это я могу и вручную сделать, но это эффекта не дает.
|
06.01.2011, 18:59 | #5 |
Новенький
Регистрация: 26.12.2010
Сообщений: 26
|
Проблему решил, нашел что все нужные слова находятся в файле /cal/controller/locallang.xml Там все попереводил.
Осталась одна проблема. Там нет названий месяцев и дней недели. Плагин их берет из системы. Сделал так чтобы они стали русскими, но они почему-то не в именительном падеже. К примеру название текущего месяца не "январь", а "января" и названия дней недели вообще как-то кривовато выглядят. Не подскажите где их найти? |
12.01.2011, 18:46 | #6 |
Новенький
Регистрация: 26.12.2010
Сообщений: 26
|
Проблема нашла свое решение.
Calendar Base берет эти названия из локали на сервере. Поэтому есть два варианта, поменять значения в локали, но это черевато большими проблемами, либо переписать сами функции плагина которые выдают даты. Я пошел вторым путем, изменил функции в файле /cal/res/PEAR/Date/Calc.php там нужно поменять всего две функции по сути. Так как названия дней недели берутся то правильно, просто их обрезание делается с ошибкой(когда отображаются укороченные названия дней недели). В первой функции PHP код:
Вторая функция: PHP код:
Третья функция: PHP код:
|
03.02.2011, 19:26 | #7 |
Новенький
Регистрация: 31.01.2011
Сообщений: 15
|
savao, спасибо большое!!!
у меня была похожая проблема, но только с сокращениями. Он мне писАл дни недели: П?, В? и т.д, месяцы - тоже: Я?, Ф? и т.д. У себя исправил только 2 функции: Date_Calc::getWeekdayAbbrname и Date_Calc::getMonthAbbrname. Код Date_Calc::getMonthAbbrname тоже по аналогии: Код:
function getMonthAbbrname($month, $length = 3) { $month = (int)$month; if (empty($month)) { $month = Date_Calc::dateNow('%m'); } switch(Date_Calc::getMonthFullname($month)) { case 'Январь': return 'Янв'; break; case 'Февраль': return 'Фев'; break; case 'Март': return 'Мар'; break; case 'Апрель': return 'Апр'; break; case 'Май': return 'Май'; break; case 'Июнь': return 'Июн'; break; case 'Июль': return 'Июл'; break; case 'Август': return 'Авг'; break; case 'Сентябрь': return 'Сен'; break; case 'Октябрь': return 'Окт'; break; case 'Ноябрь': return 'Ноя'; break; case 'Декабрь': return 'Дек'; break; default: return substr(Date_Calc::getMonthFullname($month), 0, $length); } } |
03.02.2011, 21:26 | #8 |
Новенький
Регистрация: 26.12.2010
Сообщений: 26
|
Ну да, проблема в том что по умолчанию он обрезает, оставляя только первые 3 символа. И для английского варианта все хорошо работает. А вот для русского получается косяк, у нас же используется UTF-8 где на каждый символ по 2 байта, а он оставляет только 3. И получается что в названии месяца остается только 1,5 буквы... Я там несколько по другому поступил, просто указал оставлять не 3 буквы, а 6. Это как раз получается 3 2ухбайтовые буквы. Но можно и так как вы сделали...
|
04.02.2011, 10:37 | #9 |
Новенький
Регистрация: 31.01.2011
Сообщений: 15
|
6 байт оставлять... для русскоязычного сайта, конечно, вариант, а если я захочу сделать мультиязычный сайт? На инглише он будет писать Januar, Februa, и т.д.?
Я UTF-8 плохо знаю, в других языках, например в немецком, обычные буквы - по одному байту, а дополнительные, с точками например, он по 2 байта делает? |
04.02.2011, 15:24 | #10 |
Новенький
Регистрация: 26.12.2010
Сообщений: 26
|
Да, для мультязычного такой метод не подходит, тут вы правы. Но просто у меня задача сделать именно рускоязычный сайт, поэтому у меня такой проблемы не возникнет.
А по поводу того как немецкие дополнительные буквы передаются, это я совсем не в курсе. Не смогу помочь. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Calendar Base настройка | margol | Общие вопросы | 11 | 24.04.2013 17:39 |
Проблема с календарем FrontEnd Event Calendar. | chiefff | Общие вопросы | 0 | 06.07.2009 18:58 |
Настройка. Calendar Base 1.0 | Nikolay | Общие вопросы | 1 | 17.07.2008 17:33 |
EXT: Calendar Base | m_admin | Общие вопросы | 0 | 03.12.2007 15:19 |
Calendar Base и minicalendar | OpTi | Общие вопросы | 3 | 28.11.2006 22:37 |