La risposta breve è, io credo, no, non si può fare di interpolazione di stringhe in YAML il modo in cui si desidera utilizzare an alias.
Nel tuo caso, quello che vorrei fare è avere qualcosa di simile a quanto segue nel mio file locale:
en:
site_name: "Site Name"
static_pages:
company:
description: ! '%{site_name} is an online system'
e quindi chiamare nella vista appropriata con il nome del sito come parametro:
t('.description', site_name: t('site_name'))
che ti porterà a "Site Name is an online system"
.
Tuttavia, se siete disperati per utilizzare gli alias nel file YAML per concatenare le stringhe insieme, il seguente completamente unrecommended codice dovrebbe funzionare anche facendo in modo che la stringa di essere due elementi di un array:
en:
site_name: &site_name "Site Name"
static_pages:
company:
description:
- *site_name
- "is an online system"
e poi si sarebbe join
la matrice nella vista appropriata in questo modo:
t('.description').join(" ")
che sarebbe anche ottenere "Site Name is an online system"
.
Tuttavia, prima di decidere di andare su questa strada, a parte la questione che @felipeclopes legato a, uno sguardo a:
- this StackOverflow answer riguardo concatenazione di stringhe i18n (tl; dr favore, non per il tuo team di traduzione).
- StackOverflow domande here e here simili alla domanda.
fonte
2012-12-19 14:03:54
** Consulta anche: ** https://stackoverflow.com/questions/15777987/string-interpolation-in-yaml – dreftymac