Difference between revisions of "Gettext izar en Ruby on Rails (RoR)"

From Proxecto Trasno
(Nova páxina: "'''''Ruby on Rails''''' é un contorno feito para traballar en inglés. O problema chega cando o noso cliente só fala galego (ou zulú) e quere o aplicativo, como é lóxico, no seu…")
 
m
 
Line 1: Line 1:
 
'''''Ruby on Rails''''' é un contorno feito para traballar en inglés. O problema chega cando o noso cliente só fala galego (ou zulú) e quere o aplicativo, como é lóxico, no seu propio idioma.
 
'''''Ruby on Rails''''' é un contorno feito para traballar en inglés. O problema chega cando o noso cliente só fala galego (ou zulú) e quere o aplicativo, como é lóxico, no seu propio idioma.
  
E agora como traducimos as datas? E os formatos de moeda? Preguntas como estas xa teñen solución. Imos utilizar [http://es.wikipedia.org/wiki/Gettext|Gettext], a biblioteca GNU de localización de software por excelencia, e [http://rubyforge.org/projects/gettextlocalize|Gettext Localize], o plugin escrito por ''Ramon Salvadó'', ''Miquel Ibero'' e ''Pau Colomer'' que nos permitirá manexar as funcións de '''Gettext''' desde o noso aplicativo '''RoR'''.
+
E agora como traducimos as datas? E os formatos de moeda? Preguntas como estas xa teñen solución. Imos utilizar [http://es.wikipedia.org/wiki/Gettext Gettext], a biblioteca GNU de localización de software por excelencia, e [http://rubyforge.org/projects/gettextlocalize|Gettext Localize], o plugin escrito por ''Ramon Salvadó'', ''Miquel Ibero'' e ''Pau Colomer'' que nos permitirá manexar as funcións de '''Gettext''' desde o noso aplicativo '''RoR'''.
  
  
Line 10: Line 10:
  
 
===Instalación do engadido ''Gettext Localize''===
 
===Instalación do engadido ''Gettext Localize''===
A continuación, instalamos o engadido '''Gettext Localize''' no noso proxecto via [http://github.com/|github]:
+
A continuación, instalamos o engadido '''Gettext Localize''' no noso proxecto via [http://github.com/ github]:
 
  git clone git://github.com/rsalvado/gettext_localize.git vendor/plugins/gettext_localize
 
  git clone git://github.com/rsalvado/gettext_localize.git vendor/plugins/gettext_localize
 
Agora temos que localizar todo o texto que queremos que sexa traducible e marcalo coa seguinte sintaxe:
 
Agora temos que localizar todo o texto que queremos que sexa traducible e marcalo coa seguinte sintaxe:
Line 28: Line 28:
  
 
===Xerar o binario MO===
 
===Xerar o binario MO===
Unha vez fixemos as traducións correspondentes co noso editor preferido (podemos facelo con [http://www.poedit.net/|Poedit] ou con calquera outro como [http://api.kde.org/4.x-api/kdesdk-apidocs/lokalize/html/|Lokalize] ou [http://projects.gnome.org/gtranslator/|Gtranslator] etc...), imos de novo ao terminal e escribimos:
+
Unha vez fixemos as traducións correspondentes co noso editor preferido (podemos facelo con [http://www.poedit.net/ Poedit] ou con calquera outro como [http://api.kde.org/4.x-api/kdesdk-apidocs/lokalize/html/ Lokalize] ou [http://projects.gnome.org/gtranslator/ Gtranslator] etc...), imos de novo ao terminal e escribimos:
 
  rake gettext:makemo
 
  rake gettext:makemo
  

Latest revision as of 15:45, 8 October 2010

Ruby on Rails é un contorno feito para traballar en inglés. O problema chega cando o noso cliente só fala galego (ou zulú) e quere o aplicativo, como é lóxico, no seu propio idioma.

E agora como traducimos as datas? E os formatos de moeda? Preguntas como estas xa teñen solución. Imos utilizar Gettext, a biblioteca GNU de localización de software por excelencia, e Localize, o plugin escrito por Ramon Salvadó, Miquel Ibero e Pau Colomer que nos permitirá manexar as funcións de Gettext desde o noso aplicativo RoR.


Instalación da xema Gettext[edit]

Pasemos á acción. O primeiro é instalar a xema Gettext:

sudo gem install gettext


Instalación do engadido Gettext Localize[edit]

A continuación, instalamos o engadido Gettext Localize no noso proxecto via github:

git clone git://github.com/rsalvado/gettext_localize.git vendor/plugins/gettext_localize

Agora temos que localizar todo o texto que queremos que sexa traducible e marcalo coa seguinte sintaxe:

_("text to translate")


Xerar a plantilla POT[edit]

Agora temos que xerar o fichero POT, o modelo base a partir da cal poderanse realizar todas as traducións. Imos ao terminal e escribimos:

rake gettext:updatepo

Si todo foi ben, veremos un novo cartafol no noso aplicativo co fichero POT dentro del:

po/nome_aplicativo.pot.


Xerar o ficheiro de tradución PO[edit]

Dentro dese cartafol temos que crear un ficheiro po/lang1/nome_aplicativo.po para cada tradución, onde lang1 é o ISO do idioma destino. Por exemplo, para a nosa tradución ao galego, o ficheiro será po/gl/nome_aplicativo.po. Para a tradución ao alemán o fichero será po/de/nome_aplicativo.po. E así sucesivamente.


Xerar o binario MO[edit]

Unha vez fixemos as traducións correspondentes co noso editor preferido (podemos facelo con Poedit ou con calquera outro como Lokalize ou Gtranslator etc...), imos de novo ao terminal e escribimos:

rake gettext:makemo


E iso é todo.

Gettext Localize foi probado cos seguintes idiomas: galego, catalán, español, inglés, francés e alemán. Para configurar novos idiomas, cambiar a configuración predeterminada, etc..., consultaremos a documentación que vén co plugin.