Bug #102178
openHtml lang field wrong
0%
Description
the property hreflang was removed from config.yaml in the site configuration.
Now in the vendor/typo3/cms-frontend/Classes/Http/RequestHandler.php this code is used:
$htmlTagAttributes[$docType->isXmlCompliant() ? 'xml:lang' : 'lang'] = $siteLanguage->getLocale()->getLanguageCode();
which produces <html lang="en" for the locale: en_GB.UTF-8
should it not be
$htmlTagAttributes[$docType->isXmlCompliant() ? 'xml:lang' : 'lang'] = $siteLanguage->getLocale()->getName();
in order to get <html lang="en-GB"
because the 'hyphens: auto;' behavior differs for <html lang="en" and for <html lang="en-GB"
When set to 'en', the string 'vegan' is split as 'veg-an', while for 'en-GB', it is correctly split as 've-gan'.
Updated by Chris Müller 7 months ago
- Status changed from New to Needs Feedback
You can still use hreflang attribute in the site configuration. This was changed in this commit and added to a 12.4.x release:
https://review.typo3.org/c/Packages/TYPO3.CMS/+/79488
See also the docs about it:
https://docs.typo3.org/m/typo3/reference-coreapi/12.4/en-us/ApiOverview/SiteHandling/AddLanguages.html#cmdoption-arg-hreflang
Updated by Torben Hansen about 1 month ago
A little note here: The hreflang
site setting is not used for HTML lang
attribute any more (see commit https://review.typo3.org/c/Packages/TYPO3.CMS/+/79488), so basically this is no bug but expected behavior.
Updated by Christoph Lehmann 23 days ago
Possible solution to add country part to the lang attribute:
config.htmlTag_stdWrap.override = <html lang="{siteLanguage:hreflang}"> config.htmlTag_stdWrap.override.insertData = 1