我们已经使用了一个印刷文字配置来告诉CSS我们是哪种语言,并在类标签中添加了一个类名language-x
。
由于Typoscript中似乎没有关于如何执行此操作的任何文献,因此我还没有做很多尝试来解决这个问题。
为此,我们使用了以下文字:
// Language
30 = TEXT
30 {
data = TSFE:sys_language_uid
noTrimWrap = | language-||
}
现在会引发一个E_USER_DEPRECATED
:
Property $TSFE->sys_language_uid is not in use anymore as this information is now stored within the language aspect
先谢谢了。 问候 托米
答案 0 :(得分:4)
自TYPO3 9.5.3起,还可以使用TypoScript安装程序访问当前的站点语言配置:
page.10 = TEXT
page.10.data = siteLanguage:navigationTitle
page.10.wrap = This is the title of the current site language: |
或
page.10 = TEXT
page.10.dataWrap = The current site language direction is {siteLanguage:direction}
有关该功能的详细文档,请参见https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.5.x/Feature-86973-TypoScriptGetTextPropertySiteLanguage.html。
答案 1 :(得分:2)
查看文档:
https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/SiteHandling/UseSiteInTypoScript.html
我认为您可以使用以下条件:
[siteLanguage("typo3Language") == "it"]
page.bodyTag = <body class="language-it">
[global]
请注意,TYPO3 9.5已经将当前语言放入<html>
标记中,例如:<html lang="it">
因此,您可以在CSS中使用attribute selector(非常受支持):
html[lang="it"]{
/*css code here*/
}
答案 2 :(得分:0)
@ josef-glatz,正如您所建议的,我认为这也可行。
在Thomi的情况下,我建议使用:
// Language
30 = TEXT
30 {
data = sitelanguage:languageId
noTrimWrap = | language-||
}
重要说明:仅自TYPO3 9.5.4 起可用,因为Georg Ringer仅在2018年12月28日解决了该问题。