iOS Language Codes: What do you name your .lproj folder?

Apple makes a fine system in iOS, but their documentation of it is sometimes lacking. This is especially true for localization topics like language codes. This week we’ve put together a very handy chart to answer a surprisingly difficult question: Which languages do iOS and the App Store support?

It is actually, sadly, and for little practical reason, a trick question. Apple supports a different list of language codes and regions on iOS than the iTunes App Store. This has some real-world consequences you might never have imagined, until you have already wasted your time and money on translation. For instance,  you can localize your iPhone app into Polish, (language code: pl) but not its app description and keywords. Since those are important for discovering your app, you may not be as inclined to localize your app knowing this fact. Similarly, you can localize your app description into both Spanish for Spain (es-ES) and Spanish for Latin America es-MX, but your app itself can only speak one lonely version of Spanish (language code es). In short:

iOS: Supports 30 languages but no regional forms
App Store: Supports 21 languages and 7 regions

We always pass this information on to developers who contact us about localizing their apps into all the languages of the App Store. But we also think Apple should make this information a bit more plain to see.

iOS Language Codes – The Missing Manual

At the request of the developers we work with, we’ve put together a Knowledge Base article with a complete chart. At a glance you’ll be able to see if the language you want is supported by either/both iOS and the App Store. We’ve also included those handy ISO-639 language codes you always ask us about. You’ll need those to create your en.lproj and other folders to store the localizations of your app in Xcode.

Not sure what a en.lproj folder is? Well check out our iPhone Localization Tutorial first! And we’ve got a tutorial for adding localized app descriptions and keywords too.

Pseudolocalization – Prepare your app for localization

What is pseudolocalization?

Let’s get the definitions out of the way. Normally, when you localize your app you are replacing your source text with a foreign language. For example, your English-language app transforms into a lovely bit of software for a Japanese audience. Pseudolocalization is just like that, but instead of Japanese, we’ll replace your English strings with à ƒàķé Éñĝļîšĥĥ ļîķé ţĥîš.

Why do I need pseudolocalization for my app?

Why would you want to use ƒàķé Éñĝļîšĥĥ in your app? Well, pseudolocalization is a fast QA method to make sure you’ve found all your hard-coded strings before you send it off to be translated. By doing a test run with ƒàķé Éñĝļîšĥĥ you can quickly check each screen of your app and make sure everything looks localized. If not, you’ll know exactly which strings you forgot to localize and you can go back to your code and add it in.

Pseudolocalization is also a useful way to make sure you’ve left enough room in your GUI for other languages. A common rule of thumb is that non-English languages are 30% longer. That means the Buy button your created — just 3 letters long — probably won’t be big enough for Spanish (Comprar) or Greek (Αγοράστε), and you’ll end up with something like: Com… and Αγο…

Pseudolocalization can help you spot the missing strings and those cramped spaces so that your translations will look as good as they read.

Pssst… Pseudolocalization is free!

Here’s something you probably never knew. We translators want your localized app to succeed as much as you do, and we’re willing to go the extra mile to make sure it does. Pseudolocalization helps us as much as it helps you. It means that you’ll send us all your strings in one neat package right from the start. And, if we’re lucky, you may even have adjusted your app’s GUI a bit to add in some extra space. (Extra padding looks very nice in English too by the way!)

For those reasons, and because we’re nice people, pseudolocalization is an absolutely free service. Just send us your Localizable.strings or strings.xml or any other format you’ve got, and we’ll send you back the pseudo-localized version the same day.

Request FREE pseudolocalization from Babble-on

Not sure how to export your Mac/iOS strings into a Localizable.strings file? Check out our iPhone localization tutorial.

App Description Localizations – New Tutorial Added

App Descriptions are the easiest place to localize

The simplest and most effective way to begin localizing your iPhone app for the App Store is through your App Description and Keywords. Why? Because it doesn’t require reworking any code or hassling with testing or layout. You’ll simple edit some info in iTunes Connect, copying and pasting translations of your app description and keywords — even screenshots if you like. At Babble-on, we not only localize apps but for many game developers and other devs considering localization for the first time we begin with app descriptions. (We’ll even help you improve your app description in English first if you like!)

Adding a Localized App Description

We localize apps every day and, at the request of developers, we’ve put together a step-by-step tutorial to show you just how to add a localized version of your app description. Check it out in our Tutorials section:

Adding a translation of your App Description is easy with this tutorial

Adding a translation of your App Description is easy with this tutorial

Keywords: Discoverability made easy

It’s worth mentioning that the App Description is not the only way to improve downloads in the international App Stores. You already know how important keywords are for users discovering your app. The same applies to the international versions of the App Store. This metadata, properly localized, is precisely what Apple will use to help users in other countries to discover your app. Keywords are very precise, so don’t rely on Google Translate!

Editable and Unlocked

One note of warning about Apple’s latest App Store rules. Metadata, including App Store descriptions, keywords, and screenshots are now in a Locked state once a version of your app is Ready for Sale in the App Store. That means that you can edit an existing localization of an app description at any time, but you won’t be able to add a new language until you submit a new Version of your app for App Review.

Next time you release a bug fix update, make the move to localized app descriptions!

App Localization Costs Estimator Helps You Calculate Prices

App localization costs are usually hard for developers to quantify, unless they’re working with someone who knows how it works. That’s why at Babble-on we answer every request for localization costs fast—typically within 15 minutes!

But is that fast enough, or even the best way? We’ve noticed that developers are a shy bunch. They want to estimate localization costs but they often don’t want to email or call to find out. That’s why we created a free App Localization Costs Estimator widget right on our website:

Localization Costs Estimator

This easy localization cost estimation widget makes it possible to calculate costs down to the penny instantly. Try it for yourself by uploading your Strings file, app description, and keywords: App Localization Cost Estimator.

How the Localization Costs Estimator Works

It’s simple. Click “Add file” or just drag your files onto the button. The localization cost estimator can count the words and strings in a whole bunch of file formats. Next, choose the languages you are interested in. You’ll see the exact cost for everything, and you can add or subtract languages and files until you reach your budget. Remember, the prices include everything from expert handling of localization formats and encodings (like UTF-16 Localization.strings files), to real-live-human tech support by phone or email. Babble-on isn’t a factory, and that kind of attention means a lot once you get started localizing.

File types the cost estimator can count:

  • iOS .strings
  • Android .xml
  • Windows 8 (Metro) .resw, .resjson, .resx, .rc
  • Java/Flex .properties
  • Ruby on Rails & YAML .yml
  • BlackBerry .rrc
  • GNU GetText .po, .pot
  • XLIFF .xliff, .xml
  • Microsoft Office/Open Office .docx, .xlsx, .pptx, .odt, etc.
  • HTML
  • Plain Text .txt
  • Qt .ts
  • DKLang .dklang, .lng
  • XUL .dtd
  • Google Chrome Extension .json
  • Subtitles .sbv, .srt

Which languages should I localize my app into?

The most popular languages are Spanish, French, German, Italian, Portuguese, Japanese, Korean, and Simplified Chinese. Of course it depends on your target and your budget. My suggestion is always to start with one, preferably a language for the country you are already seeing some traction in. For example, if you see downloads outside the US usually come from Japan, then Japanese should be your first pick. Check iTunes Connect or the Google Play store to verify your download stats. If you aren’t sure, stick with the largest markets like Spanish. Contact us for personalized advice.

Read our press release: San Francisco iOS App Localization Service Says No to the Factory Model and Introduces Cost Estimation Widget

Apple Hints at iPhone App Localization Top Languages

Top app localization languages

Often I’m asked which languages an app should be localized into.That really depends on the type of app, and where the market is going to embrace it. But, speaking generally, if I had to pick the top app localization languages, I’d look no further than WWDC 2012 again. Take a look at the languages Apple has focused on for localizing Siri, its latest “app”.

Top languages for app localization iPhone and iOS

Siri can tell you which are the top languages for app localization.

And there they are: French, Spanish, Japanese, Italian, Korean, Simplified Chinese, and Traditional Chinese. Siri has to listen to accents and dialects, so many languages are represented more than once here, for example French for France, French for Switzerland, and French for Canada. In my experience I’d add German and Portuguese to this list, and I wouldn’t doubt if those are next on Siri’s curriculum. But going forward the one to really focus on for app localization has to be Chinese.

Get your apps ready for China

“It’s going to be important. Get your apps ready for China.” Those are the words of Craig Federighi, Apple Senior Vice President of Software Engineering speaking to WWDC 2012 attendees during this year’s keynote. Make no mistake about it, localization into Chinese dialects is a critical part of global marketing and distributing apps in the booming (and expanding) iOS and Mac world. The App Store was recently updated to include support for Traditional as well as Simplified Chinese and a dozen other languages. But Chinese app localization, while a new focus at Apple, is already common amongst app developers.

App Localization Services for China

App Localization Services Get Ready for China

App localization services (like us at app localization services at Babble-on) enjoy helping developers reach all the markets that iOS allows. Dozens of app localization languages are available for iPhone and it is clear from the data that users overwhelmingly download apps localized into their own languages. In fact, take a look at the App Store in countries outside the US and you’ll find that 9 out 10 of the Top Ranking apps are localized into the regional languages. It’s THAT important.

Now you know the top app localization languages. If you want to learn more, let me know in the comments.

What are the languages iPhone supports for localization?

Languages iphone supports in iOS

UPDATED: May 3, 2012: Apple added 10 new languages! This post has been brought up to date.

Apple has already increased the languages iPhone supports to over 30 as of iOS 5.x:

English, British English, French, Italian, Spanish, Portuguese (Brazil), Portuguese (Portugal), Catalan, German, Dutch, Danish, Swedish, Finnish, Norwegian (Bokmål), Russian, Czech, Slovak, Polish, Croatian, Romanian, Turkish, Ukrainian, Hungarian, Traditional Chinese, Simplified Chinese, Korean, Japanese, Vietnamese, Arabic, Thai, Greek, Hebrew, Indonesian, and Malay.

Developers often ask which languages iPhone supports, but more critically, which languages should they support in their own iPhone apps? Obviously supporting all of Apple’s language choices above is costly and time-consuming, so you want to begin with the largest markets. An even more important consideration is that you’ll only be able to market your app effectively in the languages supported by App Store.

Yep, the iTunes App Store supports a different set of languages than the iPhone itself. Continue reading

Localizing Twitter vocabulary like “Follow” and “Tweet”

Localizing Twitter vocabulary and "words"How does the world say Tweet?

Facebook succeeded in turning “Likes” into a noun and simultaneously revolutionized the speed at which we build social relationships and destroy grammar. What about Twitter?

Twitter has also introduced new “words” into English. Even for native speakers it is difficult to know how to use them. Stephen Colbert famously “twatted,” but the more popular past tense of “tweet” has settled upon “tweeted.”

For translators and localization engineers, words like “Follow” have become important for many applications. Instead of watching a discussion, we now follow it. But how should we translate Follow into the rest of the world’s languages?

TO TWEET OR TWITTER BY ANY OTHER NAME…

Here is a glossary of the most common Twitter vocabulary localized into some of the languages Twitter currently supports. This “cheat sheet” will be helpful for translators localizing websites and apps that want to maintain consistency with Twitter terms.

Twitter Glossary

Follow
Following 
Unfollow
Tweet
Retweet
Tweets
Mentions
Following
Followers
(verbs/buttons) (verbs) (nouns/lists)
Spanish Seguir
Siguiendo
Dejar de seguir
Twittear
Retwittear
Tweets
Menciones
Siguiendo
Seguidores
French Suivre
Abonné
Se désabonner
Tweeter
Retweeter
Tweets
Mentions
Abonnements
Abonnés
Italian Segui
Following
Smetti di seguire
Twittare
Ritwittare
Tweet
Menzioni
Following
Follower
Portuguese Seguir
Seguindo
Deixar de Seguir
Tweetar
Retweetar
Tweets
Menções
Seguindo
Seguidores
Russian (Твиттер) Читать
Читаю
Отмена
Твитнуть
Ретвитнуть
Твиты
Упоминания
Читает
Читатели
Japanese (ツイッター) フォロー
フォロー中
解除
ツイートする
リツイートする
ツイート
@ツイート
フォロー
フォロワー
Korean (트위터) 팔로우
팔로잉
언팔로우
트윗하기
리트윗
트윗들
멘션
팔로잉
팔로워
Chinese (Simplified) 关注
正在关注
取消关注
发推
转推
推文
提及
正在关注
关注者
Chinese (Traditional) 關注
正在關注
取消關注
推文
轉推
推文
提及
正在關注
關注者

Will tweet for food

This glossary was created by reading through Twitter’s pages in the target languages, but they aren’t perfect. There are cases where one Twitterism might work, and others where local grammar or common sense precludes a term. For example, note that “following” in English is translated in at least two ways for some languages, depending on whether it is the button (“I am following”), or a list of users you are following.

Use the comments to help keep this list updated. I’ll add any languages you need.