Plugin: wvdsi18n
Version: 1.0.0
Namespace: lib/plugins/wvdsi18n/
Autor: Wolfgang van der Stille zeljko.petrusic@outlook.de
Lizenz: GPL 2
wvdslang Plugin.
Die Redirect-Funktionalitaet wurde in das wvdscond Plugin verschoben (Separation of Concerns).
Das wvdsi18n Plugin bietet Internationalisierungs-Funktionen fuer mehrsprachige Inhalte:
de:Text|en:TextStartseite Kontakt
Laedt den Wert aus i18n.csv basierend auf der aktuellen Sprache.
Startseite Home
Erzwingt eine bestimmte Sprache, unabhaengig vom Browser.
de:Ja|en:Yes|sl:Da de:Speichern|en:Save|sl:Shrani
Direkte Uebersetzung ohne CSV-Datei.
conf:title conf:tagline
Liest DokuWiki-Konfiguration mit Mehrsprach-Parsing.
tpl:footerText tpl:topSidebarTitle
Liest Template-Konfiguration mit Mehrsprach-Parsing.
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 |
Die Sprache wird in folgender Reihenfolge ermittelt:
de:start → deAccept-Language: de-DE → de$conf['lang']defaultLang 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) |
===== menu_navigation ===== * [[.:start|Startseite]] * [[.:docs:index|Projekt-Dokumentation]] * [[.:contact|Kontakt]]
Ergebnis (Browser: de):
<button>de:Absenden|en:Submit|sl:Pošlji</button>
<footer> tpl:footerText </footer>
Sprachen: [[.:de:start|Startseite]] |
[[.:en:start|Home]] |
[[.:sl:start|Domov]]
Ergebnis:
<?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')); } ?>
Alt: {{wvds:lang>
Neu: {{wvds:i18n>
Alt: {{wvds:lang:
Neu: {{wvds:i18n:
| Version | Datum | Aenderungen |
|---|---|---|
| 1.0.0 | 2026-01-29 | Erstveroeffentlichung (Nachfolger von wvdslang) |
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 |
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 |