Sunfox

Le journal de Sunny Ripert


Articles mot-clétés i18n

Traduire ses routes dans Rails

juillet 8th, 2015 , 1 commentaire.

Photo de portes de Fushimi Inari-taisha

Les URLs de votre site sont visibles et méritent autant d’attention que le reste de votre interface. Dans ce cas, pourquoi avoir des chemins en anglais uniquement alors que le reste de votre site est traduit ?

https://monsite.com/en/books/1/edit
https://monsite.com/fr/books/1/edit
https://monsite.com/es/books/1/edit

Je trouve que les adresses suivantes, traduites, sont plus élégantes et compréhensibles par tous :

https://monsite.com/en/books/1/edit
https://monsite.com/fr/livres/1/éditer
https://monsite.com/es/libros/1/editar

Mieux, non ?

route_localize

Pour avoir des URLs pareilles avec Ruby on Rails sans pour autant tout dupliquer, j’ai développé la gemme route_localize.

Une fois installée, il suffit d’entourer les routes à traduire dans config/routes.rb :

scope localize: %w(en fr es) do
  resources :books
end

Vous pouvez ensuite traduire les chemins que vous voulez dans vos fichiers de localisation :

fr:
  routes:
    books: livres
    edit: éditer

Et voilà ! Magie !

Enfin, si vous souhaitez faire passer vos utilisateurs d’une langue à l’autre sur votre site un petit helper prends la langue voulue et vous retourne le chemin traduit.

Enregistrer la langue d’un utilisateur avec Devise

juillet 6th, 2015 .

Daim photographié

J’ai créé une petite gemme Ruby. Son petit nom c’est devise-track_locale. Si vous utilisez Ruby on Rails et Devise sur un site multilangue, cela vous permets d’enregistrer la dernière langue utilisée par l’utilisateur, automatiquement.

C’est un module Devise, donc son installation est aussi simple que d’ajouter :track_locale dans la liste de modules Devise et un champ locale sur les utilisateurs.

Ce n’est pas grand chose, mais plutôt que de garder cette fonctionnalité sur un site j’en ai fait une petite librairie externe, réutilisable, open-source, testée. Et je compte bien en faire autant pour tous ces petits développements qui sortent des fonctionnalités du cœur de mes sites.

Retrouver les clefs de localisation facilement avec Rails

juillet 17th, 2014 , 3 commentaires.

Photo de Drapeaux Lego

J’utilise Locale avec Ruby on Rails pour permettre à n’importe qui dans l’équipe de modifier les textes d’un site quelle que soit la langue.

Néanmoins, ce n’est pas évident pour celui qui n’a pas le code sous les yeux de retrouver quel texte correspond à quelle clef.

Suite de l’article…


:D Sunny Ripert

est un développeur web vivant à Paris.

CV, me contacter


Textes et contenus sous licence Creative Commons.
Site crée par mes soins et propulsé par WordPress.