2017-08-04 1 views
0

J'utilise actuellement i18n pour traduire des chaînes et je cherche un moyen d'attacher une variable sur le chemin.i18n Attacher une variable à une chaîne de traduction

Cette variable peut avoir une valeur d'environ 8 valeurs différentes et nécessite une traduction différente. Mes fichiers de paramètres régionaux incluent déjà les traductions mais je ne sais pas comment ajouter ma variable sur le chemin de traduction. Je ne pas pense variable interpolation m'aide ici.

content.state //variable 
t ('.state') //locale path 

Je cherche un moyen d'ajouter la variable content.state à la fin du chemin de paramètres régionaux afin que cela se traduit en fonction de ce que content.state est. Actuellement ma seule solution est un grand if/else couvrant tous les états. Résolu: J'essayais de trouver un moyen d'ajouter une variable au chemin de la locale dans les guidons et j'ai fini par utiliser l'assistant de concaténation.

{{ t (concat "state." content.state)}} 

Répondre

1

Vous pouvez le faire comme ceci (exemple):

I18n.t('helpers.links.add', variable: "Your Variable Value") 

puis, sur votre fichier de traduction (yml):

helpers: 
    links: 
    add: "Add %{variable}" 

De cette façon, dans mon exemple, la sortie serait: Ajouter votre valeur variable.

Espérons que cela aide!