mirror of
https://github.com/discourse/discourse.git
synced 2026-08-07 13:19:19 +08:00
Meta: https://meta.discourse.org/t/set-locale-from-param-and-content-localisation-issue/387547 We want to make sure that the `SiteSetting.set_locale_from_param` conforms to its description: `"Allows setting an anonymous user's locale via the 'tl' URL param, e.g. ?tl=es"`. Currently, the bug is that this is applied to logged in users as well. We also do not want to modify a logged in user's locale as it should remain as per their user profile.
36 lines
1.1 KiB
Ruby
Vendored
36 lines
1.1 KiB
Ruby
Vendored
# frozen_string_literal: true
|
|
|
|
module TopicsHelper
|
|
include ApplicationHelper
|
|
|
|
def render_topic_title(topic)
|
|
link_to(Emoji.gsub_emoji_to_unicode(topic.title), topic.relative_url)
|
|
end
|
|
|
|
def categories_breadcrumb(topic)
|
|
breadcrumb = []
|
|
category = topic.category
|
|
|
|
if category && !category.uncategorized?
|
|
breadcrumb.push(url: category.url, name: category.name, color: category.color)
|
|
while category = category.parent_category
|
|
breadcrumb.prepend(url: category.url, name: category.name, color: category.color)
|
|
end
|
|
end
|
|
|
|
Plugin::Filter.apply(:topic_categories_breadcrumb, topic, breadcrumb)
|
|
end
|
|
|
|
def localize_topic_view_content(topic_view)
|
|
return if cookies.key?(ContentLocalization::SHOW_ORIGINAL_COOKIE)
|
|
|
|
# locale param is appropriately set in the application controller
|
|
# depending on site settings and presence of user
|
|
locale = I18n.locale
|
|
|
|
LocalizationAttributesReplacer.replace_topic_attributes(topic_view.topic, locale)
|
|
topic_view.posts.each do |post|
|
|
LocalizationAttributesReplacer.replace_post_attributes(post, locale)
|
|
end
|
|
end
|
|
end
|