[sugar] Question about internationalization on sugar-jhbuild

Tomeu Vizoso tomeu at tomeuvizoso.net
Thu Jul 3 09:56:51 EDT 2008


Can you publish the source for your activity then? Wonder why strace
shows that only the en* locales are looked up.

Regards,

Tomeu

On Thu, Jul 3, 2008 at 3:55 PM, Faisal Anwar <fanwar at mediamods.com> wrote:
> Hi Tomeu,
>
> I'm starting up sugar-jhbuild with the command 'LANG=es ./sugar-jhbuild
> run'. Then I open up a terminal and do 'sugar-launch annotate'. I tried it
> with other activities and they seem to work just fine with translation.
>
> Faisal
>
> On Thu, Jul 3, 2008 at 8:38 AM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
>>
>> Hi,
>>
>> from that strace log, seems like gettext thinks you are in the en
>> locale, right? How are you running your activity?
>>
>> Regards,
>>
>> Tomeu
>>
>> On Wed, Jul 2, 2008 at 11:50 PM, Faisal Anwar <fanwar at mediamods.com>
>> wrote:
>> > 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:
>> >
>> >
>> > 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
>> > 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
>> >
>> >
>> > 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
>> > 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
>> >
>> > _______________________________________________
>> > Sugar mailing list
>> > Sugar at lists.laptop.org
>> > http://lists.laptop.org/listinfo/sugar
>> >
>> >
>
>


More information about the Sugar mailing list