31-12-2011, 03:31 PM
(Modification du message : 31-12-2011, 03:35 PM par Sephi-Chan.)
Je pense bien que Gettext supporte des systèmes de placeholder ou à défaut une syntaxe proche du printf.
Pour ma part (avec le système d'i18n de Rails mais je pense que c'est un mécanisme courant), ça donne ça.
Pour la déclaration des traductions (dans un fichier YAML) :
À l'utilisation :
Pour les pages statiques, genre une grosse page où on ne veut pas se faire chier à traduire mot à mot, j'utilise le système de rendu du framework.
Si j'ai une vue
Pour ma part (avec le système d'i18n de Rails mais je pense que c'est un mécanisme courant), ça donne ça.
Pour la déclaration des traductions (dans un fichier YAML) :
fr:
game:
notifications:
start: "La partie %{name} a commencé."
comments:
delete_checked_messages:
zero: "Aucun commentaire n'a été supprimé."
one: "Un seul commentaire a été supprimé."
other: "%{count} commentaires ont été supprimés."
À l'utilisation :
t("game.notifications.start", name: @game.name)
t("comments.delete_checked_messages", count: @messages.length)
Pour les pages statiques, genre une grosse page où on ne veut pas se faire chier à traduire mot à mot, j'utilise le système de rendu du framework.
Si j'ai une vue
about.fr.html.haml
et une vue about.en.html.haml
, celle à utiliser sera déterminée selon la locale définie dans l'application.