How to encode / convert a .strings file into UTF-16LE in Xcode

- by

When you create a new .strings file in Xcode it will be encoded as Unicode UTF-8. That’s sufficient to hold all the special characters you can dream of.

Some translation services such as ICanLocalize require .strings files to be submitted in UTF-16LE though. Puzzled about what this even means I found out that UTF-16LE can hold languages such as Chinese and Hindu in smaller sizes than UTF-8 could. It’s a bit theoretical, but the good news is that Xcode 5 can change this very easily:

  • select your file in Xcode
  • open the right hand pane and select the File Inspector (little piece of paper icon)
  • under Text Settings, find a drop down menu that lets you select a new encoding method for your file

Screen Shot 2013-11-24 at 19.37.05

Xcode will offer to either re-interpret the current file, or to convert it. Choose the latter and save your file (CMD+S), and all is well again with the world.

You can now choose to upload your file for a free quote:

Xcode only builds with UTF-8

Note that once you change this format, Xcode may complain that it can no longer build your app, with an error message such as
Copy .strings Error – Read failed: The data couldn’t be read because it isn’t in the correct format.

In which case, just change it back to UTF-8, choose convert and build again successfully.

Further reading:



If you enjoy my content, please consider supporting me on Ko-fi. In return you can browse this whole site without any pesky ads! More details here.

Leave a Comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.