All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brett Schwarz <brett_schwarz@yahoo.com>
To: Christian Stimming <stimming@tuhh.de>
Cc: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>,
	"Shawn O. Pearce" <spearce@spearce.org>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org
Subject: Re: [PATCH] Internationalization of git-gui
Date: Sat, 21 Jul 2007 09:29:56 -0700 (PDT)	[thread overview]
Message-ID: <479784.46282.qm@web38908.mail.mud.yahoo.com> (raw)


> ----- Original Message ----
> From: Christian Stimming <stimming@tuhh.de>
> To: Brett Schwarz <brett_schwarz@yahoo.com>
> Cc: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>; Shawn O. Pearce <spearce@spearce.org>; Johannes Schindelin <Johannes.Schindelin@gmx.de>; git@vger.kernel.org
> Sent: Friday, July 20, 2007 2:40:27 PM
> Subject: Re: [PATCH] Internationalization of git-gui
> 
> Am Freitag, 20. Juli 2007 20:34 schrieb Brett Schwarz:
> > After the glossary of terms has been create, it is easy to create the
> > catalog file (assuming we use Tcl's standard mechanism). Each locale should
> > have it's own file, named <locale_name>.msg (for example, es.msg for
> > spanish). Inside that file, you just create entries for each glossary term
> > (the below assumes that the msgcat namespace was imported):
> >
> >   mcset es Hello Hola
> >   mcset es "Hello %s" "Hola %s"
> 
> I beg your pardon, but I think you grossly misunderstood what I meant
> by "glossary". So before we end up in further confusion, let me clarify how
> the general translation approach works. I'll use gettext wording because
> that's what I know (from being the i18n guy in the gnucash project), but you
> can easily insert any other wording you like here.
> 

Ok, perhaps I did misunderstand you. From below, now I do understand...thanks.

 
> #1 For the translation in general, there is the set of all user-visible
> strings in the source language (here: english). In gettext terms this is
> called the "PO template file", git-gui.pot, also called the message template
> file. This set of to-be-translated strings needs to be extracted from the
> source code, which can be done by the xgettext program.
> 
> #2 For each target language, there is a human-readable mapping file that maps
> each source string (english) into the target language. In gettext terms this
> is the "PO file", de.po and it.po and ja.po and whatnot, also called the
> translation file. This is the *only* file translators actually work with.
> Gettext uses its PO file format here and a plethora of different tools exist
> to help translators editing these files. (Examples: emacs po-mode,
> KBabel, ...)
> 
> #3 For each target language, the translation files are converted to a
> (potentially not human-readable) "compiled" mapping file, which is then read
> at program runtime and used for the actual translation. For the gettext po
> file format, the msgfmt program can convert this to Tcl's .msg files.
> 
> If I understand correctly, your above suggestion implies that for Tcl msgcat,
> the file in #2 and #3 are one and the same? In my opinion this might make
> sense if and only if that file format is supported by at least as many
> translation tools and offers as flexible translation updates as gettext's po
> file format does. From my experience the po file format indeed offers a bunch
> of features that other translation file formats are missing but which are of
> significant help to the translator. That's why I would strongly suggest to do
> the actual translation inside a po file, and have it converted to the msg
> file afterwards.
> 

Yes, for the msgcat files, you create just the mapping files...that's it. No intermediate steps. So, a workflow would look something like this:

1) Somebody creates the initial "template" file. This is usually in the source's language (i.e. english). This too is just a msgcat file. Note that this file is not strictly necessary, but helps other translators.

2) A translator copies the template file, to their target language file, and edits the text:
    # cp en.msg es.msg
    # vi es.msg
    this
        mcset en Hello Hello
    get's changed to this
        mcset es Hello Hola
    etc

That's it. There is no compilation needed, and no need for a makefile entry.

Now, even though I think this approach is alot more simplier and straight forward, I do recognize that alot of people are probably accustomed to the po format, and since the actual generation of the msgcat files are only done by the maintainer, I don't really have anything against using the po format.

I know it's already been decided to use the po format, but I just wanted to make sure to follow up on this email.

Thanks,
    --brett




       
____________________________________________________________________________________
Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games.
http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow  

             reply	other threads:[~2007-07-21 16:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-21 16:29 Brett Schwarz [this message]
  -- strict thread matches above, loose matches on Subject: below --
2007-07-20 18:34 [PATCH] Internationalization of git-gui Brett Schwarz
2007-07-20 21:40 ` Christian Stimming
2007-07-20 18:15 Brett Schwarz
2007-07-19 17:33 Brett Schwarz
2007-07-20  5:04 ` Shawn O. Pearce
2007-07-20  8:56   ` Christian Stimming
2007-07-21  2:17     ` Shawn O. Pearce
2007-07-21  7:50       ` Christian Stimming
2007-07-21  8:03         ` Shawn O. Pearce
2007-07-20  9:03 ` Christian Stimming
2007-07-19 10:56 Christian Stimming
2007-07-19 12:25 ` Johannes Schindelin
2007-07-20  4:55   ` Shawn O. Pearce
2007-07-20 17:32     ` Paolo Ciarrocchi
2007-07-20 18:10       ` Junio C Hamano
2007-07-20 18:38         ` Johannes Schindelin
2007-07-20 18:47           ` Paolo Ciarrocchi
2007-07-20 19:06             ` Johannes Schindelin
2007-07-20 19:02         ` Sam Ravnborg
2007-07-20 19:16         ` Xudong Guan
2007-07-21  8:12         ` しらいしななこ
2007-07-21  8:22           ` Junio C Hamano
2007-07-21 13:21             ` Johannes Schindelin
2007-07-21 18:57             ` Paolo Ciarrocchi
2007-07-21 21:25               ` Johannes Schindelin
2007-07-21 22:57                 ` Junio C Hamano
2007-07-22  1:12                   ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=479784.46282.qm@web38908.mail.mud.yahoo.com \
    --to=brett_schwarz@yahoo.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=paolo.ciarrocchi@gmail.com \
    --cc=spearce@spearce.org \
    --cc=stimming@tuhh.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.