Inhaltsverzeichnis
WvdS.DokuWiki.i18n Plugin
Plugin: wvdsi18n
Version: 1.0.0
Namespace: lib/plugins/wvdsi18n/
Autor: Wolfgang van der Stille zeljko.petrusic@outlook.de
Lizenz: GPL 2
Migration von wvdslang: Dieses Plugin ersetzt das alte
wvdslang Plugin.
Die Redirect-Funktionalitaet wurde in das wvdscond Plugin verschoben (Separation of Concerns).
Definition
Das wvdsi18n Plugin bietet Internationalisierungs-Funktionen fuer mehrsprachige Inhalte:
- Uebersetzungs-Keys - Aus CSV-Datei
- Inline-Uebersetzungen -
de:Text|en:Text - Config-Werte - Mit Mehrsprach-Parsing
- Template-Werte - Mit Mehrsprach-Parsing
Anwendungsfaelle
- Mehrsprachige Navigation - Menu-Texte in verschiedenen Sprachen
- Uebersetzbare UI-Elemente - Buttons, Labels, Hinweise
- Template-Integrationen - Sidebar, Footer, Header
- Zentralisierte Uebersetzungen - Alle Texte in einer CSV-Datei
Syntax
Uebersetzungs-Key
Startseite Kontakt
Laedt den Wert aus i18n.csv basierend auf der aktuellen Sprache.
Explizite Sprache
Startseite Home
Erzwingt eine bestimmte Sprache, unabhaengig vom Browser.
Inline-Uebersetzung
de:Ja|en:Yes|sl:Da de:Speichern|en:Save|sl:Shrani
Direkte Uebersetzung ohne CSV-Datei.
Config-Wert
conf:title conf:tagline
Liest DokuWiki-Konfiguration mit Mehrsprach-Parsing.
Template-Config
tpl:footerText tpl:topSidebarTitle
Liest Template-Konfiguration mit Mehrsprach-Parsing.
CSV-Format
Die Uebersetzungen werden in lib/plugins/wvdsi18n/i18n.csv gespeichert:
key,de,en,sl,it,hr menu_home,Startseite,Home,Domov,Home,Pocetna menu_contact,Kontakt,Contact,Kontakt,Contatto,Kontakt button_save,Speichern,Save,Shrani,Salva,Spremi
| Spalte | Beschreibung |
|---|---|
key | Eindeutiger Schluessel |
de | Deutsche Uebersetzung |
en | Englische Uebersetzung |
| … | Weitere Sprachen |
Spracherkennung
Die Sprache wird in folgender Reihenfolge ermittelt:
- Namespace-Pfad -
de:start→ de - Browser-Header -
Accept-Language: de-DE→ de - DokuWiki-Sprache -
$conf['lang'] - Plugin-Standard -
defaultLangKonfiguration
Konfiguration
| Option | Standard | Beschreibung |
|---|---|---|
enabled | 1 | Plugin aktivieren |
languages | de,en,sl,it,hr | Verfuegbare Sprachen |
defaultLang | en | Standard-Sprache (Fallback) |
langPosition | 0 | Sprach-Position im Namespace (0 = erste Ebene) |
Beispiele
Beispiel 1: Navigation
===== menu_navigation ===== * [[.:start|Startseite]] * [[.:docs:index|Projekt-Dokumentation]] * [[.:contact|Kontakt]]
Ergebnis (Browser: de):
- Startseite
- Projekt-Dokumentation
- Kontakt
Beispiel 2: Inline in Buttons
<button>de:Absenden|en:Submit|sl:Pošlji</button>
Beispiel 3: Footer mit Template-Config
<footer> tpl:footerText </footer>
Beispiel 4: Explizite Sprache fuer Links
Sprachen: [[.:de:start|Startseite]] |
[[.:en:start|Home]] |
[[.:sl:start|Domov]]
Ergebnis:
- Sprachen: Startseite | Home | Domov
Integration in Templates
PHP-Nutzung
<?php // Helper laden $helper = plugin_load('helper', 'wvdsi18n'); if ($helper) { // Uebersetzung holen echo hsc($helper->get('menu_home')); // Explizite Sprache echo hsc($helper->get('menu_home', 'en')); // Inline parsen echo hsc($helper->parseMultilang('de:Ja|en:Yes')); // Template-Config echo hsc($helper->getTplConfig('footerText')); } ?>
Migration von wvdslang
Such-und-Ersetzen
Alt: {{wvds:lang>
Neu: {{wvds:i18n>
Alt: {{wvds:lang:
Neu: {{wvds:i18n:
Versionshinweise
| Version | Datum | Aenderungen |
|---|---|---|
| 1.0.0 | 2026-01-29 | Erstveroeffentlichung (Nachfolger von wvdslang) |
Siehe auch
- WvdS.DokuWiki.Cond Plugin - Bedingte Inhalte und Redirects
- WvdS.DokuWiki.Snippet Plugin - Wiederverwendbare HTML-Bausteine
- WvdS.DokuWiki.Flat Template - Template mit Sprachwechsler
Technische Referenz
Klasse: syntax_plugin_wvdsi18n
Datei: lib/plugins/wvdsi18n/syntax.php
| Methode | Beschreibung |
|---|---|
getType() | Gibt substitution zurück |
getSort() | Gibt 100 zurueck |
connectTo($mode) | Registriert i18n Pattern |
handle($match, …) | Parst Syntax und extrahiert Content |
render($mode, …) | Gibt uebersetzen Text zurueck |
Klasse: helper_plugin_wvdsi18n
Datei: lib/plugins/wvdsi18n/helper.php
| Methode | Beschreibung |
|---|---|
get($key, $lang) | Holt Uebersetzung fuer Key |
parseMultilang($value, $lang) | Parst de:X|en:Y Format |
getConfig($key, $lang) | Holt DokuWiki-Config mit Parsing |
getTplConfig($key, $lang) | Holt Template-Config mit Parsing |
detectLanguage() | Erkennt aktuelle Sprache |
getLanguages() | Gibt konfigurierte Sprachen zurueck |
wvdsi18n PluginAudit bestanden • 2026-03-30▾
Zuletzt geändert: den 30.01.2026 um 09:17
Diskussion