SKULLZONE
PmWikiSk

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, nemčina, holandčina a španielčina 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 rozbaľte 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ť niekoľko 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 angličtine, 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 angličtina 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úkoľvek príslušnú XLPage do akejkoľvek 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 (označený 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ý začiatočný 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žiteľné v reťazcoch $...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 angličtiny?

OD: Použijte $XLLangs = array('en'); v konfiguračnom 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 koľko 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: September 10, 2011, at 04:36 PM
PmWiki.Internationalizations: December 19, 2022, at 08:35 AM