nuxt-typo3 has built-in internationalization support - the current language is detected based on the current route and i18n settings. For example, if you've defined in i18n settings:

typo3: {
  i18n: {
    default: 'en',
    locales: ['en', 'pl']
  • Route: http://website.com/about - English language, we don't add the language code as it's the default.
  • Route: http://website.com/pl/o-nas - Polish language, detected by the "pl" code indicating it's Polish. Is looking for o-nas page.
  • Route: http://website.com/de/uber-uns - English language - as you didn't define the 'de' language in the language codes array and de/uber-uns is treated as a full path of the requested page.

nuxt-typo3 doesn't have built-in label translation support - you can provide it through InitialData. If you wish to keep labels on the frontend side of the application, use nuxt-i18n.