PDA

Просмотр полной версии : Перевод сайта...


Ивано++
21.03.2013, 20:25
Добрый день.

Вопрос про переводы...

1) Как понимаю typo3 понимает какой сейчас на сайте выбран язык через "_GET в строке адреса"?

id = идентификатор страницы
type = тип страницы (по умолчанию 0)
L = id - языка...

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

2) Проблема с которой столкнулся - как лучше переводить статический контент... К примеру в шаблоне сайта есть слова "Отправить, назад, голосовать, Домой и т.д.". Есть какие-то заранее запланированные переменные в php.

3) Да и шаблоны тоже - как лучше переводить?

Как лучше всего переводить статическое содержимое в шаблонах в зависимости от выбранного языка, и как еще можно организовывать переводы на typo3, кроме как через L.:o

--
Спасибо.
С уважением, Иван.

-=UncleByte=-
21.03.2013, 21:38
Иван, в том и прелесть что не создание полного сайта, а перевод в том же дереве страниц. Подробнее в документации на typo3.org

Ивано++
21.03.2013, 21:52
Хорошо, еще раз просканирую документацию слева на право, сверху вниз...

Но ключевым пока остается вопрос - есть ли еще варианты, как typo3 распознает тип языка кроме как в GET через параметр "L=1".:)

Если не найду, то напишу...

-=UncleByte=-
21.03.2013, 22:06
Других вариантов именно "распознавания" нет. Перевод "общих слов" можно вполне сделать при помощи RECORDS многоязычных.

Ивано++
21.03.2013, 23:30
Других вариантов именно "распознавания" нет.

Тогда это очень замечательно...

Перевод "общих слов" можно вполне сделать при помощи RECORDS многоязычных.

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

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

К примеру Вы создаете

page = PAGE
page.10 = TEXT
page.10.value = Версия сайта: {....}

Вот как лучше всего переводить это значение "Версия сайта"?
Создавать CONDITION на L - это крайне не удобно.
И как полагаю это единственный доступный вариант?

Материалы по теме перевода...
http://www.training-typo3.com/2008/12/15/typo3-multi-language/
http://huuah.com/multi-language-setup-in-typo3/
http://snipplr.com/view/29357/multilanguage-setup/


А в PHP-скриптах можно использовать
встроенный переводчик на основе фала locallang.xml - с этим все ясно.
И это очень удобно...

-=UncleByte=-
22.03.2013, 02:42
В бэкапе как раз в папке fileadmin/templates/ts есть TS шаблоны на тему "общих слов" сайта - можно посмотреть. Все на RECORDS сделано, чтобы как раз было многоязычно.

Ивано++
22.03.2013, 19:13
Как понял на сайте FB - переводы статики содержаться в определенных папках и соответственно, как элемент контента, в таблице tt_content... А в нужные места они вставляются через TS путем выборки соответствующей записи...

Про этот подходя мне известно.
Но мне не совсем это удобно...
Поэтому и ищу что-нибудь более простое...

К примеру есть список переменных. Которые мы переводим...
И их можно исползовать потом в TS и в PHP...
Причем что бы была возможность оредактировать в BE.

Ивано++
22.03.2013, 23:25
Еще нашел такие варианты:

1 - выдирать данные
{DB:lang_table:56:cn_iso_2}: {DB:lang_table:56:cn_official_name_local}
нужно использовать insertData = 1

2
<languageKey index="default" type="array">
<label index="related_items">Related items: </label>
</languageKey>

singleView {
related.dataWrap = <div class="related">{LLL:EXT:myextensionkey/pi1/locallang.xml:related_items}:|</div>
}

Ивано++
30.03.2013, 18:31
Вот поэтому, еще раз вижу для себя актуальной тему переводов....


По умаолчанию, к примеру tt_news предлагает в TCA-следующий набор полей для переводов:

'transOrigPointerField' => 'l18n_parent',
'transOrigDiffSourceField' => 'l18n_diffsource',
'languageField' => 'sys_language_uid',

а) Переводы в данном случае строятся в рамках одной таблицы.

б) Но есть еще вариант использовать дополнительную таблицу для переводов, как это сделано с деревом страниц pages / pages_language_overlay

в) и бродя по просторам интернета, то и дело натыкаюсь еще на различные поля, которые не могу понять, что должны делать: хотябы вот эта тема: http://blog.chandanweb.com/typo3/avoid-translation-of-field-using-tca-and-l10n_mode

l10n_mode : exclude ( do not translate this)
l10n_display : defaultAsReadOnly ( show field as read only in translated
records)

Так сказать есть желание пройтись по всем возможным компибанциям - что бы расширить кругозор...:)

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