据我所知,有两种方法可以检索当前(前端)语言:
$GLOBALS['TSFE']->config['config']['language']
$GLOBALS['TSFE']->sys_language_uid
如果后者为2,则配置值为,例如,' dk'。 但是,如果语言UID为0,则第一个变量返回'' (空字符串)。
sys_language_uid
和语言代码之间是否存在映射,换句话说,我在哪里/如何找到默认语言(代码)?
答案 0 :(得分:1)
更深入一点:sys_language_id
与语言代码之间存在映射。
您可以通过实例根目录上的sys_language
记录设置可用于您网站的语言(通过"页面" uid 0上的列表模块)。这些记录包含一个选择字段static_lang_isocode
,您可以在其中为要创建/编辑的语言记录选择相应的ISO 2-char代码。这允许为任何给定的语言提取2-char代码。
只要您正确插入了网页语言,您就可以使用映射。 除了,对于uid 0
,正如konsolenfreddy所写。
答案 1 :(得分:0)
您可能必须在TypoScript中初始化语言:
config {
sys_language_uid = 0
language = de
locale_all = de_DE.UTF-8
htmlTag_langKey = de_DE
}
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
language = en
locale_all = en_EN.UTF-8
htmlTag_langKey = en_EN
}
[end]
这将默认为德语并在您的情况下返回'de'