discourse/app/controllers/emojis_controller.rb
Rafael dos Santos Silva 8b1ec5a1b0
FEATURE: Locale-specific emoji search aliases (#39089)
## Summary
- Merges locale-specific emoji search aliases into
`/emojis/search-aliases.json` based on the user's `I18n.locale`,
enabling emoji search in the user's language (e.g. "joinha" finds 👍
in pt_BR)
- Removes unused `search_aliases` attribute from `/emojis.json` — it was
serialized but never consumed by the frontend (saves ~160KB per request)
- Requires discourse/discourse-emojis#12 to be merged and a gem release
for locale data to be available

## Context

https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641
2026-04-06 14:08:46 -03:00

20 lines
499 B
Ruby
Vendored

# frozen_string_literal: true
class EmojisController < ApplicationController
def index
emojis = Emoji.allowed.group_by(&:group)
render json: MultiJson.dump(emojis)
end
def search_aliases
aliases = Emoji.search_aliases
locale_aliases = Emoji.locale_search_aliases(I18n.locale)
if locale_aliases
aliases =
aliases.merge(locale_aliases) { |_key, base_val, locale_val| (base_val + locale_val).uniq }
end
render json: MultiJson.dump(aliases)
end
end