Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Localization for iPhone apps - what's your approach?

In general I know how to do the Localization of iOS apps, the only thing is to choose between available ways and do it the right way. So I'd like to ask you about your l10n approach for your projects.

Here are my inputs:

  1. I have 15 XIB files (packed with lots of IB outlets that are not synthesized as properties, but will have to be localized).
  2. It is most likely that that my app will have 3-5 language versions, but it is possible that I will even go for 10 languages in the future.
  3. In near future I plan to add new targets that may change UI design (paid/free versions).

I see two ways I could go:

Option A: localize each nib file by making XIBs localizable and adding language versions:

  1. I fear that with 15 XIBs and 3-5 languages it will be maintenance horror that will go out of my control when I'll extend localization to ~10 languages and introduce new targets (maintenance horror is not about SCM, I'm using git btw).
  2. I'd need to keep in sync all versions of XIBs which would effect in painful change-request process.
  3. I also fear that my app bundle will grow big (currently XIBs use ~1.1 MB and translate to ~120 kB of NIB files).
  4. when I'll decide to do iPad version, the number of XIBs will grow again.

Option B: do the localization in the code by wiring up all needed outlets synthesizing them to properties and setting their labels/titles correctly:

  1. I fear that my app memory footprint will be really big. Or, considering proper mem mgmt, should I not consider this an issue?

I'd go for 2nd option as I see less cons to it and it can allow having everything in one place under control in each view controller, but I'd like to know what would be your choice? Which way works better for you?

EDIT: I know that that ibtool could simplify the process in Plan A, but I'm still not convinced for it.

like image 429
matm Avatar asked Jan 31 '11 12:01

matm


People also ask

What is APP localization?

One Rule to Follow for App Localization App localization is the process of adapting your app and its app store listing to appeal to different geographic target markets. It’s absolutely necessary if you want to take your mobile app or game global.

Why should you localize your iOS app?

Depending on how you see things, iOS localization (and internationalization) of your app may offer you a stimulating challenge or take you further outside your comfort zone than you imagined. iOS and Xcode offer a range of tools to make your localization of your app easier, faster, and more reliable.

How to localize your mobile app for global audience?

For optimum mobile app localization, you’ll need to externalize your resources so that the translation and localization process can begin, creating new language versions of each file. 2. Think About the Layout Just as when designing your website for a global audience, the issue of space when it comes to your app design is equally important.

What do you need to know about localization testing?

App Localization Testing Once your strings are translated and your resources returned, it’s time to move everything back into your app for testing. You’ll need to implement rigorous localization and linguistic testing to make sure there are no issues in your content or layout.


1 Answers

I am using Option B in all of my projects, since this also makes it easy for me to distribute the string files to the localizers. Testing is of course needed after that to make sure the strings fit into place. Also some projects do not use XIB files, so the process is always the same, no matter if XIB files are used or not. There is no memory issue with that option at all in my experience.

like image 95
Kerni Avatar answered Sep 20 '22 03:09

Kerni