The discussion focuses on enhancing the Discourse emoji picker by adding support for English and translated search aliases, leveraging data from the Unicode Consortium. gerhard proposed a two-part solution: implementing proper English aliases and enabling per-locale aliases (e.g., typing :sourire in French to find the smile emoji). While j.jaffeux emphasized the need for lazy loading to manage performance, sam suggested using locale-specific files like alias.en and alias.de. codinghorror inquired about the status, to which gerhard confirmed the work was scheduled for the next release.
A side discussion emerged regarding custom emoji groups. SvenC56 asked how to override translation keys for custom groups. j.jaffeux provided a workaround using I18n.translations, though SvenC56 reported issues with the emoji_picker namespace not being available. gerhard suggested a fallback strategy using default values or a more complex runtime translation override system.
The feature was prioritized following a related report 16. vinothkannans contributed a PR to the emoji-db repository to include search aliases. Ultimately, Falco announced the implementation via pull requests in discourse-emojis and discourse. This update not only introduced comprehensive localized search aliases but also resolved a bug that reduced the emojis.json payload by 160KB. Falco confirmed that users can now search using translated terms (e.g., :sourire for French) and expanded support to additional languages in subsequent updates 28.
Our Emoji picker could be greatly improved by adding support for English and translated search aliases. The Unicode Consortium provides all the data we need:
The easiest solution I can think of is to use the custom group name if the translation can’t be found. The only problem I’m seeing is that group names seem to be converted to lowercase.
The more involved solution would be to make SiteTextsController and TranslationOverride work with custom emoji group names (or any other custom translation that needs to be added at runtime).