Published on February 19, 2014
! Kyle Davis, Head Geek BigSprocket http://www.ﬂickr.com/photos/56013895@N00/122872445 Beginning iOS Localization
When Was My Last? My ﬁrst localized app. ! Currently: Spanish, French, German (and, of course, English) http://whenwasmylast.com
Example Project - “Events” Small app, unlocalized “Localize” to English Localize to Spanish
Unlocalized Strings are hard-coded, and spread throughout the app System-localizable elements are in English, even when simulator is in Spanish
Preparing for Localization Use system items (UIBarButtonSystemItem, UIDatePicker, etc) Use Auto Layout Tell Xcode you’ll be localizing the project Use NSLocalizedString
NSLocalizedString Instead of @“foo”, use NSLocalizedString(@“foo”… Looks for a string with the key “foo” in the ﬁle 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”
Localized to English ✓Auto Layout ✓Added Localization in Project ﬁle ✓Added NSLocalizedString macro ✓Used genstrings to create base localization ✓Ready for Translation
Personal Design Decisions No NIB localization Strings Factory You may decide to do things differently.
Language.lproj Any ﬁle with localized content .strings, .xib, html, text image, sound, video Standard ﬁle loaders understand it imageNamed: pathForResource:ofType:
Language Resources Friends Google Translate (sparingly, and only if you have to) Third party professional translators AppleGlot
Third Party Translators Apple maintains a list at http://developer.apple.com/internationalization iCanLocalize.com oneskyapp.com
AppleGlot http://developer.apple.com/internationalization Reads translation glossaries and substitutes text directly back into nib ﬁles Supports incremental translations I did not use it … … but Apple also supplies their glossaries, which are damn handy
Localized to Spanish ✓ Use language glossaries to ﬁnd 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
Almost There! App Store Metadata Description Screenshots Keywords
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
Tools I Didn’t Cover ibtool - localize your nib ﬁles .stringsdict - rules-based handling of special cases, like plurals twine - ﬁx some of the broken parts of the process
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
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/
Kyle Davis email@example.com @bigsprocket http://textimage.us firstname.lastname@example.org @kylebits
Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...
In this presentation we will describe our experience developing with a highly dyna...
Presentation to the LITA Forum 7th November 2014 Albuquerque, NM
Un recorrido por los cambios que nos generará el wearabletech en el futuro
Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...
Chapter 25 Localizing Your App to Reach More Users. Good code is its own best documentation. As you're about to add a comment, ask yourself, "How can I ...
This is a simple iOS Programming tutorial about localization. We cover how to internationalize and localize your iPhone apps to support multiple languages.
I am developing an iOS app targeted almost exclusively at a Japanese audience, ... From the beginning, ... Why can't I add localization to my iOS app? 7.
Localization is the ... We are going to look at how to implement both of these in an iOS app. ... you will have a harder time localizing an app that ...
I want to keep my app in one of the region and i want to localize the app without changing the native language or region settings, specifically for ios 9 ...
iOS app Translation & Localization 20 Aug 2012 / in Blog, Translations and Localization / by Kris. Why you need to translate and localize your ios application?
iOS Supported Language Codes (ISO-639) How do you name that .lproj folder with your localization files? Tweet Revised: June 2015 for iOS 9 and Xcode 7
The team that brought you the bestselling Beginning iPhone Development is back again for Beginning iOS 6 Development, bringing this definitive guide up-to ...
This document covers the localization features of the iOS SDK and how to access them with Xamarin.
What a busy month September was for developers! With the launch of Apple’s iPhone 7, 2nd series of Apple Watch, macOS Sierra and iOS 10, localization ...