At Tue, 7 Sep 2010 22:50:32 +0200, Ralf Wildenhues wrote: > * Yavor Doganov wrote on Tue, Sep 07, 2010 at 10:17:07AM CEST: > > В Mon, 06 Sep 2010 11:32:54 +0100, Roger Leigh написа: > > > I'm already doing this in some of my projects by adding > > > "--no-location" to XGETTEXT_OPTIONS in po/Makevars. It's a > > > massive improvement. > > > > It's a massive disaster for translators. > > > > > A question I have is "what purpose does having the line number > > > and source file serve"? > > > > Automatically jumping to the source. That's invaluable. > > Well, automatically jumping to a specific place in source code can > be achieved with a more stable indexing method that file:line: > annotations. An example is how tags/TAGS files work: they encode a > file name and a search regex that looks like a sed /^pattern/.
That's a nice idea, yes. I don't know if it's easy to implement, and I'm not sure why gettext's way is the way it is, given that *tags predates it (IIRC, not sure). > Now, I'm not sure reusing tags functionality exactly is possible; > translator tools will need some adjustment to work with this. PO editors definitely would have to be modified if this approach is implemented in gettext proper, but I don't think that's a major problem to be concerned about. (They already track and adapt to changes in gettext, naturally.) The solution for Roger's problem (preventing .po/.pot VCS noise) is very simple: just don't keep the .pot in the VCS; generate it at `make dist' time. If you keep .po files in VCS (not compulsory either; some projects do not do this, but fetch the .po's at dist time), then commit only those changes that are genuine translators' modifications. Any diligent translator knows how to generate a .pot, and how to refresh the .po from it.