Typo3默认语言标签和标志

Typo3默认语言标签和标志,typo3,multilingual,typoscript,typo3-6.1.x,Typo3,Multilingual,Typoscript,Typo3 6.1.x,我正在使用Typo3 v6.1,并试图建立多语言网站。问题是我无法更改默认语言标签。我做错了什么 根据和,这是我的打字稿配置 ################################################### # language handling ################################################### mod.SHARED { defaultLanguageFlag = de defaultLanguageL

我正在使用Typo3 v6.1,并试图建立多语言网站。问题是我无法更改默认语言标签。我做错了什么

根据和,这是我的打字稿配置

###################################################
# language handling
###################################################

mod.SHARED {
    defaultLanguageFlag = de
    defaultLanguageLabel = Deutsch
}

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_GB.UTF-8
        htmlTag_langKey = en_GB
    }
[end]
所以语言设置起作用,我可以本地化页面,但默认语言(uid=0)仍然显示为默认语言,而不是德语。我想可能我使用的是旧设置,我试着通过Typo3 core进行调试,看起来这些设置仍在多个地方使用,下面是其中之一:

#/typo3/sysext/backend/Classes/Configuration/TranslationConfigurationProvider.php
$languageIconTitles[0] = array(
    'uid' => 0,
    'title' => strlen($modSharedTSconfig['properties']['defaultLanguageLabel']) ? $modSharedTSconfig['properties']['defaultLanguageLabel'] . ' (' . $GLOBALS['LANG']->sl('LLL:EXT:lang/locallang_mod_web_list.xlf:defaultLanguage') . ')' : $GLOBALS['LANG']->sl('LLL:EXT:lang/locallang_mod_web_list.xlf:defaultLanguage'),
    'ISOcode' => 'DEF',
    'flagIcon' => strlen($modSharedTSconfig['properties']['defaultLanguageFlag']) ? 'flags-' . $modSharedTSconfig['properties']['defaultLanguageFlag'] : 'empty-empty'
);
问题是Typo3似乎跳过了我设置的加载(尽管我确实在对象浏览器中看到它们)。 在那之后,我也尝试了旧版本的Typo3-4.7.12,但效果也不太好(()


更新:根据biesior的回答,我需要将该代码添加到PageTS配置中。该代码适用于Typo3版本(4.*和6.*),但也需要了解。并且有可能代表扩展名进行(即全局)PageTS配置:

# /ext_localconf.php of your typo3 v6.* extension:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
    'mod.SHARED {
        defaultLanguageFlag = de.gif
        defaultLanguageLabel = Deutsch
    }'
);


此代码需要放在
页面
(根页面的)而不是
打字脚本
模板中

mod.SHARED {
    defaultLanguageFlag = de
    defaultLanguageLabel = Deutsch
}

只需编辑根页面的属性,转到
Resources
选项卡,并将其粘贴到
page TSConfig
字段。保存后不要忘记清除配置缓存。

此代码需要放在
PageTS
(根页面的)而不是
TypoScript
模板中

mod.SHARED {
    defaultLanguageFlag = de
    defaultLanguageLabel = Deutsch
}

只需编辑根页面的属性,转到
Resources
选项卡,并将其粘贴到
page TSConfig
字段。保存后不要忘记清除配置缓存。

您应该将mod.shared内容放在页面ts(编辑根页面属性)中,而不是设置ts


/Brian

您应该将mod.shared内容放入页面ts(编辑根页面属性),而不是设置ts


/布莱恩

是的,这是可行的。之前我不清楚Typo3有三个拼写“名称空间”包括前端打字脚本配置和两个后端:PageTS和UserTS。很高兴知道。我还将为我的问题添加一个更新,因为我无法在注释中粘贴大代码。是的,这是可行的。我不清楚Typo3之前有三个打字脚本“名称空间”包括前端打字脚本配置和两个后端:PageTS和UserTS。很高兴知道。我还将为我的问题添加一个更新,因为我无法在注释中粘贴大代码段。