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

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 16.02.2007, 14:24   #1
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию как безболезненно менять дефолтовый язык сайта?

Всем привет!

на сайте два языка.

по умолчанию немецкий, второй альтернативный (uid=1) английский.

Код:
# language by default is german
# language ID = 1 is English (L=1)

[GLOBAL]
#setting language selector variable 
config.linkVars = L
config.uniqueLinkVars = 1

#default german language
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0

#English language
[globalVar=GP:L=1]
config.sys_language_uid = 1
config.language = en
config.locale_all = english
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1
заказчик хочет чтоб теперь по умолчанию загружался сайт на английском языке.

если я в глобал прописываю английские настройки

Код:
# language ID = 1 is English (L=1)

[GLOBAL]
#setting language selector variable 
config.linkVars = L
config.uniqueLinkVars = 1

##########default english###############
config.sys_language_uid = 1
config.language = en
config.locale_all = english
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1
##########default english###############


#default german language
[globalVar=GP:L=0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0

#English language
[globalVar=GP:L=1]
config.sys_language_uid = 1
config.language = en
config.locale_all = english
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1
то все остальные настройки тайпо скрипта которые воспринимали глобал дериктиву как указание на немецкий язык теряют свой смысл, и соответсвенно работают неправильно (показывают немецкий вариант)

вопрос: как правильно построить языки чтоб можно было не зависеть от того какой сейчас по умолчанию?

не хочется переделывать все, но похоже прийдется.
(:) вне форума   Ответить с цитированием
Старый 18.02.2007, 15:26   #2
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Это само по себе уже не совсем рпавильно... но если надо, то как сделаете так и будет правильно. ..А переделовать..5 строчек переписать?
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 19.02.2007, 18:53   #3
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию

привет, Павел!

Что именно не правильно, я не совсем понял?
можете пояснить?
Цитата:
Сообщение от Pavel Antonov Посмотреть сообщение
Это само по себе уже не совсем рпавильно... но если надо, то как сделаете так и будет правильно. ..А переделовать..5 строчек переписать?
и если не трудно, поделитесь какое правильное направление решение может быть этой задачи с выбором независимого языка по умолчанию.
Пока что-то не приходят идеи в голову. Может уже кто решал подобную проблему?

спасибо,
Евгений
(:) вне форума   Ответить с цитированием
Старый 19.02.2007, 20:22   #4
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от (:) Посмотреть сообщение
привет, Павел!

Что именно не правильно, я не совсем понял?
можете пояснить?


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

спасибо,
Евгений
По моему мнению, менять дефолтный язык не правильно. Если разные части сайта имеют различный язык, то это вносит неразбериху.

"Правильного решения" нет... что Вас смушает? Для каждой ветки где нужен другой язык определяете свои константы language, locale, sys_language_uid.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 20.02.2007, 12:01   #5
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию

привет, Павел,

Цитата:
Сообщение от Pavel Antonov Посмотреть сообщение
По моему мнению, менять дефолтный язык не правильно. Если разные части сайта имеют различный язык, то это вносит неразбериху.

"Правильного решения" нет... что Вас смушает? Для каждой ветки где нужен другой язык определяете свои константы language, locale, sys_language_uid.
тут дело в другом.
необходимо изменить дефолтовый язык для всего сайта сразу.

т.е. сначала был немецкий и по чистому урл грузился немецкий вариант.
в то же время второй язык грузился когда параметр "L=1" и дополнительно если параметр "L=0" грузит снова первый язык.

Но теперь задача изменилась, и необходимо чтобы по чистому урл грузился второй язык. Издесь проблема.

Вопрос: возможно ли задавать значение параметра "L=" из тайпоскрипта.
тогда, возможно, можно было установить в глобальном контексте этот параметр в необходимый дефолтовый язык а дальше все условия отработали бы в зависимости от установленного параметра.

спасибо,
Евгений
(:) вне форума   Ответить с цитированием
Старый 20.02.2007, 14:51   #6
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от (:) Посмотреть сообщение
привет, Павел,
тут дело в другом.
необходимо изменить дефолтовый язык для всего сайта сразу.

т.е. сначала был немецкий и по чистому урл грузился немецкий вариант.
в то же время второй язык грузился когда параметр "L=1" и дополнительно если параметр "L=0" грузит снова первый язык.

Но теперь задача изменилась, и необходимо чтобы по чистому урл грузился второй язык. Издесь проблема.

Вопрос: возможно ли задавать значение параметра "L=" из тайпоскрипта.
тогда, возможно, можно было установить в глобальном контексте этот параметр в необходимый дефолтовый язык а дальше все условия отработали бы в зависимости от установленного параметра.

спасибо,
Евгений
L= это всего лишь внешний параметр, ни на что не влияет и может интерпритироваться по желанию... Поменяйте установку sys_language_id и все будет как надо.
Код:
[GLOBAL]
#setting language selector variable 
config.linkVars = L
config.uniqueLinkVars = 1

# English language
config.sys_language_uid = 1
config.language = en
config.locale_all = english
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1

# german language
[globalVar=GP:L=1]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0
Вот и все... теперб по умолчанию английский, а по L=1 немецкий... и совершенно не обязательно что бы L == sys_language_uid...
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 20.02.2007, 19:12   #7
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию

привет, спасибо антон,

но не все так просто.

дело в том, что в различных местах тайпо скрипта
используется условие по параметру L=

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

ссылки и надписи в статической поисковой форме
которую я тоже генерю ручками через тайполинк и т.п.
например чтоб было лучше понятно:
Код:
[global]
#search box
temp.searchbox_label = TEXT
temp.searchbox_label.value = Suche

#English language
[globalVar=GP:L=1]

temp.searchbox_label.value = Search

[global]
lib.bodyTemplate.marks.SEARCH_LABEL < temp.searchbox_label

#advanced search
temp.advanced_search_label = TEXT
temp.advanced_search_label.value = Erweiterte Suche

#English language
[globalVar=GP:L=1]
temp.advanced_search_label.value = Advanced Search
[global]
temp.advanced_search_label {
  typolink {
    parameter = suche_seite
    additionalParams = &tx_indexedsearch[ext]=1
    wrap = <img src="{$arrowImgFile}"/>|
    ATagBeforeWrap = 1
  }
}
lib.bodyTemplate.subparts.ADVANCED_SEARCH_LINK < temp.advanced_search_label

#sitemap LINK
temp.sitemap_link = TEXT
temp.sitemap_link.value = Sitemap

#English language
[globalVar=GP:L=1]
temp.sitemap_link.value = Sitemap
[global]
temp.sitemap_link{
  typolink {
    parameter = sitemap_seite
    wrap = <img src="{$arrowImgFile}"/>|
    ATagBeforeWrap = 1
  }
}

lib.bodyTemplate.subparts.SITEMAP_LINK < temp.sitemap_link

#search page url with alias
temp.searchpage_url = TEXT
temp.searchpage_url.typolink.parameter = suche_seite
temp.searchpage_url.typolink.returnLast = url

lib.bodyTemplate.marks.SEARCH_PAGE_URL < temp.searchpage_url
такой способ решения был достаточно действенный.

плюс мой плагин тоже завязан на параметр "L="

таким образом не достаточно только изменить в том месте где вы сказали.
а возникает необходимость править ручками весь тайпоскрипт код.

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

может есть идеи?
или я вобще иду не верным путем?
(:) вне форума   Ответить с цитированием
Старый 21.02.2007, 02:41   #8
Дмитрий Самойлов
Продвинутый
 
Регистрация: 28.03.2005
Сообщений: 78
Отправить сообщение для Дмитрий Самойлов с помощью ICQ Отправить сообщение для Дмитрий Самойлов с помощью Skype™
По умолчанию

Поставте realurl, там есть возможность выставить язык если не передан параметр L

'preVars'=> array(
array(
'GETvar' => 'L',
'valueMap' => array( 'ru' => '0', 'en' => '1' ),
'valueDefault' => 'ru',
),
),

вот valueDefault как раз и решает какой язык отображать при опущенноом L
Дмитрий Самойлов вне форума   Ответить с цитированием
Старый 26.02.2007, 13:56   #9
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию

спасибо, Дмитрий,

задачу решил, простой корректировкой тайпоскрипта, вобщем не так много оказалось.

посчитал, что в моем случае это меньшие услиля, по сравнению с установкой и настройкой realUrl.

спасибо за совет, сам собирался разобраться этим расширением.
есть вопросы по нему. Но лучше создам новую тему.

а что касаемо универсального решения в чистом тайпоскрипте, вопрос остается актуальным пока. сам не нашел еще решения...

всме спасибо
(:) вне форума   Ответить с цитированием
Старый 30.04.2008, 00:44   #10
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
Question

Цитата:
Сообщение от (:) Посмотреть сообщение
[...]
задачу решил, простой корректировкой тайпоскрипта, вобщем не так много оказалось.
[...]
…, а решение посмотреть можно?
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA
thebat вне форума   Ответить с цитированием
Ответ

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
tt_news - КАК менять ссылку на другую страницу? Baltazarr Общие вопросы 2 25.07.2006 16:10
Как подключить украинский язык Yura Общие вопросы 1 19.12.2005 15:54
Как подключить русский язык? Max Локализация проекта 2 16.10.2005 09:45
Как сменить язык на русский? Mr. Blonde Установка 4 30.05.2005 17:31


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


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

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