About The Orange Herring

  • Website: or email
  • Biography:

Posts by The Orange Herring:

 
9

What? English is not the only spoken language in the world?

on Mar 14, 2010 in Uncategorized

Nope and that’s why many developers are leaving behind a big chunk of potential users by providing their application in English only.
That’s too bad because Apple is providing an easy way to present the application in multiple languages. It’s called Localization and Internationalization.
Here is how it works at a very high level. A link to a tutorial is provided at the bottom of this post to go in more details:
Internationalization (also called i18n) is the process of designing an app to facilitate localization. This part is the coding part done by developer.
Localization (also called l10n) is the cultural and linguistic adaptation of an internationalized app. This task is performed by a translator (not a developer this time). The translated text is then integrated by the developer into the app.

Let’s say that my application has a setup screen for the user to change the app configuration. I would need to show the word “Setup” on the screen but this won’t work in other languages obviously. The translation in French for example is “Configuration” (used in English also btw).
So instead of hard coding the word, on the screen, I create a bundle for English and a bundle for French and will populate a token string with their respective translation. I decided to name all my tokens with the english word in upper case followed by “_TOKEN. In our example, the token would be named “SETUP_TOKEN”. This allow me to easily understand in the code what word the token represents.

In the english bundle:
“SETUP_TOKEN” = “Setup”
In the French bundle:
“SETUP_TOKEN” = “Configuration”

I can then use NSLocalizedString to replace the token with the work “Setup” in the appropriate language. In this case, adding new languages is just the matter of adding new bundles and translating the words or sentences.
It may also be required to have 1 nib per language. In this case it’s better to wait till the application is finished to copy the existing nib and adapting it to the new language.

How do you what is the preferred spoken language for the iPhone user and which bundle should we use? This is handled behind the scene by the SDK. The SDK is looking up the preferred language on the user iPhone (changeable in the Settings section) and then chooses the most appropriate language. If the user is having the iPhone in French then French will be chosen. If the user is having the iPhone in English (American, British, …) then English will be chosen. If the user’s iPhone is in a different language not supported by the application (let’s say German) then a default language (in my case English) will be chosen by the SDK.

As I mentioned in a previous post, for my App#1, I’m planning to build it to support multiple languages as my future app will be used in multiple countries around the world. Being English/French bilingual, I’ll do it in both languages right away. Later on, if enough people download the application, I’ll work with people fluent in other languages (Spanish, Russian, Chinese,…) to add those languages to the application.
In general, it is easier to start the Internationalization of your application when you start it rather than adding it when the app is done so do it right away if you know that your app may be in multiple languages. Even if you’re not sure, it’s not a lot of extra work to add the internationalization right away.
Having to go through multiple tutorials to understand how to setup i18n and l10n, I found this localization tutorial to be the best.
Have fun! Amusez vous!

Tags: , , , , , , , , ,

 
1

Starting my first real iPhone application for the App Store

on Mar 13, 2010 in Uncategorized

I think that it’s time to apply what I learn on a real project. I have several ideas of applications that didn’t really exist yet but was more excited about one of them so I’m starting with this one. I’ll call this the App#1 as it’s the first real one. I prefer not talking about [...]

 
1

iPhone Simulator Screen Capture

on Feb 10, 2010 in Uncategorized

In order to share with you the applications I’m creating on the iPhone, I need to capture the iPhone screen. Not deploying them to a device yet, I need to capture the image from the simulator itself. The most common way to do so screen capture on Macs is to use a special combination of [...]

 
1

First small project with iPhone Flickr API and JSON

on Feb 10, 2010 in Uncategorized

As I said in my previous post, I worked on a small project to apply some of what I learned, the “Simple Flickr” application. What this application is doing is very simple: it allows me to browse my public pictures on the iPhone. I’m an amateur photograph and posted my pictures on Flickr some time [...]

 
0

Second phase of iPhone Application training

on Feb 1, 2010 in Uncategorized

Being now done with my first iPhone technical book (referring to my first post below: first blog post) called Head First iPhone Development, I now feel that I have the basic skills required to do simple applications (we all have to start somewhere). To put this knowledge in practice, I’ve decided to build a simple [...]

 
0

Numbers around iPhone Business

on Feb 1, 2010 in Uncategorized

This story, published on the gigaom blog, shows how Apple but also companies linked to the iPhone (AT&T, iPhone parts manufacturers,…) benefit from its success. http://gigaom.com/2009/12/09/who-is-getting-rich-off-the-iphone/

 
2

iPhone Application Programming Kickoff

on Jan 25, 2010 in Uncategorized

Hello World! That’s it. After 15 years of diverse programming and software management experience, I’ve decided to find a new challenge and start iPhone programming from scratch. My main motivations are: – Embark on this rapidly growing business which is to sell iPhone applications – Use my creativity to come up with new applications which [...]

Copyright © 2012 Learning iPhone Apps Programming All rights reserved.
Desk Mess Mirrored v1.4.5 theme from BuyNowShop.com.