Version 4.53.0005 contains a change to the logic for exporting to and importing from a spreadsheet file.
Previously, missing translations were filled up with texts from the original language. Recently a user suggested that it would be better to leave the cells for missing translations empty, which is fairly obviously a good idea.
The change to the export logic was fairly simple, but then I realised that it would require a more fundamental change to the import logic. The basic question is, what should the import function do with an empty cell?
Previously, it would import the empty string as a legal translation. This means that database then contains a translation, which is a zero length string. As a result, if you were to import a partly translated spreadsheet, you would end up with a lot of empty translations in your database. These emtpy transations would prevent the resource fallback mechanism from fetching the non localized text, which I am sure is not a good idea.
The new version does not import empty strings. In fact, if the project database already contains a translation, then it will actively remove the translation.
Thus an empty string in a spreadsheet is now taken to mean that there should be no translation, which in turn means that the resource fallback mechanism will be used.
I have tried to explain the logic in this article
24th March 2008