Trenutno dejavna stran: start » sl » Interna dokumentacija » Razširitve DokuWikija (WvdS) » WvdS.DokuWiki.i18n Plugin

WvdS.DokuWiki.i18n Plugin

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

Prvi koraki

Pogosta opravila

Kaj želite Za koga Kje to naredite Navodilo
vstaviti prevedeno besedilo avtorji oznaka kljuc Sintaksa
napisati prevod brez preglednice avtorji oznaka z jezikovnimi pari Sintaksa
izsiliti besedilo v določenem jeziku avtorji oznaka z navedbo jezika Sintaksa
prikazati vrednost nastavitve avtorji oznaka na vrednost nastavitve Sintaksa
vzdrževati prevode avtorji preglednica CSV CSV Format
razumeti, kateri jezik se izbere vsi Zaznavanje jezika
ista besedila uporabiti iz PHP razvijalci Konfiguracija

Definicija

Vtičnik wki18n 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č

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/wki18n/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):

  • Domov
  • Dokumentacija
  • Kontakt

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:

  • Jeziki: Startseite | Home | Domov

Integracija v predloge

PHP uporaba

<?php
// Naloži helper
$helper = plugin_load('helper', 'wki18n');
 
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 (wki18n) 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: {{wk:lang>
Novo: {{wk:i18n>

Staro: {{wk:lang:
Novo: {{wk: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_wki18n

Datoteka: lib/plugins/wki18n/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_wki18n

Datoteka: lib/plugins/wki18n/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

<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

Paketangaben

Vtičnik: wki18n
Verzija: 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 stari vtičnik wvdslang. Funkcionalnost preusmeritev je bila preseljena v vtičnik wvdscond (ločitev odgovornosti).
sl/wiki/dwe/wki18n/start.txt · Zadnja sprememba: uporabnika 0.0.0.0