Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Beginning iOS App Localization

1,570 views

Published on

Slides from Kyle Davis's iOS App Localization presentation at the Houston iPhone Developer Meetup Group

Published in: Technology
  • Its a 100% truth that MIKES AUTO TRADER (tr.im/mikeautotrader) is the best software for the binary options trader. I am also a binary trader. Above last 30 days i using it and i am very happy for using this bot. Though I am not a good binary trader. Without any labour and tension i earned a good amount money by it. If i trade by it 10 times then only 2 or 4 times i loss my trade. Even then, I am happy because its a very little amount (less than $2-$16) which I lost on my trade. But, When I win then its a big amount like- $250+. That is the secret of Mikes Auto Trader binary software. Really Its a blessing on me....
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Beginning iOS App Localization

  1. 1. ! Kyle Davis, Head Geek BigSprocket http://www.flickr.com/photos/56013895@N00/122872445 Beginning iOS Localization
  2. 2. When Was My Last? My first localized app. ! Currently: Spanish, French, German (and, of course, English) http://whenwasmylast.com
  3. 3. Example Project - “Events” Small app, unlocalized “Localize” to English Localize to Spanish
  4. 4. Demo
  5. 5. Unlocalized Strings are hard-coded, and spread throughout the app System-localizable elements are in English, even when simulator is in Spanish
  6. 6. Preparing for Localization Use system items (UIBarButtonSystemItem, UIDatePicker, etc) Use Auto Layout Tell Xcode you’ll be localizing the project Use NSLocalizedString
  7. 7. NSLocalizedString Instead of @“foo”, use NSLocalizedString(@“foo”… Looks for a string with the key “foo” in the file Localizable.strings, in the language folder If it doesn’t exist, it looks in the Base folder If it doesn’t exist there, it returns “foo”
  8. 8. Demo
  9. 9. Localized to English ✓Auto Layout ✓Added Localization in Project file ✓Added NSLocalizedString macro ✓Used genstrings to create base localization ✓Ready for Translation
  10. 10. Personal Design Decisions No NIB localization Strings Factory You may decide to do things differently.
  11. 11. Language.lproj Any file with localized content .strings, .xib, html, text image, sound, video Standard file loaders understand it imageNamed: pathForResource:ofType:
  12. 12. Language Resources Friends Google Translate (sparingly, and only if you have to) Third party professional translators AppleGlot
  13. 13. Third Party Translators Apple maintains a list at
 http://developer.apple.com/internationalization iCanLocalize.com oneskyapp.com
  14. 14. AppleGlot http://developer.apple.com/internationalization Reads translation glossaries and substitutes text directly back into nib files Supports incremental translations I did not use it … … but Apple also supplies their glossaries, which are damn handy
  15. 15. Demo
  16. 16. Localized to Spanish ✓ Use language glossaries to find translations ✓ Use 3rd parties for things not covered by Apple already ✓ Use date formatter templates for locale differences ✓ Use InfoPlist.strings to localize app name
  17. 17. Almost There! App Store Metadata Description Screenshots Keywords
  18. 18. NSLocalizedStringFromTable NSLocalizedStringFromTable(@“key”, @“table”, @“comment”) Reads from table.strings Save time and money No need to have 3rd parties translate Apple’s text Reuse your tables on the next project
  19. 19. Tools I Didn’t Cover ibtool - localize your nib files .stringsdict - rules-based handling of special cases, like plurals twine - fix some of the broken parts of the process
  20. 20. Links Apple Internationalization resources 
 http://developer.apple.com/internationalization Florian Kugler on string localization
 http://www.objc.io/issue-9/string-localization.html Ole Begemann on Automating Strings Extraction from Storyboards/Nibs
 http://tinyurl.com/mmxaeeq Twine
 https://github.com/mobiata/twine
  21. 21. Links Slide deck
 http://www.slideshare.net/bigsprocket/beginning-iosapp-localization Final project source
 http://github.com/bigsprocket/Localization When Was My Last?
 http://whenwasmylast.com/
  22. 22. Kyle Davis info@bigsprocket.com @bigsprocket http://textimage.us kyle@bigsprocket.com @kylebits

×