Apparently they deleted (by accident) their APEX Translations (which reside in WWV_FLOW_TRANSLATABLE_TEXT$) and have neither a DB-Backup of this table nor a Backup of the XLIFF Files.
All they had was the main application and the translated applications, so runtime was fine but the next seed/publish would have destroyed this.
So the requirement was clear: get those translations back.
After some thinking and some tests i came up with a short and simple script: ApexLib_Recreate_Translations.sql
The Tasks needed are very simple:
- SEED the main Application.
This writes all text-strings to WWV_FLOW_TRANSLATABLE_TEXT$
- Run the Script
The Script reads the translated shadow application and updates it in WWV_FLOW_TRANSLATABLE_TEXT$
- That’s all !
In this case we were very lucky, the translated shadow applications were up to date, so we could easily recreate the translation table.
Disclaimer: This script doesn’t do any checks at all. It simply reads the translated application and updates the translation table. Think before using it, you may break someting.