Inhaltsverzeichnis

WvdS.DokuWiki.i18n Dodatak

Dodatak: wvdsi18n
Verzija: 1.0.0
Imenski prostor: lib/plugins/wvdsi18n/
Autor: Wolfgang van der Stille zeljko.petrusic@outlook.de
Licenca: GPL 2


Migracija iz wvdslang: Ovaj dodatak zamjenjuje stari dodatak wvdslang. Funkcionalnost preusmjeravanja premještena je u dodatak wvdscond (razdvajanje odgovornosti).

Definicija

Dodatak wvdsi18n pruža funkcije internacionalizacije za višejezični sadržaj:

Primjeri uporabe


Sintaksa

Ključ prijevoda

Početna
Kontakt

Učitava vrijednost iz i18n.csv na temelju trenutnog jezika.

Eksplicitni jezik

Startseite
Home

Prisiljava određeni jezik, neovisno o pregledniku.

Ugrađeni prijevod

de:Ja|en:Yes|hr:Da
de:Speichern|en:Save|hr:Spremi

Izravni prijevod bez CSV datoteke.

Config vrijednost

conf:title
conf:tagline

Čita DokuWiki konfiguraciju s višejezičnim parsiranjem.

Template Config

tpl:footerText
tpl:topSidebarTitle

Čita konfiguraciju predloška s višejezičnim parsiranjem.


CSV Format

Prijevodi su pohranjeni u lib/plugins/wvdsi18n/i18n.csv:

key,de,en,sl,it,hr
menu_home,Startseite,Home,Domov,Home,Početna
menu_contact,Kontakt,Contact,Kontakt,Contatto,Kontakt
button_save,Speichern,Save,Shrani,Salva,Spremi
Stupac Opis
key Jedinstveni ključ
de Njemački prijevod
en Engleski prijevod
Dodatni jezici

Detekcija jezika

Jezik se određuje sljedećim redoslijedom:

  1. Put imenskog prostora - de:start → de
  2. Zaglavlje preglednika - Accept-Language: de-DE → de
  3. DokuWiki jezik - $conf['lang']
  4. Zadani dodatka - defaultLang konfiguracija

Konfiguracija

Opcija Zadano Opis
enabled 1 Omogući dodatak
languages de,en,sl,it,hr Dostupni jezici
defaultLang en Zadani jezik (rezerva)
langPosition 0 Pozicija jezika u imenskom prostoru (0 = prva razina)

Primjeri

Primjer 1: Navigacija

===== menu_navigation =====
  * [[.:start|Početna]]
  * [[.:docs:index|Projektna dokumentacija]]
  * [[.:contact|Kontakt]]

Rezultat (preglednik: hr):

Primjer 2: Ugrađeno u gumbima

<button>de:Absenden|en:Submit|hr:Pošalji</button>

Primjer 3: Podnožje s Template-Config

<footer>
tpl:footerText
</footer>

Primjer 4: Eksplicitni jezik za poveznice

Jezici: [[.:de:start|Startseite]] |
        [[.:en:start|Home]] |
        [[.:hr:start|Početna]]

Rezultat:


Integracija u predloške

PHP uporaba

<?php
// Učitaj helper
$helper = plugin_load('helper', 'wvdsi18n');
 
if ($helper) {
    // Dohvati prijevod
    echo hsc($helper->get('menu_home'));
 
    // Eksplicitni jezik
    echo hsc($helper->get('menu_home', 'en'));
 
    // Parsiraj ugrađeno
    echo hsc($helper->parseMultilang('de:Ja|en:Yes'));
 
    // Template-Config
    echo hsc($helper->getTplConfig('footerText'));
}
?>

Migracija iz wvdslang

Staro (wvdslang) Novo (wvdsi18n) Status
lang_key key Sintaksa promijenjena
de_key key Sintaksa promijenjena
en:Y Y Sintaksa promijenjena
redirect redirect Premješteno u wvdscond

Pronađi i zamijeni

Staro: {{wvds:lang>
Novo: {{wvds:i18n>

Staro: {{wvds:lang:
Novo: {{wvds:i18n:

Napomene o verziji

Verzija Datum Promjene
1.0.0 2026-01-29 Prva izdanja (nasljednik wvdslang)

Vidi također


Tehnička referenca

Klasa: syntax_plugin_wvdsi18n

Datoteka: lib/plugins/wvdsi18n/syntax.php

Metoda Opis
getType() Vraća substition
getSort() Vraća 100
connectTo($mode) Registrira i18n uzorke
handle($match, …) Parsira sintaksu i izvlači sadržaj
render($mode, …) Vraća prevedeni tekst

Klasa: helper_plugin_wvdsi18n

Datoteka: lib/plugins/wvdsi18n/helper.php

Metoda Opis
get($key, $lang) Dohvaća prijevod za ključ
parseMultilang($value, $lang) Parsira de:X|en:Y format
getConfig($key, $lang) Dohvaća DokuWiki-Config s parsiranjem
getTplConfig($key, $lang) Dohvaća Template-Config s parsiranjem
detectLanguage() Detektira trenutni jezik
getLanguages() Vraća konfigurirane jezike

wvdsi18n DodatakAudit bestanden • 2026-03-30