Multilanguage
Yes, t3api supports multilanguage applications!
T3api offers two ways you can request multilanguage data:
- standard language prefix
- language header
Standard prefix
First is a standard way, just to prefix your request with language base as defined
in your site's config.yaml.
https://will return news in default language.13. t3api. ddev. site/_ api/ news/ news https://will return news in13. t3api. ddev. site/ de/_ api/ news/ news delanguage.
Language header
Second way it to use always the same default lang url and add request header X-Locale
with value set to identifier of expected language. Identifier means languageId value
from your site's config.yaml.
https://with header13. t3api. ddev. site/_ api/ news/ news X-or no header at all will return news in default language.Locale: 0 https://with header13. t3api. ddev. site/_ api/ news/ news X-will return news inLocale: 1 delanguage.
Here is an config.yaml for the above examples:
languages:
-
title: English
enabled: true
languageId: '0'
base: /
typo3Language: default
locale: en_US.UTF-8
iso-639-1: en
navigationTitle: ''
hreflang: en-US
direction: ltr
flag: en-us-gb
-
title: German
enabled: true
languageId: '1'
base: /de/
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: ''
hreflang: de-DE
direction: ltr
fallbackType: strict
flag: de
Copied!
Important
t3api respects fallbackType set in site's configuration.
It is possible to customize name of the language header inside ext_localconf.php:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['t3api']['languageHeader'] = 'My-Header-Name';
Copied!