CINXE.COM
Localization - Apple Developer
<!DOCTYPE html> <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="utf-8" /> <meta name="Author" content="Apple Inc." /> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" /> <link rel="shortcut icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" /> <link rel="mask-icon" href="/apple-logo.svg" color="#333333"> <link rel="stylesheet" href="/assets/styles/global.dist.css?01172423298" type="text/css" /> <link rel="stylesheet" href="/assets/styles/dark-mode.css?17182448067" type="text/css" media="(prefers-color-scheme: dark)" data-color-scheme="dark" /> <link rel="stylesheet" href="/assets/styles/localization.css?39172414191" type="text/css" /> <script src="/assets/scripts/lib/jquery/jquery-3.6.0.min.js?17182448067"></script> <script src="/assets/scripts/settings.js?17182448067"></script> <script src="/assets/scripts/language-locales.js?17182448067"></script> <script src="/assets/scripts/DeveloperBreadcrumbs.js?05182434080"></script> <script async src="/assets/scripts/lib/jquery/jquery.retinate.js?17182448067"></script> <script async src="/assets/scripts/global.js?17182448067"></script> <script async src="/assets/scripts/global-logout.js?17182448067"></script> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro&v=2" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro+Icons&v=1" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Mono&v=2" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=Apple+Icons&v=1" type="text/css" /> <title>Localization - Apple Developer</title> <meta name="omni_page" content="Localization - (English)"> <meta name="Description" content="Learn how you can localize your apps, product pages, and marketing materials to better connect with customers in different locations."> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Apple Developer" /> <meta property="og:type" content="website" /> <meta property="og:image" content="https://developer.apple.com/news/images/og/localization-og.jpg" /> <meta property="og:title" content="Localization - Apple Developer" /> <meta property="og:description" content="Learn how you can localize your apps, product pages, and marketing materials to better connect with customers in different locations." /> <meta property="og:url" content="https://developer.apple.com/localization/" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://developer.apple.com/news/images/og/localization-og-twitter.jpg" /> <meta name="twitter:title" content="Localization - Apple Developer" /> <meta name="twitter:description" content="Learn how you can localize your apps, product pages, and marketing materials to better connect with customers in different locations." /> <meta name="twitter:url" content="https://developer.apple.com/localization/" /> <link rel="alternate" href="https://developer.apple.com/localization/" hreflang="en"> <link rel="alternate" href="https://developer.apple.com/cn/localization/" hreflang="zh-CN"> <link rel="alternate" href="https://developer.apple.com/jp/localization/" hreflang="ja-JP"> <link rel="alternate" href="https://developer.apple.com/kr/localization/" hreflang="ko-KR"> <link rel="canonical" href="https://developer.apple.com/localization/" /> <link rel="stylesheet" href="/localization/styles/localization.css" type="text/css"> <link rel="stylesheet" href="/localization/styles/overview.css" type="text/css"> </head> <body id="localization" class="dmf"> <script> const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; if (window.Settings.preferredColorScheme) { const colorTheme = (window.Settings.preferredColorScheme === 'auto') && !prefersDark ? 'light' : (window.Settings.preferredColorScheme === 'light') ? 'light' : 'dark' document.body.setAttribute('data-color-scheme', colorTheme); } else { document.body.setAttribute('data-color-scheme', prefersDark ? 'dark' : 'light'); } </script> <style> /* footer */ html body[data-color-scheme='dark'] #main section.section.section-resources.bg-alt {background-color:var(--fill-tertiary);color:var(--glyph-gray);} html body[data-color-scheme='dark'] .developer-router-links {background-color:var(--fill-tertiary);color:var(--glyph-gray);} html body[data-color-scheme='dark'] .footer {background-color:var(--fill-tertiary);color:var(--glyph-gray-tertiary);} /* body backgrounds */ body[data-color-scheme='dark'].dmf {background-color: #000;} html body[data-color-scheme='dark'].dmf .bg-alt {background-color:var(--fill-tertiary);} html body[data-color-scheme='dark'].dmf .bg-blue {background-color:var(--fill-blue-secondary);} html body[data-color-scheme='dark'].dmf .bg-green-blue {background:linear-gradient(135deg, #65976d 0%, #588ea4 100%)} html body[data-color-scheme='dark'].dmf .bg-yellow {background: linear-gradient(to bottom, var(--fill-tertiary) 0%, var(--fill-tertiary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-light {background-color:var(--fill-secondary-alt);} html body[data-color-scheme='dark'].dmf .bg-gradient, html body[data-color-scheme='dark'].dmf .bg-grad {background:linear-gradient(to bottom, var(--dark) 0%, var(--fill-gray-secondary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-grad-down {background:linear-gradient(to bottom, var(--dark) 0%, var(--fill-gray-secondary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-grad-up {background:linear-gradient(to bottom, var(--fill-gray-secondary-alt) 0%, var(--dark) 100%);} html body[data-color-scheme='dark'].dmf .bg-blue-gradient, html body[data-color-scheme='dark'].dmf .bg-gradient-blue {background:linear-gradient(to bottom, var(--fill-blue-gradient-light) 0%, var(--fill-blue-gradient-dark) 100%);} html body[data-color-scheme='dark'].dmf .bg-blue-gradient-alt {background: linear-gradient(90deg, #061830 0%, #102d48 100%);} /* globalNav */ html body[data-color-scheme='dark'] #ac-globalnav {background: var(--fill-tertiary);} /* localNav */ html body[data-color-scheme='dark'] .localnav.localnav-scrim .localnav-background, html body[data-color-scheme='dark'] .localnav-scrim.localnav.localnav-background { background-color: rgba(29, 29, 31, 0.9); } @supports ((-webkit-backdrop-filter: initial) or (backdrop-filter: initial)) { html body[data-color-scheme='dark'] .localnav.localnav-scrim .localnav-background, html body[data-color-scheme='dark'] .localnav-scrim.localnav.localnav-background { background-color: rgba(29, 29, 31, 0.72); } } </style> <link rel="stylesheet" href="/assets/styles/globalnav.css?55202406207" type="text/css" /> <link rel="stylesheet" href="/assets/styles/suggest-lang.css?17182448067" type="text/css" /> <div id="suggest-lang" class="ribbon hide" lang="en"> <div class="ribbon-content-wrapper"> <div class="ribbon-content row"> <div class="column large-12 large-centered"> <p><a href="#" id="suggest-link" class="ribbon-link more">View in English</a></p> <button id="suggest-closer" class="icon icon-after icon-reset" aria-label="Dismiss language suggestion" tabindex="0"></button> </div> </div> </div> </div> <script src="/assets/scripts/suggest-lang.js?17182448067"></script> <aside id="ac-gn-segmentbar" class="ac-gn-segmentbar" lang="en-US" dir="ltr"> </aside> <input type="checkbox" id="ac-gn-menustate" class="ac-gn-menustate" /> <nav id="ac-globalnav" class="no-js" role="navigation" aria-label="Global" data-hires="false" data-analytics-region="global nav" lang="en-US" dir="ltr" data-www-domain="www.apple.com" data-store-locale="us" data-store-root-path="/us" data-store-api="/[storefront]/shop/bag/status" data-search-locale="en_US" data-search-suggestions-api="/search-services/suggestions/" data-search-defaultlinks-api="/search-services/suggestions/defaultlinks/" data-search-suggestions-enabled="false"> <div class="ac-gn-content"> <ul class="ac-gn-header"> <li class="ac-gn-item ac-gn-menuicon"> <label class="ac-gn-menuicon-label" for="ac-gn-menustate" aria-hidden="true"> <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-top"> <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-top"></span> </span> <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-bottom"> <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-bottom"></span> </span> </label> <a href="#ac-gn-menustate" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-open" id="ac-gn-menuanchor-open"> <span class="ac-gn-menuanchor-label">Global Nav Open Menu</span> </a> <a href="#" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-close" id="ac-gn-menuanchor-close"> <span class="ac-gn-menuanchor-label">Global Nav Close Menu</span> </a> </li> <li class="ac-gn-item ac-gn-apple"> <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus-small"> <span class="ac-gn-link-text">Apple Developer</span> </a> </li> </ul> <div class="ac-gn-search-placeholder-container" role="search"> <div class="ac-gn-search ac-gn-search-small"> <a id="ac-gn-link-search-small" class="ac-gn-link" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search"> <div class="ac-gn-search-placeholder-bar"> <div class="ac-gn-search-placeholder-input"> <div class="ac-gn-search-placeholder-input-text" aria-hidden="true"> <div class="ac-gn-link-search ac-gn-search-placeholder-input-icon"></div> <span class="ac-gn-search-placeholder">Search</span> </div> </div> <div class="ac-gn-searchview-close ac-gn-searchview-close-small ac-gn-search-placeholder-searchview-close"> <span class="ac-gn-searchview-close-cancel" aria-hidden="true">Cancel</span> </div> </div> </a> </div> </div> <ul class="ac-gn-list"> <li class="ac-gn-item ac-gn-apple"> <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus"> <span class="ac-gn-link-text">Apple Developer</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-news"> <a class="ac-gn-link ac-gn-link-news" href="/news/" data-analytics-title="news"> <span class="ac-gn-link-text">News</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-discover"> <a class="ac-gn-link ac-gn-link-discover" href="/discover/" data-analytics-title="discover"> <span class="ac-gn-link-text">Discover</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-design"> <a class="ac-gn-link ac-gn-link-design" href="/design/" data-analytics-title="design"> <span class="ac-gn-link-text">Design</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-develop"> <a class="ac-gn-link ac-gn-link-develop" href="/develop/" data-analytics-title="develop"> <span class="ac-gn-link-text">Develop</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-distribute"> <a class="ac-gn-link ac-gn-link-distribute" href="/distribute/" data-analytics-title="distribute"> <span class="ac-gn-link-text">Distribute</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-dsupport"> <a class="ac-gn-link ac-gn-link-dsupport" href="/support/" data-analytics-title="dsupport"> <span class="ac-gn-link-text">Support</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-account"> <a class="ac-gn-link ac-gn-link-account" href="/account/" data-analytics-title="account"> <span class="ac-gn-link-text">Account</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-search" role="search"> <a id="ac-gn-link-search" class="ac-gn-link ac-gn-link-search" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search"></a> </li> </ul> <aside id="ac-gn-searchview" class="ac-gn-searchview" role="search" data-analytics-region="search"> <div class="ac-gn-searchview-content"> <div class="ac-gn-searchview-bar"> <div class="ac-gn-searchview-bar-wrapper"> <form id="ac-gn-searchform" class="ac-gn-searchform" action="/search/" method="get"> <div class="ac-gn-searchform-wrapper"> <input id="ac-gn-searchform-input" class="ac-gn-searchform-input" type="text" name="q" aria-label="Search" placeholder="Search" autocorrect="off" autocapitalize="off" autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" aria-owns="quicklinks suggestions" /> <button id="ac-gn-searchform-submit" class="ac-gn-searchform-submit" type="submit" disabled aria-label="Submit Search"></button> <button id="ac-gn-searchform-reset" class="ac-gn-searchform-reset" type="reset" disabled aria-label="Clear Search"> <span class="ac-gn-searchform-reset-background"></span> </button> </div> </form> <button id="ac-gn-searchview-close-small" class="ac-gn-searchview-close ac-gn-searchview-close-small" aria-label="Cancel Search"> <span class="ac-gn-searchview-close-cancel" aria-hidden="true"> Cancel </span> </button> </div> </div> <aside id="ac-gn-searchresults" class="ac-gn-searchresults hidden" data-string-quicklinks="Quick Links" data-string-suggestions="Suggested Searches" data-string-noresults=""> <section class="ac-gn-searchresults-section ac-gn-searchresults-section-defaultlinks"> <div class="ac-gn-searchresults-section-wrapper"> <div class="search-group-checkbox hidden"><input id="group-input" type="checkbox" name="group-filter" checked>Only search within “<span id="group-search-label"></span>”</div> <h3 class="ac-gn-searchresults-header ac-gn-searchresults-animated">Quick Links</h3> <ul class="ac-gn-searchresults-list" id="defaultlinks" role="listbox"> </ul> <span role="status" class="ac-gn-searchresults-count" aria-live="polite">5 Quick Links</span> </div> </section> </aside> </div> <button id="ac-gn-searchview-close" class="ac-gn-searchview-close" aria-label="Cancel Search"> <span class="ac-gn-searchview-close-wrapper"> <span class="ac-gn-searchview-close-left"></span> <span class="ac-gn-searchview-close-right"></span> </span> </button> </aside> </div> </nav> <div class="ac-gn-blur"></div> <div id="ac-gn-curtain" class="ac-gn-curtain"></div> <div id="ac-gn-placeholder" class="ac-nav-placeholder"></div> <script src="/assets/scripts/ac-globalnav.built.js?17182448067"></script> <link rel="stylesheet" href="/assets/styles/search.css?17182448067"> <script src="/assets/scripts/search.js?17182448067"></script> <!-- metrics --> <script> /* RSID: */ var s_account="awdappledeveloper" </script> <script src="/assets/metrics/scripts/analytics.js?072620243"></script> <script> s.pageName= AC && AC.Tracking && AC.Tracking.pageName(); s.channel="www.en.developer" s.channel="www.appstore.developer"; /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ var s_code=s.t();if(s_code)document.write(s_code) </script> <!-- /metrics --> <link rel="stylesheet" property="stylesheet" href="/assets/styles/localnav.css" type="text/css" /> <input type="checkbox" id="localnav-menustate" class="localnav-menustate"/> <nav id="localnav" class="localnav localnav-scrim" data-sticky role="navigation"> <div class="localnav-wrapper"> <div class="localnav-background"></div> <div class="localnav-content"> <h2 class="localnav-title"> <a href="/localization/">Localization</a> </h2> <div class="localnav-menu"> <a href="#localnav-menustate" class="localnav-menucta-anchor localnav-menucta-anchor-open" id="localnav-menustate-open"> <span class="localnav-menucta-anchor-label">Open Menu</span> </a> <a href="#" class="localnav-menucta-anchor localnav-menucta-anchor-close" id="localnav-menustate-close"> <span class="localnav-menucta-anchor-label">Close Menu</span> </a> <div class="localnav-menu-tray"> <ul class="localnav-menu-items"> <li class="localnav-menu-item"> <a href="/localization/" class="localnav-menu-link">Overview</a> </li> <li class="localnav-menu-item"> <a href="/localization/resources/" class="localnav-menu-link">Resources</a> </li> </ul> </div> <div class="localnav-actions"> <div class="localnav-action localnav-action-menucta" aria-hidden="true"> <label for="localnav-menustate" class="localnav-menucta"> <span class="localnav-menucta-chevron"></span> </label> </div> </div> </div> </div> </div> </nav> <label id="localnav-curtain" for="localnav-menustate"></label> <script src="/assets/scripts/ac-localnav.built.js"></script> <script type="text/javascript" src="/assets/scripts/localnav.js"></script> <main id="main" class="main" role="main"> <div class="ribbon ribbon-blue"> <div class="ribbon-drop-wrapper"> <div class="ribbon-content-wrapper"> <div class="ribbon-content row"> <div class="column large-centered large-12"> <p> <a href="/news/?id=dbrszv62" class="ribbon-link">Learn about new App Store <span class="nowrap more">pricing upgrades</span></a> </p> </div> </div> </div> </div> </div> <section class="section section-hero overflow bg-green-blue"> <div class="section-content"> <header> <div class="row"> <div class="column large-centered large-8 medium-10 small-12 gutter text-center"> <h1 class="typography-headline">Expanding your app to new markets</h1> <p class="typography-intro">The <span class="nowrap">App Store</span> is available in 175 regions and 40 languages to make it easy for users around the world to discover and download your app. Localizing your app helps make it relevant to a variety of cultures and languages, and provides an opportunity to grow your business. Learn how to prepare your app for a global audience and understand considerations for expanding into new markets.</p> </div> </div> </header> </div> <div class="hero-wrap"> <figure class="lockup-hero center"></figure> </div> </section> <section class="section section-subscriptions-content"> <div class="section-content"> <div class="row-flex"> <div class="column-flex large-3 small-12"> <ul class="sidenav-container"></ul> <script src="/assets/scripts/sidenav.built.js?17182448067"></script> </div> <div class="column-flex large-9 small-12 overflow"> <h2 id="structure" data-sidenav="Structure for Localization">Structure your app for localization</h2> <p>Internationalization, the process of structuring your app’s code and UI for localization, is a fundamental first step in building apps for a global audience. With Apple’s powerful tools and technologies, including Xcode, Foundation APIs, <span class="nowrap">Auto Layout,</span> and Unicode support, it’s easy to prepare your apps to support multiple languages and regions, even before you know which languages you’d like to add.</p> <p class="margin-bottom-small">Xcode automatically separates user-visible text and images are separate from executable code. When you translate these elements into other languages, you can integrate the content back into your app as separate localized resource files stored within the app bundle. Images — including image sets, <span class="nowrap">Apple Watch</span> complications, <span class="nowrap">Apple TV</span> image stacks, Sprite Atlases, and symbol sets — can be localized directly in your Asset Catalog. You can also use localized <span class="nowrap"><a href="/design/human-interface-guidelines/sf-symbols/overview/">SF system symbols<span class="loc-en-only"></span></a></span> and set the directionality for custom symbols — for example, for right-to-left languages like Arabic and Hebrew.</p> <figure class="device-mac device-macbook-pro-space-grey device-medium-for-large device-small-for-medium devide-small-for-small"> <figure class="device-screen screen-structure"></figure> </figure> <p class="margin-top">Use Foundation APIs to correctly express user-visible or dynamically-generated values, such as dates, lengths, weights, prices, and currency symbols, across different locales. Ensure your app accepts user-generated text in any language and in multiple languages at once, independent of the user interface language. This allows app content to appear in the user’s preferred language and format. SwiftUI makes it easy to create localized apps. User-visible text is automatically extracted by Xcode and default layout behaviors are localization-ready. You can also take advantage of <a href="/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.html" class="nowrap">Auto Layout<span class="loc-en-only"></span></a> to automatically adjust the dimensions and layouts of views, extensive Unicode support to work with text from any language, the powerful text handling technologies of Cocoa and Cocoa Touch to display, lay out, and edit text in many languages, and much more.</p> <p>With iOS and iPadOS, users can select their preferred language for your app independent of their device language, making it easy for multilingual users to switch between languages in your app. On macOS, users can set the language of an app in the Language & Region section of System Preferences.</p> <ul class="links small margin-bottom"> <li class="video"><a href="/videos/play/wwdc2021/10220/">Localize your <span class="nowrap">SwiftUI</span> app<span class="loc-cj-sub"></span></a></li> <li class="document"><a href="/documentation/xcode/localizing_your_app/">Localizing your app<span class="loc-en-only"></span></a></li> </ul> <h2 id="global-audience" data-sidenav class="divider-top">Prepare for a global audience</h2> <h4 id="market-factors" data-sidenav="Investigate Market Factors">Investigate market factors</h4> <p>Market-specific demographics, such as population, language, and purchasing power, can help you better understand areas that might have an affinity or need for your app. Every market has its own preferences for the types of apps or categories customers most enjoy. For example, games are popular worldwide, however strategy games may be more popular in a particular region. Consider selecting markets with similar attributes to those in which you have already established success, such as strong app downloads, sales, usage, or retention metrics, as this may make for easier growth. When selecting a market, assess how your app might fit in and how its value and functionality aligns with that market’s needs. You may even identify a need in the market that is not yet filled, allowing you to bring unique value to users with your app.</p> <h4 id="app-analytics" data-sidenav="Determine Potential Markets">Use App Analytics to determine potential markets</h4> <p>If you offer your app worldwide but haven’t localized for particular regions, you can look at key performance metrics, such as Product Page Views, App Units, Sales, and Active Devices, filtered by territory. This can help you determine if your app is attracting users in a particular territory that might benefit from localization. For example, if your app is primarily in English and you see lower than average retention or Sessions per Active Device in Germany, you might consider adding German language support. Keep in mind that some markets may have greater proficiency with your app’s primary language, while others may require more significant localization work. Usage data such as active devices, sessions, and retention include only users who have agreed to share their diagnostics and usage information with you.</p> <p class="margin-bottom-small">For more information on using App Analytics, view <a href="/app-store-connect/analytics/">Gain insights with analytics</a>.</p> <figure class="device-mac device-macbook-pro-space-grey device-medium-for-large device-small-for-medium devide-small-for-small"> <figure class="device-screen screen-app-store-connect"></figure> </figure> <h4 id="culture" data-sidenav="Local Culture and Customs" class="margin-top">Consider local culture and customs</h4> <p>While your app and product page should each provide a consistent experience across all markets, it’s sometimes valuable to refine certain elements for cultural relevance. For example, you might try incorporating market-specific content or cultural moments, such as special holiday content or regional art styles. You may want to consider any local policies and market regulations, as well as any political or religious sensitivities, to increase the likelihood that your app is well received.</p> <figure class="lockup-culture margin-top"></figure> <h2 id="localize" data-sidenav class="divider-top no-margin-top">Localize your app</h2> <h4 id="translate" data-sidenav>Translate user-visible content</h4> <p>Use the <a href="/documentation/xcode/exporting-localizations/">Xcode Export For Localization<span class="loc-en-only"></span></a> feature to automatically extract all localizable content, including localized strings referenced from code, stringsdict files, and Interface Builder files, as well as any localized assets. This process shouldn’t require modifications to your source code, making it easy to work on translations in-house or with an external localization service. Be sure to also localize <a href="/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources/">purpose strings<span class="loc-en-only"></span></a> for a consistent app experience, and consider localizing your privacy policy so that all users have a clear understanding of how their data may be handled.</p> <p><strong>Apple services.</strong> Use Apple APIs to automatically present localized buttons, payment sheets, errors, and more for <a href="/apple-pay/implementation/" class="nowrap">Apple Pay<span class="loc-cj"></span></a>, <a href="/documentation/passkit/wallet/" class="nowrap">Apple Wallet<span class="loc-en-only"></span></a>, and <span class="nowrap"><a href="/documentation/sign_in_with_apple/">Sign in with Apple<span class="loc-en-only"></span></a>.</span></p> <p><strong>Audiovisual media.</strong> You can also provide localized support for audiovisual media in your app using AVKit and AVFoundation. These <a href="/documentation/avfoundation/media_assets_playback_and_editing/adding_subtitles_and_alternative_audio_tracks/">frameworks<span class="loc-en-only"></span></a> provide built-in support for easily presenting subtitles and closed captions, and for selecting alternative audio and video tracks.</p> <p><strong>Localization services.</strong> If choosing an external localization service to help translate content, find out if they specialize in localizing for particular languages, cultures, or categories, and confirm the levels of quality assurance they provide. Providing the service with context about your app and content can help increase efficiency and minimize translation errors. Consider creating a guide with important details — for example, a playbook with character names and personalities, explanations of jokes or humor, a glossary of frequently used terms, and screenshots that show where the translations will be used. Avoid machine translation as your only translation method, since this can lead to inaccurate and low-quality translation because it does not account for context, cultural sensitivities or language nuances. For example, the “book” button in a hotel app might be incorrectly translated to be “novel” rather than “reserve”.</p> <ul class="links small margin-bottom"> <li class="document"><a href="/documentation/Xcode/localization/">Xcode documentation: Localization<span class="loc-en-only"></span></a></li> </ul> <h4 id="test" data-sidenav>Test your localization</h4> <p>Configure test plans in Xcode to easily run tests with different settings and define your testing variants in one place. This helps flag any instances of clipping, truncation, layout overlapping, or issues with right-to-left formatting for the devices and languages you support. You can use the Localization Screenshots feature to generate localized screenshots from successful tests and export these screenshots for use in tutorials, marketing materials, or your <span class="nowrap">App Store</span> product page. Once your app is localized, use <a href="/testflight/">TestFlight</a> to share your app with a group of users in the market to get feedback and gather opportunities for improvement.</p> <ul class="links small margin-bottom"> <li class="document"><a href="/documentation/xcode/previewing-localizations/">Previewing localizations<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/xcode/testing-localizations-when-running-your-app/">Testing localizations when running your app<span class="loc-en-only"></span></a></li> </ul> <figure class="device-mac device-macbook-pro-space-grey device-medium-for-large device-small-for-medium devide-small-for-small"> <figure class="device-screen screen-xcode-translate"></figure> </figure> <h2 id="prepare" data-sidenav class="divider-top">Prepare for launch</h2> <div class="row margin-bottom"> <div class="column large-6 small-12"> <h4 id="product-page" data-sidenav="Localize Your Product Page">Localize your product page</h4> <p>Localize your <span class="nowrap">App Store</span> metadata in <span class="nowrap">App Store Connect —</span> such as your app description, keywords, app previews, and screenshots — for each of the regions in which you offer your app. You can also translate your app’s name and tailor your keywords to reflect the values of each market so your app might better resonate with the local audience. You can use the <span class="nowrap">App Store Connect API</span> to automate your metadata upload and management for multiple localizations.</p> <ul class="links small margin-bottom"> <li class="document"><a href="/help/app-store-connect/manage-app-information/localize-app-store-information/">Localize <span class="nowrap">App Store</span> information</a></li> <li class="document"><a href="/app-store/product-page/">Creating your product page</a></li> <li class="document"><a href="/app-store-connect/api/">Automate your workflow with the <span class="nowrap">App Store Connect API</span></a></li> </ul> <h4 id="payment" data-sidenav="Payment Methods and Pricing">International payment methods and pricing</h4> <p>The <span class="nowrap">App Store</span> handles payment processing, so it’s easy to offer your content to users around the world. Users pay for your apps and in-app purchases with credit or debit cards, carrier billing, digital wallets, or <span class="nowrap">App Store</span> and iTunes gift cards, depending on regional availability.</p> <p>When pricing your apps and in-app purchases, you’ll choose a price tier in <span class="nowrap">App Store Connect</span> that contains prices already adjusted appropriately for the market in each region. For auto-renewable subscriptions, you can choose from 800 price points across all available currencies and price tiers to offer appropriate pricing for each storefront, with an additional 100 higher price points available <a href="/contact/request/app-store-higher-price-points/">upon request</a>.</p> <ul class="links small"> <li class="document"><a href="/help/app-store-connect/manage-consumable-and-non-consumable-in-app-purchases/manage-in-app-purchase-pricing/">Set in-app purchase pricing</a></li> <li class="document"><a href="/app-store/subscriptions/#territory">Pricing subscriptions for each territory</a></li> </ul> </div> <div class="column large-6 small-12"> <div class="device-flex device-iphone-x-silver-container device-medium-for-small"> <figure class="device-screen screen-product-page"></figure> <figure class="device-hardware"></figure> </div> </div> </div> <h4 id="marketing-strategy" data-sidenav>Adapt your marketing strategy</h4> <p>When launching your app in a new market, adapt your marketing strategy to the region to help your audience easily learn about your app and the value it provides. Research which social networks or other channels are most popular with local audiences, as these may vary significantly across markets, and use them to spread the word about your app. Localize any materials you use in your marketing and user acquisition efforts, such as screenshots, banners, and advertisements.</p> <div class="row"> <div class="column large-push-9 large-3 medium-push-8 medium-4 small-push-0 small-12"> <figure class="badges-app-store"></figure> </div> <div class="column large-pull-3 large-8 medium-pull-4 medium-7 small-pull-0 small-12 badge-column"> <p><strong><span class="nowrap">App Store</span> badges.</strong> Use the Download on the <span class="nowrap">App Store</span> badge in your communications as a clear call to action to download your app. Localized badges are available to let your international audience know that your app is tailored for them. Download badges from the <a href="/app-store/marketing/guidelines/"><span class="nowrap">App Store</span> Marketing Guidelines</a>.</p> <p><strong><span class="nowrap">App Store</span> marketing tools.</strong> Generate short links or embeddable code that lead to your <span class="nowrap">App Store</span> product page and display your app icon, a QR code, or an <span class="nowrap">App Store</span> badge. You can also create custom marketing assets — such as banners and images — and add preset messages in multiple languages to promote your apps in your regional advertising efforts. View <a href="https://tools.applemediaservices.com/app-store/"><span class="nowrap">App Store</span> marketing tools</a>. <!--[For Simplified Chinese] This tool is currently not supported in China mainland. --></p> <p><strong>Search Ads.</strong> Promote your app across the App Store. Reach people on the Today tab, on the Search tab, at the top of search results, and at the bottom of product pages. Available in 61 regions. Try it for free with a 100 USD credit.* <a href="https://searchads.apple.com/">Learn more and read developer success stories</a>.</p> <p class="smaller lighter">*Eligible developers who sign up for Apple Search Ads will have a 100 credit applied to their new account. <a href="https://searchads.apple.com/promo-terms/">Full terms and conditions apply</a>.</p> </div> </div> <h2 id="success" data-sidenav class="divider-top">Evaluate success</h2> <div class="row"> <div class="column large-push-9 large-3 medium-push-8 medium-4 small-push-0 small-12"> <figure class="icon-analytics"></figure> </div> <div class="column large-pull-3 large-8 medium-pull-4 medium-7 small-pull-0 small-12 badge-column"> <p>Use App Analytics in <span class="nowrap">App Store Connect</span> to find out how customers discover and engage with your app, and filter this data by the territories in which you’ve expanded. See how many users discover your app while searching or browsing on the <span class="nowrap">App Store</span> and measure the percentage of views that result in a first-time download. Find out if users continue to use your app, and see the number of installations, sessions, and active devices. Compare this data to that of other markets where your app has been available longer. You may find you need to adjust your marketing strategy or better localize your app to improve performance. Once you’ve found success in your chosen markets, you can identify new markets and add additional localizations to provide a great user experience for even more customers.</p> <p><a href="/app-store/measuring-app-performance/" class="more">Learn about measuring app performance</a></p> </div> </div> </div> </div> </div> </section> <section class="section section-next bg-light"> <div class="section-content"> <div class="column large-centered large-6 small-12 text-center"> <h2>Resources</h2> <p>Find tools, documentation, and resources you need to localize your app and product page.</p> <p><a href="/localization/resources/" class="more">Learn more</a></p> </div> </div> </section> </main> <link rel="stylesheet" href="/assets/styles/footer.dist.css?17182448067"> <footer id="footer" class="footer" role="contentinfo" aria-labelledby="footer-label"> <div class="footer-content"> <h2 class="footer-label" id="footer-label">Developer Footer</h2> <developer-breadcrumbs> <li>Localization</li> </developer-breadcrumbs> <nav class="footer-directory" aria-label="Apple Developer Directory" role="navigation"> <!--googleoff: all--> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-platform" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-platform"> <h3 class="footer-directory-column-section-title">Platforms</h3> </label> <a href="#footer-directory-column-section-state-platform" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ios/">iOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ipados/">iPadOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/macos/">macOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/tvos/">tvOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/visionos/">visionOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/watchos/">watchOS</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-tools" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-tools"> <h3 class="footer-directory-column-section-title">Tools</h3> </label> <a href="#footer-directory-column-section-state-tools" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift/">Swift</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swiftui/">SwiftUI</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift-playgrounds/">Swift Playgrounds</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/testflight/">TestFlight</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/xcode/">Xcode</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/xcode-cloud/">Xcode Cloud</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/sf-symbols/">SF Symbols</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-topics" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-topics"> <h3 class="footer-directory-column-section-title">Topics & Technologies</h3> </label> <a href="#footer-directory-column-section-state-topics" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessibility/">Accessibility</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessories/">Accessories</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-extensions/">App Extensions</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/">App Store</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/audio/">Audio & Video</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/augmented-reality/">Augmented Reality</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/">Design</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/distribute/">Distribution</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/education/">Education</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/fonts/">Fonts</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/games/">Games</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/health-fitness/">Health & Fitness</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/in-app-purchase/">In-App Purchase</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/localization/">Localization</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/maps/">Maps & Location</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/machine-learning/">Machine Learning</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://opensource.apple.com">Open Source</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/security/">Security</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/safari/">Safari & Web</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-resources" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-resources"> <h3 class="footer-directory-column-section-title">Resources</h3> </label> <a href="#footer-directory-column-section-state-resources" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/documentation/">Documentation</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/learn/">Tutorials</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/download/">Downloads</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/forums/">Forums</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/videos/">Videos</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-support" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-support"> <h3 class="footer-directory-column-section-title">Support</h3> </label> <a href="#footer-directory-column-section-state-support" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/support/articles/">Support Articles</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/contact/">Contact Us</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/bug-reporting/">Bug Reporting</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/system-status/">System Status</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-account" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-account"> <h3 class="footer-directory-column-section-title">Account</h3> </label> <a href="#footer-directory-column-section-state-account" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/account/">Apple Developer</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://appstoreconnect.apple.com/">App Store Connect</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/account/ios/certificate/">Certificates, IDs, & Profiles</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://feedbackassistant.apple.com/">Feedback Assistant</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-programs" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-programs"> <h3 class="footer-directory-column-section-title">Programs</h3> </label> <a href="#footer-directory-column-section-state-programs" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/">Apple Developer Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/enterprise/">Apple Developer Enterprise Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/small-business-program/">App Store Small Business Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://mfi.apple.com/">MFi Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/news-partner/">News Partner Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/video-partner/">Video Partner Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/security-bounty/">Security Bounty Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/security-research-device/">Security Research Device Program</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-events" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-events"> <h3 class="footer-directory-column-section-title">Events</h3> </label> <a href="#footer-directory-column-section-state-events" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/events/">Meet with Apple</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/events/developer-centers/">Apple Developer Centers</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/app-store-awards/">App Store Awards</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/awards/">Apple Design Awards</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/academies/">Apple Developer Academies</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/entrepreneur-camp/">Entrepreneur Camp</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/wwdc/">WWDC</a></li> </ul> </div> </div> <!--googleon: all--> </nav> <section class="footer-mini" vocab="http://schema.org/" typeof="Organization"> <div class="footer-mini-news"> <div class="copy"> Get the <a href="https://apps.apple.com/us/app/apple-developer/id640199958">Apple Developer app</a>. </div> <div class="content"> <div class="color-scheme-toggle" role="radiogroup" tabindex="0" aria-label="Select a color scheme preference"> <label data-color-scheme-option="light"> <input type="radio" value="light" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Light</div> </label> <label data-color-scheme-option="dark"> <input type="radio" value="dark" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Dark</div> </label> <label data-color-scheme-option="auto"> <input type="radio" value="auto" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Auto</div> </label> </div> <script async src="/assets/scripts/color-scheme-toggle.js"></script> </div> </div> <link rel="stylesheet" href="/assets/styles/language-dropdown.css?17182448067"> <div class="language-dropdown dropdown-container legacy-form hidden"> <select class="dropdown" aria-label="Language Dropdown"></select> <span class="dropdown-icon icon icon-chevrondown" aria-hidden="true"></span> </div> <script src="/assets/scripts/language-dropdown.js?17182448067"></script> <div class="footer-mini-legal"> <div class="footer-mini-legal-copyright">Copyright © 2024 <a href="https://www.apple.com">Apple Inc.</a> All rights reserved.</div> <div class="footer-mini-legal-links"> <a class="footer-mini-legal-link" href="https://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a> <a class="footer-mini-legal-link" href="https://www.apple.com/legal/privacy/">Privacy Policy</a> <a class="footer-mini-legal-link" href="/support/terms/">Agreements and Guidelines</a> </div> </div> </section> </div> </footer> </body> </html>