Emoji's suggestions based on the selected language, identical to iOS keyboard

Done Tools (translate, AI, dictation, clipboard, GIF, emoji) Portuguese fixed in 2.1.3

DarthSidiousPT TESTER ·

What would you like?

I would like that the emoji suggestionbehave like the default iOS keyboard one. When we type a word, the emoji shows up. In the case of EFK, this seems to only work if you type in English.

Current behavior

On the stock keyboard, if I type merda (sorry, I swear a lot in chats), which means shit, it shows the 💩 emoji. On EFK, the only way to display this is to type poo(p). But if I type coco (wrongly spelled, because the correct way is cócó) which literally means poop, it shows the emoji.

Some work fine, like Sol (no, it's not OpenAI's model), which means Sun, which will suggest the sun emoji (even though the stock keyboard shows more than one). ☀️

The ones that are more intrusive are the flags. On the stock keyboard when I type usa the American flag shows up, but on EFK I need to type united states of to have the suggestion. The same applies for uk (and probably more).

Desired behavior

The desired behavior would be to have the same as the stock keyboard, because that one handles this perfectly.

Let me know if you think this is a 💩 or not 😂

Discussion

efko DEV ·

@DarthSidiousPT emoji suggestions only knew the formal Unicode keywords, which is why merda did nothing and flags needed a full phrase. From build 429 (and 2.1.3 on the App Store) every language gets a list of everyday words on top: merda and bosta give 💩, kkkk and rsrs give 😂, cerveja gives 🍺. Country names give the flag (portugal 🇵🇹, brasil 🇧🇷), and usa, eua and uk work too. It still offers one emoji at a time, so the word suggestions keep their place.

DarthSidiousPT TESTER ·

At first glance, it seems to be working fine now. 😎

efko DEV ·
status → Needs testing
DarthSidiousPT TESTER ·

Great. I will test this as soon as it lands!

Out of curiosity: does it mean that the engine only looked in the real Unicode name like :sun:? Does the emoji's have more than one unicode name? How does Apple keyboard finds this on every language?

efko DEV ·

@DarthSidiousPT Close. It wasn't just the official name: Unicode publishes a keyword list per language (the CLDR data), so ☀️ in Portuguese already had sol, and 💩 had cocô. That's why coco and sol worked. But those lists are written like a dictionary, no swearing, no kkkk, and flags only carry the phrase "bandeira: portugal". Apple builds its own lists on top of that; I can't see them, so I built mine: a list of everyday chat words per language, plus country names pulled out of the flag phrases. When a word matches several emoji, the everyday list wins, so cerveja now picks 🍺 instead of some random drink.

DarthSidiousPT TESTER · · edited

Oh I see. For example, this one 😎, I can find it if I type shades. But on PT, I wasn't able to find it. Maybe it's because it's two words (óculos sol). The issue is that oculos, shows the glasses emoji 👓, and ocul shows another one 🥸.

I think the issue might be because there's only one suggestion for emoji's. But somehow I was able to find a bug. I minimized the app where the string was typed, and when I opened it, there were two emoji's in the suggestions (one at the left, and another one at the right).

efko DEV ·
status → Done

Sign in to comment or vote.