GNOME Bugzilla – Bug 322001
unable to display menu item in ja locale
Last modified: 2005-12-12 20:03:27 UTC
Please describe the problem: The menu item for switching to mail,contacts,calendar and tasks is missing in the ja locale but it is displaying OK in en_US locale. Steps to reproduce: 1.LANG=ja_JP.UTF-8 evolution 2.third item on the menubar (Alt-V) 3.first item in the sub-menu (W) Actual results: No option in ja locale Expected results: Similar to en_US, which allow the switching between mail, contacts, etc. Does this happen every time? YES Other information: # LANG=ja_JP.UTF-8 evolution adding hook target 'source' (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: Specification mandate value for attribute メール (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: error parsing attribute name (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: xmlParseStartTag: problem parsing attributes (evolution:7156): XML-CRITICAL **: Couldn't find end of Start Tag menuitem line 1 (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: Specification mandate value for attribute 連絡先 (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: error parsing attribute name (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: xmlParseStartTag: problem parsing attributes (evolution:7156): XML-CRITICAL **: Couldn't find end of Start Tag menuitem line 1 (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: Specification mandate value for attribute カ レンダ (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: error parsing attribute name (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: xmlParseStartTag: problem parsing attributes (evolution:7156): XML-CRITICAL **: Couldn't find end of Start Tag menuitem line 1 (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: Specification mandate value for attribute タスク (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: error parsing attribute name (evolution:7156): XML-CRITICAL **: attributes construct error (evolution:7156): XML-CRITICAL **: xmlParseStartTag: problem parsing attributes (evolution:7156): XML-CRITICAL **: Couldn't find end of Start Tag menuitem line 1 (evolution:7156): Gdk-CRITICAL **: gdk_gc_set_foreground: assertion `GDK_IS_GC (gc)' failed
Created attachment 55007 [details] screenshot in ja_JP locale No options available. Notice the empty sub-menu.
Created attachment 55008 [details] screenshot in en_US locale Original version which allow the switching to different evolution's functions.
Problem appears to be bogus XML menu description generated in e-shell-window.c: setup_widgets() In po/ja.po this translation: msgid "Switch to %s" msgstr "\"%s\" へ切り替えます" contains quote characters. These get copied inline into the generated XML ui description, for the tip attribute without escaping, and this stops it being well-formed XML; you end up with something of the form: <menuitem name="SwitchComponent-contacts" verb="" label="foo" accel="bar" tip=""foobar" へ切り替えます" pixbuf="etc etc" /> Fix appears to be to either escape any control characters in the attribute, or fix the translation. Appears to still affect CVS HEAD; might affect other languages.
Created attachment 55801 [details] [review] Patch to escape the strings; sent to evolution-patches list 2005-12-09
Patch committed to CVS; should now be fixed for 2.5.3