Question

Trying to settle a debate with a client. I didnt localize the strings and images in the application and it didnt come up during the 3 week define and discover. They seem to think its a basic best practice and that it should have been done by default. I disagree, especially if there are no planned languages otw.

Seems like you would leave this for demand by users

So, Id like to ask the community to chime in on this and tell me if you by default have localized your iphone app or not?

I ask this to not only help me understand where I might have missed something but also to help others in the future as to what is considered "default" and "best practice"

Was it helpful?

Solution

This question is going to spark a lot of opinion. Because Apple makes it ridiculously easy on iOS to localize strings, I personally feel you should set all apps up for localization by default. Anywhere you find yourself defining a literal string, substitute it with NSLocalizedString(), until it becomes second nature. Then, if you decide you want to localize later, you don't have to hunt and peck all over the place. If you never localize, you lose nothing except a few keystrokes.

A true localization will probably have localized NIBs to (may have different sized buttons for different languages, for instance). Still, if you assign all strings that will appear in the NIB in code with NSLocalizedString(), rather than in Interface Builder, you'll likely save time in the long run.

The fact that the AppStore makes your app visible in so many countries greatly increases the demand to localize. Read this post by Wil Shipley about the money you could be making by reaching many markets.

OTHER TIPS

First, you have to internationalize it, that is to write your code such that it is easy to add new languages. Default - and first - language is usually english (Apple makes things easier if you start with english and customers are more likely to buy an app in english only than in swahili only).

Second, you can localize it to languages that are important for customers of your app. spanish, chinese, french, farsi, ...

How could you possibly know what languages to use for localization without input from your client?

Assuming it was never discussed during requirements, it appears you are in the right here. If they wanted localized versions of their app, they should have requested it.

@greg has a very good point, in that it would have been beneficial to use localized strings from the very beginning, but setting up an app for localization isn't especially difficult. It's the actual translations that are difficult and expensive.

My small sample suggests that the vast majority of apps in the U.S. App store are not localized to any other language.

It may be technically easy, but can be editorially very difficult unless you have educated multi-lingual staff available (hiring multiple contractors to cross-review translations for grammatical correctness, doing multi-lingual app descriptions, app documentation, web site support pages, marketing materials, etc. in all the languages that might be expected for an app localized to those languages. Keeping all that editorially synchronized with every update/bug fix.)

It also appears that lot of apps add multi-lingual support only after International sales get to the level which can support the above initial and on-going costs.

i ask them going into it.

if i need a default answer, it is 'yes, prepare for localization'. it takes far less time to add it as you go, than the remove, rebuild, retest cycles.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top