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

5/26/2020
5 minutes
Lukáš Beňa -> Lukáš Beňa
Az egyik legnagyobb előnye a Redmine-nek, hogy könnyedén lefordítható bármilyen nyelvre ez a projektmenedzsment alkalmazás.

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.

Próbálja ki az Easy Redmine-t 30 napos ingyenes próbaverzióban

Minden funkció elérhető | SSL tanúsítvány | Napi mentések