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

Make dictionaries independent of the keyboard layout #832

Closed
maverick74 opened this issue Jan 4, 2017 · 27 comments
Closed

Make dictionaries independent of the keyboard layout #832

maverick74 opened this issue Jan 4, 2017 · 27 comments
Milestone

Comments

@maverick74
Copy link

Steps to reproduce

1.Make sure you only have english keyboards installed
2.Type in any other language that is not english (i'm using 16keys keyboard)
3.Corrections/autocomplete suggests only for english words

Expected behaviour

Would be good to be able to use English keyboard with other languages (maybe have a primary dictionary and have other secondary dictionaries and having it show most words based on the primary and only one or two from the others)

@LugiaDepression
Copy link

I using the english dictionary, but since the adding words during typing is mostly working if I'm lucky I can add hungarian (which is my original language) words to the english dictionary, so it's cool.

@maverick74
Copy link
Author

I found a workaround: holding down Enter/Return key allows to override the English language by the one of Android... (Still, text prediction is almost useless!!!)

Now... If only I could get rid of all that "English" words written everywhere annoying/reminding me that I'm using a English keyboard to write in another language....

@LugiaDepression
Copy link

Hey Maverick74, if you would like to typing on another language, then you can look in the Playstore, there are plenty of additional language app for the Anysoft Keyboard, maybe you can find yours, so install that and your dictionary will change into the added language too.

@maverick74
Copy link
Author

@LugiaDepression I already done that before submitting the bug. The thing is that my Language package does not provide a 16Keys keyboard... only the regular qwerty.
But i really would not need another keyboard... The english one would do just fine... i would just need the text prediction system to provide corrections for my language (which by overriding it i get - a terrible system, but still working).

I truly think there is a overall wrong design with Anysoft Keyboard. It is a great Keyboard but there should really be a very strong split between Languages and Keyboard Layout! They are not the same thing! And the way they are causes confusion!

Also... text prediction is really bad. I understand T9 is patented... but isn't there anything opensource that is near as good?

@menny
Copy link
Member

menny commented Jan 12, 2017

What if you can define multiple dictionaries per keyboard layout? Will that be okay?
I can not implement a full T9 technology since, as you mentioned, it is patented: https://worldwide.espacenet.com/publicationDetails/biblio?CC=US&NR=5818437&KC=&FT=E&locale=en_EP

@maverick74
Copy link
Author

OK. T9 understood. :)

The dictionary not that much. I, personally, use two languages, one of them English. My wife, however does not use English and just her native one.

So, it would be needed the English keyboard to allow use of other non-English language as the default.

I also think that decoupling keyboard from languages would be very good for ASK.

Did I mention I REALLY WANT to kick TouchPal out of my life?! I'm tired of publicity!!!

@maverick74
Copy link
Author

@menny 2 questions:

  1. Isn't T9 patent set to expire next year? It was filled in 1998+20years=2018 :)
  2. is decoupling keyboard layouts from dictionaries too much work? I hope there's a chance for that...

@maverick74
Copy link
Author

maverick74 commented Jan 27, 2017

@menny What if: we could select multiple dictionaries per keyboard layout, as you said, but we could also select just one that is not the keyboard layout's default?

This way, using the English layout, one could use the English dictionary or the French dictionary or the Spanish dictionary or all of them

@Zykino
Copy link

Zykino commented Jan 31, 2017

I think my proposition (#878) is more or less @menny proposition of having multiples languages attached to one keyboard :

  1. select the keyboard in my native layout
  2. select multiples language
  3. either select the language (no more than ONE click/slide) or autodetect the language I'm writing from the list

@maverick74
Copy link
Author

@Zykino But... what if one wants to use the English Keyboard (which is sort of universal) with (e.g.) the French dictionary
(i don't want to use english dictionary, just the french one! but want to use the english keyboard because my native keyboard s**ks).

Will your proposition allow one to use Keyboard X with just Dictionary Y? Or will i have to use Keyboard X with Dictionary X - AND - Dictionary Y?

@Zykino
Copy link

Zykino commented Feb 1, 2017

For me a keyboard layout and a language are truly separated so yes you can select only one language (french for example) with one or multiples keyboard(s).
And you can select one or multiples layout for one language.

One does not influence the other. (Except maybe for compatibility reason : installing a keyboard/dictionary on the same package but you have to unlink them afterward.)

@maverick74
Copy link
Author

maverick74 commented Feb 1, 2017

Then, i suppose, we both want the same thing.

I think that ideally what would be good was an entry where one could select the keyboard layout and another one where one could select the dictionary or dictionaries we wish to use.

My remaining real question is actually how hard it would be to implement this (if @menny considers it, of course)

@menny
Copy link
Member

menny commented Feb 2, 2017

It's not super hard to implement. I'll add this to the backlog

@menny menny added this to the backlog milestone Feb 2, 2017
@menny menny modified the milestones: 1.8-r10, backlog Feb 19, 2017
@menny menny modified the milestones: 1.8-r10, 1.8-r11 Mar 24, 2017
@vinniec
Copy link

vinniec commented Apr 30, 2017

I tried to use a different dictionary without succeeding.

  1. I have installed anysoftkeyboard from fdroid
  2. I did all the automatic setup ((I set the layout t9-like)
  3. I chose to force the Italian language from the tweaks:
  4. language > other > tweaks > Use the integrated user dictionary NOT SELECTED
  5. user interface >other > tweaks > force locale SELECTED TO "it"
    However, text autocompletition remains in English, Is there a solution?

@menny
Copy link
Member

menny commented May 1, 2017

@vinniec, the way to do that is to "override the default dictionary"
Long press ENTER key and pick that option.

@vinniec
Copy link

vinniec commented May 1, 2017

It does not work, as choices I have only default and english
Maybe I need to install some additional dictionary from the market? But I with the default google keyboard already have self-completion in italian

@menny
Copy link
Member

menny commented May 1, 2017

Wait, do you have the Italian language pack installed?
The dictionary for Italian must be installed in order for this option to be available

@menny
Copy link
Member

menny commented May 10, 2017

A new beta will be available in a few hours for testing. Please test!

@menny menny closed this as completed May 10, 2017
@maverick74
Copy link
Author

Will do so!!! Thank You!!!

@maverick74
Copy link
Author

From what i've used, it seems to be working fine :)

@vinniec
Copy link

vinniec commented May 13, 2017

Okay, I tried the beta and now it works for me as well.
However, I took some time to understand a bit about how it worked, so I doubted it would work even before but I did not understand it.

As for the t-9 keyboard like, unfortunately the suggested words are not based on the pressed keys but on the letters entered.
This makes the writing very slow by pressing the same key repeatedly to write the correct letters rather than pressing the key once for each letter that makes up the word.
Example: write the word "fiume":
With current behavior we need press:
3 times the "def" key
3 times the "ghi" key
2 times the "tuv' key
1 times the "mno" key
2 times the "def" key
Total pressures, 11 taps instead of 5

With the expected behavior I would expect to press each of these buttons once, but actually, doing this way for word 'fiume' the suggested words are:
diamo, dorme, dormo, detta, ditta, dette, dorm

Also, you can not press once per letter without having to wait several seconds if there is a succession with more than one letter of the same key, like word "nonno" with all letter on the same key 'mno'.

@maverick74
Copy link
Author

@vinniec I too suffer from that problem with the lack T9. Unfortunately menny can't do anything about this since T9 is pattented (ain't Pattent land wonderful :( ??? The pattent expires October 6, 2018… there is nothing that can be done before that…)

As to the wait before tapping a second time in the same key, ASK is very powerful in terms of customisation:
Go to ASK configs > Interface > Even More > Fine Tunning > behavior adjustments > time between touchs (NOTE: english is not my native language so the names mentioned above may differ… if so you'll have to take a guess ;)

@jknockaert
Copy link

Maybe I'm a bit late to the party, but the current implementation is quite confusing. When I long press ENTER I get the option to "override the default dictionary". So far so good. But then I am presented with a list of all languages (including the default one) and a generic "Dictionary" option. How can the default language override itself? What happens if I select "Dictionary"? I found out that after "overriding" the default language by selecting another language, the default language stays selected so it isn't really overrode (if that's proper English). I can actually select as many languages as I want. But it is unclear to what custom language dictionary new words would be added. To unoverride the default language I actually have to unselect the other selected language(s). The whole behaviour is counter-intuitive; the user interface should actually use checkboxes. But even then it is inefficient: to really switch a language I have to first select the other language and then unselect the previous language. That's cumbersome. Especially when you have parallel chats in multiple languages going on. Wouldn't there be a more straightforward implementation possible?

@Zykino
Copy link

Zykino commented Jul 25, 2017

Yeah the UX is not that good: please do not close the menu once we click on it.
The names are not OP but as long as we see multiples tick it might be ok.

And I found and try the incognito mode, don't know if I'm in it or not :s.

I think it's Swiftkey which show the current language on spacebar and we can switch by sliding it.

@jknockaert
Copy link

Just keeping the menu open would already reduce from six to four the number of taps required to effectively switch language.
Also the feedback provided after clicking a language is a bit confusing, e.g. after clicking to deselect the default language you are told that "overriding has been deactivated".
A single action (like swiping the spacebar) to cycle through the languages plus incognito would probably be an efficient implementation. After all we know have two actions that allow to cycle through keyboard layouts (button and spacebar swipe), so not much is lost by reassigning the spacebar swipe?

@menny
Copy link
Member

menny commented Jul 26, 2017

Good suggestions, guys.

  1. Use checkboxes
  2. Clearer language
  3. Do not close menu after picking

@menny
Copy link
Member

menny commented Jul 26, 2017

See #1094

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

No branches or pull requests

6 participants