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

Re: Further reduction of l10n sync commits



On Tue, Mar 07, 2006 at 12:35:47AM +0100, Frans Pop wrote:
> Hi Christian,

Hi,

I'm not Christian, but let me reply anyway ...
 
> There still are times when a minor change in the translation for a
> language will result in all packages being updated. Often this is caused
> by very minor changes in comments in the head of the po file.
> 
> Please consider the following two options for l10n-sync to ignore these.
> 
> 1. Just ignore any change in comments
> Reasoning: any important changes in comments (if not accompanied by other
> changes) come from the POT file, not from the translator.
> 
> The following patch will do that (and has a minor optimization which I've
> already committed).
> 
> --- l10n-sync   (revision 35133)
> +++ l10n-sync   (working copy)
> @@ -569,7 +569,7 @@
>          filter="((PO-Revision-Date|Project-Id-Version|Report-Msgid-Bugs-To|POT-Creation-Date|Last-Translator|Language-Team|MIME-Version|Content-Type|Content-Transfer-Encoding|X-Generator|Plural-Forms):)|^#[^,]|^\#$"
>          cat $lang.po | egrep -v "$filter" >$oldfiltered
>          cat $lang.po.new | egrep -v "$filter" >$newfiltered
> -        if [ -z "$(diff --ignore-matching-lines="PO-Revision-Date:" $lang.po $lang.po.new)" ] ; then
> +        if [ -z "$(diff --ignore-matching-lines="\(^#\|PO-Revision-Date:\)" $lang.po $lang.po.new)" ] ; then

It looks like this is already matched by $filter, isn't it? Even if it is used
for different actions it may be useful to create a new filter based on the old
one. Just use it:

  if [ -z "$(diff $oldfiltered $newfiltered)" ] ; then

Nevertheless I think that "Plural-Forms:" should be excluded from the list or
compared separately (not necessary when the first commit (maybe via the New
Language Process) checks that it is correct) so that a wrong one can be corrected.
The same is true for "Content-Type:" to match a changed encoding.

-           # We don't commit if only PO-Revision-Date changed
+           # We don't commit if only comments, white spaces, ... changed
>           rm $lang.po.new
>          else
 
> BTW. I think we should also ignore changes in the "Last-Translator:" header.

Also matched by the filter above.

> 2. Ignore any changes in lines leading up to the first msgid line
> This is probably the better option.

Just add "|^[[:space:]]*$" to the filter.
 
> Please test yourself before committing.

I tested it on a single file and it should work.

Jens



Reply to: