Come tradurre Redmine in qualsiasi lingua.

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

Una delle migliori caratteristiche di Redmine è che puoi facilmente tradurre questa applicazione di gestione progetti in qualsiasi lingua tu voglia.

Avviso legale: Le informazioni contenute in questo articolo si applicano solo a Redmine e non si applicano a Easy Redmine.

Per quanto riguarda la traduzione di Redmine, è necessario tradurre alcune cose:

  • Il file di lingua primario: questo file si trova nel trunk corrente a sorgente: /trunk/config /locales.
  • Il file di lingua della barra degli strumenti wiki: questo file si trova in sorgente: trunk/public/javascripts/jstoolbar/lang
  • I 4 file di aiuto inclusi: tutti questi file si trovano in sorgente: trunk/public/help/ in una sottodirectory che porta il nome del sottotag della lingua

Come esempio, diciamo che si desidera tradurre l'applicazione Redmine nella lingua finlandese (il Registro dei sottotag della lingua definisce la lingua come "fi"). Per farlo, è necessario seguire i seguenti passaggi:


Passaggi

  • Passaggio 1: Copia e incolla /config/locales/en.yml in /config/locales/fi.yml
  • Passaggio 2: Copia e incolla  /public/javascripts/jstoolbar/lang/jstoolbar-en.js in /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
  • Passaggio 3: Copia e incolla /public/help/en/* in /public/help/fi/*.
  • Passaggio 4: Modifica la chiave general_lang_name con il nome completo della nuova lingua in fi.yml (in questo caso:  general_lang_name: Finnish)
  • Passaggio 5: Successivamente, pulire la cache dell'applicazione. Ciò renderà la nuova lingua (finlandese) disponibile nel software Redmine (ad esempio, rake tmp: cache: clear)

Dopo aver seguito i passaggi sopra indicati, procedere come segue:

  • Passaggio 6: Tradurre ogni stringa in jstoolbar-fi.js e fi.yml  e tradurre il contenuto dei 4 file di aiuto (wiki_syntax_markdown.html ,wiki_syntax_textile.html,  wiki_syntax_detailed_markdown.html e wiki_syntax_detailed_textile.html)
  • Passaggio 7: Utilizzare i task rake (che sono stati descritti di seguito) per testare la traduzione. È necessario correggere eventuali errori (se si ne ottengono) relativi alle localizzazioni.
  • Passaggio 8: Invia la tua traduzione sotto forma di patch o file semplice (sarà necessario effettuare l'accesso). Dalla lista delle categorie, selezionare "Traduzione".
  • Passaggio 9: Infine e soprattutto, goditi il tuo lavoro di traduzione!


I task rake di test:

  • Se si utilizza la versione Ruby 1.9 o superiore:

rake locales: check_parsing_by_psych

  • In tutte le versioni di Ruby:

rake locales: check_interpolation

  • Test completo (opzionale): rake test

Si tenga presente che "rake test" richiede un periodo di tempo piuttosto lungo e viene eseguito automaticamente sul server CI (Continuous Integration).


Restrizioni in vigore

Si noti che ci sono alcune restrizioni in vigore

  • Tutti i file devono essere codificati in formato di trasformazione Unicode a 8 bit (UTF-8). Nelle stringhe tradotte, non utilizzare entità HTML (Hypertext Markup Language).
  • Assicurati di controllare che i tuoi file non contengano un Byte-order mark (BOM). È possibile rimuovere un Byte-order mark con questo comando: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
  • È necessario inviare solo aggiornamenti basati su nuovi file di traduzione (è possibile trovare questi aggiornamenti in/config/locales)


Aggiornamenti ai file di lingua

Il file "en.yml" agisce in qualità di file di lingua primario. Eseguendo rake locales: update, è possibile verificare se presenta nuove stringhe. Questo comando copia qualsiasi nuova stringa in altri file di traduzione (il valore predefinito è la traduzione inglese).

Nella traduzione in Redmine, è anche possibile abilitare i plugin di terze parti per supportare le traduzioni che comprendono termini personalizzabili.


Personalizzazione delle terminologie sulle traduzioni in Redmine

  • Imposta la directory esistente su config/overrides/<locale> all'interno del plugin
  • Copia e incolla il file 000.yml corrente in ./XXX.yml. Qui "XXX" è un numero a tre cifre che definisce la priorità delle tue definizioni: maggiore è il numero, maggiore è la priorità. È meglio evitare la creazione di 999.yml. In questo modo avrai più spazio per ulteriori override.
  • Filtra le definizioni specifiche che non desideri modificare. In questo modo, un file con priorità inferiore sarà in grado di applicare le sue modifiche agli elementi che non desideri modificare.
  • Sulle restanti terminologie, applica le tue definizioni personalizzate


Termini supportati personalizzabili nel tuo plugin

  • Come al solito, fornisci i file di traduzione sotto config/locales, per il corretto funzionamento quando non hai installato il plugin. Se non lo fai, dovresti richiedere esplicitamente questo plugin nel tuo init.rb. Se cerchi ulteriori informazioni, consulta la documentazione di Redmine
  • Copia e incolla le tue localizzazioni sotto config/locales
  • Per ogni termine elencato che può essere sovrascritto in 000.yml, cambia le traduzioni per applicare un'interpolazione. Ad esempio, quando stampi "issue", dovresti sostituire la parola con %{issue}. Inoltre, quando stampi "issue(s)", dovresti sostituire la parola con %{issue_or_issues}.
  • Puoi supportare un maggior numero di termini sovrascrivibili nel tuo plugin. Tuttavia, se lo stai usando anche in base Redmine, devi aggiungere definizioni interpolate per le terminologie di Redmine.

Come esempio, puoi supportare una nuova terminologia %{my_term} nelle tue localizzazioni. Se la traduzione viene utilizzata anche nelle terminologie di Redmine, dovrai includerle nelle tue localizzazioni con la corretta sostituzione di %{my_term} per garantire la coerenza nella traduzione.

Prova Easy Redmine gratuitamente per 30 giorni

Funzionalità complete, protetto da SSL, backup giornalieri, nella tua geolocalizzazione