Output localized strings with Typoscript¶
The getText property LLL can be used to fetch translations from a translation file and output it in the current language:
lib.blogListTitle = TEXT lib.blogListTitle.data = LLL : EXT:blog_example/Resources/Private/Language/locallang.xlf:blog.list
TypoScript conditions based on the current language¶
The condition function siteLanguage can be used to provide certain TypoScript configurations only for certain languages. You can query for any property of the language in the site configuration.
lib.something = TEXT [siteLanguage("locale") == "de_CH"] lib.something.value = This site has the locale "de_CH" [END] [siteLanguage("title") == "Italy"] lib.something.value = This site has the title "Italy" [END]
Changing localized terms using TypoScript¶
When localized strings are managed directly in TypoScript instead of
files the translations are not exported with export tools to be send to
translation agencies. The language strings in TypoScript might be
overlooked when introducing future translations.
It is possible to override texts in the plugin configuration in TypoScript for Extbase based plugins.
Overriding translations in non-Extbase plugins does not work out of the box.
_LOCAL_LANG has no effect if the ViewHelper
<f:translate> is used outside of the Extbase context.
See TypoScript reference, _LOCAL_LANG.
If, for example, you want to use the text "Remarks" instead of the
text "Comments", you can overwrite the identifier
comment_header for the affected languages. For this, you can
add the following line to your TypoScript template:
plugin.tx_blogexample._LOCAL_LANG.default.comment_header = Remarks plugin.tx_blogexample._LOCAL_LANG.de.comment_header = Bemerkungen plugin.tx_blogexample._LOCAL_LANG.zh.comment_header = 备注
With this, you will overwrite the localization of the term
comment_header for the default language and the languages "de" and "zh"
in the blog example.
locallang.xlf files of the extension do not need to be changed for
stdWrap offers the lang property,
which can be used to provide localized strings directly from TypoScript.
This can be used as a quick fix but it is not recommended to
manage translations within the TypoScript code.