Closed Bug 313503 Opened 17 years ago Closed 12 years ago

Spelling dictonary should drop country part in xx_XX dictionaries

Categories

(Core :: Spelling checker, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: arysin, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b5) Gecko/20051006 Firefox/1.4.1
Build Identifier: Mozilla Thunderbird version 1.5 Beta 2 (20051006)

Any spelling dictionary provided in xx_XX form (except en_*) is displayed as xx_XX in dictionaries list. Same happens for xx-XX dictionaries. The only way to have proper language name is to have dictionary named just with language name without country.
E.g. if mozilla does not not the name for uk_UA it should try uk then and display 'Ukrainian'.

Reproducible: Always

Steps to Reproduce:
1. Add uk_UA.dic file to components/myspell directory
2. Go to Message compose window
3. Press spellcheck

Actual Results:  
1. See "uk_UA" language
2. Same for uk-UA (as this version is suggested here http://spellchecker.mozdev.org/installation.html#dictionaries)
3. If you rename dictionary to uk.dic is shows "Ukrainian"
4. Same happens for pretty much any other language presented by xx_XX.dic except for en_XX

Expected Results:  
If mozilla can't find a proper name for xx_XX dictonary it should drop contry part and try to find a name for xx language name.

xx_XX where xx - language name and XX - country name is a standard representation for i18n topics.
I have several dictionies, and they're all displayed correctly :

in the popup-menu from the toolbar :
Dutch
English (US)
German (DE)
Spanish (ES)

in the popmenu in the dialog box :
Dutch
English/United States
German/Germany
Spanish/Spain

The reason that Dutch is displayed different, is that the dictionary is named nl.dict, which has no country code (it's used in Belgium and Netherlands). Similar to what you describe with Ukranian. The others ones use the xx-XX.dict format, like de-DE.dict or es-ES.dict. But they're displayed fine.

I think that the reason is that 'uk' is recognized as 'Ukranian' (the language), but 'UA' not as Ukraine (the country). So uk_UA.dict can not be recognized !

The reason seems to be that the file regionNames.properties only contains a limited list of countrynames. Mine examples are listed, but yours are not.

There are 2 solutions here
- fix bug 153104, to update the list of languages
- make sure that if YY is not recognized in xx_YY.dict, that we'll retry with xx.dict (this bug)
Assignee: mscott → smontagu
Status: UNCONFIRMED → NEW
Component: Message Compose Window → Internationalization
Ever confirmed: true
Product: Thunderbird → Core
QA Contact: amyy
Version: unspecified → Trunk
Depends on: 153104
Assignee: smontagu → mscott
Component: Internationalization → Spelling checker
QA Contact: amyy → spelling-checker
Andriy, throgh the bug that caused the problem with list has been fixed now, please do rename dictionary code to just "uk". For consistency with all other Mozilla sites and products.
Tim, could you please point me to the instructions on the dictionary naming for mozilla products? I could not find it quickly.
Also currently this dictionary is pretty much the same used for OOo where xx_XX is de-facto standard so unless there's strong recomedation to name it with two-letter code for mozilla I'd leave it as it is.
Assignee: mscott → nobody
Hi, Andriy. There is no separate dictionary naming policy, just the one for naming locales, https://wiki.mozilla.org/L10n:Locale_Codes

Usually dictionaries are just named by the locales.

And I just noted other visual issue with naming dictionary files uk_UA: when you evoke spellchecking context menu, our dictionary is called "Українська / Україна" which is somewhat weird.
(In reply to comment #4)
> And I just noted other visual issue with naming dictionary files uk_UA: when
> you evoke spellchecking context menu, our dictionary is called "Українська /
> Україна" which is somewhat weird.

That's no different from German/German. But don;t forget that the language is also spoken in other countries.

If Ukrainian is only spoken in Ukraine, then maybe the name should be uk.dict, but that's something entirely in the hands of the author of that dictionary. This bugs asks for a fallback strategy. If uk_UA.dict isn't recognized, then it should fallback to uk.dict automatically.

Note that there's probably a higher change that the language isn't recognized (especially the 3-letter codes), but the country should work (there would be more serious problems if it didn't). So I don't think this bug is important anymore. WONTFIX ?
Yes, Jo: Ukrainian has no variants, and it seems that this discussion with Andriy (who is actually maintainer of uk dictionary) has taken quite a step off from the bug title.

Andriy, would you mind closing the bug and continuing the discussion on uk dictionary on mail/forum?
This seems to work as expected in the last versions of Thunderbird so marking as fixed.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.