Farbschema: Hell
Sie befinden sich hier: start » sl » Dokumentacija » Razširitve DokuWikija (WvdS) » WvdS Internationalization (i18n)

WvdS Internationalization (i18n)

i18n naredi vsebino strani večjezično, ne da bi stran podvojili: oznaka kljuc na svojem mestu vstavi besedilo v trenutnem jeziku – iz preglednice CSV, iz nastavitve ali neposredno iz oznake. Paket je namenjen avtorjem, ki pripravljajo menije, gumbe in gradnike v več jezikih, in razvijalcem predlog, ki ista besedila potrebujejo v kodi PHP.

Prvi koraki

Pogosta opravila

Kaj želite Za koga Kje to naredite Navodilo
vstaviti prevedeno besedilo avtorji oznaka kljuc Prevajalski ključ
napisati prevod brez preglednice avtorji oznaka z jezikovnimi pari Prevod v oznaki
izsiliti besedilo v določenem jeziku avtorji oznaka z navedbo jezika Izrecno izbran jezik
prikazati vrednost nastavitve avtorji oznaka, ki kaže na nastavitev Vrednost nastavitve
vzdrževati prevode avtorji preglednica CSV Oblika CSV
razumeti, kateri jezik se izbere vsi – Zaznavanje jezika
uporabiti ista besedila v kodi PHP razvijalci – Integracija v predloge

Opredelitev

Vtičnik wki18n zagotavlja funkcije za internacionalizacijo večjezične vsebine:

  • Prevajalski ključi – iz datoteke CSV
  • Prevodi v oznaki – de:Text|en:Text
  • Vrednosti nastavitev – z razčlenjevanjem večjezičnih vrednosti
  • Vrednosti predloge – z razčlenjevanjem večjezičnih vrednosti

Primeri uporabe

  • Večjezična navigacija – besedila menijev v različnih jezikih
  • Prevedljivi elementi vmesnika – gumbi, napisi, namigi
  • Vključitev v predloge – stranska vrstica, noga, glava
  • Prevodi na enem mestu – vsa besedila v eni datoteki CSV

Sintaksa

Prevajalski ključ

Startseite
Kontakt

Naloži vrednost iz preglednice prevodov (glej Oblika CSV) za trenutni jezik.

Izrecno izbran jezik

Startseite
Home

Vsili določen jezik ne glede na brskalnik.

Prevod v oznaki

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

Prevod neposredno v oznaki, brez datoteke CSV.

Vrednost nastavitve

conf:title
conf:tagline

Prebere nastavitev DokuWiki in razčleni večjezične vrednosti v njej.

Nastavitev predloge

tpl:footerText
tpl:topSidebarTitle

Prebere nastavitev predloge in razčleni večjezične vrednosti v njej.


Oblika CSV

Lastni prevodi sodijo v data/wki18n/i18n.csv (natančneje: <savedir>/wki18n/i18n.csv). Datoteka je zunaj mape vtičnika, preživi vsako posodobitev, spletni strežnik pa je ne streže:

key,de,en,sl
menu_home,Startseite,Home,Domov
menu_contact,Kontakt,Contact,Kontakt
button_save,Speichern,Save,Shrani

Vtičnik v lib/plugins/wki18n/i18n.csv prinese le nekaj splošnih ključev (menu_home, menu_contact, menu_back); to datoteko vsaka namestitev zamenja. Lastna preglednica se prebere za njo in prevlada za vsak ključ in jezik: vrstica v njej nadomesti priloženo vrednost v vsakem jeziku, ki ga izpolni, prazna celica pa jo pusti. Vrstica, ki se začne z #, je komentar.

Stolpec Opis
key enolični ključ
de nemški prevod
en angleški prevod
… drugi jeziki

Zaznavanje jezika

Jezik se določi v tem vrstnem redu (helper.php, detectLanguage()):

  1. Jezik, ki ga je obiskovalec izrecno izbral – ?lang=sl v zahtevi, sicer izbira, zapomnjena iz ene od prejšnjih zahtev (piškotek). Velja šele po zavestnem kliku v izbiri jezika; kdor nikoli ne izbira, tega ne opazi.
  2. Pot imenskega prostora – de:start → de
  3. Jezik okna, iz katerega je bila stran odprta – okno, kot je pogovorno okno za predstavnostne datoteke, ohrani jezik, v katerem je bilo odprto; ta se ne zapomni
  4. Glava brskalnika – Accept-Language: de-DE → de
  5. Jezik DokuWiki – $conf['lang']
  6. Privzeta vrednost vtičnika – nastavitev defaultLang

Vsaka vrednost se preveri s seznamom languages; oznaka jezika, ki je na njem ni, se preskoči.


Nastavitve

Možnost Privzeto Opis
enabled 1 vklopi vtičnik
languages de,en,sl,it,hr razpoložljivi jeziki
defaultLang en privzeti jezik (kadar ni drugega)
langPosition 0 položaj jezika v imenskem prostoru (0 = prva raven)

Privzeto je vrednost, ki jo vtičnik prinese s seboj. Na tej namestitvi je languages nastavljen na de,en,sl.


Primeri

Primer 1: navigacija

===== menu_navigation =====
  * [[..:start|Startseite]]
  * [[..:docs:index|Projekt-Dokumentation]]
  * [[..:contact|Kontakt]]

Rezultat (brskalnik: sl):

  • Domov
  • Projektna dokumentacija
  • Kontakt

Primer 2: prevod v oznaki na gumbu

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

Primer 3: noga z nastavitvijo predloge

<footer>
tpl:footerText
</footer>

Primer 4: izrecno izbran jezik za povezave

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

Rezultat:

  • Jeziki: Startseite | Home | Domov

Integracija v predloge

Uporaba v PHP

<?php
// Naloži pomočnika (helper)
$helper = plugin_load('helper', 'wki18n');
 
if ($helper) {
    // Prevod za ključ
    echo hsc($helper->get('menu_home'));
 
    // Izrecno izbran jezik
    echo hsc($helper->get('menu_home', 'en'));
 
    // Razčleni prevod v oznaki
    echo hsc($helper->parseMultilang('de:Ja|en:Yes'));
 
    // Nastavitev predloge
    echo hsc($helper->getTplConfig('footerText'));
}
?>

Migracija iz wvdslang

Staro (wvdslang) Novo (wki18n) Stanje
lang_key key sintaksa spremenjena
de_key key sintaksa spremenjena
en:Y X sintaksa spremenjena
redirect redirect premaknjeno v wvdscond

Iskanje in zamenjava

Staro: {{wk:lang>
Novo: {{wk:i18n>

Staro: {{wk:lang:
Novo: {{wk:i18n:

Opombe k različicam

Različica Datum Spremembe
1.0.0 2026-01-29 prva izdaja (naslednik vtičnika wvdslang)

Glejte tudi


Tehnična referenca

Razred: syntax_plugin_wki18n

Datoteka: lib/plugins/wki18n/syntax.php

Metoda Opis
getType() vrne substition (tako način zapiše jedro DokuWiki)
getSort() vrne 1 – pred internalmedia (320), da se ... ne prebere kot povezava na predstavnostno datoteko
connectTo($mode) registrira vzorce i18n
handle($match, …) razčleni sintakso in izlušči vsebino
render($mode, …) vrne prevedeno besedilo

Razred: helper_plugin_wki18n

Datoteka: lib/plugins/wki18n/helper.php

Metoda Opis
get($key, $lang) vrne prevod za ključ
parseMultilang($value, $lang) razčleni obliko de:X|en:Y
getConfig($key, $lang) vrne nastavitev DokuWiki z razčlenjevanjem
getTplConfig($key, $lang) vrne nastavitev predloge z razčlenjevanjem
detectLanguage() zazna trenutni jezik
getLanguages() vrne nastavljene jezike
getContentDir() vrne imenik lastne preglednice prevodov, <savedir>/wki18n

<wk:audit stack=„doku“ title=„wki18n Plugin“>

<wk:include ref="code:qualitaet" critical="true">[x][x][x][x]</wk:include>
<wk:include ref="stacks:dokuwiki-php">[x][x][x][x][x]</wk:include>
<wk:include ref="sicherheit:kritis" critical="true">[x][x][x][x][x]</wk:include>

</wk:audit>

DISCUSSION

Podatki o paketu

Vtičnik: wki18n
Različica: 1.0.0
Imenski prostor: lib/plugins/wki18n/
Avtor: Wolfgang van der Stille Wolfgang.van.der.Stille@gmail.com (The White Knight Labs)
Licenca: GPL 2

Migracija iz wvdslang: ta vtičnik nadomešča starejši vtičnik wvdslang. Preusmeritve so bile premaknjene v vtičnik wvdscond (ločitev odgovornosti).
sl/wiki/dwe/wki18n/start.txt · Zuletzt geändert: von 0.0.0.0