Hur man översätter Redmine till vilket språk som helst

5/26/2020
5 minutes
Lukáš Beňa.

En av Redmines största funktioner är att du enkelt kan översätta denna projektledningsapplikation till vilket språk du vill.

Ansvarsfriskrivning: Informationen i denna artikel gäller endast för Redmine och gäller inte för Easy Redmine.

När det gäller översättning av Redmine måste du översätta några saker:

  • Den primära språkfilen: denna fil finns i den aktuella grenen på källa: /trunk/config /locales.
  • Wiki-verktygsfilspråket: denna fil finns i källan: trunk/public/javascripts/jstoolbar/lang
  • De 4 medföljande hjälpfilerna: Alla dessa filer finns i källan: trunk/public/help/ under en underkatalog som är namngiven efter språkets subtagg

Som exempel kan du säga att du vill översätta Redmine-applikationen till finska (språksubtaggen definierar språket som "fi"). För att göra det bör du följa följande steg:


Steg

  • Steg 1: Kopiera och klistra in /config/locales/en.yml till /config/locales/fi.yml
  • Steg 2: Kopiera och klistra in /public/javascripts/jstoolbar/lang/jstoolbar-en.js till /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
  • Steg 3: Kopiera och klistra in /public/help/en/* till /public/help/fi/*.
  • Steg 4: Modifiera nyckeln general_lang_name med det nya språkets fullständiga namn i fi.yml (i detta fall:  general_lang_name: Finnish)
  • Steg 5: Nästa, rensar du programcachen. Detta gör att det nya språket (finska) blir tillgängligt i Redmine-programvaran (exempelvis, rake tmp: cache: clear)

Efter att ha följt ovanstående steg, fortsätt med följande:

  • Steg 6: Översätt varje sträng i jstoolbar-fi.js och fi.yml filer och översätt innehållet i de 4 hjälpfilerna (wiki_syntax_markdown.html ,wiki_syntax_textile.html,  wiki_syntax_detailed_markdown.html och wiki_syntax_detailed_textile.html)
  • Steg 7: Använd rake-uppgifterna (dessa har beskrivits nedan) för att testa din översättning. Du måste fixa eventuella fel (om du får några) relaterade till språkinställningar.
  • Steg 8: Skicka in din översättning som en patch eller en vanlig fil (inloggning krävs). Välj "Översättning" från kategorilistan.
  • Steg 9: Till sist och viktigast av allt, njut av ditt översättningsarbete!


Rake-uppgifter för test:

  • Om du använder Ruby-version 1.9 eller högre:

rake locales: check_parsing_by_psych

  • På alla Ruby-versioner:

rake locales: check_interpolation

  • Hela testet (detta är valfritt): rake test

Tänk på att "rake test" tar ganska lång tid och körs automatiskt på CI (Continuous Integration) -servern.


Begränsningar som gäller

Obs! Det finns vissa begränsningar som gäller

  • Alla filer måste vara kodade i 8-bitars Unicode Transformation Format (UTF-8). Använd inte HTML (Hypertext Markup Language) -entiteter i översatta strängar.
  • Kontrollera att dina filer inte har en byte order mark (BOM). Du kan ta bort en byte order mark med följande kommando: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
  • Du bör endast skicka in uppdateringar baserat på nya översättningsfiler (du hittar dessa uppdateringar i /config/locales)


Uppdateringar av språkfiler

"en.yml" -filen fungerar som primär språkfil. Genom att köra rake locales: update kan du kontrollera om den innehåller nya strängar. Denna kommando kopierar eventuella nya strängar till andra översättningsfiler (standardvärdet är engelsk översättning).

I översättning i Redmine kan du också aktivera tredjepartsinsticksprogram för att stödja översättningar som omfattar anpassningsbara termer.


Anpassa terminologier över översättningar i Redmine

  • Ange den befintliga katalogen till config/overrides/<locale> inom tillägget
  • Kopiera och klistra in den nuvarande 000.yml till ./XXX.yml. Här är "XXX" ett tredigit nummer som definierar prioriteringen för dina definitioner: Ju högre nummer, desto högre prioritet. Det är bäst att undvika skapandet av 999.yml. Detta kommer att ge dig mer utrymme för ytterligare ändringar.
  • Filtrera ut de specifika definitioner som du inte vill ändra. På detta sätt kommer en fil med lägre prioritet att kunna tillämpa sina ändringar på de element som du inte vill blanda dig i.
  • Tillämpa dina egna definitioner på de återstående termerna


Stödjande termer som kan anpassas i ditt tillägg

  • Som vanligt, tillhandahåll översättningsfiler under config/locales, för att fungera korrekt när du inte har installerat tillägget. Om du inte gör det bör du explicit kräva detta tillägg i din init.rb. Om du söker ytterligare information, kolla in Redmine-dokumentationen
  • Kopiera och klistra in dina språkfiler under config/locales
  • För varje listad term som kan överstyras i 000.yml, ändra översättningarna för att tillämpa en interpolering. Till exempel, när du skriver ut "issue", bör du byta ut ordet med %{issue}. Dessutom, när du skriver ut "issue(s)", bör du byta ut ordet med %{issue_or_issues}.
  • Du kan stödja ett större antal överstyrbara termer i ditt tillägg. Men om du också använder det i bas-Redmine, måste du lägga till interpolerade definitioner för Redmine-terminologier.

Som exempel kan du stödja en ny %{my_term}-terminologi i dina språkfiler. Om översättningen används i Redmine-termer också, bör du inkludera dem i dina språkfiler med korrekt ersättning av %{my_term} för att säkerställa konsekvens i översättningen.

Prova Easy Redmine i en 30 dagars gratis provperiod

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geografiska plats