Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Локализация проекта

Ответ
 
Опции темы Опции просмотра
Старый 30.09.2009, 00:08   #1
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию tt_news: Перевод для "backToList"

Мне надо локализовать tt_news. Для этого я вставляю следующий код в TS:

Код:
plugin.tt_news {

_LOCAL_LANG.ru{
pi_list_browseresults_prev = < Предыдущая
pi_list_browseresults_page =
pi_list_browseresults_next = Следующая >
pi_list_browseresults_first = <-первая
pi_list_browseresults_last = последняя->
textCat = Тематические разделы:
#pi_list_browseresults_displays = Displaying results ###SPAN_BEGIN###%s to %s</span> out of ###SPAN_BEGIN###%s</span>
pi_list_browseresults_displays = Отображено с ###SPAN_BEGIN###%s по %s</span>, всего ###SPAN_BEGIN###%s</span>
pi_list_searchBox_search = Найти
preAuthor =
# archiveHeader =
archiveItems =
backToList = Вернуться к списку
#noNewsToListMsg = no_news_items
#noNewsToListMsg =

}
}
Но при отображении SINGLE у меня элемент backToList (ссылка назад, на ленту новостей) переводится некорректно.
Почему-то все знаки & заменяются на &amp;
И вместо "Вернуться к списку" я получаю: "&#x412;&#x435;&#x440;&#x43d;&#x443;&#x442;&#x44c; &#x441;&#x44f; &#x43a; &#x441;&#x43f;&#x438;&#x441;&#x43a;&#x443;"

Все остальное переводится вроде нормально.

Как можно отключить эту замену (или обойти ее), чтобы нормально отображались буквы?
Игорь Ф. вне форума   Ответить с цитированием
Старый 30.09.2009, 16:42   #2
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Вот нашел некую функцию - t3lib_div::deHSCentities, которая может реконвертировать "&amp;" в "&"
Но не знаю, как ей воспользоваться.

Да и должно же быть другое решение. У остальных ведь работает...
Игорь Ф. вне форума   Ответить с цитированием
Старый 30.09.2009, 17:12   #3
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Сейчас убрал строчку, относящуюся к backToList.

Выдает:
<- &#x43d;&#x430;&#x437;&#x430;&#x434; &#x432;: Новости

То есть почему-то в половину (назад в) вставляет &amp; а в половину (Новости) нет.
Игорь Ф. вне форума   Ответить с цитированием
Старый 01.10.2009, 14:10   #4
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

tt_news\pi1\locallang.xml
- все переводы правь тут ручками, в блоке
Код:
		<languageKey index="ru" type="array">
                ...............
		</languageKey>
, или через Locallang-XML Translation Tool
Alex Podusov вне форума   Ответить с цитированием
Старый 01.10.2009, 21:40   #5
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Спасибо. Я нашел эту страницу. Там нормально написано - "&lt;- назад в: %s"
Вот именно эта часть "назад в", у меня отображается неверно - туда вставляются &amp;

Не понимаю, что я могу с этим сделать...
Игорь Ф. вне форума   Ответить с цитированием
Старый 20.10.2009, 21:53   #6
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Вначале сразу не сообразил: у меня перевод находится в /l10n/ru/tt_news/pi/ru.locallang.xml

Но пока так и не могу понять в чем дело...
Игорь Ф. вне форума   Ответить с цитированием
Старый 20.10.2009, 22:05   #7
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Очевидно, что причина лежит где-то глубже, в способе обработки label "backToList". Потому что я на этой же странице (SINGLE) могу отображать фразу "<- назад в: %s", если, например, вставляю её в label "more" и отображаю этот label через шаблон.
Игорь Ф. вне форума   Ответить с цитированием
Старый 21.10.2009, 00:15   #8
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

В общем, обнаружил нужную строчку в файле tt_news/pi/class.tx_ttnews.php:
Код:
$markerArray['###BACK_TO_LIST###'] = sprintf($this->pi_getLL('backToList', '', $this->conf['hscBackLink']), $backP['title']);
Если я положим меняю её на
Код:
$markerArray['###BACK_TO_LIST###'] = $this->pi_getLL('backToList');
то всё выдается по-русски.

Но не работает предустановленная опция с отображением имени страницы, на которую нужно вернуться. В принципе, так как я собирался использовать TS, мне это не критично. Единственная проблема - вдруг это еще где-то используется? Может кто знает? И вообще в чем причина такого поведения функции sprintf?
Игорь Ф. вне форума   Ответить с цитированием
Старый 21.10.2009, 00:37   #9
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Всё, разобрался. Добавил в TS вот эту строчку:
Код:
plugin.tt_news.hscBackLink = 0
Теперь все работает без изменения исходников. Почему нельзя было не прописать это нормально в документации?!

В мануале написано только вот это:
Цитата:
hscBackLink - If this is enabled the “Back to list” link in the SINGLE view will be parsed through the PHP function htmlspecialchars().
Игорь Ф. вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
очистка кеша для определенного урла demav Общие вопросы 8 03.10.2008 16:57
Что использовать для простого каталога? cronfy Магазины и каталоги для TYPO3 4 23.05.2008 12:36
TS-код для размеченой области TV Andrey Grey TypoScript практикум 4 20.02.2008 21:01
Статистика для посетителей сайта thebat TYPO3: SEO и статистика посещений 9 15.12.2007 19:59
Перевод TSref для 3.8 Игорь Рубцов Общие вопросы 4 09.10.2006 18:26


Часовой пояс GMT +4, время: 21:31.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория