Bug #85987

Menus doesn't respect language settings and show non translated pages

Added by Richard Haeser almost 2 years ago. Updated about 1 month ago.

Status:
Accepted
Priority:
Should have
Assignee:
Category:
Localization
Target version:
Start date:
2018-08-27
Due date:
% Done:

0%

TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:
On Location Sprint

Description

Scenario:
- You have a 1-on-1 translated website
- TypoScript settings: config.sys_language_mode = strict and config.sys_language_overlay = hideNonTranslated
- Page in default language is enabled
- No translation

Output:
If you use a menu (HMENU or menu element doesn't matter) in the secondary language, the page from the default language is shown. So it is falling back on the default language.

Expectation:
Because you've set the mode to strict with no fallback, you expect this page to not show up in the menu.


Related issues

Related to TYPO3 Core - Bug #88344: HMENU directory incompatible with free mode Closed 2019-05-13

History

#1 Updated by Richard Haeser almost 2 years ago

This is the behaviour in CMS7 and 8

#2 Updated by Riccardo De Contardi over 1 year ago

@Richard Haeser I got this same issue on TYPO3 9.5.4

In site configuration I set for the second language

[fallbackType] = strict

and on TS Setup

config.sys_language_mode = strict 
config.sys_language_overlay = hideNonTranslated

So far, I've seen that if you edit the page properties:

Tab language > Localization > set Hide page if no translation for current language exists = YES

It works. I've not tested it with 8.5

#3 Updated by Riccardo De Contardi about 1 year ago

@Richard Haeser can you perform a test with 9.5.5 ?

I tried the following short test (with 9.5.5)

1) TYPO3 with two languages ITA, ENG (ID=1)
2) In site configuration I set for the second language

[fallbackType] = strict

3) TS Setup:

page = PAGE
page.20 = HMENU
page.20.wrap=<ul>|</ul>
page.20{
  1 = TMENU
  1.NO.wrapItemAndSub = <li>|</li> 
}

page.100 =< styles.content.get

As you can see, I omitted

config.sys_language_mode = strict 
config.sys_language_overlay = hideNonTranslated

4) I set up a pagetree like this one:

Home
  |
  +---test b
  |
  +---test


5) Only the "home" page and the "test" page have been translated in ENG, so:
Italian English
Home Home in Eng
test b
test test in Eng

Results when viewing the home page:

  • in ITA, the menu shows both "test b" and "test"
  • in ENG, the menu shows only "test in Eng"

#4 Updated by Riccardo De Contardi about 1 year ago

  • Status changed from New to Needs Feedback

#5 Updated by Richard Haeser 11 months ago

I can confirm that this is working correctly with the current 9.5.8 release now. Will check v8

#6 Updated by Riccardo De Contardi 11 months ago

After a short test, it seems that it is still present on 8.7.26: a page that is present in default language but not translated is present in both menus, default language and translated.

Unless you check "Hide page if no translation for current language exists"...

#7 Updated by Riccardo De Contardi 11 months ago

  • Status changed from Needs Feedback to Closed

I close this issue in agreement with the reporter;

If you think that this is the wrong decision or experience the issue again on recent TYPO3 versions, pleae reopen me or ping me. Thank you.

#8 Updated by Gion Koch 7 months ago

This issue still persists for 9.5.9.

I have two languages DE/FR.
In the FR menu are fallback DE pages listed, which are not translated to FR.

The fallbackType is set to strict for FR in my site configuration.

#9 Updated by Simon Gilli 7 months ago

  • Status changed from Closed to New

#10 Updated by Susanne Moog 5 months ago

  • Sprint Focus set to On Location Sprint

#11 Updated by Benni Mack 5 months ago

  • Status changed from New to Needs Feedback

Hi Gion,

can you please try out 9.5.13? Thanks a lot!

Benni.

#12 Updated by Benni Mack 5 months ago

  • Related to Bug #88344: HMENU directory incompatible with free mode added

#13 Updated by Gion Koch 5 months ago

Hi Benni

Updated to 9.5.13 but it is not fixed. Did an additional test in a new Setup with the same result.

Greetings
Gion

#14 Updated by Riccardo De Contardi 5 months ago

  • Status changed from Needs Feedback to New

#15 Updated by Susanne Moog 2 months ago

  • Status changed from New to Needs Feedback

Hey,

can you please check the following two things:

- In global settins: [FE][hidePagesIfNotTranslatedByDefault] - to be strict, this should be set to true in your installation
- On the page that does not have a translation: what are the l10n conf settings for that page?

The site settings (and strict mode / content fallback etc.) are relevant for content, but not necessarily for the pages.

#16 Updated by Gion Koch 2 months ago

Hi

Apparently, the setting [FE][hidePagesIfNotTranslatedByDefault] does the trick. Thanks!
IMHO it should be moved to the Site Configuration as it is really misleading to configure such elementary configurations in two places.

I suggest to move this setting to the Site Configuration.

Greetings
Gion

#17 Updated by Benni Mack 2 months ago

  • Status changed from Needs Feedback to Accepted
  • Assignee set to Benni Mack
  • Target version set to 10 LTS

#18 Updated by Riccardo De Contardi about 2 months ago

  • Category set to Localization

#19 Updated by Benni Mack about 1 month ago

  • Target version changed from 10 LTS to next-patchlevel

#20 Updated by Jonas Eberle about 1 month ago

  • Related to Bug #91185: HMENU does not link to showAccessRestrictedPages for non-default language added

#21 Updated by Jonas Eberle about 1 month ago

I just tested this in 9.5.15 and 10.4.1-dev.

It works now as expected.

The setting [FE][hidePagesIfNotTranslatedByDefault] does not change the outcome (which is how it should be in my opinion).

Close it or leave it open for 8 ELTS?

#22 Updated by Jonas Eberle about 1 month ago

  • Related to deleted (Bug #91185: HMENU does not link to showAccessRestrictedPages for non-default language)

Also available in: Atom PDF