Jak přeložit Redmine do jakéhokoliv jazyka.
Jednou z největších výhod Redmine je, že můžete snadno přeložit tuto aplikaci do správu projektuů do jakéhokoli jazyka, který si přejete.
Upozornění: Informace v tomto článku se vztahují pouze na Redmine i nowy pro Easy Redmine.
Pokud jde o překlad Redmine, musíte přeložit několik věcí:
- Hlavní jazykový soubor: tento soubor se nachází v aktuálním trunku na adres: /trunk/config/locales.
- Pasek narzędzi wiki Jazykový soubor: tento soubor se nachází na adres: trunk/public/javascripts/jstoolbar/lang
- 4 balíčky nápovědy: Všechny tyto soubory se nacházejí na adres: trunk/public/help/ v podadresáři, který je pojmenován podle jazykového subtagu.
Jako příklad uvedeme, že chcete-li přeložit aplikaci Redmine do finštiny (jazyk je definován jako "fi" v registru jazykových subtagů), musíte postupovat následovně:
Kroków
- krok 1: Zkopírujte soubor /config/locales/en.yml do souboru /config/locales/fi.yml
- krok 2: Zkopírujte soubor /public/javascripts/jstoolbar/lang/jstoolbar-en.js do souboru /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
- Krok 3: Zkopírujte soubory /public/help/en/* do souborů /public/help/fi/*.
- Krok 4: Upravte klíč general_lang_name v souboru fi.yml na nový název jazyka (v tomto případě: general_lang_name: fiński)
- Krok 5: Dále vymažte aplikacja pamięci podręcznej. Tím se nový jazyk (finština) stane dostupným v softwaru Redmine (například pomocí příkazu rake tmp:cache:clear)
Poprovedení výše uvedených kroků postupujte následovně:
- Krok 6: Přeložte každý řetězec v souborech jstoolbar-fi.js a fi.yml a přeložte obsah 4 souborů nápovědy (wiki_syntax_markdown.html, wiki_syntax_textile.html, wiki_syntax_detailed_markdown.html i wiki_syntax_detailed_textile.html)
- Krok 7: Použijte rake úlohy (ty jsou podrobně popsány níže), abyste otestovali svůj překlad. Musíte opravit všechny chyby (pokud se vyskytnou) související s lokalizací.
- Krok 8: Odevzdejte svůj překlad ve formě záplaty nebo běžného souboru (je nutné se přihlásit). Z kategorii vyberte "Překlad".
- Krok 9: Nakonec a nejdůležitější, užijte si svou práci na prekladu!
Rake úlohy pro testování:
- Pokud používáte verzi Ruby 1.9 nebo vyšší:
lokalizacje prowizji:check_parsing_by_psych
- Na všech verzích Ruby:
ustawienia regionalne rake:check_interpolation
- Celkový test (toto je volitelné): test prowizji
Mějte na paměti, že „rake test” trvá poměrně dlouho a automaticky se spouští na serveru CI (Continuous Integration).
Ograniczenia
Všimněte si, že jsou zde určitá omezení:
- Zaawansowany kod musi być używany w 8-bitowym formacie Unicode Transformation Format (UTF-8). V přeložených řetězcích nepoužívejte Jednostka HTML (Hypertext Markup Language).
- Ujistěte se, že vaše soubory neobsahují značku pořadí bajtů (BOM). Značku pořadí bajtů můžete odstranit pomocí tohoto příkazu: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
- Měli byste odesílat Updateace pouze na základě nových souborů překladu (tyto Updateace najdete v /config/locales)
Aktualizace jazykových souborů
Soubor "en.yml" slouží jako hlavní jazykový soubor. Spuštěním příkazu rake locales:update můžete zkontrolovat, zda obsahuje nové řetězce. Tento příkaz zkopíruje nové řetězce do ostatních souborů překladu (výchozí hodnota je anglický překlad).
Při překladu v Redmine můžete také povolit podporu překladů třetích stran, které zahrnují upravitelné terminíny.
Přizpůsobení terminologií překladům v Redmine
- Nastavte Exitující adresář na config/overrides/ v rámci pluginu
- Zkopírujte aktuální 000.yml do ./XXX.yml. Zde "XXX" je tříčíselné číslo, které určuje prioritu vašich definic: čím vyšší číslo, tím vyšší priorita. Nejlepší je vyhnout se vytváření 999.yml. To vám umožní nechat více místa pro další přepsání.
- Filtrujte ty konkrétní definice, které nechcete upravovat. Tímto způsobem bude moci soubor s nižší prioritou aplikovat své úpravy na prvky, se kterými nechcete manipulovat.
- Na zbývajících terminínech aplikujte své vlastní definicja
Podporované termíny, které lze přizpůsobit v pluginu
- Stejně jako obvykle poskytněte překladové soubory w adresáři config/locales, aby wtyczka správně fungoval, pokud jej nemáte nainstalovaný. Pokud to neuděláte, musisz użyć wtyczki jawnej, vyžadovat w init.rb. Pokud hledáte další informace, podívejte se do dokumentace Redmine
- Zkopírujte své lokalizace do adresáře config/locales
- Pro každý uvedený terminín, který lze přepsat v 000.yml, změňte překlady tak, aby se aplikovala interpolace. Například při tisku problému byste měli slovo vyměnit za %{issue}. Kromě toho, při tisku problémů, byste měli slovo vyměnit za %{issue_or_issues}.
- Můžete podporovat větší počet přepsatelných termínů ve svém pluginu. Pokud jej však používáte také v základním Redmine, musi znaleźć interpolované definicję dla terminologii Redmine.
Jako příklad můžete podporovat novou terminologii %{my_term} ve svých lokalizacích. Pokud se překlad používá také v terminologiích Redmine, musíte je zahrnout do svých lokalizací s korektní náhradou %{my_term}, aby byla zajištěna konzistence v překladu.