Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
21.07.2008, 16:57 | #21 |
Senior Member
|
Дабы не создавать новую тему - продолжу здесь.
Перечитал доку и форум. вопрос такой. Сайт многоязычный: Русский (основной), английский, немецкий. Как необходимо делать? Заводить всё на английском языке (который уже "вшит" в систему как основной), добавлять переводы на русский и немецкий, указав в шаблоне, что русский язык считать дефолтным? Или изначально заводить структуру страниц (заголовки) и контент в них на основном языке? Для самого контента в обоиз случаях различия нет, это я понимаю, но не возникнет ли ситуация, когда язык для контента переключается правильно - а для системных сообшений (например в том же tt_news ссылки подробнее и т.п.) - будут выводиться на другом языке? Поэкспериментировал бы сейчас же сам, но застопорился на подключении языкового меню... А сам вопрос не дает покоя сейчас |
21.07.2008, 22:13 | #22 |
Senior Member
|
Не очень понял, но:
1) за язык отображения системных сообщений и язык содержимого отвечают разные настройки (sys_language_uid и language/locale_all соответственно). 2) дефолтным языком можно делать любой, вовсе не обязательно английский.
__________________
TYPO3 FAQ |
21.07.2008, 22:34 | #23 | |
Administrator
|
Цитата:
(это необходимо, если у вас там многоязычные новости есть) |
|
22.07.2008, 12:57 | #24 | ||
Senior Member
|
Цитата:
Я вставил строчку в setup шаблона page.config.language = ru в результате чего системные сообщения, как минимум tt_news, выдаются во фронтэнд русскими. 1.чем отличаются page.config.language = ru и config.language = ru ? 2.config.locale_all = ru_RU.CP1251 не надо ли поменять на utf8? предполагается иметь перевод страниц на немецкий язык. 3. Сначала я завожу записи языков перевода (Языки сайта) в корне вебсайта, затем мне необходимо завести на каждой странице, которую буду переводить - Альтернативный язык страницы, и тогда этот язык становится доступным для перевода. Или я не правильно всё понимаю? Цитата:
как указано для realURL - указал в setup Код:
config.simulateStaticDocuments = 0 config.baseURL = http://florant.info/ config.tx_realurl_enable = 1 config.uniqueLinkVars = 1 config.linkVars = L Замапил размещение меню в шаблоне и прописал в setup Код:
includeLibs.something=fileadmin/template/InfoCenter/tt_news_languageMenu.php lib.menu_langselector = USER lib.menu_langselector { userFunc = user_languageMenu } Последний раз редактировалось Alex Podusov; 22.07.2008 в 17:03 |
||
22.07.2008, 17:25 | #25 |
Senior Member
|
Эксперименты показали:
Переводы страниц можно делать сразу после указания языков сайта (website language) в корне дерева страниц. Однако пока не будут указаны соответствующие альтернативные языки страницы (alternative language page) - язык перевода будет недоступен во frontend. Что касается языкового меню из tt_news. в первых строчках соответственно указываем пути к картинкам флагов, а индексы массива '1' и '2' заменяем на id соответствующей записи языка website language. и, как я и говорил уже - что-то я упускаю... языки не переключаются. PS вот оно что! добавил после строки config.language = ru Код:
config.language = ru [globalVar = GP:L = 2] config.sys_language_uid = 2 config.language = en [globalVar = GP:L = 3] config.sys_language_uid = 3 config.language = de [global] Последний раз редактировалось Alex Podusov; 22.07.2008 в 17:46 |
23.07.2008, 00:10 | #26 |
Senior Member
|
config.* свойства действуют глобально, а page.config.* - только на этот объект типа PAGE. (объектов PAGE может быть несколько, у них обязательно должен быть разный typeNum).
Вот пример настройки для сайта с дефолтным русским и опциональным английским: Код:
config { linkVars = L uniqueLinkVars = 1 sys_language_overlay = hideNonTranslated sys_language_softMergeIfNotBlank = tt_content:image, tt_content:header sys_language_uid = 0 htmlTag_langKey = ru-RU locale_all = ru_RU.UTF8 language = ru } [globalVar = GP:L = 1] config.sys_language_uid = 1 config.htmlTag_langKey = en-US config.locale_all = en_US.UTF8 config.language = en [global] Ещё одна важная настройка - PHP код:
__________________
TYPO3 FAQ |
23.07.2008, 12:34 | #27 | |
Senior Member
|
Цитата:
Немного поэкспериментировал - и вышло у меня вот что - id записи английского языка - 2 id записи немецкого языка - 3 всё начинает нормально работать только тогда, когда в globalVar = GP:L = ставлю id данного языка и в этот же id указываю в качестве индекса в массиве переключателей в языковом меню из tt_news. Все остальные варианты перепробывал - не работает (вернее работает, но с неожиданными результатами). Ну это я так. Просто интересна была связь ключей с индексами. Вот такой вопрос: sitetitle - его значение невозможно изменить? в зависимости от языка вывода? не получается... PS : в дополнение. в мускуле стоит: MySQL-кодировка: UTF-8 Unicode (utf8) Сопоставление соединения с MySQL:utf8_unicode_ci В таблицах сравнение: cp1251_general_ci Именно из-за этого я не могу вводить в базу символы немецкого языка, и они заменяются на знаки вопроса? Если я через phpMyAdmin изменю cp1251_general_ci на utf8-bin - не слетит ли база, и вместе с ней всё то, что я уже успел наделать? PSS Вот такие настройки мускуля Код:
character set client utf8 (Глобальное значение) cp1251 character set connection utf8 (Глобальное значение) cp1251 character set database cp1251 character set results utf8 (Глобальное значение) cp1251 character set server cp1251 character set system utf8 collation connection utf8_unicode_ci (Глобальное значение) cp1251_general_ci collation database cp1251_general_ci collation server cp1251_general_ci Последний раз редактировалось Alex Podusov; 23.07.2008 в 15:28 Причина: очепятки исправлял... |
|
23.07.2008, 16:00 | #28 |
Senior Member
|
Вопрос с перекодировкой снят. Выставленное в настройках мускуля сравнение в utf8-general-ci не действует на уже установленные таблицы. А пизначально в нем стоит cp1251. При загрузке таблиц из установщика тайпо они грузятся именно с этой настройкой. поэтому из phpMyAdmin сделал дамп базы, сохранил в файл, далее открыл блокнотом (HTMLPad - кстати прекрасное средство) и сделал замену по всему документу cp1251 на utf8.
Затем в phpMyAdmin (открытый через контрольную панель хостера, а не из тайпы) удалил все таблицы (иначе будет писать об ошибке) и загрузил весь дамп обратно. Все таблицы и записи стали в utf8-general-ci |
28.07.2008, 12:50 | #29 | |
Senior Member
Регистрация: 23.07.2008
Сообщений: 136
|
Цитата:
если чесно я вообще непредставляю как это зделать ( |
|
29.07.2008, 13:35 | #30 | |
Senior Member
Регистрация: 23.07.2008
Сообщений: 136
|
Цитата:
в сетап добалил такие строки page.includeLibs.multilanguage = fileadmin/example_languageMenu.php temp.languageMenu = USER temp.languageMenu.userFunc = user_languageMenu subparts.langMenu < temp.languageMenu теперь при запускестраницы выдаёт такое ((( Error: No parent object present. |
|