# Englische und übersetzte Aliase für Emojis hinzufügen

**URL:** https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641
**Category:** Feature
**Tags:** translation, emoji
**Created:** [2. Mai 2018 um 21:15 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641 "2018-05-02T21:15:22Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [2. Mai 2018 um 21:15 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/1 "2018-05-02T21:15:22Z")

</div>

Fortsetzung der Diskussion aus [Alias-Unterstützung für den Emoji-Auswahl hinzufügen](https://meta.discourse.org/t/add-alias-support-to-emoji-picker/86503/8):

Unser Emoji-Auswahlmenü könnte erheblich verbessert werden, indem Unterstützung für englische und übersetzte Suchaliasse hinzugefügt wird. Das Unicode-Konsortium stellt uns alle benötigten Daten zur Verfügung:

- [Emoji-Liste, v11.0](https://unicode.org/emoji/charts/emoji-list.html)
- [Emoji-Zeichenannotationen](https://www.unicode.org/cldr/charts/latest/annotations/index.html)

Diese Funktion besteht aus zwei Teilen:

1. Die korrekte Umsetzung aller Aliasse für Englisch
2. Die Unterstützung lokalspezifischer Aliasse, sodass du auf französischen Seiten z. B. :sourire eingeben kannst und :smile im Fenster erscheint.

Ich nehme es auf meine Aufgabenliste.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [3. Mai 2018 um 06:57 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/4 "2018-05-03T06:57:40Z")

</div>

Just as a note here, we need it to be lazy loaded, this is why I haven’t been doing it yet.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [3. Mai 2018 um 08:21 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/5 "2018-05-03T08:21:16Z")

</div>

I think it is fine to have `alias.en` and `alias.de` etc… files, so we can lazy load per locale.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [23. Januar 2019 um 08:58 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/6 "2019-01-23T08:58:06Z")

</div>

Isn’t this complete @gerhard?

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [23. Januar 2019 um 09:04 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/7 "2019-01-23T09:04:29Z")

</div>

No, not yet. I decided to work on it next month because it was moved to the next release.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [13. April 2019 um 21:01 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/8 "2019-04-13T21:01:15Z")

</div>

Just found out about this “public” list of translated emoji aliases: [Translations](https://translations.telegram.org/es/emoji)

---

<div class="post-metadata">

### Author: ![SvenC56](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/svenc56/32/132235_2.png) [@SvenC56](https://meta.discourse.org/u/SvenC56)
#### Post date: [14. Mai 2020 um 08:24 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/9 "2020-05-14T08:24:57Z")

</div>

Hey

Ich habe eine allgemeine Frage. Ich habe meine eigene Emoji-Gruppe erstellt. Wie kann ich diesen Übersetzungsschlüssel überschreiben? 🙂

 ![image](https://global.discourse-cdn.com/meta/original/3X/b/0/b06a87cbda2d5476927ad4d60e565c6f9cc38e22.png)

Vielen Dank.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [16. Mai 2020 um 06:43 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/10 "2020-05-16T06:43:08Z")

</div>

Derzeit müssen Sie Übersetzungen in ein Theme oder eine Komponente einfügen. In Ihrem Fall wäre das etwas wie:

```plaintext
<script>
    I18n.translations.en.js.emoji_picker.twitch = "Twitch";
</script>

```

Sie können auch `de` hinzufügen, falls Sie einen anderen Namen für `de` benötigen.

@gerhard Ich musste dich diesbezüglich fragen: Siehst du einen besseren Weg, dies zu bewerkstelligen, da benutzerdefinierte Gruppennamen von Administratoren festgelegt werden?

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [16. Mai 2020 um 14:46 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/11 "2020-05-16T14:46:25Z")

</div>

Die einfachste Lösung, an die ich denken kann, ist die Verwendung des benutzerdefinierten Gruppennamens, falls die Übersetzung nicht gefunden werden kann. Das einzige Problem, das ich sehe, ist, dass Gruppennamen anscheinend in Kleinbuchstaben umgewandelt werden.

```js
I18n.t("emoji_picker.twitch", { defaultValue: "twitch" })

```

Die aufwendigere Lösung wäre, `SiteTextsController` und `TranslationOverride` so anzupassen, dass sie mit benutzerdefinierten Emoji-Gruppennamen (oder anderen benutzerdefinierten Übersetzungen, die zur Laufzeit hinzugefügt werden müssen) funktionieren.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [16. Mai 2020 um 15:55 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/12 "2020-05-16T15:55:15Z")

</div>

Cool, wir werden uns das zweite vielleicht irgendwann mal ansehen. Danke.

---

<div class="post-metadata">

### Author: ![SvenC56](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/svenc56/32/132235_2.png) [@SvenC56](https://meta.discourse.org/u/SvenC56)
#### Post date: [16. Mai 2020 um 16:58 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/13 "2020-05-16T16:58:38Z")

</div>

> [@j.jaffeux](#):
>
> `I18n.translations.en.js.emoji_picker.twitch = "Twitch";`

Hallo, ich habe gerade `console.log(I18n.translations.en.js)` ausgeführt, was folgendes Ergebnis liefert:

 ![image](https://global.discourse-cdn.com/meta/original/3X/0/f/0fee4b3b76ec53d953809b8945095fd83f825f2b.png)

Es scheint, dass `emoji_picker` für mich nicht übersetzbar ist. Auch das Einfügen deines Codes in den Theme-Head zeigt keine Wirkung.

Vielen Dank.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [19. August 2021 um 02:47 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/16 "2021-08-19T02:47:32Z")

</div>

Dies wurde hier erneut gemeldet: (jetzt geschlossen)

> [@Suggestion: emoji picker search improvement](https://meta.discourse.org/t/suggestion-emoji-picker-search-improvement/200573):
>
> Today I was trying to find the tada emoji (officially called [party popper](https://www.fileformat.info/info/unicode/char/1f389/index.htm), but shorted to tada) and muscle memory (with MacOS) has me trained to expect finding it by searching for party: [image] However, Discourse’s emoji picker doesn’t find it for the same search term, even if it is part of the emoji name. Perhaps the emojis official names could be an alias to each emoji (when they differ from the short version) to improve search on the emoji picker? …

Wir werden dies priorisieren und in der nächsten Version umsetzen.

---

<div class="post-metadata">

### Author: ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)
#### Post date: [7. Oktober 2021 um 17:51 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/17 "2021-10-07T17:51:52Z")

</div>

> <https://github.com/jjaffeux/emoji-db/pull/7>

@j.jaffeux Ich habe einen PR erstellt, um Suchaliasse in unserem emoji-db-Repository aufzunehmen.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2. April 2026 um 21:16 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/25 "2026-04-02T21:16:59Z")

</div>

> [@gerhard](#):
>
> Unterstützung für aliases pro Lokalisierung hinzugefügt, sodass du auf französischen Seiten :sourire eingeben kannst und im Fenster 😄 erscheint.

Dies wurde in diesen PRs umgesetzt:

> <https://github.com/discourse/discourse-emojis/pull/12>
>
> \## Summary
> \- Adds a Rake task (\`emojis:telegram:import\`) that imports emoji keyw…ord aliases from Telegram's translation platform (\[translations.telegram.org\](https://translations.telegram.org/en/emoji)) for 40 locales
> \- These are \*\*search-only aliases\*\* — they enhance emoji picker search without creating file symlinks
> \- Locales with fewer than 25 emoji aliases are automatically skipped
> \- Adds \`locale\_search\_aliases\` path to \`DiscourseEmojis.paths\` so Discourse can load per-locale files
> \- Bumps version to 1.0.45
> 
> \## Context
> https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641
> 
> \## Usage
> \`\`\`
> rake emojis:telegram:import\[en\]
> rake emojis:telegram:import\[en,pt-br,fr\]
> rake emojis:telegram:import\[all\]
> rake emojis:telegram:locales
> \`\`\`
> 
> \## Test plan
> \- \[\] Verify \`DiscourseEmojis.paths\[:locale\_search\_aliases\]\` points to the correct directory
> \- \[\] Verify locale JSON files have correct format (emoji\_name → \[keyword1, keyword2, ...\])
> \- \[\] Test Discourse-side integration: searching "champagne" finds \`bottle\_with\_popping\_cork\` via English aliases
> \- \[\] Test Discourse-side integration: searching "joinha" finds \`+1\` via pt-br aliases when locale is pt-br
> 
> 🤖 Generated with \[Claude Code\](https://claude.com/claude-code)

> <https://github.com/discourse/discourse/pull/39089>
>
> \## Summary
> \- Merges locale-specific emoji search aliases into \`/emojis/search-al…iases.json\` based on the user's \`I18n.locale\`, enabling emoji search in the user's language (e.g. "joinha" finds :+1: 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
> 
> \## Test plan
> \- \[\] With discourse-emojis gem updated, verify searching "champagne" in emoji picker finds \`bottle\_with\_popping\_cork\` (English locale aliases)
> \- \[\] Switch UI to pt\_BR, verify searching "joinha" finds :+1:
> \- \[\] Verify \`/emojis.json\` no longer includes \`search\_aliases\` per emoji
> \- \[\] Verify existing emoji search still works as before
> 
> 🤖 Generated with \[Claude Code\](https://claude.com/claude-code)

Dabei wurde zudem ein Fehler behoben, der die Größe unserer `emojis.json`-Last um 160 KB reduziert hat 😎

Damit sind nun vollständig lokalisierte Such-Aliase verfügbar.

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/d/0/0d0e1a4a157fed64f1e167f335f423b43c4d2a8a.png)

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/8/a/88a7ce7a49bfaa047a8bf86367d081e0fee4e6d0.png)

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/c/7/bc7ed48b07c4ca188c2ce3a64c4b5d4d67fce90b.png)

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [6. April 2026 um 17:50 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/26 "2026-04-06T17:50:02Z")

</div>

Ich habe die Unterstützung für lokalisierte Emoji-Aliase für einige Sprachen integriert, sodass wir endlich

> [@gerhard](#):
>
> :sourire auf französischen Seiten auf Französisch eingeben und 😄 im Fenster erhalten können.

 ![image](https://global.discourse-cdn.com/meta/original/4X/c/b/a/cbaf7f3345121a5e9f6f103268d78d400b948211.png)

sowie

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/0/4/b0484f757550565010007ae3dcd39005743d064d.png)

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [20. April 2026 um 11:00 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/27 "2026-04-20T11:00:11Z")

</div>

Dieses Thema wurde automatisch nach 13 Tagen geschlossen. Neue Antworten sind nicht mehr möglich.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [22. April 2026 um 21:27 UTC](https://meta.discourse.org/t/add-english-and-translated-aliases-for-emojis/86641/28 "2026-04-22T21:27:43Z")

</div>

Dies weiter ausbauen

> <https://github.com/discourse/discourse-emojis/pull/13>
>
> \## Summary
> 
> Layers Unicode CLDR annotations on top of the Telegram search aliase…s (added in #12). CLDR is authoritative, maintained by the Unicode Consortium, and covers many more locales — including ones Telegram doesn't (bg, bs\_BA, el, en\_GB, et, hy, lt, lv, pt European, sl, sq, sw, te, th, ur, vi).
> 
> Each source now lives in its own directory, and a new rake task unions them into the final path Discourse consumes:
> 
> \- \`dist/telegram\_search\_aliases/\<locale\>.json\` — from \`emojis:telegram:import\`
> \- \`dist/cldr\_search\_aliases/\<locale\>.json\` — from \`emojis:cldr:import\`
> \- \`dist/locale\_search\_aliases/\<locale\>.json\` — merged output, produced by \`emojis:search\_aliases:merge\`
> 
> \## Locale mapping
> 
> CLDR uses locale inheritance: child files contain only deltas over a base. An explicit table in the rake task maps Discourse locales to an ordered list of CLDR sources to union. The one upstream flagged specifically:
> 
> \- Discourse \`pt\_BR\` ← CLDR \`\[pt\]\` (pt.xml is Brazilian Portuguese in modern CLDR)
> \- Discourse \`pt\` ← CLDR \`\[pt, pt\_PT\]\` (base plus European overrides)
> 
> Same pattern handles \`en\_GB\`, \`zh\_TW\` (← \`zh\` + \`zh\_Hant\`), etc.
> 
> \## Impact
> 
> 16 brand-new locales gained coverage (previously unsupported); 32 existing locales got enriched with CLDR-only keywords. Across all locales: \*\*41,284 → 87,831 emoji-alias entries\*\*.
> 
> | locale | before | after | delta |
> |----------|-------:|------:|--------:|
> | ar | 1834 | 1847 | +13 |
> | be | 428 | 1812 | +1384 |
> | \*\*bg\*\* | 0 | 1804 | +1804 |
> | \*\*bs\_BA\*\*| 0 | 1802 | +1802 |
> | ca | 1862 | 1879 | +17 |
> | cs | 1784 | 1877 | +93 |
> | da | 44 | 1803 | +1759 |
> | de | 1750 | 1856 | +106 |
> | \*\*el\*\* | 0 | 1804 | +1804 |
> | en | 1735 | 1837 | +102 |
> | \*\*en\_GB\*\*| 0 | 1804 | +1804 |
> | es | 1867 | 1878 | +11 |
> | \*\*et\*\* | 0 | 1803 | +1803 |
> | fa\_IR | 1719 | 1861 | +142 |
> | fi | 1829 | 1848 | +19 |
> | fr | 1792 | 1843 | +51 |
> | gl | 34 | 1804 | +1770 |
> | he | 1779 | 1859 | +80 |
> | hr | 1823 | 1848 | +25 |
> | hu | 1750 | 1848 | +98 |
> | \*\*hy\*\* | 0 | 1804 | +1804 |
> | id | 1006 | 1822 | +816 |
> | it | 1855 | 1876 | +21 |
> | ja | 651 | 1807 | +1156 |
> | ko | 97 | 1804 | +1707 |
> | \*\*lt\*\* | 0 | 1804 | +1804 |
> | \*\*lv\*\* | 0 | 1804 | +1804 |
> | nb\_NO | 1857 | 1879 | +22 |
> | nl | 1151 | 1834 | +683 |
> | pl\_PL | 1858 | 1877 | +19 |
> | \*\*pt\*\* | 0 | 1804 | +1804 |
> | pt\_BR | 1774 | 1863 | +89 |
> | ro | 73 | 1801 | +1728 |
> | ru | 1869 | 1879 | +10 |
> | sk | 352 | 1813 | +1461 |
> | \*\*sl\*\* | 0 | 1800 | +1800 |
> | \*\*sq\*\* | 0 | 1802 | +1802 |
> | sr | 1844 | 1860 | +16 |
> | sv | 1651 | 1871 | +220 |
> | \*\*sw\*\* | 0 | 1803 | +1803 |
> | \*\*te\*\* | 0 | 1804 | +1804 |
> | \*\*th\*\* | 0 | 1804 | +1804 |
> | tr\_TR | 1333 | 1831 | +498 |
> | uk | 1670 | 1852 | +182 |
> | \*\*ur\*\* | 0 | 1804 | +1804 |
> | \*\*vi\*\* | 0 | 1803 | +1803 |
> | zh\_CN | 105 | 1804 | +1699 |
> | zh\_TW | 108 | 1805 | +1697 |
> 
> Bold rows are locales that had zero coverage before this PR.
> 
> \## Workflow
> 
> \`\`\`
> rake emojis:telegram:import\[all\] # refreshes dist/telegram\_search\_aliases/
> rake emojis:cldr:import\[all\] # refreshes dist/cldr\_search\_aliases/
> rake emojis:search\_aliases:merge # writes dist/locale\_search\_aliases/
> \`\`\`
> 
> Existing Telegram data was moved via \`git mv\` so history for the per-locale Telegram files stays intact.
> 
> \## Test plan
> 
> \- \[x\] \`bin/lint\` clean on all new/changed rake files
> \- \[x\] Ran \`emojis:cldr:import\[all\]\` end-to-end (48 locales fetched)
> \- \[x\] Ran \`emojis:search\_aliases:merge\` — all 48 locales written
> \- \[x\] Spot-checked \`pt\_BR\`: Telegram keywords preserved, CLDR additions appended, dedupes overlap
> \- \[x\] Spot-checked \`pt\` (European): base \`pt\` keywords plus \`pt\_PT\` overrides (1361 emojis with divergent aliases vs \`pt\_BR\`)
> \- \[\] Verify the Discourse emoji picker search picks up new keywords once this package is bumped
