Task #91971

Add language ISO information to the Language Aspect

Added by Xavier Perseguers 4 months ago. Updated 4 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Localization
Target version:
-
Start date:
2020-08-11
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

Until TYPO3 v8 a developer could get the 2-letter ISO code of the current language by accessing:

$GLOBALS['TSFE']->lang

In TYPO3 v9, this information is still freely available (not deprecated), although marked as internal but it changed to default instead of en. The change is logical since it was always supposed to be a TYPO3 language and not an ISO code but this is a breaking change and forces developers to adapt.

In TYPO3 v9, the official way to access (current) $GLOBALS['TSFE']->lang is to do

$GLOBALS['TYPO3_REQUEST']->getAttribute('language')->getTypo3Language()

and the only way to get the former content, the real ISO code, is to do

$GLOBALS['TYPO3_REQUEST']->getAttribute('language')->getTwoLetterIsoCode()

Both of them are bad since it means replacing a $GLOBALS[] by another one.

I would expect to be able to read that information using the Language Aspect introduced in TYPO3 v9 (https://usetypo3.com/9lts-api-classes.html#c717) for example like that:

GeneralUtility::makeInstance(Context::class)->getAspect('language')->getTwoLetterIsoCode()

So in my opinion, the language aspect should be extended to provide really useful ISO information as well.

#1

Updated by Xavier Perseguers 4 months ago

  • Subject changed from Add language ISO information to the aspects to Add language ISO information to the Language Aspect

Also available in: Atom PDF