Create a mechanism to combine dictionaries on the fly (for UTF8 texts)

Registered by xoristzatziki

Create a "mechanism" to combine spell checking dictionaries on the fly, using existing installed dictionaries, if the languages involved have different UTF-8 ranges, so that users using software like Firefox do not have to change spell-checker twice to check a multi-language text or developers do not have to create such combinations. eg. of possible combinations
1. Greek and French(Canadian)
2. Chinese(Mandarin) and French(Canadian) and Urdu

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Whiteboard

Theoretically in UTF8 we can have combined dictionaries.
We can have, at some variable or at the beginning of the main (dictionary) file, not only the ISO set but also the range in UTF-8.
If the ranges of two dictionaries are not overlapped then user can combine them.
For example Chinese-like dictionaries can be combined with any Latin based language dictionary
Chinese-French or Chinese-English (US) or Chinese-English (UK) or Chinese-Italian ...
Japan-French or Japan-English (US) or Japan-English (UK) or Japan-Italian ...

My idea came form English-Greek dictionary.(https://addons.mozilla.org/el/firefox/addon/english-greek-spelling-diction/)
Greek dictionary can be combined with almost all other dictionaries.
In the existing Greek-English dictionary the idea "falls" into using a conversion to ISO 8859-7 in which Greek characters lay after #x80.
In UTF-8 (/UTF-16) there are such ranges that can be used only by some languages.
We cannot combine Polish and French since they have overlapping characters but we can combine Polish and Greek.
There is no need to create such combined dictionaries separate for all possible combinations.
At that moment the Greek-English dictionary has to be updated every time one of them (either English or Greek) must be updated.
A "mechanism" can be created that will use the existing dictionaries. That way separate dictionaries can always be updated without confusion.
In firefox or gedit, user can check two languages and IF they are not overlapped then firefox (or gedit) will combine their dictionaries. If they are overlapped (either using a javascript alert to notify user or without any user notification other than the "checking-unchecking" the right menu entry) will use the last one.

We can create the mechanism with the ability to combine more (3 or four or any number) not overlapped languages such as:
Greek + Polish + Urdu or
Greek + French(Canadian) + Chinese(Mandarin) + Urdu + Georgian
etc.

In Mozilla applications that use dictionaries the menu will change on the fly to represent that change. Every time user right-clicks to select (in a UTF-8 page) a language for spelling, if that language does not overlap with the current selected dictionary (or the current selected combination of dictionaries), the dictionary will be added-combined. The only "problem" is that if the user wants to select only one dictionary and the current selected can be combined than it will have to select for a second time the dictionary that (s)he wants to be the only one. That way the "mechanism" will find that the new dictionary is not compatible with the current combination and will drop down to the last selected.
Example of what I mean.
* Assuming user has installed all dictionaries that will get involved and selected charset is UTF-8.
* A page with [charset=utf-8] and [BODY LANG="el-GR"] opened for first time. Firefox will use the dictionary that user used in last session.
* Let's say that it was a French(Canadian) dictionary.
* Now user wants to use the English(UK) dictionary.
** Right-clicks and selects English(UK).
** Since dictionaries are overlapped (English(UK) and French(Canadian) both use at least latin characters from #0x41 to #0x7A) Firefox selects to use the last clicked dictionary which is [English(UK)].
* Now user wants to add the Greek dictionary.
** Right-clicks and selects Greek.
*** Firefox (or gedit) creates on the fly a menu called "English(UK)+Greek", makes it "checked" and from now on it uses a combination of the two dictionaries. If a word has characters from Greek range (from #0xCE #0x86 to #0xCF #0x94) then it check the word in Greek dictionary. If word has characters from old ASCII lower then #x80 then checks the word in English(UK) dictionary. If word has characters from both, marks it as wrong but with no suggestions.
* Now user wants the words to be checked only in English(UK) dictionary (why? I do not know. Just to make less heavy the program?).
** Right-clicks and selects English(UK)
** "Mechanism" understand that (combined) English(UK)+Greek dict has overlapping chars and makes the English(UK) dict current.
*** Since the new selection is overllaping with the current (which is a combination of English(UK) and Greek) Firefox will drop the menu [English(UK)+Greek] and it will use (and makes it "checked") only the [English(UK)].

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.