====== WvdS.DokuWiki.i18n Plugin ====== **Vtičnik:** wvdsi18n\\ **Verzija:** 1.0.0\\ **Imenski prostor:** ''lib/plugins/wvdsi18n/''\\ **Avtor:** Wolfgang van der Stille \\ **Licenca:** GPL 2 ---- **Migracija iz wvdslang:** Ta vtičnik nadomešča stari vtičnik ''wvdslang''. Funkcionalnost preusmeritev je bila preseljena v vtičnik ''wvdscond'' (ločitev odgovornosti). ---- ===== Definicija ===== Vtičnik **wvdsi18n** ponuja funkcije za internacionalizacijo večjezične vsebine: * **Prevajalski ključi** - Iz CSV datoteke * **Vgrajeni prevodi** - ''de:Besedilo|en:Text'' * **Config vrednosti** - Z večjezičnim razčlenjevanjem * **Template vrednosti** - Z večjezičnim razčlenjevanjem ===== Primeri uporabe ===== * **Večjezična navigacija** - Besedila menijev v različnih jezikih * **Prevedljivi UI elementi** - Gumbi, oznake, opozorila * **Integracije s predlogami** - Stranska vrstica, noga, glava * **Centralizirani prevodi** - Vsa besedila v eni CSV datoteki ---- ===== Sintaksa ===== ==== Prevajalski ključ ==== {{wvds:i18n>menu_home}} {{wvds:i18n>menu_contact}} Naloži vrednost iz ''i18n.csv'' na podlagi trenutnega jezika. ==== Eksplicitni jezik ==== {{wvds:i18n:de>menu_home}} {{wvds:i18n:en>menu_home}} Vsili določen jezik, neodvisno od brskalnika. ==== Vgrajeni prevod ==== {{wvds:i18n>de:Ja|en:Yes|sl:Da}} {{wvds:i18n>de:Speichern|en:Save|sl:Shrani}} Neposredni prevod brez CSV datoteke. ==== Config vrednost ==== {{wvds:i18n>conf:title}} {{wvds:i18n>conf:tagline}} Prebere DokuWiki konfiguracijo z večjezičnim razčlenjevanjem. ==== Template Config ==== {{wvds:i18n>tpl:footerText}} {{wvds:i18n>tpl:topSidebarTitle}} Prebere konfiguracijo predloge z večjezičnim razčlenjevanjem. ---- ===== CSV Format ===== Prevodi so shranjeni v ''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 ^ Stolpec ^ Opis ^ | ''key'' | Edinstveni ključ | | ''de'' | Nemški prevod | | ''en'' | Angleški prevod | | ... | Dodatni jeziki | ---- ===== Zaznavanje jezika ===== Jezik se določi v naslednjem vrstnem redu: - **Pot imenskega prostora** - ''de:start'' → de - **Glava brskalnika** - ''Accept-Language: de-DE'' → de - **DokuWiki jezik** - ''$conf['lang']'' - **Privzeto vtičnika** - ''defaultLang'' konfiguracija ---- ===== Konfiguracija ===== ^ Možnost ^ Privzeto ^ Opis ^ | ''enabled'' | 1 | Aktiviraj vtičnik | | ''languages'' | de,en,sl,it,hr | Razpoložljivi jeziki | | ''defaultLang'' | en | Privzeti jezik (rezerva) | | ''langPosition'' | 0 | Pozicija jezika v imenskem prostoru (0 = prva raven) | ---- ===== Primeri ===== ==== Primer 1: Navigacija ==== ===== {{wvds:i18n>menu_navigation}} ===== * [[.:start|{{wvds:i18n>menu_home}}]] * [[.:docs:index|{{wvds:i18n>menu_docs}}]] * [[.:contact|{{wvds:i18n>menu_contact}}]] **Rezultat (brskalnik: sl):** * Domov * Dokumentacija * Kontakt ==== Primer 2: Vgrajeno v gumbih ==== ==== Primer 3: Noga s Template-Config ====
{{wvds:i18n>tpl:footerText}}
==== Primer 4: Eksplicitni jezik za povezave ==== Jeziki: [[.:de:start|{{wvds:i18n:de>menu_home}}]] | [[.:en:start|{{wvds:i18n:en>menu_home}}]] | [[.:sl:start|{{wvds:i18n:sl>menu_home}}]] **Rezultat:** * Jeziki: Startseite | Home | Domov ---- ===== Integracija v predloge ===== ==== PHP uporaba ==== get('menu_home')); // Eksplicitni jezik echo hsc($helper->get('menu_home', 'en')); // Razčleni vgrajeno 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 spremenjena | | ''{{wvds:lang:de>key}}'' | ''{{wvds:i18n:de>key}}'' | Sintaksa spremenjena | | ''{{wvds:lang>de:X|en:Y}}'' | ''{{wvds:i18n>de:X|en:Y}}'' | Sintaksa spremenjena | | ''{{wvds:redirect>...}}'' | ''{{wvds:redirect ...}}'' | Preseljeno v wvdscond | ==== Poišči in zamenjaj ==== Staro: {{wvds:lang> Novo: {{wvds:i18n> Staro: {{wvds:lang: Novo: {{wvds:i18n: ---- ===== Opombe o verzijah ===== ^ Verzija ^ Datum ^ Spremembe ^ | 1.0.0 | 2026-01-29 | Prva izdaja (naslednik wvdslang) | ---- ===== Glej tudi ===== * [[.:wvdscond]] - Pogojna vsebina in preusmeritve * [[.:wvdssnippet]] - Ponovno uporabni HTML gradniki * [[.:flat]] - Predloga s preklopnikom jezika ---- ===== Tehnična referenca ===== ==== Razred: syntax_plugin_wvdsi18n ==== **Datoteka:** ''lib/plugins/wvdsi18n/syntax.php'' ^ Metoda ^ Opis ^ | ''getType()'' | Vrne ''substition'' | | ''getSort()'' | Vrne ''100'' | | ''connectTo($mode)'' | Registrira i18n vzorce | | ''handle($match, ...)'' | Razčleni sintakso in izvleče vsebino | | ''render($mode, ...)'' | Vrne prevedeno besedilo | ==== Razred: helper_plugin_wvdsi18n ==== **Datoteka:** ''lib/plugins/wvdsi18n/helper.php'' ^ Metoda ^ Opis ^ | ''get($key, $lang)'' | Pridobi prevod za ključ | | ''parseMultilang($value, $lang)'' | Razčleni ''de:X|en:Y'' format | | ''getConfig($key, $lang)'' | Pridobi DokuWiki-Config z razčlenjevanjem | | ''getTplConfig($key, $lang)'' | Pridobi Template-Config z razčlenjevanjem | | ''detectLanguage()'' | Zazna trenutni jezik | | ''getLanguages()'' | Vrne konfigurirane jezike | ---- [x][x][x][x] [x][x][x][x][x] [x][x][x][x][x] ~~DISCUSSION~~