Internacionalizácia

PmWiki podporuje internacionalizáciu webových stránok, umožujúc aby sa v názvoch stránok nachádzali znaky s diakritikou a takmer úplné prispôsobenie hlásení PmWiki. Väšina prispôsobenia sa v PmWiki robí pomocou funkcie XLPage(), ktorá naíta sadu prekladových premenných z wiki stránky (typicky pomenovanej XLPage, ale môže by pomenovaná ako len chcete).

Naítanie stránok s prekladom

Stránky pre mnohé jazyky ako francúzština, nemina, holandina a španielina už boli vytvorené a udržiavané na webovej stránke pmichaud.com. Archív týchto prekladov si môžete stiahnu z http://www.pmichaud.com/pub/pmwiki/i18n.tgz. Jednoducho rozbate archív do adresára obsahujúceho vašu inštaláciu pmwiki.php. Archív obsahuje množstvo súborov stránok, ktoré sú umiestnené vo vašom adresári wikilib.d/, a niektoré špeciálne skripty pre preklady, ktoré používajú inú znakovú sadu ako iso-8859-1 (predvolená hodnota PmWiki).

Ke sú už stránky s prekladmi nainštalované, jazyk zapnete pridaním volania XLPage() do svojho súboru config.php. Napríklad, pre výber hlásení vo francúzskom jazyku, by sme uviedli

XLPage('fr','PmWikiFr.XLPage');

o hovorí, že treba naíta preklady pre francúzštinu ('fr') zo stránky PmWikiFr.XLPage. Je úplne v poriadku naíta niekoko stránok; takže ak chcete vytvori svoje vlastné lokálne preklady bez zmeny tých, ktoré ste dostali z i18n.tgz, iba vytvorte alšiu stránku (pozri nižšie) a naítajte ju navrchu. Uistite sa, že najprv naítate stránku s vašimi miestnymi zmenami:

XLPage('fr','PmWikiFr.XLPageLocal');  # moje osobne preklady
XLPage('fr','PmWikiFr.XLPage');       # z i18n.tgz

Ak máte v úmysle ponúka na svojej webovej stránke viacero jazykov, a používa (Wiki skupiny) ako selektory jazykov, možno budete chcie umiestni tento kód do súborov s lokálnymi úpravami (pozri Nastavenia pre skupiny). Napríklad, ak je vaša stránka uverejnená vo francúzštine a anglitine, a francúzske stránky sú v skupine pomenovanej Fr, vytvorili by ste súbor pomenovaný Fr.php v adresári local/ ktorý obsahuje:

<?php if (!defined('PmWiki')) exit();
##zmena do francuzskeho jayzka
XLPage('fr','PmWikiFr.XLPage');

Môžete chcie vytvori stránku nazvanú PmwikiFr.php s rovnakým obsahom pre prístup k francúzskej dokumentácii v skupine PmwikiFr. En.php v tomto prípade nie je potrebný keže anglitina je predvolený jazyk.

Alternatíva k vyššie uvedenému by bola prida do config.php nasledujúci kód, ktorý testuje i v skupine existuje XLPage, a ak ju nájde naíta ju:

    
$xlpage = FmtPageName('$Group.XLPage', $pagename);
if (PageExists($xlpage)) XLPage($xlpage, $xlpage);

S touto metódou by ste potrebovali skopírova akúkovek príslušnú XLPage do akejkovek skupiny, ktorá potrebuje inú jazykovú podporu.

Tvorba nových prekladov

Ak pre váš požadovaný jazyk neexistujú stránky jazyka, je ahké ich vytvori! Prekladový súbor XLPage jednoducho obsahuje riadky v tvare

'výraz' => 'preložený výraz',

kde "výraz" je internacionalizovaný výraz (oznaený pomocou $[výraz]) v $...Fmt premenných PmWiki, a "preložený výraz" je to o by sa malo zobrazi vo vašom konkrétnom jazyku. Napríklad, riadok (v PmWikiFr.XLPage)

'SearchWiki' => 'Rechercher',

prevedie na výstupe "$[SearchWiki]" na "Rechercher". Súbor PmWiki:XLPageTemplate je dobrý zaiatoný bod pre tvorbu novej stránky XLPage a už v sebe obsahuje väšinu kúových výrazov PmWiki. Všimnite si, že prekladový mechanizmus prevádza iba výrazy, ktoré boli uvedené ako preložitené v reazcoch $...Fmt --nepreloží normálny text vo formátovaní wiki.

Ak vytvoríte nové verzie stránok PmWiki v iných jazykoch, prosím uvažujte o ich pridaní na hlavnú stránku PmWiki tak aby boli sprístupnené ostatným v archíve i18n.tgz!

Pojem "i18n" sa bežne používa ako skratka anglického slova "internationalization" (internacionalizácia). Skratka je odvodená od faktu, že medzi "i" a koncovým "n" je 18 písmen a len málo udí ich chce všetky písa.

Nástroje pre lokalizáciu PmWiki

Môžete pomôc lokalizova PmWiki do svojho jazyka na pôvodnej stránke:

<< Správa nahrávaní | Index dokumentácie | Wiki farmy >>

OT: Ak je moje wiki internacionalizované pomocou config.php, ako vrátim niektorú konkrétnu skupinu do anglitiny?
OD: Použijte $XLLangs = array('en'); v konfiguranom súbore group.php.
OT: o predstavuje prvý parameter tejto funkcie? Ako Môže by použitý?
OD:

Mechanizmus XLPage umožuje naíta viaceré sady prekladov, a prvý parameter sa používa na ich rozlíšenie.

Napríklad, predpokladajme, že chcem ma preklady pre normálnu francúzštinu aj pre "kanadskú" francúzštinu. Namiesto udržiavania dvoch úplne samostatných sád stránok, by som mohol urobi:

    XLPage('fr', 'PmWikiFr.XLPage');
    XLPage('fr-ca', 'PmWikiFrCa.XLPage');

PmWikiFr.XLPage by obsahovala všetky preklady v štandardnej francúzštine, zatia o PmWikiFrCA.XLPage by mohla obsahova iba preklady "špecifické pre Kanadu" -- tj., tie, ktoré sú odlišné od tých na francúzskej stránke.

Prvý parameter odlišuje dve sady prekladov. Navyše, skript config.php môže použi premennú $XLLangs na úpravu poradia prekladu, takže ak bola skupina alebo stránka kde som chcel iba preklad v štandardnej francúzštine, môžem nastavi

    $XLLangs = array('fr', 'en');

a Pmwiki použije iba 'fr' a 'en' preklady (v tomto poradí), nezáleží na tom koko prekladov bolo naítaných pomocou XLPage().


. Preklad stránky PmWiki.Internationalizations - Pôvodná stránka je na PmWikiSk.Internationalizations - Backlinks
Posledné zmeny:
PmWikiSk.Internationalizations: 2011-09-10
PmWiki.Internationalizations: 2022-12-19