---
schema_version: "1"
id: 5311a04956f2b842fd6a319ec354da26f2d1158e3a25f3af7252abf4f67c8117
title: Adopt the ICU Locale Formats
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/icu_migration_how.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.icu_migration_how.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: e885a3479a4d248e1de97cad277eb1656a98d4e8d55e209e44e16e3895961bde
description: The ICU locale format release update is available for all orgs. Review the high-level process to successfully migrate to the new International Components for Unicode (ICU) locale formats. Some of the formats differ from the ones provided by Oracle’s Java Development Kit (JDK). Understand how to determine the impact of changes on your org, and learn about the updates required to support the new formats.
products:
  - Salesforce Platform
  - Cross Cloud
release: "264"
---
# Adopt the ICU Locale Formats

The ICU locale format release update is available for all orgs. Review the high-level process to successfully migrate to the new International Components for Unicode (ICU) locale formats. Some of the formats differ from the ones provided by Oracle’s Java Development Kit (JDK). Understand how to determine the impact of changes on your org, and learn about the updates required to support the new formats.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: both Salesforce Classic and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: all editions</td></tr></tbody></table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-setup-264-0-0-production-enus/6f21df35-9ea0-4f53-ac94-45c3b5dfd5bc/images/icon_note.png)

Note

This update was first made available in Winter ’20. Orgs created in Winter ’20 or later have ICU locale formats enabled by default.

Orgs that haven’t already switched to ICU locale formats are encouraged to manually update.

Here’s the step-by-step process to migration from JDK to ICU locale formats.

1. [Determine whether your org is using ICU or JDK locale formats](https://help.salesforce.com/s/articleView?id=xcloud.icu_migration_which_format.htm&release=264.0.0&type=5 "To prepare for the move to the International Components for Unicode (ICU) library from Oracle’s Java Development Kit (JDK) library, determine whether ICU is enabled in your org, or whether you’re using the JDK locale format. ICU is the new standard and enabled through a release update.").
    
    Before you start, determine which formats you’re using and whether these instructions apply to you.
2. Review the [considerations for adopting ICU](https://help.salesforce.com/s/articleView?id=xcloud.admin_locales_changes_considerations.htm&release=264.0.0&type=5 "Learn why Salesforce chose to adopt the International Components for Unicode (ICU) locale formats. Understand why we recommend testing the new formats in a sandbox and enabling them in production before they’re enforced. Then review recommendations on handling installed packages, custom code, and notifying your users.").
    
    Learn why Salesforce chose to adopt the ICU locale formats. Then review recommendations, including where to test and how to handle installed packages and custom code.
3. [Determine how the ICU locale formats affect your org](https://help.salesforce.com/s/articleView?id=xcloud.admin_locales_determine_use.htm&release=264.0.0&type=5 "To identify the locales used in your org, you can use an SQQL query, a report, or both. When locale formats change, your adoption effort depends on the locales used in your org. For example, when you migrate from Oracle’s Java Development Kit (JDK) locale formats to International Components for Unicode (ICU) locale formats, or when existing locale formats change.").
    
    Your migration effort depends on the locales used in your org. Use an SOQL query and report to identify the locales in use, then identify the specific changes for those locales to be included in testing.
4. [Enable the ICU locale formats](https://help.salesforce.com/s/articleView?id=xcloud.icu_migration_enable.htm&release=264.0.0&type=5 "International Components for Unicode (ICU) locale formats are available as a release update. To test the International Components for Unicode (ICU) locale formats before they’re enforced for your organization, enable a test run in the Enable ICU Locale Formats release update. Then enable the formats for the English (Canada) locale.") in a sandbox.
    
    Before enabling the new formats in production, we highly recommend that you test the ICU locale formats in a sandbox.
5. [Update your Apex Classes, Apex Triggers, and Visualforce Pages to API version 45.0 or later](https://help.salesforce.com/s/articleView?id=xcloud.admin_locales_update_api.htm&release=264.0.0&type=5 "The International Components for Unicode (ICU) locale formats are available with API version 45.0 and later. To use the ICU locale formats in your customizations, all Apex classes, Apex triggers, and Visualforce pages must use API version 45.0 or higher..")
    
    To avoid data integrity issues and end-user confusion, update your Apex classes, Apex triggers, and Visualforce pages to API version 45.0 or later. If these components use API version 44.0 or earlier, they return Oracle’s Java Development Kit (JDK) locale formats.
6. [Update custom code for the ICU locale formats](https://help.salesforce.com/s/articleView?id=xcloud.admin_locales_code.htm&release=264.0.0&type=5 "Address, currency, date, datetime, integer, name, and time formats can change when a user changes locales. These formats can also change when the locale format standard changes or formats are updated. Learn how to avoid errors by using locale-neutral methods in your code and review examples. Then understand how to verify that your integrations work with new or changed formats.").
    
    When an org migrates from JDK locale formats to ICU locale formats, users see the new formats automatically in standard Salesforce fields and functionality. However, custom code can require adjustments. Learn how to use locale-neutral formats to prevent issues when locale formats change and see examples of common issues.
7. [Test the ICU locale formats](https://help.salesforce.com/s/articleView?id=xcloud.admin_locales_test_changes.htm&release=264.0.0&type=5 "To avoid unexpected behavior after you migrate from Oracle’s Java Development Kit (JDK) locale formats to International Components for Unicode (ICU) locale formats, test the ICU locales. When you migrate from JDK to ICU, the formats for some locales change. Use functional tests to verify existing functionality, and confirm that these formats appear correctly for each affected locale used in your org. Also, verify that integration with third parties works as expected, and test your installed packages with the new formats.") in a sandbox.
    
    Run your standard functional tests and targeted tests of functionality that processes or produces locale formats. Test your results in each of the affected locales that is used in your org. If you find any issues, update your org and test again.
8. Notify your users and partners.
    
    Let your users know when you plan to enable ICU in production and how the new locales can affect them. Otherwise, the differences between JDK and ICU locale formats can cause confusion. Reaching everyone can require multiple reminders before and after you enable ICU in production.
    
    Also consider notifying your partners, especially if those partners send information to or extract information from Salesforce. Resolving issues related to integrations can require their assistance.
9. [Enable the ICU locale formats](https://help.salesforce.com/s/articleView?id=xcloud.icu_migration_enable.htm&release=264.0.0&type=5 "International Components for Unicode (ICU) locale formats are available as a release update. To test the International Components for Unicode (ICU) locale formats before they’re enforced for your organization, enable a test run in the Enable ICU Locale Formats release update. Then enable the formats for the English (Canada) locale.") in production.
    
    After you test the ICU locale formats in a sandbox and identify the required adjustments, enable the ICU locale formats in production. Then make those same adjustments.
10. [Test the ICU locale formats](https://help.salesforce.com/s/articleView?id=xcloud.admin_locales_test_changes.htm&release=264.0.0&type=5 "To avoid unexpected behavior after you migrate from Oracle’s Java Development Kit (JDK) locale formats to International Components for Unicode (ICU) locale formats, test the ICU locales. When you migrate from JDK to ICU, the formats for some locales change. Use functional tests to verify existing functionality, and confirm that these formats appear correctly for each affected locale used in your org. Also, verify that integration with third parties works as expected, and test your installed packages with the new formats.") again in production.
    
    To account for any variation between your sandbox and production orgs, run your standard functional tests. Also, test functionality that processes locale formats. If you find any issues, update your org, then test again. After you successfully validate the functionality in production, mark the release update as complete.

#### See Also

- [Locales Overview](https://help.salesforce.com/s/articleView?id=xcloud.admin_locales_overview.htm&release=264.0.0&type=5 "Locales determine the display formats for date and time, users’ names, addresses, and commas and periods in numbers. The start day of the week for calendars varies per locale. For single-currency organizations, locales also set the default currency for the organization when you select them in the Currency Locale picklist on the Company Information page.")
- [_Salesforce Knowledge Article_: JDK Locale Format Retirement and the Enable ICU Locale Formats Release Update](https://help.salesforce.com/s/articleView?id=000380618&type=1&language=en_US)