【问题标题】:typo3 templavoila check current language错字3 templavoila 检查当前语言
【发布时间】:2015-05-21 09:02:19
【问题描述】:

您好,我的错字中有 4 种语言。这是我对他们的主要配置:

#LANGS
config.linkVars=L
config.defaultGetVars.L = 0
config.sys_language_overlay = hideNonTranslated
[globalVar = GP:L = 3]
config.sys_language_uid = 3
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 3
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = ro
config.locale_all = ro_RO
config.htmlTag_langKey = ro
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 2
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1
[global]

一切正常。 我正在使用 templavoila 和 realurl。

在模板/模块/灵活内容之一中,我只有在其不为空时才会显示排版:

10 = TEXT
10.field = field_test
10.wrap = info: |
10.if.isTrue.field = field_test

现在我想以不同的版本显示这个字段:

喜欢:

10.wrap = informationen | 

对于 DE 语言等

我如何在这里查看当前的语言是什么?

【问题讨论】:

    标签: typo3 typoscript templavoila


    【解决方案1】:

    在 TypoScript 中使用翻译标签

    您可以在 TypoScript 中使用翻译标签。例如:

    {LLL:typo3conf/customlabels.xlf:label.id}
    {LLL:EXT:mytemplateext/Resources/Private/Language/locallang.xlf:label.id}
    

    你可能想看看:

    http://docs.typo3.org/typo3cms/FrontendLocalizationGuide/BasicSetupOfALocalizedWebsite/Llxml%28locallang-xml%29InPluginsAndTyposcript/Index.html

    llXML 文件是包含标签的 XML 文件,如果安装了语言包,系统可以在本地化版本中获取这些标签。如果您想在 TypoScript 中从 llXML 文件中检索值,您可以这样做:

    page.20 = TEXT page.20.stdWrap.data =
    LLL:EXT:indexed_search/pi/locallang.xml:submit_button_label
    

    另见:

    http://docs.typo3.org/typo3cms/CoreApiReference/Internationalization/Introduction/Index.html http://docs.typo3.org/typo3cms/InsideTypo3Reference/CoreArchitecture/Localization/Locallang-xml%28llxml%29Files/Index.html

    TypoScript 变量

    您可以使用自己的设置扩展语言配置。例如:

    #LANGS
    config.linkVars=L
    config.defaultGetVars.L = 0
    config.sys_language_overlay = hideNonTranslated
    myLanguageLabels {
        info = info
    }
    [globalVar = GP:L = 3]
    config.sys_language_uid = 3
    config.language = en
    config.locale_all = en_EN
    config.htmlTag_langKey = en
    myLanguageLabels {
        info = info 2
    }
    plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 3
    [globalVar = GP:L = 2]
    config.sys_language_uid = 2
    config.language = ro
    config.locale_all = ro_RO
    config.htmlTag_langKey = ro
    myLanguageLabels {
        info = info 3
    }
    plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 2
    [globalVar = GP:L = 1]
    config.sys_language_uid = 1
    config.language = de
    config.locale_all = de_DE
    config.htmlTag_langKey = de
    plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1
    myLanguageLabels {
        info = info 3
    }
    [global]
    

    然后只需指出您要使用的变量:

    10.wrap = {$myLanguageLabels.info}: |
    

    【讨论】:

    • 是的,这是一个不错的选择。但是,如果我有例如 1000 个标签,那么它会一团糟。我正在寻找更优雅的解决方案。
    • 我已经扩展了我的答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2023-03-20
    • 2013-06-13
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多