dogtail-devel [Bug 328652] New: Autotranslation of gedit-test-utf8-procedural-api.py fails with gedit-2.13



Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=328652
 dogtail | Framework | Ver: CVS HEAD

           Summary: Autotranslation of gedit-test-utf8-procedural-api.py
                    fails with gedit-2.13
           Product: dogtail
           Version: CVS HEAD
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: Framework
        AssignedTo: dogtail-maint gnome bugs
        ReportedBy: dmalcolm redhat com
         QAContact: dogtail-maint gnome bugs
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Running CVS pyspi and dogtail as of 24th January 2006
 with gedit-2.13.1-2 on Fedora (rawhide, development to FC5).

[dmalcolm cassandra examples]$ LANG=ja_JP.UTF-8
./gedit-test-utf8-procedural-api .py
Creating logfile at
/tmp/dogtail/logs/gedit-test-utf8-procedural-api_20060125-17 3747 ...
Detecting distribution: Red Hat/Fedora/derived distribution
Bonobo accessibility support initialized
GTK Accessibility Module initialized
/tmp/dogtail/screenshot_20060125-173801.png
Screenshot taken: /tmp/dogtail/screenshot_20060125-173801.png
click on {child with name="Save" ("保存(S)", "保存")}
Translation not found for "Save As…"
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 3)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 4)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 5)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 6)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 7)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 8)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 9)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 10)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 11)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 12)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 13)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 14)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 15)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 16)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 17)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 18)
searching for child of Node roleName='application' name='gedit' description='':
"Save As…" dialog (attempt 19)
Translation not found for "Save as..."
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 3)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 4)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 5)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 6)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 7)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 8)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 9)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 10)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 11)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 12)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 13)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 14)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 15)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 16)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 17)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 18)
searching for child of Node roleName='application' name='gedit' description='':
"Save as..." dialog (attempt 19)
Traceback (most recent call last):
  File "./gedit-test-utf8-procedural-api.py", line 61, in ?
    focus.dialog('Save as...')
  File
"/home/boston/dmalcolm/coding/dogtail/pristine-from-cvs/dogtail/dogtail/p
rocedural.py", line 82, in __call__
    else: raise FocusError, name
dogtail.procedural.FocusError: Save as...


Problem seems to be in: gedit/gedit-commands-file.c: file_save_as specifies the
trasnslatable string in the source file as _("Save As\342\200\246").

"Save As\342\200\246" is an octal encoding of a NUL-terminated UTF-8 encoded
string consisting of "Save As" followed by the U+2026 HORIZONTAL ELLIPSIS
unicode character.

Looking in the packaged mo file I see the same encoded string.
hexdump -C /usr/share/locale/ja/LC_MESSAGES/gedit.mo | grep -C 3 "Save As"
00008e10  20 31 31 00 53 61 6e 73  20 38 00 53 61 6e 73 20  | 11.Sans 8.Sans |
00008e20  52 65 67 75 6c 61 72 20  31 31 00 53 61 6e 73 20  |Regular 11.Sans |
00008e30  52 65 67 75 6c 61 72 20  38 00 53 61 72 64 69 6e  |Regular 8.Sardin|
00008e40  69 61 6e 00 53 61 76 65  00 53 61 76 65 20 41 73  |ian.Save.Save As|
00008e50  e2 80 a6 00 53 61 76 65  20 5f 41 73 2e 2e 2e 00  |....Save _As....|
00008e60  53 61 76 65 20 61 6c 6c  20 6f 70 65 6e 20 66 69  |Save all open fi|
00008e70  6c 65 73 00 53 61 76 65  20 74 68 65 20 63 68 61  |les.Save the cha|

Looks like it's failing to locate the translation in the call to
gettext.dgettext().  What is the encoding to strings passed to GNU gettext, or
what rules cover this?  The test currently searches for that unicode string
directly.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the QA contact for the bug.
You are watching the assignee for the bug.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]