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

Re: Bug#464511: detect a fully vaild .po file as non-valid



Quoting Eddy Petri?or (eddy.petrisor@gmail.com):

>>> There is also a niederdeutsche Version of wikipedia [2].
>>
>> debian-i18n folks:
>>
>> Currently, the regex used by lintian to validate po file names is:
>>
>>     /^[a-z]{2,2}(_[A-Z]{2,2})?\.po$/
>>
>> so it expects language codes in the form:
>>
>>     nn
>>     nn_NN
>>
>> It looks like this is an ISO 639-2 language code.  Should lintian be
>> allowing for those in po file names as well?  In other words, should I
>> also permit:
>>
>>     nnn
>
> Yes. There are languages that do not have a 639-2 iso code, but have a  
> 693-3 iso code (example Creoles and pidgins, French-based)


My suggestion for PO files:

nn_NNN is OK *as long as there is a valid locale on the system for
it*. So, for instance fr_AU.po ("French as spoken in Australia") is an
invalid PO file.

nn or nnn are OK *as long as there is at least one valid nn_XX or nnn_XXX
locale on the system*


That means that we leave up to the locales package to decide whether
or not a locale (and therefore a PO file) is valid or not.

So, a suggestion (but I dunno if that can be used or not) would be to
check with the content of /usr/share/i18n/SUPPORTED, removing charset
cruft from there with something like:

cat /usr/share/i18n/SUPPORTED | cut -f1 -d\. | cut -f1 -d\@ | awk '{print $1};'|uniq                              

(this is bubulle shell style: Perl guru can do better)

That would require lintian to depend on locales which you might not
want, however.

Otherwise, you can at least check PO files to be either "nn", "nnn",
"nn_XX", "nnn_XX". There is no case of "nn_XXX".

PS: nds_DE and nds_NL are valid locales...:-)



Attachment: signature.asc
Description: Digital signature


Reply to: