Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partially missing languages #272

Closed
ManuelSchneid3r opened this issue Aug 4, 2023 · 5 comments · Fixed by #273
Closed

Partially missing languages #272

ManuelSchneid3r opened this issue Aug 4, 2023 · 5 comments · Fixed by #273

Comments

@ManuelSchneid3r
Copy link

ManuelSchneid3r commented Aug 4, 2023

Tried to write a generic plugin and found that there are a lof of languages missing

for e, d in EMOJI_DATA.items():
    try:
        d['de']
    except KeyError:
        debug(e)
Output

02:42:45 [debg:albert] 🐦‍⬛
02:42:45 [debg:albert] 👨‍❤‍👨
02:42:45 [debg:albert] 👨🏿‍❤‍👨🏿
02:42:45 [debg:albert] 👨🏿‍❤‍👨🏻
02:42:45 [debg:albert] 👨🏿‍❤‍👨🏾
02:42:45 [debg:albert] 👨🏿‍❤‍👨🏼
02:42:45 [debg:albert] 👨🏿‍❤‍👨🏽
02:42:45 [debg:albert] 👨🏻‍❤‍👨🏻
02:42:45 [debg:albert] 👨🏻‍❤‍👨🏿
02:42:45 [debg:albert] 👨🏻‍❤‍👨🏾
02:42:45 [debg:albert] 👨🏻‍❤‍👨🏼
02:42:45 [debg:albert] 👨🏻‍❤‍👨🏽
02:42:45 [debg:albert] 👨🏾‍❤‍👨🏾
02:42:45 [debg:albert] 👨🏾‍❤‍👨🏿
02:42:45 [debg:albert] 👨🏾‍❤‍👨🏻
02:42:45 [debg:albert] 👨🏾‍❤‍👨🏼
02:42:45 [debg:albert] 👨🏾‍❤‍👨🏽
02:42:45 [debg:albert] 👨🏼‍❤‍👨🏼
02:42:45 [debg:albert] 👨🏼‍❤‍👨🏿
02:42:45 [debg:albert] 👨🏼‍❤‍👨🏻
02:42:45 [debg:albert] 👨🏼‍❤‍👨🏾
02:42:45 [debg:albert] 👨🏼‍❤‍👨🏽
02:42:45 [debg:albert] 👨🏽‍❤‍👨🏽
02:42:45 [debg:albert] 👨🏽‍❤‍👨🏿
02:42:45 [debg:albert] 👨🏽‍❤‍👨🏻
02:42:45 [debg:albert] 👨🏽‍❤‍👨🏾
02:42:45 [debg:albert] 👨🏽‍❤‍👨🏼
02:42:45 [debg:albert] 🧑🏿‍❤‍🧑🏻
02:42:45 [debg:albert] 🧑🏿‍❤‍🧑🏾
02:42:45 [debg:albert] 🧑🏿‍❤‍🧑🏼
02:42:45 [debg:albert] 🧑🏿‍❤‍🧑🏽
02:42:45 [debg:albert] 🧑🏻‍❤‍🧑🏿
02:42:45 [debg:albert] 🧑🏻‍❤‍🧑🏾
02:42:45 [debg:albert] 🧑🏻‍❤‍🧑🏼
02:42:45 [debg:albert] 🧑🏻‍❤‍🧑🏽
02:42:45 [debg:albert] 🧑🏾‍❤‍🧑🏿
02:42:45 [debg:albert] 🧑🏾‍❤‍🧑🏻
02:42:45 [debg:albert] 🧑🏾‍❤‍🧑🏼
02:42:45 [debg:albert] 🧑🏾‍❤‍🧑🏽
02:42:45 [debg:albert] 🧑🏼‍❤‍🧑🏿
02:42:45 [debg:albert] 🧑🏼‍❤‍🧑🏻
02:42:45 [debg:albert] 🧑🏼‍❤‍🧑🏾
02:42:45 [debg:albert] 🧑🏼‍❤‍🧑🏽
02:42:45 [debg:albert] 🧑🏽‍❤‍🧑🏿
02:42:45 [debg:albert] 🧑🏽‍❤‍🧑🏻
02:42:45 [debg:albert] 🧑🏽‍❤‍🧑🏾
02:42:45 [debg:albert] 🧑🏽‍❤‍🧑🏼
02:42:45 [debg:albert] 👩‍❤‍👨
02:42:45 [debg:albert] 👩🏿‍❤‍👨🏿
02:42:45 [debg:albert] 👩🏿‍❤‍👨🏻
02:42:45 [debg:albert] 👩🏿‍❤‍👨🏾
02:42:45 [debg:albert] 👩🏿‍❤‍👨🏼
02:42:45 [debg:albert] 👩🏿‍❤‍👨🏽
02:42:45 [debg:albert] 👩🏻‍❤‍👨🏻
02:42:45 [debg:albert] 👩🏻‍❤‍👨🏿
02:42:45 [debg:albert] 👩🏻‍❤‍👨🏾
02:42:45 [debg:albert] 👩🏻‍❤‍👨🏼
02:42:45 [debg:albert] 👩🏻‍❤‍👨🏽
02:42:45 [debg:albert] 👩🏾‍❤‍👨🏾
02:42:45 [debg:albert] 👩🏾‍❤‍👨🏿
02:42:45 [debg:albert] 👩🏾‍❤‍👨🏻
02:42:45 [debg:albert] 👩🏾‍❤‍👨🏼
02:42:45 [debg:albert] 👩🏾‍❤‍👨🏽
02:42:45 [debg:albert] 👩🏼‍❤‍👨🏼
02:42:45 [debg:albert] 👩🏼‍❤‍👨🏿
02:42:45 [debg:albert] 👩🏼‍❤‍👨🏻
02:42:45 [debg:albert] 👩🏼‍❤‍👨🏾
02:42:45 [debg:albert] 👩🏼‍❤‍👨🏽
02:42:45 [debg:albert] 👩🏽‍❤‍👨🏽
02:42:45 [debg:albert] 👩🏽‍❤‍👨🏿
02:42:45 [debg:albert] 👩🏽‍❤‍👨🏻
02:42:45 [debg:albert] 👩🏽‍❤‍👨🏾
02:42:45 [debg:albert] 👩🏽‍❤‍👨🏼
02:42:45 [debg:albert] 👩‍❤‍👩
02:42:45 [debg:albert] 👩🏿‍❤‍👩🏿
02:42:45 [debg:albert] 👩🏿‍❤‍👩🏻
02:42:45 [debg:albert] 👩🏿‍❤‍👩🏾
02:42:45 [debg:albert] 👩🏿‍❤‍👩🏼
02:42:45 [debg:albert] 👩🏿‍❤‍👩🏽
02:42:45 [debg:albert] 👩🏻‍❤‍👩🏻
02:42:45 [debg:albert] 👩🏻‍❤‍👩🏿
02:42:45 [debg:albert] 👩🏻‍❤‍👩🏾
02:42:45 [debg:albert] 👩🏻‍❤‍👩🏼
02:42:45 [debg:albert] 👩🏻‍❤‍👩🏽
02:42:45 [debg:albert] 👩🏾‍❤‍👩🏾
02:42:45 [debg:albert] 👩🏾‍❤‍👩🏿
02:42:45 [debg:albert] 👩🏾‍❤‍👩🏻
02:42:45 [debg:albert] 👩🏾‍❤‍👩🏼
02:42:45 [debg:albert] 👩🏾‍❤‍👩🏽
02:42:45 [debg:albert] 👩🏼‍❤‍👩🏼
02:42:45 [debg:albert] 👩🏼‍❤‍👩🏿
02:42:45 [debg:albert] 👩🏼‍❤‍👩🏻
02:42:45 [debg:albert] 👩🏼‍❤‍👩🏾
02:42:45 [debg:albert] 👩🏼‍❤‍👩🏽
02:42:45 [debg:albert] 👩🏽‍❤‍👩🏽
02:42:45 [debg:albert] 👩🏽‍❤‍👩🏿
02:42:45 [debg:albert] 👩🏽‍❤‍👩🏻
02:42:45 [debg:albert] 👩🏽‍❤‍👩🏾
02:42:45 [debg:albert] 👩🏽‍❤‍👩🏼
02:42:45 [debg:albert] #⃣
02:42:45 [debg:albert] *⃣
02:42:45 [debg:albert] 0⃣
02:42:45 [debg:albert] 1⃣
02:42:45 [debg:albert] 2⃣
02:42:45 [debg:albert] 3⃣
02:42:45 [debg:albert] 4⃣
02:42:45 [debg:albert] 5⃣
02:42:45 [debg:albert] 6⃣
02:42:45 [debg:albert] 7⃣
02:42:45 [debg:albert] 8⃣
02:42:45 [debg:albert] 9⃣
02:42:45 [debg:albert] 👨‍❤‍💋‍👨
02:42:45 [debg:albert] 👨🏿‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👨🏿‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👨🏿‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👨🏿‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👨🏿‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👨🏻‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👨🏻‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👨🏻‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👨🏻‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👨🏻‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👨🏾‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👨🏾‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👨🏾‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👨🏾‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👨🏾‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👨🏼‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👨🏼‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👨🏼‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👨🏼‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👨🏼‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👨🏽‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👨🏽‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👨🏽‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👨🏽‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👨🏽‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 🧑🏿‍❤‍💋‍🧑🏻
02:42:45 [debg:albert] 🧑🏿‍❤‍💋‍🧑🏾
02:42:45 [debg:albert] 🧑🏿‍❤‍💋‍🧑🏼
02:42:45 [debg:albert] 🧑🏿‍❤‍💋‍🧑🏽
02:42:45 [debg:albert] 🧑🏻‍❤‍💋‍🧑🏿
02:42:45 [debg:albert] 🧑🏻‍❤‍💋‍🧑🏾
02:42:45 [debg:albert] 🧑🏻‍❤‍💋‍🧑🏼
02:42:45 [debg:albert] 🧑🏻‍❤‍💋‍🧑🏽
02:42:45 [debg:albert] 🧑🏾‍❤‍💋‍🧑🏿
02:42:45 [debg:albert] 🧑🏾‍❤‍💋‍🧑🏻
02:42:45 [debg:albert] 🧑🏾‍❤‍💋‍🧑🏼
02:42:45 [debg:albert] 🧑🏾‍❤‍💋‍🧑🏽
02:42:45 [debg:albert] 🧑🏼‍❤‍💋‍🧑🏿
02:42:45 [debg:albert] 🧑🏼‍❤‍💋‍🧑🏻
02:42:45 [debg:albert] 🧑🏼‍❤‍💋‍🧑🏾
02:42:45 [debg:albert] 🧑🏼‍❤‍💋‍🧑🏽
02:42:45 [debg:albert] 🧑🏽‍❤‍💋‍🧑🏿
02:42:45 [debg:albert] 🧑🏽‍❤‍💋‍🧑🏻
02:42:45 [debg:albert] 🧑🏽‍❤‍💋‍🧑🏾
02:42:45 [debg:albert] 🧑🏽‍❤‍💋‍🧑🏼
02:42:45 [debg:albert] 👩‍❤‍💋‍👨
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👨🏽
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👨🏿
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👨🏻
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👨🏾
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👨🏼
02:42:45 [debg:albert] 👩‍❤‍💋‍👩
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👩🏿
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👩🏻
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👩🏾
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👩🏼
02:42:45 [debg:albert] 👩🏿‍❤‍💋‍👩🏽
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👩🏻
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👩🏿
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👩🏾
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👩🏼
02:42:45 [debg:albert] 👩🏻‍❤‍💋‍👩🏽
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👩🏾
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👩🏿
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👩🏻
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👩🏼
02:42:45 [debg:albert] 👩🏾‍❤‍💋‍👩🏽
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👩🏼
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👩🏿
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👩🏻
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👩🏾
02:42:45 [debg:albert] 👩🏼‍❤‍💋‍👩🏽
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👩🏽
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👩🏿
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👩🏻
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👩🏾
02:42:45 [debg:albert] 👩🏽‍❤‍💋‍👩🏼

@cvzi
Copy link
Contributor

cvzi commented Aug 4, 2023

The translations always lag behind and are usually incomplete. Probably these emoji weren't translated yet, when we last updated the database. I will check if the translations are available now.

@ManuelSchneid3r
Copy link
Author

jfyi https://github.com/unicode-org/cldr-json/tree/main/cldr-json/cldr-annotations-derived-full/annotationsDerived

@ManuelSchneid3r
Copy link
Author

since the emojis missing are mostly poc emojis i assume the derived annotations are missing

@cvzi
Copy link
Contributor

cvzi commented Aug 4, 2023

I wasn't aware that these derived annotations exist. I will add them to our script that generates the database. However I don't think that will solve the problem, because we also use the translations from https://emojiterra.com/de/kopieren/ and emojiterra.com seems to have most of the derived annotations included already.

I didn't check all the missing translations but at least for the variations of 👨🏽‍❤️‍👨🏻 , there are two versions for each emoji, the "fully qualified" form and the "minimally qualified" form. The unicode repository lists only the "fully qualified" forms in the derived annotations.

For example our current database has a translation for 👨🏽‍❤️‍👨🏻 but only for the "fully qualified" version:

    '\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F468\U0001F3FB': {  # 👨🏽‍❤️‍👨🏻
        'en': ':couple_with_heart_man_man_medium_skin_tone_light_skin_tone:',
        'status': fully_qualified,
        'E': 13.1,
        'de': ':liebespaar_mann_mann_mittlere_hautfarbe,helle_hautfarbe:',
        'es': ':pareja_enamorada_hombre_hombre_tono_de_piel_medio_tono_de_piel_claro:',
        'fr': ':couple_avec_cœur__homme_homme_peau_légèrement_mate_et_peau_claire:',
        'ja': ':カップルとハート_男性_男性_中間の肌色_薄い肌色:',
        'ko': ':연인_남자_남자_갈색_피부_하얀_피부:',
        'pt': ':casal_apaixonado_homem_homem_pele_morena_e_pele_clara:',
        'it': ':coppia_con_cuore_uomo_uomo_carnagione_olivastra_e_carnagione_chiara:',
        'fa': ':زوج_عاشق_مرد_مرد_پوست_طلایی_و_پوست_سفید:',
        'id': ':pasangan_dengan_hati_pria_pria_warna_kulit_sedang_warna_kulit_cerah:',
        'zh': ':情侣_男人男人中等肤色较浅肤色:'
    },
    '\U0001F468\U0001F3FD\U0000200D\U00002764\U0000200D\U0001F468\U0001F3FB': {  # 👨🏽‍❤‍👨🏻
        'en': ':couple_with_heart_man_man_medium_skin_tone_light_skin_tone:',
        'status': minimally_qualified,
        'E': 13.1
    },

So the script needs to copy "fully qualified" translations to "minimally qualified" forms.
I remember I already implemented something like that, but I think it was the opposite way, copy "minimally qualified" translations to "fully qualified".

@cvzi
Copy link
Contributor

cvzi commented Aug 17, 2023

It should be complete now i.e. all translations available.

Regardless of this specific problem from this issue, it will probably become incomplete again when Unicode 16 with new emoji is released. I think I should add a hint to the readme or documentation, that explains that. Maybe a similar table as https://carpedm20.github.io/emoji/docs/api.html#emoji-version but with the translation status

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants