app/helpers/globalize_helper.rb
module GlobalizeHelper
def enabled_locale?(resource, locale)
return site_customization_enable_translation?(locale) if resource.blank?
if resource.locales_not_marked_for_destruction.any?
resource.locales_not_marked_for_destruction.include?(locale)
elsif resource.locales_persisted_and_marked_for_destruction.any?
locale == first_marked_for_destruction_translation(resource)
else
locale == I18n.locale
end
end
def first_translation(resource)
if resource.locales_not_marked_for_destruction.include? I18n.locale
I18n.locale
else
resource.locales_not_marked_for_destruction.first
end
end
def first_marked_for_destruction_translation(resource)
if resource.locales_persisted_and_marked_for_destruction.include? I18n.locale
I18n.locale
else
resource.locales_persisted_and_marked_for_destruction.first
end
end
def display_translation_style(resource, locale)
"display: none;" unless display_translation?(resource, locale)
end
def display_translation?(resource, locale)
return locale == I18n.locale if resource.blank?
if resource.locales_not_marked_for_destruction.any?
locale == first_translation(resource)
elsif resource.locales_persisted_and_marked_for_destruction.any?
locale == first_marked_for_destruction_translation(resource)
else
locale == I18n.locale
end
end
def globalize(locale, &)
Globalize.with_locale(locale, &)
end
end