Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

APEXlang application export blocked after migrating from Translation Repository to Text Message-Based translation (APEX 26.1)

KoenAXIJul 16 2026

What I'm trying to do

I have an existing application that was translated using the classic Application-Based translation method (i.e. translated text lives in the Translation Repository, with separate translated/shadow applications per language). I want to migrate it to the new Text Message-Based translation introduced in APEX 26.1, following this blog post:

https://blogs.oracle.com/apex/oracle-apex-26-1-simplifying-application-translation-with-text-messages

My end goal is to be able to export the application in the APEXlang format and recover my translations used before in translation repository.

Starting point

When I try App Builder → Export → Format: APEXlang, I immediately get:

This application contains translated text in the Translation Repository, which is not supported by the APEXlang format. Please continue using the SQL export format.

The Translation Repository is indeed populated with entries for my languages (en, fr, nl, nl-be).

Steps I followed (from the blog)

1. Shared Components → Text Messages → Convert Application Text → ran Convert to Text Messages. This created all the required text messages.

2**. Shared Components → Globalization** → set Translation Method = Text Message-Based and Apply Changes.

3. Shared Components → GlobalizationApplication Translation → Sync text messages for all languages

At this point I expected the app to no longer be tied to the Translation Repository, and therefore the APEXlang export to succeed.

The problem

After switching the Translation Method to Text Message-Based and applying the change, the APEXlang export still fails with the exact same error — "This application contains translated text in the Translation Repository…".

So switching to Text Message-Based (and having generated all the text messages) does not clear the existing Translation Repository data, and the APEXlang export appears to reject the app as long as any data remains in the Translation Repository.

What I think is unclear

The core issue for me is that there does not seem to be a standard, built-in way to migrate existing Translation Repository translations into Text Message-Based translation.

  • Converting to Text Messages generates the message keys/entries, but it does not appear to carry over the actual translated values that already exist in the Translation Repository, nor does it remove that repository data.
  • Switching the Translation Method to Text Message-Based changes how translations are resolved at runtime, but the old Application-Based artifacts (Translation Repository rows and the shadow "Translated As" applications) simply stay behind.
  • As long as anything remains in the Translation Repository, the APEXlang export stays blocked — so in practice an application that ever used Application-Based translation can never be exported as APEXlang until that data is cleaned up somehow.

The blog post describes converting text into Text Messages, but it does not cover the migration scenario for an app that already has translations in the Translation Repository. That leaves the workflow here genuinely unclear.
For our way of working I still want to keep the original translation repository in my dev environment to migrate my translations to text messages. Currently there is no migration step of the translations you made in translation repository to the new messages. So we will also need to figure out some scripting to make this work (update messages base on trans repo).

Questions

  1. After migrating an existing app from Application-Based (Translation Repository) to Text Message-Based translation, is there a supported way so that the APEXlang export is unblocked?
  2. Is the APEXlang export supposed to ignore repository data once the Translation Method is Text Message-Based, i.e. is this behaviour a bug, or an expected limitation that requires a manual cleanup?
  3. Is there a supported way of migrating the translated messages in translation repository to the new messages?

Any guidance on the correct migration path would be much appreciated — right now the transition from repository-based to message-based translation feels incomplete/undocumented?

Comments
Post Details
Added on Jul 16 2026
4 comments
225 views