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 de
language.
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 de
language.
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!