Inhaltsverzeichnis

WvdS.DokuWiki.i18n Plugin

Vtičnik: wvdsi18n
Verzija: 1.0.0
Imenski prostor: lib/plugins/wvdsi18n/
Avtor: Wolfgang van der Stille zeljko.petrusic@outlook.de
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:

Primeri uporabe


Sintaksa

Prevajalski ključ

Domov
Kontakt

Naloži vrednost iz i18n.csv na podlagi trenutnega jezika.

Eksplicitni jezik

Startseite
Home

Vsili določen jezik, neodvisno od brskalnika.

Vgrajeni prevod

de:Ja|en:Yes|sl:Da
de:Speichern|en:Save|sl:Shrani

Neposredni prevod brez CSV datoteke.

Config vrednost

conf:title
conf:tagline

Prebere DokuWiki konfiguracijo z večjezičnim razčlenjevanjem.

Template Config

tpl:footerText
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:

  1. Pot imenskega prostora - de:start → de
  2. Glava brskalnika - Accept-Language: de-DE → de
  3. DokuWiki jezik - $conf['lang']
  4. 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

===== menu_navigation =====
  * [[.:start|Domov]]
  * [[.:docs:index|Projektna dokumentacija]]
  * [[.:contact|Kontakt]]

Rezultat (brskalnik: sl):

Primer 2: Vgrajeno v gumbih

<button>de:Absenden|en:Submit|sl:Pošlji</button>

Primer 3: Noga s Template-Config

<footer>
tpl:footerText
</footer>

Primer 4: Eksplicitni jezik za povezave

Jeziki: [[.:de:start|Startseite]] |
        [[.:en:start|Home]] |
        [[.:sl:start|Domov]]

Rezultat:


Integracija v predloge

PHP uporaba

<?php
// Naloži helper
$helper = plugin_load('helper', 'wvdsi18n');
 
if ($helper) {
    // Pridobi prevod
    echo hsc($helper->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
lang_key key Sintaksa spremenjena
de_key key Sintaksa spremenjena
en:Y Y Sintaksa spremenjena
redirect 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


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

wvdsi18n PluginAudit bestanden • 2026-03-30