Seed & Publish Translations Plug-In
There is a little annoyance that you encounter when you develop multilingual APEX apps. When your primary language is English and the current session language is different for example German, then changes in your applications will not be displayed in that session, because APEX continues to display an older version that you have published earlier. Even when the change is invisible program logic it will be ignored.
You have to seed and publish the translations to see the change in your translated session. Since APEX provides API functions for the seeding and publishing of translations and metadata about the last publishing date can be retrieved from a view, this can be automated with an APEX processing Plug-In. While implementing the plug-in I copied a solution for the Data Browser App that can publish the translated apps in a background process. When you run the API calls as described in the APEX API Reference book by setting the environment with apex_util.set_security_group_id you can run the apex_lang.seed_translations and apex_lang.publish_application inside a procedure that is called in a scheduler job. When the procedure is defined with AUTHID DEFINER, then the scheduler jobs are enabled to find the translations. But when you execute this in an anonymous code block, then the call to apex_util.set_security_group_id has to be replaced by a call to apex_session.attach to enable the apex_lang API calls.