据我所知,有两种方法可以检索当前(前端)语言:
$GLOBALS['TSFE']->config['config']['language']
$GLOBALS['TSFE']->sys_language_uid如果后者是2,那么配置值就是'dk‘。但是,如果语言UID为0,则第一个变量返回'‘(空字符串)。
sys_language_uid和语言代码之间是否存在映射关系,换句话说,在哪里/如何找到默认语言(代码)?
发布于 2016-08-18 17:55:59
更深入一点:在sys_language_id和语言代码之间有一个映射。
您正在通过实例根目录上的sys_language记录(通过"page“uid 0上的列表模块)设置网站可用的语言。这些记录包含一个选择字段static_lang_isocode,您可以在其中为正在创建/编辑的语言记录选择相应的ISO2字符代码。这允许获取给定任何语言uid的两个字符的代码。
可以这样说,只要正确插入了页面语言,就会有一个映射。正如konsolenfreddy所写的那样,除了之外的uid 0。
发布于 2015-01-15 16:31:46
您可能需要在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‘
https://stackoverflow.com/questions/27952334
复制相似问题