Hogyan fordítsuk le a Redmine-t bármely nyelvre

Figyelem: Ez az információ csak a Redmine-ra vonatkozik, és nem vonatkozik az Easy Redmine-ra.
Amikor a Redmine fordításáról van szó, néhány dolgot kell lefordítani:
- Az elsődleges nyelvi fájlt: ez a fájl a jelenlegi törzsben található a forrásban: /trunk/config/locales.
- A wiki eszköztár nyelvi fájlt: ez a fájl a forrásban található: trunk/public/javascripts/jstoolbar/lang
- Az 4 csomagolt súgófájlt: Az összes fájl a forrásban található: trunk/public/help/ egy olyan almappában, amely a nyelv altagja után van elnevezve.
Példaként vegyük, hogy a Redmine alkalmazást a finn nyelvre szeretnénk lefordítani (a nyelvi altagot a "fi" határozza meg). Ehhez követni kell az alábbi lépéseket:
Lépések
- Lépés 1: Másolja az /config/locales/en.yml fájlt az /config/locales/fi.yml fájlba.
- Lépés 2: Másolja a /public/javascripts/jstoolbar/lang/jstoolbar-en.js fájlt a /public/javascripts/jstoolbar/lang/jstoolbar-fi.js fájlba.
- Lépés 3: Másolja az /public/help/en/* fájlokat az /public/help/fi/* fájlokba.
- Lépés 4: Módosítsa a general_lang_name kulcsot az új nyelv teljes nevével a fi.yml fájlban (ebben az esetben: general_lang_name: Finnish).
- Lépés 5: Töltse le az alkalmazás gyorsítótárát. Ez elérhetővé teszi az új nyelvet (finn) a Redmine szoftverben (például rake tmp:cache:clear).
Az említett lépések követése után folytassa a következővel:
- Lépés 6: Fordítsa le az összes karakterláncot a jstoolbar-fi.js és fi.yml fájlokban, és fordítsa le a 4 súgófájl tartalmát (wiki_syntax_markdown.html, wiki_syntax_textile.html, wiki_syntax_detailed_markdown.html és wiki_syntax_detailed_textile.html).
- Lépés 7: Használja a rake feladatokat (amelyeket alább részletezünk), hogy tesztelje a fordítását. Ha hibákat kap a nyelvekkel kapcsolatban, javítani kell azokat.
- Lépés 8: Adja be a fordítást javításként vagy sima fájlként (bejelentkezés szükséges). A kategórialistából válassza ki a "Fordítás" lehetőséget.
- Lépés 9: Végül és legfontosabbként, élvezze a fordítási munkáját!
A teszt rake feladatok:
- Ha a Ruby 1.9 verziót vagy annál magasabbat használja:
rake locales:check_parsing_by_psych
- Minden Ruby verzió esetén:
rake locales:check_interpolation
- Teljes teszt (ez opcionális): rake test
Fontos tudni, hogy a "rake test" elég hosszú időt vesz igénybe, és automatikusan fut a CI (folyamatos integráció) szerveren.
Korlátozások
Fontos megjegyezni, hogy bizonyos korlátozások vannak érvényben:
- Az összes fájlnak 8 bites Unicode Transformation Format (UTF-8) kódolásúnak kell lennie. A fordított karakterláncokban ne használjon HTML (Hypertext Markup Language) entitásokat.
- Győződjön meg arról, hogy a fájlok nem tartalmaznak Byte-order mark (BOM) jelet. A Byte-order markot ezzel a parancsal lehet eltávolítani: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
- Csak az új fordítási fájlokra vonatkozó frissítéseket kell benyújtani (ezeket a frissítéseket a /config/locales mappában találhatja).
Nyelvi fájlok frissítései
A "en.yml" fájl az elsődleges nyelvi fájl szerepét tölti be. A rake locales:update futtatásával ellenőrizheti, hogy tartalmaz-e új karakterláncokat. Ez a parancs másolja az új karakterláncokat a fordítási fájlokba (az alapértelmezett érték az angol fordítás).
A Redmine fordításában lehetővé teszi a 3rd party pluginok támogatását is, amelyek testreszabható kifejezéseket tartalmaznak.
A terminológiák testreszabása a Redmine fordításokban
- Állítsa be az aktuális könyvtárat a config/overrides/<locale> mappára a bővítményben
- Másolja be a jelenlegi 000.yml fájlt a ./XXX.yml-be. Itt az "XXX" egy háromjegyű szám, amely meghatározza a meghatározások prioritását: Minél magasabb a szám, annál nagyobb a prioritás. A 999.yml létrehozását érdemes elkerülni. Így több helyet hagyhat a további felülírásokhoz.
- Szűrje ki azokat a meghatározásokat, amelyeket nem kíván módosítani. Ezzel a módszerrel egy alacsonyabb prioritású fájl képes lesz alkalmazni a módosításait azokra az elemekre, amelyekbe nem kíván beavatkozni.
- A maradék meghatározásokra alkalmazza saját meghatározásait
A bővítményben testreszabható támogató meghatározások
- Mint általában, biztosítson fordítási fájlokat a config/locales mappában, hogy megfelelően működjön, ha nem telepítette a bővítményt. Ha nem, akkor az init.rb-ben explicit módon kell hivatkozni a bővítményre. Ha további információra van szüksége, tekintse meg a Redmine dokumentációját
- Másolja be a helyi beállításait a config/locales mappába
- Minden olyan meghatározásra, amely felülírható a 000.yml-ben, cserélje ki a fordításokat az interpoláció alkalmazása érdekében. Például, amikor kiírja a problémát, ki kell cserélni a szót a %{issue}-re. Továbbá, amikor kiírja a problémákat, ki kell cserélni a szót a %{issue_or_issues}-re.
- Támogathat nagyobb számú felülírható meghatározást a bővítményben. Azonban, ha azt a Redmine alapján is használja, interpolált meghatározásokat kell hozzáadnia a Redmine terminológiáihoz.
Példaként, támogathat egy új %{my_term} meghatározást a helyi beállításaiban. Ha a fordítást a Redmine meghatározásai is használják, akkor a helyi beállításokban helyesen kell kicserélni a %{my_term}-et, hogy biztosítsa a fordítás következetességét.