![]() |
Дабы не создавать новую тему - продолжу здесь.
Перечитал доку и форум. вопрос такой. Сайт многоязычный: Русский (основной), английский, немецкий. Как необходимо делать? Заводить всё на английском языке (который уже "вшит" в систему как основной), добавлять переводы на русский и немецкий, указав в шаблоне, что русский язык считать дефолтным? Или изначально заводить структуру страниц (заголовки) и контент в них на основном языке? Для самого контента в обоиз случаях различия нет, это я понимаю, но не возникнет ли ситуация, когда язык для контента переключается правильно - а для системных сообшений (например в том же tt_news ссылки подробнее и т.п.) - будут выводиться на другом языке? Поэкспериментировал бы сейчас же сам, но застопорился на подключении языкового меню... А сам вопрос не дает покоя сейчас :) |
Не очень понял, но:
1) за язык отображения системных сообщений и язык содержимого отвечают разные настройки (sys_language_uid и language/locale_all соответственно). 2) дефолтным языком можно делать любой, вовсе не обязательно английский. |
Цитата:
(это необходимо, если у вас там многоязычные новости есть) |
Цитата:
Я вставил строчку в setup шаблона page.config.language = ru в результате чего системные сообщения, как минимум tt_news, выдаются во фронтэнд русскими. http://florant.ru/download/setup.png 1.чем отличаются page.config.language = ru и config.language = ru ? 2.config.locale_all = ru_RU.CP1251 не надо ли поменять на utf8? предполагается иметь перевод страниц на немецкий язык. 3. Сначала я завожу записи языков перевода (Языки сайта) в корне вебсайта, затем мне необходимо завести на каждой странице, которую буду переводить - Альтернативный язык страницы, и тогда этот язык становится доступным для перевода. Или я не правильно всё понимаю? Цитата:
как указано для realURL - указал в setup Код:
config.simulateStaticDocuments = 0 Замапил размещение меню в шаблоне и прописал в setup Код:
includeLibs.something=fileadmin/template/InfoCenter/tt_news_languageMenu.php |
Эксперименты показали:
Переводы страниц можно делать сразу после указания языков сайта (website language) в корне дерева страниц. Однако пока не будут указаны соответствующие альтернативные языки страницы (alternative language page) - язык перевода будет недоступен во frontend. Что касается языкового меню из tt_news. в первых строчках соответственно указываем пути к картинкам флагов, а индексы массива '1' и '2' заменяем на id соответствующей записи языка website language. и, как я и говорил уже - что-то я упускаю... языки не переключаются. PS вот оно что! добавил после строки config.language = ru Код:
config.language = ru |
config.* свойства действуют глобально, а page.config.* - только на этот объект типа PAGE. (объектов PAGE может быть несколько, у них обязательно должен быть разный typeNum).
Вот пример настройки для сайта с дефолтным русским и опциональным английским: Код:
config { Ещё одна важная настройка - PHP код:
|
Цитата:
Немного поэкспериментировал - и вышло у меня вот что - 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 |
Вопрос с перекодировкой снят. Выставленное в настройках мускуля сравнение в utf8-general-ci не действует на уже установленные таблицы. А пизначально в нем стоит cp1251. При загрузке таблиц из установщика тайпо они грузятся именно с этой настройкой. поэтому из phpMyAdmin сделал дамп базы, сохранил в файл, далее открыл блокнотом (HTMLPad - кстати прекрасное средство) и сделал замену по всему документу cp1251 на utf8.
Затем в phpMyAdmin (открытый через контрольную панель хостера, а не из тайпы) удалил все таблицы (иначе будет писать об ошибке) и загрузил весь дамп обратно. Все таблицы и записи стали в utf8-general-ci |
Цитата:
если чесно я вообще непредставляю как это зделать ( |
Цитата:
в сетап добалил такие строки page.includeLibs.multilanguage = fileadmin/example_languageMenu.php temp.languageMenu = USER temp.languageMenu.userFunc = user_languageMenu subparts.langMenu < temp.languageMenu теперь при запускестраницы выдаёт такое ((( Error: No parent object present. |
Часовой пояс GMT +4, время: 20:55. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot