Introduction to String Catalogs for App Localization in iOS 17

Simon Ng
AppCoda Tutorials
Published in
6 min readNov 27, 2023

--

With the release of Xcode 15, Apple introduced an exciting feature called String Catalogs. This feature aims to streamline the localization process for your app, making it easier to manage all your strings in one central location. By leveraging String Catalogs, you can ensure that your app is fully localized before it reaches your users. This new feature offers both convenience and confidence in the localization process.

In earlier versions of Xcode, you have to go through a string internationalization process that requires to modify the existing texts with the String(localized:) macro before localization. However, with the introduction of String Catalogs, this process is no longer necessary. For SwiftUI projects, String Catalogs automatically extracts all user-facing texts for you, eliminating the need for manual modifications.

Let’s create a simple project and see how String Catalogs can simplify the localization process for your SwiftUI app projects.

Building a Simple Demo for Localization

Assuming you’ve installed Xcode 15, create a new SwiftUI project and replace the code in ContentView like this:

struct ContentView: View {
var body: some View {
VStack {
Text("ProLingo")
.font(.system(size: 75, weight: .black, design: .rounded))

Text("Learn programming languages by working on real projects")…

--

--

Simon Ng
AppCoda Tutorials

Founder of AppCoda. iOS Developer and Indie Entrepreneur. Love coffee, food and travel. http://www.appcoda.com