26 lines
620 B
Ruby
26 lines
620 B
Ruby
require "i18n/exceptions"
|
|
require "action_view/helpers/tag_helper"
|
|
|
|
module ActionView
|
|
module Helpers
|
|
module TranslationHelper
|
|
include TagHelper
|
|
|
|
def t(key, **options)
|
|
current_locale = options[:locale].presence || I18n.locale
|
|
|
|
@i18n_content_translations ||= {}
|
|
@i18n_content_translations[current_locale] ||= I18nContent.translations_hash(current_locale)
|
|
|
|
translation = @i18n_content_translations[current_locale][key]
|
|
|
|
if translation.present?
|
|
translation % options
|
|
else
|
|
translate(key, **options)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|