> Deprecated: > Product subscription app extensions won't be supported as of December 3, 2025. You should migrate existing product subscription app extensions to [purchase options extensions](/docs/apps/build/purchase-options/purchase-options-extensions). Access the merchant’s current locale (in [IETF format](https://en.wikipedia.org/wiki/IETF_language_tag)) to internationalize your extension content. ```ts?title: "JavaScript" import {extend, Text} from '@shopify/admin-ui-extensions'; extend('Admin::Product::SubscriptionPlan::Add', (root, api) => { const {locale} = api; const text = root.createText(`My current locale is: ${locale.initialValue}`); locale.setOnChange((newLocale) => { text.updateText(`My current locale is: ${newLocale}`); }); root.appendChild(text); root.mount(); }); ``` ```tsx?title: "React" import React from 'react'; import {extend, render, useLocale, Text} from '@shopify/admin-ui-extensions-react'; function App() { const locale = useLocale(); return {`My current locale is: ${locale}`}; } extend( 'Admin::Product::SubscriptionPlan::Add', render(() => ), ); ``` ## Props optional = ? | Name | Type | Description | | --- | --- | --- | | initialValue | string | IETF-formatted locale at time of page load | | setOnChange | (onChange: (locale: string) => void) => void | Callback when user changes locale during runtime |