How to Localize an iPhone App Into Japanese
To localize an iPhone app into Japanese, put every user facing string in an Xcode String Catalog, add Japanese as a language, translate and review each string, then localize the App Store page separately in App Store Connect: name and subtitle (30 characters each), keywords, description, promotional text and screenshots. Test the build with the app language set to Japanese before you submit, because Japanese text changes layouts that look finished in English.
I ship my own iPhone apps in English, Spanish and Japanese. Japanese is the one that finds the problems. It is also a market where people notice quickly when an app was translated as an afterthought, so the work is worth doing properly once.
Start with a String Catalog
In current versions of Xcode, the default place for app text is a String Catalog, a Localizable.xcstrings file with a visual editor. Apple's guide to localizing text with a string catalog describes the flow: add the catalog, build the app, and Xcode finds the localizable strings and adds them for you. Every later build updates the catalog with the strings you changed.
Most text inside SwiftUI views is localizable by default. Strings built in plain Swift code need a localizable API, such as String(localized:), or they never reach the catalog. A quick way to find them is to switch the app to a fake language and look for anything still in English.
Add Japanese with the plus button in the catalog editor, or under Localizations in the project's Info tab. Each new string shows up with a New state, and the percentage next to the language tells you how far along you are.
Translate, then review with a native speaker
Apple's guide now lists generating translations and comments as tasks Xcode can do for you, and a language model will produce fluent Japanese for most UI strings in seconds. I use that as a first draft and nothing more.
Japanese UI copy has choices an automated pass makes inconsistently. Will the app speak in polite です and ます forms everywhere, or in plain form? Is the button for saving 保存 or 保存する? Katakana loanword or Japanese term? Pick once, write the choices into the comment field of the catalog, and have a native speaker read every screen in context, not as a spreadsheet. A string that is correct on its own can still be wrong next to the screen around it.
Plurals are easier than you might expect. Under the Unicode CLDR plural rules, Japanese has a single form, so when you mark a string Vary by Plural, the Japanese column needs one translation instead of English's two.
The details that are not words
Dates, numbers and money should go through the system formatters, never through string concatenation. A date in Japan reads year, month, day, and yen has no decimal places. If you build a date as month, slash, day in code, no translation will fix it.
Names are the other trap. A sign up form with First name above Last name reads backwards in Japan, where the family name comes first, and many Japanese forms also ask for the reading of the name in kana. If your app stores names, decide that before you translate the labels.
Do not forget the text you did not write in a view: permission prompts from the Info.plist, notification copy sent from your server, error messages from your API, and emails. Users see all of them as part of the app.
Localize the App Store page
The App Store page is a separate job in App Store Connect, and for a lot of people it is the first Japanese they see from you. Apple's reference lists the limits: the name and subtitle can be up to 30 characters each, and in the version information the description takes up to 4,000 characters and promotional text up to 170.
Keywords are the odd one out. Apple gives that field a limit of 100 bytes, not characters, and asks for keywords longer than two characters each. Write the Japanese keywords directly in App Store Connect and watch its counter, rather than drafting them somewhere that counts characters.
Promotional text can be changed without submitting a new version, which makes it the easiest place to test Japanese wording. Screenshots matter more than the description for most visitors, so redo them with the app actually running in Japanese. An English screenshot under a Japanese title tells people what to expect inside.
Test it in Japanese before review
In Xcode, edit the scheme and set App Language to Japanese, or launch the app in the Simulator with Japanese arguments. I described the command line version in how I let Claude Code test my iPhone app in the Simulator. Check every screen at the largest text size too, because Japanese labels wrap differently and truncate earlier than you expect.
Look for three things: English left over, text cut off with an ellipsis, and buttons that grew to two lines. Then put the build on a real phone and use it for a day in Japanese. Most of what I fix shows up on that day.
If you are building alone, this is one of the places where AI help changes the math. A few years ago a Japanese version meant a translation budget. Now the expensive part is review and testing, which is a better place for the cost to be. For the rest of that workflow, see how to ship an iOS app solo with AI, and for why an English fallback does not carry you far here, the piece on Japan's English scores.