From: Andrew Dunbar (hippietrail@yahoo.com)
Date: Wed May 01 2002 - 01:30:02 EDT
 --- Paul Rohr <paul@abisource.com> wrote: > At 09:23
AM 4/30/02 +0200, Christian Biesinger
> wrote:
> >On Mon, Apr 29, 2002 at 04:16:11PM -0700, Paul Rohr
> wrote:
> >>   1.  isolate the strings
> >>   -----------------------
> >>   Prepare the sources so that gettext can extract
> strings to a .PO file.  
> >>   To make this work, I think we'd just need to
> redefine the existing 
> >>   *String_id.h file macros.  
> >
> >Actually, the only thing that needs to be done is
> put N_(...) around the
> >literal strings there (and #define N_(x) x at the
> top), that should be
> >enough for gettext to be able to extract the
> strings.
> 
> Cool.  I love it when macros make life that easy.  
> :-)
> 
> >>   2.  translate them
> >>   ------------------
> >>   Have the translators work with and check in .PO
> files.  (These are a
> plain 
> >>   text format, right?)
> >
> >Yes, plain text. They look like this:
> >#: src/af/xap/xp/xap_String_Id.h:1234
> >msgid "Some English String"
> >msgstr "Localized string"
> >
> >Hm, I just realized that your approach does not
> help the case of identical
> >english strings in different contexts. They'd get
> merged together (at
> >least that's what the gettext tool does). 
> 
> Argh.  That's the gettext "feature" that Andrew and
> others are complaining 
> about.  
> 
> >If your tool would put the same
> >string more than once in the file, this would
> probably confuse translation
> >tools.
> 
> Hmm.  Given that translators are the folks who hate
> the feature, then I'd 
> think they'd see this as a worthwhile bug to get
> fixed in their favorite 
> tools. 
> 
> But then I'd also expected that they'd care enough
> to gravitate towards 
> ID-centric tools, too.  Shows that my intuition
> isn't always well-grounded, 
> at least in this area.  ;-)
> 
> >>   3.  transform the result
> >>   ------------------------
> >>   At *build time*, instead of running a gettext
> tool to create a .MO file, 
> >>   run one that creates a strings file with the
> appropriate IDs.  
> >
> >That would require a tool which has a mapping of
> IDs to strings...
> 
> That mapping shouldn't be too hard to get.  The
> macroized header file where 
> all the strings are found *already* maps IDs to
> strings -- indeed, that's 
> what it's *for*.  You "just" need to dereference
> appropriately.  
> 
> >>   NOTE:  This means that people wouldn't have to
> create strings files by 
> >>   hand any more.  So long as we have a way to
> keep track of the encoding
> (so 
> >>   iconv can find it), that shouldn't be a
> problem.
> >
> >Couldn't your tool directly convert the strings
> from whatever encoding the
> >.po is in (the header contains this info) to UTF-8
> (or another one, being
> >always the same) when generating the strings file?
> 
> Excellent.  Thanks for confirming that .po files are
> sane enough to define 
> the encoding they're using.  
> 
> And yes, moving the charset conversion from runtime
> (where it's done now) to 
> build time (as you suggest) might be helpful.  It
> won't save us the 
> footprint cost of including iconv in the binary, but
> it might decrease the 
> working set on launch.  
> 
> >Or would that be incompatible with the strings file
> format? I've never
> >taken a look at them...
> 
> Strings files are XML and include an encoding
> declaration. 
> 
> >> To make this work, we'd need two little tools --
> one that creates or 
> >> updates a PO file given a pair of appropriately
> macroized string_id.h
> files 
> >
> >You could use the normal gettext tools for this, if
> you really mark them
> >the way I suggested above.
> 
> Sweet.  Thanks.  
It sounds like all the problems have solutions.  But
since we're doing this, isn't this the perfect time
to get all of our translatable strings into one place?
I belive we used to have three and we now have two
right?  wp/ap/xp/ap_TB_LabelSet_xx-XX.h and
user/wp/strings/xx-XX.strings
It's possibly also the time to think about localizing
plugins:
http://bugzilla.abisource.com/show_bug.cgi?id=3203
Andrew Dunbar.
> Paul 
=====
http://linguaphile.sourceforge.net http://www.abisource.com
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com
This archive was generated by hypermail 2.1.4 : Wed May 01 2002 - 01:32:07 EDT