Internationalizing Your Apps
-
Upload
john-wilker -
Category
Technology
-
view
2.356 -
download
1
description
Transcript of Internationalizing Your Apps
Internationalizingyour apps
Chuck Smith and Judith Meyer
360|iDev DenverSep 27-30, 2009
2
Why Go International? Why Translate?
• the “world economy crisis” is not as much of a crisis outside the US
• the dollar is weak; your apps are cheaper abroad
• chance to hit a nerve abroad (different tastes)
=> make a lot more money from the same programming effort
• 11 out of 12 people worldwide can’t speak English
• the rest feel more appreciated & more comfortable buying if a description is in their language
Who should translate?
• Do not use machine translation. If you use the machine translation, you also tell you the foreign customer, they are not worth any you, your company is not also professional.
• Your college friend who studied some Spanish will still be out of his league translating something INTO Spanish. Translation agencies only let people translate into their native language.
• Not every native speaker and not even every certified translator can translate a good sales pitch for the App Store. Also, not everyone is a tech whizz.
• www.iphone-i18n.com knows good translators
Translation Pitfalls
• Don't assume English word order. To enable translators to change the order as needed, use variables %d, %s and so on and do like this:
int levels = 99;[NSString stringWithFormat: NSLocalizedString( @"You can choose between %d exciting levels.", @"Level count" ), levels];==>• French: You can choose between %d levels exciting.• German: You can between %d exciting levels choose. • Japanese: You %d exciting levels from choose can.
Translation Pitfalls• If you need both singular and plural form, do not
concatenate „s“ to the end of the word for the plural. • English: 1 fish – 2 fish; 1 wife – 2 wives; etc.• German: 1 Bier – 2 Biere; 1 Arbeit – 2 Arbeiten• French: 1 vin – 2 vins; 1 eau – 2 eaux• Chinese doesn't have a plural, but does have counters 1 ge ren – 2 ge ren; 1 ben shu – 2 ben shu • Swahili: 1 mtu – 2 watu; 1 jicho – 2 macho
• Ditto for verbs
• Also a complication, less likely to come up in iPhone programming: cases• Vi atakas elefanton. - You attack an elephant. Elefanto atakas vin. - An elephant attacks you.
Localization: Know your Audience
Localization: Respect Foreign Languages
• Traficante mineral water
• Silver Mist
• Mitsubishi Pajero
• „Bite the wax tadpole“ or „Happiness in your mouth“?
Translation vs. Localization
• Brand / product name
• Form of address
• Measurements
• Date formats
• Pictures and icons
• Wording
Localization: Local Asian Feel
Implications of RTL Languages (Arabic, Hebrew)
Retrieving the Current Locale
NSLocale *locale = [NSLocale currentLocale];
NSString *currentLocale = [locale displayNameForKey:NSLocaleIdentifier value:[locale localeIdentifier]];
NSLog( @"Complete locale: %@", currentLocale );
App Interface
• Press ⌘I to show Info window on xib file
• General tab: Make File Localizable
• Press ⌘I again on file... Add Localization
• Add languages by 2-letter code
• Right-click xib file and now edit other langs
Images
• See what images have text on them
• Follow same procedure as for interfaces
• Highlight file and choose Reveal in Finder
• Replace other images with localized images
Getting strings
NSLocalizedString( @"Music", @"The menu item Music." );NSLocalizedString( @"Films", @"The button Films." );
Displaying strings in app
Displaying variables within string in appint titles = 142;[NSString stringWithFormat: NSLocalizedString( @"There are %d movie titles.", @"Movie statistics" ), titles];
Strings file
• Autogenerate Localizable.strings file
• Go to root directory of app
• Terminal: genstrings ./Classes/*.m
• Make localizable like for interfaces
• Translate file
Localizable.strings
Autogenerated file
/* The button Films. */"Films" = "Films";/* The menu item Music. */"Music" = "Music";
/* The button Films. */"Films" = "Filme";/* The menu item Music. */"Music" = "Musik";
Translated file
App Store
• iTunes Connect: Manage Your Application > Edit Information > Localization
• Don’t forget planned promo text like: “SPECIAL OFFER: 50% OFF IN JULY!”
• Official languages: Dutch, English, French, German, Italian, Japanese, Spanish
• Other languages will need separate binary
iPhone-i18n.com
• Exclusively translating iPhone apps
• We understand your linguistic and technical needs
• Translators understand technicalities and are skilled at writing promotional texts
• App with little text + App Store: only 60€ (US $85)
• Translation package (many languages) = lower price
Thank you
Questions?
Fragen?
Demandoj?
Preguntas?
Demandes?
Pytania?
Frågor?
Вопросы?
问题? Domande?
ερωτήσεις?
Vragen? ?' ( ) * +