Language

Hallo,

I created a Homepage, which works well.

When I switch from “DE” to “EN”, I want, that one Menu item should not appear.

I tried with conditions:
page {

}

[siteLanguage(“locale”) == “en_US.UTF-8”]
20 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
20 {
special = list
special.value = 6,7,8,10,31,12
as = primaryMenuItems
}
[global]

The config.yaml:
languages:

title: DE
enabled: true
languageId: 0
base: /de/
typo3Language: de
locale: de_DE
iso-639-1: de
navigationTitle: DE
hreflang: de-DE
direction: ltr
flag: de
websiteTitle: ''
  • title: EN
    enabled: true
    base: /en/
    typo3Language: default
    locale: en_US.UTF8
    iso-639-1: en
    websiteTitle: ‘’
    navigationTitle: EN
    hreflang: en-US
    direction: ltr
    fallbackType: fallback
    fallbacks: ‘’
    flag: global
    languageId: 1

But it don’t work.

What is my mistake?

Sorry for my bad English

Elmar

I solved it this way:

    <div id="navigation">   
        <f:switch expression="{settings.currentLanguage}">
            <f:case value="deutsch">         
                <f:render partial="menu/deutsch" arguments="{menuItems: deutschMenuItems}" />
            </f:case>
            <f:case value="english">         
                <f:render partial="menu/english" arguments="{menuItems: englishMenuItems}" />
            </f:case>
        </f:switch>
    </div>

Either you take a simpler value to compare like [siteLanguage("languageId") == "1"] or you need to use the correct string. In your condition it’s UTF-8, in your site configuration it’s UTF8.

See: Conditions — TypoScript Template Reference main documentation

Yes, that’s right, and I’ve changed it…

It works now!

Thanks a lot