User Guide¶
Language switcher¶
nt-lingua adds a language switcher to the frontend. Depending on the sitepackage setup it appears:
- In the navbar — a dropdown showing native languages, DOM languages, and Plain Language options
- As a floating widget — a globe button (bottom right) that opens a panel
Real-time translation (DOM)¶
Click any language in the switcher. The extension:
- Collects all translatable text nodes from the current page
- Sends them to the server in a single batch request
- Replaces the text in-place without reloading the page
A spinner overlay appears during translation. After completion, a disclaimer banner ("Automatically translated — no warranty") appears below the content area.
Returning visits: The selected language is remembered in localStorage and restored automatically on the next page view.
Reset: Click the source language (e.g. "Deutsch") to revert all changes.
What gets translated¶
- All visible text nodes
title,alt,placeholder, andaria-labelattributes
What is excluded¶
- Elements with
translate="no",data-nt-notranslate, orclass="notranslate" - Tags:
<script>,<style>,<code>,<pre>,<noscript> - The language switcher itself (
data-nt-notranslate) - Glossary terms configured as
ignore
Plain Language (Einfache / Leichte Sprache)¶
Click "Einfache Sprache" or "Leichte Sprache" in the switcher. The AI rewrites the page content into simpler language while preserving all facts, numbers, and names.
Leichte Sprache disclaimer
Leichte Sprache output is an AI draft and has not been verified by a human expert or certified according to DIN SPEC 33429. Always display the disclaimer when offering Leichte Sprache.
Server-side fallback: Add ?ntlingua=einfache to the URL to activate Plain Language server-side (sets a cookie). This works without JavaScript and allows search engines or assistive tools to access the simplified version.
Native languages (SEO)¶
Some languages appear as regular links in the switcher (e.g. /en/). These open a fully server-rendered TYPO3 translation — indexable by search engines, with proper hreflang attributes.
Cache¶
All translations are cached in tx_ntlingua_text_cache. Repeated requests for identical content cost no additional tokens or API calls. The cache is automatically invalidated when the source content (header, bodytext) is saved in the backend.