Aktualizace phpBB 3.1 na novou verzi s sebou obvykle přináší i změny v jazykových souborech, což nevadí, když administrátoři nemají v jazykových souborech žádné svoje vlastní úpravy. V tom případě jim stačí stáhnout aktualizovaný balíček s překladem a nahradit jím ten původní. Pokud ale nějakou svoji vlastní úpravu v překladu admin provede, může aktualizace jazyka nějakou chvíli trvat. V tomto článku se pokusím popsat různé způsoby, kterými to jde urychlit a usnadnit.
Notepad++ #
Notepad++ je jeden z textových editorů, které jsou doporučené pro úpravy phpBB souborů. Notepad++ je grátis a existuje i v portable verzi, takže běží třeba i z flešky nebo externího hard disku (což má taky výhodu při přeinstalaci systému, kdy není potřeba programy znovu instalovat, ale stačí připojit hard disk, na kterém jsou nainstalované).
Tento postup se hodí, pokud je v nové verzi překladu (na kterou se aktualizuje) více změn než kolik je těch vlastních v původní verzi překladu (která je nainstalovaná ve fóru). Funguje to tak, že se nahradí původní (uživatelem upravený) překlad novým překladem a vlastní změny se pak rychle vyhledají v souborech pomocí notepadu++ a provedou se znovu.
V notepadu++ jde vyhledávat ve složkách se soubory pomocí příkazu "Najít" - "Najít v souborech", který funguje i na podsložky, takže jde vyhledat slovo nebo fráze ve všech souborech překladu najednou.
Kde jsou důležitý políčka:
- Najít - vyhledávané slovo. Protože chci najít slovo "obrázek" (a různé tvary tohoto slova, které mohly vzniknout skloňováním atd.), napsal jsem jen základ slova - "obráz" - , což by snad mělo pokrýt všechny možnosti.
- Adresář - složka, ve které chci hledat
- Hledat pouze celá slova - bude brát to moje "obráz" jako celé slovo a nenajde nic, protože se slovo "obráz" v překladu nevyskytuje.
- Rozlišovat malá a VELKÁ písmena - najde něco jiného, když napíšu "Obráz" (s velkým O) a něco jiného, když napíšu "obráz" (s malým o).
- Ve všech podadresářích - Pokud nebude zatrženo, bude prohledávat jen vybraný adresář. Pokud je souborů hodně (např. při prohledávání celé phpBB složky) tak může vyhledávání nějakou dobu trvat.
- Další nastavení jsem nikdy nepoužil a mám ho tak jak je na obrázku.
a po kliknutí na ně se otevře správný soubor na správném místě, takže se nemusí soubory s nalezenými slovy procházet a stačí jen slova nahradit za ty svoje.
Pokud se slovo nachází na řádku několikrát, je každé nalezené slovo zobrazeno ve výsledcích vyhledávání na novém řádku. Řádky jsou ale označeny číslem, tak je jasný, že je na jednom řádku více nalezených slov.
Po změně (nahrazení) slova se změněný řádek z výsledků vyhledávání neztratí, ale zůstane tam v podobě v jaké byl před změnou slova (např. když změním v nějakém řádku svoje "obráz" na "image", tak ve výsledcích vyhledávání bude pořád řádek s "obráz", ale po kliknutí na něj se mi otevře řádek s už upraveným slovem, tedy "image"). Při velkém množství výsledků vyhledávání se může stát, že se některý řádek přeskočí a lepší než si pamatovat, který řádek jsem už upravil a který ne, je provést nové vyhledání stejného výrazu, které najde jen ty zatím neupravené původní výrazy.
V notepadu ++ jdou slova i automaticky nahradit, ale to jsem nezkoušel, protože mám pocit, že by to mohlo vytvořit nějaké chyby (např. při skloňování) a proto raději nahrazuju slova manuálně.
Porovnání souborů pomocí Winmerge #
WinMerge je program, který umí porovnat soubory (a složky se soubory) a najít v nich a zvýraznit rozdíly. To umí asi i jiné programy, ale WinMerge je grátis a existuje i jako portable verze. Tento program už nebyl dost dlouho aktualizovaný, ale běží i na win 8.1 a pro porovnání phpBB souborů stačí.
Tento postup se hodí, pokud je v nové verzi překladu méně změn než kolik je těch vlastních. V tomto případě se pouze doplní do původního překladu upravené řádky z nového překladu.
V krátkosti se s WinMerge pracuje tak, že se porovnají anglické jazykové balíčky z původní verze s verzí novou. Nalezené rozdíly se pak najdou v překladu a z nové verze se doplní do té původní (v notepadu++).
Podrobný návod
V následujícím návodu je postup, který používám v podstatě u všech aktualizací překladů a nezáleží na tom, jestli je to MOD, rozšíření, nebo překlad celého phpBB.
Otevřete WinMerge a klikněte na "Soubor" - "Otevřít...", což otevře následující okno:
Kde:
- Vlevo - soubor, nebo složka , která bude v porobnání na levé straně (obvykle tam dávám starší - původní verzi angličtiny).
- Vpravo - stejné jako předchozí, ale soubor nebo složka bude zobrazená napravo.
- Filtr - nechat výchozí
- Včetně podsložek - pokud tohle políčko zatrhnete, tak se porovnají i podsložky a ve výsledku porovnání budou zobrazeny všechny soubory pod sebou, což se hodí pro kontrolu složek, které mají podsložky.
Pokud políčko nezatrhnete, tak se porovnají jen soubory ve vybrané složce, ale už ne soubory v podsložkách.
Ačkoliv může být zobrazení všech souborů (i s podsložkama) trochu méně přehledné, tak podle mého názoru je to lepší, protože člověk vidí všechny soubory, které ve kterých jsou rozdíly a nemusí se postupně proklikávat podsložkama a mít strach, že na nějakou zapomene. Takže osobně to mám vždycky zatržený.
Po kliknutí na tlačítko OK se zobrazí okno se s výsledkem porovnání:
Kde jsou nejdříve zobrazeny soubory, které se liší. Tyto soubory mají červenou ikonu a pod výsledkem porovnání je text oznamující, že "Textové soubory jsou rozdílné".
Za těmito soubory jsou soubory, které jsou shodné. Jsou označeny nazelenalou ikonou a textem, že jsou shodné.
Úplně dole jsou soubory, které přebývají nebo chybí. Jejich ikona je namodralá a vypadá jako utržený papír. Text pak oznamuje, na které straně (vpravo nebo vlevo) se soubor nachází, díky čemuž víte, jestli je to soubor nový (který je nutno doplnit), nebo je to soubor, který je navíc a má se smazat.
Soubory, ve kterých jsou rozdíly se musí upravit. Dvakrát klikněte na jeden ze souborů s rozdíly, což otevře následující okno:
ve kterém jsou tři sloupečky. V úzkém sloupečku nalevo je přehledně zobrazeno, kde jsou v souboru rozdíly (šedé a žluté proužky). V dalších dvou sloupečcích jsou zobrazeny původní a nový soubor. Rolovat jde v úzkém i v širokých sloupečcích. Kliknutí na určité místo v úzkém sloupečku přeroluje na to místo i široké sloupečky:
Pokud vezmu předchozí obrázek jako příklad, vidím, že v novém souboru search.php je nový řádek
'NO_SEARCH_LOAD'
, který musím doplnit do svého původního souboru, takže otevřu původní, teď už český soubor v notepadu++ a najdu v něm část předchozího řádku (kterou zkopíruju z WinMerge), která je stejná ve všech jazykových souborech 'NO_SEARCH_RESULTS'
.Notepad++ část řádku najde a já vím, že za tento řádek musím zkopírovat z nové verze českého překladu řádek začínající na
'NO_SEARCH_LOAD'
, čímž aktualizuju svůj soubor.- Poznámka: Pozor na to, že číslo řádku v anglickém jazykovém souboru nemusí odpovídat řádku českému. Není to chyba překladu, ale je to způsobeno tím, že v češtině používáme více tvarů množného čísla než v angličtině, takže v českých souborech je často více řádků než v anglických souborech.
Občas se může stát, že se nepřidává, nebo nemaže celý řádek, ale že je na řádku změněno několik slov. To je pak ve WinMerge zobrazeno takhle:
V tomto případě můžete nahradit celý řádek, pokud na něm není žádná vaše vlastní úprava, nebo budete muset řádek projít a upravit ho na novou verzi, pokud na něm vaše úprava překladu je.
Automatická úprava souborů během aktualizace #
Tento postup lze použít kdykoliv, ale asi nemá smysl, pokud se aktualizuje jen pár řádků.
Protože je překlad součástí phpBB (není to rozšíření) mělo by jít (a podle testu to jde) přidat překlad do automatické aktualizace, takže soubory překladu budou zkontrolovány stejně jako ostatní soubory fóra. V tomto případě ale budete muset upravit aktualizační soubor a přidat původní a nové české soubory do aktualizace.
Taky budete potřebovat automatický aktualizační balíček, který můžete stáhnout na phpBB.com, a který budete pro aktualizaci fóra stejně potřebovat.
Podrobný návod
V aktualizačním balíčku otevřete soubor
install/update/index.php
(vedle něho jsou složky new
a old
), ve kterém uvidíte seznam souborů, které se aktualizují (vybral jsem jen jazykové + několik dalších kolem nich):Kód: Vybrat vše
'files' => array(
...
'includes/functions_posting.php',
'includes/message_parser.php',
'language/en/acp/common.php',
'language/en/acp/permissions.php',
'language/en/acp/search.php',
'language/en/install.php',
'language/en/search.php',
'mcp.php',
'memberlist.php',
...
- Poznámka: Pozor na to, že v alternativní a neformální češtině můžou být upravené i jiné soubory, než jenom ty odpovídající anglickým. Důvodem jsou opravy chyb, drobné změny atd. Při vydání překladu se pokusím tyto soubory vypsat.
language/cs_alt/acp/common.php
language/cs_alt/acp/permissions.php
language/cs_alt/acp/search.php
language/cs_alt/install.php
musíte tyto soubory přidat do seznamu (nejlíp za anglické jazykové soubory) takže dostanete následující:
Kód: Vybrat vše
'files' => array(
...
'includes/functions_posting.php',
'includes/message_parser.php',
'language/en/acp/common.php',
'language/en/acp/permissions.php',
'language/en/acp/search.php',
'language/en/install.php',
'language/en/search.php',
'language/cs_alt/acp/common.php',
'language/cs_alt/acp/permissions.php',
'language/cs_alt/acp/search.php',
'language/cs_alt/install.php',
'mcp.php',
'memberlist.php',
...
Soubory, které napíšete do seznamu musíte ještě fyzicky vložit do složek
new
a old
(samozřejmě do správných podsložek např. new/language/cs_alt/acp/common.php
).Do složky
new
vložíte nové verze souborů a do složky old
vložíte pochopitelně původní soubory, které používáte na vašem fóru. - Poznámka: Z testů se zdá, že se soubory nemusí vybírat, ale jde do složek vložit všechny soubory z jazykového balíčku. Soubory které se mají zkontrolovat jsou v souboru
install/update/index.php
, který jsem upravovali před chvílí. Pokud ale vložíte všechny soubory, tak je taky budete muset nahrát na server, což by teoreticky mohlo někomu vadit.
phpBB řádek upraví na novou verzi, ale nedokáže si poradit s mou úpravou ("bla bla" není na pravé straně, kde je zobrazeno jak bude vypadat soubor po aktualizaci), takže ji musím do souboru dopsat po aktualizaci.
- Poznámka: Všimněte si na předchozím obrázku nahoře vpravo, že mám vybraný způsob porovnání "Vedle sebe", který není výchozí.