Make WordPress Core

Opened 15 months ago

Closed 3 months ago

#23341 closed defect (bug) (invalid)

Spell checker in the editor shows languages not supported by google spellchecker like hebrew

Reported by: mark-k Owned by:
Milestone: Priority: normal
Severity: normal Version: 3.5
Component: I18N Keywords:
Focuses: Cc:


The spell checker in the editor uses via tinymce code the google translate service. Problem is that WordPress code assumes that the service supports all languages

translators: These languages show up in the spellchecker drop-down menu, in the order specified, and with the first
language listed being the default language. They must be comma-separated and take the format of name=code, where name
is the language name (which you may internationalize), and code is a valid ISO 639 language code. Please test the
spellchecker with your values.

$mce_spellchecker_languages = __( 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv' );

The following filter allows localization scripts to change the languages displayed in the spellchecker's drop-down menu.
By default it uses Google's spellchecker API, but can be configured to use PSpell/ASpell if installed on the server.
The + sign marks the default language. More: http://www.tinymce.com/wiki.php/Plugin:spellchecker.
$mce_spellchecker_languages = apply_filters( 'mce_spellchecker_languages', '+' . $mce_spellchecker_languages );

But google insist that they support only 12 languages http://support.google.com/toolbar/bin/answer.py?hl=en&answer=32703, therefor not any localization can localize it (ok it can, but it is pointless). The end result for hebrew is that any gibberish text thrown at the spell checker returns as good text.

Change History (9)

comment:1 mark-k15 months ago

  • Version set to 3.5

comment:2 azaozz15 months ago

  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from new to closed

If a language is not supported by Google spell, then it shouldn't be added there. Don't think we should be restricting that setting, the translators would know if their language is supported or can test that easily.

comment:3 mark-k15 months ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

This whole thing is under documented. It doesn't say anything in the comment above the filter about limited amount of languages that googlespell supports, and it is not mentioned even in the tinymce documentation.
The comment above the localization have even less detail, and that will be the place where localizer look at.

I don't think it is the responsibility of the localizer to guess that there is more digging to be done if there is no hint for the need to do that. I can understand why the hebrew localizer went and added hebrew in the localization, he saw that there is a way to add hebrew so he added it cause it is simple to see that people writing in hebrew will want to use an hebrew spell checker.

The worst part is that instead of giving some message like "language not supported" you get a "your spelling is perfect", therefor unless the localizer actually QAs this feature he will never know it doen't work.

Related #11294

comment:4 nacin15 months ago

#11294 was marked as a duplicate.

comment:5 nacin15 months ago

Looks like we'll need to backtrack on #19962 a bit, and only translate individual language names. And also, add Russian, which is the 12th language supported (we only list 11).

Perhaps we can push the current locale to the top, if it is supported.

comment:6 nacin15 months ago

  • Milestone set to 3.6

comment:7 nacin15 months ago

  • Component changed from Editor to I18N

comment:8 markjaquith10 months ago

  • Milestone changed from 3.6 to Future Release

comment:9 ocean903 months ago

  • Milestone Future Release deleted
  • Resolution set to invalid
  • Status changed from reopened to closed

The spellchecker is removed.

Note: See TracTickets for help on using tickets.