Archives du 8 juillet 2015
8 juillet 2015 1 commentaire — gem, github, i18n, rails, url
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 ?
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.
est un développeur web vivant à Paris — Contact — Archives
Textes et contenus sous licence Creative Commons.