Hello World

Native apps

All chapters

Part 5 · Beyond the web page

Native apps

Chapter 20 17 min read 12 sections

Picture someone in Berlin who reads English better than German. Their iPhone's language is English (US), and its region is Germany. Every app on the phone shows dates as "6 Jul 2026" and times as "14:00", with a comma for the decimal point, because that's what they asked for.

Then they open your app. It reads the language, sees en-US, and builds an American locale from it. Now their bookings say "7/6/26, 2:00 PM" and their balance says "1,234.50". Every other app on the phone looks right, and yours looks broken.

A browser gives you a language list in Accept-Language and not much else. A phone, tablet or desktop computer knows far more about the person using it. This chapter is about using all of that properly, and about the parts of shipping a native app that the web doesn't have: string formats for each platform, app review, app store listings and store prices.

The ideas from the rest of the book still apply. This chapter covers what's different.

Keep reading

The rest of this chapter is for readers of the book

Get the book to read the rest of this chapter and every other one, the field guide and the glossary, and to download the whole book as a PDF.

Still to come in this chapter

  • The operating system knows more than the browser
  • Ask the platform, don't build a locale yourself
  • Letting people choose a language per app
  • Telling your server
  • Where the strings live
  • Right to left, and bigger text
  • You can't hotfix a translation
  • App store listings
  • Prices in the stores
  • Testing on a device
  • Checklist
  • Further reading