[spambayes-dev] State of I18N

Kenny Pitt kennypitt at hotmail.com
Wed Oct 20 20:51:19 CEST 2004


Hernán Martínez Foffani wrote:
> I mentioned before that I would like to make rcparser.py gettext
> aware so a translator could work out a solution without having to
> edit the resource dialogs.  
> 
> The problem I found is that the output of the parser is a dict that
> includes string literals subject to be translated (like caption or
> labels) and literals that do not (like font names.) Once in the dict
> there's no way to differentiate between them.   
> As I expect that changes in the dict would imply changes all over SB,
> I thought of a partial solution (call it a hack) that may work. 
> 
> AFAICT, SB does not use the output of rcparse directly but through a
> rc2py previous process.  So how about a subclass of str that override
> __repr__ ?  Then, rcparse only needs to create instances of this
> class for labels, captions, etc., not for font names (or every
> literal can be of this new type and an attribute flag can drive
> __repr__ accordingly.)     

I'm not that familiar with gettext, so I may be way off base here.  However,
if you can make the parser smart enough to use different classes for
translatable vs. non-translatable strings, wouldn't it be possible to just
put the _() around the translatable strings and leave it off for
non-translatable ones?  Once the strings are written out to dialogs.py with
the correct markers, you could run the pygettext utility against it to
extract the appropriate strings for translation.

-- 
Kenny Pitt



More information about the spambayes-dev mailing list