1

Typo3 v6.1 を使用しており、多言語サイトをセットアップしようとしています。問題は、デフォルトの言語ラベルを変更できないことです。私は何を間違っていますか?

thisおよびthisによると、ここに私のTypoScript構成があります

###################################################
# 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 コアを介してデバッグを試みました。これらの設定がまだいくつかの場所で使用されているように見えます。ここにその 1 つがあります。

#/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
    }'
);

また

# /ext_localconf.php of your typo3 v4.* extension:
t3lib_extMgm::addPageTSConfig(
    ...
);
4

2 に答える 2