Cum să traduci Redmine în orice limbă.

5/26/2020
5 minutes
Lukáš Beňa -> Lukáš Beňa

Una dintre cele mai mari caracteristici ale Redmine este că puteți traduce cu ușurință această aplicație de management de proiect în orice limbă doriți.

Declarație: Informațiile din acest articol se aplică numai la Redmine și nu se aplică la Easy Redmine.

Când vine vorba de traducerea Redmine, trebuie să traduci câteva lucruri:

  • Fișierul principal de limbă: acest fișier se află în trunchiul curent la sursă: /trunk/config/locales.
  • Fișierul de limbă a barei de instrumente wiki: acest fișier se află la sursă: trunk/public/javascripts/jstoolbar/lang
  • Cele 4 fișiere de ajutor incluse: Toate aceste fișiere se află la sursă: trunk/public/help/ într-un subdirector numit după subtag-ul limbii

Ca exemplu, să spunem că doriți să traduceți aplicația Redmine în limba finlandeză (Registry-ul de subtag-uri de limbă definește limba ca "fi"). Pentru a face acest lucru, trebuie să urmați următorii pași:


Pași

  • Pasul 1: Copiați și lipiți /config/locales/en.yml în /config/locales/fi.yml
  • Pasul 2: Copiați și lipiți /public/javascripts/jstoolbar/lang/jstoolbar-en.js în /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
  • Pasul 3: Copiați și lipiți /public/help/en/* în /public/help/fi/*.
  • Pasul 4: Modificați cheia general_lang_name cu numele complet al noii limbi în fi.yml (în acest caz: general_lang_name: Finnish)
  • Pasul 5: În continuare, curățați cache-ul aplicației. Acest lucru va face noua limbă (finlandeză) disponibilă în software-ul Redmine (de exemplu, rake tmp:cache:clear)

După urmarea pașilor menționați mai sus, continuați cu următoarele:

  • Pasul 6: Traduceți fiecare șir din fișierele jstoolbar-fi.js și fi.yml și traduceți conținutul celor 4 fișiere de ajutor (wiki_syntax_markdown.html, wiki_syntax_textile.html, wiki_syntax_detailed_markdown.html și wiki_syntax_detailed_textile.html)
  • Pasul 7: Folosiți sarcinile rake (acestea au fost detaliate mai jos) pentru a testa traducerea dvs. Trebuie să remediați orice erori (dacă există) legate de locale.
  • Pasul 8: Trimiteți traducerea dvs. sub formă de patch sau fișier simplu (va fi necesară autentificarea). Din lista de categorii, selectați "Traducere".
  • Pasul 9: În cele din urmă și cel mai important, bucurați-vă de munca dvs. de traducere!


Sarcinile rake de testare:

  • Dacă utilizați versiunea Ruby 1.9 sau mai mare:

rake locales:check_parsing_by_psych

  • Pe toate versiunile Ruby:

rake locales:check_interpolation

  • Testul întreg (acesta este opțional): rake test

Rețineți că "rake test" consumă destul de mult timp și rulează automat pe serverul CI (Integrare continuă).


Restricții în vigoare

Rețineți că există anumite restricții în vigoare

  • Toate fișierele trebuie să fie codificate în format de transformare Unicode (UTF-8). În șirurile traduse, nu utilizați entități HTML (Limbaj de marcare hipertext).
  • Asigurați-vă că verificați dacă fișierele dvs. nu conțin un semn de ordine de octeți (BOM). Puteți elimina un semn de ordine de octeți cu această comandă: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
  • Ar trebui să trimiteți doar actualizări bazate pe fișiere noi de traducere (puteți găsi aceste actualizări în /config/locales)


Actualizări la fișierele de limbă

Fișierul "en.yml" acționează în calitate de fișier de limbă primară. Rulând rake locales:update, puteți verifica dacă acesta conține șiruri noi. Această comandă copiază orice șiruri noi în alte fișiere de traducere (valoarea implicită este traducerea în limba engleză).

În traducerea în Redmine, puteți activa, de asemenea, modulele terțe pentru a sprijini traducerile care cuprind termeni personalizabili.


Personalizarea terminologiilor în traduceri în Redmine

  • Setați directorul existent la config/overrides/<locale> în cadrul plugin-ului
  • Copiați și lipiți fișierul curent 000.yml în ./XXX.yml. Aici "XXX" este un număr format din trei cifre care definește prioritatea definițiilor: cu cât numărul este mai mare, cu atât prioritatea este mai mare. Este cel mai bine să evitați crearea fișierului 999.yml. Acest lucru vă va permite să lăsați mai mult spațiu pentru suprascrieri suplimentare.
  • Filtrati definițiile specifice pe care nu doriți să le modificați. În acest fel, un fișier cu prioritate mai mică va putea aplica modificările sale asupra elementelor pe care nu doriți să le modificați.
  • Aplicați propriile definiții peste termenii rămași


Termeni suportați care pot fi personalizați în plugin-ul dvs.

  • Ca de obicei, furnizați fișierele de traducere în config/locales, pentru a funcționa corect atunci când nu ați instalat plugin-ul. Dacă nu o faceți, ar trebui să solicitați explicit acest plugin în init.rb. Dacă căutați informații suplimentare, consultați documentația Redmine
  • Copiați și lipiți localele dvs. în config/locales
  • Pentru fiecare termen listat care poate fi suprascris în 000.yml, schimbați traducerile pentru a aplica o interpolare. De exemplu, atunci când imprimați o problemă, ar trebui să înlocuiți cuvântul cu %{issue}. În plus, atunci când imprimați probleme, ar trebui să înlocuiți cuvântul cu %{issue_or_issues}.
  • Puteți suporta un număr mai mare de termeni suprascrisi în plugin-ul dvs. Cu toate acestea, dacă îl utilizați și în Redmine de bază, trebuie să adăugați definiții interpolate pentru terminologiile Redmine.

Ca exemplu, puteți suporta o nouă terminologie %{my_term} în localele dvs. Dacă traducerea este utilizată și în termenii Redmine, va trebui să îi includeți în localele dvs. cu înlocuirea corectă a %{my_term} pentru a asigura coerența în traducere.

Încercați Easy Redmine în 30 de zile de încercare gratuită

Funcții complete, protejat SSL, backup-uri zilnice, în geolocalizarea dvs.