Updating Localized Storyboard Strings in Xcode

Updating Localized Storyboard Strings in Xcode

28 February 2025 Stephan Petzl Leave a comment Xcode

When working with localized storyboards in Xcode, it can be challenging to keep your string files updated, especially after adding new elements to your storyboard. This guide will walk you through the process of updating your localized storyboard strings efficiently.

Understanding the Process

When you add new elements to a storyboard, such as buttons or labels, these elements may not automatically appear in your existing localized strings files. To update these files, you have two primary approaches:

Option 1: Using Xcode’s Built-in Features

  • Open your base storyboard file in the Project Navigator.
  • In the File Inspector, locate the Localization section.
  • If your file type is currently set to Localizable Strings, switch it to Interface Builder Cocoa Touch Storyboard, or vice-versa.
  • Xcode will convert your storyboard while preserving existing localization. You can switch back to the original file type afterward.

Option 2: Using ibtool in Terminal

If you prefer a command-line approach, you can use ibtool to extract strings:

  1. Open Terminal on your Mac.
  2. Navigate to your Base.lproj directory using the cd command.
  3. Run the following command to extract strings:
    ibtool MainStoryboard.storyboard --generate-strings-file file_name.strings
  4. Copy the extracted strings from file_name.strings to your existing .strings file.

Alternative Tools and Methods

For users looking for automated solutions, tools like BartyCrouch offer a command-line interface to update strings files incrementally. This tool can be installed via Homebrew or Mint and integrated into your build process with a script.

Enhancing Your Workflow with Repeato

For developers seeking to streamline their testing and localization processes, Repeato offers a robust solution. As a no-code test automation tool, Repeato allows you to create, run, and maintain automated tests for iOS, Android, and web apps.

Repeato’s capabilities in running command line scripts or JavaScript code can be particularly beneficial in automating complex tasks involved in localization updates. Additionally, its support for data-driven and keyword-driven testing ensures that your app’s localization is thoroughly tested across various scenarios. By saving all tests and workspace data in text and JSON format, Repeato facilitates easy version control, making it an ideal choice for teams looking to enhance their localization workflow.

Explore more about Repeato and its features by visiting our documentation page.

Like this article? there’s more where that came from!