when using one particular default language as source language, all target translations rely on the default translation string as a key. Thus when you need to change the default text string (or fix a small typo), all target translations are lost, because the changed text string is considered as new entry that needs to be translated.
Is there a nice solution to overcome this problem? A migration routine to fix keys would be great.
why not try to find and replace all which search for the desired text and change it not only in your current file but also in any specified directory, phpdesigner editor can help in that
This solution does not work when you have the translations in the database. You can make all default translations the same, but the key-value pair is lost then and a new translation key is added to the database.
easy then run a mass update where key="old key"
Yes, this is the trvial and obvious solution, but no solution I would to expect run smooth without breaks in large projects. You have to be too careful to track all changes yourself…