Hello, a while ago, someone (Denis?) raised a major issue in my designs and dreams of a central po files collection in debian. Let's imagine that upstream distribute a fr.po file, but it's suboptimal. It gets fixed (or completed) internally in debian, and everything is great and such. But how to deal with a new upstream release? Dropping the upstream po file is very impolite with upstream translators. Moreover, they may have improved in the meanwhile. Dropping the debian translation is a bit suicidal. Here is a proposal: In the DB, you store not only the working copy (which get improved and used within debian), but also the original file you got from upstream. Then, on new upstream release, you have 3 files: orig.po, curr.po and new.po - resync new.po against the pot, since some debian patch may add msgids - foreach msgid in new.po if it wasn't in curr.po also, take the new translation and go ahead else if msgstr(orig) != msgstr(curr) # was improved internally if msgstr(orig) == msgstr(new) # wasn't improved upstream take translation from curr.po else # was improved upstream concatenate the translations from curr and from new, and mark fuzzy else # wasn't improved internally Take translation from new.po I think it could work. Actually, I suspect that this is the way rosetta works, but since I cannot access its source code, I cannot say. Anyone has some more info? Bye, Mt.
Attachment:
signature.asc
Description: Digital signature