как я могу выполнить интерполяцию в локали I18n?

Есть ли способ сделать что-то вроде этого:

en:
  welcome:
    hello there, #{current_user.first_name}!  It's nice to see you again.

Это явно не сработает, и, очевидно, "# {" - недопустимые символы в yaml, потому что эта строка отображается как просто "привет", когда я ее вытаскиваю.

Лучшее, что я мог сделать, было примерно так:

en:
  welcome:
    hello there, (name)!  It's nice to see you again.

....

t(:welcome).gsub("(name)", current_user.first_name)

Но я не без ума от этого ... Должен быть лучший способ делать такие вещи.

14
задан patrick 30 June 2011 в 14:24
поделиться