Question about internationalization on sugar-jhbuild

Faisal Anwar fanwar at mediamods.com
Wed Jul 2 17:50:12 EDT 2008


Hello All,

I'm trying to set up some simple internationalization on a sugar activity
but am running in to problems. I am specifically using sugar-jhbuild and
launching it with 'LANG=es ./sugar-jhbuild run' command when I want to test
my internationalization out. Here are the steps I have followed (I used
http://wiki.laptop.org/go/Python_i18n and
http://wiki.laptop.org/go/Localization/Testing to guide me):

1. First, I created a directory within my activity (a simple shell fo an
activity which I have called Annotate.activity) called 'po' and I went in to
that directory.
2. In Annotate.activity/po, I created a POTFILES.in file and put the
following text:

encoding: UTF-8
annotateactivity.py

3. I launched sugar-jhbuild and went in to the terminal, where I ran 'python
setup.py genpot' from the Annotate.activity directory. This generated an
'Annotate.pot' file. I went in to Annotate.pot and added some translations
for strings that I knew would need translating in my program (one specific
one was a from a print statement where the string is wrapped in _()).

4. Still in sugar-jhbuild's terminal, I ran 'msginit -l es' which generated
a file called 'es.po'.

5. finally, I did 'msgfmt -o ../locale/es/LC_MESSAGES/
org.laptop.AnnotateActivity.mo es.po' to generate the mo file and place it
within the right directory for spanish (the directory path is similar to the
one I found for Web.activity, whose translations are working fine).

After doing all this, I restarted sugar-jhbuild by using 'LANG=es
./sugar-jhbuild run' . I can see other activities have text translated, but
my activity is not translating the text that I wrapped in _() and was
printing out. I checked the source file and I am using gettext (importing it
as _ and then using the wrapper in the print statement I want translated).

Someone suggested trying to do an strace to see what was happening. I did
this and found the following in the portion of the log where it has any
reference to the string I want translated:


   1.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US.UTF8/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)
   2.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)
   3.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en.UTF8/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)
   4.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)
   5. write(1, "hello world should be translated"..., 33hello world should
   be translated
   6. ) = 33

 1
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
2
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
3
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
4
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
5 write(1, "hello world should be translated"..., 33hello world should be
translated
6 ) = 33
 1
2
3
4
5
6
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
write(1, "hello world should be translated"..., 33hello world should be
translated
) = 33

   1.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US.UTF8/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)

   2.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)

   3.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en.UTF8/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)

   4.
   stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en/LC_MESSAGES/
   org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such
   file or directory)

   5. write(1, "hello world should be translated"..., 33hello world should
   be translated

   6. ) = 33


 1
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
2
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
3
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
4
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
5 write(1, "hello world should be translated"..., 33hello world should be
translated
6 ) = 33
 1
2
3
4
5
6
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en_US/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en.UTF8/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
stat("/home/fanwar/sugar-jhbuild/sugar-jhbuild/install/share/sugar/activities/Annotate.activity/locale/en/LC_MESSAGES/
org.laptop.AnnotateActivity.mo", 0x7fffa41f75d0) = -1 ENOENT (No such file
or directory)
write(1, "hello world should be translated"..., 33hello world should be
translated
) = 33
 I would greatly appreciate any feedback on why translation is not working
here.
Thanks


Faisal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.laptop.org/pipermail/devel/attachments/20080702/770d8851/attachment.html>


More information about the Devel mailing list