====== WvdS.DokuWiki.i18n Dodatak ====== **Dodatak:** wvdsi18n\\ **Verzija:** 1.0.0\\ **Imenski prostor:** ''lib/plugins/wvdsi18n/''\\ **Autor:** Wolfgang van der Stille \\ **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: * **Ključevi prijevoda** - Iz CSV datoteke * **Ugrađeni prijevodi** - ''de:Tekst|en:Text'' * **Config vrijednosti** - S višejezičnim parsiranjem * **Template vrijednosti** - S višejezičnim parsiranjem ===== Primjeri uporabe ===== * **Višejezična navigacija** - Tekstovi izbornika na različitim jezicima * **Prevodivi UI elementi** - Gumbi, oznake, obavijesti * **Integracije s predlošcima** - Bočna traka, podnožje, zaglavlje * **Centralizirani prijevodi** - Svi tekstovi u jednoj CSV datoteci ---- ===== Sintaksa ===== ==== Ključ prijevoda ==== {{wvds:i18n>menu_home}} {{wvds:i18n>menu_contact}} Učitava vrijednost iz ''i18n.csv'' na temelju trenutnog jezika. ==== Eksplicitni jezik ==== {{wvds:i18n:de>menu_home}} {{wvds:i18n:en>menu_home}} Prisiljava određeni jezik, neovisno o pregledniku. ==== Ugrađeni prijevod ==== {{wvds:i18n>de:Ja|en:Yes|hr:Da}} {{wvds:i18n>de:Speichern|en:Save|hr:Spremi}} Izravni prijevod bez CSV datoteke. ==== Config vrijednost ==== {{wvds:i18n>conf:title}} {{wvds:i18n>conf:tagline}} Čita DokuWiki konfiguraciju s višejezičnim parsiranjem. ==== Template Config ==== {{wvds:i18n>tpl:footerText}} {{wvds:i18n>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: - **Put imenskog prostora** - ''de:start'' → de - **Zaglavlje preglednika** - ''Accept-Language: de-DE'' → de - **DokuWiki jezik** - ''$conf['lang']'' - **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 ==== ===== {{wvds:i18n>menu_navigation}} ===== * [[.:start|{{wvds:i18n>menu_home}}]] * [[.:docs:index|{{wvds:i18n>menu_docs}}]] * [[.:contact|{{wvds:i18n>menu_contact}}]] **Rezultat (preglednik: hr):** * Početna * Dokumentacija * Kontakt ==== Primjer 2: Ugrađeno u gumbima ==== ==== Primjer 3: Podnožje s Template-Config ====
{{wvds:i18n>tpl:footerText}}
==== Primjer 4: Eksplicitni jezik za poveznice ==== Jezici: [[.:de:start|{{wvds:i18n:de>menu_home}}]] | [[.:en:start|{{wvds:i18n:en>menu_home}}]] | [[.:hr:start|{{wvds:i18n:hr>menu_home}}]] **Rezultat:** * Jezici: Startseite | Home | Početna ---- ===== Integracija u predloške ===== ==== PHP uporaba ==== 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 ^ | ''{{wvds:lang>key}}'' | ''{{wvds:i18n>key}}'' | Sintaksa promijenjena | | ''{{wvds:lang:de>key}}'' | ''{{wvds:i18n:de>key}}'' | Sintaksa promijenjena | | ''{{wvds:lang>de:X|en:Y}}'' | ''{{wvds:i18n>de:X|en:Y}}'' | Sintaksa promijenjena | | ''{{wvds:redirect>...}}'' | ''{{wvds: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 ===== * [[.:wvdscond]] - Uvjetni sadržaj i preusmjeravanja * [[.:wvdssnippet]] - Višekratno upotrebljivi HTML blokovi * [[.:flat]] - Predložak s preklopnikom jezika ---- ===== 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 | ---- [x][x][x][x] [x][x][x][x][x] [x][x][x][x][x] ~~DISCUSSION~~