Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Есть ли дока по созданию многоязычных сайтов? (http://forum.typo3.ru/showthread.php?t=4583)

Alex Podusov 29.07.2008 14:16

у меня вот так
(то, что касаемо переключения языка)
Код:

...

config {
        admPanel=0
        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 = 2]
config.sys_language_uid = 2
config.htmlTag_langKey = en-US
config.locale_all = en_US.UTF8
config.language = en
[global]
[globalVar = GP:L = 3]
config.sys_language_uid = 3
config.htmlTag_langKey = de-DE
config.locale_all = de_DE.UTF8
config.language = de
[global]

includeLibs.something=fileadmin/template/tt_news_languageMenu.php
lib.menu_langselector = USER
lib.menu_langselector {
userFunc = user_languageMenu
}

...

здесь config.sys_language_uid - номера записей соответствующего языка в корне дерева. Опытным путем понял, что [globalVar = GP:L = ...] должна соответствовать uid, и в файле шаблона эту же цифру надо поставить в индексе массива переключателей языка (тоже выяснилось опытным путем)

HardRock 29.07.2008 17:22

Добавляю Вышеприведённый код в конфиг,
каким образом теперь отобразить панель языков на сайте ?

Также я понял что в этом коде по умолчанию стоит русский, второстипенные английский и немецкий так ?

Файл tt_news_languageMenu.php где брать ?

Alex Podusov 29.07.2008 17:35

Да правильно. В шаблоне я замапил область под вывод языкового меню - menu_langselector .
в корне сайта добавил два языка сайта (website language) - ayukbqcrbq и немецкий. Записи имеют id (у меня, у вас могут быть и другие цифры, если вы эти записи создавали, и удаляли, а потом снова создавали...) 2 и 3 соответственно (это важно запомнить!)
далее: скопировал флаги в папку fileadmin/media/ , скопировал файл tt_news_languageMenu.php в папку fileadmin/template/ , и внес в него изменения:

Код:

        $defaultflag = array(
                'on' => '<img src="fileadmin/media/flag_ru.gif" width="21" height="13" hspace="5" border="0" alt="" />',
                'off' => '<img src="fileadmin/media/flag_ru_d.gif" width="21" height="13" hspace="5" border="0" alt="" />',
        ) ;


        // image files for additional languages. the numbers are the uids of the system languages
        $flagimages = array(
                '2' => array(
                        'on' => '<img src="fileadmin/media/flag_en.gif" width="21" height="13" hspace="5" border="0" alt="" />',
                        'off' => '<img src="fileadmin/media/flag_en_d.gif" width="21" height="13" hspace="5" border="0" alt="" />'
                        ),
                '3' => array(
                        'on' => '<img src="fileadmin/media/flag_de.gif" width="21" height="13" hspace="5" border="0" alt="" />',
                        'off' => '<img src="fileadmin/media/flag_de_d.gif" width="21" height="13" hspace="5" border="0" alt="" />'
                        )
                );

И только после этого вышеизложенный код TS возымеет действие

Да, есть в шаблоне ещё вот такая строчка
Код:

        // Pointer for the active language
        $pointer = '<img src="t3lib/gfx/content_client.gif" width="7" height="10" alt="" />';

здесь тоже надо указать указатель (прошу прощения за тавтологию, который будет указывать (ещё раз простите :) ) какой язык сейчас активен.
И ещё раз - обратите внимание на id записей языка.

HardRock 29.07.2008 17:42

А что нужно добавить, если контент альтернативного языка не отображается, даже если в админке нажать на его просмотр ((

Alex Podusov 29.07.2008 17:53

Альтернативный язык страниц добавлен (для каждой страницы в отдельности - выбирается из установленных языков вебсайта в корне дерева страниц) ? Созданы страницы для альтернативных языков?

HardRock 29.07.2008 19:33

в setup ввёл такое

page.1.includeLibs.multilanguage = fileadmin/templates/cms/tt_news_languageMenu.php
temp.languageMenu = USER
temp.languageMenu.userFunc = user_languageMenu

page.1 {
subparts.LANG < temp.languageMenu
}

в индекс вставил

<!-- ###LANG### -->
<!-- ###LANG### -->

флаги не отображаются, когда загружаю страницы с английским и смотрю исходник, то ети теги там пропадают(или заменяются на пустые строки), а если смотрю страницы на русском то ети теги остаются (((

HardRock 30.07.2008 18:00

Помогите доделать эту ШТУКУ !!!

может кто сталкивался с такой проблемой :

page.1 {
subparts.MENU_LENG = PHP_SCRIPT
subparts.MENU_LENG.file = fileadmin/templates/cms/tt_news_languageMenu.php
}

этот код я добавил в setup и вродебы всё заработало НО!

теперь эти флаги отображаются не только в там, где я им указал, но еще и в хедере страници, из-за чего пхп выдаёт ошибку , что хедер ужеуказан.


Вот теперь непойму почему он дублирует вывод в совершенно левом месте?

Еще чуть не забыл в файл tt_news_languageMenu.php
я внёс изменения, в начале стёр строку обьявляющую начало функции, а в концевместо return написал echo и только тогдда у меняя чтото начало отображатся (точнее начало отображатся то что я написал выше

Alex Podusov 11.08.2008 13:18

Вложений: 2
Тема ушла в самый низ и почти сгинула на следующую страницу, однако возникшая неприятность не даст нам получить такое искреннее удовольствие!
Вот... Заканчиваем лирическое отступление и переходим к делу. Значится, как выше описано - сайт на три языка: русский дефолтный, немецкий (id=3) и английский (id=2).
И вот при заходе в BE через модуль Список, и стандартную Страницу - всё нормально, отображаются все три языка (файл lang.jpg), а вот через Страницу TV - только стандартный и немецкий (файл lang-tv.jpg)... Сейчас уже не припомню, но помоему так было и с самого начала. В чем тут казус? Куда в модуле BE Templavoila подевался Английский язык?.. :confused:

HardRock 18.08.2008 12:34

Цитата:

Сообщение от Alex Podusov (Сообщение 20817)
Тема ушла в самый низ и почти сгинула на следующую страницу, однако возникшая неприятность не даст нам получить такое искреннее удовольствие!
Вот... Заканчиваем лирическое отступление и переходим к делу. Значится, как выше описано - сайт на три языка: русский дефолтный, немецкий (id=3) и английский (id=2).
И вот при заходе в BE через модуль Список, и стандартную Страницу - всё нормально, отображаются все три языка (файл lang.jpg), а вот через Страницу TV - только стандартный и немецкий (файл lang-tv.jpg)... Сейчас уже не припомню, но помоему так было и с самого начала. В чем тут казус? Куда в модуле BE Templavoila подевался Английский язык?.. :confused:


Проверьте создан ли английский язык , как альтенативный ?
Может на страницу поиска вы поставили отдельный шаблон, и в нём не всё указали ?, typo3config может там англ пропустили ?




А у меня вот такая проблема, сатй на англ ( по умолчанию) и русском, так вот :
Выбираем языка сайта русский, всё нормально , контент поменялся, но вот если страницы , которая нам нужна , на руском еще нету, то контент выводится английский, и вместе с ним на сайте появляется английское меню, хотя выбран русский язык.

Можно както зделать, чтоб раз уж выбран русский, то и меню всегда на русском, независимо от того есть перевод этой сраницы или нету ?

Pavel Antonov 18.08.2008 13:08

Цитата:

Сообщение от Alex Podusov (Сообщение 20817)
Куда в модуле BE Templavoila подевался Английский язык?.. :confused:

Обычно это означает что в определении языка не задан ISO-код (static_info_tables). TemplaVoila с такими языками не работает. Проверьте карточку языка.


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

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