futo-org / futo-keyboard-layouts

Layouts for FUTO Keyboard
Apache License 2.0
1 stars 0 forks source link

Support Multi-Language Typing Without Layout Change #58

Open FragataIncognita opened 4 months ago

FragataIncognita commented 4 months ago

I write in spanish and english frequently. In Gboard and florisboard you can use the same keyboard layout (spanish for example) to write in multiple languages and get corrections and suggestions for both or more languages. Currently in FUTO keyboard if I want to write something in english while on the spanish layout it will auto-correct the words to spanish. I imagine that this could be fixed adding a function to reference multiple language dictionaries at the same time. Not necessarily linked to the current layout. This is probably possible through the dictionary override feature, but it would be better if I could choose to add another of the existing language dictionaries directly from within the app. Cheers!

andrej-dyck commented 3 months ago

This is really important for people who text in different languages. Switching keyboard layouts takes too much time and breaks focus.

On the gboard keyboard it is possible to choose one layout and have the prediction, spell check, and swipe typing work for all installed languages (that have the latin alphabet).

DavidBevi commented 3 months ago

Strongly agree, if I had priority-points to give I'd spend them here

SnakeSnowflake commented 3 months ago

Not having this feature causes too tedious of a workflow for those using more than one language with the same alphabet. Example: 1) Open a chat in German. 2) Long press the space-bar (apropos, current implementation is sub-optimal futo-org/android-keyboard#52), wait out the activation delay, release the space bar, select German out of the list, type. 3) Open another chat in English. 4) Long press the space-bar, wait out the activation delay, release the space bar, select English out of the list, type. 5) Keep looping from point 1 every 10 seconds.

For those unfamiliar, not having the correct language selected would cause the auto-correct to butcher the inputs beyond recognition and can also get real goofy if the languages are close enough.

This use-case is common enough and lack thereof is a 'painful' enough for both GBoard and SwiftKey to include and enable it by default.

andrej-dyck commented 3 months ago

@SnakeSnowflake I had this "experience" yesterday to the extreme when I chatted with one friend in English and another one in German 🙃

Siphonay commented 3 months ago

I can only voice my support for this feature like other people did, I constantly switch between French and English in my internet life, and Gboard's multilingual feature was a boon. I think FUTO is a great project and it supporting the use of multiple dictionaries at the same time would make me never look back

DrDustwolf commented 3 months ago

I agree strongly. This feature is essential for us polylinguists.

thiswillbeyourgithub commented 3 months ago

I took a look at how AOSP dictionaries were made and stumbled upon python scripts used to make some of them there. By any chance, maybe someone here has some time to see if we can trivially make multilingual dictionary? That could be a viable workaround for use multilingual typers and alleviate the burden on the dev of the FUTO keyboard.

This repo is where at least the French dictionary linked by FUTO comes from and seems fine to me so I'm very hopeful.

robsdedude commented 3 months ago

I think what gboard does is a little more elaborate than just slapping dictionaries together. It has context what language you're currently likely to want to use and prefers suggetions in that language. Not sure what factors play into it though. I think not doing this will likely result in poor UX.

r4p1dm0t10n commented 3 months ago

I took a look at how AOSP dictionaries were made and stumbled upon python scripts used to make some of them there. By any chance, maybe someone here has some time to see if we can trivially make multilingual dictionary? That could be a viable workaround for use multilingual typers and alleviate the burden on the dev of the FUTO keyboard.

I tried doing this with English and German but the German doesn't seem to work. I just added all the German words to the English dictionary before creating the dict file. I also added a setting for umlauts that I found in the first line of the German dictionary file. Maybe it gets an error and uses the default as fallback? With umlauts that might be a thing.

blackfyre commented 3 months ago

Tbh, this is probably the single, biggest problem I have with the keyboard... Everything else I, can live with, but this?

moraisp commented 3 months ago

I would love to use this, but without automatic language detection it's too incovinient. When you're a non English speaker you are constantly using English words mid sentence, so it's not just a case of choosing a language or the other before you start typing. I'll follow this repo and give it a try again once we get this feature.

Lu9-ST commented 2 months ago

While this isn't a dealbreaker for me, as someone migrating from SwiftKey it definitely makes me forget often about switching languages. My suggestion for the time being would be more of a "workaround" than a proper solution, but one that maybe would be better than nothing, and that is, as an example: in another language, type an english word (manually, unless, as someone here previously mentioned, you could "combine" dictionaries) then press space and it will try to see if that word is mostly seen in the english dictionary (maybe you can have set priority languages for certain words that are written exactly the same in both english and the other language) and then auto-switch to english accordingly. then type a word from the previous language to go back. just tossing an idea out there.

Penguinjumper commented 2 months ago

Very important for me, too, and the only reason that as a privacy conscious Person I am still stuck with Gboard for now 😬

kittenvr commented 2 months ago

I want

Smudge8373 commented 2 months ago

Killer feature, the only reason I have to stick with gboard. Unfortunately.

lord-carlos commented 1 month ago

Agree with the others. I often write 3 languges, sometimes I switch mid sentence. For me this is a must have feature.

nox999 commented 1 month ago

I write in two languages and this is a mandatory feature for me. Gboard and Swifkey have this feature and it works great. I really can't go back to switching languages manually.

haldi4803 commented 2 weeks ago

I took a look at how AOSP dictionaries were made and stumbled upon python scripts used to make some of them there. By any chance, maybe someone here has some time to see if we can trivially make multilingual dictionary? That could be a viable workaround for use multilingual typers and alleviate the burden on the dev of the FUTO keyboard.

I tried doing this with English and German but the German doesn't seem to work. I just added all the German words to the English dictionary before creating the dict file. I also added a setting for umlauts that I found in the first line of the German dictionary file. Maybe it gets an error and uses the default as fallback? With umlauts that might be a thing.

Okay. So the Dictionary approach didn't work.

What about the Language model? https://gitlab.futo.org/keyboard/keyboard-wiki/-/wikis/Keyboard-LM-docs#can-you-support-xyz-language-for-transformer-lm

If we manage to recreate the English model, successfully create another language it should be possible to train a bilingual Model or not?

nach commented 3 days ago

+1

haldi4803 commented 3 days ago

Ohoo we got a High Priority Label. The Future looks bright.

Siphonay commented 2 days ago

Fellow users, this feature is probably not trivial at all to implement, I would suggest if it's not already done to do a one time purchase of FUTO Keyboard to support its development!

thiswillbeyourgithub commented 2 days ago

Fellow users, this feature is probably not trivial at all to implement, I would suggest if it's not already done to do a one time purchase of FUTO Keyboard to support its development!

I'm sorry for the notification but I can't help myself. Please do the one time purchase if you can. FUTO Keyboard was (no hyperbole) the lowest [time to test]-[time to donate] I've ever had for a software. It's absolutely brilliant and was long awaited. Even at the alpha stage, it was awesome enough that I installed to 10 of my closed ones that now enjoy private speech to text! The keyboard, UI, LLMs, STT, etc are all of high quality and promising future, the weakness are, at their own pace, being addressed (create a swipe dataset?! That's awesome!).

And I'm not even using it for English, that's telling!

Please purchase if you can. Sorry for the notification, I hope it won't inspire others to distract this thread but it's so great!

blackfyre commented 1 day ago

Fellow users, this feature is probably not trivial at all to implement, I would suggest if it's not already done to do a one time purchase of FUTO Keyboard to support its development!

I did, way before joining in on this thread...