GNOME Bugzilla – Bug 150535
gedit spell checker plugin should use language names and translations from iso 639
Last modified: 2019-03-23 20:40:08 UTC
Currently, there are many language names being used and marked for translation in the gedit spell checker (plugins/spell/gedit-spell-checker.c). Marking these language names for translation makes redundant work for translators -- the language names and their codes are defined in the ISO 639 standard, and there is a special module in the Translation Project that already contains those language names and the translations of these: http://www2.iro.umontreal.ca/translation/registry.cgi?domain=iso_639 It would be very helpful for translators if these existing translations from the iso_639 module could be reused, perhaps by gedit depending on the iso_639 module in some way, instead of these language names being marked for translation in gedit.
I think this package is called "iso-codes" in Debian, IIRC.
As far as you know, is this package already used by other GNOME applications? i.e. is it already a dependency for GNOME?
Not that I know of, but I'm not entirely sure. Danilo, Kjartan, do you know?
I don't think so. At least I don't have anything like it on my fedora system that I can see...
No, it's not (yet) a dependency, I'm planning to add it for GNOME 2.10, btw, it's a dependency that could be removed (and you will get no translation) is a set of .po files not a library.
Carlos: any news about this new dependency?
Not ready yet, it's still a GNOME 2.10 goal in my TODO list. But you don't need to wait for it, just look for that catalog, if the users have it installed, they will get names translated if it's not there, they will get english strings.
Created attachment 34828 [details] [review] Use iso-639 for language translations 2004-12-14 Danilo Šegan <dsegan@gmx.net> * spell/gedit-spell-checker.c (gedit_language_to_string): Use dgettext to translate language name. (known_languages): Remove N_() around language names. (get_language_from_abrev): Move declaration before code. There are several problems with this: iso-639 doesn't contain translations for things such as "English (British)", "English (American)", "Portuguese (Brasil)" and similar. Another issue is that one should probably do bindtextdomain("iso-639", ISOCODES_LOCALEDATA); with ISOCODES_LOCALEDATA gotten through `pkg-config --variable=prefix iso-codes` and "share/locale" appended to it.
> There are several problems with this: iso-639 doesn't contain translations for > things such as "English (British)", "English (American)", "Portuguese (Brasil)" > and similar. In Epiphany we use iso-639 domain for the language and iso-3166 domain for the country part, see src/prefs-dialog.c and lib/ephy-langs.[ch]. We have a list of codes (like "de", "en-gb", "en-ca" etc.) and construct the display string from that. + return g_strdup (dgettext("iso-639", lang->name)); I think the correct domain name is "iso_639".
Fixed in the development version. The fix will be available in the next major release. Thank you for your bug report.