efck icon indicating copy to clipboard operation
efck copied to clipboard

Translation ?

Open Cwpute opened this issue 1 year ago • 5 comments

Is your feature request related to a problem? Please describe. I really like to use EF*CK and i'd love to recommend it to to other people, but unfortunately they are all like me: french (i know, you can't be perfect). The problem is not all of them speak english, and that is a problem because when you want to search for keywords you don't necessarily understand the keywords and all that. And the interface as well can be hard to understand.

Describe the solution you'd like Set up a crowdsourced solution for i18n and l10n like Weblate (opensource with free hosting for FOSS), which allows anyone to contribute or correct translations left by others, regardless of technical knowledge.

Additional context I've contributed translations for many other FOSS projects before, and have used Weblate quite a bunch. I've also used other tools like Crowdin, Transifex, and several homebrewed solutions like those of Tarock Palčka or SnappyMail. Translation is a great way to bring more people on board with your project, with increased activity on the repo (bug reports, feature requests and even code contributions).

Cwpute avatar Sep 30 '24 07:09 Cwpute

Hi, just a heads up as this is still very much desirable for me and people around me :) i've left my computer to use for kids and they like to use emojis but they don't speak english so they have to ask me for words and such. Great way to learn the language but it gets tiring over time 😅

Cwpute avatar Mar 19 '25 09:03 Cwpute

Hey! Many thanks for the kindest words! ☺️

I have had my doubts and you tend to confirm them ... If by translations you are referring to strings for emoji names / descriptions, those are provided by Unicode Consortium and are officially English-only. It probably wouldn't be too hard to provide unofficial translations of those, even without crowdsourcing, but those would add to the source tree about 250500 KB per language.

The individual alternative would be to use the emoji-custom-strings.txt file. (Please don't trip over the wild joke—I happen to enjoy some occasional controversy. 😅)

kernc avatar Mar 19 '25 13:03 kernc

I was referring to both emoji names and descriptions as well as the app's interface. Crowdsourcing tools would still be desirable, for the sake of easy updates in case of new emojis or new strings to translate in the app - also when a translator contributes a huge chunk and leaves, it can slowly deteriorate the translation if the software updates and nobody takes on the job, which can impose a hurdle that seems increasingly high as the word count to translate is low.

It never occurred to me that translating an app could add up to so much space for a single language... are you sure this would be the case ? I play on the Luanti engine from time to time and mods for its games can be very small (a few kilobytes, regularly averaging around 300kb, sometimes around 1~2Mb) but often times provide crowdsourced translations, and it doesn't make the mod size balloon up so much like you'd suggest.

Cwpute avatar Mar 19 '25 14:03 Cwpute

With 500+ KB per language I was referring to emoji names. Currently the ordering file is 250 KB, but it consists of English names in ASCII, whereas we should account for 2–3-byte Unicodes for the more exotic languages.

Translations of the app strings should be negligible.

The services you mention (e.g. Transifex) predate the current SOTA LLMs, for which correctly translating short strings into most common languages is a non-issue, so an automated solution would also be feasible, I think.

kernc avatar Mar 19 '25 15:03 kernc

An automated solution is good as a first draft, but it should definitely be verified and edited by humans afterwards ! Especially for emojis which depict very specific emotions, situations and objects, which the LLM doesn't base itself on (it would only read and translate short nominal groups without the essential context of the emoji picture itself)...

Frankly, even if a single language weights half a Mb, i still believe this would be super useful and would make your tool so much more used worldwide. Wouldn't there be a way to host translations separately and only download the languages the user has installed on its computer ? I bet these things have been discussed before by devs in the same situation as you, with even more translated strings to manage, there must be a norm somewhere. Reading a bit online, i see it's advised to keep translation files external, in .po files for examples, instead of being hard-coded. These can apparently be further compressed into .mo files, but might imply a whole library to decompress them afterwards.

I don't know, i'm only throwing shots in the dark 🤷 but if you can get an answer for your project i'm definitely interested in your solution for whenever this situation rises for developers i'm working with.

Cwpute avatar Apr 05 '25 20:04 Cwpute