Localizing User Defined ObjectsUDOs are configurable components in JD Edwards such as form extensions, pages, watchlists, and queries that users create without modifying base code. in JD Edwards EnterpriseOne has always been a painful, manual chore: someone with language expertise has to open each UDO, translate its titles and labels string by string, and repeat the process for every target language. With the OCI Language AI service and the JD Edwards OrchestratorA built-in JD Edwards tool that lets you design automated workflows connecting EnterpriseOne to external REST services without writing custom code., you can now automate the entire translation pipeline, turning hours of tedious work into a single orchestration call.
How to Translate JD Edwards UDO Strings Using OCI Language AI
Why is manual UDO translation a problem?
JD Edwards EnterpriseOne supports a rich ecosystem of UDOs — queries, grid formats, form extensions, composed pages, watchlists, and more. Each of these objects carries user-facing strings: titles, descriptions, column headers, and labels. When your organization operates in multiple countries, every one of those strings needs a translated version for each supported language.
Traditionally, this means a human translator (or a bilingual power user) must manually key in each translation through the EnterpriseOne interface. The process is slow, error-prone, and does not scale. Add a new language or create a batch of new UDOs, and the translation backlog grows immediately. Worse, inconsistencies creep in because different people translate the same terms differently across objects.
What is OCI Language AI and what can it do?
The OCI Language ServiceA serverless AI service on Oracle Cloud Infrastructure that provides pre-trained models for text analysis, including translation, sentiment analysis, and entity recognition. is a serverless, pre-trained AI service available on Oracle Cloud Infrastructure. Among its capabilities, the one that matters here is the batch translation API (batchLanguageTranslation). It accepts up to 100 text documents per call, auto-detects the source language, and translates them to your chosen target language. It covers more than 30 languages, and because it uses neural machine translation models, the output quality is significantly better than rule-based systems.
The API is a simple RESTRepresentational State Transfer — a standard web architecture style where clients send HTTP requests (GET, POST, etc.) to server endpoints that return data, typically in JSON format. endpoint. You POST a JSON payload containing your documents and the target language code, and you get back a JSON response with the translated text. There are a few constraints to be aware of: each document must be under 5,000 characters, and the total batch cannot exceed 20,000 characters. For typical UDO strings — short titles and descriptions — you will rarely approach these limits.
How does the integration architecture work?
The integration follows a straightforward pattern that leverages the existing JD Edwards Orchestrator framework. Here is the high-level flow:
- Authentication: The orchestration authenticates to OCI using API key-based signing. JD Edwards already provides learning paths for configuring OCI authentication through a soft coding recordA configuration record in JD Edwards that stores connection details (like URLs, credentials, and headers) for external REST service calls, avoiding hardcoded values. in the Orchestrator connection setup.
- Extract UDO strings: The orchestration reads the UDO metadata from the relevant EnterpriseOne tables (such as
F952400for pages,F952439for form extensions, orF952420for watchlists) and collects the strings that need translation. - Call OCI Language API: The orchestration sends a POST request to the
batchLanguageTranslationendpoint with the collected strings and the desired target language code. - Write translations back: The orchestration parses the API response and writes the translated strings back into the corresponding UDO records in EnterpriseOne.
Because the Orchestrator handles REST calls natively, you do not need any custom code, middleware, or third-party integration tools. The entire workflow is configured through Orchestrator Studio.
How do you set up the OCI connection in Orchestrator?
Before calling the Language API, you need a working connection between JD Edwards and OCI. This involves three steps:
First, create an API key pairA public/private key combination used for signing REST requests to Oracle Cloud Infrastructure. The public key is uploaded to your OCI user profile; the private key stays on your server. in your OCI tenancy and upload the public key to your OCI user profile. Second, configure a soft coding record in the Orchestrator connection setup with the REST endpoint URL for the Language service (e.g., https://language.aiservice.<region>.oci.oraclecloud.com). Third, set up the request signing headers — OCI uses a signature-based authentication scheme where each request must include a signed authorization header. The JD Edwards documentation provides step-by-step instructions for this under the "Authentication for Oracle Cloud Infrastructure Services" learning path.
What does the translation API request look like?
The payload sent to the OCI Language endpoint is a straightforward JSON structure. Here is a simplified example showing how a UDO title might be translated from English to French:
{
"documents": [
{
"key": "udo-title-001",
"text": "Open Purchase Orders by Supplier",
"languageCode": "en"
},
{
"key": "udo-title-002",
"text": "Weekly Sales Summary",
"languageCode": "en"
}
],
"targetLanguageCode": "fr",
"compartmentId": "ocid1.compartment.oc1..example"
}The response returns each document with its translated text, the detected source language, and the target language. Your orchestration then maps each key back to the corresponding UDO record and persists the translation.
You can also set languageCode to "auto" and let the API detect the source language, which is useful when your UDO strings are already in a mix of languages.
What are the practical benefits of this approach?
The most obvious benefit is speed. What previously required hours of manual data entry can now run in seconds. A single orchestration can iterate over all your untranslated UDOs, batch the strings, call the API, and write results — no human in the loop.
Consistency is the second major win. Because the same neural translation model processes every string, your terminology stays uniform across all UDO types. No more "Purchase Order" translated one way in a watchlist and a different way in a composed page title.
There is also a cost advantage. The OCI Language Service is a pay-per-use service with generous free-tier allowances. For the relatively small volume of text involved in UDO strings, the cost is negligible compared to hiring human translators or paying for a separate translation management system.
Finally, this pattern is reusable. Once you have the OCI authentication and orchestration in place, you can extend the same framework to other AI services — document understanding for invoice processing, generative AI for widget insights, or vision services for quality inspection. The orchestration layer is the same; only the API endpoint and payload change.
What should you watch out for?
Machine translation is not perfect, especially for domain-specific ERP terminology. A term like "blanket order" or "lot disposition" might not translate accurately without context. Consider maintaining a glossary exclusion listA list of words or phrases that should not be translated by the API, typically domain-specific terms, product names, or acronyms that must remain in their original language. — the OCI batch translation API supports a list of words that should not be translated, which is ideal for keeping JD Edwards-specific terms intact.
Also, plan for a review step. Even with high-quality neural translation, having a native speaker do a quick review of the output before publishing the UDOs to production is a best practice. You can build this into your UDO lifecycle managementThe process of promoting UDOs through environments (development → test → production) using the Object Management Workbench Web application in JD Edwards. workflow — translate in a development path code, review, then promote using the standard OMW Web process.
With Release 26 of JD Edwards EnterpriseOne, Oracle has officially introduced this capability as part of the new learning paths for OCI AI integration. If your organization runs a multilingual JD Edwards environment, automating UDO translations through OCI Language AI is one of the quickest wins you can deliver — minimal setup, immediate payoff, and a solid foundation for further AI adoption.