[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Urgent: Not all languages have been updated in the last wml run



Em Sun, 09 May 2004 22:00:12 +0200, Denis Barbier escreveu:

> On Sun, May 09, 2004 at 03:43:47PM -0300, Gustavo R. Montesino wrote:
> [...]
>> > This is a bad idea, because when translators add or update PO files, they
>> > already exist or are modified on www-master which causes a CVS conflict.
>> > IMO the only solution is to add */po/foo.XX.po into CVS when adding
>> > english/po/foo.pot
>> > I have to go for a couple of hours and will look at it when I am back.
>> > 
>> 
>> Hmmm... Because something outside of my understanding, the .po files being
>> made automatically by the rule that I've added seems to be rmed after the
>> build process. Although I don't know what's causing this, I think it lets
>> the path open for the translators to add their own .po files when they
>> wish.
> 
> No, files under CVS control must not be modified when building pages,
> otherwise CVS conflict may occur on www-master.  Imagine for instance
> that PO files contain a "PO-Revision-Date" header field, automatically
> updated when building pages.  PO files in the working directory differ
> from the ones stored in CVS repository.  Then a translator commits
> his file, and when 'cvs update' is run on www-master, there is a
> conflict and this PO file becomes invalid on www-master.

Does that aplies if the file actually doesn't exists in the CVS, is
generated so that the mo file may be made and then removed? If I'm not
wrong, in this case when the translator adds and commit the po, the build
will generate and install a new mo.

I think that the fact I've made two distinct changes may be causing some
confusion. I think each of then should be considered in its own:

* Change to update-po target, so that it generates a po file when a
  translator runs update-po: I've added it because I was surprised when I
  saw it wasn't already done. I think that update-po should create new po
  files, so that:

    - Webmaster includes new pot
    - Translator runs update-po
    - Translator edit the new po and commits.

  Of course, it isn't needed if the webmaster has to put the po in each
  language dir.

* Addition of a %.$(LANGUAGE).po target, so that on the build, if a given
  .po doesn't exists:

    - The equivalent port is copied
    - The mo is built
    - The po is deleted (I didn't add anything to get this effect, but it
      happens by some misterious motive)

  This way, AFAICS, the building goes right and no CVS conflict happens.

Of course, I may be missing something. However, if I'm not, I think it
would be a good idea to keep these changes in order to evite future
problems.

-- 
Gustavo R. Montesino



Reply to: