We currently don’t have a good way of automatically knowing if a particular localisation in mozilla.org CVS is up-to-date. I think this might bw useful information to know when trying to do a security release for 30 or more locales simultaneously.
One possible system would watch checkins to the /l10n partition and maintain a “last changed date” for every single key/value pair in every single file. If a value in the en-US file has changed more recently than the value for the corresponding key in the localised file, it would flag that localisation as “out of date”.
The tool would loop as follows:
- cvs update
- check to see if any monitored files had been modified
- load any modified files and look for modified or new keys
- update its stored last-changed date for those keys to be the file checkin date
- warn if the last-changed-date for a “base” (en-US) key was greater than the last-changed-date for that key in another locale
- list the keys and files affected on a per-locale basis
- write all new date and key info back to the database
Does this seem like a good design?
The only problem would be if a localiser decided that the change in the English string did not warrant a change in the localised string. Perhaps we could make them touch the file anyway, just to flag that they had seen and dealt with the issue? Hacky, perhaps…