When the translation is happening on the original config (no changes from shipped config yet), the translations should also be pushed to the locale database, or next time translations are updated from the community, the config translations could get overwritten. This also bridges the gap between "shipped config" and "user provided config" in that they can use the same UI to edit, but shipped config would also save edits to locale. It should save strings as customised.
Marking postponed on.
A quick example. Say you have
- Anonymous translated to Hungarian as Névtelen based on a .po file imported from the community
- You go update the translation to say Anonymous (which is a word understood in Hungary), now you get your locale storage removed
- You run the locale .po update that is built into core, it finds that you have a "new" string translating Anonymous to Névtelen (because you don't have a record of the translation customized)
Instead, what should happen is we save "Anonymous" as translation and set it to customized, so we protect it from turning back to where we changed it from. So this is the example to remove the delete stuff altogether for locale. We should not delete from locale.
For the update condition wrapping, now that is only reached if you enter something different from the original config. So in the above example, when you want to enter Anonymous, now if we don't delete anymore, what would happen is that the locale stored translation keeps being Névtelen, because the Antonymous word is the same as the source. So locale would not be updated either. That is wrong too.
So to make translation updates properly recorded and protected in the locale table, we should not delete them, we should update and mark as customized at all times. And we should do it even if it was the same as the source string to make sure we have a record of the user wanting to do that.
|#46||1936208-save-translation-locale-db-46.patch||6.87 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [MySQL] 205 pass(es). View
|#46||interdiff.txt||2.76 KB||Gábor Hojtsy|
|#45||1936208-save-translation-locale-db-45.patch||6.73 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [MySQL] 207 pass(es). View
|#45||interdiff.txt||1.17 KB||Gábor Hojtsy|