2013-11-28 7 views
0

Я узнал, как локализовать страницы и их элементы динамического контента, используя параметр L. Но как мне локализовать такие вещи, как тексты кнопок и т. Д.? Каковы наилучшие методы?Как локализовать статические ресурсы в TYPO3

Например, у меня есть текстовая кнопка «меню переключения», которую мне нужно локализовать. Другим примером может быть текст с авторскими правами нижнего колонтитула.

EDIT: Я обнаружил, славно ищет помощника

<f:translate key="key1" /> 

, но использование немного сложнее, и я не могу заставить его работать. Может кто-нибудь объяснить процесс? Также я нашел ссылку на XLIFF.

EDIT: Хорошо, я могу использовать locallang.xml с переводом viewhelper. Чего не хватает разместить его в качестве ответа, что я должен указать путь, как

<f:translate key="LLL:fileadmin/.../locallang.xml:button-label" /> 

вместо просто

<f:translate key="key1" /> 

Я не являюсь в любом расширении, так что я задаюсь вопросом, есть ли место для размещения файла locallang, поэтому можно использовать только ключ. extension_name/Resources/Private/Language/считается правильным местом для расширений. fileadmin/Resources/Private/Language/не работает, а также/Resources/Private/Language /.

+0

Я добавил несколько экземпляров. –

+0

Typo3 6.1, Fluid (+ vhs ViewHelpers). –

+0

В общем, вы должны объявить эти тексты в TypoScript как cObjects, так что вы также сможете переключить его с условием «GP: L», к сожалению, не можете дать вам какой-либо образец atm – biesior

ответ

1

Heres это Oldschool подход для реального образца, он отлично работает и надежно:

temp.pagetitle = TEXT 
temp.pagetitle { 
    value = {page:title} (Standard Text) 
    insertData = 1 
} 

[globalVar = GP:L = 1] 
temp.pagetitle.value = {page:title} (Translated Text) 
[global] 

или даже

константы:

thetext = Standard Text 
[globalVar = GP:L = 1] 
thetext = Translated Text 
[global] 

установки:

temp.pagetitle = TEXT 
temp.pagetitle { 
    value = {page:title} {$thetext} 
    insertData = 1 
} 
2

Чтобы локализовать статические объекты TypoScript, вы не должны использовать условия, потому что они более дорогостоящие по производительности (и вам, очевидно, потребуется больше кода, как вы видите на примере Urs). Лучше использовать свойство Ланг:

myLabel = TEXT 
myLabel.value = Print 
myLabel.lang.de = Drucken 

Ссылка на документацию: http://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Stdwrap/Index.html#stdwrap-lang

+0

А, пока не встречал. Я всегда использовал _LOCAL_LANG, но иногда сталкивался с проблемами. Где это документировано, и работает ли оно с insertData? – Urs

+0

AFAIK это только для статических значений. Я добавил ссылку на документацию. – lorenz